Files
kalsport.pl/modules/pdgooglemerchantcenterpro/models/GoogleMerchantCenterProModelTaxonomy.php
2024-11-05 12:22:50 +01:00

160 lines
5.6 KiB
PHP

<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
class GoogleMerchantCenterProModelTaxonomy extends ObjectModel
{
public $imported = 0;
public $import = 0;
public $taxonomy_lang;
public $languages;
public $countries;
public $currencies;
public $date_add = '0000-00-00 00:00:00';
public static $definition = array(
'table' => 'pdgooglemerchantcenterpro_taxonomy',
'primary' => 'id_pdgooglemerchantcenterpro_taxonomy',
'multilang_shop' => false,
'fields' => array(
'taxonomy_lang' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'languages' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'currencies' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'countries' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'import' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'imported' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDateFormat'),
),
);
public function add($autodate = false, $null_values = false)
{
return parent::add($autodate, $null_values);
}
public function delete()
{
if ((int)$this->id === 0) {
return false;
}
return parent::delete();
}
public function update($autodate = false, $null_values = false)
{
if ((int)$this->id === 0) {
return false;
}
return parent::update($autodate, $null_values);
}
/**
* Creates tables
*/
public static function createTables()
{
return Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy` (
`id_pdgooglemerchantcenterpro_taxonomy` int(11) unsigned NOT NULL AUTO_INCREMENT,
`taxonomy_lang` varchar(5) NOT NULL,
`languages` text NOT NULL,
`currencies` text NOT NULL,
`countries` text NOT NULL,
`imported` tinyint(1) unsigned NOT NULL DEFAULT \'0\',
`import` tinyint(1) unsigned NOT NULL DEFAULT \'0\',
`date_add` datetime,
PRIMARY KEY (`id_pdgooglemerchantcenterpro_taxonomy`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8;
');
}
public static function dropTables()
{
$sql = 'DROP TABLE IF EXISTS
`'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy`';
return Db::getInstance()->execute($sql);
}
public static function createTablesTaxonomyData()
{
return Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_data` (
`id_taxonomy_data` int(11) unsigned NOT NULL AUTO_INCREMENT,
`value` text NOT NULL,
`lang` varchar(5) NOT NULL,
PRIMARY KEY (`id_taxonomy_data`), KEY `lang` (`lang`), FULLTEXT KEY `fulltext_index` (`value`)
) ENGINE=MyISAM DEFAULT CHARSET=UTF8;
');
}
public static function dropTablesTaxonomyData()
{
$sql = 'DROP TABLE IF EXISTS
`'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_data`';
return Db::getInstance()->execute($sql);
}
public static function addTaxonomyCorelations()
{
$return = false;
$module = Module::getInstanceByName('pdgooglemerchantcenterpro');
foreach ($module->googleTaxonomiesCorelations as $taxonomy_lang => $v) {
$data = '(\''.pSQL($taxonomy_lang).'\',\''.pSQL($v['languages']).'\',\''.pSQL($v['currencies']).'\',\''.pSQL($v['countries']).'\',0,0,\''.'0000-00-00 00:00:00'.'\')';
$return = Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy` (`taxonomy_lang`, `languages`, `currencies`, `countries`, `imported`, `import`, `date_add`)
VALUES '.$data);
}
return $return;
}
/**
* Creates tables
*/
public static function createTablesTaxonomyCategory()
{
return Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_category` (
`id_category` int(11) NOT NULL,
`txt_taxonomy` text NOT NULL,
`lang` varchar(5) NOT NULL,
KEY `id_category` (`id_category`,`lang`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8;
');
}
public static function dropTablesTaxonomyCategory()
{
$sql = 'DROP TABLE IF EXISTS
`'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_category`';
return Db::getInstance()->execute($sql);
}
}