// MERGE with trunk revision 7754

This commit is contained in:
rMalie
2011-07-27 12:48:42 +00:00
parent 21017fb5d8
commit 233c0076b7
182 changed files with 6179 additions and 1333 deletions
+1 -1
View File
@@ -68,7 +68,7 @@ class authorizeAIM extends PaymentModule
if ($params['objOrder']->module != $this->name)
return;
if ($params['objOrder']->getCurrentState() != _PS_OS_ERROR_)
if ($params['objOrder']->getCurrentState() != Configuration::get('PS_OS_ERROR'))
$this->context->smarty->assign(array('status' => 'ok', 'id_order' => intval($params['objOrder']->id)));
else
$this->context->smarty->assign('status', 'failed');
+2 -2
View File
@@ -77,9 +77,9 @@ else
$authorizeaim = new authorizeaim();
$message = $response[3];
if ($response[0] == 1)
$authorizeaim->validateOrder((int)$cart->id, _PS_OS_PAYMENT_, (float)$response[9], $authorizeaim->displayName, $message, NULL, NULL, false, $customer->secure_key);
$authorizeaim->validateOrder((int)$cart->id, Configuration::get('PS_OS_PAYMENT'), (float)$response[9], $authorizeaim->displayName, $message, NULL, NULL, false, $customer->secure_key);
else
$authorizeaim->validateOrder((int)$cart->id, _PS_OS_ERROR_, (float)$response[9], $authorizeaim->displayName, $message, NULL, NULL, false, $customer->secure_key);
$authorizeaim->validateOrder((int)$cart->id, Configuration::get('PS_OS_ERROR'), (float)$response[9], $authorizeaim->displayName, $message, NULL, NULL, false, $customer->secure_key);
Tools::redirect('index.php?controller=order-confirmation&id_module='.(int)$authorizeaim->id.'&id_cart='.(int)$cart->id.'&key='.$customer->secure_key);
}
+1 -1
View File
@@ -206,7 +206,7 @@ class BankWire extends PaymentModule
$context = Context::getContext();
$state = $params['objOrder']->getCurrentState();
if ($state == _PS_OS_BANKWIRE_ OR $state == _PS_OS_OUTOFSTOCK_)
if ($state == Configuration::get('PS_OS_BANKWIRE') OR $state == Configuration::get('PS_OS_OUTOFSTOCK'))
$context->smarty->assign(array(
'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false),
'bankwireDetails' => Tools::nl2br($this->details),
+12 -1
View File
@@ -34,6 +34,17 @@ $bankwire = new BankWire();
if ($cart->id_customer == 0 OR $cart->id_address_delivery == 0 OR $cart->id_address_invoice == 0 OR !$bankwire->active)
Tools::redirect('index.php?controller=order&step=1');
// Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
$authorized = false;
foreach (Module::getPaymentModules() as $module)
if ($module['name'] == 'bankwire')
{
$authorized = true;
break;
}
if (!$authorized)
die(Tools::displayError('This payment method is not available.'));
$customer = new Customer((int)$cart->id_customer);
if (!Validate::isLoadedObject($customer))
@@ -47,6 +58,6 @@ $mailVars = array(
'{bankwire_address}' => nl2br(Configuration::get('BANK_WIRE_ADDRESS'))
);
$bankwire->validateOrder($cart->id, _PS_OS_BANKWIRE_, $total, $bankwire->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key);
$bankwire->validateOrder($cart->id, Configuration::get('PS_OS_BANKWIRE'), $total, $bankwire->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key);
$order = new Order($bankwire->currentOrder);
Tools::redirect('index.php?controller=order-confirmation&id_cart='.$cart->id.'&id_module='.$bankwire->id.'&id_order='.$bankwire->currentOrder.'&key='.$customer->secure_key);
+1
View File
@@ -19,6 +19,7 @@ $_MODULE['<{blockcms}prestashop>blockcms_f2a6c498fb90ee345d997f888fce3b18'] = 'B
$_MODULE['<{blockcms}prestashop>blockcms_8f08c1af47e3e9611289c1882befc3a8'] = 'No existe ningún bloque CMS';
$_MODULE['<{blockcms}prestashop>blockcms_0a40c06f34e5c794a7f0d3085d17d63a'] = 'Lista de los bloques CMS de la derecha';
$_MODULE['<{blockcms}prestashop>blockcms_965be994da393e5aa15bd3a2444c6ccf'] = 'Configuración de los links CMS a pie de página';
$_MODULE['<{blockcms}prestashop>blockcms_32c532e462a1f85b1b103ed9989a1aba'] = 'Mostrar \"Creado por PrestaShop\"';
$_MODULE['<{blockcms}prestashop>blockcms_fab8ca8250236ed20b96f9750e1eacc7'] = 'Mostrar links a pie de página';
$_MODULE['<{blockcms}prestashop>blockcms_49ee3087348e8d44e1feda1917443987'] = 'Nombre';
$_MODULE['<{blockcms}prestashop>blockcms_c9cc8cce247e49bae79f15173ce97354'] = 'Guardar';
+1
View File
@@ -19,6 +19,7 @@ $_MODULE['<{blockcms}prestashop>blockcms_f2a6c498fb90ee345d997f888fce3b18'] = 'S
$_MODULE['<{blockcms}prestashop>blockcms_8f08c1af47e3e9611289c1882befc3a8'] = 'Il n\'existe aucun bloc CMS';
$_MODULE['<{blockcms}prestashop>blockcms_0a40c06f34e5c794a7f0d3085d17d63a'] = 'Liste des blocs CMS de droite';
$_MODULE['<{blockcms}prestashop>blockcms_965be994da393e5aa15bd3a2444c6ccf'] = 'Configuration des liens CMS en pied de page';
$_MODULE['<{blockcms}prestashop>blockcms_32c532e462a1f85b1b103ed9989a1aba'] = 'Afficher \"Propulsé par PrestaShop\"';
$_MODULE['<{blockcms}prestashop>blockcms_fab8ca8250236ed20b96f9750e1eacc7'] = 'Afficher les liens de bas de page';
$_MODULE['<{blockcms}prestashop>blockcms_49ee3087348e8d44e1feda1917443987'] = 'Nom';
$_MODULE['<{blockcms}prestashop>blockcms_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer';
@@ -0,0 +1,35 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registred Trademark & Property of PrestaShop SA
*/
/* Getting cookie or logout */
include(dirname(__FILE__).'/../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../init.php');
include(dirname(__FILE__).'/blocklayered.php');
$blockLayered = new BlockLayered();
echo $blockLayered->ajaxCallBackOffice((isset($_GET['categoryBox']) AND is_array($_GET['categoryBox'])) ? $_GET['categoryBox'] : array(),
(isset($_GET['id_layered_filter']) AND !empty($_GET['id_layered_filter'])) ? (int)$_GET['id_layered_filter'] : array());
+1
View File
@@ -47,6 +47,7 @@ $(document).ready(function()
});
paginationButton();
reloadContent();
});
function paginationButton() {
+608 -113
View File
@@ -37,7 +37,7 @@ class BlockLayered extends Module
{
$this->name = 'blocklayered';
$this->tab = 'front_office_features';
$this->version = 1.3;
$this->version = 1.4;
$this->author = 'PrestaShop';
$this->need_instance = 0;
@@ -52,7 +52,10 @@ class BlockLayered extends Module
if ($result = parent::install() AND $this->registerHook('leftColumn') AND $this->registerHook('header')
AND $this->registerHook('categoryAddition') AND $this->registerHook('categoryUpdate') AND $this->registerHook('categoryDeletion'))
{
Configuration::updateValue('PS_LAYERED_NAVIGATION_CHECKBOXES', 1);
Configuration::updateValue('PS_LAYERED_SHARE', 0);
Configuration::updateValue('PS_LAYERED_HIDE_0_VALUES', 0);
Configuration::updateValue('PS_LAYERED_SHOW_QTIES', 1);
$this->rebuildLayeredStructure();
}
@@ -62,7 +65,12 @@ class BlockLayered extends Module
public function uninstall()
{
/* Delete all configurations */
Configuration::deleteByName('PS_LAYERED_NAVIGATION_CHECKBOXES');
Configuration::deleteByName('PS_LAYERED_SHARE');
Configuration::deleteByName('PS_LAYERED_HIDE_0_VALUES');
Configuration::deleteByName('PS_LAYERED_SHOW_QTIES');
Configuration::deleteByName('PS_LAYERED_BITLY_USERNAME');
Configuration::deleteByName('PS_LAYERED_BITLY_API_KEY');
return parent::uninstall();
}
@@ -81,12 +89,29 @@ class BlockLayered extends Module
$id_parent = (int)Tools::getValue('id_category', Tools::getValue('id_category_layered', 1));
if ($id_parent == 1)
return;
$context = Context::getContext();
$context->controller->addJS(($this->_path).'blocklayered.js');
$context->controller->addJS($this->_path.'blocklayered.js');
$context->controller->addJS(_PS_JS_DIR_.'jquery/jquery-ui-1.8.10.custom.min.js');
$context->controller->addCSS(($this->_path).'blocklayered.css', 'all');
$context->controller->addCSS(_PS_CSS_DIR_.'jquery-ui-1.8.10.custom.css', 'all');
$context->controller->addCSS(($this->_path).'blocklayered.css', 'all');
}
public function hookFooter($params)
{
if (basename($_SERVER['PHP_SELF']) == 'category.php')
return '
<script type="text/javascript">
//<![CDATA[
$(document).ready(function()
{
$(\'#selectPrductSort\').unbind(\'change\').bind(\'change\', function()
{
reloadContent();
})
});
//]]>
</script>';
}
public function hookCategoryAddition($params)
@@ -121,6 +146,8 @@ class BlockLayered extends Module
public function getContent()
{
global $cookie;
$errors = array();
$html = '';
@@ -130,11 +157,67 @@ class BlockLayered extends Module
$this->rebuildLayeredCache();
$html .= '
<div class="conf confirm">
<img src="../img/admin/ok.gif" alt="" title="" />
'.$this->l('Layered navigation database was initialized successfully').'
<div class="conf">
<img src="../img/admin/ok2.png" alt="" /> '.$this->l('Layered navigation database was initialized successfully').'
</div>';
}
elseif (Tools::isSubmit('SubmitFilter'))
{
if (isset($_POST['id_layered_filter']) AND $_POST['id_layered_filter'])
Db::getInstance()->Execute('DELETE FROM '._DB_PREFIX_.'layered_filter WHERE id_layered_filter = '.(int)Tools::getValue('id_layered_filter'));
if (Tools::getValue('scope') == 1)
{
Db::getInstance()->Execute('TRUNCATE TABLE '._DB_PREFIX_.'layered_filter');
$categories = Db::getInstance()->ExecuteS('SELECT id_category FROM '._DB_PREFIX_.'category');
foreach ($categories AS $category)
$_POST['categoryBox'][] = (int)$category['id_category'];
}
if (sizeof($_POST['categoryBox']))
{
Db::getInstance()->Execute('DELETE FROM '._DB_PREFIX_.'layered_category WHERE id_category IN ('.implode(',', $_POST['categoryBox']).')');
$filterValues = array();
$sqlToInsert = 'INSERT INTO '._DB_PREFIX_.'layered_category (id_category, id_value, type, position) VALUES ';
foreach ($_POST['categoryBox'] AS $id_category_layered)
{
$n = 0;
foreach ($_POST AS $key => $value)
if (substr($key, 0, 17) == 'layered_selection' AND $value == 'on')
{
$filterValues[$key] = $value;
$n++;
if ($key == 'layered_selection_stock')
$sqlToInsert .= '('.(int)$id_category_layered.',NULL,\'quantity\','.(int)$n.'),';
elseif ($key == 'layered_selection_subcategories')
$sqlToInsert .= '('.(int)$id_category_layered.',NULL,\'category\','.(int)$n.'),';
elseif ($key == 'layered_selection_condition')
$sqlToInsert .= '('.(int)$id_category_layered.',NULL,\'condition\','.(int)$n.'),';
elseif ($key == 'layered_selection_weight_slider')
$sqlToInsert .= '('.(int)$id_category_layered.',NULL,\'weight\','.(int)$n.'),';
elseif ($key == 'layered_selection_manufacturer')
$sqlToInsert .= '('.(int)$id_category_layered.',NULL,\'manufacturer\','.(int)$n.'),';
elseif (substr($key, 0, 21) == 'layered_selection_ag_')
$sqlToInsert .= '('.(int)$id_category_layered.','.(int)str_replace('layered_selection_ag_', '', $key).',\'id_attribute_group\','.(int)$n.'),';
elseif (substr($key, 0, 23) == 'layered_selection_feat_')
$sqlToInsert .= '('.(int)$id_category_layered.','.(int)str_replace('layered_selection_feat_', '', $key).',\'id_feature\','.(int)$n.'),';
}
$filterValues['categories'] = Tools::getValue('categoryBox');
}
Db::getInstance()->Execute(rtrim($sqlToInsert, ','));
$valuesToInsert = array('name' => pSQL(Tools::getValue('layered_tpl_name')), 'filters' => pSQL(serialize($filterValues)), 'n_categories' => (int)sizeof($_POST['categoryBox']), 'date_add' => date('Y-m-d H:i:s'));
if (isset($_POST['id_layered_filter']) AND $_POST['id_layered_filter'])
$valuesToInsert['id_layered_filter'] = (int)Tools::getValue('id_layered_filter');
Db::getInstance()->AutoExecute(_DB_PREFIX_.'layered_filter', $valuesToInsert, 'INSERT');
echo '<div class="conf"><img src="../img/admin/ok2.png" alt="" /> '.$this->l('Your filter').' "'.Tools::getValue('layered_tpl_name').'" '.((isset($_POST['id_layered_filter']) AND $_POST['id_layered_filter']) ? $this->l('was updated successfully.') : $this->l('was added successfully.')).'</div>';
}
}
elseif (Tools::isSubmit('submitLayeredSettings'))
{
if (Tools::getValue('share_url'))
@@ -150,10 +233,12 @@ class BlockLayered extends Module
Configuration::updateValue('PS_LAYERED_BITLY_USERNAME', Tools::getValue('bitly_username'));
Configuration::updateValue('PS_LAYERED_BITLY_API_KEY', Tools::getValue('bitly_api_key'));
Configuration::updateValue('PS_LAYERED_SHARE', Tools::getValue('share_url'));
Configuration::updateValue('PS_LAYERED_HIDE_0_VALUES', Tools::getValue('ps_layered_hide_0_values'));
Configuration::updateValue('PS_LAYERED_SHOW_QTIES', Tools::getValue('ps_layered_show_qties'));
$html .= '
<div class="conf confirm">
<img src="../img/admin/ok.gif" alt="" title="" />
'.$this->l('Settings saved successfully').'
<div class="conf">
<img src="../img/admin/ok2.png" alt="" /> '.$this->l('Settings saved successfully').'
</div>';
}
else
@@ -161,14 +246,40 @@ class BlockLayered extends Module
$html .= '
<div class="error">
<img src="../img/admin/error.png" alt="" title="" />'.$this->l('Settings not saved :').'<ul>';
foreach($errors as $error)
foreach($errors AS $error)
$html .= '<li>'.$error.'</li>';
$html .= '</ul></div>';
$html .= '</ul>
</div>';
}
}
elseif (isset($_GET['deleteFilterTemplate']))
{
$layeredValues = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT filters
FROM '._DB_PREFIX_.'layered_filter
WHERE id_layered_filter = '.(int)$_GET['id_layered_filter']);
$html .= '<script>
if ($layeredValues)
{
Db::getInstance()->Execute('DELETE FROM '._DB_PREFIX_.'layered_filter WHERE id_layered_filter = '.(int)$_GET['id_layered_filter'].' LIMIT 1');
$html .= '
<div class="conf">
<img src="../img/admin/ok2.png" alt="" /> '.$this->l('Filters template deleted, categories updated (reverted to default Filters template).').'
</div>';
}
else
{
$html .= '
<div class="error">
<img src="../img/admin/error.png" alt="" title="" /> '.$this->l('Filters template not found').'
</div>';
}
}
$html .= '
<script type="text/javascript">
$(document).ready(function()
{
$(\'.share_url\').change(function(){
@@ -185,46 +296,307 @@ class BlockLayered extends Module
});
</script>
<h2>'.$this->l('Layered navigation').'</h2>
<p class="warning" style="font-weight: bold;"><img src="../img/admin/information.png" alt="" /> '.$this->l('This module is in beta version and will be improved').'</p><br />
<fieldset class="width2">
<legend><img src="../img/admin/asterisk.gif" alt="" />'.$this->l('10 upcoming improvements').'</legend>
<ol>
<li>'.$this->l('Real-time refresh of the cache table').' <img src="../img/admin/enabled.gif" alt="" /></li>
<li>'.$this->l('Additional filters (prices, weight)').'</li>
<li>'.$this->l('Ability to manage filters by category in the module configuration').'</li>
<li>'.$this->l('Ability to hide filter groups with no values and filter values with 0 products').'</li>
<li>'.$this->l('Statistics and analysis').'</li>
<li>'.$this->l('Manage products sort & pagination').' <img src="../img/admin/enabled.gif" alt="" /></li>
<li>'.$this->l('Add a check on the category_group table').'</li>
<li>'.$this->l('SEO links & real time URL building (ability to give the URL to someone)').' <img src="../img/admin/enabled.gif" alt="" /> </li>
<li>'.$this->l('Add more options in the module configuration').'</li>
<li>'.$this->l('Performances improvements').'</li>
</ol>
<fieldset class="width4">
<legend><img src="../img/admin/cog.gif" alt="" />'.$this->l('Existing filters templates').'</legend>';
$filtersTemplates = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('SELECT * FROM '._DB_PREFIX_.'layered_filter ORDER BY date_add DESC');
if (sizeof($filtersTemplates))
{
$html .= '<p>'.sizeof($filtersTemplates).' '.$this->l('filters templates are configured:').'</p>
<table id="table-filter-templates" class="table" style="width: 700px;">
<tr>
<th>ID</th>
<th>Name</th>
<th>Categories</th>
<th>Created on</th>
<th>Actions</th>
</tr>';
foreach ($filtersTemplates AS $filtersTemplate)
{
/* Clean request URI first */
$_SERVER['REQUEST_URI'] = preg_replace('/&deleteFilterTemplate=[0-9]*&id_layered_filter=[0-9]*/', '', $_SERVER['REQUEST_URI']);
$html .= '
<tr>
<td>'.(int)$filtersTemplate['id_layered_filter'].'</td>
<td style="text-align: left; padding-left: 10px; width: 270px;">'.$filtersTemplate['name'].'</td>
<td style="text-align: center;">'.(int)$filtersTemplate['n_categories'].'</td>
<td>'.Tools::displayDate($filtersTemplate['date_add'], (int)$cookie->id_lang, true).'</td>
<td>
<a href="#" onclick="updElements('.($filtersTemplate['n_categories'] ? 0 : 1).', '.(int)$filtersTemplate['id_layered_filter'].');"><img src="../img/admin/edit.gif" alt="" title="'.$this->l('Edit').'" /></a>
<a href="'.$_SERVER['REQUEST_URI'].'&deleteFilterTemplate=1&id_layered_filter='.(int)$filtersTemplate['id_layered_filter'].'" onclick="return confirm(\''.addslashes($this->l('Delete filter template #').(int)$filtersTemplate['id_layered_filter'].$this->l('?')).'\');"><img src="../img/admin/delete.gif" alt="" title="'.$this->l('Delete').'" /></a>
</td>
</tr>';
}
$html .= '
</table>';
}
else
$html .= $this->l('No filter template found.');
$html .= '
</fieldset><br />
<fieldset class="width4">
<legend><img src="../img/admin/cog.gif" alt="" />'.$this->l('Build your own filters template').'</legend>
<link rel="stylesheet" href="'._PS_CSS_DIR_.'jquery-ui-1.8.10.custom.css" />
<style type="text/css">
#layered_container_left ul, #layered_container_right ul { list-style-type: none; padding-left: 0px; }
.ui-effects-transfer { border: 1px solid #CCC; }
.ui-state-highlight { height: 1.5em; line-height: 1.2em; }
ul#selected_filters, #layered_container_right ul { list-style-type: none; margin: 0; padding: 0; }
ul#selected_filters li, #layered_container_right ul li { width: 326px; font-size: 11px; padding: 8px 9px 7px 20px; height: 14px; margin-bottom: 5px; }
ul#selected_filters li span.ui-icon { position: absolute; margin-top: -2px; margin-left: -18px; }
#layered_container_right ul li span { display: none; }
#layered_container_right ul li { padding-left: 8px; }
#layered_container_left ul li { cursor: move; }
#layered-cat-counter { display: none; }
#layered-step-2, #layered-step-3 { display: none; }
#table-filter-templates tr th, #table-filter-templates tr td { text-align: center; }
</style>
<form action="'.$_SERVER['REQUEST_URI'].'" method="post" onsubmit="return checkForm();">';
$html.= '
<h2>'.$this->l('Step 1/3 - Select categories').'</h2>
<p style="margin-top: 20px;">'.$this->l('Use this template for:').'
<input type="radio" id="scope_1" name="scope" value="1" style="margin-left: 15px;" onclick="$(\'#error-treeview\').hide(); $(\'#layered-step-2\').show(); updElements(1, 0);" />
<label for="scope_1" style="float: none;">'.$this->l('All categories').'</label>
<input type="radio" id="scope_2" name="scope" value="2" style="margin-left: 15px;" onclick="$(\'label a#inline\').click(); $(\'#layered-step-2\').show();" />
<label for="scope_2" style="float: none;"><a id="inline" href="#layered-categories-selection" style="text-decoration: underline;">'.$this->l('Specific').'</a> '.$this->l('categories').' (<span id="layered-cat-counter"></span> '.$this->l('selected').')</label>
</p>
<div id="error-treeview" class="error" style="display: none;">
<img src="../img/admin/error2.png" alt="" /> '.$this->l('Please select at least one specific category or select "All categories".').'
</div>
<div style="display: none;">
<div id="layered-categories-selection" style="padding: 10px; text-align: left;">
<h2>'.$this->l('Categories using this template').'</h2>
<ol style="padding-left: 20px;">
<li>'.$this->l('Select one ore more category using this filter template').'</li>
<li>'.$this->l('Press "Save this selection" or close the window to save').'</li>
</ol>';
$trads = array();
$selectedCat = array();
foreach(Helper::$translationsKeysForAdminCategorieTree AS $key)
$trads[$key] = $this->l($key);
$html .= Helper::renderAdminCategorieTree($trads, $selectedCat, 'categoryBox');
$html .= '
<br />
<center><input type="button" class="button" value="'.$this->l('Save this selection').'" onclick="$.fancybox.close();" /></center>
</div>
</div>
<div id="layered-step-2">
<hr size="1" noshade />
<h2>'.$this->l('Step 2/3 - Select filters').'</h2>
<div id="layered_container">
<div id="layered_container_left" style="width: 360px; float: left; height: 200px; overflow-y: auto;">
<h3>'.$this->l('Selected filters').' <span id="num_sel_filters">(0)</span></h3>
<p id="no-filters">'.$this->l('No filters selected yet.').'</p>
<ul id="selected_filters"></ul>
</div>
<div id="layered-ajax-refresh">
'.$this->ajaxCallBackOffice().'
</div>
</div>
<div class="clear"></div>
<hr size="1" noshade />
<script type="text/javascript" src="'.__PS_BASE_URI__.'js/jquery/jquery-ui-1.8.10.custom.min.js"></script>
<script type="text/javascript" src="'.__PS_BASE_URI__.'js/jquery/jquery.fancybox-1.3.4.js"></script>
<link type="text/css" rel="stylesheet" href="'.__PS_BASE_URI__.'css/jquery.fancybox-1.3.4.css" />
<script type="text/javascript">
function updLayCounters()
{
$(\'#num_sel_filters\').html(\'(\'+$(\'ul#selected_filters\').find(\'li\').length+\')\');
$(\'#num_avail_filters\').html(\'(\'+$(\'#layered_container_right ul\').find(\'li\').length+\')\');
if ($(\'ul#selected_filters\').find(\'li\').length >= 1)
$(\'#layered-step-3\').show();
else
$(\'#layered-step-3\').hide();
}
function updPositions()
{
$(\'#layered_container_left li\').each(function(idx) {
$(this).find(\'span.position\').html(parseInt(1+idx)+\'. \');
});
}
function updCatCounter()
{
$(\'#layered-cat-counter\').html($(\'#categories-treeview\').find(\'input:checked\').length);
$(\'#layered-cat-counter\').show();
}
function updHeight()
{
$(\'#layered_container_left\').css(\'height\', 30+(1+$(\'#layered_container_left\').find(\'li\').length)*34);
$(\'#layered_container_right\').css(\'height\', 30+(1+$(\'#layered_container_right\').find(\'li\').length)*34);
}
function updElements(all, id_layered_filter)
{
if ($(\'#error-treeview\').is(\':hidden\'))
$(\'#layered-step-2\').show();
else
$(\'#layered-step-2\').hide();
$(\'#layered-ajax-refresh\').css(\'background-color\', \'black\');
$(\'#layered-ajax-refresh\').css(\'opacity\', \'0.2\');
$(\'#layered-ajax-refresh\').html(\'<div style="margin: 0 auto; padding: 10px; text-align: center;"><img src="../img/admin/ajax-loader-big.gif" alt="" /><br /><p style="color: white;">'.$this->l('Loading...').'</p></div>\');
$.ajax(
{
type: \'GET\',
url: '.__PS_BASE_URI__.' + \'modules/blocklayered/blocklayered-ajax-back.php\',
data: (all ? \'\' : $(\'input[name="categoryBox[]"]\').serialize()+\'&\')+(id_layered_filter ? \'id_layered_filter=\'+parseInt(id_layered_filter)+\'\' : \'\'),
success: function(result)
{
$(\'#layered-ajax-refresh\').css(\'background-color\', \'transparent\');
$(\'#layered-ajax-refresh\').css(\'opacity\', \'1\');
$(\'#layered-ajax-refresh\').html(result);
$(\'#layered_container_right li input\').each(function() {
if ($(\'#layered_container_left\').find(\'input[id="\'+$(this).attr(\'id\')+\'"]\').length > 0)
$(this).parent().remove();
});
updHeight();
updLayCounters();
}
});
}
function checkForm()
{
if ($(\'#scope_1\').attr(\'checked\') && $(\'#n_existing\').val() > 0)
if (!confirm(\''.addslashes($this->l('You selected -All categories-, all existing filter templates will be deleted, OK?')).'\'))
return false;
return true;
}
function launch()
{
$(\'#layered_container input\').live(\'click\', function ()
{
if ($(this).parent().hasClass(\'layered_right\'))
{
$(\'p#no-filters\').hide();
$(this).parent().css(\'background\', \'url("../img/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png") repeat-x scroll 50% 50% #FDF5CE\');
$(this).parent().removeClass(\'layered_right\');
$(this).parent().addClass(\'layered_left\');
$(this).effect(\'transfer\', { to: $(\'#layered_container_left ul#selected_filters\') }, 300, function() {
$(this).parent().appendTo(\'ul#selected_filters\');
updLayCounters();
updHeight();
updPositions();
});
}
else
{
$(this).parent().css(\'background\', \'url("../img/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png") repeat-x scroll 50% 50% #F6F6F6\');
$(this).effect(\'transfer\', { to: $(\'#layered_container_right ul#all_filters\') }, 300, function() {
$(this).parent().removeClass(\'layered_left\');
$(this).parent().addClass(\'layered_right\');
$(this).parent().appendTo(\'ul#all_filters\');
updLayCounters();
updHeight();
updPositions();
if ($(\'#layered_container_left ul\').length == 0)
$(\'p#no-filters\').show();
});
}
enableSortable();
});
$(\'label a#inline\').fancybox({
\'hideOnContentClick\': false,
\'onClosed\': function() {
updCatCounter();
if ($(\'#categories-treeview\').find(\'input:checked\').length == 0)
$(\'#error-treeview\').show(500);
else
$(\'#error-treeview\').hide(500);
updElements(0, 0);
}
});
updHeight();
updLayCounters();
updPositions();
updCatCounter();
enableSortable();
}
function enableSortable()
{
$(function() {
$(\'ul#selected_filters\').sortable({
axis: \'y\',
update: function() { updPositions(); },
placeholder: \'ui-state-highlight\'
});
$(\'ul#selected_filters\').disableSelection();
});
}
$(document).ready(function() {
launch();
});
</script>
</div>
<div id="layered-step-3">
<h2>'.$this->l('Step 3/3 - Name your template').'</h2>
<p>'.$this->l('Template name:').' <input type="text" id="layered_tpl_name" name="layered_tpl_name" maxlength="64" value="'.$this->l('My template').' '.date('Y-m-d').'" style="width: 200px; font-size: 11px;" /> <span style="font-size: 10px; font-style: italic;">('.$this->l('only as a reminder').'</span>)</p>
<hr size="1" noshade />
<br />
<center><input type="submit" class="button" name="SubmitFilter" value="'.$this->l('Save this filter template').'" /></center>
</div>
<input type="hidden" name="id_layered_filter" id="id_layered_filter" value="0" />
<input type="hidden" name="n_existing" id="n_existing" value="'.(int)sizeof($filtersTemplates).'" />
</form>
</fieldset><br />
<fieldset class="width2">
<legend><img src="../img/admin/database_gear.gif" alt="" />'.$this->l('Cache initialization').'</legend>
<form action="'.$_SERVER['REQUEST_URI'].'" method="post">
<div class="warning">
<p style="color: red; font-weight: bold;">'.$this->l('Before using this module for the first time you have to initialize the cache').'</p>
<p><b>'.$this->l('Warning: This could take several minutes.').'</b><br /><br />
'.$this->l('If you do not, this cache table might become larger and larger (less efficient), and all the new choices (attributes, features) will not be offered to your visitors.').'</p>
</div>
<p style="text-align: center;"><input type="submit" class="button" name="submitLayeredCache" value="'.$this->l('Initialize the layered navigation database').'" /></p>
</form>
</fieldset><br />
<fieldset class="width2">
<legend><img src="../img/admin/cog.gif" alt="" />'.$this->l('Configuration').'</legend>
<form action="'.$_SERVER['REQUEST_URI'].'" method="post">
<label>'.$this->l('Enable share URL').' : </label>
<div class="margin-form">
<table border="0" style="font-size: 11px; width: 100%; margin: 0 auto;" class="table">
<tr>
<th style="text-align: center;">'.$this->l('Option').'</th>
<th style="text-align: center;">'.$this->l('Value').'</th>
</tr>
<tr>
<td style="text-align: right;">'.$this->l('Hide filter values with no product is matching').'</td>
<td>
<img src="../img/admin/enabled.gif" alt="'.$this->l('Yes').'" title="'.$this->l('Yes').'" />
'.$this->l('Yes').' <input type="radio" name="ps_layered_hide_0_values" value="1" '.(Configuration::get('PS_LAYERED_HIDE_0_VALUES') ? 'checked="checked"' : '').' />
<img src="../img/admin/disabled.gif" alt="'.$this->l('No').'" title="'.$this->l('No').'" style="margin-left: 10px;" />
'.$this->l('No').' <input type="radio" name="ps_layered_hide_0_values" value="0" '.(!Configuration::get('PS_LAYERED_HIDE_0_VALUES') ? 'checked="checked"' : '').' />
</td>
</tr>
<tr>
<td style="text-align: right;">'.$this->l('Show the number of matching products').'</td>
<td>
<img src="../img/admin/enabled.gif" alt="'.$this->l('Yes').'" title="'.$this->l('Yes').'" />
'.$this->l('Yes').' <input type="radio" name="ps_layered_show_qties" value="1" '.(Configuration::get('PS_LAYERED_SHOW_QTIES') ? 'checked="checked"' : '').' />
<img src="../img/admin/disabled.gif" alt="'.$this->l('No').'" title="'.$this->l('No').'" style="margin-left: 10px;" />
'.$this->l('No').' <input type="radio" name="ps_layered_show_qties" value="0" '.(!Configuration::get('PS_LAYERED_SHOW_QTIES') ? 'checked="checked"' : '').' />
</td>
</tr>
<tr>
<td style="text-align: right;">'.$this->l('Allow customers to share URLs').'</td>
<td>
<label class="t" for="share_url_on"><img src="../img/admin/enabled.gif" alt="Yes" title="Yes"></label>
<input type="radio" id="share_url_on" name="share_url" class="share_url" value="1" '.(Configuration::get('PS_LAYERED_SHARE') ? 'checked="checked"' : '').'>
'.$this->l('Yes').' <input type="radio" id="share_url_on" name="share_url" class="share_url" value="1" '.(Configuration::get('PS_LAYERED_SHARE') ? 'checked="checked"' : '').'>
<label class="t" for="share_url_off"><img src="../img/admin/disabled.gif" alt="No" title="No" style="margin-left: 10px;"></label>
<input type="radio" id="share_url_off" name="share_url" class="share_url" value="0" '.(!Configuration::get('PS_LAYERED_SHARE') ? 'checked="checked"' : '').'>
<p>'.$this->l('By enabling this option, your visitors can share the URL of their research').'</p>
</div>
<div class="clear"></div>
'.$this->l('No').' <input type="radio" id="share_url_off" name="share_url" class="share_url" value="0" '.(!Configuration::get('PS_LAYERED_SHARE') ? 'checked="checked"' : '').'>
</td>
</tr>
</table>
<div id="bitly">
<p>'.$this->l('To offer your customers short links, create an account on bit.ly, then copy and paste login and API key.').'
<a style="text-decoration:underline" href="http://bit.ly/a/sign_up">'.$this->l('Sign Up').'</a></p>
@@ -240,6 +612,7 @@ class BlockLayered extends Module
<p style="text-align: center;"><input type="submit" class="button" name="submitLayeredSettings" value="'.$this->l('Save configuration').'" /></p>
</form>
</fieldset>';
return $html;
}
@@ -293,10 +666,13 @@ class BlockLayered extends Module
if ($id_parent == 1)
return;
if (!sizeof($selectedFilters['category']))
$selectedFilters['category'][] = $id_parent;
$queryFilters = '';
$parent = new Category((int)$id_parent);
if (!sizeof($selectedFilters['category']))
$queryFilters .= ' AND p.id_product IN (SELECT id_product FROM '._DB_PREFIX_.'category_product cp
LEFT JOIN '._DB_PREFIX_.'category c ON (c.id_category = cp.id_category)
WHERE 1 AND c.nleft >= '.(int)$parent->nleft.' AND c.nright <= '.(int)$parent->nright.')';
foreach ($selectedFilters AS $key => $filterValues)
{
if (!sizeof($filterValues))
@@ -326,20 +702,10 @@ class BlockLayered extends Module
break;
case 'category':
$parent = new Category($id_parent);
if (!sizeof($selectedFilters['category']))
$queryFilters .= ' AND p.id_product IN ( SELECT id_product FROM '._DB_PREFIX_.'category_product cp
LEFT JOIN '._DB_PREFIX_.'category c ON (c.id_category = cp.id_category)
WHERE 1 AND c.nleft >= parent->nleft AND c.nright <= parent->nright';
else
{
$queryFilters .= ' AND p.id_product IN ( SELECT id_product FROM '._DB_PREFIX_.'category_product cp WHERE 1 AND cp.`id_category` = '.(int)$id_parent;
if (sizeof($selectedFilters['category']))
$queryFilters .= ' OR ';
$queryFilters .= ' AND p.id_product IN (SELECT id_product FROM '._DB_PREFIX_.'category_product cp WHERE ';
foreach ($selectedFilters['category'] AS $id_category)
$queryFilters .= 'cp.`id_category` = '.(int)$id_category.' OR ';
$queryFilters = rtrim($queryFilters, 'OR ').')';
}
break;
case 'quantity':
@@ -367,37 +733,31 @@ class BlockLayered extends Module
}
}
//id_category_layered = current displayed category
if (!sizeof($selectedFilters['category']))
$queryFilters .= ' AND p.id_product IN (
SELECT id_product FROM '._DB_PREFIX_.'category_product cp
WHERE cp.`id_category` = '.(int)$id_parent.')';
/* Return only the number of products */
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
SELECT COUNT(p.`id_product`) AS total
FROM `'._DB_PREFIX_.'product` p
WHERE 1 '.$queryFilters);
$this->nbr_products = isset($result) ? $result['total'] : 0;
$this->nbr_products = isset($result) ? (int)$result['total'] : 0;
$n = (int)Tools::getValue('n', Configuration::get('PS_PRODUCTS_PER_PAGE'));
$sql = 'SELECT p.id_product, p.out_of_stock, p.available_for_order, p.minimal_quantity, p.id_category_default, p.customizable, p.show_price, p.`weight`,
$sql = 'SELECT p.id_product, p.on_sale, p.out_of_stock, p.available_for_order, p.minimal_quantity, p.id_category_default, p.customizable, p.show_price, p.`weight`,
p.ean13, pl.available_later, pl.description_short, pl.link_rewrite, pl.name, i.id_image, il.legend, m.name manufacturer_name, p.condition, p.id_manufacturer, stock.quantity,
DATEDIFF(p.`date_add`, DATE_SUB(NOW(), INTERVAL '.(Validate::isUnsignedInt(Configuration::get('PS_NB_DAYS_NEW_PRODUCT')) ? Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY)) > 0 AS new
FROM '._DB_PREFIX_.'product p
'.$context->shop->sqlAsso('product', 'p').'
'.Product::sqlStock('p').'
LEFT JOIN '._DB_PREFIX_.'product_lang pl ON (pl.id_product = p.id_product'.$context->shop->sqlLang('pl').')
'.Product::sqlStock('p', 0).'
LEFT JOIN '._DB_PREFIX_.'image i ON (i.id_product = p.id_product AND i.cover = 1)
LEFT JOIN '._DB_PREFIX_.'image_lang il ON (i.id_image = il.id_image AND il.id_lang = '.(int)$context->language->id.')
LEFT JOIN '._DB_PREFIX_.'manufacturer m ON (m.id_manufacturer = p.id_manufacturer)
LEFT JOIN '._DB_PREFIX_.'manufacturer m ON (m.id_manufacturer = p.id_manufacturer)
WHERE p.`active` = 1
AND pl.id_lang = '.(int)$context->language->id
.$queryFilters.
' ORDER BY '.Tools::getProductsOrder('by', Tools::getValue('orderby')).' '.Tools::getProductsOrder('way', Tools::getValue('orderway')).
' LIMIT '.(((int)(Tools::getValue('p', 1)) - 1) * $n.','.$n);
' LIMIT '.(((int)Tools::getValue('p', 1) - 1) * $n.','.$n);
$this->products = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
return $this->products;
@@ -415,11 +775,16 @@ class BlockLayered extends Module
/* First we need to get all subcategories of current category */
$category = new Category((int)$id_parent);
$groups = FrontController::getCurrentCustomerGroups();
$subCategories = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT c.id_category, c.id_parent, cl.name
FROM '._DB_PREFIX_.'category c
LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (cl.id_category = c.id_category)
LEFT JOIN '._DB_PREFIX_.'category_group cg ON (cg.id_category = c.id_category)
WHERE c.nleft > '.(int)$category->nleft.' and c.nright <= '.(int)$category->nright.' AND c.active = 1 AND c.id_parent = '.(int)$category->id.' AND cl.id_lang = '.(int)$context->language->id.'
AND cg.id_group '.pSQL(sizeof($groups) ? 'IN ('.implode(',', $groups).')' : '= 1').'
GROUP BY c.id_category
ORDER BY c.position ASC');
$whereC = ' cp.`id_category` = '.(int)$id_parent.' OR ';
@@ -440,7 +805,7 @@ class BlockLayered extends Module
WHERE p.`active` = 1 AND p.`id_product` IN ( SELECT id_product FROM `'._DB_PREFIX_.'category_product` cp WHERE'.$whereC.')', false);
$products = array();
$db = Db::getInstance();
$db = Db::getInstance(_PS_USE_SQL_SLAVE_);
$weight = array();
while ($product = $db->nextRow($productsSQL))
{
@@ -465,7 +830,7 @@ class BlockLayered extends Module
}
/* Get the filters for the current category */
$filters = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('SELECT * FROM '._DB_PREFIX_.'layered_category WHERE id_category = '.(int)$id_parent);
$filters = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('SELECT * FROM '._DB_PREFIX_.'layered_category WHERE id_category = '.(int)$id_parent.' ORDER BY position ASC');
$filterBlocks = $f = $a = array();
foreach ($filters AS $filter)
@@ -478,18 +843,17 @@ class BlockLayered extends Module
case 'id_feature':
$f[] = (int)$filter['id_value'];
$filterBlocks[(int)$filter['position']]['SQLvalues'] = Db::getInstance()->ExecuteS('
$filterBlocks[(int)$filter['position']]['SQLvalues'] = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT fvl.id_feature_value, fvl.value
FROM '._DB_PREFIX_.'feature_value fv
LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = fv.id_feature_value)
WHERE (fv.custom IS NULL OR fv.custom = 0) AND fv.id_feature = '.(int)$filterBlocks[(int)$filter['position']]['id_key'].' AND fvl.id_lang = '.(int)$context->language->id);
break;
case 'id_attribute_group':
$a[] = (int)$filter['id_value'];
$filterBlocks[(int)$filter['position']]['SQLvalues'] = Db::getInstance()->ExecuteS('
$filterBlocks[(int)$filter['position']]['SQLvalues'] = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT al.id_attribute, al.name, a.color
FROM '._DB_PREFIX_.'attribute a
LEFT JOIN '._DB_PREFIX_.'attribute_lang al ON (al.id_attribute = a.id_attribute)
@@ -501,7 +865,7 @@ class BlockLayered extends Module
/* Get the feature block names & values */
if (sizeof($f))
{
$fNames = Db::getInstance()->ExecuteS('
$fNames = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT id_feature, name
FROM '._DB_PREFIX_.'feature_lang
WHERE id_lang = '.(int)$context->language->id.' AND id_feature IN ('.implode(',', $f).')');
@@ -513,7 +877,7 @@ class BlockLayered extends Module
/* Get the attribute block names & values */
if (sizeof($a))
{
$aNames = Db::getInstance()->ExecuteS('
$aNames = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT ag.id_attribute_group, agl.public_name, ag.is_color_group
FROM '._DB_PREFIX_.'attribute_group ag
LEFT JOIN '._DB_PREFIX_.'attribute_group_lang agl ON (agl.id_attribute_group = ag.id_attribute_group)
@@ -552,11 +916,14 @@ class BlockLayered extends Module
$productCat = $this->filterProducts($products, $selectedFilters, 'category');
//count nbr product in category
// Count number of products in each category
foreach ($c AS $idSubCategory)
foreach ($productCat AS $product)
if (in_array($idSubCategory, $product['c']))
$filterBlock['values'][(int)$idSubCategory]['nbr']++;
if (Configuration::get('PS_LAYERED_HIDE_0_VALUES') AND !$filterBlock['values'][(int)$idSubCategory]['nbr'])
unset($filterBlock['values'][(int)$subCat['id_category']]);
}
elseif ($filterBlock['type_lite'] == 'id_feature')
{
@@ -569,11 +936,14 @@ class BlockLayered extends Module
{
foreach ($productFeat AS $product)
{
if (in_array($value['id_feature_value'], $product['f']))
if (Configuration::get('PS_LAYERED_HIDE_0_VALUES') AND !in_array($value['id_feature_value'], $product['f']))
continue;
else
{
$filterBlock['values'][(int)$value['id_feature_value']]['name'] = $value['value'];
if (!isset($filterBlock['values'][(int)$value['id_feature_value']]['nbr']))
$filterBlock['values'][(int)$value['id_feature_value']]['nbr'] = 0;
if (in_array($value['id_feature_value'], $product['f']))
$filterBlock['values'][(int)$value['id_feature_value']]['nbr']++;
}
if (in_array($value['id_feature_value'], $product['f']) AND !isset($filterBlock['values'][(int)$value['id_feature_value']]))
@@ -637,6 +1007,13 @@ class BlockLayered extends Module
if (isset($selectedFilters['condition']) AND in_array($conditionKey, $selectedFilters['condition']))
$condition['checked'] = true;
}
if (Configuration::get('PS_LAYERED_HIDE_0_VALUES'))
{
foreach ($filterBlock['values'] AS $conditionKey2 => $condition2)
if (!$condition2['nbr'])
unset($filterBlock['values'][$conditionKey2]);
}
}
elseif ($filterBlock['type_lite'] == 'quantity')
{
@@ -655,6 +1032,13 @@ class BlockLayered extends Module
if (isset($selectedFilters['quantity']) AND in_array($quantKey, $selectedFilters['quantity']))
$quantity['checked'] = true;
}
if (Configuration::get('PS_LAYERED_HIDE_0_VALUES'))
{
foreach ($filterBlock['values'] AS $quantKey2 => $quantity2)
if (!$quantity2['nbr'])
unset($filterBlock['values'][$quantKey2]);
}
}
elseif ($filterBlock['type_lite'] == 'manufacturer')
{
@@ -708,9 +1092,8 @@ class BlockLayered extends Module
foreach ($selectedFilters AS $filters)
$nFilters += sizeof($filters);
$params = '?';
foreach ($_GET as $key => $val)
foreach($_GET AS $key => $val)
$params .= $key.'='.$val.'&';
$share_url = $context->link->getCategoryLink((int)$category->id, $category->link_rewrite[(int)$context->language->id], $context->language->id).rtrim($params, '&');
@@ -718,7 +1101,7 @@ class BlockLayered extends Module
$context->smarty->assign(array(
'display_share' => (int)Configuration::get('PS_LAYERED_SHARE'),
'share_url' => $this->getShortLink($share_url),
'layered_use_checkboxes' => (int)Configuration::get('PS_LAYERED_NAVIGATION_CHECKBOXES'),
'layered_show_qties' => (int)Configuration::get('PS_LAYERED_SHOW_QTIES'),
'id_category_layered' => (int)$id_parent,
'selected_filters' => $selectedFilters,
'n_filters' => (int)$nFilters,
@@ -728,6 +1111,119 @@ class BlockLayered extends Module
return $this->display(__FILE__, 'blocklayered.tpl');
}
public function ajaxCallBackOffice($categoryBox = array(), $id_layered_filter = NULL)
{
global $cookie;
if (!empty($id_layered_filter))
{
$layeredFilter = Db::getInstance()->getRow('SELECT * FROM '._DB_PREFIX_.'layered_filter WHERE id_layered_filter = '.(int)$id_layered_filter);
if ($layeredFilter AND isset($layeredFilter['filters']) AND !empty($layeredFilter['filters']))
$layeredValues = unserialize($layeredFilter['filters']);
if (isset($layeredValues['categories']) AND sizeof($layeredValues['categories']))
foreach ($layeredValues['categories'] AS $id_category)
$categoryBox[] = (int)$id_category;
}
$attributeGroups = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT ag.id_attribute_group, ag.is_color_group, agl.name, COUNT(DISTINCT(a.id_attribute)) n
FROM '._DB_PREFIX_.'attribute_group ag
LEFT JOIN '._DB_PREFIX_.'attribute_group_lang agl ON (agl.id_attribute_group = ag.id_attribute_group)
LEFT JOIN '._DB_PREFIX_.'attribute a ON (a.id_attribute_group = ag.id_attribute_group)
'.(sizeof($categoryBox) ? '
LEFT JOIN '._DB_PREFIX_.'product_attribute_combination pac ON (pac.id_attribute = a.id_attribute)
LEFT JOIN '._DB_PREFIX_.'product_attribute pa ON (pa.id_product_attribute = pac.id_product_attribute)
LEFT JOIN '._DB_PREFIX_.'category_product cp ON (cp.id_product = pa.id_product)' : '').'
WHERE agl.id_lang = '.(int)$cookie->id_lang.
(sizeof($categoryBox) ? ' AND cp.id_category IN ('.implode(',', $categoryBox).')' : '').'
GROUP BY ag.id_attribute_group');
$features = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT fl.id_feature, fl.name, COUNT(DISTINCT(fv.id_feature_value)) n
FROM '._DB_PREFIX_.'feature_lang fl
LEFT JOIN '._DB_PREFIX_.'feature_value fv ON (fv.id_feature = fl.id_feature)
'.(sizeof($categoryBox) ? '
LEFT JOIN '._DB_PREFIX_.'feature_product fp ON (fp.id_feature = fv.id_feature)
LEFT JOIN '._DB_PREFIX_.'category_product cp ON (cp.id_product = fp.id_product)' : '').'
WHERE (fv.custom IS NULL OR fv.custom = 0) AND fl.id_lang = '.(int)$cookie->id_lang.
(sizeof($categoryBox) ? ' AND cp.id_category IN ('.implode(',', $categoryBox).')' : '').'
GROUP BY fl.id_feature');
$nElements = sizeof($attributeGroups) + sizeof($features) + 4;
if ($nElements > 20)
$nElements = 20;
$html = '
<div id="layered_container_right" style="width: 360px; float: left; margin-left: 20px; height: '.(int)(30 + $nElements * 38).'px; overflow-y: auto;">
<h3>'.$this->l('Available filters').' <span id="num_avail_filters">(0)</span></h3>
<ul id="all_filters"></ul>
<ul><li class="ui-state-default layered_right"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="checkbox" id="layered_selection_subcategories" name="layered_selection_subcategories" /> <span class="position"></span>'.$this->l('Sub-categories filter').'</li></ul>
<ul><li class="ui-state-default layered_right"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="checkbox" id="layered_selection_stock" name="layered_selection_stock" /> <span class="position"></span>'.$this->l('Product stock filter').'</li></ul>
<ul><li class="ui-state-default layered_right"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="checkbox" id="layered_selection_condition" name="layered_selection_condition" /> <span class="position"></span>'.$this->l('Product condition filter').'</li></ul>
<ul><li class="ui-state-default layered_right"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="checkbox" id="layered_selection_manufacturer" name="layered_selection_manufacturer" /> <span class="position"></span>'.$this->l('Product manufacturer filter').'</li></ul>
<ul><li class="ui-state-default layered_right"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="checkbox" id="layered_selection_weight_slider" name="layered_selection_weight_slider" /> <span class="position"></span>'.$this->l('Product weight filter (slider)').'</li></ul>';
if (sizeof($attributeGroups))
{
$html .= '<ul>';
foreach ($attributeGroups AS $attributeGroup)
$html .= '<li class="ui-state-default layered_right"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="checkbox" id="layered_selection_ag_'.(int)$attributeGroup['id_attribute_group'].'" name="layered_selection_ag_'.(int)$attributeGroup['id_attribute_group'].'" /> <span class="position"></span>'.$this->l('Attribute group:').' '.$attributeGroup['name'].' ('.(int)$attributeGroup['n'].' '.($attributeGroup['n'] > 1 ? $this->l('attributes') : $this->l('attribute')).')'.($attributeGroup['is_color_group'] ? ' <img src="../img/admin/color_swatch.png" alt="" title="'.$this->l('This group will allow user to select a color').'" />' : '').'</li>';
$html .= '</ul>';
}
if (sizeof($features))
{
$html .= '<ul>';
foreach ($features AS $feature)
$html .= '<li class="ui-state-default layered_right"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><input type="checkbox" id="layered_selection_feat_'.(int)$feature['id_feature'].'" name="layered_selection_feat_'.(int)$feature['id_feature'].'" /> <span class="position"></span>'.$this->l('Feature:').' '.$feature['name'].' ('.(int)$feature['n'].' '.($feature['n'] > 1 ? $this->l('values') : $this->l('value')).')</li>';
$html .= '</ul>';
}
$html .= '
</div>';
if (isset($layeredValues))
{
$html .= '
<script type="text/javascript">
//<![CDATA[
$(document).ready(function()
{
$(\'#selected_filters li\').remove();
';
foreach ($layeredValues AS $key => $layeredValue)
if ($key != 'categories')
$html .= '$(\'#'.$key.'\').click();'."\n";
if (isset($layeredValues['categories']) AND sizeof($layeredValues['categories']))
{
foreach ($layeredValues['categories'] AS $id_category)
$html .= '$(\'#categories-treeview\').find(\'input[name="categoryBox[]"][value='.(int)$id_category.']\').attr(\'checked\', \'checked\');'."\n";
$html .= '
updCatCounter();
$(\'#scope_1\').attr(\'checked\', \'\');
$(\'#scope_2\').attr(\'checked\', \'checked\');
';
}
else
$html .= '
$(\'#scope_2\').attr(\'checked\', \'\');
$(\'#scope_1\').attr(\'checked\', \'checked\');
';
$html .= '
$(\'#layered_tpl_name\').val(\''.addslashes($layeredFilter['name']).'\');
$(\'#id_layered_filter\').val(\''.(int)$layeredFilter['id_layered_filter'].'\')';
$html .= '
});
</script>';
}
return $html;
}
public function ajaxCall()
{
$context = Context::getContext();
@@ -759,12 +1255,12 @@ class BlockLayered extends Module
$context->smarty->assign('nb_products', $nbProducts);
$pagination_infos = array(
'pages_nb' => (int)($pages_nb),
'p' => (int)($p),
'n' => (int)($n),
'range' => (int)($range),
'start' => (int)($start),
'stop' => (int)($stop),
'nArray' => $nArray = (int)(Configuration::get('PS_PRODUCTS_PER_PAGE')) != 10 ? array((int)(Configuration::get('PS_PRODUCTS_PER_PAGE')), 10, 20, 50) : array(10, 20, 50)
'p' => (int)$p,
'n' => (int)$n,
'range' => (int)$range,
'start' => (int)$start,
'stop' => (int)$stop,
'nArray' => $nArray = (int)Configuration::get('PS_PRODUCTS_PER_PAGE') != 10 ? array((int)Configuration::get('PS_PRODUCTS_PER_PAGE'), 10, 20, 50) : array(10, 20, 50)
);
$context->smarty->assign($pagination_infos);
@@ -776,21 +1272,16 @@ class BlockLayered extends Module
'productList' => $context->smarty->fetch(_PS_THEME_DIR_.'product-list.tpl'),
'pagination' => $context->smarty->fetch(_PS_THEME_DIR_.'pagination.tpl')
));
// return '<div id="layered_ajax_column">'.$this->generateFiltersBlock($selectedFilters).'</div><div id="layered_ajax_products">'.$smarty->fetch(_PS_THEME_DIR_.'product-list.tpl').'</div>';
}
public function rebuildLayeredStructure()
{
@set_time_limit(0);
// setting the memory limit to 128M only if current is lower
/* Set memory limit to 128M only if current is lower */
$memory_limit = ini_get('memory_limit');
if ( substr($memory_limit,-1) != 'G'
AND ((substr($memory_limit,-1) == 'M' AND substr($memory_limit,0,-1) < 128)
OR is_numeric($memory_limit) AND (intval($memory_limit) < 131072))
)
{
if (substr($memory_limit,-1) != 'G' AND ((substr($memory_limit,-1) == 'M' AND substr($memory_limit,0,-1) < 128) OR is_numeric($memory_limit) AND (intval($memory_limit) < 131072)))
@ini_set('memory_limit','128M');
}
/* Delete and re-create the layered categories table */
Db::getInstance()->Execute('DROP TABLE IF EXISTS '._DB_PREFIX_.'layered_category');
@@ -803,27 +1294,31 @@ class BlockLayered extends Module
`position` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`id_layered_category`),
KEY `id_category` (`id_category`,`type`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;');
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;'); /* MyISAM + latin1 = Smaller/faster */
Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'layered_filter` (
`id_layered_filter` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(64) NOT NULL,
`filters` TEXT NULL,
`n_categories` INT(10) UNSIGNED NOT NULL,
`date_add` DATETIME NOT NULL)');
}
public function rebuildLayeredCache($productsIds = array(), $categoriesIds = array())
{
@set_time_limit(0);
// setting the memory limit to 128M only if current is lower
/* Set memory limit to 128M only if current is lower */
$memory_limit = ini_get('memory_limit');
if (substr($memory_limit,-1) != 'G'
AND ((substr($memory_limit,-1) == 'M' AND substr($memory_limit,0,-1) < 128)
OR is_numeric($memory_limit) AND (intval($memory_limit) < 131072))
)
{
@ini_set('memory_limit','129M');
}
if (substr($memory_limit,-1) != 'G' AND ((substr($memory_limit,-1) == 'M' AND substr($memory_limit,0,-1) < 128) OR is_numeric($memory_limit) AND (intval($memory_limit) < 131072)))
@ini_set('memory_limit','128M');
$db = Db::getInstance();
$db = Db::getInstance(_PS_USE_SQL_SLAVE_);
$nCategories = array();
$doneCategories = array();
$attributeGroups = Db::getInstance()->ExecuteS('
$attributeGroups = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT a.id_attribute, a.id_attribute_group
FROM '._DB_PREFIX_.'attribute a
LEFT JOIN '._DB_PREFIX_.'product_attribute_combination pac ON (pac.id_attribute = a.id_attribute)
@@ -837,7 +1332,7 @@ class BlockLayered extends Module
while ($row = $db->nextRow($attributeGroups))
$attributeGroupsById[(int)$row['id_attribute']] = (int)$row['id_attribute_group'];
$features = Db::getInstance()->ExecuteS('
$features = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT fv.id_feature_value, fv.id_feature
FROM '._DB_PREFIX_.'feature_value fv
LEFT JOIN '._DB_PREFIX_.'feature_product fp ON (fp.id_feature_value = fv.id_feature_value)
@@ -922,7 +1417,7 @@ class BlockLayered extends Module
$queryCategory .= '('.(int)$id_category.',NULL,\'weight\','.(int)$nCategories[(int)$id_category]++.'),';
$toInsert = true;
}
/*
/* Filter by price (dev in progress)
if (!isset($doneCategories[(int)$id_category]['p']))
{
$doneCategories[(int)$id_category]['p'] = true;
+5 -5
View File
@@ -77,21 +77,21 @@
<ul id="layered_{$filter.type}_{$filter.id_key}">
{if !isset($filter.slider)}
{foreach from=$filter.values key=id_value item=value}
<li{if $layered_use_checkboxes} class="nomargin"{/if}>
<li class="nomargin">
{if isset($filter.is_color_group) && $filter.is_color_group}
<input type="button" name="layered_{$filter.type_lite}_{$id_value}" rel="{$id_value}_{$filter.id_key}" id="layered_attribute_{$id_value}" {if !$value.nbr} value="X" disabled="disabled"{/if} style="background: {if isset($value.color)}{$value.color}{else}#CCC{/if}; margin-left: 0; width: 16px; height: 16px; padding:0; border: 1px solid {if isset($value.checked) && $value.checked}red{else}#666{/if};" />
{if isset($value.checked) && $value.checked}<input type="hidden" name="layered_{$filter.type_lite}_{$id_value}" value="{$id_value}" />{/if}
{else}
{if $layered_use_checkboxes}
<input type="checkbox" class="checkbox" name="layered_{$filter.type_lite}_{$id_value}" id="layered_{$filter.type_lite}{if $id_value || $filter.type == 'quantity'}_{$id_value}{/if}" value="{$id_value}{if $filter.id_key}_{$filter.id_key}{/if}"{if isset($value.checked)} checked="checked"{/if}{if !$value.nbr} disabled="disabled"{/if} />
{/if}
{/if}
<label for="layered_{$filter.type_lite}_{$id_value}"{if !$value.nbr} class="disabled"{else}{if isset($filter.is_color_group) && $filter.is_color_group} name="layered_{$filter.type_lite}_{$id_value}" class="layered_color" rel="{$id_value}_{$filter.id_key}"{/if}{/if}>{$value.name|escape:html:'UTF-8'}<span> ({$value.nbr})</span></label>
<label for="layered_{$filter.type_lite}_{$id_value}"{if !$value.nbr} class="disabled"{else}{if isset($filter.is_color_group) && $filter.is_color_group} name="layered_{$filter.type_lite}_{$id_value}" class="layered_color" rel="{$id_value}_{$filter.id_key}"{/if}{/if}>{$value.name|escape:html:'UTF-8'}{if $layered_show_qties}<span> ({$value.nbr})</span>{/if}</label>
</li>
{/foreach}
{else}
<label for="{$filter.type}">{l s='Range'} : </label><span id="layered_{$filter.type}_range"></span>
<label for="{$filter.type}">{l s='Range:'}</label> <span id="layered_{$filter.type}_range"></span>
<div style="margin: 6px 0 6px 6px; width: 93%;">
<div style="margin-top:5px;" class="layered_slider" id="layered_{$filter.type}_slider"></div>
</div>
<script type="text/javascript">
unit = '{$filter.unit}';
{literal}
+1 -1
View File
@@ -2,7 +2,7 @@
<module>
<name>blocklayered</name>
<displayName><![CDATA[Layered navigation block]]></displayName>
<version><![CDATA[1.3]]></version>
<version><![CDATA[1.4]]></version>
<description><![CDATA[Displays a block with layered navigation filters.]]></description>
<author><![CDATA[PrestaShop]]></author>
<tab><![CDATA[front_office_features]]></tab>
+55 -16
View File
@@ -5,31 +5,56 @@ $_MODULE = array();
$_MODULE['<{blocklayered}prestashop>blocklayered_84241e458cdd5162745500a59a3680f3'] = 'Bloc navigation à facettes';
$_MODULE['<{blocklayered}prestashop>blocklayered_2d08fa8e157fe3f1875402cbd98aee1b'] = 'Affiche un bloc avec les filtres de la navigation à facettes';
$_MODULE['<{blocklayered}prestashop>blocklayered_7ad3f384bcf30d783b5a6f6c810b4762'] = 'La base de données de la navigation à facettes à été initialisée avec succès';
$_MODULE['<{blocklayered}prestashop>blocklayered_817c37b9c1f5cd4a450dad384e63e6c7'] = 'Votre filtre';
$_MODULE['<{blocklayered}prestashop>blocklayered_3185cefd67b575e582063148e4f15860'] = 'a été mis à jour avec succès.';
$_MODULE['<{blocklayered}prestashop>blocklayered_7ccab4d8de5d6b9bb61e99c7bba343ab'] = 'a été ajouté avec succès.';
$_MODULE['<{blocklayered}prestashop>blocklayered_6e7db02664c13dd5b517a12eafab88b1'] = 'Bit.ly nom d\'utilisateur est vide';
$_MODULE['<{blocklayered}prestashop>blocklayered_f5da5c32121b39bb2100b9b63ccf4c4c'] = 'Bit.ly api_key est vide';
$_MODULE['<{blocklayered}prestashop>blocklayered_fe016d3b990c2a9dd72ab6b45892f2ae'] = 'Paramètres enregistrés avec succès';
$_MODULE['<{blocklayered}prestashop>blocklayered_bb291cb01196158549fba8f6fe636d4a'] = 'Paramètres non enregistré:';
$_MODULE['<{blocklayered}prestashop>blocklayered_4ad0f0fe31d93e0d8dd7a7fc69a72784'] = 'Modèle de filtres supprimé, catégories mises à jour (Modèle par défaut appliqué).';
$_MODULE['<{blocklayered}prestashop>blocklayered_91e77d047f2496b7ba8c9def96d03324'] = 'Modèle de filtres non trouvé';
$_MODULE['<{blocklayered}prestashop>blocklayered_09da2b6f1217055bb22caa6ea08d9b80'] = 'Navigation à facettes';
$_MODULE['<{blocklayered}prestashop>blocklayered_382a0cf3c7ea26e9c7d0642d6d0ec07d'] = 'Ce module est en version bêta et sera amélioré';
$_MODULE['<{blocklayered}prestashop>blocklayered_016d6031144c99f759b36c5e00c79e91'] = '10 améliorations à venir';
$_MODULE['<{blocklayered}prestashop>blocklayered_b77ae7b3f227f97fdbfbaee819c048d6'] = 'Rafraîchissement en temps réel de la table de cache';
$_MODULE['<{blocklayered}prestashop>blocklayered_3cd881c5805a5564b080022968081652'] = 'Filtres supplémentaires (par prix, par poids)';
$_MODULE['<{blocklayered}prestashop>blocklayered_f67587ba40eff59a15796352c9037ddf'] = 'Possibilité de gérer les filtres catégorie par catégorie dans la configuration du module';
$_MODULE['<{blocklayered}prestashop>blocklayered_559175435fec02f846564385b20b98e2'] = 'Possibilité de masquer les groupes sans valeurs, ou les valeurs correspondant à 0 produits';
$_MODULE['<{blocklayered}prestashop>blocklayered_abb461f7d4d8271a12ceead064d13cd0'] = 'Statistiques et analyses';
$_MODULE['<{blocklayered}prestashop>blocklayered_6af4dd46928a781eda42b940d3394ca6'] = 'Gestion du tri des produits et de la pagination';
$_MODULE['<{blocklayered}prestashop>blocklayered_b4ecb2bd1ea5153550669329db53277d'] = 'Ajout d\'une vérification sur la table category_group table';
$_MODULE['<{blocklayered}prestashop>blocklayered_d99bf479cc40101e28f1f0ba1bfb6150'] = 'Lien ré-écrits et construction de l\'URL en temps réel (possibilité de la transmettre à quelqu\'un)';
$_MODULE['<{blocklayered}prestashop>blocklayered_27c7b93d882068a1137a9350c7f1a132'] = 'Ajout d\'options de configuration';
$_MODULE['<{blocklayered}prestashop>blocklayered_fb8082696a8d7a40fa62ea0e89b18c32'] = 'Amélioration des performance';
$_MODULE['<{blocklayered}prestashop>blocklayered_a607dc3941415ecea04bb1eb8a978962'] = 'Modèles de filtres existants';
$_MODULE['<{blocklayered}prestashop>blocklayered_9923a3739235561cc50eb9446dc1771e'] = 'modèles de filtres sont configurés :';
$_MODULE['<{blocklayered}prestashop>blocklayered_7dce122004969d56ae2e0245cb754d35'] = 'Modifier';
$_MODULE['<{blocklayered}prestashop>blocklayered_d180b4e0681bba834c76b479590e1c1e'] = 'Supprimer le modele de filtre #';
$_MODULE['<{blocklayered}prestashop>blocklayered_d1457b72c3fb323a2671125aef3eab5d'] = ' ?';
$_MODULE['<{blocklayered}prestashop>blocklayered_f2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer';
$_MODULE['<{blocklayered}prestashop>blocklayered_058eeeba77f547f8a9a295a0efd4f6cd'] = 'Aucun modèle de filtre n\'a été trouvé.';
$_MODULE['<{blocklayered}prestashop>blocklayered_cb54e4c9b7712ca15c711aeacfabf0a2'] = 'Construisez vos propres modèles de filtre';
$_MODULE['<{blocklayered}prestashop>blocklayered_0ce4150f57948567deeaa58d0c367412'] = 'Etapte 1/3 - Choisissez vos catégories';
$_MODULE['<{blocklayered}prestashop>blocklayered_99cdd6365310333a594b16e5658eee5c'] = 'Utiliser ce modèle pour :';
$_MODULE['<{blocklayered}prestashop>blocklayered_62f5d708d6ad1fa1ddd9429a65cccbea'] = 'Toutes les catégories';
$_MODULE['<{blocklayered}prestashop>blocklayered_fe0619d5f4999e09c622e32da7e7566a'] = 'spécifiques';
$_MODULE['<{blocklayered}prestashop>blocklayered_b0b5ccb4a195a07fd3eed14affb8695f'] = 'Catégories';
$_MODULE['<{blocklayered}prestashop>blocklayered_ef7de3f485174ff47f061ad27d83d0ee'] = 'sélectionnée(s)';
$_MODULE['<{blocklayered}prestashop>blocklayered_64646db703ca003a37bd1e73977a3a4d'] = 'Catégories utilisant ce modèle';
$_MODULE['<{blocklayered}prestashop>blocklayered_d758a9754eb9f36db05c22ad0c77e38e'] = 'Sélectionnez une ou plusieurs catégories utilisant ce modèle';
$_MODULE['<{blocklayered}prestashop>blocklayered_5965d2ce192837f00d743d8a674382c1'] = 'Cliquez sur \"Sauvegarder cette sélection\" ou fermez la fenêtre pour sauvegarder';
$_MODULE['<{blocklayered}prestashop>blocklayered_8cf04a9734132302f96da8e113e80ce5'] = 'Accueil';
$_MODULE['<{blocklayered}prestashop>blocklayered_72dd03f11489ff6f604a4eb57c957202'] = 'Sauvegarder cette sélection';
$_MODULE['<{blocklayered}prestashop>blocklayered_2e527847e8c785f3fd99651f64006798'] = 'Etape 2/3 - Sélectionnez vos filtres';
$_MODULE['<{blocklayered}prestashop>blocklayered_8524de963f07201e5c086830d370797f'] = 'Chargement...';
$_MODULE['<{blocklayered}prestashop>blocklayered_74a6a547d86659933a210680efb6e6d1'] = 'Etape 3/3 - Donnez un nom à votre modèle';
$_MODULE['<{blocklayered}prestashop>blocklayered_f8263d99054a4cdb3428196f078fa212'] = 'Nom du modèle :';
$_MODULE['<{blocklayered}prestashop>blocklayered_b96ce93c61b856a0163c116820646b19'] = 'Mon modèle';
$_MODULE['<{blocklayered}prestashop>blocklayered_5f514b580ea1b6bdb681916bc1deb207'] = 'uniquement pour le retrouver facilement';
$_MODULE['<{blocklayered}prestashop>blocklayered_ef1094d9826e98f5417e0a37f1742133'] = 'Sauvegarder ce modèle de filtres';
$_MODULE['<{blocklayered}prestashop>blocklayered_7263de0a10ad25dfdadc44791c44fb1f'] = 'Initialisation du cache';
$_MODULE['<{blocklayered}prestashop>blocklayered_d15ce73cbadfe1e806ee7abd08a7fe4d'] = 'Avant d\'utiliser ce module pour la première fois, vous devez initialiser le cache';
$_MODULE['<{blocklayered}prestashop>blocklayered_2875534393f5ef32e42d92c30e9dfda5'] = 'Attention : cela peut prendre plusieurs minutes.';
$_MODULE['<{blocklayered}prestashop>blocklayered_15aa842a19af51c2cf1ec631cdf8337a'] = 'Si vous ne le faites pas, cette table de cache risque de grossir rapidement (et d\'être moins performante), et les nouveaux choix (attributs, caractéristiques) ne seront pas présentés à vos visiteurs.';
$_MODULE['<{blocklayered}prestashop>blocklayered_c64a069750ff8924b029b2206cabf3b2'] = 'Initialiser la base de données de la navigation à facettes';
$_MODULE['<{blocklayered}prestashop>blocklayered_254f642527b45bc260048e30704edb39'] = 'Configuration';
$_MODULE['<{blocklayered}prestashop>blocklayered_32cd1899a36fd598df5a4e417bc6339a'] = 'Activer le partage d\'url';
$_MODULE['<{blocklayered}prestashop>blocklayered_05ce875b6f1cb8477077f33bad5e9325'] = 'En activant cette option, vos visiteurs peuvent partager l\'URL de leur recherche';
$_MODULE['<{blocklayered}prestashop>blocklayered_054b4f3ea543c990f6b125f41af6ebf7'] = 'Option';
$_MODULE['<{blocklayered}prestashop>blocklayered_689202409e48743b914713f96d93947c'] = 'Valeur';
$_MODULE['<{blocklayered}prestashop>blocklayered_deb2e405c1ee047002c6963e6c963d9e'] = 'Masquer les filtres pour lesquels aucun produit ne correspond';
$_MODULE['<{blocklayered}prestashop>blocklayered_93cba07454f06a4a960172bbd6e2a435'] = 'Oui';
$_MODULE['<{blocklayered}prestashop>blocklayered_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non';
$_MODULE['<{blocklayered}prestashop>blocklayered_8531c73de81b9ed94322dda7cf947daa'] = 'Afficher le nombre de produits qui correspondent';
$_MODULE['<{blocklayered}prestashop>blocklayered_01f7d5dca78cb0a2c6ad8f3a3fe64883'] = 'Utiliser le système de modèle de filtres';
$_MODULE['<{blocklayered}prestashop>blocklayered_8b6c3aa61f1e15caefb66e68e7e64924'] = 'Autoriser les clients à partager des URLs';
$_MODULE['<{blocklayered}prestashop>blocklayered_abc07e5243a77d8bebcadd90fca23d74'] = 'Pour offrir à vos clients des url courtes, créer un compte sur bit.ly, puis copiez et collez login et clé API.';
$_MODULE['<{blocklayered}prestashop>blocklayered_d67850bd126f070221dcfd5fa6317043'] = 'Inscrivez-vous';
$_MODULE['<{blocklayered}prestashop>blocklayered_68fd0151074a3dba747f94b2fd8cf5f4'] = 'Connectez-vous bit.ly';
@@ -45,10 +70,24 @@ $_MODULE['<{blocklayered}prestashop>blocklayered_fcebe56087b9373f15514831184fa57
$_MODULE['<{blocklayered}prestashop>blocklayered_2d25c72c1b18e562f6654fff8e11711e'] = 'Non disponible';
$_MODULE['<{blocklayered}prestashop>blocklayered_c0bd7654d5b278e65f21cf4e9153fdb4'] = 'Fabricant';
$_MODULE['<{blocklayered}prestashop>blocklayered_8c489d0946f66d17d73f26366a4bf620'] = 'Poids';
$_MODULE['<{blocklayered}prestashop>blocklayered_3488a51eb7f723d65daeff912e69b177'] = 'Filres sélectionnés';
$_MODULE['<{blocklayered}prestashop>blocklayered_cf3cd81b30d4c4fd996ae5374fe656da'] = 'Aucun filtre sélectionné pour le moment.';
$_MODULE['<{blocklayered}prestashop>blocklayered_308edffd52afae39cc6277e246ec5df8'] = 'Filtres disponibles';
$_MODULE['<{blocklayered}prestashop>blocklayered_cfbc982f8fb7a0cc3abb3c85c795ab41'] = 'Filtre sous-catégories';
$_MODULE['<{blocklayered}prestashop>blocklayered_cd50ff1c5332f9920acf8173c4aab425'] = 'Filtre stock du produit';
$_MODULE['<{blocklayered}prestashop>blocklayered_048c1728a0a6cf36f56c9dcdd23d8a14'] = 'Filtre état du produit';
$_MODULE['<{blocklayered}prestashop>blocklayered_02ecc2cbb645a2b859deba6907334cc8'] = 'Filtre fabriquant du produit';
$_MODULE['<{blocklayered}prestashop>blocklayered_cc72ed9534a489b5d2e5882735bf1364'] = 'Filtre poids du produit (slider)';
$_MODULE['<{blocklayered}prestashop>blocklayered_d73c57be7aad115d20508215e8ea9951'] = 'Groupe d\'attributs :';
$_MODULE['<{blocklayered}prestashop>blocklayered_736b91750e516139acc13c5eb6564f92'] = 'attributs';
$_MODULE['<{blocklayered}prestashop>blocklayered_d2eb444e35c0a71f0a85df8194acb5b6'] = 'attribut';
$_MODULE['<{blocklayered}prestashop>blocklayered_ee59f74265cd7f85d0ad30206a1a89b0'] = 'Ce groupe permet aux clients de choisir une couleur';
$_MODULE['<{blocklayered}prestashop>blocklayered_b07e7131a6007b2a1a765bdd0e1e4894'] = 'Caractéristique :';
$_MODULE['<{blocklayered}prestashop>blocklayered_f09cc7ee3a9a93273f4b80601cafb00c'] = 'valeurs';
$_MODULE['<{blocklayered}prestashop>blocklayered_2063c1608d6e0baf80249c42e2be5804'] = 'valeur';
$_MODULE['<{blocklayered}prestashop>blocklayered_c32516babc5b6c47eb8ce1bfc223253c'] = 'Catalogue';
$_MODULE['<{blocklayered}prestashop>blocklayered_aa3c0ac7e57fcf0e2e25d270ff502b6e'] = 'Partagez votre recherche:';
$_MODULE['<{blocklayered}prestashop>blocklayered_1262d1b9fbffb3a8e85ac9e4b449e989'] = 'Filtres actifs :';
$_MODULE['<{blocklayered}prestashop>blocklayered_853ae90f0351324bd73ea615e6487517'] = ' :';
$_MODULE['<{blocklayered}prestashop>blocklayered_ea4788705e6873b424c65e91c2846b19'] = 'Annuler';
$_MODULE['<{blocklayered}prestashop>blocklayered_87ba2ecc8b6915e8bd6f5089918229fd'] = 'Tranche';
$_MODULE['<{blocklayered}prestashop>blocklayered_8524de963f07201e5c086830d370797f'] = 'Chargement...';
$_MODULE['<{blocklayered}prestashop>blocklayered_75954a3c6f2ea54cb9dff249b6b5e8e6'] = 'Tranche';
+2 -10
View File
@@ -30,8 +30,6 @@ require_once(dirname(__FILE__).'/../../init.php');
require_once(dirname(__FILE__).'/WishList.php');
require_once(dirname(__FILE__).'/blockwishlist.php');
$errors = array();
$action = Tools::getValue('action');
$add = (!strcmp($action, 'add') ? 1 : 0);
$delete = (!strcmp($action, 'delete') ? 1 : 0);
@@ -42,7 +40,7 @@ $id_product_attribute = (int)(Tools::getValue('id_product_attribute'));
if (Configuration::get('PS_TOKEN_ENABLE') == 1 AND
strcmp(Tools::getToken(false), Tools::getValue('token')) AND
$cookie->isLogged() === true)
$errors[] = Tools::displayError('Invalid token');
echo Tools::displayError('Invalid token');
if ($cookie->isLogged())
{
if ($id_wishlist AND WishList::exists($id_wishlist, $cookie->id_customer) === true)
@@ -78,10 +76,4 @@ if ($cookie->isLogged())
echo Tools::displayError('No template found');
}
else
$errors[] = Tools::displayError('You must be logged in to manage your wishlist.');
if (sizeof($errors))
{
$smarty->assign('errors', $errors);
$smarty->display(_PS_THEME_DIR_.'errors.tpl');
}
echo Tools::displayError('You must be logged in to manage your wishlist.');
+12 -1
View File
@@ -33,6 +33,17 @@ $cashOnDelivery = new CashOnDelivery();
if ($cart->id_customer == 0 OR $cart->id_address_delivery == 0 OR $cart->id_address_invoice == 0 OR !$cashOnDelivery->active)
Tools::redirect('index.php?controller=order&step=1');
// Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
$authorized = false;
foreach (Module::getPaymentModules() as $module)
if ($module['name'] == 'cashondelivery')
{
$authorized = true;
break;
}
if (!$authorized)
die(Tools::displayError('This payment method is not available.'));
$customer = new Customer((int)$cart->id_customer);
if (!Validate::isLoadedObject($customer))
@@ -43,7 +54,7 @@ if (Tools::getValue('confirm'))
{
$customer = new Customer((int)$cart->id_customer);
$total = $cart->getOrderTotal(true, Cart::BOTH);
$cashOnDelivery->validateOrder((int)$cart->id, _PS_OS_PREPARATION_, $total, $cashOnDelivery->displayName, NULL, array(), NULL, false, $customer->secure_key);
$cashOnDelivery->validateOrder((int)$cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $cashOnDelivery->displayName, NULL, array(), NULL, false, $customer->secure_key);
$order = new Order((int)$cashOnDelivery->currentOrder);
Tools::redirect('index.php?controller=order-confirmation&key='.$customer->secure_key.'&id_cart='.(int)($cart->id).'&id_module='.(int)$cashOnDelivery->id.'&id_order='.(int)$cashOnDelivery->currentOrder);
}
+1 -1
View File
@@ -453,7 +453,7 @@ abstract class PrepaidServices extends PaymentModule
else
$order->total_paid_real += $amount;
$os = _PS_OS_PAYMENT_;
$os = Configuration::get('PS_OS_PAYMENT');
if ($order->total_paid != $order->total_paid_real)
$os = Configuration::get($this->prefix.'ORDER_STATE_PART_ID');
+6 -6
View File
@@ -42,7 +42,7 @@ if (Tools::getValue('hash') != md5(Configuration::get($module->prefix.'SALT') +
die(Tools::displayError());
$result = $module->getDispositionState((int)($cart->id));
$state = _PS_OS_ERROR_;
$state = Configuration::get('PS_OS_ERROR');
$disposition = Disposition::getByCartId((int)($cart->id));
@@ -53,7 +53,7 @@ if ($result[0] == 0)
if ($state == PrepaidServicesAPI::DISPOSITION_DISPOSED || $state == PrepaidServicesAPI::DISPOSITION_DEBITED)
{
$state = _PS_OS_PAYMENT_;
$state = Configuration::get('PS_OS_PAYMENT');
$message .= $module->getL('disposition_created');
}
else
@@ -66,7 +66,7 @@ else
$message .= 'payment_error'.' '.$result[2];
}
if ($state != _PS_OS_ERROR_)
if ($state != Configuration::get('PS_OS_ERROR'))
{
$state = (int)(Configuration::get($module->prefix.'ORDER_STATE_ID'));
@@ -78,12 +78,12 @@ if ($state != _PS_OS_ERROR_)
if ($result[0] != 0)
{
$message .= $module->getL('payment_error').' '.$result[2];
$state = _PS_OS_ERROR_;
$state = Configuration::get('PS_OS_ERROR');
}
else
{
$message .= $module->getL('payment_accepted');
$state = _PS_OS_PAYMENT_;
$state = Configuration::get('PS_OS_PAYMENT');
}
}
}
@@ -91,7 +91,7 @@ if ($state != _PS_OS_ERROR_)
$module->validateOrder((int)($cart->id), $state, (float)($cart->getOrderTotal(true, Cart::BOTH)), $module->displayName, $message, NULL, (int)($currency->id), false, $cart->secure_key);
if ($state == _PS_OS_ERROR_)
if ($state == Configuration::get('PS_OS_ERROR'))
{
include(dirname(__FILE__).'/../../header.php');
echo $message;
+1 -1
View File
@@ -194,7 +194,7 @@ class Cheque extends PaymentModule
$context = Context::getContext();
$state = $params['objOrder']->getCurrentState();
if ($state == _PS_OS_CHEQUE_ OR $state == _PS_OS_OUTOFSTOCK_)
if ($state == Configuration::get('PS_OS_CHEQUE') OR $state == Configuration::get('PS_OS_OUTOFSTOCK'))
$context->smarty->assign(array(
'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false),
'chequeName' => $this->chequeName,
+12 -1
View File
@@ -34,6 +34,17 @@ $cheque = new Cheque();
if ($cart->id_customer == 0 OR $cart->id_address_delivery == 0 OR $cart->id_address_invoice == 0 OR !$cheque->active)
Tools::redirect('index.php?controller=order&step=1');
// Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
$authorized = false;
foreach (Module::getPaymentModules() as $module)
if ($module['name'] == 'cheque')
{
$authorized = true;
break;
}
if (!$authorized)
die(Tools::displayError('This payment method is not available.'));
$customer = new Customer((int)$cart->id_customer);
if (!Validate::isLoadedObject($customer))
@@ -47,7 +58,7 @@ $mailVars = array(
'{cheque_address}' => Configuration::get('CHEQUE_ADDRESS'),
'{cheque_address_html}' => str_replace("\n", '<br />', Configuration::get('CHEQUE_ADDRESS')));
$cheque->validateOrder((int)$cart->id, _PS_OS_CHEQUE_, $total, $cheque->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key);
$cheque->validateOrder((int)$cart->id, Configuration::get('PS_OS_CHEQUE'), $total, $cheque->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key);
Tools::redirect('index.php?controller=order-confirmation&id_cart='.(int)($cart->id).'&id_module='.(int)($cheque->id).'&id_order='.$cheque->currentOrder.'&key='.$customer->secure_key);
+2 -2
View File
@@ -41,7 +41,7 @@ if (count($_POST))
$message .= $error."\n";
$message = nl2br(strip_tags($message));
if ($valid_order === true)
$obj_dibs->validateOrder((int)$posted_values['orderid'], _PS_OS_PAYMENT_, (float)((int)$posted_values['amount'] / 100), $obj_dibs->displayName, $message, array(), NULL, false, $secure_cart[2]);
$obj_dibs->validateOrder((int)$posted_values['orderid'], Configuration::get('PS_OS_PAYMENT'), (float)((int)$posted_values['amount'] / 100), $obj_dibs->displayName, $message, array(), NULL, false, $secure_cart[2]);
if ($valid_order === false)
$obj_dibs->validateOrder((int)$posted_values['orderid'], _PS_OS_ERROR_, 0, $obj_dibs->displayName, $message, array(), NULL, false, $secure_cart[2]);
$obj_dibs->validateOrder((int)$posted_values['orderid'], Configuration::get('PS_OS_ERROR'), 0, $obj_dibs->displayName, $message, array(), NULL, false, $secure_cart[2]);
}
+1 -1
View File
@@ -370,7 +370,7 @@ class Ebay extends Module
// Validate order
$paiement = new eBayPayment();
$paiement->validateOrder(intval($cartAdd->id), _PS_OS_PAYMENT_, floatval($cartAdd->getOrderTotal(true, 3)), 'Paypal eBay', NULL, array(), intval($cartAdd->id_currency));
$paiement->validateOrder(intval($cartAdd->id), Configuration::get('PS_OS_PAYMENT'), floatval($cartAdd->getOrderTotal(true, 3)), 'Paypal eBay', NULL, array(), intval($cartAdd->id_currency));
$id_order = $paiement->currentOrder;
// Fix on sending e-mail
+4 -4
View File
@@ -384,11 +384,11 @@ class Fianetfraud extends Module
$conf = Configuration::getMultiple(array('SAC_PRODUCTION', 'PS_SAC_ID_FRAUD', 'SAC_SITEID', 'SAC_LOGIN', 'SAC_PASSWORD'));
if ($params['newOrderStatus']->id == Configuration::get('SAC_ID_FRAUD'))
$order_status = 2;
elseif ($params['newOrderStatus']->id == _PS_OS_DELIVERED_)
elseif ($params['newOrderStatus']->id == Configuration::get('PS_OS_DELIVERED'))
$order_status = 1;
elseif ($params['newOrderStatus']->id == _PS_OS_CANCELED_)
elseif ($params['newOrderStatus']->id == Configuration::get('PS_OS_CANCELED'))
$order_status = 2;
elseif ($params['newOrderStatus']->id == _PS_OS_REFUND_)
elseif ($params['newOrderStatus']->id == Configuration::get('PS_OS_REFUND'))
$order_status = 6;
if ($order_status != false)
return file_get_contents('https://secure.fia-net.com/'.($conf['SAC_PRODUCTION'] ? 'fscreener' : 'pprod').'/engine/delivery.cgi?SiteID='.$conf['SAC_SITEID'].'&Pwd='.urlencode($conf['SAC_PASSWORD']).'&RefID='.(int)$params['id_order'].'&Status='.$order_status);
@@ -601,7 +601,7 @@ class Fianetfraud extends Module
{
$orderHistory = new OrderHistory();
$orderHistory->id_order = (int)($row['refid']);
$orderHistory->id_order_state = _PS_OS_PAYMENT_;
$orderHistory->id_order_state = Configuration::get('PS_OS_PAYMENT');
$orderHistory->save();
}
return true;
+1 -1
View File
@@ -97,7 +97,7 @@ switch ($root) {
unset($cart);
$orderTotal = (float)($data[$root]['order-total']['VALUE']);
$gcheckout->validateOrder((int)$secure_cart[0], _PS_OS_PAYMENT_, (float)$orderTotal,
$gcheckout->validateOrder((int)$secure_cart[0], Configuration::get('PS_OS_PAYMENT'), (float)$orderTotal,
$gcheckout->displayName, NULL, array(), NULL, false, $secure_cart[1]);
$Gresponse->SendAck();
break;
+3 -3
View File
@@ -236,7 +236,7 @@ class Hipay extends PaymentModule
{
/* Paiement capturé sur Hipay = Paiement accepté sur Prestashop */
$orderMessage = $operation.': '.$status.'\ndate: '.$date.' '.$time.'\ntransaction: '.$transid.'\namount: '.(float)$amount.' '.$currency.'\nid_cart: '.(int)$id_cart;
$this->validateOrder((int)$id_cart, _PS_OS_PAYMENT_, (float)$amount, $this->displayName, $orderMessage, array(), NULL, false, Tools::getValue('token'));
$this->validateOrder((int)$id_cart, Configuration::get('PS_OS_PAYMENT'), (float)$amount, $this->displayName, $orderMessage, array(), NULL, false, Tools::getValue('token'));
}
elseif (trim($operation) == 'refund' AND trim(strtolower($status)) == 'ok')
{
@@ -245,12 +245,12 @@ class Hipay extends PaymentModule
die(Tools::displayError());
$order = new Order((int)($id_order));
if (!$order->valid OR $order->getCurrentState() === _PS_OS_REFUND_)
if (!$order->valid OR $order->getCurrentState() === Configuration::get('PS_OS_REFUND'))
die(Tools::displayError());
$orderHistory = new OrderHistory();
$orderHistory->id_order = (int)($order->id);
$orderHistory->changeIdOrderState((int)(_PS_OS_REFUND_), (int)($id_order));
$orderHistory->changeIdOrderState((int)(Configuration::get('PS_OS_REFUND')), (int)($id_order));
$orderHistory->addWithemail();
}
}
+2 -2
View File
@@ -71,8 +71,8 @@ class LoyaltyStateModule extends ObjectModel
$languages = Language::getLanguages();
$defaultTranslations = array('default' => array('id_loyalty_state' => (int)LoyaltyStateModule::getDefaultId(), 'default' => $loyaltyModule->getL('Awaiting validation'), 'en' => 'Awaiting validation', 'fr' => 'En attente de validation'));
$defaultTranslations['validated'] = array('id_loyalty_state' => (int)LoyaltyStateModule::getValidationId(), 'id_order_state' => _PS_OS_DELIVERED_, 'default' => $loyaltyModule->getL('Available'), 'en' => 'Available', 'fr' => 'Disponible');
$defaultTranslations['cancelled'] = array('id_loyalty_state' => (int)LoyaltyStateModule::getCancelId(), 'id_order_state' => _PS_OS_CANCELED_, 'default' => $loyaltyModule->getL('Cancelled'), 'en' => 'Cancelled', 'fr' => 'Annulés');
$defaultTranslations['validated'] = array('id_loyalty_state' => (int)LoyaltyStateModule::getValidationId(), 'id_order_state' => Configuration::get('PS_OS_DELIVERED'), 'default' => $loyaltyModule->getL('Available'), 'en' => 'Available', 'fr' => 'Disponible');
$defaultTranslations['cancelled'] = array('id_loyalty_state' => (int)LoyaltyStateModule::getCancelId(), 'id_order_state' => Configuration::get('PS_OS_CANCELED'), 'default' => $loyaltyModule->getL('Cancelled'), 'en' => 'Cancelled', 'fr' => 'Annulés');
$defaultTranslations['converted'] = array('id_loyalty_state' => (int)LoyaltyStateModule::getConvertId(), 'default' => $loyaltyModule->getL('Already converted'), 'en' => 'Already converted', 'fr' => 'Déjà convertis');
$defaultTranslations['none_award'] = array('id_loyalty_state' => (int)LoyaltyStateModule::getNoneAwardId(), 'default' => $loyaltyModule->getL('Unavailable on discounts'), 'en' => 'Unavailable on discounts', 'fr' => 'Non disponbile sur produits remisés');
+12 -13
View File
@@ -324,20 +324,19 @@ class Loyalty extends Module
</div>
<div class="clear"></div>
<label>'.$this->l('Vouchers created by the loyalty system can be used in the following categories :').'</label>';
$html .= '<table cellspacing="0" cellpadding="0" class="table">
<tr>
<th><input type="checkbox" name="checkme" class="noborder" onclick="checkDelBoxes(this.form, \'categoryBox[]\', this.checked)" /></th>
<th>'.$this->l('ID').'</th>
<th style="width: 400px">'.$this->l('Name').'</th>
</tr>';
$index = explode(',', Configuration::get('PS_LOYALTY_VOUCHER_CATEGORY'));
$indexedCategories = isset($_POST['categoryBox']) ? $_POST['categoryBox'] : array();
foreach ($indexedCategories AS $k => $row)
$index[] = (int)$row['id_category'];
$html .= $this->recurseCategoryForInclude((int)(Tools::getValue($this->identifier)), $index, $categories, $categories[0][1], 1, NULL);
$html .= ' </table>
$indexedCategories = isset($_POST['categoryBox']) ? $_POST['categoryBox'] : $index;
// Translations are not automatic for the moment ;)
$trads = array(
'Home' => $this->l('Home'),
'selected' => $this->l('selected'),
'Collapse All' => $this->l('Collapse All'),
'Expand All' => $this->l('Expand All'),
'Check All' => $this->l('Check All'),
'Uncheck All' => $this->l('Uncheck All')
);
$html .= '<div class="margin-form">'.Helper::renderAdminCategorieTree($trads, $indexedCategories).'</div>';
$html .= '
<p style="padding-left:200px;">'.$this->l('Mark the box(es) of categories in which loyalty vouchers are usable.').'</p>
<div class="clear"></div>
<h3 style="margin-top:20px">'.$this->l('Loyalty points progression').'</h3>
+10
View File
@@ -189,6 +189,16 @@ class MailAlerts extends Module
'{firstname}' => $customer->firstname,
'{lastname}' => $customer->lastname,
'{email}' => $customer->email,
'{delivery_block_txt}' => $this->_getFormatedAddress($delivery, "\n"),
'{invoice_block_txt}' => $this->_getFormatedAddress($invoice, "\n"),
'{delivery_block_html}' => $this->_getFormatedAddress($delivery, "<br />",
array(
'firstname' => '<span style="color:#DB3484; font-weight:bold;">%s</span>',
'lastname' => '<span style="color:#DB3484; font-weight:bold;">%s</span>')),
'{invoice_block_html}' => $this->_getFormatedAddress($invoice, "<br />",
array(
'firstname' => '<span style="color:#DB3484; font-weight:bold;">%s</span>',
'lastname' => '<span style="color:#DB3484; font-weight:bold;">%s</span>')),
'{delivery_company}' => $delivery->company,
'{delivery_firstname}' => $delivery->firstname,
'{delivery_lastname}' => $delivery->lastname,
@@ -412,7 +412,7 @@ class MRCreateTickets implements IMondialRelayWSMethod
$history = new OrderHistory();
$history->id_order = (int)($params['NDossier']);
$history->changeIdOrderState(_PS_OS_SHIPPING_, (int)($params['NDossier']));
$history->changeIdOrderState(Configuration::get('PS_OS_SHIPPING'), (int)($params['NDossier']));
$history->id_employee = (int)($cookie->id_employee);
$history->addWithemail(true, $templateVars);
+2 -2
View File
@@ -54,7 +54,7 @@ foreach ($expeditions as $expedition)
{
if ($expedition['id_order'] == NULL)
continue;
if (OrderHistory::getLastOrderState((int)($expedition['id_order']))->id == _PS_OS_DELIVERED_)
if (OrderHistory::getLastOrderState((int)($expedition['id_order']))->id == Configuration::get('PS_OS_DELIVERED'))
continue;
$params['Expedition'] = $expedition['exp_number'];
$params['Security'] = strtoupper(md5($params['Enseigne'].$params['Expedition'].'FR'.Configuration::get('MR_KEY_WEBSERVICE')));
@@ -70,7 +70,7 @@ foreach ($expeditions as $expedition)
{
$history = new OrderHistory();
$history->id_order = (int)($expedition['id_order']);
$history->changeIdOrderState((int)(_PS_OS_DELIVERED_), (int)($expedition['id_order']));
$history->changeIdOrderState((int)(Configuration::get('PS_OS_DELIVERED')), (int)($expedition['id_order']));
$history->addWithemail();
}
}
+1 -1
View File
@@ -16,9 +16,9 @@ $_MODULE['<{moneybookers}prestashop>moneybookers_6861a58e2be4956b3f2fd6420fe6c28
$_MODULE['<{moneybookers}prestashop>moneybookers_a356736cbcf740f8648d71067fca090d'] = 'Akzeptiert Zahlungen per Moneybookers';
$_MODULE['<{moneybookers}prestashop>moneybookers_fa214007826415a21a8456e3e09f999d'] = 'Sie sind sicher, dass Sie Ihre Daten löschen wollen?';
$_MODULE['<{moneybookers}prestashop>moneybookers_088b74050a381d98fca38d5990b097be'] = 'Sie nutzen zur Zeit die Standard-E-Mail-Adresse von Moneybookers, Sie müssen Ihre eigene E-Mail-Adresse verwenden';
$_MODULE['<{moneybookers}prestashop>moneybookers_87ef564ed1574eda7e77b4012eef0b85'] = 'Unmöglich,den Aktivierungs-Server zu kontaktieren, bitte versuchen Sie es später';
$_MODULE['<{moneybookers}prestashop>moneybookers_b863542eebcb27fa230b647b5dd07819'] = 'Konto-Bestätigung fehlgeschlagen, Ihre E-Mail könnte falsch sein';
$_MODULE['<{moneybookers}prestashop>moneybookers_d70c5b5767846906e0abe68498db887b'] = 'E-Mail-Aktivierung erfolgreich, Sie können nun Ihr Kennwort bestâtigen';
$_MODULE['<{moneybookers}prestashop>moneybookers_87ef564ed1574eda7e77b4012eef0b85'] = 'Unmöglich,den Aktivierungs-Server zu kontaktieren, bitte versuchen Sie es später';
$_MODULE['<{moneybookers}prestashop>moneybookers_7757ea03f2a0893e36c7916a2ad07ef8'] = 'Das E-Mail-Feld ist erforderlich';
$_MODULE['<{moneybookers}prestashop>moneybookers_aa1c444c2ee2f620d5b349fedfa68ba2'] = 'Kennwortbestätigung fehlgeschlagen, max. Versuchszahl überschritten (3 pro Stunde)';
$_MODULE['<{moneybookers}prestashop>moneybookers_cdbef58d093e0ff38e13686a669e9fee'] = 'Kennwortbestätigung fehlgeschlagen, Ihr Kennwort könnte falsch sein';
+1 -1
View File
@@ -15,9 +15,9 @@ $_MODULE['<{moneybookers}prestashop>moneybookers_6861a58e2be4956b3f2fd6420fe6c28
$_MODULE['<{moneybookers}prestashop>moneybookers_a356736cbcf740f8648d71067fca090d'] = 'Acepta pagos por Moneybookers';
$_MODULE['<{moneybookers}prestashop>moneybookers_fa214007826415a21a8456e3e09f999d'] = '¿Está seguro de que quiere eliminar sus datos?';
$_MODULE['<{moneybookers}prestashop>moneybookers_088b74050a381d98fca38d5990b097be'] = 'Actualmente utiliza la dirección por defecto del módulo Moneybookers. Debe utilizar sus parámetros.';
$_MODULE['<{moneybookers}prestashop>moneybookers_87ef564ed1574eda7e77b4012eef0b85'] = 'Imposible contactar con el servidor de activación, por favor inténtelo más tarde';
$_MODULE['<{moneybookers}prestashop>moneybookers_b863542eebcb27fa230b647b5dd07819'] = 'Error durante la validación de la cuenta, su correo electrónico podría estar equivocado';
$_MODULE['<{moneybookers}prestashop>moneybookers_d70c5b5767846906e0abe68498db887b'] = 'Activación correcta de su dirección email, ya puede validar su palabra secreta';
$_MODULE['<{moneybookers}prestashop>moneybookers_87ef564ed1574eda7e77b4012eef0b85'] = 'Imposible contactar con el servidor de activación, por favor inténtelo más tarde';
$_MODULE['<{moneybookers}prestashop>moneybookers_7757ea03f2a0893e36c7916a2ad07ef8'] = 'El campo email es obligatorio';
$_MODULE['<{moneybookers}prestashop>moneybookers_aa1c444c2ee2f620d5b349fedfa68ba2'] = 'Error durante la validación de su palabra secreta, ha sobrepasado el número máximo de intentos (3 por hora)';
$_MODULE['<{moneybookers}prestashop>moneybookers_cdbef58d093e0ff38e13686a669e9fee'] = 'Error durante la validación de la palabra secreta, su palabra secreta podría estar equivocada';
+10 -1
View File
@@ -15,19 +15,28 @@ $_MODULE['<{moneybookers}prestashop>moneybookers_6861a58e2be4956b3f2fd6420fe6c28
$_MODULE['<{moneybookers}prestashop>moneybookers_a356736cbcf740f8648d71067fca090d'] = 'Acceptez des paiements de façon sécurisée par cartes bancaires (Visa, MasterCard, CB, JCB, Amex) , par virement bancaire et par eWallet avec Moneybookers/Skrill';
$_MODULE['<{moneybookers}prestashop>moneybookers_fa214007826415a21a8456e3e09f999d'] = 'Etes-vous sûr de vouloir supprimer vos paramètres ?';
$_MODULE['<{moneybookers}prestashop>moneybookers_088b74050a381d98fca38d5990b097be'] = 'Vous utilisez actuellement l\'adresse e-mail par défaut du module Moneybookers, vous devez utiliser vos paramètres.';
$_MODULE['<{moneybookers}prestashop>moneybookers_87ef564ed1574eda7e77b4012eef0b85'] = 'Serveur d\'activation injoignable, merci d\'essayer ultérieurement';
$_MODULE['<{moneybookers}prestashop>moneybookers_7593ded970377fe25371c952eb944770'] = 'Impossibilité de récupérer les données distantes';
$_MODULE['<{moneybookers}prestashop>moneybookers_b863542eebcb27fa230b647b5dd07819'] = 'Erreur lors de la validation du compte, votre adresse e-mail est peut être incorrecte';
$_MODULE['<{moneybookers}prestashop>moneybookers_d70c5b5767846906e0abe68498db887b'] = 'Activation de votre adresse e-mail OK, vous pouvez désormais valider votre mot secret';
$_MODULE['<{moneybookers}prestashop>moneybookers_87ef564ed1574eda7e77b4012eef0b85'] = 'Serveur d\'activation injoignable, merci d\'essayer ultérieurement';
$_MODULE['<{moneybookers}prestashop>moneybookers_7757ea03f2a0893e36c7916a2ad07ef8'] = 'Le champ e-mail est obligatoire';
$_MODULE['<{moneybookers}prestashop>moneybookers_aa1c444c2ee2f620d5b349fedfa68ba2'] = 'Erreur lors de la validation de votre mot secret, vous avez dépassé le nombre maximum d\'essai (3 par heure)';
$_MODULE['<{moneybookers}prestashop>moneybookers_cdbef58d093e0ff38e13686a669e9fee'] = 'Erreur lors de la validation de votre mot secret, votre mot secret est peut être incorrect';
$_MODULE['<{moneybookers}prestashop>moneybookers_cd1dfa342c3c11c17ede212e6429ca01'] = 'Activation du compte réussie, mot secret OK';
$_MODULE['<{moneybookers}prestashop>moneybookers_2e531f9ad978a2a1a88a00ae0d4dc78e'] = 'Le mot secret est obligatoire';
$_MODULE['<{moneybookers}prestashop>moneybookers_bcfaccebf745acfd5e75351095a5394a'] = 'Désactivé';
$_MODULE['<{moneybookers}prestashop>moneybookers_e4abb55720e3790fe55982fec858d213'] = 'Colonne Gauche';
$_MODULE['<{moneybookers}prestashop>moneybookers_f16072c370ef52db2e329a87b5e7177a'] = 'Colone Droite';
$_MODULE['<{moneybookers}prestashop>moneybookers_a9dd80641753cafc9c967e317ba92a28'] = 'A propos de Moneybookers';
$_MODULE['<{moneybookers}prestashop>moneybookers_8342dda89e8c20bb92916fbe052c583a'] = 'Profitez des tarifs spéciaux que Moneybookers offre aux marchands de Prestashop !';
$_MODULE['<{moneybookers}prestashop>moneybookers_4f4c1b5e5d775709e08ccc3afad1a5c3'] = 'Moneybookers, géré par Skrill Holdings, est un des plus importants systèmes de paiement en ligne d’Europe, proposant plus de 100 options de paiement et 41 devises dans plus de 200 pays et territoires. Plus de 80 000 marchands utilisent déjà cette solution, parmi lesquels eBay.com, Skype et Thomas Cook. ';
$_MODULE['<{moneybookers}prestashop>moneybookers_acf2b73b741f10cd1e0d075ed43fed39'] = 'Avec plus de 17 millions de titulaires de comptes et plus de 15 000 nouveaux comptes chaque jour, Moneybookers offre aussi l’un des plus grands portemonnaies électroniques du monde. Vos clients peuvent également régler leur paiement en utilisant seulement leur e-mail et leur mot de passe grâce à notre e-Wallet. ';
$_MODULE['<{moneybookers}prestashop>moneybookers_76264fd7352f803c63396bc27b0ee893'] = 'Moneybookers change de nom et devient Skrill !';
$_MODULE['<{moneybookers}prestashop>moneybookers_f4f70727dc34561dfde1a3c529b6205c'] = 'Configuration';
$_MODULE['<{moneybookers}prestashop>moneybookers_e86e85752dd7a7b31bb935c862480cee'] = 'Choisir la position du logo';
$_MODULE['<{moneybookers}prestashop>moneybookers_239d45036930947dbf41506d27fa1aa7'] = 'Change la position du logo dans le Front Office. Fonctionne avec ';
$_MODULE['<{moneybookers}prestashop>moneybookers_81149af5698332fdf2d6869a66b6ad12'] = 'Live edit';
$_MODULE['<{moneybookers}prestashop>moneybookers_708c440d8915f957ee6717efc426a863'] = 'Envoyer ';
$_MODULE['<{moneybookers}prestashop>moneybookers_5138738b54f0d4bdf7c72780db651abc'] = 'Ouverture de compte';
$_MODULE['<{moneybookers}prestashop>moneybookers_41992c760318e60740f7a9b2819af191'] = 'Commencez par ouvrir';
$_MODULE['<{moneybookers}prestashop>moneybookers_c0302a6fbca061af831bc12f06cadb2f'] = 'un compte gratuit';
+2 -4
View File
@@ -11,14 +11,13 @@ $_MODULE['<{moneybookers}prestashop>confirmation_df194447dfecf36bb8043bd8d94feed
$_MODULE['<{moneybookers}prestashop>confirmation_047e219d25b398033511b18041dbfd7a'] = 'Il tuo ordine verrà spedito non appena avremo ricevuto il bonifico bancario.';
$_MODULE['<{moneybookers}prestashop>confirmation_8de637e24570c1edb0357826a2ad5aea'] = 'Abbiamo notato un problema con il tuo ordine. Se pensi che sia un errore, contatta la nostra';
$_MODULE['<{moneybookers}prestashop>moneybookers-currency-error_6484c945379d81c37ac734c9768605cf'] = 'Non puoi pagare con Moneybookers con la valuta attuale, scegli un\'altra valuta';
$_MODULE['<{moneybookers}prestashop>moneybookers_27266fe4d37bf06589c7c6dbf2d5c067'] = 'Paga con';
$_MODULE['<{moneybookers}prestashop>moneybookers_6861a58e2be4956b3f2fd6420fe6c28c'] = 'Moneybookers';
$_MODULE['<{moneybookers}prestashop>moneybookers_a356736cbcf740f8648d71067fca090d'] = 'Si accettano pagamenti con Moneybookers';
$_MODULE['<{moneybookers}prestashop>moneybookers_fa214007826415a21a8456e3e09f999d'] = 'Sei sicuro di voler cancellare i tuoi dati?';
$_MODULE['<{moneybookers}prestashop>moneybookers_088b74050a381d98fca38d5990b097be'] = 'Si sta attualmente utilizzando l\'indirizzo e-mail Moneybookers di default, è necessario utilizzare il proprio indirizzo e-mail';
$_MODULE['<{moneybookers}prestashop>moneybookers_87ef564ed1574eda7e77b4012eef0b85'] = 'Impossibile contattare il server di attivazione, riprova più tardi';
$_MODULE['<{moneybookers}prestashop>moneybookers_b863542eebcb27fa230b647b5dd07819'] = 'convalida account non riuscita, la tua e-mail potrebbe essere errata';
$_MODULE['<{moneybookers}prestashop>moneybookers_d70c5b5767846906e0abe68498db887b'] = 'attivazione e-mail di successo, ora è possibile convalidare la parola segreta';
$_MODULE['<{moneybookers}prestashop>moneybookers_87ef564ed1574eda7e77b4012eef0b85'] = 'Impossibile contattare il server di attivazione, riprova più tardi';
$_MODULE['<{moneybookers}prestashop>moneybookers_7757ea03f2a0893e36c7916a2ad07ef8'] = 'Il campo email è obbligatorio';
$_MODULE['<{moneybookers}prestashop>moneybookers_aa1c444c2ee2f620d5b349fedfa68ba2'] = 'convalida parola segreta fallita, ha superato il numero massimo di tentativi (3 per ora)';
$_MODULE['<{moneybookers}prestashop>moneybookers_cdbef58d093e0ff38e13686a669e9fee'] = 'convalida parola segreta fallita, la tua parola segreta potrebbe essere sbagliata';
@@ -55,5 +54,4 @@ $_MODULE['<{moneybookers}prestashop>moneybookers_554fd8768f165251646ce21ba499820
$_MODULE['<{moneybookers}prestashop>moneybookers_a190bc880b04cf478e0370d1b315a5a3'] = 'Tutti i loghi in 1 blocco';
$_MODULE['<{moneybookers}prestashop>moneybookers_852d04b5f455aaf5264e9a8c561ced71'] = '1 blocco per ogni logo';
$_MODULE['<{moneybookers}prestashop>moneybookers_d4dccb8ca2dac4e53c01bd9954755332'] = 'Salva impostazioni';
?>
$_MODULE['<{moneybookers}prestashop>moneybookers_27266fe4d37bf06589c7c6dbf2d5c067'] = 'Paga con';
+69 -1
View File
@@ -30,6 +30,10 @@ if (!defined('_CAN_LOAD_FILES_'))
class MoneyBookers extends PaymentModule
{
const LEFT_COLUMN = 0;
const RIGHT_COLUMN = 1;
const DISABLE = -1;
public function __construct()
{
$this->name = 'moneybookers';
@@ -107,7 +111,9 @@ class MoneyBookers extends PaymentModule
public function install()
{
if (!parent::install() OR !$this->registerHook('payment') OR !$this->registerHook('paymentReturn'))
if (!parent::install() OR
!$this->registerHook('payment') OR
!$this->registerHook('paymentReturn'))
return false;
Configuration::updateValue('MB_HIDE_LOGIN', 1);
Configuration::updateValue('MB_PAY_TO_EMAIL', Configuration::get('PS_SHOP_EMAIL'));
@@ -243,6 +249,17 @@ class MoneyBookers extends PaymentModule
Configuration::updateValue('MB_DISPLAY_MODE', (int)($_POST['mb_display_mode']));
}
if (Tools::getValue('submitSettings'))
{
foreach(array('leftColumn', 'rightColumn') as $hookName)
if ($this->isRegisteredInHook($hookName))
$this->unregisterHook(Hook::get($hookName));
if (Tools::getValue('logo_position') == self::LEFT_COLUMN)
$this->registerHook('leftColumn');
else if (Tools::getValue('logo_position') == self::RIGHT_COLUMN)
$this->registerHook('rightColumn');
}
/* Display errors */
if (sizeof($errors))
{
@@ -266,6 +283,14 @@ class MoneyBookers extends PaymentModule
if (!array_key_exists($lang->iso_code, $manual_links))
$iso_manual = 'en';
$blockPositionList = array(
self::DISABLE => $this->l('Disable'),
self::LEFT_COLUMN => $this->l('Left Column'),
self::RIGHT_COLUMN => $this->l('Right Column'));
$currentLogoBlockPosition = ($this->isRegisteredInHook('leftColumn')) ? self::LEFT_COLUMN :
(($this->isRegisteredInHook('rightColumn')) ? self::RIGHT_COLUMN : -1);
/* Display settings form */
$output .= '
<b>'.$this->l('About Moneybookers').'</b><br /><br /><p style="font-size: 11px;">'.
@@ -275,6 +300,30 @@ class MoneyBookers extends PaymentModule
$this->l('Moneybookers changes its name and becomes Skrill!').'<br /><br />
<div style="clear: both;"></div>
<form method="post" action="'.$_SERVER['REQUEST_URI'].'" id="form-settings">
<fieldset class="width2" style="margin: 20px 0; width: 800px;">
<legend><img src="'.__PS_BASE_URI__.'modules/moneybookers/logo.gif" alt="" />'.$this->l('Settings').'</legend>
<div class="margin-form" style="margin:0; padding:0 0 1em 20px">
<b>'.$this->l('Select the logo position').'</b> :
<select name="logo_position">';
foreach($blockPositionList as $position => $translation)
{
$selected = ($currentLogoBlockPosition == $position) ? 'selected="selected"' : '';
$output .= '<option value="'.$position.'" '.$selected.'>'.$translation.'</option>';
}
$link = new Link();
$admin_dir = substr(_PS_ADMIN_DIR_, strrpos(_PS_ADMIN_DIR_,'/') + 1);
$output .= '
</select>
<p>'.$this->l('Change your logo position in the Front Office. Works with').'
<a href="'.$link->getPageLink('index.php').'?live_edit&ad='.$admin_dir.'&liveToken='.sha1($admin_dir._COOKIE_KEY_).'">'.$this->l(' Live edit.').'</a></p>
</div>
<div style="text-align:center;">
<input type="submit" name="submitSettings" value="'.$this->l('Submit settings').'" />
</div>
</fieldset>
</form>
<form method="post" action="'.$_SERVER['REQUEST_URI'].'" id="form-opening">
<fieldset class="width2" style="margin: 20px 0; width: 800px;">
<legend><img src="'.__PS_BASE_URI__.'modules/moneybookers/logo.gif" alt="" />'.$this->l('Open Account').'</legend>
@@ -432,6 +481,25 @@ class MoneyBookers extends PaymentModule
return $output;
}
private function _displayLogoBlock($position)
{
$imgPath = 'http://www.prestashop.com/images/logo_partners/logo-skrill.png';
if (!@file_get_contents($imgPath))
$imgPath = __PS_BASE_URI__.'modules/moneybookers/logo-skrill.png';
return '<div style="text-align:center;"><img src="'.$imgPath.'" width=150 /></div>';
}
public function hookRightColumn($params)
{
return $this->_displayLogoBlock(self::RIGHT_COLUMN);
}
public function hookLeftColumn($params)
{
return $this->_displayLogoBlock(self::LEFT_COLUMN);
}
public function hookPayment($params)
{
global $smarty, $cookie;
+3 -3
View File
@@ -68,17 +68,17 @@ switch ($status)
{
/* Bankwire */
case 0:
$moneyBookers->validateOrder((int)($secure_cart[0]), _PS_OS_BANKWIRE_, (float)($_POST['amount']), $moneyBookers->displayName, $message, array(), NULL, false, $secure_cart[1]);
$moneyBookers->validateOrder((int)($secure_cart[0]), Configuration::get('PS_OS_BANKWIRE'), (float)($_POST['amount']), $moneyBookers->displayName, $message, array(), NULL, false, $secure_cart[2]);
break;
/* Payment OK */
case 2:
$moneyBookers->validateOrder((int)($secure_cart[0]), _PS_OS_PAYMENT_, (float)($_POST['amount']), $moneyBookers->displayName, $message, array(), NULL, false, $secure_cart[1]);
$moneyBookers->validateOrder((int)($secure_cart[0]), Configuration::get('PS_OS_PAYMENT'), (float)($_POST['amount']), $moneyBookers->displayName, $message, array(), NULL, false, $secure_cart[2]);
break;
/* Unknown or error */
default:
$moneyBookers->validateOrder((int)($secure_cart[0]), _PS_OS_ERROR_, 0, $moneyBookers->displayName, $message, array(), NULL, false, $secure_cart[1]);
$moneyBookers->validateOrder((int)($secure_cart[0]), Configuration::get('PS_OS_ERROR'), 0, $moneyBookers->displayName, $message, array(), NULL, false, $secure_cart[2]);
break;
}
+6 -6
View File
@@ -66,16 +66,16 @@ if (Validate::isLoadedObject($cart))
{
case 1:
/* Real error or payment canceled */
$ogone->validate((int)$_GET['orderID'], _PS_OS_ERROR_, 0, $_GET['NCERROR'].$params, $_GET['secure_key']);
$ogone->validate((int)$_GET['orderID'], Configuration::get('PS_OS_ERROR'), 0, $_GET['NCERROR'].$params, $_GET['secure_key']);
break;
case 2:
/* Real error - authorization refused */
$ogone->validate((int)$_GET['orderID'], _PS_OS_ERROR_, 0, $ogone->l('Error (auth. refused)').'<br />'.$_GET['NCERROR'].$params, $_GET['secure_key']);
$ogone->validate((int)$_GET['orderID'], Configuration::get('PS_OS_ERROR'), 0, $ogone->l('Error (auth. refused)').'<br />'.$_GET['NCERROR'].$params, $_GET['secure_key']);
break;
case 5:
case 9:
/* Payment OK */
$ogone->validate((int)$_GET['orderID'], _PS_OS_PAYMENT_, (float)($_GET['amount']), $ogone->l('Payment authorized / OK').$params, $_GET['secure_key']);
$ogone->validate((int)$_GET['orderID'], Configuration::get('PS_OS_PAYMENT'), (float)($_GET['amount']), $ogone->l('Payment authorized / OK').$params, $_GET['secure_key']);
break;
case 6:
case 7:
@@ -91,19 +91,19 @@ if (Validate::isLoadedObject($cart))
// Send a new message and change the state
$history = new OrderHistory();
$history->id_order = $id_order;
$history->changeIdOrderState(_PS_OS_ERROR_, $id_order);
$history->changeIdOrderState(Configuration::get('PS_OS_ERROR'), $id_order);
$history->addWithemail(true, array());
}
break;
default:
$ogone->validate((int)$_GET['orderID'], _PS_OS_ERROR_, (float)($_GET['amount']), $ogone->l('Unknown status:').' '.$_GET['STATUS'].$params, $_GET['secure_key']);
$ogone->validate((int)$_GET['orderID'], Configuration::get('PS_OS_ERROR'), (float)($_GET['amount']), $ogone->l('Unknown status:').' '.$_GET['STATUS'].$params, $_GET['secure_key']);
}
exit;
}
else
{
$message = $ogone->l('Invalid SHA-1 signature').'<br />'.$ogone->l('SHA-1 given:').' '.$_GET['SHASIGN'].'<br />'.$ogone->l('SHA-1 calculated:').' '.$sha1.'<br />'.$ogone->l('Plain key:').' '.$shasign;
$ogone->validate((int)$_GET['orderID'], _PS_OS_ERROR_, 0, $message.'<br />'.$params, $_GET['secure_key']);
$ogone->validate((int)$_GET['orderID'], Configuration::get('PS_OS_ERROR'), 0, $message.'<br />'.$params, $_GET['secure_key']);
}
}
+8 -4
View File
@@ -299,8 +299,10 @@ function displayAccount()
// Select the most appropriate country
if (Tools::getValue('id_country'))
$selectedCountry = (int)(Tools::getValue('id_country'));
else
else if ((int)$result['COUNTRYCODE'])
{
$selectedCountry = Country::getByIso(strval($result['COUNTRYCODE']));
}
$countries = Country::getCountries((int)($cookie->id_lang), true);
// Smarty assigns
@@ -333,10 +335,12 @@ function displayAccount()
// #####
// Process !!
if (!$cookie->isLogged(true))
/*if (!$cookie->isLogged(true))
{
displayAccount();
die('Not logged');
elseif (!$cart->getOrderTotal(true, Cart::BOTH))
}*/
if (!$cart->getOrderTotal(true, Cart::BOTH))
die('Empty cart');
// No token, we need to get one by making PayPal Authorisation
+3 -3
View File
@@ -61,13 +61,13 @@ if (!$result OR (Tools::strlen($result) < 8) OR (!$statut = substr($result, -8))
switch ($status)
{
case 'Completed':
$id_order_state = _PS_OS_PAYMENT_;
$id_order_state = Configuration::get('PS_OS_PAYMENT');
break;
case 'Pending':
$id_order_state = _PS_OS_PAYPAL_;
$id_order_state = Configuration::get('PS_OS_PAYPAL');
break;
default:
$id_order_state = _PS_OS_ERROR_;
$id_order_state = Configuration::get('PS_OS_ERROR');
}
if ($order->getCurrentState() == $id_order_state)
+9 -9
View File
@@ -133,7 +133,7 @@ class PayPal extends PaymentModule
$orderState->logable = true;
$orderState->invoice = true;
if ($orderState->add())
copy(dirname(__FILE__).'/../../img/os/'._PS_OS_PAYPAL_.'.gif', dirname(__FILE__).'/../../img/os/'.(int)$orderState->id.'.gif');
copy(dirname(__FILE__).'/../../img/os/'.Configuration::get('PS_OS_PAYPAL').'.gif', dirname(__FILE__).'/../../img/os/'.(int)$orderState->id.'.gif');
Configuration::updateValue('PAYPAL_OS_AUTHORIZATION', (int)$orderState->id);
}
@@ -452,16 +452,16 @@ class PayPal extends PaymentModule
switch ($result['PAYMENTSTATUS'])
{
case 'Completed':
$id_order_state = _PS_OS_PAYMENT_;
$id_order_state = Configuration::get('PS_OS_PAYMENT');
break;
case 'Pending':
if ($result['PENDINGREASON'] != 'authorization')
$id_order_state = _PS_OS_PAYPAL_;
$id_order_state = Configuration::get('PS_OS_PAYPAL');
else
$id_order_state = (int)(Configuration::get('PAYPAL_OS_AUTHORIZATION'));
break;
default:
$id_order_state = _PS_OS_ERROR_;
$id_order_state = Configuration::get('PS_OS_ERROR');
}
// Call payment validation method
@@ -1065,7 +1065,7 @@ class PayPal extends PaymentModule
die(Tools::displayError('Error when updating PayPal database'));
$history = new OrderHistory();
$history->id_order = (int)($id_order);
$history->changeIdOrderState(_PS_OS_REFUND_, (int)($id_order));
$history->changeIdOrderState(Configuration::get('PS_OS_REFUND'), (int)($id_order));
$history->addWithemail();
}
else
@@ -1102,7 +1102,7 @@ class PayPal extends PaymentModule
{
$history = new OrderHistory();
$history->id_order = (int)($id_order);
$history->changeIdOrderState(_PS_OS_PAYMENT_, (int)$id_order);
$history->changeIdOrderState(Configuration::get('PS_OS_PAYMENT'), (int)$id_order);
$history->addWithemail();
$message .= $this->l('Order finished with PayPal!');
}
@@ -1143,7 +1143,7 @@ class PayPal extends PaymentModule
{
$history = new OrderHistory();
$history->id_order = (int)($id_order);
$history->changeIdOrderState(_PS_OS_PAYMENT_, (int)($id_order));
$history->changeIdOrderState(Configuration::get('PS_OS_PAYMENT'), (int)($id_order));
$history->addWithemail();
}
elseif ($response['PAYMENTSTATUS'] == 'Pending' AND $response['PENDINGREASON'] == 'authorization')
@@ -1157,7 +1157,7 @@ class PayPal extends PaymentModule
{
$history = new OrderHistory();
$history->id_order = (int)($id_order);
$history->changeIdOrderState(_PS_OS_ERROR_, (int)($id_order));
$history->changeIdOrderState(Configuration::get('PS_OS_ERROR'), (int)($id_order));
$history->addWithemail();
}
if (!Db::getInstance()->Execute('UPDATE `'._DB_PREFIX_.'paypal_order` SET `payment_status` = \''.pSQL($response['PAYMENTSTATUS']).($response['PENDINGREASON'] == 'authorization' ? '_authorization' : '').'\' WHERE `id_order` = '.(int)$id_order))
@@ -1240,7 +1240,7 @@ class PayPal extends PaymentModule
$orderState->logable = true;
$orderState->invoice = true;
if ($orderState->add())
copy(_PS_ROOT_DIR_.'/img/os/'._PS_OS_PAYPAL_.'.gif', _PS_ROOT_DIR_.'/img/os/'.(int)($orderState->id).'.gif');
copy(_PS_ROOT_DIR_.'/img/os/'.Configuration::get('PS_OS_PAYPAL').'.gif', _PS_ROOT_DIR_.'/img/os/'.(int)($orderState->id).'.gif');
Configuration::updateValue('PAYPAL_OS_AUTHORIZATION', (int)($orderState->id));
}
/* Delete unseless configuration */
+3 -3
View File
@@ -136,7 +136,7 @@ if (strtoupper($result) == 'VERIFIED')
elseif (Order::getOrderByCartId((int)($cart_secure[0])))
$errors = $paypal->getL('order').'<br />';
else
$paypal->validateOrder((int)$cart_secure[0], _PS_OS_PAYMENT_, (float)($_POST['mc_gross']), $paypal->displayName, $paypal->getL('transaction').$_POST['txn_id'], array('transaction_id' => $_POST['txn_id'], 'payment_status' => $_POST['payment_status']), NULL, false, $cart_secure[1]);
$paypal->validateOrder((int)$cart_secure[0], Configuration::get('PS_OS_PAYMENT'), (float)($_POST['mc_gross']), $paypal->displayName, $paypal->getL('transaction').$_POST['txn_id'], array('transaction_id' => $_POST['txn_id'], 'payment_status' => $_POST['payment_status']), NULL, false, $cart_secure[1]);
}
}
else
@@ -145,7 +145,7 @@ else
if (!empty($errors) AND isset($_POST['custom']))
{
if (strtoupper($_POST['payment_status']) == 'PENDING')
$paypal->validateOrder((int)$cart_secure[0], _PS_OS_PAYPAL_, (float)$_POST['mc_gross'], $paypal->displayName, $paypal->getL('transaction').$_POST['txn_id'].'<br />'.$errors, array('transaction_id' => $_POST['txn_id'], 'payment_status' => $_POST['payment_status']), NULL, false, $cart_secure[1]);
$paypal->validateOrder((int)$cart_secure[0], Configuration::get('PS_OS_PAYPAL'), (float)$_POST['mc_gross'], $paypal->displayName, $paypal->getL('transaction').$_POST['txn_id'].'<br />'.$errors, array('transaction_id' => $_POST['txn_id'], 'payment_status' => $_POST['payment_status']), NULL, false, $cart_secure[1]);
else
$paypal->validateOrder((int)$cart_secure[0], _PS_OS_ERROR_, 0, $paypal->displayName, $errors.'<br />', array(), NULL, false, $cart_secure[1]);
$paypal->validateOrder((int)$cart_secure[0], Configuration::get('PS_OS_ERROR'), 0, $paypal->displayName, $errors.'<br />', array(), NULL, false, $cart_secure[1]);
}
+1 -1
View File
@@ -453,7 +453,7 @@ abstract class PrepaidServices extends PaymentModule
else
$order->total_paid_real += $amount;
$os = _PS_OS_PAYMENT_;
$os = Configuration::get('PS_OS_PAYMENT');
if ($order->total_paid != $order->total_paid_real)
$os = Configuration::get($this->prefix.'ORDER_STATE_PART_ID');
+6 -6
View File
@@ -42,7 +42,7 @@ if (Tools::getValue('hash') != md5(Configuration::get($module->prefix.'SALT') +
die(Tools::displayError());
$result = $module->getDispositionState((int)($cart->id));
$state = _PS_OS_ERROR_;
$state = Configuration::get('PS_OS_ERROR');
$disposition = Disposition::getByCartId((int)($cart->id));
@@ -53,7 +53,7 @@ if ($result[0] == 0)
if ($state == PrepaidServicesAPI::DISPOSITION_DISPOSED || $state == PrepaidServicesAPI::DISPOSITION_DEBITED)
{
$state = _PS_OS_PAYMENT_;
$state = Configuration::get('PS_OS_PAYMENT');
$message .= $module->getL('disposition_created');
} else {
$message .= $module->getL('disposition_invalid').' '.$state;
@@ -62,7 +62,7 @@ if ($result[0] == 0)
$message .= 'payment_error'.' '.$result[2];
}
if ($state != _PS_OS_ERROR_)
if ($state != Configuration::get('PS_OS_ERROR'))
{
$state = (int)(Configuration::get($module->prefix.'ORDER_STATE_ID'));
@@ -74,19 +74,19 @@ if ($state != _PS_OS_ERROR_)
if ($result[0] != 0)
{
$message .= $module->getL('payment_error').' '.$result[2];
$state = _PS_OS_ERROR_;
$state = Configuration::get('PS_OS_ERROR');
}
else
{
$message .= $module->getL('payment_accepted');
$state = _PS_OS_PAYMENT_;
$state = Configuration::get('PS_OS_PAYMENT');
}
}
}
$module->validateOrder((int)($cart->id), $state, (float)($cart->getOrderTotal(true, Cart::BOTH)), $module->displayName, $message, NULL, (int)($currency->id), false, $cart->secure_key);
if ($state == _PS_OS_ERROR_)
if ($state == Configuration::get('PS_OS_ERROR'))
{
include(dirname(__FILE__).'/../../header.php');
echo $message;
+1 -1
View File
@@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS `PREFIX_product_comment` (
PRIMARY KEY (`id_product_comment`),
KEY `id_product` (`id_product`),
KEY `id_customer` (`id_customer`),
KEY `id_guest` (`id_product`)
KEY `id_guest` (`id_guest`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_product_comment_criterion` (
+2 -7
View File
@@ -28,11 +28,6 @@
include(dirname(__FILE__).'/../../config/config.inc.php');
require_once(dirname(__FILE__).'/sendtoafriend.php');
$sendtoafriend = new sendToAFriend();
if (!$sendtoafriend->active)
Tools::display404Error();
include(dirname(__FILE__).'/../../header.php');
echo $sendtoafriend->displayFrontForm();
include(dirname(__FILE__).'/../../footer.php');
$sendtoafriend = new sendToAFriend($dontTranslate = true);
echo $sendtoafriend->displayPageForm();
+10
View File
@@ -56,6 +56,16 @@ class sendToAFriend extends Module
return $this->display(__FILE__, 'product_page.tpl');
}
public function displayPageForm()
{
if (!$this->active)
Tools::display404Error();
include(dirname(__FILE__).'/../../header.php');
echo $this->displayFrontForm();
include(dirname(__FILE__).'/../../footer.php');
}
public function displayFrontForm()
{
global $smarty;
+2 -2
View File
@@ -55,10 +55,10 @@ $_MODULE['<{socolissimo}prestashop>socolissimo_b0b2896e75025245cbb05e96bd1466d6'
$_MODULE['<{socolissimo}prestashop>socolissimo_ce88aabea3b363c753b02ddcb2fbafff'] = 'Url de l\'administration de So Colissimo';
$_MODULE['<{socolissimo}prestashop>socolissimo_85068ddf0b9bcbb6913008356fe328a0'] = 'Supervision';
$_MODULE['<{socolissimo}prestashop>socolissimo_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Activé';
$_MODULE['<{socolissimo}prestashop>socolissimo_b9f5c797ebbf55adccdd8539a65a0241'] = 'Désactivé';
$_MODULE['<{socolissimo}prestashop>socolissimo_b9f5c797ebbf55adccdd8539a65a0241'] = 'Désactiver';
$_MODULE['<{socolissimo}prestashop>socolissimo_fdd526b84abc0b8fc17060e62d022b84'] = 'Autoriser ou non la verification de la disponibilité des services SoColissimo';
$_MODULE['<{socolissimo}prestashop>socolissimo_32996bdf4214d6cb8bf7fa02273813c8'] = 'Adresse de verification';
$_MODULE['<{socolissimo}prestashop>socolissimo_995a56aecac4198b9bc0a17a976561b5'] = 'Adresse de verification de disponibilité';
$_MODULE['<{socolissimo}prestashop>socolissimo_947d84460ad5676c9d79fa05727f1e8a'] = 'L\'URL de surveillance permet de s\'assurer de la disponibilité du service socolissimo. Il n\'est pas conseillé de la desactivé.';
$_MODULE['<{socolissimo}prestashop>socolissimo_c9cc8cce247e49bae79f15173ce97354'] = 'Sauvegarder';
$_MODULE['<{socolissimo}prestashop>socolissimo_a82be0f551b8708bc08eb33cd9ded0cf'] = 'Information';
$_MODULE['<{socolissimo}prestashop>socolissimo_3e387f5ebd657c6372f0594c8226863e'] = 'Voici les deux adresses que vous devez renseigner dans votre Back-Office Coliposte';
+1 -1
View File
@@ -290,7 +290,7 @@ class Socolissimo extends CarrierModule
<label>'.$this->l('Url Supervision').' : </label>
<div class="margin-form">
<input type="text" size="45" name="url_sup" value="'.htmlentities(Tools::getValue('url_sup',Configuration::get('SOCOLISSIMO_SUP_URL')),ENT_NOQUOTES, 'UTF-8').'" />
<p>' . $this->l('Url of supervision.') . '</p>
<p>' . $this->l('The URL of supervision is to ensure the availability of the service socolissimo. It is not advisable to disabled.') . '</p>
</div>
<div class="margin-form">
@@ -49,6 +49,9 @@ class ThemeInstallator extends Module
public function __construct()
{
set_time_limit(0);
ini_set('memory_limit', '2G');
$this->name = 'themeinstallator';
$this->version = '1.4';
$this->author = 'PrestaShop';
@@ -74,7 +77,7 @@ class ThemeInstallator extends Module
if (count($natives > 0))
return $natives;
// use this list if we can't contact the prestashop.com server
$natives = array('bankwire', 'birthdaypresent', 'blockadvertising', 'blockbestsellers', 'blockcart', 'blockcategories',
$natives = array('bankwire', 'birthdaypresent', 'blockadvertising', 'blockbestsellers', 'blockcart', 'blockcategories', 'blockcms',
'blockcurrencies', 'blockinfos', 'blocklanguages', 'blocklink', 'blockmanufacturer', 'blockmyaccount', 'blocknewproducts',
'blocknewsletter', 'blockpaymentlogo', 'blockpermanentlinks', 'blockrss', 'blocksearch', 'blockspecials', 'blocksupplier',
'blocktags', 'blockuserinfo', 'blockvariouslinks', 'blockviewed', 'blockwishlist', 'canonicalurl', 'cashondelivery', 'cheque',
+12 -7
View File
@@ -5,18 +5,19 @@ $_MODULE = array();
$_MODULE['<{trustedshops}prestashop>display_products_02ecb4a4709d9bcc590f1a25fc82c0e2'] = 'Trusted Shops Käuferschutz (empfohlen)';
$_MODULE['<{trustedshops}prestashop>display_products_b55aab8932a39ca85bb0a1b6eb83f83f'] = 'Käuferschutz ab';
$_MODULE['<{trustedshops}prestashop>display_products_a53a5a9f38f31d62a791717b943e02f3'] = 'Gesamtbetrag inkl. MwSt.';
$_MODULE['<{trustedshops}prestashop>display_products_b3c25d2f94cf87ece3dbb2907318520c'] = 'Trusted Shops Käuferschutz sichert Ihre Online Bestellung ab. Ich stimme zu, dass meine E-Mail Adresse gespeichert und';
$_MODULE['<{trustedshops}prestashop>display_products_536a056b710e94b16169efd17a4a657b'] = 'gespeichert';
$_MODULE['<{trustedshops}prestashop>display_products_2dc4be4d5564180e6df95d5a5a679195'] = 'zu Zwecken des Käuferschutzes von Trusted Shops verwendet wird.';
$_MODULE['<{trustedshops}prestashop>display_products_229eb04083e06f419f9ac494329f957d'] = 'Konditionen';
$_MODULE['<{trustedshops}prestashop>display_products_4ccaceceffe4b5e58f6a7a7ed3ced4c4'] = 'für Käuferschutz';
$_MODULE['<{trustedshops}prestashop>display_products_69db1ddc2a15253abb0a11beb1eae734'] = 'inkl. MwSt.';
$_MODULE['<{trustedshops}prestashop>display_products_b3c25d2f94cf87ece3dbb2907318520c'] = 'Die im Käuferschutz enthaltene Trusted Shops Garantie sichert Ihren Online-Kauf ab. Mit der Übermittlung und';
$_MODULE['<{trustedshops}prestashop>display_products_536a056b710e94b16169efd17a4a657b'] = 'Speicherung';
$_MODULE['<{trustedshops}prestashop>display_products_2dc4be4d5564180e6df95d5a5a679195'] = 'meiner E-Mail-Adresse zur Abwicklung des Käuferschutzes durch Trusted Shops bin ich einverstanden.';
$_MODULE['<{trustedshops}prestashop>display_products_229eb04083e06f419f9ac494329f957d'] = 'Garantiebedingungen';
$_MODULE['<{trustedshops}prestashop>display_products_4ccaceceffe4b5e58f6a7a7ed3ced4c4'] = 'für den Käuferschutz.';
$_MODULE['<{trustedshops}prestashop>order-confirmation-tsbp-classic_7b5406da2d5f15923d6b01d3264c5619'] = 'Trusted Shops Gütesiegel - Bitte hier Gültigkeit prüfen!';
$_MODULE['<{trustedshops}prestashop>order-confirmation-tsbp-classic_4052048c767f22e9071c3e6f404d00c6'] = 'Als zusätzlichen Service bieten wir Ihnen den Trusted Shops Käuferschutz an. Wir übernehmen alle Kosten dieser Garantie, Sie müssen sich lediglich anmelden.';
$_MODULE['<{trustedshops}prestashop>order-confirmation-tsbp-classic_f975f42362625cf21e592009ff4b3d7b'] = 'Anmeldung zum Trusted Shops Käuferschutz';
$_MODULE['<{trustedshops}prestashop>seal_of_approval_ee9ae315b086e1b1a0c8fdc6078f9add'] = 'Trusted Shops Gütesiegel - Bitte hier Gültigkeit prüfen!';
$_MODULE['<{trustedshops}prestashop>seal_of_approval_750bea678eeb1d07f21fe86173288e2e'] = 'Testzertifikat für Shopsystempartner DE trägt das Trusted Shops Zertifikat mit Käuferschutz. Mehr...';
$_MODULE['<{trustedshops}prestashop>tsbpexception_79fc246c2b70963d27ebb0e9ebaab349'] = 'Kontaktieren Sie Trusted Shops unter service@trustedshops.co.uk.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_de14ce5aee772cd0330819c0ecf76adb'] = 'Benutzername oder Passwort ungültig';
$_MODULE['<{trustedshops}prestashop>tsbpexception_79fc246c2b70963d27ebb0e9ebaab349'] = 'Kontaktieren Sie Trusted Shops unter service@trustedshops.de';
$_MODULE['<{trustedshops}prestashop>tsbpexception_3a2a06b3a1f05cde765219211bf2e9bd'] = 'Benutzername oder Passwort ungültig.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_43048f232a4ebab67835c425a1113b29'] = 'Sie haben Ihr Kreditlimit erreicht';
$_MODULE['<{trustedshops}prestashop>tsbpexception_eb601fb44b908fec1ee41383d4d948ac'] = 'Keine Kredite von Trusted Shops erältlich';
$_MODULE['<{trustedshops}prestashop>tsbpexception_cb71cc86f5c38200b3821adb49966522'] = 'Daten konnten nicht gespeichert werden';
@@ -91,6 +92,10 @@ $_MODULE['<{trustedshops}prestashop>tsbuyerprotection_fd5291d7f0624933870702ff18
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b3b1a406e097bc87c8745db26e11904e'] = 'Aktualisieren';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_c9ba5f6e6d58162530424afaa68bf496'] = 'Cronjob Konfiguration';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_c17d7635f5ee99ee25f7f2cc9a672c74'] = 'Die Datei, die aufgerufen werden soll:';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_12a4fc31ae8a9e4038df56961a5aec9b'] = 'Soweit In Ihrem Shop ein Trusted Shops Zertifikat mit Käuferschutz EXCELLENCE verwendet wird, richten Sie auf Ihrem Server einen cron job ein';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_f811271eb84f3df1a430c3c78b6e7640'] = 'Rufen Sie die Datei';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_06ec9154ce96a389f7b1d884e021818b'] = 'mit einem Intervall von 10 Minuten auf.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_f89b7100efcc136900c909690e43f008'] = 'Die Zeile in Ihrer cron Datei könnte so aussehen:';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9d36bad327b052a9bdec7003f95ce4bd'] = 'Problem mit Ihrer Sprache:';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_03e9e3ceaf5769311c57b5903a958e94'] = 'Ein Käufer kann mehrfachen Käuferschutz nicht kaufen.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_c006c102f7e2ffef1f7c1808d5e0e54a'] = 'Kundenbewertungen';
+1 -1
View File
@@ -79,7 +79,7 @@ var TS = (function()
<p><input id="ts-product-{$product.id_product}" type="checkbox" value="{$product.id_product}" name="item_product"> {l s='Buyer protection from' mod='trustedshops'} {$product.protected_amount_decimal} ({$product.gross_fee|round:2} {l s='GBP incl. VAT' mod='trustedshops'})</p>
{/foreach}
<div id="content_checkout" style="margin-left:100px">
<p>{l s='The Trusted Shops Buyer Protection secures your online purchase. I agree to my email address being transferred and' mod='trustedshops'} <b><a href="http://www.trustedshops.de/info/datenschutz/">{l s='saved' mod='trustedshops'}</a></b> {l s='for the purposes of Buyer Protection processing by Trusted Shops.' mod='trustedshops'}<b><a href="http://www.trustedshops.de/info/garantiebedingungen/">{l s='Conditions' mod='trustedshops'}</a></b>: {l s='for Buyer Protection.' mod='trustedshops'}</p></div>
<p>{l s='The Trusted Shops Buyer Protection secures your online purchase. I agree to my email address being transferred and' mod='trustedshops'} <b><a href="http://www.trustedshops.com/shop/data_privacy.php?shop_id={$shop_id}" target="_blank">{l s='saved' mod='trustedshops'}</a></b> {l s='for the purposes of Buyer Protection processing by Trusted Shops.' mod='trustedshops'} <b><a href="http://www.trustedshops.com/shop/protection_conditions.php?shop_id={$shop_id}" target="_blank">{l s='Conditions' mod='trustedshops'}</a></b> {l s='for Buyer Protection.' mod='trustedshops'}</p></div>
</div>
<div class="clear"/></div>
</div>
+2 -11
View File
@@ -4,8 +4,6 @@ global $_MODULE;
$_MODULE = array();
$_MODULE['<{trustedshops}prestashop>display_products_02ecb4a4709d9bcc590f1a25fc82c0e2'] = 'Trusted Shops protección comprador (recomendado)';
$_MODULE['<{trustedshops}prestashop>display_products_b55aab8932a39ca85bb0a1b6eb83f83f'] = 'Protección comprador hasta';
$_MODULE['<{trustedshops}prestashop>display_products_a53a5a9f38f31d62a791717b943e02f3'] = 'EUR IVA incluído';
$_MODULE['<{trustedshops}prestashop>display_products_b3c25d2f94cf87ece3dbb2907318520c'] = 'La protección comprador Trusted Shops hace su compra en línea segura. Acepto que mi email sea trasferido y';
$_MODULE['<{trustedshops}prestashop>display_products_536a056b710e94b16169efd17a4a657b'] = 'guardado';
$_MODULE['<{trustedshops}prestashop>display_products_2dc4be4d5564180e6df95d5a5a679195'] = 'para el tratamiento de la protección comprador por Trusted Shops.';
$_MODULE['<{trustedshops}prestashop>display_products_229eb04083e06f419f9ac494329f957d'] = 'Condiciones';
@@ -16,11 +14,9 @@ $_MODULE['<{trustedshops}prestashop>order-confirmation-tsbp-classic_f975f4236262
$_MODULE['<{trustedshops}prestashop>seal_of_approval_ee9ae315b086e1b1a0c8fdc6078f9add'] = 'Cuño Trusted Shops- Pulse aquí para comprobar';
$_MODULE['<{trustedshops}prestashop>seal_of_approval_750bea678eeb1d07f21fe86173288e2e'] = 'es un sitio de venta en línea certificado con la garantía de reembolso de Trusted Shops. ';
$_MODULE['<{trustedshops}prestashop>trustedshops_0aa7ce92297d05fc09fb9fdbe5da6be6'] = 'Este módulo requiere la extensión PHP SOAP para funcionar correctamente.';
$_MODULE['<{trustedshops}prestashop>trustedshops_9a983837b32d42343dc0c62d35b1f955'] = 'Trusted Shops Systema de evaluación cliente';
$_MODULE['<{trustedshops}prestashop>trustedshops_eeae17826fa637ecca0344165514ab4e'] = 'Haga que sus clientes confíen en usted y transforme a sus visitantes en compradores.';
$_MODULE['<{trustedshops}prestashop>trustedshops_968e0f78caa7d3245c8f6f858de993d8'] = '¿Está seguro de que desea suprimir esta configuración?';
$_MODULE['<{trustedshops}prestashop>tsbpexception_79fc246c2b70963d27ebb0e9ebaab349'] = 'Póngase en contacto con Trusted Shops en la siguiente dirección service@trustedshop.fr';
$_MODULE['<{trustedshops}prestashop>tsbpexception_de14ce5aee772cd0330819c0ecf76adb'] = 'El nombre de usuario o contrasea no son válidos.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_3a2a06b3a1f05cde765219211bf2e9bd'] = 'El nombre de usuario o contrasea no son válidos.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_43048f232a4ebab67835c425a1113b29'] = 'Se ha anulado la línea de crédito acordada por Trusted Shop.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_eb601fb44b908fec1ee41383d4d948ac'] = 'No existe ninguna línea de crédito en Trusted Shops. ';
$_MODULE['<{trustedshops}prestashop>tsbpexception_cb71cc86f5c38200b3821adb49966522'] = 'No se han podido guardar los datos.';
@@ -65,7 +61,6 @@ $_MODULE['<{trustedshops}prestashop>tsbuyerprotection_982830b027a279fdc4b4b7993f
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_7e1795d054242cf7c546c1491a7c467d'] = 'DIRECTebanking.com';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_37554cc43c645833d6713b9cddda909b'] = 'moneybookers.com';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9203aec73d2ea1770f66f065c4069816'] = 'Otros modos de pago';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_068ce643ff39bf2189935d14736fd10b'] = 'Cuño Trusted Shops y protección comprador';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_f51dabfce0c8ccc01734ed38d8afe27a'] = 'Las aplicaciones Json deben ser implementadas en la versión de PHP';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b1801eaadecfddd04529313a1e929262'] = 'El certificado es válido';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_ce323cb3453812434f9abc007ba7a952'] = 'El certificado ha caducado';
@@ -92,6 +87,7 @@ $_MODULE['<{trustedshops}prestashop>tsbuyerprotection_8512ae7d57b1396273f76fe6ed
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_8638c4fb6ff62122acd9927c4edbd22c'] = 'ha sido suprimido';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_a599ec4408db04d4bb9e4edd78b849f4'] = 'Certificado de inicio de sesión es un éxito';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b18f5630d5ffdfcee5ab0a44ee6e1eb6'] = 'Tiene que crear un nombre de usuario y una contraseña antes de efectuar cualquier cambio.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_068ce643ff39bf2189935d14736fd10b'] = 'Cuño Trusted Shops y protección comprador';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_e32263743aac776e5e32fc385d8b669a'] = 'Trusted Shops es el sello de calidad europea para sitios de venta en línea con garantía de reembolso para sus clientes. En el momento de la certificación, su tienda está sometida a una auditoría que agrupa más de 1000 criterios diferentes que respetan las exigencias de las asociaciones de protección de los consumidores, así como las legislaciones nacionales y europeas. ';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_2c786e15a571a442adf85460e6358883'] = '¡Más confianza implica más ventas!';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_e06f60bb083e167516a94aafd5a3a2e2'] = 'El sello de calidad Trusted Shops es ideal para aumentar la confianza de los clientes en su tienda en línea. Cuanto más confíen los clientes en su sitio Wab, más compras realizarán el el mismo.';
@@ -129,14 +125,10 @@ $_MODULE['<{trustedshops}prestashop>tsbuyerprotection_23a58bf9274bedb19375e527a0
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_fd5291d7f0624933870702ff183bb14e'] = 'módulo de pago';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b3b1a406e097bc87c8745db26e11904e'] = 'Actualizar';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_c9ba5f6e6d58162530424afaa68bf496'] = 'Configuración del cron';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9a82b12b4b1fe9b34ce7c2952f0284d2'] = 'Debe añadir una tarea cron en su servidor, que funcionen para sus certificados EXCELLENT';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_c17d7635f5ee99ee25f7f2cc9a672c74'] = 'El archivo que debe llamar:';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_a3c2818ac0ecfe9beff0973388eedd69'] = 'Trusted Shops aconseja que se automatice la búsqueda para una tarea cron con un intervalo de 10 minutos.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b40495f7999e31d4abed3183d2e3cd25'] = 'La protección comprador de Trusted Shops requiere un login para funcionar. ';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9d36bad327b052a9bdec7003f95ce4bd'] = 'Se ha producido un error con su idioma:';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_03e9e3ceaf5769311c57b5903a958e94'] = 'Un comprador no puede comprar varios productos de protección comprador';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_26a7019f9c88a24e63ebc690e9527f31'] = 'Va a recibir un email de Trusted Shops con su número de garantía.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_c006c102f7e2ffef1f7c1808d5e0e54a'] = 'Trusted Shops Sistema de aealuación cliente';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_b20a16afda98421bbf7457ccfa50e311'] = 'Este módulo necesita los derechos de lectura y de escritura en el repertorio cache del módulo.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_0aa7ce92297d05fc09fb9fdbe5da6be6'] = 'Este módulo necesita la extensión PHP SOAP para funcionar correctamente.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_1097e2b0ee70e248749f0d0a9292df56'] = 'ID Trusted Shops no válido';
@@ -171,6 +163,5 @@ $_MODULE['<{trustedshops}prestashop>trustedshopsrating_866a520be0de10a4fc8958a9e
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_9c6dfeed0caab43f7ff0f6bbd19b27dd'] = 'Con sus intervenciones, sus clientes le ayudan a optimizar el proceso de compra en su sitio. Cuanto mejor funcione su tienda, más satisfechos estarán sus clientes.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_0fac19c0cc6e205682dd52d61dd5a0a2'] = 'Difusión en Facebook, Twitter y Google';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_afe906fe9448ed1b480b3eec383461de'] = 'Sus clientes dan opiniones y evaluaciones en Facebook y Twitter directamente a sus amigos y conocidos. Las evaluaciones se integran directamente en el Google-Index y se tienen en cuenta en Google Shopping.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_273769f3a3d91979bfdb5ca4909c517a'] = 'Crear una cuenta Trusted Shops';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_2ab78702e34e81e82ca61847300b1618'] = '¿Está satisfecho de su compra en';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_a11109fe93f6dc4637e5b039651a4fdb'] = '? ¡Denos su opinión!';
+5 -2
View File
@@ -6,6 +6,7 @@ $_MODULE['<{trustedshops}prestashop>display_products_02ecb4a4709d9bcc590f1a25fc8
$_MODULE['<{trustedshops}prestashop>display_products_b55aab8932a39ca85bb0a1b6eb83f83f'] = 'Protection acheteur jusqu\'à';
$_MODULE['<{trustedshops}prestashop>display_products_a53a5a9f38f31d62a791717b943e02f3'] = 'EUR TVA incluse';
$_MODULE['<{trustedshops}prestashop>display_products_b3c25d2f94cf87ece3dbb2907318520c'] = 'La protection acheteur Trusted Shops sécurise votre achat en ligne. J’accepte le transfert et la';
$_MODULE['<{trustedshops}prestashop>display_products_69db1ddc2a15253abb0a11beb1eae734'] = 'TVA incluse';
$_MODULE['<{trustedshops}prestashop>display_products_536a056b710e94b16169efd17a4a657b'] = 'sauvegarde';
$_MODULE['<{trustedshops}prestashop>display_products_2dc4be4d5564180e6df95d5a5a679195'] = 'de mon adresse email pour le traitement de la protection acheteur par Trusted Shops.';
$_MODULE['<{trustedshops}prestashop>display_products_229eb04083e06f419f9ac494329f957d'] = 'Conditions';
@@ -20,7 +21,7 @@ $_MODULE['<{trustedshops}prestashop>trustedshops_9a983837b32d42343dc0c62d35b1f95
$_MODULE['<{trustedshops}prestashop>trustedshops_eeae17826fa637ecca0344165514ab4e'] = 'Boostez la confiance de vos clients et transformez vos visiteurs en acheteurs.';
$_MODULE['<{trustedshops}prestashop>trustedshops_968e0f78caa7d3245c8f6f858de993d8'] = 'Etes-vous sûr de vouloir supprimer votre configuration?';
$_MODULE['<{trustedshops}prestashop>tsbpexception_79fc246c2b70963d27ebb0e9ebaab349'] = 'Veuillez contacter Trusted Shops à l\'adresse service@trustedshops.fr';
$_MODULE['<{trustedshops}prestashop>tsbpexception_de14ce5aee772cd0330819c0ecf76adb'] = 'Le nom d\'utilisateur ou le mot de passe n\'est pas valable.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_3a2a06b3a1f05cde765219211bf2e9bd'] = 'Le nom d\'utilisateur ou le mot de passe n\'est pas valable.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_43048f232a4ebab67835c425a1113b29'] = 'La ligne de crédit accordée par Trusted Shops a été annulée.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_eb601fb44b908fec1ee41383d4d948ac'] = 'Aucune ligne de crédit n\'existe chez Trusted Shops.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_cb71cc86f5c38200b3821adb49966522'] = 'Les données n\'ont pas pu être sauvegardées.';
@@ -132,6 +133,9 @@ $_MODULE['<{trustedshops}prestashop>tsbuyerprotection_c9ba5f6e6d58162530424afaa6
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9a82b12b4b1fe9b34ce7c2952f0284d2'] = 'Vous devez ajouter une tâche cron sur votre serveur, fonctionnant pour vos certificats EXCELLENT';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_c17d7635f5ee99ee25f7f2cc9a672c74'] = 'Le fichier que vous devez appeler :';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_a3c2818ac0ecfe9beff0973388eedd69'] = 'Trusted Shops recommande que la requête doit être automatisé par une tâche cron avec un intervalle de 10 minutes.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_f811271eb84f3df1a430c3c78b6e7640'] = 'Lancez le fichier';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_06ec9154ce96a389f7b1d884e021818b'] = 'avec un intervalle de 10 minutes.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_f89b7100efcc136900c909690e43f008'] = 'La ligne correspondante dans votre fichier cron apparaît ainsi :';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b40495f7999e31d4abed3183d2e3cd25'] = 'La protection acheteur de Trusted Shops à besoin d\'un login pour fonctionner. Veuillez contacter l\'administrateur de la boutique.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9d36bad327b052a9bdec7003f95ce4bd'] = 'Une erreur est apparue avec votre langue :';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_03e9e3ceaf5769311c57b5903a958e94'] = 'Un acheteur ne peut pas acheter plusieurs produits de protection d\'acheteur';
@@ -171,6 +175,5 @@ $_MODULE['<{trustedshops}prestashop>trustedshopsrating_866a520be0de10a4fc8958a9e
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_9c6dfeed0caab43f7ff0f6bbd19b27dd'] = 'Par leurs interventions, vos clients vous aident à optimiser les processus de votre site. Car mieux un site marchand fonctionne, plus vos clients sont satisfaits.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_0fac19c0cc6e205682dd52d61dd5a0a2'] = 'Diffusion sur Facebook, Twitter et Google';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_afe906fe9448ed1b480b3eec383461de'] = 'Vos clients diffusent avis et évaluations sur Facebook et Twitter directement à leurs amis et connaissances. Les évaluations sont intégrées automatiquement dans le Google-Index et prises en compte dans Google Shopping.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_273769f3a3d91979bfdb5ca4909c517a'] = 'Créer un compte Trusted Shops';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_2ab78702e34e81e82ca61847300b1618'] = 'Etes-vous satisfait de votre achat chez';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_a11109fe93f6dc4637e5b039651a4fdb'] = '? Donnez nous votre avis!';
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

+4 -14
View File
@@ -4,7 +4,6 @@ global $_MODULE;
$_MODULE = array();
$_MODULE['<{trustedshops}prestashop>display_products_02ecb4a4709d9bcc590f1a25fc82c0e2'] = 'Protezione acquirente Trusted Shops (consigliato)';
$_MODULE['<{trustedshops}prestashop>display_products_b55aab8932a39ca85bb0a1b6eb83f83f'] = 'Protezione acquirente da';
$_MODULE['<{trustedshops}prestashop>display_products_a53a5a9f38f31d62a791717b943e02f3'] = 'EUR incl. IVA';
$_MODULE['<{trustedshops}prestashop>display_products_536a056b710e94b16169efd17a4a657b'] = 'salvato';
$_MODULE['<{trustedshops}prestashop>display_products_229eb04083e06f419f9ac494329f957d'] = 'Condizioni';
$_MODULE['<{trustedshops}prestashop>display_products_4ccaceceffe4b5e58f6a7a7ed3ced4c4'] = 'per la protezione dell\'acquirente.';
@@ -13,8 +12,10 @@ $_MODULE['<{trustedshops}prestashop>order-confirmation-tsbp-classic_4052048c767f
$_MODULE['<{trustedshops}prestashop>order-confirmation-tsbp-classic_f975f42362625cf21e592009ff4b3d7b'] = 'Registrati per la Protezione acquirente Trusted shops';
$_MODULE['<{trustedshops}prestashop>seal_of_approval_ee9ae315b086e1b1a0c8fdc6078f9add'] = 'Sigillo di Approvazione Trusted Shops - Clicca per verificare.';
$_MODULE['<{trustedshops}prestashop>seal_of_approval_750bea678eeb1d07f21fe86173288e2e'] = 'è un negozio on-line certificato con Protezione acquirente Trusted Shops. Maggiori informazioni ...';
$_MODULE['<{trustedshops}prestashop>trustedshops_0aa7ce92297d05fc09fb9fdbe5da6be6'] = 'Questo modulo richiede l\'estensione SOAP di PHP per funzionare correttamente.';
$_MODULE['<{trustedshops}prestashop>trustedshops_968e0f78caa7d3245c8f6f858de993d8'] = 'Sei sicuro di voler eliminare tutte le impostazioni?';
$_MODULE['<{trustedshops}prestashop>tsbpexception_79fc246c2b70963d27ebb0e9ebaab349'] = 'Si prega di contattare Trusted Shops a service@trustedshops.co.uk.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_de14ce5aee772cd0330819c0ecf76adb'] = 'Nome utente o password non valida.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_3a2a06b3a1f05cde765219211bf2e9bd'] = 'Nome utente o password non valida.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_43048f232a4ebab67835c425a1113b29'] = 'Hai raggiunto il limite di credito.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_eb601fb44b908fec1ee41383d4d948ac'] = 'Nessun credito a disposizione di Trusted Shops.';
$_MODULE['<{trustedshops}prestashop>tsbpexception_cb71cc86f5c38200b3821adb49966522'] = 'I dati non possono essere salvati.';
@@ -58,7 +59,6 @@ $_MODULE['<{trustedshops}prestashop>tsbuyerprotection_982830b027a279fdc4b4b7993f
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_7e1795d054242cf7c546c1491a7c467d'] = 'DIRECTebanking.com';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_37554cc43c645833d6713b9cddda909b'] = 'moneybookers.com';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9203aec73d2ea1770f66f065c4069816'] = 'Altri metodi di pagamento';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_068ce643ff39bf2189935d14736fd10b'] = 'Sigillo di Approvazione e protezione acquirente';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_f51dabfce0c8ccc01734ed38d8afe27a'] = 'Le funzioni Json devono essere attuate nella tua versione di PHP';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b1801eaadecfddd04529313a1e929262'] = 'Il certificato è valido';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_ce323cb3453812434f9abc007ba7a952'] = 'Il certificato è scaduto';
@@ -78,6 +78,7 @@ $_MODULE['<{trustedshops}prestashop>tsbuyerprotection_97e7c9a7d06eac006a28bf0546
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_259060bb469ed1256c2e758e32da126f'] = 'Il certificato';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_8512ae7d57b1396273f76fe6ed341a23'] = 'lingua';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b18f5630d5ffdfcee5ab0a44ee6e1eb6'] = 'È necessario impostare un nome utente e una password prima di qualsiasi modifica.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_068ce643ff39bf2189935d14736fd10b'] = 'Sigillo di Approvazione e protezione acquirente';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_e32263743aac776e5e32fc385d8b669a'] = 'Trusted Shops è il famoso noto Sigillo di Approvazione per i negozi online che offre anche ai clienti una protezione dell\'acquirente. Nel corso del controllo, il tuo negozio online è sottoposto a test ampi ed approfonditi. Questo controllo, che consta di oltre 100 criteri individuali, si basa sui requisiti di tutela dei consumatori, sulle leggi nazionali ed europee.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_2c786e15a571a442adf85460e6358883'] = 'Più fiducia porta a più vendite!';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_e06f60bb083e167516a94aafd5a3a2e2'] = 'Il sigillo di approvazione Trusted Shops è il modo ottimale per aumentare la fiducia dei tuoi clienti online. Trust aumenta la propensione dei clienti a comprare da te.';
@@ -113,12 +114,8 @@ $_MODULE['<{trustedshops}prestashop>tsbuyerprotection_23a58bf9274bedb19375e527a0
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_fd5291d7f0624933870702ff183bb14e'] = 'modulo di pagamento';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_b3b1a406e097bc87c8745db26e11904e'] = 'Aggiornalo';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_c9ba5f6e6d58162530424afaa68bf496'] = 'Configurazione Cronjob ';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9a82b12b4b1fe9b34ce7c2952f0284d2'] = 'È necessario impostare un cron Task sul server, lavorando con il certificato EXCELLENT.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_c17d7635f5ee99ee25f7f2cc9a672c74'] = 'Il file che devi nominare:';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_a3c2818ac0ecfe9beff0973388eedd69'] = 'Trusted Shops raccomanda che la richiesta sia automatizzata da un cronjob con un intervallo di 10 minuti.';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_9d36bad327b052a9bdec7003f95ce4bd'] = 'Problema con la tua lingua:';
$_MODULE['<{trustedshops}prestashop>tsbuyerprotection_03e9e3ceaf5769311c57b5903a958e94'] = 'L\'acquirente non può acquistare più prodotti Protezione acquirente.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_c006c102f7e2ffef1f7c1808d5e0e54a'] = 'Valutazione del cliente';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_b20a16afda98421bbf7457ccfa50e311'] = 'Questo modulo richiede permessi di scrittura e lettura sulla directory della cache dei moduli.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_0aa7ce92297d05fc09fb9fdbe5da6be6'] = 'Questo modulo richiede l\'estensione SOAP di PHP per funzionare correttamente.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_1097e2b0ee70e248749f0d0a9292df56'] = 'ID Trusted Shops non valido';
@@ -152,12 +149,5 @@ $_MODULE['<{trustedshops}prestashop>trustedshopsrating_866a520be0de10a4fc8958a9e
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_9c6dfeed0caab43f7ff0f6bbd19b27dd'] = 'I tuoi clienti sono felici di aiutarti a ottimizzare il negozio con i loro feedback. Dopotutto, meglio funziona il tuo negozio online, e più soddisfatti saranno i tuoi clienti.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_0fac19c0cc6e205682dd52d61dd5a0a2'] = 'Aumenta la portata tramite Facebook, Twitter e Google';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_afe906fe9448ed1b480b3eec383461de'] = 'I tuoi clienti diffondono opinioni e valutazioni su Facebook e Twitter direttamente ad amici e seguaci. Le valutazioni sono automaticamente elencate nel Google Index e vengono visualizzati in Google Shopping.';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_273769f3a3d91979bfdb5ca4909c517a'] = 'Registrati per la valutazione del cliente Trusted shops';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_2ab78702e34e81e82ca61847300b1618'] = 'Sei soddisfatto di';
$_MODULE['<{trustedshops}prestashop>trustedshopsrating_a11109fe93f6dc4637e5b039651a4fdb'] = '? Scrivi una recensione!';
$_MODULE['<{trustedshops}prestashop>trustedshops_0aa7ce92297d05fc09fb9fdbe5da6be6'] = 'Questo modulo richiede l\'estensione SOAP di PHP per funzionare correttamente.';
$_MODULE['<{trustedshops}prestashop>trustedshops_9a983837b32d42343dc0c62d35b1f955'] = 'Trusted Shops Valutazione del cliente';
$_MODULE['<{trustedshops}prestashop>trustedshops_eeae17826fa637ecca0344165514ab4e'] = 'Accrescere la fiducia dei consumatori e girare più acquirenti in clienti';
$_MODULE['<{trustedshops}prestashop>trustedshops_968e0f78caa7d3245c8f6f858de993d8'] = 'Sei sicuro di voler eliminare tutte le impostazioni?';
?>
+1 -1
View File
@@ -56,7 +56,7 @@ class TSBPException extends Exception
// @todo : don't forget to change email in translation
$mail = self::$translation_object->l('Please contact Trusted Shops at service@trustedshops.co.uk.', TSBPException::$translate_key);
$errors = array(
-10001 => self::$translation_object->l('Username or password invalid.', TSBPException::$translate_key),
-10001 => self::$translation_object->l('Invalid username or password.', TSBPException::$translate_key),
-10002 => self::$translation_object->l('You have reached your credit limit.', TSBPException::$translate_key),
-10011 => self::$translation_object->l('No credit available from Trusted Shops.', TSBPException::$translate_key),
-11111 => self::$translation_object->l('The data could not be saved.', TSBPException::$translate_key),
@@ -1172,9 +1172,9 @@ class TSBuyerProtection extends AbsTrustedShops
$out = '<fieldset>
<legend><img src="../img/admin/warning.gif" alt="" />'.$this->l('Cronjob configuration').'</legend>';
$out .= '<p>'
.$this->l('You need to set a cron Task on your server, working with your EXCELLENT certificate.').'<br />'
.$this->l('The file you need to call:').' <b style="color:red;">'.$this->getCronFilePath().'</b><br />'
.$this->l('Trusted Shops recommends that the request should be automated by a cronjob with an interval of 10 minutes.')
.$this->l('If you are using a Trusted Shops EXCELLENCE cetificate in your shop, set up a cron job on your web server.').'<br />'
.$this->l('Run the script file ').' <b style="color:red;">'.$this->getCronFilePath().'</b> '.$this->l('with an interval of 10 minutes.').'<br /><br />'
.$this->l('The corresponding line in your cron file may look like this:').' <br /><b style="color:red;">*/10 * * * * '.$this->getCronFilePath().'>/dev/null 2>&1</b><br />'
.'</p>';
$out .= '</fieldset>';
return $out;
@@ -359,7 +359,15 @@ class TrustedShopsRating extends AbsTrustedShops
public function displayInformationsPage()
{
global $cookie;
$link = '';
if (strtolower(Language::getIsoById((int)$cookie->id_lang)) == 'de')
$link = '<p><b><a style="text-decoration: underline; font-weight: bold; color: #0000CC;" target="_blank" href="https://www.trustedshops.de/shopbetreiber/kundenbewertung_anmeldung.html?partnerPackage=PrestaShop&ratingProduct=RATING_PRO&et_cid=14en&et_lid=29069" target="_blank">Jetzt bei Trusted Shops anmelden!</a></b></p><br />';
if (strtolower(Language::getIsoById((int)$cookie->id_lang)) == 'en')
$link = '<p><b><a style="text-decoration: underline; font-weight: bold; color: #0000CC;" target="_blank" href="http://www.trustedshops.com/merchants/membership.html?shopsw=PRESTA&et_cid=53&et_lid=3361" target="_blank">Apply now!</a></b></p><br />';
if (strtolower(Language::getIsoById((int)$cookie->id_lang)) == 'fr')
$link = '<p><b><a style="text-decoration: underline; font-weight: bold; color: #0000CC;" target="_blank" href="http://www.trustedshops.fr/marchands/tarifs.html?shopsw=PRESTA&et_cid=53&et_lid=3362" target="_blank">Enregistrement Trusted Shops</a></b></p><br />';
return '<fieldset>
<legend><img src="'.__PS_BASE_URI__.'modules/'.self::$module_name.'/logo.gif" alt="" />'.$this->l('Learn More').'</legend>