HEX
Server: Apache
System: Linux srv13.cpanelhost.cl 3.10.0-962.3.2.lve1.5.38.el7.x86_64 #1 SMP Thu Jun 18 05:28:41 EDT 2020 x86_64
User: cca63905 (4205)
PHP: 7.3.20
Disabled: NONE
Upload Files
File: /home4/cca63905/www/nueva/modules/roja45quotationsprofree/upgrade/install-1.2.7.php
<?php
/**
 * upgrade_module_1_1_0.
 *
 * @author    Roja45
 * @copyright 2016 Roja45
 * @license   license.txt
 * @category  upgrade_module_1_1_0
 *
 * 2016 ROJA45 - All rights reserved.
 *
 * DISCLAIMER
 * Changing this file will render any support provided by us null and void.
 */

/**
 * upgrade_module_1_1_0.
 *
 * @author    Roja45
 * @copyright 2016 Roja45
 * @license   license.txt
 * @category  Function
 *
 * 2016 ROJA45.COM - All rights reserved.
 *
 * DISCLAIMER
 * Changing this file will render any support provided by us null and void.
 */

if (!defined('_PS_VERSION_')) {
    exit;
}

function upgrade_module_1_2_7($module)
{
    $return = true;

    $list_fields = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'product_quotationspro`');
    $alter_column=true;
    if (is_array($list_fields)) {
        foreach ($list_fields as $field) {
            if ($field['Field']=='id_shop') {
                $alter_column=false;
            }
        }
    }
    if ($alter_column) {
        $sql = 'ALTER TABLE `' . _DB_PREFIX_ . 'product_quotationspro` ADD COLUMN `id_roja45_product_quotation`  INT(10)';
        $return &= Db::getInstance()->execute($sql);

        $sql = 'SELECT * FROM ' . _DB_PREFIX_ . 'product_quotationspro';
        $counter = 1;
        foreach (Db::getInstance()->executeS($sql) as $row) {
            $sql = 'UPDATE ' . _DB_PREFIX_ . 'product_quotationspro SET id_roja45_product_quotation = '. (int) $counter. ' WHERE id_product='. (int) $row['id_product'];
            Db::getInstance()->execute($sql);
            $counter++;
        }

        //$sql = 'UPDATE ' . _DB_PREFIX_ . 'product_quotationspro SET id_shop = '. (int) Shop::getContext();
        //Db::getInstance()->execute($sql);

        $sql = 'ALTER TABLE `' . _DB_PREFIX_ . 'product_quotationspro` CHANGE `id_product` `id_product` INT(10) UNSIGNED NOT NULL';
        $return &= Db::getInstance()->execute($sql);

        $sql = 'ALTER TABLE `' . _DB_PREFIX_ . 'product_quotationspro` ADD COLUMN `id_shop`  INT(10)';
        $return &= Db::getInstance()->execute($sql);

        $sql = 'ALTER TABLE `' . _DB_PREFIX_ . 'product_quotationspro` DROP PRIMARY KEY, ADD PRIMARY KEY (`id_roja45_product_quotation`) USING BTREE;';
        $return &= Db::getInstance()->execute($sql);

        $sql = 'ALTER TABLE `' . _DB_PREFIX_ . 'product_quotationspro` CHANGE `id_roja45_product_quotation` `id_roja45_product_quotation` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;';
        $return &= Db::getInstance()->execute($sql);
    }

    $list_fields = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'roja45_quotationspro`');
    $alter_column=true;
    if (is_array($list_fields)) {
        foreach ($list_fields as $field) {
            if ($field['Field']=='id_request') {
                $alter_column=false;
            }
        }
    }
    if ($alter_column) {
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro` ADD `id_request` INT(10) AFTER `id_carrier`;";
        $return &= Db::getInstance()->execute($sql);
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro` ADD `filename` VARCHAR(255) AFTER `reference`;";
        $return &= Db::getInstance()->execute($sql);
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro` ADD `is_template` TINYINT(1) AFTER `total_charges_wt`;";
        $return &= Db::getInstance()->execute($sql);
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro` ADD `quote_name` VARCHAR(255) AFTER `is_template`;";
        $return &= Db::getInstance()->execute($sql);
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro` ADD `template_name` VARCHAR(255) AFTER `quote_name`;";
        $return &= Db::getInstance()->execute($sql);
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro` ADD `date_add` DATETIME AFTER `template_name`;";
        $return &= Db::getInstance()->execute($sql);
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro` ADD `date_upd` DATETIME AFTER `date_add`;";
        $return &= Db::getInstance()->execute($sql);

        $sql = 'UPDATE `' . _DB_PREFIX_ . 'roja45_quotationspro` SET is_template=0';
        $return &= Db::getInstance()->execute($sql);
        $sql = 'UPDATE `' . _DB_PREFIX_ . 'roja45_quotationspro` SET date_add=received';
        $return &= Db::getInstance()->execute($sql);
        $sql = 'UPDATE `' . _DB_PREFIX_ . 'roja45_quotationspro` SET date_upd=last_update';
        $return &= Db::getInstance()->execute($sql);

        $sql = 'ALTER TABLE `' . _DB_PREFIX_ . 'roja45_quotationspro` DROP `received`';
        $return &= Db::getInstance()->execute($sql);
        $sql = 'ALTER TABLE `' . _DB_PREFIX_ . 'roja45_quotationspro` DROP `last_update`';
        $return &= Db::getInstance()->execute($sql);
    }

    $list_fields = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'roja45_quotationspro_request`');
    $alter_column=true;
    if (is_array($list_fields)) {
        foreach ($list_fields as $field) {
            if ($field['Field']=='form_data') {
                $alter_column=false;
            }
        }
    }
    if ($alter_column) {
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro_request` ADD `form_data` TEXT AFTER `secure_key`;";
        $return &= Db::getInstance()->execute($sql);
    }

    $list_fields = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'roja45_quotationspro_product`');
    $alter_column=true;
    if (is_array($list_fields)) {
        foreach ($list_fields as $field) {
            if ($field['Field']=='comment') {
                $alter_column=false;
            }
        }
    }
    if ($alter_column) {
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro_product` ADD `comment` VARCHAR(1000) AFTER `product_title`;";
        $return &= Db::getInstance()->execute($sql);
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro_product` ADD `date_add` DATETIME AFTER `id_specific_price`;";
        $return &= Db::getInstance()->execute($sql);
        $sql = "ALTER TABLE `"._DB_PREFIX_."roja45_quotationspro_product` ADD `date_upd` DATETIME AFTER `date_add`;";
        $return &= Db::getInstance()->execute($sql);
    }

    return $return;
}