<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20250725101659 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$conn = $this->connection;
//get all languages from std_languages
$sql = "SELECT `language_code` FROM `std_languages`";
$stmt = $conn->executeQuery($sql);
$languages = $stmt->fetchAllAssociative();
//iterate through all the languages and create a menu config for each language
foreach ($languages as $language) {
$languageCode = $language['language_code'];
$this->addSql("
SET @order_value = (SELECT MAX(`order_value`) FROM `std_config` WHERE `parent_name` = 'Menus') + 1
");
$this->addSql("
INSERT IGNORE INTO `std_config`
(`machine_name`, `created_by`, `updated_by`, `value`, `description_machine_name`, `details_machine_name`, `parent_name`, `variable_type`, `order_value`, `is_hidden`, `is_active`, `created_date`, `updated_date`, `label`, `content`, `language_code`)
VALUES ('menumobile', 1, 1, '', 'menumobile', 'menumobile', 'Menus', 'SELECT', @order_value, 0, 1, now(), now(), 'Menu Mobile', '{\"query\": \"select sp.name as label,spp.id as id from std_pages sp LEFT OUTER JOIN std_pages_pages spp ON sp.id = spp.page_id LEFT OUTER JOIN std_content_types sct ON sp.content_type = sct.id inner join std_pages_content spc on sp.id=spc.page_id and spc.language_code=\'$languageCode\' where sct.machine_name=\'menus\' AND spp.relation_id = 0\"}','$languageCode');
");
$this->addSql("
INSERT IGNORE INTO `std_config`
(`machine_name`, `created_by`, `updated_by`, `value`, `description_machine_name`, `details_machine_name`, `parent_name`, `variable_type`, `order_value`, `is_hidden`, `is_active`, `created_date`, `updated_date`, `label`, `content`, `language_code`)
VALUES ('menumobile_skin', 1, 1, 'menutop', 'menumobile_skin', 'menumobile_skin', 'Menus', 'SELECT', @order_value+1, 0, 1, now(), now(), 'Menu Mobile Skin', '{\"query\": \"select scts.name as label,scts.machine_name as id from std_content_types_skins scts LEFT OUTER JOIN std_content_types sct ON scts.content_type_id = sct.id WHERE sct.machine_name=\'menus\'\"}','$languageCode');
");
}
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql("DELETE FROM `std_config` WHERE `machine_name` IN ('menumobile', 'menumobile_skin');");
}
}