<?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 Version20220127091547 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
$this->addSql("
INSERT INTO `std_blocks` (`created_by`, `updated_by`, `machine_name`, `is_active`, `created_date`, `updated_date`, `name`, `settings`)
VALUES (1, 1, 'B32_newsletter', 1, now(), now(), 'Newsletter', '{\"webpackEntries\": [\"B32_newsletter\",\"validation_messages_%locale%\"]}');
");
//Settings
$this->addSql("
SET @block_id=(SELECT id FROM std_blocks WHERE machine_name='B32_newsletter');
INSERT INTO `std_blocks_settings` (`machine_name`, `block_id`, `created_by`, `updated_by`, `name`, `setting_type`, `is_active`, `created_date`, `updated_date`, `order_value`, `settings`) VALUES
('disabled_block', @block_id, 1, 1, 'Disabled block', 'CHECKBOX', 1, now(), now(), -1, NULL),
('separator_styles', @block_id, '1', '1', 'Styles', 'SEPARATOR', '1', now(), now(), '1', NULL),
('extra_block_id', @block_id, '1', '1', 'Block ID', 'INPUT', '1', now(), now(), '2', NULL),
('extra_class', @block_id, '1', '1', 'Extra Class', 'INPUT', '1', now(), now(), '3', NULL),
('separator_spacings', @block_id, '1', '1', 'Spacings', 'SEPARATOR', '1', now(), now(), '4', NULL),
('margin', @block_id, '1', '1', 'Margin [0px 0px 0px 0px]', 'INPUT', '1', now(), now(), '5', NULL),
('padding', @block_id, '1', '1', 'Padding [0px 0px 0px 0px]', 'INPUT', '1', now(), now(), '6', NULL);
");
//Components
$this->addSql("
SET @block_id=(SELECT id FROM std_blocks WHERE machine_name='B32_newsletter');
INSERT INTO `std_blocks_components` (`machine_name`, `block_id`, `created_by`, `updated_by`, `component_type`, `settings`, `order_value`, `created_date`, `updated_date`, `name`, `is_repeatable`) VALUES
('title', @block_id, '1', '1', 'INPUT', NULL, '1', now(), now(), 'Title', '0'),
('placeholder', @block_id, '1', '1', 'INPUT', NULL, '2', now(), now(), 'placeholder', '0'),
('btn', @block_id, '1', '1', 'INPUT', NULL, '3', now(), now(), 'Label bt', '0'),
('privacy', @block_id, '1', '1', 'INPUT', NULL, '4', now(), now(), 'Label privacy', '0'),
('service', @block_id, 1, 1, 'COMBO', '{\"data\": [{\"Mailchimp\": \"mailchimp\"}, {\"E-goi\": \"egoi\"}], \"type\": \"static\", \"default\": \"mailchimp\"}', '5', now(), now(), 'Service', '0'),
('mailchimpurl', @block_id, '1', '1', 'INPUT', NULL, '6', now(), now(), 'Mailchimp url', '0'),
('egoilist', @block_id, '1', '1', 'INPUT', NULL, '7', now(), now(), 'E-goi list', '0'),
('servicehtmlcode', @block_id, '1', '1', 'TEXTAREA_HTML', NULL, '11', now(), now(), 'Service html code', '0');
");
$this->addSql("
SET @id_ct_system=(SELECT id FROM std_content_types WHERE machine_name='system');
INSERT INTO `std_pages` (`template_id`,`created_by`,`updated_by`,`content_type`,`is_active`,`created_date`,`updated_date`,`order_value`,`publish_date`,`expire_date`,`name`,`layout`) VALUES
(NULL, 1, 1, @id_ct_system, 1, now(), now(), NULL, now(), NULL,'Newsletter', NULL);
SET @id_page_newsletter = LAST_INSERT_ID();
INSERT INTO `std_pages_content` (`page_id`, `language_code`, `created_by`, `updated_by`, `is_active`, `created_date`, `updated_date`, `title`, `url`, `canonical_url`, `content`) VALUES
(@id_page_newsletter, 'pt', 1, 1, 1, now(), now(), 'Newsletter', 'newsletter', '/pt/bloco-newsletter', '{\"fields\": {\"1\": {\"skin\": \"\", \"block\": \"B32_newsletter\", \"isMaster\": 0, \"settings\": {\"margin\": \"\", \"padding\": \"\", \"expire_date\": \"\", \"extra_class\": \"\", \"publish_date\": \"\", \"disabled_block\": \"0\", \"extra_block_id\": \"\"}, \"blockname\": \"\", \"components\": {\"btn\": \"Subscrever\", \"title\": \"Subscrever newsletter\", \"privacy\": \"Concordo com os \", \"service\": \"mailchimp\", \"egoilist\": \"\", \"placeholder\": \"Insira o seu email\", \"mailchimpurl\": \"\", \"servicehtmlcode\": \"\"}, \"repeatable\": [], \"templatesBlocksId\": 0}}}');
INSERT INTO `std_pages_pages` VALUES (NULL,@id_page_newsletter, 0, 1, @id_ct_system);
INSERT INTO `std_friendly_url` (`page_id`, `url`, `relation_tree`, `relation_id`, `language_code`, `is_canonical`)
VALUES (@id_page_newsletter, '/pt/newsletter', '[]', NULL, 'pt', 1);
INSERT 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
('newsletterblock_page', 1, 1, '', 'newsletterblock_page', 'newsletterblock_page', 'Newsletter', 'SELECT', 1, 0, 1, NOW(), NOW(), 'Newsletter page', '{\"query\": \"select p.`name` as label,p.id as id from std_pages p INNER JOIN std_content_types sct ON p.content_type = sct.id where sct.machine_name IN ( \'system\')\"}', '');
INSERT 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
('egoiapikey', 1, 1, '', 'egoiapikey', 'egoiapikey', 'Newsletter', 'INPUT', 2, 0, 1, NOW(), NOW(), 'E-goi API key', NULL, '');
");
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql("
SET @block_id=(SELECT id FROM std_blocks WHERE machine_name='B32_newsletter');
DELETE FROM `std_blocks_components` where machine_name IN ('title','placeholder','btn','privacy','service','mailchimpurl','egoilist','servicehtmlcode') and `block_id`= @block_id;
DELETE FROM `std_blocks_settings` where machine_name IN ('disabled_block','separator_styles','extra_block_id','extra_class','separator_spacings','margin','padding') and `block_id`= @block_id;
DELETE FROM `std_blocks` where machine_name = 'B32_newsletter';
");
$this->addSql("
SET @id_page_newsletterblock = (SELECT id FROM std_pages WHERE name='newsletter');
DELETE FROM `std_config` where machine_name IN ('newsletterblock_page','egoiapikey');
DELETE FROM `std_friendly_url` where page_id = @id_page_newsletterblock;
DELETE FROM `std_pages_content` where page_id = @id_page_newsletterblock;
DELETE FROM `std_pages_pages` where page_id = @id_page_newsletterblock;
DELETE FROM `std_pages` where id = @id_page_newsletterblock;
");
}
}