130 lines
5.1 KiB
PHP
Executable File
130 lines
5.1 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* 2007-2015 PrestaShop
|
|
*
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* This source file is subject to the Academic Free License (AFL 3.0)
|
|
* that is bundled with this package in the file LICENSE.txt.
|
|
* It is also available through the world-wide-web at this URL:
|
|
* http://opensource.org/licenses/afl-3.0.php
|
|
* If you did not receive a copy of the license and are unable to
|
|
* obtain it through the world-wide-web, please send an email
|
|
* to license@prestashop.com so we can send you a copy immediately.
|
|
*
|
|
* DISCLAIMER
|
|
*
|
|
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
|
* versions in the future. If you wish to customize PrestaShop for your
|
|
* needs please refer to http://www.prestashop.com for more information.
|
|
*
|
|
* @author PrestaShop SA <contact@prestashop.com>
|
|
* @copyright 2007-2015 PrestaShop SA
|
|
|
|
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
|
* International Registered Trademark & Property of PrestaShop SA
|
|
*/
|
|
|
|
/* File Example for upgrade */
|
|
|
|
if (!defined('_PS_VERSION_'))
|
|
exit;
|
|
|
|
/* object module ($this) available */
|
|
function upgrade_module_1_8_0($object)
|
|
{
|
|
$upgrade_version = '1.8.0';
|
|
|
|
$object->upgrade_detail[$upgrade_version] = array();
|
|
|
|
/* Add new table to handle multi-shop for a carrier */
|
|
$query = '
|
|
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'mr_method_shop` (
|
|
`id_mr_method_shop` int(10) unsigned NOT NULL auto_increment,
|
|
`id_mr_method` int(10) unsigned NOT NULL,
|
|
`id_shop` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`id_mr_method_shop`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;';
|
|
|
|
if (!Db::getInstance()->execute($query))
|
|
$object->upgrade_detail[$upgrade_version][] = $object->l('Can\'t create method shop table');
|
|
|
|
/* Refacto name */
|
|
$query = '
|
|
ALTER TABLE `'._DB_PREFIX_.'mr_method` CHANGE `id_mr_method` `id_mr_method` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
|
|
CHANGE `mr_Name` `name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
|
|
CHANGE `mr_Pays_list` `country_list` VARCHAR( 1000 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
|
|
CHANGE `mr_ModeCol` `col_mode` VARCHAR( 3 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
|
|
CHANGE `mr_ModeLiv` `dlv_mode` VARCHAR( 3 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
|
|
CHANGE `mr_ModeAss` `insurance` VARCHAR( 3 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT \'0\',
|
|
CHANGE `id_carrier` `id_carrier` INT( 10 ) NOT NULL';
|
|
|
|
if (!Db::getInstance()->execute($query))
|
|
$object->upgrade_detail[$upgrade_version][] = $object->l('Can\'t change name of the method table');
|
|
|
|
$query = 'RENAME TABLE `'._DB_PREFIX_.'mr_historique` TO `'._DB_PREFIX_.'mr_history`';
|
|
|
|
if (!Db::getInstance()->execute($query))
|
|
$object->upgrade_detail[$upgrade_version][] = $object->l('Can\'t rename the history table');
|
|
|
|
$object->account_shop['MR_ENSEIGNE_WEBSERVICE'] = Configuration::get('MR_ENSEIGNE_WEBSERVICE');
|
|
$object->account_shop['MR_CODE_MARQUE'] = Configuration::get('MR_CODE_MARQUE');
|
|
$object->account_shop['MR_KEY_WEBSERVICE'] = Configuration::get('MR_KEY_WEBSERVICE');
|
|
$object->account_shop['MR_LANGUAGE'] = Configuration::get('MR_LANGUAGE');
|
|
$object->account_shop['MR_WEIGHT_COEFFICIENT'] = Configuration::get('MR_WEIGHT_COEF');
|
|
$object->account_shop['MR_ORDER_STATE'] = Configuration::get('MONDIAL_RELAY_ORDER_STATE');
|
|
$object->updateAccountShop();
|
|
|
|
Configuration::deleteByName('MONDIAL_RELAY_INSTALL_UPDATE');
|
|
Configuration::deleteByName('MONDIAL_RELAY_ORDER_STATE');
|
|
Configuration::deleteByName('MR_ENSEIGNE_WEBSERVICE');
|
|
Configuration::deleteByName('MR_CODE_MARQUE');
|
|
Configuration::deleteByName('MR_KEY_WEBSERVICE');
|
|
Configuration::deleteByName('MR_WEIGHT_COEF');
|
|
Configuration::deleteByName('MR_LANGUAGE');
|
|
Configuration::deleteByName('MONDIAL_RELAY_1_4');
|
|
Configuration::deleteByName('MONDIAL_RELAY_INSTALL_UPDATE_1');
|
|
|
|
Configuration::updateValue('MONDIAL_RELAY', $upgrade_version);
|
|
|
|
$methods = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'mr_method`');
|
|
if (count($methods))
|
|
{
|
|
$query = '
|
|
INSERT INTO `'._DB_PREFIX_.'mr_method_shop`
|
|
(id_mr_method, id_shop) VALUES ';
|
|
|
|
foreach ($methods as $method)
|
|
$query .= '('.(int)$method['id_mr_method'].', '.(int)$object->account_shop['id_shop'].'),';
|
|
$query = trim($query, ',');
|
|
if (!Db::getInstance()->execute($query))
|
|
$object->upgrade_detail[$upgrade_version][] = $object->l('Can\'t update table mr_method_shop');
|
|
|
|
}
|
|
|
|
if (!empty($object->installed_version))
|
|
{
|
|
if ($object->installed_version < '1.4')
|
|
Db::getInstance()->execute('
|
|
UPDATE `'._DB_PREFIX_.'carrier`
|
|
SET
|
|
`shipping_external` = 0,
|
|
`need_range` = 1,
|
|
`external_module_name` = "mondialrelay",
|
|
`shipping_method` = 1
|
|
WHERE `id_carrier`
|
|
IN (SELECT `id_carrier`
|
|
FROM `'._DB_PREFIX_.'mr_method`)');
|
|
}
|
|
|
|
/* Try to register the new hook since 1.7 */
|
|
if (!$object->isRegisteredInHook('newOrder'))
|
|
$object->registerHook('newOrder');
|
|
if (!$object->isRegisteredInHook('BackOfficeHeader'))
|
|
$object->registerHook('BackOfficeHeader');
|
|
|
|
if (!$object->isRegisteredInHook('header'))
|
|
$object->registerHook('header');
|
|
|
|
return (bool)count($object->upgrade_detail[$upgrade_version]);
|
|
} |