first commit

This commit is contained in:
2025-08-02 16:30:27 +02:00
commit 23646bfcee
14851 changed files with 1750626 additions and 0 deletions

View File

@@ -0,0 +1,207 @@
<?php
class Upgrade20 extends Upgrade
{
public function upgrade()
{
$changed = false;
// jestlize je opravnene udelat upgrade, tak provest
if ($this->checkRightfulness_1()) {
$this->makeChanges_1();
$changed = true;
}
if ($this->checkRightfulness_2()) {
$this->makeChanges_2();
$changed = true;
}
if (findModule('products_parameters')) {
if ($this->checkRightfulness_3()) {
$this->makeChanges_3();
$changed = true;
}
}
if ($this->checkRightfulness_4()) {
$this->makeChanges_4();
$changed = true;
}
if (findModule('automatic_import')) {
if ($this->checkRightfulness_5()) {
$this->makeChanges_5();
$changed = true;
}
}
if ($changed == false) {
$this->noChanges();
}
$this->printResult();
}
// overi, jestli je opravnene provest upgrade
public function checkRightfulness_1()
{
$change = true;
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('products'));
while ($row = sqlFetchArray($SQL)) {
if ($row['Field'] == 'meta_title') {
$change = false;
break;
}
}
return $change;
}
// provest samotny upgrade
public function makeChanges_1()
{
$SQL = sqlQuery('ALTER TABLE '.getTableName('products').' ADD
(`meta_title` VARCHAR(50) NULL DEFAULT NULL,
`meta_description` VARCHAR(50) NULL DEFAULT NULL,
`meta_keywords` VARCHAR(50) NULL DEFAULT NULL)');
$this->upgradeOK();
}
// overi, jestli je opravnene provest upgrade
public function checkRightfulness_2()
{
$change = true;
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('sections'));
while ($row = sqlFetchArray($SQL)) {
if ($row['Field'] == 'meta_title') {
$change = false;
break;
}
}
return $change;
}
// provest samotny upgrade
public function makeChanges_2()
{
$SQL = sqlQuery('ALTER TABLE '.getTableName('sections').' ADD
(`meta_title` VARCHAR(50) NULL DEFAULT NULL,
`meta_description` VARCHAR(50) NULL DEFAULT NULL,
`meta_keywords` VARCHAR(50) NULL DEFAULT NULL)');
$this->upgradeOK();
}
// overi, jestli je opravnene provest upgrade
public function checkRightfulness_3()
{
$change = !$this->checkColumnExists('parameters_products', 'value');
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('parameters_products'));
while ($row = sqlFetchArray($SQL)) {
if ($row['Field'] == 'value' && substr($row['Type'], 0, 7) == 'varchar') {
$change = false;
break;
}
}
return $change;
}
// provest samotny upgrade
public function makeChanges_3()
{
sqlQuery('ALTER TABLE '.getTableName('parameters_products').' ADD INDEX ( `unit` )');
sqlQuery('ALTER TABLE '.getTableName('parameters_products').' CHANGE `value` `value` VARCHAR( 100 ) NOT NULL');
sqlQuery('ALTER TABLE '.getTableName('parameters_products').' ADD INDEX ( `value` )');
sqlQuery('ALTER TABLE '.getTableName('parameters_products').' ADD INDEX ( `id_product` )');
sqlQuery('ALTER TABLE '.getTableName('parameters_products')." CHANGE `id_product` `id_product` INT( 11 ) NOT NULL DEFAULT '0'");
sqlQuery('DELETE pp FROM '.getTableName('parameters_products').' pp
LEFT JOIN '.getTableName('products').' p ON p.id = pp.id_product
WHERE p.id IS NULL');
sqlQuery('ALTER TABLE '.getTableName('parameters_products').' ADD FOREIGN KEY ( `id_product` ) REFERENCES `products` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;');
sqlQuery('ALTER TABLE '.getTableName('parameters_products').' ADD FOREIGN KEY ( `id_parameter` ) REFERENCES `parameters` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;');
sqlQuery('ALTER TABLE '.getTableName('parameters_sections').' ADD FOREIGN KEY ( `id_parameter` ) REFERENCES `parameters` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;');
sqlQuery('ALTER TABLE '.getTableName('parameters_sections').' ADD FOREIGN KEY ( `id_section` ) REFERENCES `sections` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;');
$this->upgradeOK();
}
// overi, jestli je opravnene provest upgrade
public function checkRightfulness_4()
{
$change = true;
$SQL = sqlQuery("SHOW TABLES LIKE '".getTableName('products_variations_sections', false)."'");
if (sqlNumRows($SQL) > 0) {
$change = false;
}
return $change;
}
// provest samotny upgrade
public function makeChanges_4()
{
sqlQuery('CREATE TABLE IF NOT EXISTS '.getTableName('products_variations_sections').' (
`id_label` INT(11) NOT NULL,
`id_section` INT(11) NOT NULL,
`weight` INT(11) DEFAULT NULL,
PRIMARY KEY (`id_label`, `id_section`)
) ENGINE=InnoDB ');
sqlQuery('ALTER TABLE '.getTableName('products_variations_sections').' ADD FOREIGN KEY ( `id_label` ) REFERENCES `products_variations_choices_labels` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;');
sqlQuery('ALTER TABLE '.getTableName('products_variations_sections').' ADD FOREIGN KEY ( `id_section` ) REFERENCES `sections` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;');
$this->upgradeOK();
}
// overi, jestli je opravnene provest upgrade
public function checkRightfulness_5()
{
$change = true;
$SQL = sqlQuery('SHOW FIELDS FROM '.getTableName('import'));
while ($row = sqlFetchArray($SQL)) {
if ($row['Field'] == 'pair') {
$change = false;
break;
}
}
return $change;
}
// provest samotny upgrade
public function makeChanges_5()
{
sqlQuery('ALTER TABLE '.getTableName('import').' ADD `pair` BOOLEAN NOT NULL DEFAULT TRUE');
$this->upgradeOK();
}
}