PluginProbe
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress / 10.1.4
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress v10.1.4
11.1.1 11.1.0 11.0.5 11.0.4 11.0.3 11.0.2 11.0.1 11.0.0 10.11.1 10.11.0 10.10.2 10.10.1 10.10.0 10.9.1 trunk 10.0.0 10.0.1 10.1.0 10.1.1 10.1.2 10.1.3 10.1.4 10.2.0 10.2.1 10.2.2 All 62 releases
acymailing / back / Helpers / Update / Patchv10.php

Patchv10.php in AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress 10.1.4, at back/Helpers/Update/Patchv10.php

101 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace AcyMailing\Helpers\Update;
4
5 trait Patchv10
6 {
7 private function updateFor1000(): void
8 {
9 if ($this->isPreviousVersionAtLeast('10.0.0')) {
10 return;
11 }
12
13 $this->updateQuery('ALTER TABLE #__acym_queue ADD COLUMN `params` TEXT NULL');
14
15 $scenarioTable = 'CREATE TABLE IF NOT EXISTS `#__acym_scenario` (
16 `id` INT NOT NULL AUTO_INCREMENT,
17 `trigger` VARCHAR(255) NOT NULL,
18 `name` VARCHAR(255) NOT NULL,
19 `active` TINYINT(1) NOT NULL DEFAULT 0,
20 `trigger_params` TEXT NULL,
21 `trigger_once` TINYINT(1) NOT NULL DEFAULT 0,
22 PRIMARY KEY (`id`)
23 )
24 ENGINE = InnoDB;';
25
26 $scenarioStepTable = 'CREATE TABLE IF NOT EXISTS `#__acym_scenario_step` (
27 `id` VARCHAR(30) NOT NULL,
28 `previous_id` VARCHAR(30) NULL,
29 `type` VARCHAR(30) NOT NULL,
30 `params` TEXT NULL,
31 `scenario_id` INT NOT NULL,
32 `condition_valid` TINYINT(1) NULL,
33 PRIMARY KEY (`id`),
34 CONSTRAINT `#__fk_acym_scenario_step1`
35 FOREIGN KEY (`scenario_id`)
36 REFERENCES `#__acym_scenario`(`id`)
37 ON DELETE NO ACTION
38 ON UPDATE NO ACTION
39 )
40 ENGINE = InnoDB;';
41
42 $scenarioProcessTable = 'CREATE TABLE IF NOT EXISTS `#__acym_scenario_process` (
43 `id` INT NOT NULL AUTO_INCREMENT,
44 `scenario_id` INT NOT NULL,
45 `user_id` INT NOT NULL,
46 `start_at` DATETIME NOT NULL,
47 `end_at` DATETIME NULL,
48 PRIMARY KEY (`id`),
49 CONSTRAINT `#__fk_acym_scenario_process1`
50 FOREIGN KEY (`scenario_id`)
51 REFERENCES `#__acym_scenario`(`id`)
52 ON DELETE NO ACTION
53 ON UPDATE NO ACTION,
54 CONSTRAINT `#__fk_acym_scenario_process2`
55 FOREIGN KEY (`user_id`)
56 REFERENCES `#__acym_user`(`id`)
57 ON DELETE NO ACTION
58 ON UPDATE NO ACTION
59 )
60 ENGINE = InnoDB;';
61
62 $scenarioQueueTable = 'CREATE TABLE IF NOT EXISTS `#__acym_scenario_queue` (
63 `id` INT NOT NULL AUTO_INCREMENT,
64 `scenario_process_id` INT NOT NULL,
65 `step_id` VARCHAR(30) NOT NULL,
66 `execution_date` DATETIME NOT NULL,
67 PRIMARY KEY (`id`),
68 CONSTRAINT `#__fk_acym_scenario_queue1`
69 FOREIGN KEY (`scenario_process_id`)
70 REFERENCES `#__acym_scenario_process`(`id`)
71 ON DELETE NO ACTION
72 ON UPDATE NO ACTION
73 )
74 ENGINE = InnoDB;';
75
76 $scenarioHistoryLineTable = 'CREATE TABLE IF NOT EXISTS `#__acym_scenario_history_line` (
77 `id` INT NOT NULL AUTO_INCREMENT,
78 `scenario_process_id` INT NOT NULL,
79 `date` DATETIME NOT NULL,
80 `type` VARCHAR(10) NOT NULL,
81 `params` TEXT NULL,
82 `result` TEXT NULL,
83 `log` TEXT NULL,
84 `scenario_step_id` VARCHAR(40) NULL,
85 PRIMARY KEY (`id`),
86 CONSTRAINT `#__fk_acym_scenario_history_line1`
87 FOREIGN KEY (`scenario_process_id`)
88 REFERENCES `#__acym_scenario_process`(`id`)
89 ON DELETE NO ACTION
90 ON UPDATE NO ACTION
91 )
92 ENGINE = InnoDB;';
93
94 $this->updateQuery($scenarioTable);
95 $this->updateQuery($scenarioStepTable);
96 $this->updateQuery($scenarioProcessTable);
97 $this->updateQuery($scenarioQueueTable);
98 $this->updateQuery($scenarioHistoryLineTable);
99 }
100 }
101