<?php
/**
* 2023 Anvanto
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
*
*  @author    Anvanto <anvantoco@gmail.com>
*  @copyright 2023 Anvanto
*  @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*/

if (!defined('_PS_VERSION_')) {
    exit;
}

function upgrade_module_3_2_0($object)
{
    $object->registerHook('actionProductFlagsModifier');

    $object->tabAdd(
        [
            'class_name' => 'AdminProducttabsLabels',
            'parent' => 'AdminParentModulesSf',
            'name' => 'Product Tabs: Labels',
            'active' => 0
        ],$object);

        $sql[] = 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'an_productextratabs_labels` (
            `id_label` int(10) unsigned NOT NULL AUTO_INCREMENT,
            `special_id_label` varchar(50) NOT NULL,
            `active` tinyint(1) unsigned NOT NULL DEFAULT 1,
            `color` varchar(255) NOT NULL,
            `color_background` varchar(255) NOT NULL,
            `relation` int(10) NOT NULL,
            `position` int(10) NOT NULL,
            PRIMARY KEY(`id_label`)
        ) ENGINE = ' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET = utf8';
        
        $sql[] = 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'an_productextratabs_labels_relations` (
            `id_relation` int(11) NOT NULL AUTO_INCREMENT,
            `type` tinyint(1) unsigned NOT NULL DEFAULT 0,
            `id_label` int(11) NOT NULL,
            `id_type` int(11) NOT NULL,
          PRIMARY KEY (`id_relation`)
        ) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8;';
        
        $sql[] = 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'an_productextratabs_labels_lang` (
            `id_label` int(10) unsigned NOT NULL,
            `label` varchar(255) NOT NULL,
            `id_lang` varchar(255) NOT NULL,
            PRIMARY KEY(`id_label`, `id_lang`)
        ) ENGINE = ' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET = utf8';
    
        $return = true;
        foreach ($sql as $_sql) {
            $return = Db::getInstance()->Execute($_sql);
            if (!$return){
                return false;
            }
        }

    return true;
}