diff --git a/install/index.php b/install/index.php index 1b503eb2..376ed24e 100644 --- a/install/index.php +++ b/install/index.php @@ -28,10 +28,10 @@ if (hesk_dbNumRows($tableSql) > 0) { $migration_map = array( // Pre-1.4.0 to 1.5.0 did not have a settings table - '1.6.0' => 22, '1.6.1' => 23, '1.7.0' => 27, '2.0.0' => 37, '2.0.1' => 38, '2.1.0' => 39, '2.1.1' => 42, - '2.2.0' => 47, '2.2.1' => 48, '2.3.0' => 68, '2.3.1' => 69, '2.3.2' => 70, '2.4.0' => 86, '2.4.1' => 87, - '2.4.2' => 88, /*TODO*/ '2.5.0' => 54, '2.5.1' => 55, '2.5.2' => 56, '2.5.3' => 57, '2.5.4' => 58, '2.5.5' => 59, - '2.6.0' => 66, '2.6.1' => 67, '2.6.2' => 69, '2.6.3' => 70, '2.6.4' => 71, '3.0.0' => 75, '3.0.1' => 76, + '1.6.0' => 22, '1.6.1' => 23, '1.7.0' => 27, '2.0.0' => 37, '2.0.1' => 38, '2.1.0' => 39, '2.1.1' => 42, + '2.2.0' => 47, '2.2.1' => 48, '2.3.0' => 68, '2.3.1' => 69, '2.3.2' => 70, '2.4.0' => 86, '2.4.1' => 87, + '2.4.2' => 88, '2.5.0' => 98, '2.5.1' => 99, '2.5.2' => 100, '2.5.3' => 101, '2.5.4' => 102, '2.5.5' => 103, + '2.6.0' => 121, '2.6.1' => 122, '2.6.2' => 125, '2.6.3' => 126, '2.6.4' => 127, /*TODO*/ '3.0.0' => 75, '3.0.1' => 76, '3.0.2' => 78, '3.0.3' => 79, '3.0.4' => 80, '3.0.5' => 81, '3.0.6' => 82, '3.0.7' => 83, '3.1.0' => 90, '3.1.1' => 91 ); diff --git a/install/migrations/core.php b/install/migrations/core.php index 39439976..60e7b860 100644 --- a/install/migrations/core.php +++ b/install/migrations/core.php @@ -124,40 +124,58 @@ function getAllMigrations() { //2.4.2 87 => new LegacyUpdateMigration('2.4.2', '2.4.1'), //2.5.0 - // TODO - 51 => new \v250\MigrateSettingsToDatabase(), - 52 => new \v250\AddUserAgentAndScreenResToTickets(), - 53 => new \v250\AddNavbarTitleUrl(), - 54 => new LegacyUpdateMigration('2.5.0', '2.4.2'), + 88 => new \v250\MigrateSettingsToDatabase(), + 89 => new \v250\AddUserAgentAndScreenResToTickets\AddUserAgentToTickets(), + 90 => new \v250\AddUserAgentAndScreenResToTickets\AddUserAgentToStageTickets(), + 91 => new \v250\AddUserAgentAndScreenResToTickets\AddScreenResWidthToTickets(), + 92 => new \v250\AddUserAgentAndScreenResToTickets\AddScreenResHeightToTickets(), + 93 => new \v250\AddUserAgentAndScreenResToTickets\AddScreenResWidthToStageTickets(), + 94 => new \v250\AddUserAgentAndScreenResToTickets\AddScreenResHeightToStageTickets(), + 95 => new \v250\AddUserAgentAndScreenResToTickets\InsertSetting(), + 96 => new \v250\AddNavbarTitleUrl(), + 97 => new LegacyUpdateMigration('2.5.0', '2.4.2'), //2.5.1 - 55 => new LegacyUpdateMigration('2.5.1', '2.5.0'), + 98 => new LegacyUpdateMigration('2.5.1', '2.5.0'), //2.5.2 - 56 => new LegacyUpdateMigration('2.5.2', '2.5.1'), + 99 => new LegacyUpdateMigration('2.5.2', '2.5.1'), //2.5.3 - 57 => new LegacyUpdateMigration('2.5.3', '2.5.2'), + 100 => new LegacyUpdateMigration('2.5.3', '2.5.2'), //2.5.4 - 58 => new LegacyUpdateMigration('2.5.4', '2.5.3'), + 101 => new LegacyUpdateMigration('2.5.4', '2.5.3'), //2.5.5 - 59 => new LegacyUpdateMigration('2.5.5', '2.5.4'), + 102 => new LegacyUpdateMigration('2.5.5', '2.5.4'), //2.6.0 - 60 => new \v260\AddApiTables(), - 61 => new \v260\AddLoggingTable(), - 62 => new \v260\AddTempAttachmentTable(), - 63 => new \v260\AddCalendarModule(), - 64 => new \v260\AddPrimaryKeyToSettings(), - 65 => new \v260\ConvertStatusPropertiesToInts(), - 66 => new LegacyUpdateMigration('2.6.0', '2.5.5'), + 103 => new \v260\AddApiTables\CreateTable(), + 104 => new \v260\AddApiTables\InsertSetting(), + 105 => new \v260\AddLoggingTable(), + 106 => new \v260\AddTempAttachmentTable(), + 107 => new \v260\AddCalendarModule\CreateCalendarEventTable(), + 108 => new \v260\AddCalendarModule\CreateCalendarEventReminderTable(), + 109 => new \v260\AddCalendarModule\AddDueDateColumnToTickets(), + 110 => new \v260\AddCalendarModule\AddOverdueEmailSentColumnToTickets(), + 111 => new \v260\AddCalendarModule\AddColorColumnToCategories(), + 112 => new \v260\AddCalendarModule\AddUsageColumnToCategories(), + 113 => new \v260\AddCalendarModule\AddNotifyOverdueUnassignedColumnToUsers(), + 114 => new \v260\AddCalendarModule\AddDefaultCalendarViewToUsers(), + 115 => new \v260\AddCalendarModule\InsertEnableCalendarSetting(), + 116 => new \v260\AddCalendarModule\InsertFirstDayOfWeekSetting(), + 117 => new \v260\AddCalendarModule\InsertDefaultCalendarViewSetting(), + 118 => new \v260\AddPrimaryKeyToSettings(), + 119 => new \v260\ConvertStatusPropertiesToInts(), + 120 => new LegacyUpdateMigration('2.6.0', '2.5.5'), //2.6.1 - 67 => new LegacyUpdateMigration('2.6.1', '2.6.0'), + 121 => new LegacyUpdateMigration('2.6.1', '2.6.0'), //2.6.2 - 68 => new \v262\AddMissingColumnsToStageTickets(), - 69 => new LegacyUpdateMigration('2.6.2', '2.6.1'), + 122 => new \v262\AddMissingColumnsToStageTickets\AddDueDateColumn(), + 123 => new \v262\AddMissingColumnsToStageTickets\AddOverdueEmailSentColumn(), + 124 => new LegacyUpdateMigration('2.6.2', '2.6.1'), //2.6.3 - 70 => new LegacyUpdateMigration('2.6.3', '2.6.2'), + 125 => new LegacyUpdateMigration('2.6.3', '2.6.2'), //2.6.4 - 71 => new LegacyUpdateMigration('2.6.4', '2.6.3'), + 126 => new LegacyUpdateMigration('2.6.4', '2.6.3'), //3.0.0 - 72 => new \v300\MigrateHeskCustomStatuses(), + 127 => new \v300\MigrateHeskCustomStatuses(), + // TODO 73 => new \v300\MigrateAutorefreshOption(), 74 => new \v300\AddColorSchemeSetting(), 75 => new LegacyUpdateMigration('3.0.0', '2.6.4'), diff --git a/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResHeightToStageTickets.php b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResHeightToStageTickets.php new file mode 100644 index 00000000..26ffb307 --- /dev/null +++ b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResHeightToStageTickets.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` ADD COLUMN `screen_resolution_height` INT"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `screen_resolution_height`"); + } +} \ No newline at end of file diff --git a/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResHeightToTickets.php b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResHeightToTickets.php new file mode 100644 index 00000000..39ca596e --- /dev/null +++ b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResHeightToTickets.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `screen_resolution_height` INT"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `screen_resolution_height`"); + } +} \ No newline at end of file diff --git a/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResWidthToStageTickets.php b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResWidthToStageTickets.php new file mode 100644 index 00000000..da2b0255 --- /dev/null +++ b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResWidthToStageTickets.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` ADD COLUMN `screen_resolution_width` INT"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `screen_resolution_width`"); + } +} \ No newline at end of file diff --git a/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResWidthToTickets.php b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResWidthToTickets.php new file mode 100644 index 00000000..d9763b8a --- /dev/null +++ b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddScreenResWidthToTickets.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `screen_resolution_width` INT"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `screen_resolution_width`"); + } +} \ No newline at end of file diff --git a/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddUserAgentToStageTickets.php b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddUserAgentToStageTickets.php new file mode 100644 index 00000000..7d48cbc6 --- /dev/null +++ b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddUserAgentToStageTickets.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` ADD COLUMN `user_agent` TEXT"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `user_agent`"); + } +} \ No newline at end of file diff --git a/install/migrations/v250/AddUserAgentAndScreenResToTickets.php b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddUserAgentToTickets.php similarity index 95% rename from install/migrations/v250/AddUserAgentAndScreenResToTickets.php rename to install/migrations/v250/AddUserAgentAndScreenResToTickets/AddUserAgentToTickets.php index c3bc9778..dbef5961 100644 --- a/install/migrations/v250/AddUserAgentAndScreenResToTickets.php +++ b/install/migrations/v250/AddUserAgentAndScreenResToTickets/AddUserAgentToTickets.php @@ -1,9 +1,9 @@ executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `user_agent` TEXT"); diff --git a/install/migrations/v250/AddUserAgentAndScreenResToTickets/InsertSetting.php b/install/migrations/v250/AddUserAgentAndScreenResToTickets/InsertSetting.php new file mode 100644 index 00000000..6810fe06 --- /dev/null +++ b/install/migrations/v250/AddUserAgentAndScreenResToTickets/InsertSetting.php @@ -0,0 +1,15 @@ +executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('display_user_agent_information', '0')"); + } + + function down($hesk_settings) { + $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'display_user_agent_information'"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddApiTables.php b/install/migrations/v260/AddApiTables/CreateTable.php similarity index 59% rename from install/migrations/v260/AddApiTables.php rename to install/migrations/v260/AddApiTables/CreateTable.php index 24ad1667..93b0f927 100644 --- a/install/migrations/v260/AddApiTables.php +++ b/install/migrations/v260/AddApiTables/CreateTable.php @@ -1,12 +1,11 @@ executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('public_api', '0')"); $this->executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "user_api_tokens` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_id` INT NOT NULL, @@ -14,7 +13,6 @@ class AddApiTables extends \AbstractMigration { } function down($hesk_settings) { - $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'public_api'"); $this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "user_api_tokens`"); } } \ No newline at end of file diff --git a/install/migrations/v260/AddApiTables/InsertSetting.php b/install/migrations/v260/AddApiTables/InsertSetting.php new file mode 100644 index 00000000..c4ad2fe0 --- /dev/null +++ b/install/migrations/v260/AddApiTables/InsertSetting.php @@ -0,0 +1,15 @@ +executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('public_api', '0')"); + } + + function down($hesk_settings) { + $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'public_api'"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule.php b/install/migrations/v260/AddCalendarModule.php deleted file mode 100644 index 4e1344ad..00000000 --- a/install/migrations/v260/AddCalendarModule.php +++ /dev/null @@ -1,49 +0,0 @@ -executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` ( - `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - `start` DATETIME, - `end` DATETIME, - `all_day` ENUM('0','1') NOT NULL, - `name` VARCHAR(255) NOT NULL, - `location` VARCHAR(255), - `comments` MEDIUMTEXT, - `category` INT NOT NULL) ENGINE = MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"); - $this->executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event_reminder` ( - `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - `user_id` INT NOT NULL, - `event_id` INT NOT NULL, - `amount` INT NOT NULL, - `unit` INT NOT NULL, - `email_sent` ENUM('0', '1') NOT NULL DEFAULT '0') ENGINE = MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `due_date` DATETIME"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `overdue_email_sent` ENUM('0','1')"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `color` VARCHAR(7)"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `usage` INT NOT NULL DEFAULT 0"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` ADD COLUMN `notify_overdue_unassigned` ENUM('0', '1') NOT NULL DEFAULT '0' AFTER `notify_note_unassigned`"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` ADD COLUMN `default_calendar_view` INT NOT NULL DEFAULT '0' AFTER `notify_note_unassigned`"); - $this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('enable_calendar', '1')"); - $this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('first_day_of_week', '0')"); - $this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('default_calendar_view', 'month')"); - } - - function down($hesk_settings) { - $this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event`"); - $this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event_reminder`"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `due_date`"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `overdue_email_sent`"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `color`"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `usage`"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `notify_overdue_unassigned`"); - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `default_calendar_view`"); - $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'enable_calendar'"); - $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'first_day_of_week'"); - $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'default_calendar_view'"); - } -} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/AddColorColumnToCategories.php b/install/migrations/v260/AddCalendarModule/AddColorColumnToCategories.php new file mode 100644 index 00000000..fa54da12 --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/AddColorColumnToCategories.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `color` VARCHAR(7)"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `color`"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/AddDefaultCalendarViewToUsers.php b/install/migrations/v260/AddCalendarModule/AddDefaultCalendarViewToUsers.php new file mode 100644 index 00000000..f4837384 --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/AddDefaultCalendarViewToUsers.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` ADD COLUMN `default_calendar_view` INT NOT NULL DEFAULT '0' AFTER `notify_note_unassigned`"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `default_calendar_view`"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/AddDueDateColumnToTickets.php b/install/migrations/v260/AddCalendarModule/AddDueDateColumnToTickets.php new file mode 100644 index 00000000..fad0c46d --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/AddDueDateColumnToTickets.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `due_date` DATETIME"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `due_date`"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/AddNotifyOverdueUnassignedColumnToUsers.php b/install/migrations/v260/AddCalendarModule/AddNotifyOverdueUnassignedColumnToUsers.php new file mode 100644 index 00000000..beccebd7 --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/AddNotifyOverdueUnassignedColumnToUsers.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` ADD COLUMN `notify_overdue_unassigned` ENUM('0', '1') NOT NULL DEFAULT '0' AFTER `notify_note_unassigned`"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `notify_overdue_unassigned`"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/AddOverdueEmailSentColumnToTickets.php b/install/migrations/v260/AddCalendarModule/AddOverdueEmailSentColumnToTickets.php new file mode 100644 index 00000000..192b6292 --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/AddOverdueEmailSentColumnToTickets.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `overdue_email_sent` ENUM('0','1')"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `overdue_email_sent`"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/AddUsageColumnToCategories.php b/install/migrations/v260/AddCalendarModule/AddUsageColumnToCategories.php new file mode 100644 index 00000000..98b1acb5 --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/AddUsageColumnToCategories.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `usage` INT NOT NULL DEFAULT 0"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `usage`"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/CreateCalendarEventReminderTable.php b/install/migrations/v260/AddCalendarModule/CreateCalendarEventReminderTable.php new file mode 100644 index 00000000..f0ce9030 --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/CreateCalendarEventReminderTable.php @@ -0,0 +1,21 @@ +executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event_reminder` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, + `user_id` INT NOT NULL, + `event_id` INT NOT NULL, + `amount` INT NOT NULL, + `unit` INT NOT NULL, + `email_sent` ENUM('0', '1') NOT NULL DEFAULT '0') ENGINE = MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"); + } + + function down($hesk_settings) { + $this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event_reminder`"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/CreateCalendarEventTable.php b/install/migrations/v260/AddCalendarModule/CreateCalendarEventTable.php new file mode 100644 index 00000000..46e37eab --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/CreateCalendarEventTable.php @@ -0,0 +1,23 @@ +executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, + `start` DATETIME, + `end` DATETIME, + `all_day` ENUM('0','1') NOT NULL, + `name` VARCHAR(255) NOT NULL, + `location` VARCHAR(255), + `comments` MEDIUMTEXT, + `category` INT NOT NULL) ENGINE = MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"); + } + + function down($hesk_settings) { + $this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event`"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/InsertDefaultCalendarViewSetting.php b/install/migrations/v260/AddCalendarModule/InsertDefaultCalendarViewSetting.php new file mode 100644 index 00000000..2c6edd5d --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/InsertDefaultCalendarViewSetting.php @@ -0,0 +1,15 @@ +executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('default_calendar_view', 'month')"); + } + + function down($hesk_settings) { + $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'default_calendar_view'"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/InsertEnableCalendarSetting.php b/install/migrations/v260/AddCalendarModule/InsertEnableCalendarSetting.php new file mode 100644 index 00000000..18d16733 --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/InsertEnableCalendarSetting.php @@ -0,0 +1,15 @@ +executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('enable_calendar', '1')"); + } + + function down($hesk_settings) { + $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'enable_calendar'"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddCalendarModule/InsertFirstDayOfWeekSetting.php b/install/migrations/v260/AddCalendarModule/InsertFirstDayOfWeekSetting.php new file mode 100644 index 00000000..a157bbc0 --- /dev/null +++ b/install/migrations/v260/AddCalendarModule/InsertFirstDayOfWeekSetting.php @@ -0,0 +1,15 @@ +executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('first_day_of_week', '0')"); + } + + function down($hesk_settings) { + $this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'first_day_of_week'"); + } +} \ No newline at end of file diff --git a/install/migrations/v260/AddPrimaryKeyToSettings.php b/install/migrations/v260/AddPrimaryKeyToSettings.php index f77bc234..7298cbac 100644 --- a/install/migrations/v260/AddPrimaryKeyToSettings.php +++ b/install/migrations/v260/AddPrimaryKeyToSettings.php @@ -10,5 +10,6 @@ class AddPrimaryKeyToSettings extends \AbstractMigration { } function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` DROP PRIMARY KEY"); } } \ No newline at end of file diff --git a/install/migrations/v262/AddMissingColumnsToStageTickets/AddDueDateColumn.php b/install/migrations/v262/AddMissingColumnsToStageTickets/AddDueDateColumn.php new file mode 100644 index 00000000..06989103 --- /dev/null +++ b/install/migrations/v262/AddMissingColumnsToStageTickets/AddDueDateColumn.php @@ -0,0 +1,15 @@ +executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` ADD COLUMN `due_date` DATETIME"); + } + + function down($hesk_settings) { + $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `due_date`"); + } +} \ No newline at end of file diff --git a/install/migrations/v262/AddMissingColumnsToStageTickets.php b/install/migrations/v262/AddMissingColumnsToStageTickets/AddOverdueEmailSentColumn.php similarity index 52% rename from install/migrations/v262/AddMissingColumnsToStageTickets.php rename to install/migrations/v262/AddMissingColumnsToStageTickets/AddOverdueEmailSentColumn.php index 702c3878..9e8d9ac1 100644 --- a/install/migrations/v262/AddMissingColumnsToStageTickets.php +++ b/install/migrations/v262/AddMissingColumnsToStageTickets/AddOverdueEmailSentColumn.php @@ -1,17 +1,15 @@ executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` ADD COLUMN `due_date` DATETIME"); $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` ADD COLUMN `overdue_email_sent` ENUM('0','1')"); } function down($hesk_settings) { - $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `due_date`"); $this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `overdue_email_sent`"); } } \ No newline at end of file