migrations/Version20240730094225.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20240730094225 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql("
  19.             SET @contenttype_menu_id = (SELECT `id` FROM `std_content_types` WHERE `machine_name` = 'menus');
  20.             INSERT IGNORE INTO `std_content_types_skins` 
  21.             (`content_type_id`, `machine_name`, `name`,  `is_active`, `created_by`, `created_date`, `updated_by`, `updated_date`) 
  22.             VALUES 
  23.             (@contenttype_menu_id, 'menumobilebottombarcontent', 'Menu Mobile Bottom Bar Content', 1, 1, now(), 1, now());
  24.         ");
  25.         $this->addSql("
  26.             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`, `label`, `content`, `language_code`) VALUES 
  27.             ('hidemobileburgermenu', '1', '1', '', 'hidemobileburgermenu', 'hidemobileburgermenu', 'Theme', 'CHECKBOX', '41', '0', 'Hide Mobile Burger Menu',NULL,'');
  28.         ");
  29.         
  30.         $conn $this->connection;
  31.         //get all languages from std_languages
  32.         $sql "SELECT `language_code` FROM `std_languages`";
  33.         $stmt $conn->executeQuery($sql);
  34.         $languages $stmt->fetchAllAssociative();
  35.         //iterate through all the languages and create a menu config for each language        
  36.         foreach ($languages as $language) {
  37.             $languageCode $language['language_code'];           
  38.             $this->addSql("
  39.                 SET @order_value = (SELECT MAX(`order_value`) FROM `std_config` WHERE `parent_name` = 'Menus') + 1
  40.             ");            
  41.             $this->addSql("
  42.                 INSERT IGNORE INTO `std_config` 
  43.                 (`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`)
  44.                 VALUES ('mobilebottombar_content', 1, 1, '', 'mobilebottombar_content', 'mobilebottombar_content', 'Menus', 'SELECT', @order_value, 0, 1, now(), now(), 'Menu Mobile Bottom Bar Content', '{\"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');
  45.             ");
  46.             $this->addSql("
  47.                 INSERT IGNORE INTO `std_config` 
  48.                 (`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`)
  49.                 VALUES ('mobilebottombar_content_skin', 1, 1, 'menumobilebottombarcontent', 'mobilebottombar_content_skin', 'mobilebottombar_content_skin', 'Menus', 'SELECT', @order_value+1, 0, 1, now(), now(), 'Menu Mobile Bottom Bar Content 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');
  50.             ");
  51.         }        
  52.     }
  53.     public function down(Schema $schema): void
  54.     {
  55.         // this down() migration is auto-generated, please modify it to your needs
  56.         $this->addSql("
  57.             DELETE FROM `std_config` WHERE `machine_name` = 'mobilebottombar_content';
  58.         ");
  59.         $this->addSql("
  60.             DELETE FROM `std_config` WHERE `machine_name` = 'mobilebottombar_content_skin';
  61.         ");
  62.         $this->addSql("
  63.             DELETE FROM `std_content_types_skins` WHERE `machine_name` = 'menumobilebottombarcontent';
  64.         ");
  65.     }
  66. }