// Merge -> revision 8984

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8988 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2011-10-03 15:48:07 +00:00
parent 79115b2572
commit ae5fc92bf7
60 changed files with 669 additions and 356 deletions
-1
View File
@@ -39,4 +39,3 @@ if (!isset($_REQUEST['controller']) && isset($_REQUEST['tab']))
Dispatcher::getInstance()->setControllerDirectories(array(_PS_ADMIN_DIR_.'/tabs/', _PS_ADMIN_CONTROLLER_DIR_)); Dispatcher::getInstance()->setControllerDirectories(array(_PS_ADMIN_DIR_.'/tabs/', _PS_ADMIN_CONTROLLER_DIR_));
Dispatcher::getInstance()->dispatch(); Dispatcher::getInstance()->dispatch();
+16 -5
View File
@@ -1376,6 +1376,18 @@ class AdminImport extends AdminTab
}; };
</script>'; </script>';
echo ' echo '
<fieldset style="float:right;margin:0 10px 10px 0">
<legend><img src="../img/admin/excel_file.png">'.$this->l('Sample files').'</legend>
<ul style="">
<li style="text-decoration: underline"><a href="../docs/csv_import/categories_import.csv">'.$this->l('Categories sample file').'</a></li>
<li style="text-decoration: underline"><a href="../docs/csv_import/products_import.csv">'.$this->l('Products sample file').'</a></li>
<li style="text-decoration: underline"><a href="../docs/csv_import/combinations_import.csv">'.$this->l('Combinations sample file').'</a></li>
<li style="text-decoration: underline"><a href="../docs/csv_import/customers_import.csv">'.$this->l('Customers sample file').'</a></li>
<li style="text-decoration: underline"><a href="../docs/csv_import/addresses_import.csv">'.$this->l('Addresses sample file').'</a></li>
<li style="text-decoration: underline"><a href="../docs/csv_import/manufacturers_import.csv">'.$this->l('Manufacturers sample file').'</a></li>
<li style="text-decoration: underline"><a href="../docs/csv_import/suppliers_import.csv">'.$this->l('Suppliers sample file').'</a></li>
</ul>
</fieldset>
<fieldset class="width3"> <fieldset class="width3">
<legend><img src="../img/admin/import.gif" />'.$this->l('Upload').'</legend> <legend><img src="../img/admin/import.gif" />'.$this->l('Upload').'</legend>
<form action="'.self::$currentIndex.'&token='.$this->token.'" method="POST" enctype="multipart/form-data"> <form action="'.self::$currentIndex.'&token='.$this->token.'" method="POST" enctype="multipart/form-data">
@@ -1456,12 +1468,11 @@ class AdminImport extends AdminTab
<div class="space margin-form"> <div class="space margin-form">
<input type="submit" name="submitImportFile" value="'.$this->l('Next step').'" class="button"/> <input type="submit" name="submitImportFile" value="'.$this->l('Next step').'" class="button"/>
</div> </div>
<div> <div class="warn">
'.$this->l('Note that the category import does not support categories of the same name').'. <p>'.$this->l('Note that the category import does not support categories of the same name').'.</p>
<p>'.$this->l('Note that references are not specified as UNIQUE in the database').'.</p>
</div> </div>
<div>
'.$this->l('Note that references are not specified as UNIQUE in the database').'.
</div>
'; ';
} }
else else
+99 -33
View File
@@ -40,44 +40,83 @@ class AdminModules extends AdminTab
private $listTabModules; private $listTabModules;
private $listPartnerModules = array(); private $listPartnerModules = array();
private $listNativeModules = array(); private $listNativeModules = array();
private $_moduleCacheFile; private $_moduleCacheFile = '/config/modules_list.xml';
public static $xml_modules_list = 'http://www.prestashop.com/xml/modules_list.xml';
static private $MAX_DISP_AUTHOR = 20; // maximum length to display static private $MAX_DISP_AUTHOR = 20; // maximum length to display
function __construct() public function __construct()
{ {
parent::__construct(); parent::__construct();
$this->_moduleCacheFile = _PS_ROOT_DIR_.'/config/modules_list.xml'; $this->listTabModules['administration'] = $this->l('Administration');
$this->listTabModules['advertising_marketing'] = $this->l('Advertising & Marketing');
$this->listTabModules['analytics_stats'] = $this->l('Analytics & Stats');
$this->listTabModules['billing_invoicing'] = $this->l('Billing & Invoicing');
$this->listTabModules['checkout'] = $this->l('Checkout');
$this->listTabModules['content_management'] = $this->l('Content Management');
$this->listTabModules['export'] = $this->l('Export');
$this->listTabModules['front_office_features'] = $this->l('Front Office Features');
$this->listTabModules['i18n_localization'] = $this->l('I18n & Localization');
$this->listTabModules['merchandizing'] = $this->l('Merchandizing');
$this->listTabModules['migration_tools'] = $this->l('Migration Tools');
$this->listTabModules['payments_gateways'] = $this->l('Payments & Gateways');
$this->listTabModules['payment_security'] = $this->l('Payment Security');
$this->listTabModules['pricing_promotion'] = $this->l('Pricing & Promotion');
$this->listTabModules['quick_bulk_update'] = $this->l('Quick / Bulk update');
$this->listTabModules['search_filter'] = $this->l('Search & Filter');
$this->listTabModules['seo'] = $this->l('SEO');
$this->listTabModules['shipping_logistics'] = $this->l('Shipping & Logistics');
$this->listTabModules['slideshows'] = $this->l('Slideshows');
$this->listTabModules['smart_shopping'] = $this->l('Smart Shopping');
$this->listTabModules['market_place'] = $this->l('Market Place');
$this->listTabModules['social_networks'] = $this->l('Social Networks');
$this->listTabModules['others'] = $this->l('Other Modules');
// refresh modules_list.xml every week if (file_exists(_PS_ROOT_DIR_.$this->_moduleCacheFile))
$xmlModules = @simplexml_load_file(_PS_ROOT_DIR_.$this->_moduleCacheFile);
else
$xmlModules = false;
if ($xmlModules)
{
foreach($xmlModules->children() as $xmlModule)
{
if ($xmlModule->attributes() == 'native')
foreach($xmlModule->children() as $module)
foreach($module->attributes() as $key => $value)
if ($key == 'name')
$this->listNativeModules[] = (string)$value;
if ($xmlModule->attributes() == 'partner')
foreach ($xmlModule->children() as $module)
foreach ($module->attributes() as $key => $value)
if ($key == 'name')
$this->listPartnerModules[] = (string)$value;
}
}
}
/** if modules_list.xml is outdated,
* this function will re-upload it from prestashop.com
*
* @return null
*/
public function ajaxProcessRefreshModuleList()
{
//refresh modules_list.xml every week
if (!$this->isFresh()) if (!$this->isFresh())
{
$this->refresh(); $this->refresh();
$this->status = 'refresh';
}
else
$this->status = 'cache';
}
$this->listTabModules = array( public function displayAjaxRefreshModuleList()
'administration' => $this->l('Administration'), 'advertising_marketing' => $this->l('Advertising & Marketing'), {
'analytics_stats' => $this->l('Analytics & Stats'), 'billing_invoicing' => $this->l('Billing & Invoicing'), 'checkout' => $this->l('Checkout'), echo Tools::jsonEncode(array('status' => $this->status));
'content_management' => $this->l('Content Management'), 'export' => $this->l('Export'), 'front_office_features' => $this->l('Front Office Features'),
'i18n_localization' => $this->l('I18n & Localization'), 'merchandizing' => $this->l('Merchandizing'), 'migration_tools' => $this->l('Migration Tools'),
'payments_gateways' => $this->l('Payments & Gateways'), 'payment_security' => $this->l('Payment Security'), 'pricing_promotion' => $this->l('Pricing & Promotion'),
'quick_bulk_update' => $this->l('Quick / Bulk update'), 'search_filter' => $this->l('Search & Filter'), 'seo' => $this->l('SEO'), 'shipping_logistics' => $this->l('Shipping & Logistics'),
'slideshows' => $this->l('Slideshows'), 'smart_shopping' => $this->l('Smart Shopping'), 'market_place' => $this->l('Market Place'), 'social_networks' => $this->l('Social Networks'),
'others'=> $this->l('Other Modules')
);
$xmlModules = @simplexml_load_file($this->_moduleCacheFile);
foreach($xmlModules->children() as $xmlModule)
if ($xmlModule->attributes() == 'native')
foreach($xmlModule->children() as $module)
foreach($module->attributes() as $key => $value)
if ($key == 'name')
$this->listNativeModules[] = (string)$value;
if ($xmlModule->attributes() == 'partner')
foreach($xmlModule->children() as $module)
foreach($module->attributes() as $key => $value)
if ($key == 'name')
$this->listPartnerModules[] = (string)$value;
} }
public function postProcess() public function postProcess()
@@ -443,10 +482,38 @@ class AdminModules extends AdminTab
$(\'input[name="filtername"]\').result(function(event, data, formatted) { $(\'input[name="filtername"]\').result(function(event, data, formatted) {
$(\'#filternameForm\').submit(); $(\'#filternameForm\').submit();
}); });
}); });';
// the following to get modules_list.xml from prestashop.com
echo '$(document).ready(function(){
try
{
resAjax = $.ajax({
type:"POST",
url : "'. str_replace('index','ajax-tab',$currentIndex) . '",
async: true,
data : {
ajaxMode : "1",
ajax : "1",
token : "'.$this->token.'",
tab : "AdminModules",
action : "refreshModuleList"
},
success : function(res,textStatus,jqXHR)
{
// res.status = cache or refresh
},
error: function(res,textStatus,jqXHR)
{
alert("TECHNICAL ERROR"+res);
}
});
}
catch(e){}
});
</script>'; </script>';
} }
public static function sortModule($a, $b) public static function sortModule($a, $b)
{ {
if (sizeof($a) == sizeof($b)) { if (sizeof($a) == sizeof($b)) {
@@ -666,7 +733,6 @@ class AdminModules extends AdminTab
'.$this->l('Add a module from my computer').' '.$this->l('Add a module from my computer').'
</span> </span>
&nbsp;|&nbsp;'; &nbsp;|&nbsp;';
if (@fsockopen('www.prestashop.com', 80))
echo '<a href="index.php?tab=AdminAddonsMyAccount&token='.Tools::getAdminTokenLite('AdminAddonsMyAccount').'"> echo '<a href="index.php?tab=AdminAddonsMyAccount&token='.Tools::getAdminTokenLite('AdminAddonsMyAccount').'">
<img src="https://addons.prestashop.com/modules.php?'.(isset($_SERVER['SERVER_ADDR']) ? 'server='.ip2long($_SERVER['SERVER_ADDR']).'&' : '').'mods='.$serialModules.'" alt="Add" class="middle" /> <img src="https://addons.prestashop.com/modules.php?'.(isset($_SERVER['SERVER_ADDR']) ? 'server='.ip2long($_SERVER['SERVER_ADDR']).'&' : '').'mods='.$serialModules.'" alt="Add" class="middle" />
'.$this->l('Add a module from PrestaShop Addons').' '.$this->l('Add a module from PrestaShop Addons').'
@@ -968,15 +1034,15 @@ class AdminModules extends AdminTab
public function isFresh($timeout = 604800000) public function isFresh($timeout = 604800000)
{ {
if (file_exists($this->_moduleCacheFile)) if (file_exists(_PS_ROOT_DIR_ . $this->_moduleCacheFile))
return ((time() - filemtime($this->_moduleCacheFile)) < $timeout); return ((time() - filemtime(_PS_ROOT_DIR_ . $this->_moduleCacheFile)) < $timeout);
else else
return false; return false;
} }
public function refresh() public function refresh()
{ {
return file_put_contents($this->_moduleCacheFile, Tools::file_get_contents('http://www.prestashop.com/xml/modules_list.xml')); return file_put_contents(_PS_ROOT_DIR_.$this->_moduleCacheFile, Tools::file_get_contents($this->xml_modules_list));
} }
public function displaySelectedFilter() public function displaySelectedFilter()
-4
View File
@@ -62,10 +62,6 @@ abstract class CacheCore
{ {
} }
protected function __destruct()
{
}
protected function isBlacklist($query) protected function isBlacklist($query)
{ {
foreach ($this->_blackList AS $find) foreach ($this->_blackList AS $find)
+2
View File
@@ -271,6 +271,8 @@ class LocalizationPackCore
$this->_errors[] = Tools::displayError('An error occurred while importing the currency: ').strval($attributes['name']); $this->_errors[] = Tools::displayError('An error occurred while importing the currency: ').strval($attributes['name']);
return false; return false;
} }
PaymentModule::addCurrencyPermissions($currency->id);
} }
} }
+52
View File
@@ -538,5 +538,57 @@ abstract class PaymentModuleCore extends Module
return false; return false;
return (new Currency($id_currency)); return (new Currency($id_currency));
} }
/**
* Allows specified payment modules to be used by a specific currency
*
* @since 1.4.5
* @param int $id_currency
* @param array $id_module_list
* @return boolean
*/
public static function addCurrencyPermissions($id_currency, array $id_module_list = array())
{
$values = '';
if (count($id_module_list) == 0)
{
// fetch all installed module ids
$modules = PaymentModuleCore::getInstalledPaymentModules();
foreach ($modules as $module)
$id_module_list[] = $module['id_module'];
}
foreach ($id_module_list as $id_module)
$values .= '('.(int)$id_module.','.(int)$id_currency.'),';
if (!empty($values))
{
return Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'module_currency` (`id_module`, `id_currency`)
VALUES '.rtrim($values, ',')
);
}
return true;
}
/**
* List all installed and active payment modules
* @see Module::getPaymentModules() if you need a list of module related to the user context
*
* @since 1.4.5
* @return array module informations
*/
public static function getInstalledPaymentModules()
{
return Db::getInstance()->executeS('
SELECT DISTINCT m.`id_module`, h.`id_hook`, m.`name`, hm.`position`
FROM `'._DB_PREFIX_.'module` m
LEFT JOIN `'._DB_PREFIX_.'hook_module` hm ON hm.`id_module` = m.`id_module`
LEFT JOIN `'._DB_PREFIX_.'hook` h ON hm.`id_hook` = h.`id_hook`
WHERE h.`name` = \'payment\'
AND m.`active` = 1
');
}
} }
+5 -1
View File
@@ -2656,7 +2656,11 @@ class ProductCore extends ObjectModel
public static function duplicateDownload($id_product_old, $id_product_new) public static function duplicateDownload($id_product_old, $id_product_new)
{ {
$resource = Db::getInstance()->ExecuteS('SELECT `display_filename`, `filename`, `date_add`, `date_expiration`, `nb_days_accessible`, `nb_downloadable`, `active`, `is_shareable` FROM `'._DB_PREFIX_.'product_download` WHERE `id_product` = '.(int)($id_product_old)); $sql = 'SELECT `display_filename`, `filename`, `date_add`, `date_expiration`, `nb_days_accessible`, `nb_downloadable`, `active`, `is_shareable`
FROM `'._DB_PREFIX_.'product_download`
WHERE `id_product` = '.(int)$id_product_old;
$resource = Db::getInstance()->Execute($sql);
if (!Db::getInstance()->NumRows()) if (!Db::getInstance()->NumRows())
return true; return true;
$query = 'INSERT INTO `'._DB_PREFIX_.'product_download` (`id_product`, `display_filename`, `filename`, `date_add`, `date_expiration`, `nb_days_accessible`, `nb_downloadable`, `active`, `is_shareable`) VALUES'; $query = 'INSERT INTO `'._DB_PREFIX_.'product_download` (`id_product`, `display_filename`, `filename`, `date_add`, `date_expiration`, `nb_days_accessible`, `nb_downloadable`, `active`, `is_shareable`) VALUES';
+9 -9
View File
@@ -133,20 +133,20 @@ class ProductDownloadCore extends ObjectModel
public function getFields() public function getFields()
{ {
$this->validateFields(); $this->validateFields();
$date_expiration = $this->date_expiration;
if (!$date_expiration)
$date_expiration = '0000-00-00 00:00:00';
if (!$this->date_expiration) $fields['id_product'] = (int)$this->id_product;
$this->date_expiration = '0000-00-00 00:00:00';
$fields['id_product'] = (int)($this->id_product);
$fields['id_product_attribute'] = pSQL($this->id_product_attribute); $fields['id_product_attribute'] = pSQL($this->id_product_attribute);
$fields['display_filename'] = pSQL($this->display_filename); $fields['display_filename'] = pSQL($this->display_filename);
$fields['filename'] = pSQL($this->filename); $fields['filename'] = pSQL($this->filename);
$fields['date_add'] = pSQL($this->date_add); $fields['date_add'] = pSQL($this->date_add);
$fields['date_expiration'] = pSQL($this->date_expiration); $fields['date_expiration'] = pSQL($date_expiration);
$fields['nb_days_accessible'] = (int)($this->nb_days_accessible); $fields['nb_days_accessible'] = (int)$this->nb_days_accessible;
$fields['nb_downloadable'] = (int)($this->nb_downloadable); $fields['nb_downloadable'] = (int)$this->nb_downloadable;
$fields['active'] = (int)($this->active); $fields['active'] = (int)$this->active;
$fields['is_shareable'] = (int)($this->is_shareable); $fields['is_shareable'] = (int)$this->is_shareable;
return $fields; return $fields;
} }
-5
View File
@@ -466,11 +466,6 @@ class SearchCore
// If we find words that need to be indexed, they're added to the word table in the database // If we find words that need to be indexed, they're added to the word table in the database
if (count($pArray)) if (count($pArray))
{ {
$list = '';
foreach ($pArray AS $word => $weight)
$list .= '\''.$word.'\',';
$list = rtrim($list, ',');
$queryArray = array(); $queryArray = array();
$queryArray2 = array(); $queryArray2 = array();
foreach ($pArray AS $word => $weight) foreach ($pArray AS $word => $weight)
+40
View File
@@ -1912,6 +1912,46 @@ FileETag INode MTime Size
$result = min($post_max_size, $upload_max_filesize); $result = min($post_max_size, $upload_max_filesize);
return $result; return $result;
} }
/**
* apacheModExists return true if the apache module $name is loaded
* @TODO move this method in class Information (when it will exist)
*
* @param string $name module name
* @return boolean true if exists
* @since 1.4.5.0
*/
public static function apacheModExists($name)
{
if (function_exists('apache_get_modules'))
{
static $apacheModuleList = null;
if (!is_array($apacheModuleList))
$apacheModuleList = apache_get_modules();
// we need strpos (example can be evasive20
foreach ($apacheModuleList as $module)
{
if (strpos($module, $name)!==false)
return true;
}
}
else
{
// If apache_get_modules does not exists,
// one solution should be parsing httpd.conf,
// but we could simple parse phpinfo(INFO_MODULES) return string
ob_start();
phpinfo(INFO_MODULES);
$phpinfo = ob_get_contents();
ob_end_clean();
if (strpos($phpinfo, $module) !== false)
return true;
}
return false;
}
} }
/** /**
+4
View File
@@ -52,6 +52,10 @@ class TaxCore extends ObjectModel
protected static $_product_country_tax = array(); protected static $_product_country_tax = array();
protected static $_product_tax_via_rules = array(); protected static $_product_tax_via_rules = array();
protected $webserviceParameters = array(
'objectsNodeName' => 'taxes',
);
public function getFields() public function getFields()
{ {
$this->validateFields(); $this->validateFields();
@@ -155,7 +155,7 @@ class WebserviceOutputBuilderCore
if (!is_null($key)) if (!is_null($key))
{ {
if (!is_null($key) && Validate::isCleanHtml($key)) if (!Validate::isCleanHtml($key))
throw new WebserviceException('the key you write is a corrupted text.', array(95, 500)); throw new WebserviceException('the key you write is a corrupted text.', array(95, 500));
if (!array_key_exists($key, $this->headerParams)) if (!array_key_exists($key, $this->headerParams))
throw new WebserviceException(sprintf('The key %s does\'nt exist', $key), array(96, 500)); throw new WebserviceException(sprintf('The key %s does\'nt exist', $key), array(96, 500));
@@ -489,9 +489,10 @@ class WebserviceOutputBuilderCore
$field['synopsis_details'] = $this->getSynopsisDetails($field); $field['synopsis_details'] = $this->getSynopsisDetails($field);
if ($field_name === 'id') if ($field_name === 'id')
$show_field = false; $show_field = false;
elseif (isset($field['setter']) && !$field['setter'])
$show_field = false;
} }
else if ($this->schemaToDisplay === 'blank')
if (isset($field['setter']) && !$field['setter'])
$show_field = false;
// don't set any value for a schema // don't set any value for a schema
if (isset($field['synopsis_details']) || $this->schemaToDisplay === 'blank') if (isset($field['synopsis_details']) || $this->schemaToDisplay === 'blank')
+1
View File
@@ -262,6 +262,7 @@ class WebserviceRequestCore
'stock_movement_reasons' => array('description' => 'The stock movement reason', 'class' => 'StockMvtReason'), 'stock_movement_reasons' => array('description' => 'The stock movement reason', 'class' => 'StockMvtReason'),
'shops' => array('description' => 'Shops from multi-shop feature', 'class' => 'Shop'), 'shops' => array('description' => 'Shops from multi-shop feature', 'class' => 'Shop'),
'shop_groups' => array('description' => 'Shop groups from multi-shop feature', 'class' => 'GroupShop'), 'shop_groups' => array('description' => 'Shop groups from multi-shop feature', 'class' => 'GroupShop'),
'taxes' => array('description' => 'The tax rate', 'class' => 'Tax'),
); );
ksort($resources); ksort($resources);
return $resources; return $resources;
+1
View File
@@ -0,0 +1 @@
Allow from ALL
+4
View File
@@ -0,0 +1,4 @@
ID;Alias*;Active (0/1);Customer e-mail;Manufacturer;Supplier;Company;Lastname*;Firstname*;Address 1*;Address 2;Postcode* / Zipcode*;City*;Country*;State;Other;Phone;Mobile Phone;VAT number
1;My Adress;1;johndoe@prestashop.com;;;;Doe;John;16, Main street;2nd floor;75000;PARIS ;France;;;140138844;;
2;My work;1;johndoe@prestashop.com;;;My Company;Doe;John;535, Baker street;;13000;Marseile;France;;;235445588;;
3;My work;0;;Apple Computer, Inc;;;Jobs;Steve;1 Infinite Loop;;95014;CUPERTINO;United States;California;;(800) 275-2273;;
1 ID Alias* Active (0/1) Customer e-mail Manufacturer Supplier Company Lastname* Firstname* Address 1* Address 2 Postcode* / Zipcode* City* Country* State Other Phone Mobile Phone VAT number
2 1 My Adress 1 johndoe@prestashop.com Doe John 16, Main street 2nd floor 75000 PARIS France 140138844
3 2 My work 1 johndoe@prestashop.com My Company Doe John 535, Baker street 13000 Marseile France 235445588
4 3 My work 0 Apple Computer, Inc Jobs Steve 1 Infinite Loop 95014 CUPERTINO United States California (800) 275-2273
+4
View File
@@ -0,0 +1,4 @@
ID;Active (0/1);Name*;Parent Category;Description;Meta-title;Meta-keywords;Meta-description;URL rewritten;Image URL
2;1;iPods;Home;Now that you can buy movies from the iTunes Store and sync them to your iPod, the whole world is your theater.;;;;music-ipods;http://youlinktotheimage.com/img1000.jpg
3;1;Accessories;Home;Wonderful accessories for your iPod;;;;accessories-ipod;http://youlinktotheimage.com/img1001.jpg
4;1;Laptops;Home;The latest Intel processor, a bigger hard drive, plenty of memory, and even more new features all fit inside just one liberating inch. The new Mac laptops have the performance, power, and connectivity of a desktop computer. Without the desk part.;Apple laptops;Apple laptops MacBook Air;Powerful and chic Apple laptops;laptops;http://youlinktotheimage.com/img1002.jpg
1 ID Active (0/1) Name* Parent Category Description Meta-title Meta-keywords Meta-description URL rewritten Image URL
2 2 1 iPods Home Now that you can buy movies from the iTunes Store and sync them to your iPod, the whole world is your theater. music-ipods http://youlinktotheimage.com/img1000.jpg
3 3 1 Accessories Home Wonderful accessories for your iPod accessories-ipod http://youlinktotheimage.com/img1001.jpg
4 4 1 Laptops Home The latest Intel processor, a bigger hard drive, plenty of memory, and even more new features all fit inside just one liberating inch. The new Mac laptops have the performance, power, and connectivity of a desktop computer. Without the desk part. Apple laptops Apple laptops MacBook Air Powerful and chic Apple laptops laptops http://youlinktotheimage.com/img1002.jpg
+3
View File
@@ -0,0 +1,3 @@
Product ID*;Options (Group:Value)*;Reference;Supplier reference;EAN13;UPC;Wholesale price;Price;Ecotax;Quantity;Weight;Default
1;"Color:Blue, Disk Space:16GO;";958456;254644;;;;41;;50;;
1;"Color:pINK, Disk Space:8GO;";958456;254644;;;;;;;;
1 Product ID* Options (Group:Value)* Reference Supplier reference EAN13 UPC Wholesale price Price Ecotax Quantity Weight Default
2 1 Color:Blue, Disk Space:16GO; 958456 254644 41 50
3 1 Color:pINK, Disk Space:8GO; 958456 254644
+3
View File
@@ -0,0 +1,3 @@
ID;Active (0/1);Gender ID (Mr=1, Ms=2, else 9);E-mail*;Password*;Birthday;Lastname*;Firstname*;Newletter (0/1);Opt-in (0/1)
1;1;1;johndoe@prestashop.com;#res152EDRF;sous quelle forme ? ;Doe;John;1;1
2;1;2;mariedoe@prestashop.com;58@ret26#;sous quelle forme ? ;Doe;Marie;0;1
1 ID Active (0/1) Gender ID (Mr=1, Ms=2, else 9) E-mail* Password* Birthday Lastname* Firstname* Newletter (0/1) Opt-in (0/1)
2 1 1 1 johndoe@prestashop.com #res152EDRF sous quelle forme ? Doe John 1 1
3 2 1 2 mariedoe@prestashop.com 58@ret26# sous quelle forme ? Doe Marie 0 1
+3
View File
@@ -0,0 +1,3 @@
ID;Active (0/1);Name*;Description;Short description;Meta-title;Meta-keywords;Meta-description
1;1;Apple Computer, Inc;;;;;
2;1;Shure Incorporated;;;;;
1 ID Active (0/1) Name* Description Short description Meta-title Meta-keywords Meta-description
2 1 1 Apple Computer, Inc
3 2 1 Shure Incorporated
+3
View File
@@ -0,0 +1,3 @@
ID;Active (0/1);Name*;Categories (x,y,z,...);Price tax excl. Or Price tax excl;Tax rules id;Wholesale price;On sale (0/1);Discount amount;Discount percent;Discount from (yyy-mm-dd);Discount to (yyy-mm-dd);Reference #;Supplier reference #;Supplier;Manufacturer;EAN13;UPC;Ecotax;Weight;Quantity;Short description;Description;Tags (x,y,z,...);Meta-title;Meta-keywords;Meta-description;URL rewritten;Text when in-stock;Text if back-order allowed;Image URLs (x,y,z,...);Feature;Only available online
1;1;iPod Nano;Home, iPods;49;1;;1;;;;;92458844;54778855;AppleStore;Apple Computer, Inc;;;;0.5;800;New design. New features. Now i….;Curved ahead of the curve. For those about to rock, we give you nine amazing colors. But that's only part of the story. Feel the curved, all-aluminum and glass de...;apple, ipod, nano;;;;ipod-nano;In stock;;http://youdomain.com/img.jpg, http://yourdomain.com/img1.jpg;;
2;1;iPod shuffle;Home, iPods;66.05;1;79;1;;;;;92458845;54778855;AppleStore;Apple Computer, Inc;;;;0;500;iPod shuffle, the world’s most wearabl….;;ipod, shuffle;;;;ipod-shuffle;In stock;;http://youdomain.com/img25.jpg, http://yourdomain.com/img30.jpg;;
1 ID Active (0/1) Name* Categories (x,y,z,...) Price tax excl. Or Price tax excl Tax rules id Wholesale price On sale (0/1) Discount amount Discount percent Discount from (yyy-mm-dd) Discount to (yyy-mm-dd) Reference # Supplier reference # Supplier Manufacturer EAN13 UPC Ecotax Weight Quantity Short description Description Tags (x,y,z,...) Meta-title Meta-keywords Meta-description URL rewritten Text when in-stock Text if back-order allowed Image URLs (x,y,z,...) Feature Only available online
2 1 1 iPod Nano Home, iPods 49 1 1 92458844 54778855 AppleStore Apple Computer, Inc 0.5 800 New design. New features. Now i…. Curved ahead of the curve. For those about to rock, we give you nine amazing colors. But that's only part of the story. Feel the curved, all-aluminum and glass de... apple, ipod, nano ipod-nano In stock http://youdomain.com/img.jpg, http://yourdomain.com/img1.jpg
3 2 1 iPod shuffle Home, iPods 66.05 1 79 1 92458845 54778855 AppleStore Apple Computer, Inc 0 500 iPod shuffle, the world’s most wearabl…. ipod, shuffle ipod-shuffle In stock http://youdomain.com/img25.jpg, http://yourdomain.com/img30.jpg
+3
View File
@@ -0,0 +1,3 @@
ID;Active (0/1);Name*;Description;Short description;Meta-title;Meta-keywords;Meta-description
1;1;Applestore;;;;;
2;1;Shure Online Store;;;;;
1 ID Active (0/1) Name* Description Short description Meta-title Meta-keywords Meta-description
2 1 1 Applestore
3 2 1 Shure Online Store
+1 -1
View File
@@ -730,7 +730,7 @@ if ($lm->getIncludeTradFilename())
</div> </div>
</div> </div>
<div id="benefitsBlock"> <div id="benefitsBlock" style="display: none;">
<!-- Partner Modules --> <!-- Partner Modules -->
<?php <?php
if (!isset($_GET['language'])) if (!isset($_GET['language']))
+8 -1
View File
@@ -1315,7 +1315,6 @@ State:name
Country:name Country:name
phone' where `id_country`=10; phone' where `id_country`=10;
INSERT INTO `PREFIX_gender` (`id_gender`, `type`) VALUES INSERT INTO `PREFIX_gender` (`id_gender`, `type`) VALUES
(1, 0), (1, 0),
(2, 1), (2, 1),
@@ -1337,3 +1336,11 @@ INSERT INTO `PREFIX_gender_lang` (`id_gender`, `id_lang`, `name`) VALUES
(3, 3, 'Miss'), (3, 3, 'Miss'),
(3, 4, 'Miss'), (3, 4, 'Miss'),
(3, 5, 'Miss'); (3, 5, 'Miss');
UPDATE `PREFIX_address_format` set `format` = 'firstname lastname
company
address1
address2
city State:name postcode
Country:name
phone' WHERE `PREFIX_address_format`.`id_country` =4;
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Canada" version="1.0"> <localizationPack name="Canada" version="1.0">
<currencies> <currencies>
<currency name="Dollar" iso_code="CAD" iso_code_num="124" sign="$" blank="0" conversion_rate="1.40054" format="1" decimals="1" /> <currency name="Dollar (CAD)" iso_code="CAD" iso_code_num="124" sign="CAD$" blank="0" conversion_rate="1.40054" format="1" decimals="1" />
</currencies> </currencies>
<languages> <languages>
<language iso_code="fr" /> <language iso_code="fr" />
+1 -38
View File
@@ -1427,46 +1427,9 @@ $this->standalone = true;
} }
} }
if ($this->apacheModExists('evasive')) if (Tools::apacheModExists('evasive'))
sleep(1); sleep(1);
} }
/**
* apacheModExists return true if the apache module $name is loaded
* @TODO move this method in class Information (when it will exist)
*
* @param string $name module name
* @return boolean true if exists
*/
function apacheModExists($name)
{
if(function_exists('apache_get_modules'))
{
static $apacheModuleList = null;
if (!is_array($apacheModuleList))
$apacheModuleList = apache_get_modules();
// we need strpos (example can be evasive20
foreach($apacheModuleList as $module)
{
if (strpos($module, $name)!==false)
return true;
}
}
else{
// If apache_get_modules does not exists,
// one solution should be parsing httpd.conf,
// but we could simple parse phpinfo(INFO_MODULES) return string
ob_start();
phpinfo(INFO_MODULES);
$phpinfo = ob_get_contents();
ob_end_clean();
if (strpos($phpinfo, $module) !== false)
return true;
}
return false;
}
private function _getJsErrorMsgs() private function _getJsErrorMsgs()
{ {
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+29
View File
@@ -87,6 +87,7 @@ function initSliders()
function initLayered() function initLayered()
{ {
initSliders(); initSliders();
initLocationChange();
if (window.location.href.split('#').length == 2 && window.location.href.split('#')[1] != '') if (window.location.href.split('#').length == 2 && window.location.href.split('#')[1] != '')
{ {
var params = window.location.href.split('#')[1]; var params = window.location.href.split('#')[1];
@@ -312,3 +313,31 @@ function reloadContent(params_plus)
}); });
ajaxQueries.push(ajaxQuery); ajaxQueries.push(ajaxQuery);
} }
function initLocationChange(func, time) {
if(!time) time = 500;
var currLoc = '';
setInterval(function()
{
if(window.location.href != currLoc)
{
currLoc = window.location.href;
// Don't reload page if current_friendly_url and real url match
if (window.location.href.split('#').length == 2 && window.location.href.split('#')[1] != '')
current_url = '#'+window.location.href.split('#')[1];
else
current_url = '';
if (current_friendly_url.replace(/^#(\/)?/, '') == current_url.replace(/^#(\/)?/, ''))
return;
if (window.location.href.split('#').length == 2 && window.location.href.split('#')[1] != '')
{
var params = window.location.href.split('#')[1];
reloadContent('&selected_filters='+params);
}
else
reloadContent('&selected_filters=#');
}
}, time);
}
+13 -13
View File
@@ -484,7 +484,7 @@ class BlockLayered extends Module
$id_lang = (int)$language['id_lang']; $id_lang = (int)$language['id_lang'];
Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_feature_lang Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_feature_lang
VALUES ('.(int)$params['id_feature'].', '.$id_lang.', \''.Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang)).'\', VALUES ('.(int)$params['id_feature'].', '.$id_lang.', \''.Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang)).'\',
\''.pSQL(htmlspecialchars(Tools::getValue('meta_title_'.$id_lang))).'\')'); \''.pSQL(Tools::safeOutput(Tools::getValue('meta_title_'.$id_lang), true)).'\')');
} }
} }
@@ -500,7 +500,7 @@ class BlockLayered extends Module
$id_lang = (int)$language['id_lang']; $id_lang = (int)$language['id_lang'];
Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_feature_value_lang Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_feature_value_lang
VALUES ('.(int)$params['id_feature_value'].', '.$id_lang.', \''.Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang)).'\', VALUES ('.(int)$params['id_feature_value'].', '.$id_lang.', \''.Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang)).'\',
\''.pSQL(htmlspecialchars(Tools::getValue('meta_title_'.$id_lang))).'\')'); \''.pSQL(Tools::safeOutput(Tools::getValue('meta_title_'.$id_lang), true)).'\')');
} }
} }
@@ -537,7 +537,7 @@ class BlockLayered extends Module
foreach ($languages as $language) foreach ($languages as $language)
$return .= ' $return .= '
<div id="url_name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;"> <div id="url_name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="url_name_'.$language['id_lang'].'" value="'.htmlspecialchars(@$langValue[$language['id_lang']]['url_name']).'" /> <input size="33" type="text" name="url_name_'.$language['id_lang'].'" value="'.Tools::safeOutput(@$langValue[$language['id_lang']]['url_name'], true).'" />
<span class="hint" name="help_box">'.$this->l('Invalid characters:').' <>;=#{}_<span class="hint-pointer">&nbsp;</span></span> <span class="hint" name="help_box">'.$this->l('Invalid characters:').' <>;=#{}_<span class="hint-pointer">&nbsp;</span></span>
<p style="clear: both">'.$this->l('Specific format in url block layered generation').'</p> <p style="clear: both">'.$this->l('Specific format in url block layered generation').'</p>
</div>'; </div>';
@@ -550,7 +550,7 @@ class BlockLayered extends Module
foreach ($languages as $language) foreach ($languages as $language)
$return .= ' $return .= '
<div id="meta_title_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;"> <div id="meta_title_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="meta_title_'.$language['id_lang'].'" value="'.htmlspecialchars(@$langValue[$language['id_lang']]['meta_title']).'" /> <input size="33" type="text" name="meta_title_'.$language['id_lang'].'" value="'.Tools::safeOutput(@$langValue[$language['id_lang']]['meta_title'], true).'" />
<p style="clear: both">'.$this->l('Specific format for meta title').'</p> <p style="clear: both">'.$this->l('Specific format for meta title').'</p>
</div>'; </div>';
$return .= $this->displayFlags($languages, $default_form_language, 'flag_fields', 'meta_title', true, true); $return .= $this->displayFlags($languages, $default_form_language, 'flag_fields', 'meta_title', true, true);
@@ -572,7 +572,7 @@ class BlockLayered extends Module
$id_lang = (int)$language['id_lang']; $id_lang = (int)$language['id_lang'];
Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_attribute_lang Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_attribute_lang
VALUES ('.(int)$params['id_attribute'].', '.$id_lang.', \''.Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang)).'\', VALUES ('.(int)$params['id_attribute'].', '.$id_lang.', \''.Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang)).'\',
\''.pSQL(htmlspecialchars(Tools::getValue('meta_title_'.$id_lang))).'\')'); \''.pSQL(Tools::safeOutput(Tools::getValue('meta_title_'.$id_lang), true)).'\')');
} }
} }
@@ -609,7 +609,7 @@ class BlockLayered extends Module
foreach ($languages as $language) foreach ($languages as $language)
$return .= ' $return .= '
<div id="url_name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;"> <div id="url_name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="url_name_'.$language['id_lang'].'" value="'.htmlspecialchars(@$langValue[$language['id_lang']]['url_name']).'" /> <input size="33" type="text" name="url_name_'.$language['id_lang'].'" value="'.Tools::safeOutput(@$langValue[$language['id_lang']]['url_name'], true).'" />
<span class="hint" name="help_box">'.$this->l('Invalid characters:').' <>;=#{}_<span class="hint-pointer">&nbsp;</span></span> <span class="hint" name="help_box">'.$this->l('Invalid characters:').' <>;=#{}_<span class="hint-pointer">&nbsp;</span></span>
<p style="clear: both">'.$this->l('Specific format in url block layered generation').'</p> <p style="clear: both">'.$this->l('Specific format in url block layered generation').'</p>
</div>'; </div>';
@@ -622,7 +622,7 @@ class BlockLayered extends Module
foreach ($languages as $language) foreach ($languages as $language)
$return .= ' $return .= '
<div id="meta_title_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;"> <div id="meta_title_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="meta_title_'.$language['id_lang'].'" value="'.htmlspecialchars(@$langValue[$language['id_lang']]['meta_title']).'" /> <input size="33" type="text" name="meta_title_'.$language['id_lang'].'" value="'.Tools::safeOutput(@$langValue[$language['id_lang']]['meta_title'], true).'" />
<p style="clear: both">'.$this->l('Specific format for meta title').'</p> <p style="clear: both">'.$this->l('Specific format for meta title').'</p>
</div>'; </div>';
$return .= $this->displayFlags($languages, $default_form_language, 'flag_fields', 'meta_title', true, true); $return .= $this->displayFlags($languages, $default_form_language, 'flag_fields', 'meta_title', true, true);
@@ -659,7 +659,7 @@ class BlockLayered extends Module
$id_lang = (int)$language['id_lang']; $id_lang = (int)$language['id_lang'];
Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_attribute_group_lang Db::getInstance()->Execute('INSERT INTO '._DB_PREFIX_.'layered_indexable_attribute_group_lang
VALUES ('.(int)$params['id_attribute_group'].', '.$id_lang.', \''.Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang)).'\', VALUES ('.(int)$params['id_attribute_group'].', '.$id_lang.', \''.Tools::link_rewrite(Tools::getValue('url_name_'.$id_lang)).'\',
\''.pSQL(htmlspecialchars(Tools::getValue('meta_title_'.$id_lang))).'\')'); \''.pSQL(Tools::safeOutput(Tools::getValue('meta_title_'.$id_lang), true)).'\')');
} }
} }
@@ -722,7 +722,7 @@ class BlockLayered extends Module
foreach ($languages as $language) foreach ($languages as $language)
$return .= ' $return .= '
<div id="url_name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;"> <div id="url_name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="url_name_'.$language['id_lang'].'" value="'.htmlspecialchars(@$langValue[$language['id_lang']]['url_name']).'" /> <input size="33" type="text" name="url_name_'.$language['id_lang'].'" value="'.Tools::safeOutput(@$langValue[$language['id_lang']]['url_name'], true).'" />
<span class="hint" name="help_box">'.$this->l('Invalid characters:').' <>;=#{}_<span class="hint-pointer">&nbsp;</span></span> <span class="hint" name="help_box">'.$this->l('Invalid characters:').' <>;=#{}_<span class="hint-pointer">&nbsp;</span></span>
<p style="clear: both">'.$this->l('Specific format in url block layered generation').'</p> <p style="clear: both">'.$this->l('Specific format in url block layered generation').'</p>
</div>'; </div>';
@@ -735,7 +735,7 @@ class BlockLayered extends Module
foreach ($languages as $language) foreach ($languages as $language)
$return .= ' $return .= '
<div id="meta_title_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;"> <div id="meta_title_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="meta_title_'.$language['id_lang'].'" value="'.htmlspecialchars(@$langValue[$language['id_lang']]['meta_title']).'" /> <input size="33" type="text" name="meta_title_'.$language['id_lang'].'" value="'.Tools::safeOutput(@$langValue[$language['id_lang']]['meta_title'], true).'" />
<p style="clear: both">'.$this->l('Specific format for meta title').'</p> <p style="clear: both">'.$this->l('Specific format for meta title').'</p>
</div>'; </div>';
$return .= $this->displayFlags($languages, $default_form_language, 'flag_fields', 'meta_title', true, true); $return .= $this->displayFlags($languages, $default_form_language, 'flag_fields', 'meta_title', true, true);
@@ -782,7 +782,7 @@ class BlockLayered extends Module
foreach ($languages as $language) foreach ($languages as $language)
$return .= ' $return .= '
<div id="url_name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;"> <div id="url_name_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="url_name_'.$language['id_lang'].'" value="'.htmlspecialchars(@$langValue[$language['id_lang']]['url_name']).'" /> <input size="33" type="text" name="url_name_'.$language['id_lang'].'" value="'.Tools::safeOutput(@$langValue[$language['id_lang']]['url_name'], true).'" />
<span class="hint" name="help_box">'.$this->l('Invalid characters:').' <>;=#{}_<span class="hint-pointer">&nbsp;</span></span> <span class="hint" name="help_box">'.$this->l('Invalid characters:').' <>;=#{}_<span class="hint-pointer">&nbsp;</span></span>
<p style="clear: both">'.$this->l('Specific format in url block layered generation').'</p> <p style="clear: both">'.$this->l('Specific format in url block layered generation').'</p>
</div>'; </div>';
@@ -795,7 +795,7 @@ class BlockLayered extends Module
foreach ($languages as $language) foreach ($languages as $language)
$return .= ' $return .= '
<div id="meta_title_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;"> <div id="meta_title_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $default_form_language ? 'block' : 'none').'; float: left;">
<input size="33" type="text" name="meta_title_'.$language['id_lang'].'" value="'.htmlspecialchars(@$langValue[$language['id_lang']]['meta_title']).'" /> <input size="33" type="text" name="meta_title_'.$language['id_lang'].'" value="'.Tools::safeOutput(@$langValue[$language['id_lang']]['meta_title'], true).'" />
<p style="clear: both">'.$this->l('Specific format for meta title').'</p> <p style="clear: both">'.$this->l('Specific format for meta title').'</p>
</div>'; </div>';
$return .= $this->displayFlags($languages, $default_form_language, 'flag_fields', 'meta_title', true, true); $return .= $this->displayFlags($languages, $default_form_language, 'flag_fields', 'meta_title', true, true);
@@ -1732,7 +1732,7 @@ class BlockLayered extends Module
if(Tools::getValue('selected_filters')) if(Tools::getValue('selected_filters'))
$url = Tools::getValue('selected_filters'); $url = Tools::getValue('selected_filters');
else else
$url = preg_replace('/\/(?:\w*)\/(?:[0-9]+[-\w]*)([^\?]*)\??.*/', '$1', Tools::htmlentitiesUTF8($_SERVER['REQUEST_URI'])); $url = preg_replace('/\/(?:\w*)\/(?:[0-9]+[-\w]*)([^\?]*)\??.*/', '$1', Tools::safeOutput($_SERVER['REQUEST_URI'], true));
$urlAttributes = explode('/',$url); $urlAttributes = explode('/',$url);
array_shift($urlAttributes); array_shift($urlAttributes);
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
-1
View File
@@ -6,7 +6,6 @@
<description><![CDATA[Open your shop on the eBay market place !]]></description> <description><![CDATA[Open your shop on the eBay market place !]]></description>
<author><![CDATA[PrestaShop]]></author> <author><![CDATA[PrestaShop]]></author>
<tab><![CDATA[market_place]]></tab> <tab><![CDATA[market_place]]></tab>
<confirmUninstall>Are you sure you want uninstall this module ? All your configuration will be lost.</confirmUninstall>
<is_configurable>1</is_configurable> <is_configurable>1</is_configurable>
<need_instance>1</need_instance> <need_instance>1</need_instance>
<limited_countries></limited_countries> <limited_countries></limited_countries>
+1 -1
View File
@@ -915,7 +915,7 @@ class Ebay extends Module
// Load categories only if necessary // Load categories only if necessary
if (Db::getInstance()->getValue('SELECT COUNT(`id_ebay_category_configuration`) FROM `'._DB_PREFIX_.'ebay_category_configuration`') > 4 && Tools::getValue('section') != 'category') if (Db::getInstance()->getValue('SELECT COUNT(`id_ebay_category_configuration`) FROM `'._DB_PREFIX_.'ebay_category_configuration`') > 4 && Tools::getValue('section') != 'category')
return '<p align="center"><b>'.$this->l('Your categories have already been configured.').'</b></p> return '<p align="center"><b>'.$this->l('Your categories have already been configured.').'</b></p>
<form action="index.php?tab='.$_GET['tab'].'&configure='.$_GET['configure'].'&token='.$_GET['token'].'&tab_module='.$_GET['tab_module'].'&module_name='.$_GET['module_name'].'&id_tab=2&section=category" method="post" class="form"> <form action="index.php?tab='.Tools::safeOuput($_GET['tab']).'&configure='.Tools::safeOuput($_GET['configure']).'&token='.Tools::safeOuput($_GET['token']).'&tab_module='.Tools::safeOuput($_GET['tab_module']).'&module_name='.Tools::safeOuput($_GET['module_name']).'&id_tab=2&section=category" method="post" class="form">
<p align="center"><input class="button" name="submitSave" type="submit" value="'.$this->l('See Categories').'" /></p></form>'; <p align="center"><input class="button" name="submitSave" type="submit" value="'.$this->l('See Categories').'" /></p></form>';
// Display eBay Categories // Display eBay Categories
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+1 -1
View File
@@ -701,7 +701,7 @@ class shopimporter extends ImportModule
{ {
$this->saveMatchId(strtolower($className), (int)$object->id, (int)$id); $this->saveMatchId(strtolower($className), (int)$object->id, (int)$id);
if ($className == 'Customer') if ($className == 'Customer')
Db::getInstance()->Execute('UPDATE '._DB_PREFIX_.'customer SET `passwd_'.bqSQL(Tools::getValue('moduleName')).'̀ = \''.pSQL($password).'\' WHERE id_customer = '.(int)$object->id); Db::getInstance()->Execute('UPDATE '._DB_PREFIX_.'customer SET `passwd_'.bqSQL(Tools::getValue('moduleName')).'` = \''.pSQL($password).'\' WHERE id_customer = '.(int)$object->id);
if (array_key_exists('hasImage', $this->supportedImports[strtolower($className)]) AND Tools::isSubmit('images_'.$className)) if (array_key_exists('hasImage', $this->supportedImports[strtolower($className)]) AND Tools::isSubmit('images_'.$className))
$this->copyImg($item, $className); $this->copyImg($item, $className);
} }
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();
+4
View File
@@ -0,0 +1,4 @@
<?php
global $_MODULE;
$_MODULE = array();