// install-new renamed to install-dev

This commit is contained in:
mMarinetti
2012-01-26 17:35:54 +00:00
parent 554e7ce7d7
commit c6376aa861
924 changed files with 0 additions and 0 deletions
@@ -0,0 +1,20 @@
<?php
function add_accounting_tab()
{
$id_parent = add_new_tab(
'AdminAccounting',
'en:Accounting|fr:Comptabilité|es:Accounting|de:Accounting|it:Accounting',
0,
true);
add_new_tab(
'AdminAccountingManagement',
'en:Account Number Management|fr:Gestion des numéros de comptes|es:Account Number Management|de:Account Number Management|it:Account Number Management',
$id_parent);
add_new_tab(
'AdminAccountingExport',
'en:Export|fr:Export|es:Export|de:Export|it:Export',
$id_parent);
}
+51
View File
@@ -0,0 +1,51 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_attribute_position()
{
$groups = Db::getInstance()->executeS('
SELECT DISTINCT `id_attribute_group`
FROM `'._DB_PREFIX_.'attribute`');
if (count($groups) && is_array($groups))
foreach ($groups as $group)
{
$attributes = Db::getInstance()->executeS('
SELECT *
FROM `'._DB_PREFIX_.'attribute`
WHERE `id_attribute_group` = '. (int)($group['id_attribute_group']));
$i = 0;
if (count($attributes) && is_array($attributes))
foreach ($attributes as $attribute)
{
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'attribute`
SET `position` = '.$i++.'
WHERE `id_attribute` = '.(int)$attribute['id_attribute'].'
AND `id_attribute_group` = '.(int)$attribute['id_attribute_group']);
}
}
}
+45
View File
@@ -0,0 +1,45 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_carrier_position()
{
$carriers = Db::getInstance()->executeS('
SELECT `id_carrier`
FROM `'._DB_PREFIX_.'carrier`
WHERE `deleted` = 0');
if (count($carriers) && is_array($carriers))
{
$i = 0;
foreach ($carriers as $carrier)
{
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'carrier`
SET `position` = '.$i++.'
WHERE `id_carrier` = '.(int)$carrier['id_carrier']);
}
}
}
@@ -0,0 +1,35 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_column_order_state_deleted_if_not_exists()
{
$column = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'order_state` LIKE "deleted"');
if (empty($column))
return Db::getInstance()->execute('ALTER TABLE `PREFIX_order_state`
ADD COLUMN `deleted` tinyint(1) UNSIGNED NOT NULL default "0" AFTER `paid`');
return true;
}
@@ -0,0 +1,33 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_column_orders_reference_if_not_exists()
{
$column = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'orders` LIKE "reference"');
if (empty($column))
return Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'orders` ADD COLUMN `reference` varchar(9) AFTER `id_order`');
}
@@ -0,0 +1,54 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 10056 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_default_restrictions_modules_groups()
{
$groups = Db::getInstance()->executeS('
SELECT `id_group`
FROM `'._DB_PREFIX_.'group`');
$modules = Db::getInstance()->executeS('
SELECT m.*
FROM `'._DB_PREFIX_.'module` m');
$shops = Db::getInstance()->executeS('
SELECT `id_shop`
FROM `'._DB_PREFIX_.'shop`');
foreach ($groups as $group)
{
if (!is_array($modules))
return false;
else
{
$sql = 'INSERT INTO `'._DB_PREFIX_.'module_group` (`id_module`, `id_shop`, `id_group`) VALUES ';
foreach ($modules as $mod)
foreach ($shops as $s)
$sql .= '("'.(int)$mod['id_module'].'", "'.(int)$s.'", "'.(int)$group['id_group'].'"),';
// removing last comma to avoid SQL error
$sql = substr($sql, 0, strlen($sql) - 1);
Db::getInstance()->execute($sql);
}
}
}
@@ -0,0 +1,42 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_feature_position()
{
$features = Db::getInstance()->executeS('
SELECT `id_feature`
FROM `'._DB_PREFIX_.'feature`');
$i = 0;
if (sizeof($features) && is_array($features))
foreach ($features as $feature)
{
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'feature`
SET `position` = '.$i++.'
WHERE `id_feature` = '.(int)$feature['id_feature']);
}
}
@@ -0,0 +1,42 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_group_attribute_position()
{
$groups = Db::getInstance()->executeS('
SELECT *
FROM `'._DB_PREFIX_.'attribute_group`');
$i = 0;
if (sizeof($groups) && is_array($groups))
foreach ($groups as $group)
{
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'attribute_group`
SET `position` = '.$i++.'
WHERE `id_attribute_group` = '.(int)$group['id_attribute_group']);
}
}
@@ -0,0 +1,46 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 7373 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_missing_rewrite_value()
{
$pages = Db::getInstance()->executeS('
SELECT *
FROM `'._DB_PREFIX_.'meta` m
LEFT JOIN `'._DB_PREFIX_.'meta_lang` ml ON (m.`id_meta` = ml.`id_meta`)
WHERE ml.`url_rewrite` = \'\'
AND m.`page` != "index"
');
if (sizeof($pages) && is_array($pages))
foreach ($pages as $page)
{
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'meta_lang`
SET `url_rewrite` = "'.pSQL(Tools::str2url($page['title'])).'"
WHERE `id_meta` = '.(int)$page['id_meta'].'
AND `id_lang` = '.(int)$page['id_lang']);
}
}
@@ -0,0 +1,58 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 12447 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_module_to_hook($module_name, $hook_name)
{
$res = true;
$id_module = Db::getInstance()->getValue('
SELECT `id_module` FROM `'._DB_PREFIX_.'module`
WHERE `name` = "'.$module_name.'"'
);
if ((int)$id_module > 0)
{
$id_hook = Db::getInstance()->getValue('
SELECT `id_hook` FROM `'._DB_PREFIX_.'hook` WHERE `name` = "'.$hook_name.'"
');
if ((int)$id_hook > 0)
{
$res &= Db::getInstance()->execute('
INSERT IGNORE INTO `'._DB_PREFIX_.'hook_module` (`id_module`, `id_hook`, `position`)
VALUES (
'.(int)$id_module.',
'.(int)$id_hook.',
(SELECT IFNULL(
(SELECT max_position from (SELECT MAX(position)+1 as max_position FROM `'._DB_PREFIX_.'hook_module` WHERE `id_hook` = '.(int)$id_hook.') AS max_position), 1))
)');
}
}
return $res;
}
@@ -0,0 +1,50 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_new_groups($french, $standard)
{
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'group` (`id_group`, `date_add`, `date_upd`) VALUES (NULL, NOW(), NOW())');
$last_id = Db::getInstance()->Insert_ID();
$languages = Db::getInstance()->executeS('SELECT id_lang, iso_code FROM `'._DB_PREFIX_.'lang`');
$sql = '';
foreach ($languages as $lang)
if (strtolower($lang['iso_code']) == 'fr')
$sql .= '('.(int)$last_id.', '.(int)$lang['id_lang'].', "'.pSQL($french).'"),';
else
$sql .= '('.(int)$last_id.', '.(int)$lang['id_lang'].', "'.pSQL($standard).'"),';
$sql = substr($sql, 0, strlen($sql) - 1);
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'group_lang` (`id_group`, `id_lang`, `name`) VALUES '.$sql);
// we add the different id_group in the configuration
if (strtolower($standard) == 'unidentified')
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'configuration` (`id_configuration`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, "PS_UNIDENTIFIED_GROUP", "'.(int)$last_id.'", NOW(), NOW())');
else if (strtolower($standard) == 'guest')
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'configuration` (`id_configuration`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, "PS_GUEST_GROUP", "'.(int)$last_id.'", NOW(), NOW())');
else if (strtolower($standard) == 'test')
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'configuration` (`id_configuration`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, "PS_TEST", "'.(int)$last_id.'", NOW(), NOW())');
}
+66
View File
@@ -0,0 +1,66 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 12447 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_new_tab($className, $name, $id_parent, $returnId = false)
{
$array = array();
foreach (explode('|', $name) AS $item)
{
$temp = explode(':', $item);
$array[$temp[0]] = $temp[1];
}
if (!(int)Db::getInstance()->getValue('SELECT count(id_tab) FROM `'._DB_PREFIX_.'tab` WHERE `class_name` = \''.pSQL($className).'\' '))
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'tab` (`id_parent`, `class_name`, `module`, `position`) VALUES ('.(int)$id_parent.', \''.pSQL($className).'\', \'\',
(SELECT IFNULL(MAX(t.position),0)+ 1 FROM `'._DB_PREFIX_.'tab` t WHERE t.id_parent = '.(int)$id_parent.'))');
$languages = Db::getInstance()->executeS('SELECT id_lang, iso_code FROM `'._DB_PREFIX_.'lang`');
foreach ($languages AS $lang)
{
Db::getInstance()->execute('
INSERT IGNORE INTO `'._DB_PREFIX_.'tab_lang` (`id_lang`, `id_tab`, `name`)
VALUES ('.(int)$lang['id_lang'].', (
SELECT `id_tab`
FROM `'._DB_PREFIX_.'tab`
WHERE `class_name` = \''.pSQL($className).'\' LIMIT 0,1
), \''.pSQL(isset($array[$lang['iso_code']]) ? $array[$lang['iso_code']] : $array['en']).'\')
');
}
Db::getInstance()->execute('INSERT IGNORE INTO `'._DB_PREFIX_.'access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`)
(SELECT `id_profile`, (
SELECT `id_tab`
FROM `'._DB_PREFIX_.'tab`
WHERE `class_name` = \''.pSQL($className).'\' LIMIT 0,1
), 1, 1, 1, 1 FROM `'._DB_PREFIX_.'profile` )');
if($returnId) {
return (int)Db::getInstance()->getValue('SELECT `id_tab`
FROM `'._DB_PREFIX_.'tab`
WHERE `class_name` = \''.pSQL($className).'\'');
}
}
@@ -0,0 +1,71 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function add_order_state($conf_name, $name, $invoice, $send_email, $color, $unremovable, $logable, $delivery, $template = null)
{
$res = true;
$name_lang = array();
$template_lang = array();
foreach (explode('|', $name) AS $item)
{
$temp = explode(':', $item);
$name_lang[$temp[0]] = $temp[1];
}
if ($template)
foreach (explode('|', $template) AS $item)
{
$temp = explode(':', $item);
$template_lang[$temp[0]] = $temp[1];
}
$res &= Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'order_state` (`invoice`, `send_email`, `color`, `unremovable`, `logable`, `delivery`)
VALUES ('.(int)$invoice.', '.(int)$send_email.', "'.$color.'", '.(int)$unremovable.', '.(int)$logable.', '.(int)$delivery.')');
$id_order_state = Db::getInstance()->getValue('
SELECT MAX(`id_order_state`)
FROM `'._DB_PREFIX_.'order_state`');
$languages = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'lang`');
foreach ($languages AS $lang)
{
$iso_code = $lang['iso_code'];
$iso_code_name = isset($name_lang[$iso_code])?$iso_code:'en';
$iso_code_template = isset($template_lang[$iso_code])?$iso_code:'en';
$name = isset($name_lang[$iso_code]) ? $name_lang[$iso_code] : $name_lang['en'];
$template = isset($template_lang[$iso_code]) ? $template_lang[$iso_code] : '';
$res &= Db::getInstance()->execute('
INSERT IGNORE INTO `'._DB_PREFIX_.'order_state_lang` (`id_lang`, `id_order_state`, `name`, `template`)
VALUES ('.(int)$lang['id_lang'].', '.(int)$id_order_state.', "'. $name .'", "'. $template .'")
');
}
$res &= Db::getInstance()->getValue('REPLACE INTO `'._DB_PREFIX_.'configuration`
(name, value) VALUES ("'.$conf_name.'", "'.$id_order_state.'"');
}
@@ -0,0 +1,44 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
define('_CONTAINS_REQUIRED_FIELD_', 2);
function add_required_customization_field_flag()
{
if (($result = Db::getInstance()->ExecuteS('SELECT `id_product` FROM `'._DB_PREFIX_.'customization_field` WHERE `required` = 1')) === false)
return false;
if (Db::getInstance()->numRows())
{
$productIds = array();
foreach ($result AS $row)
$productIds[] = (int)($row['id_product']);
if (!Db::getInstance()->Execute('UPDATE `'._DB_PREFIX_.'product` SET `customizable` = '._CONTAINS_REQUIRED_FIELD_.' WHERE `id_product` IN ('.implode(', ', $productIds).')'))
return false;
}
return true;
}
+80
View File
@@ -0,0 +1,80 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 7387 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
require_once(_PS_INSTALLER_PHP_UPGRADE_DIR_.'add_new_tab.php');
function add_stock_tab()
{
// Patch for the 1.0.1 sql update
Db::getInstance()->query('
DELETE
FROM `'._DB_PREFIX_.'tab`
WHERE id_parent = 1
AND class_name = "AdminStocks"');
// Create new tabs
$id_parent = add_new_tab(
'AdminStock',
'en:Stock|fr:Stock|es:Stock|de:Stock|it:Stock',
0,
true);
add_new_tab(
'AdminWarehouses',
'en:Warehouses|fr:Entrepôts|es:Warehouses|de:Warehouses|it:Warehouses',
$id_parent);
add_new_tab(
'AdminStockManagement',
'en:Stock Management|fr:Gestion du stock|es:Stock Management|de:Stock Management|it:Stock Management',
$id_parent);
add_new_tab(
'AdminStockMvt',
'en:Stock Movement|fr:Mouvements de Stock|es:Stock Movement|de:Stock Movement|it:Stock Movement',
$id_parent);
add_new_tab(
'AdminStockInstantState',
'en:Stock instant state|fr:Etat instantané du stock|es:Stock instant state|de:Stock instant state|it:Stock instant state',
$id_parent);
add_new_tab(
'AdminStockCover',
'en:Stock cover|fr:Couverture du stock|es:Stock cover|de:Stock cover|it:Stock cover',
$id_parent);
add_new_tab(
'AdminSupplyOrders',
'en:Supply orders|fr:Commandes fournisseurs|es:Supply orders|de:Supply orders|it:Supply orders',
$id_parent);
add_new_tab(
'AdminStockConfiguration',
'en:Configuration|fr:Configuration|es:Configuration|de:Configuration|it:Configuration',
$id_parent);
}
@@ -0,0 +1,36 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function alter_blocklink()
{
// No one will know if the table does not exist :] Thanks Damien for your solution ;)
DB::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'blocklink_lang` CHANGE `id_link` `id_blocklink` INT( 10 ) UNSIGNED NOT NULL');
DB::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'blocklink` CHANGE `id_link` `id_blocklink` INT( 10 ) UNSIGNED NOT NULL');
}
@@ -0,0 +1,40 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function alter_cms_block()
{
// No one will know if the table does not exist :] Thanks Damien for your solution ;)
DB::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'cms_block_lang` CHANGE `id_block_cms` `id_cms_block` INT( 10 ) UNSIGNED NOT NULL');
DB::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'cms_block` CHANGE `id_block_cms` `id_cms_block` INT( 10 ) UNSIGNED NOT NULL');
DB::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'cms_block_page` CHANGE `id_block_cms` `id_cms_block` INT( 10 ) UNSIGNED NOT NULL');
DB::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'cms_block_page` CHANGE `id_block_cms_page` `id_cms_block_page` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT');
}
@@ -0,0 +1,40 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function alter_productcomments_guest_index()
{
$id_productcomments = Db::getInstance()->getValue('SELECT id_module
FROM `'._DB_PREFIX_.'module` WHERE name = "productcomments"');
if (!$id_productcomments)
return;
DB::getInstance()->Execute('
ALTER TABLE `'._DB_PREFIX_.'product_comment`
DROP INDEX `id_guest`, ADD INDEX `id_guest` (`id_guest`);');
}
@@ -0,0 +1,47 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function attribute_group_clean_combinations()
{
$attributeCombinations = Db::getInstance()->ExecuteS('SELECT
pac.`id_attribute`, pa.`id_product_attribute`
FROM `'._DB_PREFIX_.'product_attribute` pa
LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac
ON (pa.`id_product_attribute` = pac.`id_product_attribute`)');
$toRemove = array();
foreach ($attributeCombinations AS $attributeCombination)
if ((int)($attributeCombination['id_attribute']) == 0)
$toRemove[] = (int)($attributeCombination['id_product_attribute']);
if (!empty($toRemove))
{
$res = Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'product_attribute`
WHERE `id_product_attribute` IN ('.implode(', ', $toRemove).')');
return $res;
}
return true;
}
@@ -0,0 +1,33 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function blocknewsletter()
{
// No one will know if the table does not exist :]
DB::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'newsletter ADD `http_referer` VARCHAR(255) NULL');
}
@@ -0,0 +1,44 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/**
* Check if all needed columns in webservice_account table exists.
* These columns are used for the WebserviceRequest overriding.
*
* @return void
*/
function check_webservice_account_table()
{
$sql = 'SHOW COLUMNS FROM '._DB_PREFIX_.'webservice_account';
$return = DB::getInstance()->executeS($sql);
if (count($return) < 7)
{
$sql = 'ALTER TABLE `'._DB_PREFIX_.'webservice_account` ADD `is_module` TINYINT( 2 ) NOT NULL DEFAULT \'0\' AFTER `class_name` ,
ADD `module_name` VARCHAR( 50 ) NULL DEFAULT NULL AFTER `is_module`';
DB::getInstance()->executeS($sql);
}
}
+33
View File
@@ -0,0 +1,33 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6594 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function cms_block()
{
if (!Db::getInstance()->execute('SELECT `display_store` FROM `'._DB_PREFIX_.'cms_block` LIMIT 1'))
return Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'cms_block` ADD `display_store` TINYINT NOT NULL DEFAULT \'1\'');
return true;
}
@@ -0,0 +1,48 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function configuration_double_cleaner()
{
$result = Db::getInstance()->ExecuteS('
SELECT name, MIN(id_configuration) AS minid
FROM '._DB_PREFIX_.'configuration
GROUP BY name
HAVING count(name) > 1');
foreach ($result as $row)
{
DB::getInstance()->Execute('
DELETE FROM '._DB_PREFIX_.'configuration
WHERE name = \''.addslashes($row['name']).'\'
AND id_configuration != '.(int)($row['minid']));
}
DB::getInstance()->Execute('
DELETE FROM '._DB_PREFIX_.'configuration_lang
WHERE id_configuration NOT IN (
SELECT id_configuration
FROM '._DB_PREFIX_.'configuration)');
}
@@ -0,0 +1,52 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/* Convert product prices from the PS < 1.3 wrong rounding system to the new 1.3 one */
function convert_product_price()
{
$taxes = Db::getInstance()->executeS('SELECT * FROM '._DB_PREFIX_.'tax');
$taxRates = array();
foreach ($taxes as $data)
$taxRates[$data['id_tax']] = (float)($data['rate']) / 100;
$resource = DB::getInstance()->executeS('SELECT `id_product`, `price`, `id_tax`
FROM `'._DB_PREFIX_.'product`', false);
if (!$resource)
return array('error' => 1, 'msg' => Db::getInstance()->getMsgError()); // was previously die(mysql_error())
while ($row = DB::getInstance()->nextRow($resource))
if ($row['id_tax'])
{
$price = $row['price'] * (1 + $taxRates[$row['id_tax']]);
$decimalPart = $price - (int)$price;
if ($decimalPart < 0.000001)
{
$newPrice = (float)(number_format($price, 6, '.', ''));
$newPrice = Tools::floorf($newPrice / (1 + $taxRates[$row['id_tax']]), 6);
DB::getInstance()->execute('UPDATE `'._DB_PREFIX_.'product` SET `price` = '.$newPrice.' WHERE `id_product` = '.(int)$row['id_product']);
}
}
}
@@ -0,0 +1,278 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
$timezones = array(
'AD' => 'Europe/Andorra',
'AE' => 'Asia/Dubai',
'AF' => 'Asia/Kabul',
'AG' => 'America/Antigua',
'AI' => 'America/Anguilla',
'AL' => 'Europe/Tirane',
'AM' => 'Asia/Yerevan',
'AN' => 'America/Curacao',
'AO' => 'Africa/Luanda',
'AQ' => 'Antarctica/McMurdo',
'AR' => 'America/Argentina/Buenos_Aires',
'AS' => 'Pacific/Pago_Pago',
'AT' => 'Europe/Vienna',
'AU' => 'Australia/Lord_Howe',
'AW' => 'America/Aruba',
'AX' => 'Europe/Mariehamn',
'AZ' => 'Asia/Baku',
'BA' => 'Europe/Sarajevo',
'BB' => 'America/Barbados',
'BD' => 'Asia/Dhaka',
'BE' => 'Europe/Brussels',
'BF' => 'Africa/Ouagadougou',
'BG' => 'Europe/Sofia',
'BH' => 'Asia/Bahrain',
'BI' => 'Africa/Bujumbura',
'BJ' => 'Africa/Porto-Novo',
'BL' => 'America/St_Barthelemy',
'BM' => 'Atlantic/Bermuda',
'BN' => 'Asia/Brunei',
'BO' => 'America/La_Paz',
'BR' => 'America/Noronha',
'BS' => 'America/Nassau',
'BT' => 'Asia/Thimphu',
'BV' => '',
'BW' => 'Africa/Gaborone',
'BY' => 'Europe/Minsk',
'BZ' => 'America/Belize',
'CA' => 'America/Toronto',
'CC' => 'Indian/Cocos',
'CD' => 'Africa/Kinshasa',
'CF' => 'Africa/Bangui',
'CG' => 'Africa/Brazzaville',
'CH' => 'Europe/Zurich',
'CI' => 'Africa/Abidjan',
'CK' => 'Pacific/Rarotonga',
'CL' => 'America/Santiago',
'CM' => 'Africa/Douala',
'CN' => 'Asia/Shanghai',
'CO' => 'America/Bogota',
'CR' => 'America/Costa_Rica',
'CU' => 'America/Havana',
'CV' => 'Atlantic/Cape_Verde',
'CX' => 'Indian/Christmas',
'CY' => 'Asia/Nicosia',
'CZ' => 'Europe/Prague',
'DE' => 'Europe/Berlin',
'DJ' => 'Africa/Djibouti',
'DK' => 'Europe/Copenhagen',
'DM' => 'America/Dominica',
'DO' => 'America/Santo_Domingo',
'DZ' => 'Africa/Algiers',
'EC' => 'America/Guayaquil',
'EE' => 'Europe/Tallinn',
'EG' => 'Africa/Cairo',
'EH' => 'Africa/El_Aaiun',
'ER' => 'Africa/Asmara',
'ES' => 'Europe/Madrid',
'ET' => 'Africa/Addis_Ababa',
'FI' => 'Europe/Helsinki',
'FJ' => 'Pacific/Fiji',
'FK' => 'Atlantic/Stanley',
'FM' => 'Pacific/Chuuk',
'FO' => 'Atlantic/Faroe',
'FR' => 'Europe/Paris',
'GA' => 'Africa/Libreville',
'GB' => 'Europe/London',
'GD' => 'America/Grenada',
'GE' => 'Asia/Tbilisi',
'GF' => 'America/Cayenne',
'GG' => 'Europe/Guernsey',
'GH' => 'Africa/Accra',
'GI' => 'Europe/Gibraltar',
'GL' => 'America/Godthab',
'GM' => 'Africa/Banjul',
'GN' => 'Africa/Conakry',
'GP' => 'America/Guadeloupe',
'GQ' => 'Africa/Malabo',
'GR' => 'Europe/Athens',
'GS' => 'Atlantic/South_Georgia',
'GT' => 'America/Guatemala',
'GU' => 'Pacific/Guam',
'GW' => 'Africa/Bissau',
'GY' => 'America/Guyana',
'HK' => 'Asia/Hong_Kong',
'HM' => '',
'HN' => 'America/Tegucigalpa',
'HR' => 'Europe/Zagreb',
'HT' => 'America/Port-au-Prince',
'HU' => 'Europe/Budapest',
'ID' => 'Asia/Jakarta',
'IE' => 'Europe/Dublin',
'IL' => 'Asia/Jerusalem',
'IM' => 'Europe/Isle_of_Man',
'IN' => 'Asia/Kolkata',
'IO' => 'Indian/Chagos',
'IQ' => 'Asia/Baghdad',
'IR' => 'Asia/Tehran',
'IS' => 'Atlantic/Reykjavik',
'IT' => 'Europe/Rome',
'JE' => 'Europe/Jersey',
'JM' => 'America/Jamaica',
'JO' => 'Asia/Amman',
'JP' => 'Asia/Tokyo',
'KE' => 'Africa/Nairobi',
'KG' => 'Asia/Bishkek',
'KH' => 'Asia/Phnom_Penh',
'KI' => 'Pacific/Tarawa',
'KM' => 'Indian/Comoro',
'KN' => 'America/St_Kitts',
'KP' => 'Asia/Pyongyang',
'KR' => 'Asia/Seoul',
'KW' => 'Asia/Kuwait',
'KY' => 'America/Cayman',
'KZ' => 'Asia/Almaty',
'LA' => 'Asia/Vientiane',
'LB' => 'Asia/Beirut',
'LC' => 'America/St_Lucia',
'LI' => 'Europe/Vaduz',
'LK' => 'Asia/Colombo',
'LR' => 'Africa/Monrovia',
'LS' => 'Africa/Maseru',
'LT' => 'Europe/Vilnius',
'LU' => 'Europe/Luxembourg',
'LV' => 'Europe/Riga',
'LY' => 'Africa/Tripoli',
'MA' => 'Africa/Casablanca',
'MC' => 'Europe/Monaco',
'MD' => 'Europe/Chisinau',
'ME' => 'Europe/Podgorica',
'MF' => 'America/Marigot',
'MG' => 'Indian/Antananarivo',
'MH' => 'Pacific/Majuro',
'MK' => 'Europe/Skopje',
'ML' => 'Africa/Bamako',
'MM' => 'Asia/Rangoon',
'MN' => 'Asia/Ulaanbaatar',
'MO' => 'Asia/Macau',
'MP' => 'Pacific/Saipan',
'MQ' => 'America/Martinique',
'MR' => 'Africa/Nouakchott',
'MS' => 'America/Montserrat',
'MT' => 'Europe/Malta',
'MU' => 'Indian/Mauritius',
'MV' => 'Indian/Maldives',
'MW' => 'Africa/Blantyre',
'MX' => 'America/Mexico_City',
'MY' => 'Asia/Kuala_Lumpur',
'MZ' => 'Africa/Maputo',
'NA' => 'Africa/Windhoek',
'NC' => 'Pacific/Noumea',
'NE' => 'Africa/Niamey',
'NF' => 'Pacific/Norfolk',
'NG' => 'Africa/Lagos',
'NI' => 'America/Managua',
'NL' => 'Europe/Amsterdam',
'NO' => 'Europe/Oslo',
'NP' => 'Asia/Kathmandu',
'NR' => 'Pacific/Nauru',
'NU' => 'Pacific/Niue',
'NZ' => 'Pacific/Auckland',
'OM' => 'Asia/Muscat',
'PA' => 'America/Panama',
'PE' => 'America/Lima',
'PF' => 'Pacific/Tahiti',
'PG' => 'Pacific/Port_Moresby',
'PH' => 'Asia/Manila',
'PK' => 'Asia/Karachi',
'PL' => 'Europe/Warsaw',
'PM' => 'America/Miquelon',
'PN' => 'Pacific/Pitcairn',
'PR' => 'America/Puerto_Rico',
'PS' => 'Asia/Gaza',
'PT' => 'Europe/Lisbon',
'PW' => 'Pacific/Palau',
'PY' => 'America/Asuncion',
'QA' => 'Asia/Qatar',
'RE' => 'Indian/Reunion',
'RO' => 'Europe/Bucharest',
'RS' => 'Europe/Belgrade',
'RU' => 'Europe/Moscow',
'RW' => 'Africa/Kigali',
'SA' => 'Asia/Riyadh',
'SB' => 'Pacific/Guadalcanal',
'SC' => 'Indian/Mahe',
'SD' => 'Africa/Khartoum',
'SE' => 'Europe/Stockholm',
'SG' => 'Asia/Singapore',
'SI' => 'Europe/Ljubljana',
'SJ' => 'Arctic/Longyearbyen',
'SK' => 'Europe/Bratislava',
'SL' => 'Africa/Freetown',
'SM' => 'Europe/San_Marino',
'SN' => 'Africa/Dakar',
'SO' => 'Africa/Mogadishu',
'SR' => 'America/Paramaribo',
'ST' => 'Africa/Sao_Tome',
'SV' => 'America/El_Salvador',
'SY' => 'Asia/Damascus',
'SZ' => 'Africa/Mbabane',
'TC' => 'America/Grand_Turk',
'TD' => 'Africa/Ndjamena',
'TF' => 'Indian/Kerguelen',
'TG' => 'Africa/Lome',
'TH' => 'Asia/Bangkok',
'TJ' => 'Asia/Dushanbe',
'TK' => 'Pacific/Fakaofo',
'TL' => 'Asia/Dili',
'TM' => 'Asia/Ashgabat',
'TN' => 'Africa/Tunis',
'TO' => 'Pacific/Tongatapu',
'TR' => 'Europe/Istanbul',
'TT' => 'America/Port_of_Spain',
'TV' => 'Pacific/Funafuti',
'TW' => 'Asia/Taipei',
'TZ' => 'Africa/Dar_es_Salaam',
'UA' => 'Europe/Kiev',
'UG' => 'Africa/Kampala',
'US' => 'US/Eastern',
'UY' => 'America/Montevideo',
'UZ' => 'Asia/Samarkand',
'VA' => 'Europe/Vatican',
'VC' => 'America/St_Vincent',
'VE' => 'America/Caracas',
'VG' => 'America/Tortola',
'VI' => 'America/St_Thomas',
'VN' => 'Asia/Ho_Chi_Minh',
'VU' => 'Pacific/Efate',
'WF' => 'Pacific/Wallis',
'WS' => 'Pacific/Apia',
'YE' => 'Asia/Aden',
'YT' => 'Indian/Mayotte',
'ZA' => 'Africa/Johannesburg',
'ZM' => 'Africa/Lusaka',
'ZW' => 'Africa/Harare',
);
if (isset($timezones[$_GET['country']]) && $timezones[$_GET['country']])
die($timezones[$_GET['country']]);
die('');
+77
View File
@@ -0,0 +1,77 @@
<?php
require_once(_PS_INSTALLER_PHP_UPGRADE_DIR_.'add_new_tab.php');
function create_multistore()
{
$res = true;
// @todo : use _PS_ROOT_DIR_
if (defined('__PS_BASE_URI__'))
$INSTALLER__PS_BASE_URI = __PS_BASE_URI__;
else
{
// note: create_multistore is called for 1.5.0.0 upgrade
// so, __PS_BASE_URI__ should be always defined in settings.inc.php
// @todo generate __PS_BASE_URI__ using $_SERVER['REQUEST_URI'], just in case
return false;
}
$all_themes_dir = _PS_ROOT_DIR_.'/themes';
$themes = scandir($all_themes_dir);
foreach ($themes AS $theme)
if (is_dir($all_themes_dir.'/'.$theme)
&& $theme[0] != '.'
&& $theme != 'prestashop')
{
$sql = 'INSERT INTO
'._DB_PREFIX_.'theme (`id_theme`, name)
VALUES("", "'.Db::getInstance()->escape($theme).'")';
$res &= Db::getInstance()->execute($sql);
}
$res &= Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'shop
SET
name = (SELECT value
FROM '._DB_PREFIX_.'configuration
WHERE name = "PS_SHOP_NAME"
),
id_theme = (SELECT id_theme FROM '._DB_PREFIX_.'theme WHERE name="'.Db::getInstance()->escape(_THEME_NAME_).'")
WHERE id_shop = 1');
$shop_domain = Db::getInstance()->getValue('SELECT `value`
FROM `'._DB_PREFIX_.'_configuration`
WHERE `name`="PS_SHOP_DOMAIN"');
$shop_domain_ssl = Db::getInstance()->getValue('SELECT `value`
FROM `'._DB_PREFIX_.'_configuration`
WHERE `name`="PS_SHOP_DOMAIN_SSL"');
if(empty($shop_domain))
{
$shop_domain = create_multistore_getHttpHost();
$shop_domain_ssl = create_multistore_getHttpHost();
}
$_PS_DIRECTORY_ = trim(str_replace(' ', '%20', $INSTALLER__PS_BASE_URI), '/');
$_PS_DIRECTORY_ = ($_PS_DIRECTORY_) ? '/'.$_PS_DIRECTORY_.'/' : '/';
$res &= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'shop_url` (`id_shop`, `domain`, `domain_ssl`, `physical_uri`, `virtual_uri`, `main`, `active`)
VALUES(1, \''.pSQL($shop_domain).'\', \''.pSQL($shop_domain_ssl).'\', \''.pSQL($_PS_DIRECTORY_).'\', \'\', 1, 1)');
// Stock conversion
$sql = 'INSERT INTO `'._DB_PREFIX_.'.stock` (`id_product`, `id_product_attribute`, `id_group_shop`, `id_shop`, `quantity`)
VALUES (SELECT `p.id_product`, 0, 1, 1, `p.quantity` FROM `'._DB_PREFIX_.'.product` p);';
$res &= Db::getInstance()->execute($sql);
$sql = 'INSERT INTO `'._DB_PREFIX_.'.stock` (`id_product`, `id_product_attribute`, `id_group_shop`, `id_shop`, `quantity`)
VALUES (SELECT `id_product`, `id_product_attribute`, 1, 1, `quantity` FROM `'._DB_PREFIX_.'product_attribute` p);';
$res &= Db::getInstance()->execute($sql);
// Add admin tabs
$shopTabId = add_new_tab('AdminShop', 'it:Shops|es:Shops|fr:Boutiques|de:Shops|en:Shops', 0, true);
add_new_tab('AdminGroupShop', 'it:Group Shops|es:Group Shops|fr:Groupes de boutique|de:Group Shops|en:Group Shops', $shopTabId);
add_new_tab('AdminShopUrl', 'it:Shop Urls|es:Shop Urls|fr:URLs de boutique|de:Shop Urls|en:Shop Urls', $shopTabId);
return $res;
}
function create_multistore_getHttpHost()
{
$host = (isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST']);
return $host;
}
@@ -0,0 +1,75 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 7389 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function deactivate_custom_modules()
{
$db = Db::getInstance();
$modulesDirOnDisk = array();
$modules = scandir(_PS_MODULE_DIR_);
foreach ($modules AS $name)
{
if (is_dir(_PS_MODULE_DIR_.$name) && Tools::file_exists_cache(_PS_MODULE_DIR_.$name.'/'.$name.'.php'))
{
if (!preg_match('/^[a-zA-Z0-9_-]+$/', $name))
die(Tools::displayError().' (Module '.$name.')');
$modulesDirOnDisk[] = $name;
}
}
$module_list_xml = _PS_ROOT_DIR_.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'modules_list.xml';
$nativeModules = simplexml_load_file($module_list_xml);
$nativeModules = $nativeModules->modules;
foreach ($nativeModules as $nativeModulesType)
if (in_array($nativeModulesType['type'],array('native','partner')))
{
$arrNativeModules[] = '""';
foreach ($nativeModulesType->module as $module)
$arrNativeModules[] = '"'.pSQL($module['name']).'"';
}
$arrNonNative = $db->executeS('
SELECT *
FROM `'._DB_PREFIX_.'module` m
WHERE name NOT IN ('.implode(',',$arrNativeModules).') ');
$uninstallMe = array("undefined-modules");
if (is_array($arrNonNative))
foreach($arrNonNative as $aModule)
$uninstallMe[] = $aModule['name'];
if (!is_array($uninstallMe))
$uninstallMe = array($uninstallMe);
foreach ($uninstallMe as $k=>$v)
$uninstallMe[$k] = '"'.pSQL($v).'"';
return Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'module`
SET `active`= 0
WHERE `name` IN ('.implode(',',$uninstallMe).')');
}
@@ -0,0 +1,55 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function delivery_number_set()
{
Configuration::loadConfiguration();
$number = 1;
// Update each order with a number
$result = Db::getInstance()->ExecuteS('
SELECT id_order
FROM '._DB_PREFIX_.'orders
ORDER BY id_order');
foreach ($result as $row)
{
$order = new Order((int)($row['id_order']));
$history = $order->getHistory(false);
foreach ($history as $row2)
{
$oS = new OrderState((int)($row2['id_order_state']), Configuration::get('PS_LANG_DEFAULT'));
if ($oS->delivery)
{
Db::getInstance()->Execute('UPDATE '._DB_PREFIX_.'orders SET delivery_number = '.(int)($number++).', `delivery_date` = `date_add` WHERE id_order = '.(int)($order->id));
break ;
}
}
}
// Add configuration var
Configuration::updateValue('PS_DELIVERY_NUMBER', (int)($number));
}
@@ -0,0 +1,8 @@
<?php
function drop_image_type_non_unique_index()
{
$index = Db::getInstance()->executeS('SHOW index FROM ps_image_type where column_name = "name" and non_unique=1');
// do not use pSql, this function is not defined
Db::getInstance()->execute('ALTER TABLE `PREFIX_image_type` DROP INDEX "'.$index.'"');
}
@@ -0,0 +1,33 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function ecotax_tax_application_fix()
{
if (!Db::getInstance()->execute('SELECT `ecotax_tax_rate` FROM `'._DB_PREFIX_.'order_detail` LIMIT 1'))
return Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'order_detail` ADD `ecotax_tax_rate` DECIMAL(5, 3) NOT NULL AFTER `ecotax`');
return true;
}
@@ -0,0 +1,73 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function editorial_update()
{
/*Table creation*/
if (Db::getInstance()->getValue('SELECT `id_module` FROM `'._DB_PREFIX_.'module` WHERE `name`="editorial"'))
{
Db::getInstance()->execute('
CREATE TABLE `'._DB_PREFIX_.'editorial` (
`id_editorial` int(10) unsigned NOT NULL auto_increment,
`body_home_logo_link` varchar(255) NOT NULL,
PRIMARY KEY (`id_editorial`))
ENGINE=MyISAM DEFAULT CHARSET=utf8');
Db::getInstance()->execute('
CREATE TABLE `'._DB_PREFIX_.'editorial_lang` (
`id_editorial` int(10) unsigned NOT NULL,
`id_lang` int(10) unsigned NOT NULL,
`body_title` varchar(255) NOT NULL,
`body_subheading` varchar(255) NOT NULL,
`body_paragraph` text NOT NULL,
`body_logo_subheading` varchar(255) NOT NULL,
PRIMARY KEY (`id_editorial`, `id_lang`))
ENGINE=MyISAM DEFAULT CHARSET=utf8');
if (file_exists(dirname(__FILE__).'/../../modules/editorial/editorial.xml'))
{
$xml = simplexml_load_file(dirname(__FILE__).'/../../modules/editorial/editorial.xml');
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'editorial`(`id_editorial`, `body_home_logo_link`) VALUES(1, "'.(isset($xml->body->home_logo_link) ? pSQL($xml->body->home_logo_link) : '').'")');
$languages = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'lang`');
foreach ($languages as $language)
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'editorial_lang` (`id_editorial`, `id_lang`, `body_title`, `body_subheading`, `body_paragraph`, `body_logo_subheading`)
VALUES (1, '.(int)($language['id_lang']).',
"'.(isset($xml->body->{'title_'.$language['id_lang']}) ? pSQL($xml->body->{'title_'.$language['id_lang']}) : '').'",
"'.(isset($xml->body->{'subheading_'.$language['id_lang']}) ? pSQL($xml->body->{'subheading_'.$language['id_lang']}) : '').'",
"'.(isset($xml->body->{'paragraph_'.$language['id_lang']}) ? pSQL($xml->body->{'paragraph_'.$language['id_lang']}, true) : '').'",
"'.(isset($xml->body->{'logo_subheading_'.$language['id_lang']}) ? pSQL($xml->body->{'logo_subheading_'.$language['id_lang']}) : '').'")');
unlink(dirname(__FILE__).'/../../modules/editorial/editorial.xml');
}
}
}
@@ -0,0 +1,49 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function generate_ntree()
{
$categories = Db::getInstance()->ExecuteS('SELECT id_category, id_parent FROM '._DB_PREFIX_.'category ORDER BY id_parent ASC, position ASC');
$categoriesArray = array();
foreach ($categories AS $category)
$categoriesArray[(int)$category['id_parent']]['subcategories'][(int)$category['id_category']] = 1;
$n = 1;
generate_ntree_subTree($categoriesArray, 1, $n);
}
function generate_ntree_subTree(&$categories, $id_category, &$n)
{
$left = (int)$n++;
if (isset($categories[(int)$id_category]['subcategories']))
foreach (array_keys($categories[(int)$id_category]['subcategories']) AS $id_subcategory)
generate_ntree_subTree($categories, (int)$id_subcategory, $n);
$right = (int)$n++;
Db::getInstance()->Execute('UPDATE '._DB_PREFIX_.'category
SET nleft = '.(int)$left.', nright = '.(int)$right.'
WHERE id_category = '.(int)$id_category.' LIMIT 1');
}
@@ -0,0 +1,19 @@
<?php
function generate_order_reference()
{
$res = true;
// Get all orders
$orders = Db::getInstance()->executeS('SELECT id_order FROM '._DB_PREFIX_.'orders');
foreach ($orders as $order)
{
$random_ref = '';
for ($i = 0, $passwd = ''; $i < 9; $i++)
$random_ref .= substr('ABCDEFGHIJKLMNOPQRSTUVWXYZ', mt_rand(0,25), 1);
$res &= Db::getInstance()->execute('
UPDATE '._DB_PREFIX_.'orders
SET reference = \''.$random_ref.'\'
WHERE id_order = '.(int)$order['id_order']);
}
return $res;
}
@@ -0,0 +1,64 @@
<?php
require_once('generate_ntree.php');
function generate_root_category_for_multishop()
{
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'category` SET `level_depth`=`level_depth`+1
');
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'category` (`id_parent`, `level_depth`, `active`, `date_add`, `date_upd`, `is_root_category`) VALUES
(0, 0, 1, NOW(), NOW(), 0)
');
$id = Db::getInstance()->insert_id();
$langs = Db::getInstance()->executeS('
SELECT `id_lang`
FROM `'._DB_PREFIX_.'lang`
');
$shops = Db::getInstance()->executeS('
SELECT `id_shop`
FROM `'._DB_PREFIX_.'shop`
');
$data = array();
foreach ($langs as $lang)
foreach ($shops as $shop)
$data[] = array(
'id_lang' => $lang['id_lang'],
'id_shop' => $shop['id_shop'],
'id_category' => $id,
'name' => 'Root',
'link_rewrite' => '',
);
Db::getInstance()->insert('category_lang', $data);
$categories = Db::getInstance()->executeS('
SELECT `id_category`
FROM `'._DB_PREFIX_.'category`
');
$data = array();
foreach ($categories as $category)
foreach ($shops as $shop)
$data[] = array(
'id_category' => $category['id_category'],
'id_shop' => $shop['id_shop']
);
Db::getInstance()->insert('category_shop', $data);
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'category`
SET `id_parent` = '.(int)$id.'
WHERE `id_parent` = 0 AND `id_category` <> '.(int)$id.'
');
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'shop`
SET `id_category` = 1
WHERE `id_shop` = 1
');
generate_ntree();
}
@@ -0,0 +1,117 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function generate_tax_rules()
{
$ps_lang_default = Db::getInstance()->getValue('SELECT value FROM `'._DB_PREFIX_.'configuration`
WHERE name="PS_LANG_DEFAULT"');
$taxes = Db::getInstance('SELECT * from `'._DB_PREFIX_.'tax` WHERE active = 1');
foreach ($taxes AS $tax)
{
$insert = '';
$id_tax = $tax['id_tax'];
$row = array(
'active' => 1,
'id_tax' => $id_tax,
'name' => 'Rule '.$tax['rate'].'%',
);
Db::getInstance()->insert('category_group', $row);
$id_tax_rules_group = Db::getInstance()->insert_id;
$countries = Db::getInstance()->ExecuteS('
SELECT * FROM `'._DB_PREFIX_.'country` c
LEFT JOIN `'._DB_PREFIX_.'zone` z ON (c.`id_zone` = z.`id_zone`)
LEFT JOIN `'._DB_PREFIX_.'tax_zone` tz ON (tz.`id_zone` = z.`id_zone`)
WHERE `id_tax` = '.(int)$id_tax
);
if ($countries)
{
foreach ($countries AS $country)
{
$res = Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'tax_rule` (`id_tax_rules_group`, `id_country`, `id_state`, `state_behavior`, `id_tax`)
VALUES (
'.(int)$id_tax_rules_group.',
'.(int)$country['id_country'].',
0,
0,
'.(int)$id_tax.
')');
}
}
$states = Db::getInstance()->ExecuteS('
SELECT * FROM `'._DB_PREFIX_.'states s
LEFT JOIN `'._DB_PREFIX_.'tax_state ts ON (ts.`id_state` = s.`id_state`)
WHERE `id_tax` = '.(int)$id_tax
);
if ($states)
{
foreach ($states AS $state)
{
if (!in_array($state['tax_behavior'], array(PS_PRODUCT_TAX, PS_STATE_TAX, PS_BOTH_TAX)))
$tax_behavior = PS_PRODUCT_TAX;
else
$tax_behavior = $state['tax_behavior'];
$res = Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'tax_rule` (`id_tax_rules_group`, `id_country`, `id_state`, `state_behavior`, `id_tax`)
VALUES (
'.(int)$id_tax_rules_group.',
'.(int)$state['id_country'].',
'.(int)$state['id_state'].',
'.(int)$tax_behavior.',
'.(int)$id_tax.
')');
}
}
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'product`
SET `id_tax_rules_group` = '.(int)$id_tax_rules_group.'
WHERE `id_tax` = '.(int)$id_tax
);
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'carrier`
SET `id_tax_rules_group` = '.(int)$id_tax_rules_group.'
WHERE `id_tax` = '.(int)$id_tax
);
$socolissimo_overcost_tax = Db::getInstance()->getValue('SELECT value FROM `'._DB_PREFIX_.'configuration`
WHERE name="SOCOLISSIMO_OVERCOST_TAX"');
if ($socolissimo_overcost_tax == $id_tax)
$res &= Db::getInstance()->getValue('REPLACE INTO `'._DB_PREFIX_.'configuration`
(name, value) VALUES ("PS_POUET", "'.$id_tax_rules_group.'"');
}
}
@@ -0,0 +1,47 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 8238 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/** remove the uncompatible module gridextjs (1.4.0.8 upgrade)
*/
function gridextjs_deprecated()
{
// if exists, use _PS_MODULE_DIR_ or _PS_ROOT_DIR_
// instead of guessing the modules dir
if (defined('_PS_MODULE_DIR_'))
$gridextjs_path = _PS_MODULE_DIR_ . 'gridextjs';
else
if (defined('_PS_ROOT_DIR_'))
$gridextjs_path = _PS_ROOT_DIR_ . '/modules/gridextjs';
else
$gridextjs_path = dirname(__FILE__).'/../../modules/gridextjs';
if (file_exists($gridextjs_path))
return rename($gridextjs_path, str_replace('gridextjs', 'gridextjs.deprecated', $gridextjs_path));
return true;
}
@@ -0,0 +1,33 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function group_reduction_column_fix()
{
if (!Db::getInstance()->execute('SELECT `group_reduction` FROM `'._DB_PREFIX_.'order_detail` LIMIT 1'))
return Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'order_detail` ADD `group_reduction` DECIMAL(10, 2) NOT NULL AFTER `reduction_amount`');
return true;
}
@@ -0,0 +1,49 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function hook_blocksearch_on_header()
{
if ($id_module = Db::getInstance()->getValue('SELECT `id_module` FROM `'._DB_PREFIX_.'module` WHERE `name` = \'blocksearch\''))
{
$id_hook = Db::getInstance()->getValue('
SELECT `id_hook`
FROM `'._DB_PREFIX_.'hook`
WHERE `name` = \'header\'
');
$position = Db::getInstance()->getValue('
SELECT MAX(`position`)
FROM `'._DB_PREFIX_.'hook_module`
WHERE `id_hook` = '.(int)$id_hook.'
');
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'hook_module` (`id_module`, `id_hook`, `position`)
VALUES ('.(int)$id_module.', '.(int)$id_hook.', '.($position+1).')
');
}
}
@@ -0,0 +1,33 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function id_currency_country_fix()
{
if (!Db::getInstance()->execute('SELECT `id_currency` FROM `'._DB_PREFIX_.'country` LIMIT 1'))
return Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'country` ADD `id_currency` INT NOT NULL DEFAULT \'0\' AFTER `id_zone`');
return true;
}
+36
View File
@@ -0,0 +1,36 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;
@@ -0,0 +1,55 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function invoice_number_set()
{
Configuration::loadConfiguration();
$number = 1;
// Update each order with a number
$result = Db::getInstance()->ExecuteS('
SELECT id_order
FROM '._DB_PREFIX_.'orders
ORDER BY id_order');
foreach ($result as $row)
{
$order = new Order((int)($row['id_order']));
$history = $order->getHistory(false);
foreach ($history as $row2)
{
$oS = new OrderState((int)($row2['id_order_state']), Configuration::get('PS_LANG_DEFAULT'));
if ($oS->invoice)
{
Db::getInstance()->Execute('UPDATE '._DB_PREFIX_.'orders SET invoice_number = '.(int)($number++).', `invoice_date` = `date_add` WHERE id_order = '.(int)($order->id));
break ;
}
}
}
// Add configuration var
Configuration::updateValue('PS_INVOICE_NUMBER', (int)($number));
}
@@ -0,0 +1,138 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
if (!defined('_PS_MAGIC_QUOTES_GPC_'))
define('_PS_MAGIC_QUOTES_GPC_', get_magic_quotes_gpc());
if (!defined('_PS_MYSQL_REAL_ESCAPE_STRING_'))
define('_PS_MYSQL_REAL_ESCAPE_STRING_', function_exists('mysql_real_escape_string'));
function latin1_database_to_utf8()
{
global $requests, $warningExist;
$tables = array(
array('name' => 'address', 'id' => 'id_address', 'fields' => array('alias', 'company', 'name', 'surname', 'address1', 'address2', 'postcode', 'city', 'other', 'phone', 'phone_mobile')),
array('name' => 'alias', 'id' => 'id_alias', 'fields' => array('alias', 'search')),
array('name' => 'attribute_group_lang', 'id' => 'id_attribute_group', 'lang' => true, 'fields' => array('name', 'public_name')),
array('name' => 'attribute_lang', 'id' => 'id_attribute', 'lang' => true, 'fields' => array('name')),
array('name' => 'carrier', 'id' => 'id_carrier', 'fields' => array('name', 'url')),
array('name' => 'carrier_lang', 'id' => 'id_carrier', 'lang' => true, 'fields' => array('delay')),
array('name' => 'cart', 'id' => 'id_cart', 'fields' => array('gift_message')),
array('name' => 'category_lang', 'id' => 'id_category', 'lang' => true, 'fields' => array('name', 'description', 'link_rewrite', 'meta_title', 'meta_keywords', 'meta_description')),
array('name' => 'configuration', 'id' => 'id_configuration', 'fields' => array('name', 'value')),
array('name' => 'configuration_lang', 'id' => 'id_configuration', 'lang' => true, 'fields' => array('value')),
array('name' => 'contact', 'id' => 'id_contact', 'fields' => array('email')),
array('name' => 'contact_lang', 'id' => 'id_contact', 'lang' => true, 'fields' => array('name', 'description')),
array('name' => 'country', 'id' => 'id_country', 'fields' => array('iso_code')),
array('name' => 'country_lang', 'id' => 'id_country', 'lang' => true, 'fields' => array('name')),
array('name' => 'currency', 'id' => 'id_currency', 'fields' => array('name', 'iso_code', 'sign')),
array('name' => 'customer', 'id' => 'id_customer', 'fields' => array('email', 'passwd', 'name', 'surname')),
array('name' => 'discount', 'id' => 'id_discount', 'fields' => array('name')),
array('name' => 'discount_lang', 'id' => 'id_discount', 'lang' => true, 'fields' => array('description')),
array('name' => 'discount_type_lang', 'id' => 'id_discount_type', 'lang' => true, 'fields' => array('name')),
array('name' => 'employee', 'id' => 'id_employee', 'fields' => array('name', 'surname', 'email', 'passwd')),
array('name' => 'feature_lang', 'id' => 'id_feature', 'lang' => true, 'fields' => array('name')),
array('name' => 'feature_value_lang', 'id' => 'id_feature_value', 'lang' => true, 'fields' => array('value')),
array('name' => 'hook', 'id' => 'id_hook', 'fields' => array('name', 'title', 'description')),
array('name' => 'hook_module_exceptions', 'id' => 'id_hook_module_exceptions', 'fields' => array('file_name')),
array('name' => 'image_lang', 'id' => 'id_image', 'lang' => true, 'fields' => array('legend')),
array('name' => 'image_type', 'id' => 'id_image_type', 'fields' => array('name')),
array('name' => 'lang', 'id' => 'id_lang', 'fields' => array('name', 'iso_code')),
array('name' => 'manufacturer', 'id' => 'id_manufacturer', 'fields' => array('name')),
array('name' => 'message', 'id' => 'id_message', 'fields' => array('message')),
array('name' => 'module', 'id' => 'id_module', 'fields' => array('name')),
array('name' => 'orders', 'id' => 'id_order', 'fields' => array('payment', 'module', 'gift_message', 'shipping_number')),
array('name' => 'order_detail', 'id' => 'id_order_detail', 'fields' => array('product_name', 'product_reference', 'tax_name', 'download_hash')),
array('name' => 'order_discount', 'id' => 'id_order_discount', 'fields' => array('name')),
array('name' => 'order_state', 'id' => 'id_order_state', 'fields' => array('color')),
array('name' => 'order_state_lang', 'id' => 'id_order_state', 'lang' => true, 'fields' => array('name', 'template')),
array('name' => 'product', 'id' => 'id_product', 'fields' => array('ean13', 'reference')),
array('name' => 'product_attribute', 'id' => 'id_product_attribute', 'fields' => array('reference', 'ean13')),
array('name' => 'product_download', 'id' => 'id_product_download', 'fields' => array('display_filename', 'physically_filename')),
array('name' => 'product_lang', 'id' => 'id_product', 'lang' => true, 'fields' => array('description', 'description_short', 'link_rewrite', 'meta_description', 'meta_keywords', 'meta_title', 'name', 'availability')),
array('name' => 'profile_lang', 'id' => 'id_profile', 'lang' => true, 'fields' => array('name')),
array('name' => 'quick_access', 'id' => 'id_quick_access', 'fields' => array('link')),
array('name' => 'quick_access_lang', 'id' => 'id_quick_access', 'lang' => true, 'fields' => array('name')),
array('name' => 'supplier', 'id' => 'id_supplier', 'fields' => array('name')),
array('name' => 'tab', 'id' => 'id_tab', 'fields' => array('class_name')),
array('name' => 'tab_lang', 'id' => 'id_tab', 'lang' => true, 'fields' => array('name')),
array('name' => 'tag', 'id' => 'id_tag', 'fields' => array('name')),
array('name' => 'tax_lang', 'id' => 'id_tax', 'lang' => true, 'fields' => array('name')),
array('name' => 'zone', 'id' => 'id_zone', 'fields' => array('name'))
);
foreach ($tables AS $table)
{
/* Latin1 datas' selection */
if (!Db::getInstance()->Execute('SET NAMES latin1'))
echo 'Cannot change the sql encoding to latin1!';
$query = 'SELECT `'.$table['id'].'`';
foreach ($table['fields'] AS $field)
$query .= ', `'.$field.'`';
if (isset($table['lang']) AND $table['lang'])
$query .= ', `id_lang`';
$query .= ' FROM `'._DB_PREFIX_.$table['name'].'`';
$latin1Datas = Db::getInstance()->ExecuteS($query);
if ($latin1Datas === false)
{
$warningExist = true;
$requests .= '
<request result="fail">
<sqlQuery><![CDATA['.htmlentities($query).']]></sqlQuery>
<sqlMsgError><![CDATA['.htmlentities(Db::getInstance()->getMsgError()).']]></sqlMsgError>
<sqlNumberError><![CDATA['.htmlentities(Db::getInstance()->getNumberError()).']]></sqlNumberError>
</request>'."\n";
}
if (Db::getInstance()->NumRows())
{
/* Utf-8 datas' restitution */
if (!Db::getInstance()->Execute('SET NAMES utf8'))
echo 'Cannot change the sql encoding to utf8!';
foreach ($latin1Datas AS $latin1Data)
{
$query = 'UPDATE `'._DB_PREFIX_.$table['name'].'` SET';
foreach ($table['fields'] AS $field)
$query .= ' `'.$field.'` = \''.pSQL($latin1Data[$field]).'\',';
$query = rtrim($query, ',');
$query .= ' WHERE `'.$table['id'].'` = '.(int)($latin1Data[$table['id']]);
if (isset($table['lang']) AND $table['lang'])
$query .= ' AND `id_lang` = '.(int)($latin1Data['id_lang']);
if (!Db::getInstance()->Execute($query))
{
$warningExist = true;
$requests .= '
<request result="fail">
<sqlQuery><![CDATA['.htmlentities($query).']]></sqlQuery>
<sqlMsgError><![CDATA['.htmlentities(Db::getInstance()->getMsgError()).']]></sqlMsgError>
<sqlNumberError><![CDATA['.htmlentities(Db::getInstance()->getNumberError()).']]></sqlNumberError>
</request>'."\n";
}
}
}
}
}
@@ -0,0 +1,119 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6594 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function migrate_block_info_to_cms_block()
{
$res = true;
$languages = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'lang`');
//get ids cms of block information
$id_blockinfos = Db::getInstance()->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name = \'blockinfos\'');
//get ids cms of block information
$ids_cms = Db::getInstance()->executeS('SELECT id_cms FROM `'._DB_PREFIX_.'block_cms` WHERE `id_block` = '.(int)$id_blockinfos);
//check if block info is installed and active
if (is_array($ids_cms))
{
//install module blockcms
// Module::getInstanceByName('blockcms')->install()
// 1) from module
$ps_lang_default = Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'configuration`
WHERE name="PS_LANG_DEFAULT"');
// 2) parent::install()
$result = Db::getInstance()->insert('module',
array('name' => 'blockcms', 'active' => 1));
$id_module = Db::getInstance()->insert_Id();
// 3) hooks
$hooks = array('leftColumn', 'rightColumn', 'footer', 'header');
foreach($hooks as $hook_name)
{
// do not pSql hook_name
$row = Db::getInstance()->getRow('SELECT h.id_hook, '.$id_module.' as id_module, MAX(hm.position)+1 as position
FROM `'._DB_PREFIX_.'hook_module` hm
LEFT JOIN `'._DB_PREFIX_.'hook` h on hm.id_hook=h.id_hook
WHERE h.name = "'.$hook_name.'" group by id_hook');
$res &= Db::getInstance()->insert('hook_module', $row);
}
// module install
$res &= Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'cms_block`(
`id_cms_block` int(10) unsigned NOT NULL auto_increment,
`id_cms_category` int(10) unsigned NOT NULL,
`location` tinyint(1) unsigned NOT NULL,
`position` int(10) unsigned NOT NULL default \'0\',
`display_store` tinyint(1) unsigned NOT NULL default \'1\',
PRIMARY KEY (`id_cms_block`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8');
$res &= Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'cms_block` (`id_cms_category`, `location`, `position`) VALUES(1, 0, 0)');
$res &= Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'cms_block_lang`(
`id_cms_block` int(10) unsigned NOT NULL,
`id_lang` int(10) unsigned NOT NULL,
`name` varchar(40) NOT NULL default \'\',
PRIMARY KEY (`id_cms_block`, `id_lang`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8');
$query_lang = 'INSERT INTO `'._DB_PREFIX_.'cms_block_lang` (`id_cms_block`, `id_lang`) VALUES';
foreach ($languages AS $language)
$query_lang .= '(1, '.(int)($language['id_lang']).'),';
$query_lang = rtrim($query_lang, ',');
$res &= Db::getInstance()->Execute($query_lang);
$res &= Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'cms_block_page`(
`id_cms_block_page` int(10) unsigned NOT NULL auto_increment,
`id_cms_block` int(10) unsigned NOT NULL,
`id_cms` int(10) unsigned NOT NULL,
`is_category` tinyint(1) unsigned NOT NULL,
PRIMARY KEY (`id_cms_block_page`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8');
$res &= Db::getInstance()->getValue('REPLACE INTO `'._DB_PREFIX_.'configuration`
(name, value) VALUES ("FOOTER_CMS", "")');
$res &= Db::getInstance()->getValue('REPLACE INTO `'._DB_PREFIX_.'configuration`
(name, value) VALUES ("FOOTER_BLOCK_ACTIVATION", "1")');
$res &= Db::getInstance()->getValue('REPLACE INTO `'._DB_PREFIX_.'configuration`
(name, value) VALUES ("FOOTER_POWEREDBY", "1")');
//add new block in new cms block
$res &= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cms_block`
(`id_cms_category`, `name`, `location`, `position`)
VALUES( 1, "", 0, 0)');
$id_block = Db::getInstance()->insert_id();
foreach ($languages AS $language)
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cms_block_lang` (`id_cms_block`, `id_lang`, `name`) VALUES ('.(int)$id_block.', '.(int)$language['id_lang'].', \'Information\')');
//save ids cms of block information in new module cms bloc
foreach ($ids_cms AS $id_cms)
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cms_block_page` (`id_cms_block`, `id_cms`, `is_category`) VALUES ('.(int)$id_block.', '.(int)$id_cms['id_cms'].', 0)');
}
else
return true;
}
+251
View File
@@ -0,0 +1,251 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function migrate_orders()
{
if (!defined('PS_TAX_EXC'))
define('PS_TAX_EXC', 1);
if (!defined('PS_TAX_INC'))
define('PS_TAX_INC', 0);
$values_order_detail = array();
$insert_order_detail = 'INSERT INTO `'._DB_PREFIX_.'order_detail_2`
(`id_order_detail`, `id_order`, `id_order_invoice`, `id_warehouse`, `product_id`, `product_attribute_id`, `product_name`, `product_quantity`, `product_quantity_in_stock`, `product_quantity_refunded`, `product_quantity_return`, `product_quantity_reinjected`, `product_price`, `reduction_percent`, `reduction_amount`, `reduction_amount_tax_incl`, `reduction_amount_tax_excl`, `group_reduction`, `product_quantity_discount`, `product_ean13`, `product_upc`, `product_reference`, `product_supplier_reference`, `product_weight`, `tax_computation_method`, `tax_name`, `tax_rate`, `ecotax`, `ecotax_tax_rate`, `discount_quantity_applied`, `download_hash`, `download_nb`, `download_deadline`, `total_price_tax_incl`, `total_price_tax_excl`, `unit_price_tax_incl`, `unit_price_tax_excl`, `total_shipping_price_tax_incl`, `total_shipping_price_tax_excl`, `purchase_supplier_price`, `original_product_price`)
VALUES ';
$values_order = array();
$insert_order = 'INSERT INTO `'._DB_PREFIX_.'orders_2` (`id_order`, `reference`, `id_group_shop`, `id_shop`, `id_carrier`, `id_lang`, `id_customer`, `id_cart`, `id_currency`, `id_address_delivery`, `id_address_invoice`, `secure_key`, `payment`, `conversion_rate`, `module`, `recyclable`, `gift`, `gift_message`, `shipping_number`, `total_discounts`, `total_discounts_tax_incl`, `total_discounts_tax_excl`, `total_paid`, `total_paid_tax_incl`, `total_paid_tax_excl`, `total_paid_real`, `total_products`, `total_products_wt`, `total_shipping`, `total_shipping_tax_incl`, `total_shipping_tax_excl`, `carrier_tax_rate`, `total_wrapping`, `total_wrapping_tax_incl`, `total_wrapping_tax_excl`, `invoice_number`, `delivery_number`, `invoice_date`, `delivery_date`, `valid`, `date_add`, `date_upd`) VALUES ';
// create temporary tables
mo_duplicateTables();
$order_res = Db::getInstance()->query(
'SELECT *
FROM `'._DB_PREFIX_.'orders`');
$cpt = 0;
$flush_limit = 1000;
while ($order = Db::getInstance()->nextRow($order_res))
{
$sum_total_products = 0;
$sum_tax_amount = 0;
$default_group_id = mo_getCustomerDefaultGroup((int)$order['id_customer']);
$price_display_method = mo_getPriceDisplayMethod((int)$default_group_id);
$order_details_list = Db::getInstance()->executeS('
SELECT *
FROM `'._DB_PREFIX_.'order_detail` od
LEFT JOIN `'._DB_PREFIX_.'product` p
ON p.id_product = od.product_id
WHERE od.`id_order` = '.(int)($order['id_order']));
foreach ($order_details_list as $order_details)
{
// we don't want to erase order_details data in order to create the insert query
$products = mo_setProductPrices($order_details, $price_display_method);
$tax_rate = 1 + ((float)$products['tax_rate'] / 100);
$reduction_amount_tax_incl = (float)$products['reduction_amount'];
// cart::getTaxesAverageUsed equivalent
$sum_total_products += $products['total_wt'];
$sum_tax_amount += $products['total_wt'] - $products['total_price'];
$order_details['reduction_amount_tax_incl']= $reduction_amount_tax_incl;
$order_details['reduction_amount_tax_excl']= (float)mo_ps_round($reduction_amount_tax_incl / $tax_rate);
$order_details['total_price_tax_incl']= (float)$products['total_wt'];
$order_details['total_price_tax_excl']= (float)$products['total_price'];
$order_details['unit_price_tax_incl']= (float)$products['product_price_wt'];
$order_details['unit_price_tax_excl']= (float)$products['product_price'];
$values_order_detail[] = '(\''.$order_details['id_order_detail'].'\', \''.$order_details['id_order'].'\', \''.$order_details['id_order_invoice'].'\', \''.$order_details['id_warehouse'].'\', \''.$order_details['product_id'].'\', \''.$order_details['product_attribute_id'].'\', \''.$order_details['product_name'].'\', \''.$order_details['product_quantity'].'\', \''.$order_details['product_quantity_in_stock'].'\', \''.$order_details['product_quantity_refunded'].'\', \''.$order_details['product_quantity_return'].'\', \''.$order_details['product_quantity_reinjected'].'\', \''.$order_details['product_price'].'\', \''.$order_details['reduction_percent'].'\', \''.$order_details['reduction_amount'].'\', \''.$order_details['reduction_amount_tax_incl'].'\', \''.$order_details['reduction_amount_tax_excl'].'\', \''.$order_details['group_reduction'].'\', \''.$order_details['product_quantity_discount'].'\', \''.$order_details['product_ean13'].'\', \''.$order_details['product_upc'].'\', \''.$order_details['product_reference'].'\', \''.$order_details['product_supplier_reference'].'\', \''.$order_details['product_weight'].'\', \''.$order_details['tax_computation_method'].'\', \''.$order_details['tax_name'].'\', \''.$order_details['tax_rate'].'\', \''.$order_details['ecotax'].'\', \''.$order_details['ecotax_tax_rate'].'\', \''.$order_details['discount_quantity_applied'].'\', \''.$order_details['download_hash'].'\', \''.$order_details['download_nb'].'\', \''.$order_details['download_deadline'].'\', \''.$order_details['total_price_tax_incl'].'\', \''.$order_details['total_price_tax_excl'].'\', \''.$order_details['unit_price_tax_incl'].'\', \''.$order_details['unit_price_tax_excl'].'\', \''.$order_details['total_shipping_price_tax_incl'].'\', \''.$order_details['total_shipping_price_tax_excl'].'\', \''.$order_details['purchase_supplier_price'].'\', \''.$order_details['original_product_price'].'\')';
}
$average_tax_used = 1;
if ($sum_total_products > 0)
$average_tax_used += ($sum_tax_amount / $sum_total_products) * 0.01;
// this was done like that previously
$wrapping_tax_rate = 1 + (float)Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'configuration`
WHERE name = "PS_GIFT_WRAPPING_TAX"') / 100;
$carrier_tax_rate = 1 + ((float)$order['carrier_tax_rate'] / 100);
$total_discount_tax_excl = $order['total_discounts'] / $average_tax_used;
$order['total_discounts_tax_incl'] = (float)$order['total_discounts'];
$order['total_discounts_tax_excl'] = (float)$total_discount_tax_excl;
$order['total_paid_tax_incl'] = (float)$order['total_paid'];
$order['total_paid_tax_excl'] = (float)$order['total_paid'];
$order['total_shipping_tax_incl'] = (float)$order['total_shipping'];
$order['total_shipping_tax_excl'] = (float)($order['total_shipping'] / $carrier_tax_rate);
$order['total_wrapping_tax_incl'] = (float)$order['total_wrapping'];
$order['total_wrapping_tax_excl'] = ((float)$order['total_wrapping'] / $wrapping_tax_rate);
$values_order[] = '(\''.$order['id_order'].'\', \''.$order['reference'].'\', \''.$order['id_group_shop'].'\', \''.$order['id_shop'].'\', \''.$order['id_carrier'].'\', \''.$order['id_lang'].'\', \''.$order['id_customer'].'\', \''.$order['id_cart'].'\', \''.$order['id_currency'].'\', \''.$order['id_address_delivery'].'\', \''.$order['id_address_invoice'].'\', \''.$order['secure_key'].'\', \''.$order['payment'].'\', \''.$order['conversion_rate'].'\', \''.$order['module'].'\', \''.$order['recyclable'].'\', \''.$order['gift'].'\', \''.$order['gift_message'].'\', \''.$order['shipping_number'].'\', \''.$order['total_discounts'].'\', \''.$order['total_discounts_tax_incl'].'\', \''.$order['total_discounts_tax_excl'].'\', \''.$order['total_paid'].'\', \''.$order['total_paid_tax_incl'].'\', \''.$order['total_paid_tax_excl'].'\', \''.$order['total_paid_real'].'\', \''.$order['total_products'].'\', \''.$order['total_products_wt'].'\', \''.$order['total_shipping'].'\', \''.$order['total_shipping_tax_incl'].'\', \''.$order['total_shipping_tax_excl'].'\', \''.$order['carrier_tax_rate'].'\', \''.$order['total_wrapping'].'\', \''.$order['total_wrapping_tax_incl'].'\', \''.$order['total_wrapping_tax_excl'].'\', \''.$order['invoice_number'].'\', \''.$order['delivery_number'].'\', \''.$order['invoice_date'].'\', \''.$order['delivery_date'].'\', \''.$order['valid'].'\', \''.$order['date_add'].'\', \''.$order['date_upd'].'\')';
unset($order);
$cpt++;
if ($cpt >= $flush_limit)
{
$cpt = 0;
Db::getInstance()->execute($insert_order_detail. implode(',', $values_order_detail));
Db::getInstance()->execute($insert_order. implode(',', $values_order));
$values_order = array();
$values_order_detail = array();
}
}
if ($cpt> 0)
{
Db::getInstance()->execute($insert_order_detail. implode(',', $values_order_detail));
Db::getInstance()->execute($insert_order. implode(',', $values_order));
}
mo_renameTables();
}
/**
* mo_ps_round is a simplification of Tools::ps_round:
* - round is always 2
* - no call to Configuration class
*
* @param mixed $val
* @return void
*/
function mo_ps_round($val){
static $ps_price_round_mode;
if (empty($ps_price_round_mode))
{
$ps_price_round_mode = Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'configuration`
WHERE name = "PS_PRICE_ROUND_MODE"');
}
switch ($ps_price_round_mode)
{
case 0:
return ceil($val * 100)/100;
case 1:
return floor($val * 100)/100;
default:
return round($val, 2);
}
}
function mo_duplicateTables()
{
Db::getInstance()->execute('CREATE TABLE `'._DB_PREFIX_.'orders_2` LIKE `'._DB_PREFIX_.'orders`');
Db::getInstance()->execute('CREATE TABLE `'._DB_PREFIX_.'order_detail_2` LIKE `'._DB_PREFIX_.'order_detail`');
}
function mo_renameTables()
{
Db::getInstance()->execute('DROP TABLE `'._DB_PREFIX_.'orders`');
Db::getInstance()->execute('DROP TABLE `'._DB_PREFIX_.'order_detail`');
Db::getInstance()->execute('RENAME TABLE `'._DB_PREFIX_.'orders_2` TO `'._DB_PREFIX_.'orders`');
Db::getInstance()->execute('RENAME TABLE `'._DB_PREFIX_.'order_detail_2` TO `'._DB_PREFIX_.'order_detail`');
}
function mo_getCustomerDefaultGroup($id_customer)
{
static $cache;
if (!isset($cache[$id_customer]))
$cache[$id_customer] = Db::getInstance()->getValue('SELECT `id_default_group` FROM `'._DB_PREFIX_.'customer` WHERE `id_customer` = '.(int)$id_customer);
return $cache[$id_customer];
}
function mo_getPriceDisplayMethod($id_group)
{
static $cache;
if (!isset($cache[$id_group]))
$cache[$id_group] = Db::getInstance()->getValue('
SELECT `price_display_method`
FROM `'._DB_PREFIX_.'group`
WHERE `id_group` = '.(int)$id_group);
return $cache[$id_group];
}
function mo_setProductPrices($row, $tax_calculation_method)
{
if ($tax_calculation_method == PS_TAX_EXC)
$row['product_price'] = mo_ps_round($row['product_price']);
else
$row['product_price_wt'] = mo_ps_round($row['product_price'] * (1 + $row['tax_rate'] / 100));
$group_reduction = 1;
if ($row['group_reduction'] > 0)
$group_reduction = 1 - $row['group_reduction'] / 100;
if ($row['reduction_percent'] != 0)
{
if ($tax_calculation_method == PS_TAX_EXC)
$row['product_price'] = ($row['product_price'] - $row['product_price'] * ($row['reduction_percent'] * 0.01));
else
{
$reduction = mo_ps_round($row['product_price_wt'] * ($row['reduction_percent'] * 0.01));
$row['product_price_wt'] = mo_ps_round(($row['product_price_wt'] - $reduction));
}
}
if ($row['reduction_amount'] != 0)
{
if ($tax_calculation_method == PS_TAX_EXC)
$row['product_price'] = ($row['product_price'] - ($row['reduction_amount'] / (1 + $row['tax_rate'] / 100)));
else
$row['product_price_wt'] = mo_ps_round(($row['product_price_wt'] - $row['reduction_amount']));
}
if ($row['group_reduction'] > 0)
{
if ($tax_calculation_method == PS_TAX_EXC)
$row['product_price'] = $row['product_price'] * $group_reduction;
else
$row['product_price_wt'] = mo_ps_round($row['product_price_wt'] * $group_reduction);
}
if (($row['reduction_percent'] OR $row['reduction_amount'] OR $row['group_reduction']) AND $tax_calculation_method == PS_TAX_EXC)
$row['product_price'] = mo_ps_round($row['product_price']);
if ($tax_calculation_method == PS_TAX_EXC)
$row['product_price_wt'] = mo_ps_round($row['product_price'] * (1 + ($row['tax_rate'] * 0.01))) + mo_ps_round($row['ecotax'] * (1 + $row['ecotax_tax_rate'] / 100));
else
{
$row['product_price_wt_but_ecotax'] = $row['product_price_wt'];
$row['product_price_wt'] = mo_ps_round($row['product_price_wt'] + $row['ecotax'] * (1 + $row['ecotax_tax_rate'] / 100));
}
$row['total_wt'] = $row['product_quantity'] * $row['product_price_wt'];
$row['total_price'] = $row['product_quantity'] * $row['product_price'];
return $row;
}
@@ -0,0 +1,53 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function module_reinstall_blockmyaccount()
{
$res = true;
$id_module = Db::getInstance()->getValue('SELECT id_module FROM '._DB_PREFIX_.'module where name="blockmyaccount"');
if ($id_module)
{
$res &= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'hook`
(`name`, `title`, `description`, `position`) VALUES
("myAccountBlock", "My account block", "Display extra informations inside the \"my account\" block", 1)');
// register left column, and header, and addmyaccountblockhook
$hooks = array('leftColumn', 'header');
foreach($hooks as $hook_name)
{
// do not pSql hook_name
$row = Db::getInstance()->getRow('SELECT h.id_hook, '.$id_module.' as id_module, MAX(hm.position)+1 as position
FROM `'._DB_PREFIX_.'hook_module` hm
LEFT JOIN `'._DB_PREFIX_.'hook` h on hm.id_hook=h.id_hook
WHERE h.name = "'.$hook_name.'" group by id_hook');
$res &= Db::getInstance()->insert('hook_module', $row);
}
return $res;
}
return true;
}
@@ -0,0 +1,53 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function module_reinstall_blocksearch()
{
$res = true;
$id_module = Db::getInstance()->getValue('SELECT id_module FROM '._DB_PREFIX_.'module where name="blocksearch"');
if ($id_module)
{
$res &= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'hook`
(`name`, `title`, `description`, `position`) VALUES
("myAccountBlock", "My account block", "Display extra informations inside the \"my account\" block", 1)');
// register left column, and header, and addmyaccountblockhook
$hooks = array('top', 'header');
foreach($hooks as $hook_name)
{
// do not pSql hook_name
$row = Db::getInstance()->getRow('SELECT h.id_hook, '.$id_module.' as id_module, MAX(hm.position)+1 as position
FROM `'._DB_PREFIX_.'hook_module` hm
LEFT JOIN `'._DB_PREFIX_.'hook` h on hm.id_hook=h.id_hook
WHERE h.name = "'.$hook_name.'" group by id_hook');
$res &= Db::getInstance()->insert('hook_module', $row);
}
return $res;
}
return true;
}
@@ -0,0 +1,14 @@
<?php
function move_crossselling()
{
if (Db::getInstance()->executeS('SELECT FROM `'._DB_PREFIX_.'module` WHERE `name` = \'crossselling\''))
{
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'hook_module` (`id_module`, `id_hook`, `position`)
VALUES ((SELECT `id_module` FROM `'._DB_PREFIX_.'module` WHERE `name` = \'crossselling\'), 9, (SELECT max_position FROM (SELECT MAX(position)+1 as max_position FROM `'._DB_PREFIX_.'hook_module` WHERE `id_hook` = 9) tmp))');
}
}
@@ -0,0 +1,58 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/**
* Regenerate the entire category tree level_depth
*/
function regenerate_level_depth()
{
Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'category` SET `level_depth` = 0 WHERE `id_category` = 1');
regenerate_children_categories(1, 0);
}
/**
* Recursively regenerate the level_depth of this category's children
*
* @param int $id_category
* @param int $level_depth
*/
function regenerate_children_categories($id_category, $level_depth)
{
$categories = Db::getInstance()->executeS('SELECT `id_category` FROM `'._DB_PREFIX_.'category` WHERE `id_parent` = '.(int)$id_category);
if (!$categories)
return;
$new_depth = (int)$level_depth + 1;
$cat_ids = "";
foreach($categories as $category)
{
$cat_ids .= (string)$category['id_category'].',';
regenerate_children_categories($category['id_category'], $new_depth);
}
$cat_ids = substr($cat_ids, 0, -1);
Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'category` SET `level_depth` = '.(int)$new_depth.' WHERE `id_category` IN ('.$cat_ids.')');
}
@@ -0,0 +1,52 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/**
* Removes duplicates from table category_group caused by a bug in category importing in PS < 1.4.2
*/
function remove_duplicate_category_groups()
{
$result = Db::getInstance()->executeS('
SELECT `id_category`, `id_group`, COUNT(*) as `count`
FROM `'._DB_PREFIX_.'category_group`
GROUP BY `id_category`, `id_group`
ORDER BY `count` DESC');
foreach($result as $row)
{
if ((int)$row['count'] > 1)
{
$limit = (int)$row['count'] - 1;
$result = Db::getInstance()->execute('
DELETE FROM `'._DB_PREFIX_.'category_group`
WHERE `id_category` = '.$row['id_category'].' AND `id_group` = '.$row['id_group'].'
LIMIT '.$limit);
}
else
return;
}
}
@@ -0,0 +1,53 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function remove_module_from_hook($module_name, $hook_name)
{
$result = false;
$id_module = Db::getInstance()->getValue('
SELECT `id_module` FROM `'._DB_PREFIX_.'module`
WHERE `name` = \''.pSQL($module_name).'\''
);
if ((int)$id_module > 0)
{
$id_hook = Db::getInstance()->getValue('
SELECT `id_hook` FROM `'._DB_PREFIX_.'hook` WHERE `name` = \''.pSQL($hook_name).'\'
');
if ((int)$id_hook > 0)
{
$result = Db::getInstance()->execute('
DELETE FROM `'._DB_PREFIX_.'hook_module`
WHERE `id_module` = '.(int)$id_module.' AND `id_hook` = '.(int)$id_hook);
}
}
return $result;
}
+11
View File
@@ -0,0 +1,11 @@
<?php
function remove_tab($tabname)
{
Db::getInstance()->execute('
DELETE t, l
FROM `'._DB_PREFIX_.'tab` t LEFT JOIN `'._DB_PREFIX_.'tab_lang` l ON (t.id_tab = l.id_tab)
WHERE t.`class_name` = '.pSQL($tabname));
}
@@ -0,0 +1,107 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 12447 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function reorderpositions()
{
$res = true;
$ps_lang_default = Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'configuration`
WHERE name="PS_LANG_DEFAULT"');
/* Clean products positions */
$cat = Db::getInstance()->executeS('SELECT id_category FROM `'._DB_PREFIX_.'category`');
if ($cat)
foreach($cat AS $categ)
{
$id_category = $categ['id_category'];
$result = Db::getInstance()->executeS('
SELECT `id_product`
FROM `'._DB_PREFIX_.'category_product`
WHERE `id_category` = '.$id_category.'
ORDER BY `position`');
$sizeof = sizeof($result);
for ($i = 0; $i < $sizeof; $i++)
$res &= Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'category_product`
SET `position` = '.$i.'
WHERE `id_category` = '.$id_category.'
AND `id_product` = '.(int)($result[$i]['id_product']));
}
$cat_parent = Db::getInstance()->executeS('SELECT DISTINCT c.id_parent FROM `'._DB_PREFIX_.'category` c WHERE id_category != 1');
foreach($cat_parent AS $parent)
{
$result = Db::getInstance()->executeS('
SELECT DISTINCT c.*, cl.*
FROM `'._DB_PREFIX_.'category` c
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.$ps_lang_default.')
WHERE c.id_parent = '.(int)($parent['id_parent']).'
ORDER BY name ASC');
foreach($result AS $i => $categ)
{
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'category`
SET `position` = '.(int)($i).'
WHERE `id_parent` = '.(int)($categ['id_parent']).'
AND `id_category` = '.(int)($categ['id_category']));
}
$result = Db::getInstance()->executeS('
SELECT DISTINCT c.*, cl.*
FROM `'._DB_PREFIX_.'category` c
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category`)
WHERE c.id_parent = '.(int)($parent['id_parent']).'
ORDER BY name ASC');
// Remove number from category name
foreach($result AS $i => $categ)
Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'category` c
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category`)
SET `name` = \''.preg_replace('/^[0-9]+\./', '',$categ['name']).'\'
WHERE c.id_category = '.(int)($categ['id_category']).' AND id_lang = \''.(int)($categ['id_lang']).'\'');
}
/* Clean CMS positions */
$cms_cat = Db::getInstance()->executeS('SELECT id_cms_category FROM `'._DB_PREFIX_.'cms_category` WHERE active=1');
if ($cms_cat)
foreach($cms_cat AS $i => $categ)
{
$id_category_parent = $categ['id_cms_category'];
$result &= Db::getInstance()->executeS('
SELECT `id_cms_category`
FROM `'._DB_PREFIX_.'cms_category`
WHERE `id_parent` = '.(int)$id_category_parent.'
ORDER BY `position`');
$sizeof = sizeof($result);
for ($i = 0; $i < $sizeof; ++$i){
$sql = 'UPDATE `'._DB_PREFIX_.'cms_category`
SET `position` = '.(int)$i.'
WHERE `id_parent` = '.(int)$id_category_parent.'
AND `id_cms_category` = '.(int)$result[$i]['id_cms_category'];
$res &= Db::getInstance()->Execute($sql);
}
}
}
+47
View File
@@ -0,0 +1,47 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function setAllGroupsOnHomeCategory()
{
$ps_lang_default = Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'`configuration WHERE name="PS_LANG_DEFAULT"');
$results = Db::getInstance()->executeS('SELECT id_group FROM `'._DB_PREFIX_.'group`');
$groups = array();
foreach ($results AS $result)
$groups[] = $result['id_group'];
if (is_array($groups) && count($groups))
{
// cleanGroups
Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'category_group`
WHERE `id_category` = 1');
// addGroups($groups);
$row = array('id_category' => 1, 'id_group' => (int)$groups);
Db::getInstance()->insert('category_group', $row);
}
}
@@ -0,0 +1,35 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function set_discount_category()
{
$discounts = Db::getInstance()->ExecuteS('SELECT `id_discount` FROM `'._DB_PREFIX_.'discount`');
$categories = Db::getInstance()->ExecuteS('SELECT `id_category` FROM `'._DB_PREFIX_.'category`');
foreach ($discounts AS $discount)
foreach ($categories AS $category)
Db::getInstance()->Execute('INSERT INTO `'._DB_PREFIX_.'discount_category` (`id_discount`,`id_category`) VALUES ('.(int)($discount['id_discount']).','.(int)($category['id_category']).')');
}
@@ -0,0 +1,54 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function set_payment_module()
{
// Get all modules then select only payment ones
$modules = Module::getModulesInstalled();
foreach ($modules AS $module)
{
$file = _PS_MODULE_DIR_.$module['name'].'/'.$module['name'].'.php';
if (!file_exists($file))
continue;
$fd = fopen($file, 'r');
if (!$fd)
continue ;
$content = fread($fd, filesize($file));
if (preg_match_all('/extends PaymentModule/U', $content, $matches))
{
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'module_country` (id_module, id_country)
SELECT '.(int)($module['id_module']).', id_country FROM `'._DB_PREFIX_.'country` WHERE active = 1');
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'module_currency` (id_module, id_currency)
SELECT '.(int)($module['id_module']).', id_currency FROM `'._DB_PREFIX_.'currency` WHERE deleted = 0');
}
fclose($fd);
}
}
@@ -0,0 +1,50 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function set_payment_module_group()
{
// Get all modules then select only payment ones
$modules = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'module`');
foreach ($modules AS $module)
{
$file = _PS_MODULE_DIR_.$module['name'].'/'.$module['name'].'.php';
if (!file_exists($file))
continue;
$fd = @fopen($file, 'r');
if (!$fd)
continue ;
$content = fread($fd, filesize($file));
if (preg_match_all('/extends PaymentModule/U', $content, $matches))
{
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'module_group` (id_module, id_group)
SELECT '.(int)($module['id_module']).', id_group FROM `'._DB_PREFIX_.'group`');
}
fclose($fd);
}
}
@@ -0,0 +1,51 @@
<?php
function set_product_suppliers()
{
$ps_currency_default = Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'configuration` WHERE name="PS_CURRENCY_DEFAULT"');
//Get all products with positive quantity
$resource = Db::getInstance()->query('
SELECT id_supplier, id_product, supplier_reference, wholesale_price
FROM `'._DB_PREFIX_.'product`
WHERE `id_supplier` > 0
');
while ($row = Db::getInstance()->nextRow($resource))
{
//Set default supplier for product
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'product_supplier`
(`id_product`, `id_product_attribute`, `id_supplier`,
`product_supplier_reference`, `product_supplier_price_te`,
`id_currency`)
VALUES
("'.(int)$row['id_product'].'", "0", "'.(int)$row['id_supplier'].'",
"'.(int)$row['supplier_reference'].'", "'.(int)$row['wholesale_price'].'",
"'.(int)$ps_currency_default.'"
');
//Try to get product attribues
$attributes = Db::getInstance()->executeS('
SELECT id_product_attribute, supplier_reference, wholesale_price
FROM `'._DB_PREFIX_.'product_attribute`
WHERE `id_product` = '.(int)$row['id_product']
);
//Add each attribute to stock_available
foreach ($attributes as $attribute)
{
// set supplier for attribute
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'product_supplier`
(`id_product`, `id_product_attribute`,
`id_supplier`, `product_supplier_reference`,
`product_supplier_price_te`, `id_currency`)
VALUES
("'.(int)$row['id_product'].'", "'.(int)$attribute['id_product_attribute'].'",
"'.(int)$row['id_supplier'].'", "'.(int)$attribute['supplier_reference'].'",
"'.(int)$attribute['wholesale_price'].'", "'.(int)$ps_currency_default.'")
');
}
}
}
@@ -0,0 +1,51 @@
<?php
function set_stock_available()
{
//Get all products with positive quantity
$resource = Db::getInstance()->query('
SELECT quantity, id_product, out_of_stock
FROM `'._DB_PREFIX_.'product`
WHERE `active` = 1
');
while ($row = Db::getInstance()->nextRow($resource))
{
$quantity = 0;
//Try to get product attribues
$attributes = Db::getInstance()->executeS('
SELECT quantity, id_product_attribute
FROM `'._DB_PREFIX_.'product_attribute`
WHERE `id_product` = '.(int)$row['id_product']
);
//Add each attribute to stock_available
foreach ($attributes as $attribute)
{
// add to global quantity
$quantity += $attribute['quantity'];
//add stock available for attributes
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'stock_available`
(`id_product`, `id_product_attribute`, `id_shop`, `id_group_shop`, `quantity`, `depends_on_stock`, `out_of_stock`)
VALUES
("'.(int)$row['id_product'].'", "'.(int)$attribute['id_product_attribute'].'", "1", "0", "'.(int)$attribute['quantity'].'", "0", "'.(int)$row['out_of_stock'].'")
');
}
if (count($attributes) == 0)
$quantity = (int)$row['quantity'];
if ($quantity == 0)
continue;
//Add stock available for product
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'stock_available`
(`id_product`, `id_product_attribute`, `id_shop`, `id_group_shop`, `quantity`, `depends_on_stock`, `out_of_stock`)
VALUES
("'.(int)$row['id_product'].'", "0", "1", "0", "'.(int)$quantity.'", "0", "'.(int)$row['out_of_stock'].'")
');
}
}
+40
View File
@@ -0,0 +1,40 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function shop_url()
{
$host = Db::getInstance()->getValue('SELECT value FROM `'._DB_PREFIX_.'configuration`
WHERE name="CANONICAL_URL"');
if (!$host)
$host = (isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST']);
$res = Db::getInstance()->getValue('REPLACE INTO `'._DB_PREFIX_.'configuration`
(name, value) VALUES
("PS_SHOP_DOMAIN", "'.$host.'"),
("PS_SHOP_DOMAIN_SSL", "'.$host.'")
');
return true;
}
@@ -0,0 +1,43 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 12447 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_carrier_url()
{
// Get all carriers
$sql = '
SELECT c.`id_carrier`, c.`url`
FROM `'._DB_PREFIX_.'carrier` c';
$carriers = Db::getInstance()->executeS($sql);
// Check each one and erase carrier URL if not correct URL
foreach ($carriers as $carrier)
if (empty($carrier['url']) || !preg_match('/^https?:\/\/[:#%&_=\(\)\.\? \+\-@\/a-zA-Z0-9]+$/', $carrier['url']))
Db::getInstance()->Execute('
UPDATE `'._DB_PREFIX_.'carrier`
SET `url` = \'\'
WHERE `id_carrier`= '.(int)($carrier['id_carrier']));
}
@@ -0,0 +1,49 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_feature_detachable_cache()
{
$array_features = array(
'PS_SPECIFIC_PRICE_FEATURE_ACTIVE' => 'specific_price',
'PS_SCENE_FEATURE_ACTIVE' => 'scene',
'PS_PRODUCT_DOWNLOAD_FEATURE_ACTIVE' => 'product_download',
'PS_CUSTOMIZATION_FEATURE_ACTIVE' => 'customization_field',
'PS_CART_RULE_FEATURE_ACTIVE' => 'cart_rule',
'PS_GROUP_FEATURE_ACTIVE' => 'group',
'PS_PACK_FEATURE_ACTIVE' => 'pack',
'PS_ALIAS_FEATURE_ACTIVE' => 'alias',
);
$res = true;
foreach ($array_features as $config_key => $feature)
{
// array_features is an array defined above, so please don't add bqSql !
$count = (int)Db::getInstance()->getValue('SELECT count(*) FROM `'._DB_PREFIX_.$feature.'`');
$res &= Db::getInstance()->execute('REPLACE INTO `'._DB_PREFIX_.'configuration` (name, value) values ("'.$config_key.'", "'.$count.'"');
}
return $res;
}
@@ -0,0 +1,50 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 8754 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_feature_detachable_cache()
{
if (!class_exists('Configuration', false))
{
if (!class_exists('ObjectModel', false))
{
require_once(_PS_CLASS_DIR_.'/ObjectModel.php');
eval('class ObjectModel extends ObjectModelCore{}');
}
require_once(_PS_CLASS_DIR_.'/Configuration.php');
eval('class Configuration extends ConfigurationCore{}');
}
Configuration::updateGlobalValue('PS_SPECIFIC_PRICE_FEATURE_ACTIVE', (int)SpecificPrice::isCurrentlyUsed('specific_price'));
Configuration::updateGlobalValue('PS_SCENE_FEATURE_ACTIVE', (int)Scene::isCurrentlyUsed('scene', true));
Configuration::updateGlobalValue('PS_VIRTUAL_PROD_FEATURE_ACTIVE', (int)ProductDownload::isCurrentlyUsed('product_download', true));
Configuration::updateGlobalValue('PS_CUSTOMIZATION_FEATURE_ACTIVE', (int)Customization::isCurrentlyUsed());
Configuration::updateGlobalValue('PS_DISCOUNT_FEATURE_ACTIVE', (int)Discount::isCurrentlyUsed('discount', true));
Configuration::updateGlobalValue('PS_GROUP_FEATURE_ACTIVE', (int)Group::isCurrentlyUsed());
Configuration::updateGlobalValue('PS_PACK_FEATURE_ACTIVE', (int)Pack::isCurrentlyUsed());
Configuration::updateGlobalValue('PS_ALIAS_FEATURE_ACTIVE', (int)Alias::isCurrentlyUsed('alias', true));
}
@@ -0,0 +1,19 @@
<?php
function update_for_13version()
{
global $oldversion;
if (version_compare($oldversion, '1.4.0.1') >= 0)
return; // if the old version is a 1.4 version
// Disable the Smarty 3
// Disable the URL rewritting
// Disable Canonical redirection
$res = Db::getInstance()->getValue('REPLACE INTO `'._DB_PREFIX_.'configuration`
(name, value) VALUES
("PS_FORCE_SMARTY_2", "1"),
("PS_REWRITING_SETTINGS", "0")
("PS_CANONICAL_REDIRECT", "0")
');
}
@@ -0,0 +1,42 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6844 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_image_size_in_db()
{
if (file_exists(realpath(INSTALL_PATH.'/../img').'/logo.jpg'))
{
list($width, $height, $type, $attr) = getimagesize(realpath(INSTALL_PATH.'/../img').'/logo.jpg');
Configuration::updateValue('SHOP_LOGO_WIDTH', (int)round($width));
Configuration::updateValue('SHOP_LOGO_HEIGHT', (int)round($height));
}
if (file_exists(realpath(INSTALL_PATH.'/../modules/editorial').'/homepage_logo.jpg'))
{
list($width, $height, $type, $attr) = getimagesize(realpath(INSTALL_PATH.'/../modules/editorial').'/homepage_logo.jpg');
Configuration::updateValue('EDITORIAL_IMAGE_WIDTH', (int)round($width));
Configuration::updateValue('EDITORIAL_IMAGE_HEIGHT', (int)round($height));
}
}
@@ -0,0 +1,20 @@
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
function update_mailalerts_add_column_idshop()
{
$id_mailalerts = Db::getInstance()->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name = "mailalerts"');
if($id_mailalerts)
{
$res = Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'mailalert_customer_oos` ADD COLUMN `id_shop` int(11) NOT NULL default "0" AFTER `id_customer`');
if ($res)
return true;
else
return array('error' => 1, 'msg' => sprintf('unable to create column id_shop (%s)', Db::getInstance ()->getMsgError()));
}
return true;
}
@@ -0,0 +1,36 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 12447 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_module_followup()
{
$id_followup = Db::getInstance()->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name = "followup"');
if (!$id_followup)
return;
Db::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'log_email` ADD INDEX `date_add`(`date_add`), ADD INDEX `id_cart`(`id_cart`);');
}
@@ -0,0 +1,49 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 12518 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
// backward compatibility vouchers should be available in all categories
function update_module_loyalty()
{
$ps_loyalty_point_value = Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'configuration`
WHERE name="PS_LOYALTY_POINT_VALUE"');
if ($ps_loyalty_point_value !== false)
{
$category_list = '';
$categories = Db::getInstance('SELECT id_category FROM `'._DB_PREFIX_.'category`');
foreach($categories as $category)
$category_list .= $category['id_category'].',';
if (!empty($category_list))
{
$category_list = rtrim($category_list, ',');
$res &= Db::getInstance()->execute('REPLACE INTO `'._DB_PREFIX_.'configuration`
(name, value) VALUES ("PS_LOYALTY_VOUCHER_CATEGORY", "'.$category_list.'"');
}
}
}
@@ -0,0 +1,39 @@
<?php
function update_modules_multishop()
{
$block_cms_installed = (bool)Db::getInstance()->getValue('SELECT count(*) FROM `'._DB_PREFIX_.'module` WHERE name = "blockcms"');
if($block_cms_installed)
{
Db::getInstance()->execute('CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'blocklink_shop` (
`id_blocklink` int(2) NOT NULL AUTO_INCREMENT,
`id_shop` varchar(255) NOT NULL,
PRIMARY KEY(`id_blocklink`, `id_shop`))
ENGINE=MyISAM default CHARSET=utf8');
Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'cms_block_shop` (
`id_cms_block` int(10) unsigned NOT NULL auto_increment,
`id_shop` int(10) unsigned NOT NULL,
PRIMARY KEY (`id_cms_block`, `id_shop`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8');
Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'cms_block_shop (cms_block, id_shop)
(SELECT id_cms_block, 1 FROM '._DB_PREFIX_.'cms_block)');
}
$block_link_installed = (bool)Db::getInstance()->getValue('SELECT count(*) FROM `'._DB_PREFIX_.'module` WHERE name = "blocklink"');
if($block_link_installed)
{
Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'blocklink_shop` (
`id_blocklink` int(2) NOT NULL AUTO_INCREMENT,
`id_shop` varchar(255) NOT NULL,
PRIMARY KEY(`id_blocklink`, `id_shop`))
ENGINE=MyISAM default CHARSET=utf8');
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'blocklink_shop` (id_blocklink, id_shop)
(SELECT id_blocklink, 1 FROM `'._DB_PREFIX_.'blocklink`)');
}
return true;
}
@@ -0,0 +1,40 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_modules_sql()
{
$id_blocklink = Db::getInstance()->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name = "blocklink"');
if ($id_blocklink)
Db::getInstance()->Execute('ALTER IGNORE TABLE `'._DB_PREFIX_.'blocklink_lang` ADD PRIMARY KEY (`id_link`, `id_lang`);');
$id_productcomments = Db::getInstance()->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name = "productcomments"');
if ($id_productcomments)
{
Db::getInstance()->Execute('ALTER IGNORE TABLE `'._DB_PREFIX_.'product_comment_grade` ADD PRIMARY KEY (`id_product_comment`, `id_product_comment_criterion`);');
Db::getInstance()->Execute('ALTER IGNORE TABLE `'._DB_PREFIX_.'product_comment_criterion` DROP PRIMARY KEY, ADD PRIMARY KEY (`id_product_comment_criterion`, `id_lang`);');
Db::getInstance()->Execute('ALTER IGNORE TABLE `'._DB_PREFIX_.'product_comment_criterion_product` ADD PRIMARY KEY(`id_product`, `id_product_comment_criterion`);');
}
}
@@ -0,0 +1,127 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_order_canada()
{
$sql ='SHOW TABLES LIKE "'._DB_PREFIX_.'order_tax"';
$table = Db::getInstance()->executeS($sql);
if (!count($table))
{
Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'order_tax` (
`id_order` int(11) NOT NULL,
`tax_name` varchar(40) NOT NULL,
`tax_rate` decimal(6,3) NOT NULL,
`amount` decimal(20,6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8');
$address_field = Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'configuration`
WHERE name="PS_TAX_ADDRESS_TYPE"');
$address_field = str_replace('`','\`', $address_field);
$sql = 'SELECT `id_order`
FROM `'._DB_PREFIX_.'orders` o
LEFT JOIN `'._DB_PREFIX_.'customer` cus ON (o.id_customer = cus.id_customer)
LEFT JOIN `'._DB_PREFIX_.'group` g ON (g.id_group = cus.id_default_group)
LEFT JOIN `'._DB_PREFIX_.'address` a ON (a.`id_address` = o.`'.$address_field.'`)
LEFT JOIN `'._DB_PREFIX_.'country` c ON (c.`id_country` = a.`id_country`)
WHERE c.`iso_code` = "CA"';
$id_order_list = Db::getInstance()->executeS($sql);
$default_price_display_method = Db::getInstance()->getValue('SELECT price_display_method
FROM `'._DB_PREFIX_.'group WHERE id_group=1`');
$values = '';
foreach ($id_order_list as $order)
{
$amount = array();
$id_order = $order['id_order'];
// in Order class, getTaxCalculationMethod
// returns Group::getDefaultPriceDisplayMethod
$tax_calculation_method = $order['price_display_method'];
$products = Db::getInstance()->ExecuteS('
SELECT * FROM `'._DB_PREFIX_.'order_detail` od
WHERE od.`id_order` = '.(int)$id_order);
foreach ($products as $product)
{
if (!array_key_exists($product['tax_name'], $amount))
$amount[$product['tax_name']] = array('amount' => 0, 'rate' => $product['tax_rate']);
if ($tax_calculation_method == PS_TAX_EXC)
{
$total_product = $product['product_price'] * $product['product_quantity'];
$amount_tmp = update_order_canada_ps_round($total_product * ($product['tax_rate'] / 100), 2);
$amount[$product['tax_name']]['amount'] += update_order_canada_ps_round($total_product * ($product['tax_rate'] / 100), 2);
}
else
{
$total_product = $product['product_price'] * $product['product_quantity'];
$amount_tmp = update_order_canada_ps_round($total_product - ($total_product / (1 + ($product['tax_rate'] / 100))), 2);
$amount[$product['tax_name']]['amount'] += update_order_canada_ps_round($total_product - ($total_product / (1 + ($product['tax_rate'] / 100))), 2);
}
}
foreach ($amount as $tax_name => $tax_infos)
$values .= '('.(int)$id_order.', "'.$tax_name.'\', "'.$tax_infos['rate'].'", '.(float)$tax_infos['amount'].'),';
unset($order);
}
if (!empty($values))
{
$values = rtrim($values, ",");
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'order_tax` (id_order, tax_name, tax_rate, amount)
VALUES '.$values);
}
}
}
function update_order_canada_ps_round($val){
static $ps_price_round_mode;
if (empty($ps_price_round_mode))
{
$ps_price_round_mode = Db::getInstance()->getValue('SELECT value
FROM `'._DB_PREFIX_.'configuration`
WHERE name = "PS_PRICE_ROUND_MODE"');
}
switch ($ps_price_round_mode)
{
case PS_ROUND_UP:
return ceil($val * 100)/100;
case PS_ROUND_DOWN:
return floor($val * 100)/100;
default:
return round($val, 2);
}
}
@@ -0,0 +1,60 @@
<?php
function update_order_detail_taxes()
{
$order_detail_taxes = Db::getInstance()->executeS('
SELECT `id_order_detail`, `tax_name`, `tax_rate` FROM `'._DB_PREFIX_.'order_detail`
');
$id_lang_list = Db::getInstance()->executeS('SELECT id_lang FROM `'._DB_PREFIX_.'lang`');
foreach ($order_detail_taxes as $order_detail_tax)
{
if ($order_detail_tax['tax_rate'] == '0.000')
continue;
$alternative_tax_name = 'Tax '.$order_detail_tax['tax_rate'];
$create_tax = true;
$id_tax = (int)Db::getInstance()->getValue('SELECT t.`id_tax`
FROM `'._DB_PREFIX_.'tax` t
LEFT JOIN `'._DB_PREFIX_.'tax_lang` tl ON (tl.id_tax = t.id_tax)
WHERE tl.`name` = \''.pSQL($order_detail_tax['tax_name']).'\' ');
$id_tax_alt = (int)Db::getInstance()->getValue('SELECT t.`id_tax`
FROM `'._DB_PREFIX_.'tax` t
LEFT JOIN `'._DB_PREFIX_.'tax_lang` tl ON (tl.id_tax = t.id_tax)
WHERE tl.`name` = \''.pSQL($alternative_tax_name).'\' ');
if ( $id_tax || $id_tax_alt)
{
$create_tax = !(bool)Db::getInstance()->getValue('SELECT count(*)
FROM `'._DB_PREFIX_.'tax`
WHERE id_tax = '. (int)$id_tax .'
AND rate = "'.pSql($order_detail_tax['tax_rate']).'"
');
}
if ($create_tax)
{
$tax_name = (isset($order_detail_tax['tax_name']) ? $order_detail_tax['tax_name'] : $alternative_tax_name);
Db::getInstance()->Execute(
'INSERT INTO `'._DB_PREFIX_.'tax` (`rate`, `active`, `deleted`)
VALUES (\''.(float)$order_detail_tax['tax_rate'].'\', 0, 1)'
);
$id_tax = Db::getInstance()->Insert_ID();
foreach ($id_lang_list as $id_lang)
{
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'tax_lang` (`id_tax`, `id_lang`, `name`)
VALUES ('.(int)$id_tax.','.(int)$id_lang['id_lang'].',\''.pSQL($tax_name).'\')
');
}
}
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'order_detail_tax` (`id_order_detail`, `id_tax`)
VALUES ('.(int)$order_detail_tax['id_order_detail'].','.$id_tax.')
');
}
}
@@ -0,0 +1,39 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6594 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_order_details()
{
$res = Db::getInstance()->ExecuteS('SHOW COLUMNS FROM `'._DB_PREFIX_.'order_detail` LIKE \'reduction_percent\'');
if (sizeof($res) == 0)
{
Db::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'order_detail` ADD `reduction_percent` DECIMAL(10, 2) NOT NULL default \'0.00\' AFTER `product_price`');
Db::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'order_detail` ADD `reduction_amount` DECIMAL(20, 6) NOT NULL default \'0.000000\' AFTER `reduction_percent`');
}
}
@@ -0,0 +1,36 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 7541 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function update_products_ecotax_v133()
{
global $oldversion;
if ($oldversion < '1.3.3.0')
{
Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'product` SET `ecotax` = \'0\' WHERE 1');
Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'order_detail` SET `ecotax` = \'0\' WHERE 1;');
}
}
@@ -0,0 +1,108 @@
<?php
function update_stock_mvt_reason()
{
//Get all stock mvts reasons already presents in the solution (from 1.4.x)
//Remove standard movements to keep only custom movement
$mvts = Db::getInstance()->executeS('
SELECT smr.*
FROM `'._DB_PREFIX_.'stock_mvt_reason`
WHERE `id` > 5
');
//Get all stock mvts reasons language traduction already presents in the solution (from 1.4.x)
//Remove standard movements to keep only custom movement
$mvts_lang = Db::getInstance()->executeS('
SELECT smrl.*
FROM `'._DB_PREFIX_.'stock_movement_reason_lang`
WHERE `id_stock_mvt_reason` > 5
');
//Clean table
Db::getInstance()->query('TRUNCATE TABLE `'._DB_PREFIX_.'stock_movement_reason`');
Db::getInstance()->query('TRUNCATE TABLE `'._DB_PREFIX_.'stock_movement_reason_lang`');
//Recreate new standards movements
Db::getInstance()->execute('
INSERT INTO `PREFIX_stock_mvt_reason` (`id_stock_mvt_reason`, `sign`, `date_add`, `date_upd`)
VALUES
(1, 1, NOW(), NOW()),
(2, -1, NOW(), NOW()),
(3, -1, NOW(), NOW()),
(4, -1, NOW(), NOW()),
(5, 1, NOW(), NOW()),
(6, -1, NOW(), NOW()),
(7, 1, NOW(), NOW()),
(8, 1, NOW(), NOW())
');
Db::getInstance()->execute("
INSERT INTO `PREFIX_stock_mvt_reason_lang` (`id_stock_mvt_reason`, `id_lang`, `name`)
VALUES
(1, 1, 'Increase'),
(1, 2, 'Augmenter'),
(1, 3, 'Aumentar'),
(1, 4, 'Erhöhen'),
(1, 5, 'Increase'),
(2, 1, 'Decrease'),
(2, 2, 'Diminuer'),
(2, 3, 'Disminuir'),
(2, 4, 'Reduzieren'),
(2, 5, 'Decrease'),
(3, 1, 'Customer Order'),
(3, 2, 'Commande client'),
(3, 3, 'Pedido'),
(3, 4, 'Bestellung'),
(3, 5, 'Ordine'),
(4, 1, 'Regulation following an inventory of stock'),
(4, 2, 'Régularisation du stock suite à un inventaire'),
(4, 3, 'Regulation following an inventory of stock'),
(4, 4, 'Regulation following an inventory of stock'),
(4, 5, 'Regulation following an inventory of stock'),
(5, 1, 'Regulation following an inventory of stock'),
(5, 2, 'Régularisation du stock suite à un inventaire'),
(5, 3, 'Regulation following an inventory of stock'),
(5, 4, 'Regulation following an inventory of stock'),
(5, 5, 'Regulation following an inventory of stock'),
(6, 1, 'Transfer to another warehouse'),
(6, 2, 'Transfert vers un autre entrepôt'),
(6, 3, 'Transfer to another warehouse'),
(6, 4, 'Transfer to another warehouse'),
(6, 5, 'Transfer to another warehouse'),
(7, 1, 'Transfer from another warehouse'),
(7, 2, 'Transfert depuis un autre entrepôt'),
(7, 3, 'Transfer from another warehouse'),
(7, 4, 'Transfer from another warehouse'),
(7, 5, 'Transfer from another warehouse'),
(8, 1, 'Supply Order'),
(8, 2, 'Commande fournisseur'),
(8, 3, 'Supply Order'),
(8, 4, 'Supply Order'),
(8, 5, 'Supply Order')
");
//Add custom movements
if (is_array($mvts))
{
foreach ($mvts as $mvt)
{
Db::getInstance()->execute('
INSERT INTO `PREFIX_stock_mvt_reason` (`sign`, `date_add`, `date_upd`)
VALUES ("'.(int)$mvt['sign'].'", "'.pSQL($mvt['date_add']).'", "'.pSQL($mvt['date_upd']).'")
');
$row_id = Db::getInstance()->Insert_ID();
foreach ($mvts_lang as $mvt_lang)
{
if ($mvt_lang['id_stock_mvt_reason'] != $mvt['id'])
continue;
Db::getInstance()->execute('
INSERT INTO `PREFIX_stock_mvt_reason_lang` (`id_stock_mvt_reason`, `id_lang`, `name`)
VALUES ("'.(int)$row_id.'", "'.(int)$mvt_lang['id_lang'].'", "'.pSQL($mvt_lang['name']).'")
');
}
}
}
}
@@ -0,0 +1,58 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6594 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function updateproductcomments()
{
if (Db::getInstance()->ExecuteS('SELECT * FROM '._DB_PREFIX_.'product_comment') !== false)
{
Db::getInstance()->Execute('CREATE TABLE IF NOT EXISTS '._DB_PREFIX_.'product_comment_criterion_lang (
`id_product_comment_criterion` INT( 11 ) UNSIGNED NOT NULL ,
`id_lang` INT(11) UNSIGNED NOT NULL ,
`name` VARCHAR(64) NOT NULL ,
PRIMARY KEY ( `id_product_comment_criterion` , `id_lang` )
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8');
Db::getInstance()->Execute('CREATE TABLE IF NOT EXISTS '._DB_PREFIX_.'product_comment_criterion_category (
`id_product_comment_criterion` int(10) unsigned NOT NULL,
`id_category` int(10) unsigned NOT NULL,
PRIMARY KEY(`id_product_comment_criterion`, `id_category`),
KEY `id_category` (`id_category`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment ADD `id_guest` INT(11) NULL AFTER `id_customer`');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment ADD `customer_name` varchar(64) NULL AFTER `content`');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment ADD `deleted` tinyint(1) NOT NULL AFTER `validate`');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment ADD INDEX (id_customer)');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment ADD INDEX (id_guest)');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment ADD INDEX (id_product)');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment_criterion DROP `id_lang`');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment_criterion DROP `name`');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment_criterion ADD `id_product_comment_criterion_type` tinyint(1) NOT NULL AFTER `id_product_comment_criterion`');
Db::getInstance()->Execute('ALTER TABLE '._DB_PREFIX_.'product_comment_criterion ADD `active` tinyint(1) NOT NULL AFTER `id_product_comment_criterion_type`');
Db::getInstance()->Execute('ALTER IGNORE TABLE `'._DB_PREFIX_.'product_comment` ADD `title` VARCHAR(64) NULL AFTER `id_guest`;');
}
}
@@ -0,0 +1,47 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision: 6594 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function updatetabicon_from_11version()
{
global $oldversion;
if (version_compare($oldversion,'1.5.0.0','<'))
{
$rows = Db::getInstance()->ExecuteS('SELECT `id_tab`,`class_name` FROM '._DB_PREFIX_.'tab');
if (sizeof($rows))
{
$img_dir = scandir(_PS_ROOT_DIR_.'/img/t/');
$result = true;
foreach ($rows as $tab)
{
if (file_exists(_PS_ROOT_DIR_.'/img/t/'.$tab['id_tab'].'.gif')
AND !file_exists(_PS_ROOT_DIR_.'/img/t/'.$tab['class_name'].'.gif'))
$result &= rename(_PS_ROOT_DIR_.'/img/t/'.$tab['id_tab'].'.gif',_PS_ROOT_DIR_.'/img/t/'.$tab['class_name'].'.gif');
}
}
}
return true;
}