* @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 */ if (!defined('_PS_VERSION_')) exit; function upgrade_module_3_0($object, $install = false) { $paypal_version = Configuration::get('PAYPAL_VERSION'); if ((!$paypal_version) || (empty($paypal_version)) || ($paypal_version < $object->version)) { /* Update hooks */ $object->registerHook('payment'); $object->registerHook('paymentReturn'); $object->registerHook('shoppingCartExtra'); $object->registerHook('backBeforePayment'); $object->registerHook('cancelProduct'); $object->registerHook('productFooter'); $object->registerHook('header'); $object->registerHook('adminOrder'); $object->registerHook('backOfficeHeader'); Configuration::updateValue('PAYPAL_VERSION', $object->version); $payment_method = (int)Configuration::get('PAYPAL_PAYMENT_METHOD'); $payment_methods = array(0 => WPS, 2 => HSS, 1 => ECS); Configuration::updateValue('PAYPAL_PAYMENT_METHOD', (int)$payment_methods[$payment_method]); Configuration::updateValue('PAYPAL_BUSINESS_ACCOUNT', Configuration::get('PAYPAL_BUSINESS')); Configuration::updateValue('PAYPAL_BUSINESS', 0); } if (count(Db::getInstance()->ExecuteS('SHOW TABLES FROM `'._DB_NAME_.'` LIKE \''._DB_PREFIX_.'paypal_order\'')) > 0) { $columns = array(array('name' => 'id_invoice', 'type' => 'varchar(255) DEFAULT NULL'), array('name' => 'currency', 'type' => 'varchar(10) NOT NULL'), array('name' => 'total_paid', 'type' => 'varchar(50) NOT NULL'), array('name' => 'shipping', 'type' => 'varchar(50) NOT NULL'), array('name' => 'payment_date', 'type' => 'varchar(50) NOT NULL'), array('name' => 'capture', 'type' => 'int(2) NOT NULL')); foreach ($columns as $column) if (!Db::getInstance()->ExecuteS('SHOW COLUMNS FROM `'._DB_PREFIX_.'paypal_order` LIKE \''.pSQL($column['name']).'\'')) Db::getInstance()->Execute('ALTER TABLE `'._DB_PREFIX_.'paypal_order` ADD `'.pSQL($column['name']).'` '.$column['type']); } if (count(Db::getInstance()->ExecuteS('SHOW TABLES FROM `'._DB_NAME_.'` LIKE \''._DB_PREFIX_.'paypal_customer\'')) <= 0) { Db::getInstance()->Execute(' CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'paypal_customer` ( `id_paypal_customer` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_customer` int(10) unsigned NOT NULL, `paypal_email` varchar(255) NOT NULL, PRIMARY KEY (`id_paypal_customer`) ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8 AUTO_INCREMENT=1'); } return true; }