// Merge -> revision 7979

This commit is contained in:
rMalie
2011-08-10 08:36:17 +00:00
parent 894ee5e00b
commit 792ce71cd4
26 changed files with 262 additions and 55 deletions

View File

@@ -662,6 +662,14 @@ if (Tools::isSubmit('getAdminHomeElement'))
$result['partner_preactivation'] = 'NOK';
}
// PREACTIVATION PAYPAL WARNING
$content = @file_get_contents('https://www.prestashop.com/partner/preactivation/preactivation-warnings.php?version=1.0&partner=paypal&iso_country='.Tools::strtolower(Country::getIsoById(Configuration::get('PS_COUNTRY_DEFAULT'))).'&iso_lang='.Tools::strtolower(Language::getIsoById(intval($cookie->id_lang))).'&id_lang='.(int)$cookie->id_lang.'&email='.urlencode(Configuration::get('PS_SHOP_EMAIL')).'&security='.md5(Configuration::get('PS_SHOP_EMAIL')._COOKIE_IV_), false, $stream_context);
$content = explode('|', $content);
if ($content[0] == 'OK')
Configuration::updateValue('PS_PREACTIVATION_PAYPAL_WARNING', $content[1]);
else
Configuration::updateValue('PS_PREACTIVATION_PAYPAL_WARNING', '');
// DISCOVER PRESTASHOP
$content = @file_get_contents($protocol.'://www.prestashop.com/partner/prestashop/prestashop-link.php?iso_country='.$isoCountry.'&iso_lang='.Tools::strtolower($isoUser).'&id_lang='.(int)$cookie->id_lang, false, $stream_context);
if (!$content)

View File

@@ -117,12 +117,13 @@ foreach (QuickAccess::getQuickAccesses((int)($cookie->id_lang)) AS $quick)
echo ' </select>
</div>';
if (Shop::isMultiShopActivated())
echo '<div id="header_shoplist">'.translate('Select your shop:').' '.generateShopList().'</div>';
if (Shop::isMultiShopActivated())
echo '<div id="header_shoplist">'.translate('Select your shop:').' '.generateShopList().'</div>';
echo '<div class="flatclear">&nbsp;</div>';
echo Module::hookExec('backOfficeTop');
echo '<ul id="menu">';
echo ' <div class="flatclear">&nbsp;</div>
'.Module::hookExec('backOfficeTop').'
<ul id="menu">';
if (empty($tab))
echo '<div class="mainsubtablist" style="display:none"></div>';

View File

@@ -32,5 +32,6 @@ if (substr(_COOKIE_KEY_, 34, 8) != Tools::getValue('token'))
ini_set('max_execution_time', 7200);
Search::indexation(Tools::getValue('full'));
if (Tools::getValue('redirect'))
Tools::redirectAdmin($_SERVER['HTTP_REFERER'].'&conf=4');

View File

@@ -148,7 +148,7 @@ class AdminCurrencies extends AdminTab
<fieldset>
<legend><img src="../img/admin/tab-tools.gif" />'.$this->l('Currency rates update').'</legend>
<p>'.$this->l('Place this URL in crontab or call it manually daily').':<br />
<b>'.Tools::getShopDomain(true, true).__PS_BASE_URI__.$adminDir.DIRECTORY_SEPARATOR.'cron_currency_rates.php?secure_key='.md5(_COOKIE_KEY_.Configuration::get('PS_SHOP_NAME')).'</b></p>
<b>'.Tools::getShopDomain(true, true). __PS_BASE_URI__.$adminDir.'/cron_currency_rates.php?secure_key='.md5(_COOKIE_KEY_.Configuration::get('PS_SHOP_NAME')).'</b></p>
</fieldset>';
}

View File

@@ -343,7 +343,7 @@ class AdminGroups extends AdminTab
$groupReduction = new GroupReduction((int)($id_group_reductions[$key]));
$groupReduction->reduction = $reductions[$key] / 100;
if (!$groupReduction->update())
$this->errors[] = Tools::displayError('Cannot update group reductions');
$this->_errors[] = Tools::displayError('Cannot update group reductions');
}
if (!sizeof($this->_errors))
parent::postProcess();

View File

@@ -957,7 +957,7 @@ class AdminImport extends AdminTab
break;
}
if (!$id_image)
$this->_warnings[] = Tools::displayError('No image found for combination with id_product = '.$product->id.' and image position = '.(int)$info['image_position'].'.');
$this->_warnings[] = sprintf(Tools::displayError('No image found for combination with id_product = %s and image position = %s.'), $product->id, (int)$info['image_position']);
}
$id_product_attribute = $product->addProductAttribute((float)($info['price']), (float)($info['weight']), 0, (float)($info['ecotax']), (int)($info['quantity']), $id_image, strval($info['reference']), strval($info['supplier_reference']), strval($info['ean13']), (int)($info['default_on']), strval($info['upc']));

View File

@@ -287,6 +287,7 @@ class AdminProducts extends AdminTab
if ($product->add()
AND Category::duplicateProductCategories($id_product_old, $product->id)
AND ($combinationImages = Product::duplicateAttributes($id_product_old, $product->id)) !== false
AND GroupReduction::duplicateReduction($id_product_old, $product->id)
AND Product::duplicateAccessories($id_product_old, $product->id)
AND Product::duplicateFeatures($id_product_old, $product->id)
AND Product::duplicateSpecificPrices($id_product_old, $product->id)

View File

@@ -84,8 +84,8 @@ class AdminSearchConf extends AdminPreferences
'.$this->l('Indexed products:').' <b>'.(int)($indexed).' / '.(int)($total).'</b>.
</p>
<p>'.$this->l('Building the product index can take a few minutes or more. If your server stop the process before it ends, you can resume the indexation by clicking "Add missing products".').'</p>
-&gt; <a href="searchcron.php?token='.substr(_COOKIE_KEY_, 34, 8).'" class="bold">'.$this->l('Add missing products to index.').'</a><br />
-&gt; <a href="searchcron.php?full=1&token='.substr(_COOKIE_KEY_, 34, 8).'" class="bold">'.$this->l('Re-build entire index.').'</a><br /><br />
-&gt; <a href="searchcron.php?token='.substr(_COOKIE_KEY_, 34, 8).'&redirect=1" class="bold">'.$this->l('Add missing products to index.').'</a><br />
-&gt; <a href="searchcron.php?full=1&token='.substr(_COOKIE_KEY_, 34, 8).'&redirect=1" class="bold">'.$this->l('Re-build entire index.').'</a><br /><br />
'.$this->l('You can set a cron job that will re-build your index using the following URL:').' <a href="'.$cronUrl.'">'.$cronUrl.'</a>.
</fieldset>
<div class="clear">&nbsp;</div>';

View File

@@ -312,6 +312,12 @@ class CategoryCore extends ObjectModel
self::regenerateEntireNtree();
Module::hookExec('categoryDeletion', array('category' => $this));
/* Delete Categories in GroupReduction */
foreach ($toDelete AS $category)
if (GroupReduction::getGroupReductionByCategoryId((int)$category))
GroupReduction::deleteCategory($category);
return true;
}

View File

@@ -55,12 +55,25 @@ class GroupReductionCore extends ObjectModel
public function update($nullValues = false)
{
return (parent::update($nullValues) AND $this->_clearCache() AND $this->_setCache());
return (parent::update($nullValues) AND $this->_updateCache());
}
public function delete()
{
return $this->_clearCache() AND parent::delete();
$resource = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT cp.`id_product`
FROM `'._DB_PREFIX_.'category_product` cp
INNER JOIN `'._DB_PREFIX_.'product` p ON (p.`id_product` = cp.`id_product`)
WHERE cp.`id_category` = '.(int)($this->id_category)
, false);
while ($row = Db::getInstance()->nextRow($resource))
{
$query = 'DELETE FROM `'._DB_PREFIX_.'product_group_reduction_cache` WHERE `id_product` = '.(int)($row['id_product']);
if (Db::getInstance()->Execute($query) === false)
return false;
}
return ($this->_clearCache() AND parent::delete());
}
protected function _clearCache()
@@ -70,21 +83,47 @@ class GroupReductionCore extends ObjectModel
protected function _setCache()
{
$resource = Db::getInstance()->ExecuteS('
$resource = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT cp.`id_product`
FROM `'._DB_PREFIX_.'category_product` cp
INNER JOIN `'._DB_PREFIX_.'product` p ON (p.`id_product` = cp.`id_product`)
WHERE cp.`id_category` = '.(int)($this->id_category)
, false);
$query = 'INSERT INTO `'._DB_PREFIX_.'product_group_reduction_cache` (`id_product`, `id_group`, `reduction`) VALUES ';
$updated = false;
while ($row = Db::getInstance()->nextRow($resource))
{
$query .= '('.(int)($row['id_product']).', '.(int)($this->id_group).', '.(float)($this->reduction).'), ';
return Db::getInstance()->Execute(rtrim($query, ', '));
$updated = true;
}
if ($updated)
return (Db::getInstance()->Execute(rtrim($query, ', ')));
return true;
}
protected function _updateCache()
{
$resource = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT cp.`id_product`
FROM `'._DB_PREFIX_.'category_product` cp
INNER JOIN `'._DB_PREFIX_.'product` p ON (p.`id_product` = cp.`id_product`)
WHERE cp.`id_category` = '.(int)($this->id_category)
, false);
while ($row = Db::getInstance()->nextRow($resource))
{
$query = 'UPDATE `'._DB_PREFIX_.'product_group_reduction_cache` SET `reduction` = '.(float)($this->reduction).' WHERE `id_product` = '.(int)($row['id_product']).' AND `id_group` = '.(int)($this->id_group);
if (Db::getInstance()->Execute($query) === false)
return false;
}
return true;
}
public static function getGroupReductions($id_group, $id_lang)
{
return Db::getInstance()->ExecuteS('
return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT gr.`id_group_reduction`, gr.`id_group`, gr.`id_category`, gr.`reduction`, cl.`name` AS category_name
FROM `'._DB_PREFIX_.'group_reduction` gr
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (cl.`id_category` = gr.`id_category` AND cl.`id_lang` = '.(int)($id_lang).')
@@ -103,6 +142,73 @@ class GroupReductionCore extends ObjectModel
{
return (bool)Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('SELECT `id_group` FROM `'._DB_PREFIX_.'group_reduction` WHERE `id_group` = '.(int)($id_group).' AND `id_category` = '.(int)($id_category));
}
public function getGroupByCategoryId($id_category)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
SELECT gr.`id_group` as id_group, gr.`reduction` as reduction
FROM `'._DB_PREFIX_.'group_reduction` gr
WHERE `id_category` = '.(int)$id_category
, false);
}
public function getGroupReductionByCategoryId($id_category)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
SELECT gr.`id_group_reduction` as id_group_reduction
FROM `'._DB_PREFIX_.'group_reduction` gr
WHERE `id_category` = '.(int)$id_category
, false);
}
public function setProductReduction($id_product, $id_group, $id_category, $reduction)
{
$row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
SELECT pgr.`id_product`, pgr.`id_group`, pgr.`reduction`
FROM `'._DB_PREFIX_.'product_group_reduction_cache` pgr
WHERE pgr.`id_product` = '.(int)$id_product
);
if (Db::getInstance()->NumRows() == 0)
{
$query = 'INSERT INTO `'._DB_PREFIX_.'product_group_reduction_cache` (`id_product`, `id_group`, `reduction`) VALUES ';
$query .= '('.(int)($id_product).', '.(int)($id_group).', '.(float)($reduction).')';
}
else
$query = 'UPDATE `'._DB_PREFIX_.'product_group_reduction_cache` SET `reduction` = '.(float)($reduction).' WHERE `id_product` = '.(int)($id_product).' AND `id_group` = '.(int)($id_group);
return (Db::getInstance()->Execute($query));
}
public function deleteProductReduction($id_product)
{
$query = 'DELETE FROM `'._DB_PREFIX_.'product_group_reduction_cache` WHERE `id_product` = '.(int)($id_product);
if (Db::getInstance()->Execute($query) === false)
return false;
return true;
}
public function duplicateReduction($id_product_old, $id_product)
{
$row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
SELECT pgr.`id_product`, pgr.`id_group`, pgr.`reduction`
FROM `'._DB_PREFIX_.'product_group_reduction_cache` pgr
WHERE pgr.`id_product` = '.(int)$id_product_old
);
if (!$row)
return false;
$query = 'INSERT INTO `'._DB_PREFIX_.'product_group_reduction_cache` (`id_product`, `id_group`, `reduction`) VALUES ';
$query .= '('.(int)($id_product).', '.(int)($row['id_group']).', '.(float)($row['reduction']).')';
return (Db::getInstance()->Execute($query));
}
public function deleteCategory($id_category)
{
$query = 'DELETE FROM `'._DB_PREFIX_.'group_reduction` WHERE `id_category` = '.(int)($id_category);
if (Db::getInstance()->Execute($query) === false)
return false;
return true;
}
}

View File

@@ -887,10 +887,10 @@ abstract class ObjectModelCore
public static function existsInDatabase($id_entity, $table)
{
$row = Db::getInstance()->getRow('
SELECT `id_'.$table.'`
SELECT `id_'.$table.'` as id
FROM `'._DB_PREFIX_.$table.'` e
WHERE e.`id_'.$table.'` = '.(int)($id_entity));
return isset($row['id_product']);
return isset($row['id']);
}
}

View File

@@ -573,6 +573,9 @@ class ProductCore extends ObjectModel
public function delete()
{
if (!GroupReduction::deleteProductReduction($this->id))
return false;
Hook::deleteProduct($this);
if (!parent::delete() OR
!$this->deleteCategories(true) OR
@@ -683,6 +686,9 @@ class ProductCore extends ObjectModel
if (!$this->addToCategories($categories))
return false;
if (!$this->setGroupReduction($categories))
return false;
return true;
}
@@ -3419,4 +3425,29 @@ class ProductCore extends ObjectModel
SET ecotax = 0
');
}
/**
* Set Group reduction if needed
* @param string $productCategories Categories the product belongs to
*/
public function setGroupReduction($categories)
{
if (sizeof($categories) > 1) // Use category_default id if more than 1 category
$row = GroupReduction::getGroupByCategoryId((int)$this->id_category_default);
else
$row = GroupReduction::getGroupByCategoryId((int)array_pop($categories));
if (!$row)
{
// Then Remove
if (!GroupReduction::deleteProductReduction($this->id))
return false;
}
else
{
if (!GroupReduction::setProductReduction($this->id, $row['id_group'], $category, $row['reduction'])) // Add or Edit
return false;
}
return true;
}
}

View File

@@ -70,7 +70,10 @@ class ToolsCore
}
$explode = explode('?', $url);
$url = $link->getPageLink($explode[0], true);
// don't use ssl if url is home page
// used when logout for example
$useSSL = !empty($url);
$url = $link->getPageLink($explode[0], $useSSL);
if (isset($explode[1]))
$url .= '?'.$explode[1];
$baseUri = '';

View File

@@ -1318,7 +1318,7 @@ if ($lm->getIncludeTradFilename())
</div>
<?php
if (@fsockopen('addons.prestashop.com', 80, $errno, $errst, 3)): ?>
<iframe src="http://addons.prestashop.com/psinstall.php?lang=<?php echo $lm->getIsoCodeSelectedLang(); ?>" scrolling="no" id="prestastore_update">
<iframe src="http://addons.prestashop.com/psinstall.php" scrolling="no" id="prestastore_update">
<p>Your browser does not support iframes.</p>
</iframe>
<?php

View File

@@ -969,7 +969,7 @@ INSERT INTO `PREFIX_meta_lang` (`id_meta`, `id_shop`, `id_lang`, `title`, `descr
(4, 1, 5, '', 'Negozio powered by PrestaShop', 'negozio, prestashop', ''),
(5, 1, 5, 'Produttori', 'Elenco produttori', 'produttore', 'produttori'),
(6, 1, 5, 'Nuovi prodotti', 'I nostri nuovi prodotti', 'nuovi, prodotti', 'nuovi-prodotti'),
(7, 1, 5, 'Hai dimenticato la password', 'Inserisci l\'indirizzo e-mail usato per registrarti per poter ottenere una e-mail with con la tua nuova password', 'dimenticato, password, e-mail, nuovo, reset', 'password-recupero'),
(7, 1, 5, 'Hai dimenticato la password', 'Inserisci l''indirizzo e-mail usato per registrarti per poter ottenere una e-mail with con la tua nuova password', 'dimenticato, password, e-mail, nuovo, reset', 'password-recupero'),
(8, 1, 5, 'Riduzioni prezzi', 'I nostri prodotti speciali', 'speciali, riduzione prezzi', 'riduzione-prezzi'),
(9, 1, 5, 'Mappa del sito', 'Ti sei perso? Trova quello che stai cercando', 'sitemap', 'sitemap'),
(10, 1, 5, 'Fornitori', 'Elenco fornitori', 'fornitori', 'fornitore'),
@@ -1029,9 +1029,9 @@ INSERT INTO `PREFIX_cms_lang` (`id_cms`, `id_lang`, `meta_title`, `meta_descript
(3, 4, 'Allgemeine Nutzungsbedingungen', 'Unsere allgemeinen Nutzungsbedingungen', 'Voraussetzungen, Bedingungen, nutzen, verkaufen', '<h2>Your terms and conditions of use</h2><h3>Rule 1</h3><p>Here is the rule 1 content</p>\r\n<h3>Rule 2</h3><p>Here is the rule 2 content</p>\r\n<h3>Rule 3</h3><p>Here is the rule 3 content</p>', 'allgemeine-nutzungsbedingungen'),
(4, 4, 'Über uns', 'Learn more about us', 'über uns, Informationen', '<h2>About us</h2>\r\n<h3>Our company</h3><p>Our company</p>\r\n<h3>Our team</h3><p>Our team</p>\r\n<h3>Informations</h3><p>Informations</p>', 'uber-uns'),
(5, 4, 'Sichere Zahlung', 'Unsere Sicherheits-Zahlungsmethoden', 'Sichere Zahlung, SSL, Visa, MasterCard, PayPal', '<h2>Secure payment</h2>\r\n<h3>Our secure payment</h3><p>With SSL</p>\r\n<h3>Using Visa/Mastercard/Paypal</h3><p>About this services</p>', 'sichere-zahlung'),
(1, 5, 'Consegna', 'I nostri termini e condizioni di consegna', 'condizioni, consegna, tempo, spedizione, pacco', '<h2>Spedizioni e resi</h2><h3>Spedizione del tuo pacco</h3><p>I pacchi sono solitamente spediti entro 2 giorni dopo il ricevimento del pagamento e inviati tramite UPS con controllo e consegna senza firma. Se preferisci una consegna con UPS Extra con richiesta di firma, sarà applicato un costo aggiuntivo, pertanto contattaci prima di scegliere questo mezzo. Qualunque tipo di spedizione tu scelga, ti garantiremo un link per controllare online il percorso del tuo pacco.</p><p>Le spese di spedizione comprendono le spese di imballaggio e affrancatura. Le spese di imballaggio sono fisse, mentre quelle di trasporto variano in base al peso totale della spedizione. Ti consigliamo di raggruppare i tuoi articoli in un unico ordine. Non possiamo raggruppare due ordini distinti eseguiti separatamente, e ad ognuno di esso saranno applicate le spese di spedizione. Il tuo pacco sarà inviato sotto la tua responsabilità, ma un\'attenzione particolare è riservata agli oggetti fragili.<br /><br />Le scatole hanno dimensioni ragionevoli e i tuoi articoli sono ben protetti.</p>', 'consegna'),
(1, 5, 'Consegna', 'I nostri termini e condizioni di consegna', 'condizioni, consegna, tempo, spedizione, pacco', '<h2>Spedizioni e resi</h2><h3>Spedizione del tuo pacco</h3><p>I pacchi sono solitamente spediti entro 2 giorni dopo il ricevimento del pagamento e inviati tramite UPS con controllo e consegna senza firma. Se preferisci una consegna con UPS Extra con richiesta di firma, sarà applicato un costo aggiuntivo, pertanto contattaci prima di scegliere questo mezzo. Qualunque tipo di spedizione tu scelga, ti garantiremo un link per controllare online il percorso del tuo pacco.</p><p>Le spese di spedizione comprendono le spese di imballaggio e affrancatura. Le spese di imballaggio sono fisse, mentre quelle di trasporto variano in base al peso totale della spedizione. Ti consigliamo di raggruppare i tuoi articoli in un unico ordine. Non possiamo raggruppare due ordini distinti eseguiti separatamente, e ad ognuno di esso saranno applicate le spese di spedizione. Il tuo pacco sarà inviato sotto la tua responsabilità, ma un''attenzione particolare è riservata agli oggetti fragili.<br /><br />Le scatole hanno dimensioni ragionevoli e i tuoi articoli sono ben protetti.</p>', 'consegna'),
(2, 5, 'Nota Legale', 'Nota legale', 'nota, legale, crediti', '<h2>Legale</h2><h3>Crediti</h3><p>Creazione e produzione:</p><p>Questo sito web è stato realizzato usando un software open-source<a href="http://www.prestashop.com">PrestaShop</a>&trade;.</p>', 'nota-legale'),
(3, 5, 'Termini e condizioni d\'uso', 'I nostri termini e condizioni d\'uso', 'condizioni, termini, uso, vendi', '<h2>I tuoi termini e condizioni d\'uso</h2><h3>Regola 1</h3><p>Ecco il contenuto della regola 1</p>\r\n<h3>Regola 2</h3><p>Ecco il contenuto della regola 2</p>\r\n<h3>Regola 3</h3><p>Ecco il contenuto della regola 3</p>', 'termini-e-condizioni-di-uso'),
(3, 5, 'Termini e condizioni d''uso', 'I nostri termini e condizioni d''uso', 'condizioni, termini, uso, vendi', '<h2>I tuoi termini e condizioni d''uso</h2><h3>Regola 1</h3><p>Ecco il contenuto della regola 1</p>\r\n<h3>Regola 2</h3><p>Ecco il contenuto della regola 2</p>\r\n<h3>Regola 3</h3><p>Ecco il contenuto della regola 3</p>', 'termini-e-condizioni-di-uso'),
(4, 5, 'Chi siamo', 'Per sapere chi siamo', 'chi siamo, informazioni', '<h2>Chi siamo</h2>\r\n<h3>La nostra azienda</h3><p>La nostra azienda</p>\r\n<h3>Il nostro team</h3><p>Il nostro team</p>\r\n<h3>Informazioni</h3><p>Informazioni</p>', 'chi-siamo'),
(5, 5, 'Pagamento sicuro', 'Il nostro mezzo di pagamento sicuro', 'pagamento sicuro, ssl, visa, mastercard, paypal', '<h2>Pagamento sicuro</h2>\r\n<h3>Il nostro pagamento sicuro</h3><p>Con SSL</p>\r\n<h3>Usando Visa/Mastercard/Paypal</h3><p>Cosa sono questi servizi</p>', 'pagamento-sicuro');
@@ -1189,3 +1189,13 @@ INSERT INTO `PREFIX_shop` (`id_shop`, `id_group_shop`, `name`, `id_category`, `i
INSERT INTO `PREFIX_configuration` (`id_configuration`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, 'PS_SHOP_DEFAULT', '1', NOW(), NOW());
INSERT INTO `PREFIX_theme` (`id_theme`, `name`) VALUES (1, 'prestashop');
UPDATE `PREFIX_address_format` set `format`= 'firstname lastname
company
vat_number
address1
address2
postcode city
State:name
Country:name
phone' where `id_country`=10;

View File

@@ -644,12 +644,12 @@ ul#optional {list-style-type:none;}
#prestastore,
#prestastore_update {
height:170px;
height:210px;
width:645px;
border:1px solid #ccc;
-moz-border-radius: 5px;
border:none;
/*-moz-border-radius: 5px;
-webkit-border-radius:5px;
border-radius: 5px
border-radius: 5px*/
}
/* MISE A JOUR ********************************************************************************* */

View File

@@ -439,7 +439,7 @@ class BlockLayered extends Module
$.ajax(
{
type: \'GET\',
url: '.__PS_BASE_URI__.' + \'modules/blocklayered/blocklayered-ajax-back.php\',
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)
{

View File

@@ -935,7 +935,7 @@ class eBayRequest
function getOrders($CreateTimeFrom, $CreateTimeTo)
function getOrders($CreateTimeFrom, $CreateTimeTo, $page)
{
// Check data
if (!$CreateTimeFrom || !$CreateTimeTo)
@@ -953,6 +953,11 @@ class eBayRequest
$requestXml .= ' <CreateTimeFrom>'.$CreateTimeFrom.'</CreateTimeFrom>'."\n";
$requestXml .= ' <CreateTimeTo>'.$CreateTimeTo.'</CreateTimeTo>'."\n";
$requestXml .= ' <OrderRole>Seller</OrderRole>'."\n";
$requestXml .= ' <OrderStatus>Completed</OrderStatus>'."\n";
$requestXml .= ' <Pagination>'."\n";
$requestXml .= ' <EntriesPerPage>100</EntriesPerPage>'."\n";
$requestXml .= ' <PageNumber>'.$page.'</PageNumber>'."\n";
$requestXml .= ' </Pagination>'."\n";
$requestXml .= ' <RequesterCredentials>'."\n";
$requestXml .= ' <eBayAuthToken>'.Configuration::get('EBAY_API_TOKEN').'</eBayAuthToken>'."\n";
$requestXml .= ' </RequesterCredentials>'."\n";
@@ -992,19 +997,25 @@ class eBayRequest
$transaction = $order->TransactionArray->Transaction[$i];
$id_product = 0;
$id_attribute = 0;
$id_product_attribute = 0;
$quantity = (string)$transaction->QuantityPurchased;
if (isset($transaction->item->SKU))
{
$tmp = explode('-', (string)$transaction->item->SKU);
if (isset($tmp[1]))
$id_product = $tmp[1];
}
if (isset($transaction->Variation->SKU))
{
$tmp = explode('-', (string)$transaction->Variation->SKU);
if (isset($tmp[1]))
$id_product = $tmp[1];
if (isset($tmp[2]))
$id_product_attribute = $tmp[2];
}
$id_product = (int)Db::getInstance()->getValue('SELECT `id_product` FROM `'._DB_PREFIX_.'product` WHERE `id_product` = '.(int)$id_product);
$id_product_attribute = (int)Db::getInstance()->getValue('SELECT `id_product_attribute` FROM `'._DB_PREFIX_.'product_attribute` WHERE `id_product` = '.(int)$id_product.' AND `id_product_attribute` = '.(int)$id_product_attribute);
if ($id_product > 0)
$itemList[] = array('id_product' => $id_product, 'id_product_attribute' => $id_product_attribute, 'quantity' => $quantity, 'price' => (string)$transaction->TransactionPrice);
else
@@ -1025,7 +1036,7 @@ class eBayRequest
SELECT `id_product` FROM `'._DB_PREFIX_.'product`
WHERE `reference` = \''.pSQL($reference).'\'');
if ((int)$id_product > 0)
$itemList[] = array('id_product' => $id_product, 'quantity' => $quantity, 'price' => (string)$transaction->TransactionPrice);
$itemList[] = array('id_product' => $id_product, 'id_product_attribute' => 0, 'quantity' => $quantity, 'price' => (string)$transaction->TransactionPrice);
else
{
$row = Db::getInstance()->getValue('
@@ -1057,7 +1068,7 @@ class eBayRequest
'shippingServiceCost' => (string)$order->ShippingServiceSelected->ShippingServiceCost,
'email' => (string)$order->TransactionArray->Transaction[0]->Buyer->Email,
'product_list' => $itemList,
'object' => $order
//'object' => $order
);
}

View File

@@ -318,7 +318,19 @@ class Ebay extends Module
if (Configuration::get('EBAY_ORDER_LAST_UPDATE') < date('Y-m-d', strtotime('-45 minutes')).'T'.date('H:i:s', strtotime('-45 minutes')).'.000Z')
{
$ebay = new eBayRequest();
$orderList = $ebay->getOrders(date('Y-m-d', strtotime('-30 days')).'T'.date('H:i:s', strtotime('-30 days')).'.000Z', $dateNew);
$page = 1;
$orderList = array();
$orderCount = 0;
$orderCountTmp = 100;
while ($orderCountTmp == 100 && $page < 10)
{
$orderListTmp = $ebay->getOrders(date('Y-m-d', strtotime('-30 days')).'T'.date('H:i:s', strtotime('-30 days')).'.000Z', $dateNew, $page);
$orderCountTmp = count($orderListTmp);
$orderList = array_merge((array)$orderList, (array)$orderListTmp);
$orderCount += $orderCountTmp;
$page++;
}
if ($orderList)
foreach ($orderList as $order)
@@ -377,12 +389,13 @@ class Ebay extends Module
{
if ((int)$product['id_product'] < 1 || !Db::getInstance()->getValue('SELECT `id_product` FROM `'._DB_PREFIX_.'product` WHERE `id_product` = '.(int)$product['id_product']))
$flag = 0;
if (isset($product['id_product_attribute']) && !Db::getInstance()->getValue('SELECT `id_product_attribute` FROM `'._DB_PREFIX_.'product_attribute` WHERE `id_product` = '.(int)$product['id_product'].' AND `id_product_attribute` = '.(int)$product['id_product_attribute']))
if (isset($product['id_product_attribute']) && $product['id_product_attribute'] > 0 && !Db::getInstance()->getValue('SELECT `id_product_attribute` FROM `'._DB_PREFIX_.'product_attribute` WHERE `id_product` = '.(int)$product['id_product'].' AND `id_product_attribute` = '.(int)$product['id_product_attribute']))
$flag = 0;
}
if ($flag == 1)
{
$cartNbProducts = 0;
$cartAdd = new Cart();
$cartAdd->id_customer = $id_customer;
$cartAdd->id_address_invoice = $id_address;
@@ -392,9 +405,13 @@ class Ebay extends Module
$cartAdd->id_currency = Currency::getIdByIsoCode('EUR');
$cartAdd->add();
foreach ($order['product_list'] as $product)
$cartAdd->updateQty((int)($product['quantity']), (int)($product['id_product']), (isset($product['id_product_attribute']) ? $product['id_product_attribute'] : NULL));
if ($cartAdd->updateQty((int)($product['quantity']), (int)($product['id_product']), ((isset($product['id_product_attribute']) && $product['id_product_attribute'] > 0) ? $product['id_product_attribute'] : NULL)))
$cartNbProducts++;
$cartAdd->update();
// Check number of products in the cart
if ($cartNbProducts > 0)
{
// Fix on sending e-mail
Db::getInstance()->autoExecute(_DB_PREFIX_.'customer', array('email' => 'NOSEND-EBAY'), 'UPDATE', '`id_customer` = '.(int)$id_customer);
$customerClear = new Customer();
@@ -427,6 +444,7 @@ class Ebay extends Module
}
}
}
}
Configuration::updateValue('EBAY_ORDER_LAST_UPDATE', $dateNew);
}

View File

@@ -2,7 +2,7 @@
<module>
<name>paypal</name>
<displayName><![CDATA[PayPal]]></displayName>
<version><![CDATA[2.6]]></version>
<version><![CDATA[2.7]]></version>
<description><![CDATA[Accepts payments by credit cards (CB, Visa, MasterCard, Amex, Aurore, Cofinoga, 4 stars) with PayPal.]]></description>
<author><![CDATA[]]></author>
<tab><![CDATA[payments_gateways]]></tab>

View File

@@ -39,7 +39,7 @@ class PayPal extends PaymentModule
{
$this->name = 'paypal';
$this->tab = 'payments_gateways';
$this->version = '2.6';
$this->version = '2.7';
$this->currencies = true;
$this->currencies_mode = 'radio';
@@ -57,17 +57,20 @@ class PayPal extends PaymentModule
if (file_exists(_PS_ROOT_DIR_.'/modules/paypalapi/paypalapi.php') AND $this->active)
$this->warning = $this->l('All features of Paypal API module are be include in the new Paypal module. In order to don\'t have any conflict, please don\'t use and remove PayPalAPI module.');
$stream_context = stream_context_create(array('http' => array('method'=>"GET", 'timeout' => 5)));
$content = @file_get_contents('https://www.prestashop.com/partner/preactivation/preactivation-warnings.php?version=1.0&partner=paypal&iso_country='.Tools::strtolower(Country::getIsoById(Configuration::get('PS_COUNTRY_DEFAULT'))).'&iso_lang='.Tools::strtolower($this->context->language->iso_code).'&id_lang='.(int)$this->context->language->id.'&email='.urlencode(Configuration::get('PS_SHOP_EMAIL')).'&security='.md5(Configuration::get('PS_SHOP_EMAIL')._COOKIE_IV_), false, $stream_context);
/* For 1.4.3 and less compatibility */
$updateConfig = array('PS_OS_CHEQUE', 'PS_OS_PAYMENT', 'PS_OS_PREPARATION', 'PS_OS_SHIPPING', 'PS_OS_CANCELED', 'PS_OS_REFUND', 'PS_OS_ERROR', 'PS_OS_OUTOFSTOCK', 'PS_OS_BANKWIRE', 'PS_OS_PAYPAL', 'PS_OS_WS_PAYMENT');
if (!Configuration::get('PS_OS_PAYMENT'))
foreach ($updateConfig as $u)
if (!Configuration::get($u) && defined('_'.$u.'_'))
Configuration::updateValue($u, constant('_'.$u.'_'));
$content = explode('|', $content);
if ($content[0] == 'OK')
/* Check preactivation warning */
if (Configuration::get('PS_PREACTIVATION_PAYPAL_WARNING'))
{
if (!empty($this->warning))
$this->warning .= ', ';
$this->warning .= $content[1];
$this->warning .= Configuration::get('PS_PREACTIVATION_PAYPAL_WARNING');
}
}
public function install()
@@ -91,11 +94,6 @@ class PayPal extends PaymentModule
return $this->_checkAndUpdateFromOldVersion(true);
}
/* For 1.4.3 and less compatibility */
$updateConfig = array('PS_OS_CHEQUE', 'PS_OS_PAYMENT', 'PS_OS_PREPARATION', 'PS_OS_SHIPPING', 'PS_OS_CANCELED', 'PS_OS_REFUND', 'PS_OS_ERROR', 'PS_OS_OUTOFSTOCK', 'PS_OS_BANKWIRE', 'PS_OS_PAYPAL', 'PS_OS_WS_PAYMENT');
foreach ($updateConfig as $u)
if (!Configuration::get($u) && defined('_'.$u.'_'))
Configuration::updateValue($u, constant('_'.$u.'_'));
/* Set database */
if (!Db::getInstance()->Execute('CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'paypal_order` (
@@ -1202,12 +1200,6 @@ class PayPal extends PaymentModule
$this->registerHook('cancelProduct');
$this->registerHook('adminOrder');
/* For 1.4.3 and less compatibility */
$updateConfig = array('PS_OS_CHEQUE', 'PS_OS_PAYMENT', 'PS_OS_PREPARATION', 'PS_OS_SHIPPING', 'PS_OS_CANCELED', 'PS_OS_REFUND', 'PS_OS_ERROR', 'PS_OS_OUTOFSTOCK', 'PS_OS_BANKWIRE', 'PS_OS_PAYPAL', 'PS_OS_WS_PAYMENT');
foreach ($updateConfig as $u)
if (!Configuration::get($u) && defined('_'.$u.'_'))
Configuration::updateValue($u, constant('_'.$u.'_'));
/* Create OrderState */
if (!Configuration::get('PAYPAL_OS_AUTHORIZATION'))
{

View File

@@ -1222,7 +1222,6 @@ span.view_scroll_spacer {
border: solid 1px #d0d3d8;
padding: 0.6em;
margin-bottom: 1.5em;
height: 84px;
}
#suppliers_list li a, #manufacturers_list li a {
text-decoration: none;

View File

@@ -46,7 +46,7 @@
{if $nbManufacturers > 0}
<ul id="manufacturers_list">
{foreach from=$manufacturers item=manufacturer name=manufacturers}
<li class="{if $smarty.foreach.manufacturers.first}first_item{elseif $smarty.foreach.manufacturers.last}last_item{else}item{/if}">
<li class="clearfix {if $smarty.foreach.manufacturers.first}first_item{elseif $smarty.foreach.manufacturers.last}last_item{else}item{/if}">
<div class="left_side">
<!-- logo -->
<div class="logo">

View File

@@ -351,9 +351,11 @@ var fieldRequired = '{l s='Please fill in all required fields, then save the cus
</p>
{/if}
<!-- Out of stock hook -->
{if !$allow_oosp}
<p id="oosHook"{if $product->quantity > 0} style="display: none;"{/if}>
{$HOOK_PRODUCT_OOS}
</p>
{/if}
<p class="warning_inline" id="last_quantities"{if ($product->quantity > $last_qties OR $product->quantity <= 0) OR $allow_oosp OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if} >{l s='Warning: Last items in stock!'}</p>

View File

@@ -1798,6 +1798,8 @@ $_LANGADM['AdminPPreferencesdcf765af784bde828a35fc529a1760ef'] = 'Ordre par déf
$_LANGADM['AdminPPreferences18ab46929929152a148ad898fe038ccf'] = 'Ordre de tri par défaut pour la liste des produits';
$_LANGADM['AdminPPreferencescf3fb1ff52ea1eed3347ac5401ee7f0c'] = 'Croissant';
$_LANGADM['AdminPPreferencese3cf5ac19407b1a62c6fccaff675a53b'] = 'Décroissant';
$_LANGADM['AdminPPreferences14d14736f0cc7bbd49ee5dbc335d7f60'] = 'Description courte taille max';
$_LANGADM['AdminPPreferences9df736cf267f1f94c5a4997fecbd4e3d'] = 'Définissez la taille maximale de la description du produit courte';
$_LANGADM['AdminPPreferencesc4d833424eba2cd43c9327d4943dc61f'] = 'Image générée par :';
$_LANGADM['AdminPPreferences9df22f196a33acd0b372fe502de51211'] = 'auto';
$_LANGADM['AdminPPreferenceseaae26a6fb20ed3ef54fb23bfa0b1fcc'] = 'largeur';
@@ -3039,6 +3041,7 @@ $_LANGADM['AdminTranslations53b3cae42737979c884275593a01f468'] = 'Module :';
$_LANGADM['AdminUpgrade875b8a59022d232837491c0fdfacb4ab'] = 'Ne pas sauver les images';
$_LANGADM['AdminUpgradea8d6c6734da0083021561b23f2fa88cc'] = 'Vous pouvez exclure le dossier image de la sauvegarde si vous l\'avez déjà sauvegardé d\'une autre manière (non recommandé)';
$_LANGADM['AdminUpgradeaf98608eaedd4ba7ffd47a0204e84b23'] = 'Conserver le thème \"prestashop\" actuel';
$_LANGADM['AdminUpgrade4ea56ca1a757e426911ff20889c0e93c'] = 'Si vous avez personnalisé le thème par défaut de PrestaShop, vous pouvez le protéger de la mise à niveau (non recommandé)';
$_LANGADM['AdminUpgrade8413c63a6ef3717a974094785fd0b588'] = 'Garder les traductions';
$_LANGADM['AdminUpgrade51bbcf7afb0f8d35501d0a7b28979b06'] = 'Si \"oui\", vous conserverez toutes vos traductions';
$_LANGADM['AdminUpgrade8c8194a465f0163a6724907755ac1b82'] = 'Mode manuel';
@@ -3046,6 +3049,8 @@ $_LANGADM['AdminUpgradedd9dbd4916653d683244119a067ca467'] = 'Choisissze \"oui\"
$_LANGADM['AdminUpgradee7b6d601ff4e9069e726927e211274ea'] = 'Utiliser Subversion';
$_LANGADM['AdminUpgradea15b09729294cf7fea1096f970a0fed4'] = 'Choisissez \"oui\" si vous voulez utiliser une version non stable au lieu de l';
$_LANGADM['AdminUpgrade36be1130454bc8c4e0a41d36fa062a8b'] = 'Impossible de créer le répertoire %s';
$_LANGADM['AdminUpgradee21a52b9631b01c3f1821795b8de451c'] = 'Processus de mise à niveau terminé. Félicitations! Vous pouvez maintenant réactive de votre boutique.';
$_LANGADM['AdminUpgrade7b2f224649ef2ad10a2d73595d67a876'] = 'Démarrage mise à niveau ...';
$_LANGADM['AdminUpgrade6824d57b7af37f605bd97d34defc3761'] = 'Exportation svn terminée. Suppression des fichiers exemples...';
$_LANGADM['AdminUpgradef70307d8297e48a8783d41e6f3313d51'] = 'Erreur lors de l\'export SVN';
$_LANGADM['AdminUpgrade4eecd9c195e46c054ef7da6d9d1a738b'] = 'Extraction terminée. Suppression des fichiers exemples...';
@@ -3176,6 +3181,7 @@ $_LANGADM['AdminUpgrade7f786b903ea8045f5b5b7e3c5a4e0385'] = 'Cette fonction est
$_LANGADM['AdminUpgrade3a3a651c9a67bca9ac902da789466b93'] = 'Mise à jour instable';
$_LANGADM['AdminUpgradea22eff458b4f4bce6d3232e367ff0138'] = 'Votre configuration actuelle indique que vous voulez mettre à jour votre système à partir d\'une branche de développement instable, sans numéro de version. Si vous mettez à jour, vous ne pourrez plus appliquer le processus de versions stables officiel.';
$_LANGADM['AdminUpgradedae8ace18bdcbcc6ae5aece263e14fe8'] = 'Options';
$_LANGADM['AdminUpgradec747916b25dcb02e0e81ee84dbd966ea'] = 'Vous n\'avez pas besoin d\'utiliser cette fonctionnalité.';
$_LANGADM['AdminUpgrade6b3930a184368a458be6e4429f409877'] = 'Mise à jour terminée. Vérifiez votre boutique (essayez de faire une commande, vérifier le thème)';
$_LANGADM['AdminUpgrade91195bbbacc2147a736c849c46368ed8'] = 'Voulez vous restaurer votre boutique';
$_LANGADM['AdminUpgradea498f9476a893d51ee02b3601678d318'] = 'Cliquez pour restaurer la base de donnée';
@@ -3324,6 +3330,7 @@ $_LANGADM['index13348442cc6a27032d2b4aa28b75a5d3'] = 'Recherche';
$_LANGADM['index4f32a32dea642737580dd71cdfd8d3c0'] = 'Accès rapide';
$_LANGADM['index891cea3363eb13a9ed383ae32f0b48d8'] = 'Selectionnez votre boutique :';
$_LANGADM['index53cd939ae14e33855274e17a3c411fdd'] = 'Pour des raisons de sécurité, vous devez :';
$_LANGADM['indexe99c06952f4336ce189d8df45980dca0'] = 'supprimez le dossier /install';
$_LANGADM['index7286baef44d09300636a4b99c533523c'] = 'Temps de chargement :';
$_LANGADM['indexbbaff12800505b22a853e8b7f4eb6a22'] = 'Contact';
$_LANGADM['index3e937d04c1c83492260a33d926ca587c'] = 'Bug Tracker';

View File

@@ -26,6 +26,7 @@ $_ERRORS['8eccd648c123a09bcf8520fea052861d'] = 'une erreur est survenue lors de
$_ERRORS['bc33aa1314e7dcd3472db72472b909b2'] = 'une erreur s\'est produite pendant la suppression';
$_ERRORS['472266472e3353d32d8a8ffa25c60154'] = 'une erreur s\'est produite pendant la suppression de l\'image';
$_ERRORS['7f2673e88a2cf04ce4e559cdf1b30277'] = 'une erreur s\'est produite pendant la suppression de l\'image';
$_ERRORS['50289ca189ede3317209fcb9ecce167c'] = 'Une erreur s\'est produite lors de la création de nouveaux dossiers';
$_ERRORS['0c300ba32ddee555c4ba9c81b74c64a3'] = 'Une erreur est survenue pendant l\'envoi de l\'archive Zip';
$_ERRORS['1275c7249de2c2446cad46a5e894ae01'] = 'Une erreur est survenue pendant l\'envoi de l\'image';
$_ERRORS['f8700fd851876c5adbffa7eddaaaf163'] = 'Une erreur est survenue durant l\'envoie d\'image';
@@ -154,6 +155,7 @@ $_ERRORS['e6b214cab4477a7bd120bc996f06734c'] = 'le client doit être dans au moi
$_ERRORS['28ca4ab8455ffa19e6f0577aefa9f1c9'] = 'client non trouvé';
$_ERRORS['2d23b982e03f3e2ff37a0833033fb8bd'] = 'date spécifiée invalide';
$_ERRORS['56ed19a8b705ff0da23d026ebce133b5'] = 'le groupe par défaut du client doit être coché';
$_ERRORS['832c4ce25a57e0e4094673216a19ff97'] = 'Extension DOM n\'est pas chargée.';
$_ERRORS['637976ed39a990f58f8a3650eac0ff08'] = 'adresse e-mail requise';
$_ERRORS['f0dc0fa07b13965fe5a95fa37166c4e7'] = 'adresse e-mail manquante';
$_ERRORS['5c45af89733d6bfc7b11d818a21b656d'] = 'd\'éditer un objet ici.';
@@ -188,8 +190,10 @@ $_ERRORS['13fb39e33c882585065d2d636602e96f'] = 'Erreur : le paramètre \"templat
$_ERRORS['e4a6b1931fbfc9ef4531cab37c84c39f'] = 'Erreur : le paramètre \"to\" est corrompu';
$_ERRORS['1c188f7466ede1cee857741eb5aa3ac5'] = 'Erreur: merci de choisir un transporteur';
$_ERRORS['ff5a229e566831ea38a2ba5fb739df9f'] = 'Erreur: merci de choisir une adresse';
$_ERRORS['8f3d9ee281e1abb9111486bcbda6804e'] = 'Erreur: certaines ou toutes les images n\'ont pu être déplacés.';
$_ERRORS['70bdff077d0b2aaf90e35c0523b1d58c'] = 'Erreur: merci de choisir un transporteur valide';
$_ERRORS['7d3f071e2825ec56f80c881d56fb3c7c'] = 'Erreur: cette commande a déjà été validée';
$_ERRORS['491c8c1d25f97843f6edfdc81d021f4d'] = 'Erreur: la configuration de votre serveur n\'est pas compatible avec le système nouvelle image. Les images n\'ont pas été déplacées';
$_ERRORS['b2b367f1201bb55f41e0688955f4f1a1'] = 'Cher client(e), vous avez dépassé la date d\'expiration.';
$_ERRORS['45ebc64529137a007889ee445d64611c'] = 'Impossible de mettre à jour la position.';
$_ERRORS['5fe3a5b7465abb742a1b93a6037384fa'] = 'Erreur fatale : id_transaction est null';
@@ -218,6 +222,8 @@ $_ERRORS['b417662bce6671781c5285afe872056a'] = 'l\'image est trop grande';
$_ERRORS['f09e308b66fdd005a754757de9f29b95'] = 'Object client incorrect';
$_ERRORS['8b978fa2ad857b185bc61dc5acb10927'] = 'Object réduction incorrect';
$_ERRORS['da393a0fcc28b1678ba1f8f59ea94b50'] = 'Object commande incorrect';
$_ERRORS['c99348e30ef9822b53fce9b9f0c198c9'] = 'Valeur incorrecte pour une qualité d\'image JPEG.';
$_ERRORS['75e3bbc53d0a62d319235ffebf9e219c'] = 'Valeur incorrecte pour une qualité d\'image PNG.';
$_ERRORS['259f417808483b6dc18a10510fd8d3cc'] = 'Propriétés du comté invalides';
$_ERRORS['c1c8a564c10a0efe07bb4e4b20d88cc9'] = 'Identifiant non valide';
$_ERRORS['bfd99559857dfcfc40cb0d0e6c8aee1b'] = 'Nom invalide';
@@ -297,6 +303,7 @@ $_ERRORS['1b599bf89c1bf4f8640ef31f3acb9f40'] = 'aucun fichier spécifié';
$_ERRORS['298883b17e36ee3a18d73e835c0b44fc'] = 'Aucun fichier n\'a été envoyé';
$_ERRORS['cb20447a4bf5ff9bec717ec68a357a93'] = 'Aucun moteur de rendu choisi';
$_ERRORS['ccacacd12f75e1ab3f9ce3e234ed5777'] = 'Aucun moteur de tableau sélectionné';
$_ERRORS['774eec2772b5f57b2e13d11e1b093a4f'] = 'Aucune image trouvée pour la combinaison avec id_product = %s et la position de l\'image = %s.';
$_ERRORS['6a8f39c3861bfa5111a88d9c76df6993'] = 'Aucune facture disponible';
$_ERRORS['0e63e5844a0255aeb0cee434263552ae'] = 'aucune facture avec cet ID:';
$_ERRORS['e21c3c406358073b38d481fd3d88221c'] = 'Aucune facture trouvée';
@@ -363,6 +370,7 @@ $_ERRORS['edeb9e20655b946e4bee4ac44a6c0a7f'] = 'Le serveur ne dispose pas des pe
$_ERRORS['5d7cc18ef21285f980cbada9adb9df5c'] = 'Le serveur a expiré, le filigrane n\'est peut-être pas été appliqué à toutes vos images.';
$_ERRORS['721b2acc2e54e77e36654bbc42a0747a'] = 'Le système de backup ne gère actuellement que les bases de données MySQL';
$_ERRORS['c45319ee556dc43ba15523c539c7e9d4'] = 'Désolé, nous ne pouvons pas renouveler votre commande';
$_ERRORS['ea68586346b9b9f8ca43827cb3341ffd'] = 'Le fournisseur n\'existe pas.';
$_ERRORS['35f55f4e657f542d5f27853332c46f80'] = 'Erreur de syntaxe avec ce motif';
$_ERRORS['19a99b7aed449fbbedc3ce65483d6a3a'] = 'L\'onglet ne peut être trouvé';
$_ERRORS['cae059a6bd57c0b7d289ce097c060ba6'] = 'Le fichier de l\'onglet ne peut être trouvé';
@@ -397,6 +405,7 @@ $_ERRORS['baafbb73bdf562b2dcbd2c4b807f758e'] = 'cette adresse n\'est pas dans un
$_ERRORS['29e1ca45338b1e4861bb4a9bdc5d4387'] = 'Cette adresse n\'est pas la votre.';
$_ERRORS['b8ab75688d5796c2e61d3047b91acc17'] = 'Cette association contient trop de clés';
$_ERRORS['71f4f008985ea6abc73e89a668e15197'] = 'Cet attribut existe déjà.';
$_ERRORS['a46eb4d38ea045e90273d51d8166529f'] = 'Cette classe dépend de plusieurs fichiers modifiés dans la version 1.4.4.0 et ne doit pas être utilisé dans une version plus ancienne';
$_ERRORS['e49f206b6d8f0e5e2a6cb13d96b44ed2'] = 'Ce nom de classe n\'existe pas';
$_ERRORS['e22a6ea51eb74bee7acaa4acf2846c7b'] = 'Cette combinaison existe déjà';
$_ERRORS['044ef92a14ceaaba24382a72ca0267ae'] = 'ce pays requiert la sélection d\'un Etat';
@@ -414,6 +423,7 @@ $_ERRORS['ae38c419414887fa47b7f5a811e5f42d'] = 'Ce module est déjà désinstall
$_ERRORS['e8be55bf3a30501aef09d2e74de97976'] = 'ce nom existe déjà';
$_ERRORS['b74c118d823d908d653cfbf1c877ae55'] = 'ce nom est déjà utilisé par une autre liste';
$_ERRORS['d312d5c57aff77e76cab1b5981bc5606'] = 'Ce nom n\'est pas autorisé';
$_ERRORS['e2b7dec8fa4b498156dfee6e4c84b156'] = 'Ce mode de paiement n\'est pas disponible.';
$_ERRORS['1347119d36ae31564a89763f21476c1a'] = 'Ce produit n\'existe pas dans notre boutique.';
$_ERRORS['38d5595927b80b331239ef904341b07c'] = 'Ce produit a été supprimé.';
$_ERRORS['edd62dfcf50e7a6dea932ca1eca167b2'] = 'Cette propriété n\'existe pas dans la classe ou est interdite';
@@ -512,6 +522,7 @@ $_ERRORS['70f4b635847038d056e33959821a7a66'] = 'caractères max';
$_ERRORS['e0d4da0607fb1793b6e1d348c36d52cb'] = 'config.xml est manquant dans le dossier de votre thème';
$_ERRORS['1d112c010ef14e32e478b36aca8d3414'] = 'config.xml dans votre dossier de thème n\'est pas un fichier xml valide';
$_ERRORS['6364b8f0fcf00c1fedb76a7a7b7ad03e'] = 'Le fichier config.xml du thème n\'a pas été créé pour cette version de Prestashop';
$_ERRORS['80e9a269b3e9b377f35cb6b642edceae'] = 'Description: Longueur >';
$_ERRORS['b0accee4a4704ec46d245b722309a8be'] = 'n\'existe pas en base de données';
$_ERRORS['06e3d36fa30cea095545139854ad1fb9'] = 'champ';
$_ERRORS['1cd6f2b0848e672cb987e15e0598a144'] = 'pour la langue';