Finished rewriting all of the migrations

master
Mike Koch 7 years ago
parent 2c8a4ad86e
commit 62c059b384
No known key found for this signature in database
GPG Key ID: 9BA5D7F8391455ED

@ -117,5 +117,18 @@ function getAllMigrations() {
80 => new UpdateMigration('3.0.5', '3.0.4'),
81 => new UpdateMigration('3.0.6', '3.0.5'),
82 => new UpdateMigration('3.0.7', '3.0.6'),
//3.1.0
83 => new \v310\AddStackTraceToLogs(),
84 => new \v310\AddCustomNavElements(),
85 => new \v310\AddMoreColorOptionsToCategories(),
86 => new \v310\AddNewLoginSettings(),
87 => new \v310\AddApiUrlRewriteSetting(),
88 => new \v310\ConvertPresetToIndividualColors(),
89 => new UpdateMigration('3.1.0', '3.0.7'),
//3.1.1
90 => new UpdateMigration('3.1.1', '3.1.0'),
//3.2.0
91 => new \v320\AddDescriptionToCategoriesAndCustomFields(),
92 => new \v320\AddAuditTrail(),
);
}

@ -0,0 +1,15 @@
<?php
namespace v310;
class AddApiUrlRewriteSetting extends \AbstractMigration {
function up($hesk_settings) {
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('api_url_rewrite', '0')");
}
function down($hesk_settings) {
$this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'api_url_rewrite'");
}
}

@ -0,0 +1,28 @@
<?php
namespace v310;
class AddCustomNavElements extends \AbstractMigration {
function up($hesk_settings) {
$this->executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_nav_element`
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
image_url TEXT,
font_icon VARCHAR(200),
place INT NOT NULL,
url VARCHAR(500) NOT NULL,
sort INT NOT NULL)");
$this->executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_nav_element_to_text`
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nav_element_id INT NOT NULL,
language VARCHAR(200) NOT NULL,
text VARCHAR(200) NOT NULL,
subtext VARCHAR(200))");
}
function down($hesk_settings) {
$this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_nav_element`");
$this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_nav_element_to_text`");
}
}

@ -0,0 +1,20 @@
<?php
namespace v310;
class AddMoreColorOptionsToCategories extends \AbstractMigration {
function up($hesk_settings) {
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `foreground_color` VARCHAR(7) NOT NULL DEFAULT 'AUTO'");
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `display_border_outline` ENUM('0','1') NOT NULL DEFAULT '0'");
$this->executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` SET `color` = '#FFFFFF' WHERE `color` IS NULL");
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` CHANGE `color` `background_color` VARCHAR(7) NOT NULL DEFAULT '#FFFFFF'");
}
function down($hesk_settings) {
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `foreground_color`");
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `display_border_outline`");
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` CHANGE `background_color` `color` VARCHAR(7) NOT NULL DEFAULT '#FFFFFF'");
}
}

@ -0,0 +1,21 @@
<?php
namespace v310;
class AddNewLoginSettings extends \AbstractMigration {
function up($hesk_settings) {
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('login_background_type', 'color')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('login_background', '#d2d6de')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('login_box_header', 'helpdesk-title')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('login_box_header_image', '')");
}
function down($hesk_settings) {
$this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'login_background_type'");
$this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'login_background'");
$this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'login_box_header'");
$this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'login_box_header_image'");
}
}

@ -0,0 +1,15 @@
<?php
namespace v310;
class AddStackTraceToLogs extends \AbstractMigration {
function up($hesk_settings) {
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "logging` ADD COLUMN `stack_trace` TEXT");
}
function down($hesk_settings) {
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "logging` DROP COLUMN `stack_trace`");
}
}

@ -0,0 +1,125 @@
<?php
namespace v310;
class ConvertPresetToIndividualColors extends \AbstractMigration {
function up($hesk_settings) {
$theme_preset_rs = $this->executeQuery("SELECT `Value` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'admin_color_scheme'");
if (hesk_dbNumRows($theme_preset_rs) === 0) {
$theme = 'skin-blue';
} else {
$theme_preset_row = hesk_dbFetchAssoc($theme_preset_rs);
$theme = $theme_preset_row['Value'];
}
$light_theme = preg_match('/.*-light/g', $theme);
$navbar = array(
'background' => '',
'text' => '#fff',
'text_hover' => '#fff',
'background_hover' => ''
);
$navbar_brand = array(
'background' => '',
'text' => '#fff',
'text_hover' => '#fff',
'background_hover' => ''
);
$sidebar = array(
'background' => $light_theme ? '#f9fafc' : '#222d32',
'text' => $light_theme ? '#444' : '#b8c7ce',
'text_hover' => $light_theme ? '#444' : '#fff',
'background_hover' => $light_theme ? '#f4f4f5' : '#1e282c',
'font_weight' => $light_theme ? 'bold' : 'normal'
);
$sidebar_header = array(
'background' => $light_theme ? '#f9fafc' : '#1a2226',
'text' => $light_theme ? '#848484' : '#4b646f',
);
if (preg_match('/skin-blue.*/', $theme)) {
$navbar['background'] = '#3c8dbc';
$navbar['background_hover'] = '#367fa9';
$navbar_brand['background'] = $light_theme ? '#3c8dbc' : '#367fa9';
$navbar_brand['background_hover'] = $light_theme ? '#3b8ab8' : '#357ca5';
} elseif (preg_match('/skin-yellow.*/', $theme)) {
$navbar['background'] = '#f39c12';
$navbar['background_hover'] = '#da8c10';
$navbar_brand['background'] = $light_theme ? '#f39c12' : '#e08e0b';
$navbar_brand['background_hover'] = $light_theme ? '#f39a0d' : '#db8b0b';
} elseif (preg_match('/skin-green.*/', $theme)) {
$navbar['background'] = '#00a65a';
$navbar['background_hover'] = '#009551';
$navbar_brand['background'] = $light_theme ? '#00a65a' : '#008d4c';
$navbar_brand['background_hover'] = $light_theme ? '#00a157' : '#008749';
} elseif (preg_match('/skin-purple.*/', $theme)) {
$navbar['background'] = '#605ca8';
$navbar['background_hover'] = '#565397';
$navbar_brand['background'] = $light_theme ? '#605ca8' : '#555299';
$navbar_brand['background_hover'] = $light_theme ? '#5d59a6' : '#545096';
} elseif (preg_match('/skin-red.*/', $theme)) {
$navbar['background'] = '#dd4b39';
$navbar['background_hover'] = '#c64333';
$navbar_brand['background'] = $light_theme ? '#dd4b39' : '#d73925';
$navbar_brand['background_hover'] = $light_theme ? '#dc4735' : '#d33724';
} else {
$navbar['background'] = '#fff';
$navbar['background_hover'] = '#eee';
$navbar['text_color'] = '#333';
$navbar['text_hover'] = '#333';
$navbar_brand['background'] = '#fff';
$navbar_brand['background_hover'] = '#fcfcfc';
$navbar_brand['text'] = '#333';
$navbar_brand['text_hover'] = '#333';
}
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_background', '{$navbar['background']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_background_hover', '{$navbar['background_hover']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_text', '{$navbar['text']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_text_hover', '{$navbar['text_hover']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_brand_background', '{$navbar_brand['background']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_brand_background_hover', '{$navbar_brand['background_hover']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_brand_text', '{$navbar_brand['text']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_brand_text_hover', '{$navbar_brand['text_hover']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_background', '{$sidebar['background']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_background_hover', '{$sidebar['background_hover']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_text', '{$sidebar['text']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_text_hover', '{$sidebar['text_hover']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_font_weight', '{$sidebar['font_weight']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_header_background', '{$sidebar_header['background']}')");
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_header_text', '{$sidebar_header['text']}')");
$this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` IN ('rtl', 'admin_color_scheme')");
}
function down($hesk_settings) {
$this->executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_color_scheme', 'skin-blue')");
$this->executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` IN ('admin_navbar_background',
'admin_navbar_background_hover', 'admin_navbar_text', 'admin_navbar_text_hover', 'admin_navbar_brand_background',
'admin_navbar_brand_background_hover', 'admin_navbar_brand_text', 'admin_navbar_brand_text_hover', 'admin_sidebar_background',
'admin_sidebar_background_hover', 'admin_sidebar_text', 'admin_sidebar_text_hover', 'admin_sidebar_font_weight',
'admin_sidebar_header_background', 'admin_sidebar_header_text')");
}
}

@ -0,0 +1,26 @@
<?php
namespace v320;
class AddAuditTrail extends \AbstractMigration {
function up($hesk_settings) {
$this->executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "audit_trail` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`entity_id` INT NOT NULL,
`entity_type` VARCHAR(50) NOT NULL,
`language_key` VARCHAR(100) NOT NULL,
`date` TIMESTAMP NOT NULL)");
$this->executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "audit_trail_to_replacement_values` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`audit_trail_id` INT NOT NULL,
`replacement_index` INT NOT NULL,
`replacement_value` TEXT NOT NULL)");
}
function down($hesk_settings) {
$this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "audit_trail`");
$this->executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "audit_trail_to_replacement_values`");
}
}

@ -0,0 +1,33 @@
<?php
namespace v320;
class AddDescriptionToCategoriesAndCustomFields extends \AbstractMigration {
function up($hesk_settings) {
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories`
ADD COLUMN `mfh_description` TEXT");
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_fields`
ADD COLUMN `mfh_description` TEXT");
// Purge the custom field caches as we're adding a new field
foreach ($hesk_settings['languages'] as $key => $value) {
$language_hash = sha1($key);
hesk_unlink(HESK_PATH . "cache/cf_{$language_hash}.cache.php");
}
}
function down($hesk_settings) {
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories`
DROP COLUMN `mfh_description`");
$this->executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_fields`
DROP COLUMN `mfh_description`");
// Purge the custom field caches as we're adding a new field
foreach ($hesk_settings['languages'] as $key => $value) {
$language_hash = sha1($key);
hesk_unlink(HESK_PATH . "cache/cf_{$language_hash}.cache.php");
}
}
}

@ -1,100 +0,0 @@
<?php
define('IN_SCRIPT', 1);
define('HESK_PATH', '../../../');
require(HESK_PATH . 'hesk_settings.inc.php');
require(HESK_PATH . 'inc/common.inc.php');
hesk_load_database_functions();
require('../sql/installSql.php');
$version = $_POST['version'];
if ($version == 2) {
executePre140Scripts();
} elseif ($version == 3) {
execute140Scripts();
} elseif ($version == 4) {
execute141Scripts();
} elseif ($version == 5) {
execute150Scripts();
} elseif ($version == 6) {
execute160Scripts();
} elseif ($version == 7) {
execute161Scripts();
} elseif ($version == 8) {
execute170Scripts();
} elseif ($version == 9) {
execute200Scripts();
} elseif ($version == 10) {
execute201Scripts();
} elseif ($version == 11) {
execute210Scripts();
} elseif ($version == 12) {
execute211Scripts();
} elseif ($version == 13) {
execute220Scripts();
} elseif ($version == 14) {
execute221Scripts();
} elseif ($version == 15) {
execute230Scripts();
} elseif ($version == 16) {
execute231Scripts();
} elseif ($version == 17) {
execute232Scripts();
} elseif ($version == 18) {
execute240Scripts();
} elseif ($version == 19) {
execute241Scripts();
} elseif ($version == 20) {
execute242Scripts();
} elseif ($version == 21) {
migrateSettings();
execute250Scripts();
} elseif ($version == 22) {
execute251Scripts();
} elseif ($version == 23) {
execute252Scripts();
} elseif ($version == 24) {
execute253Scripts();
} elseif ($version == 25) {
execute254Scripts();
} elseif ($version == 26) {
execute255Scripts();
} elseif ($version == 27) {
execute260Scripts();
} elseif ($version == 28) {
execute261Scripts();
} elseif ($version == 29) {
execute262Scripts();
} elseif ($version == 30) {
execute263Scripts();
} elseif ($version == 31) {
execute264Scripts();
} elseif ($version == 32) {
execute300Beta1Scripts();
} elseif ($version == 33) {
execute300RC1Scripts();
} elseif ($version == 34) {
execute300Scripts();
} elseif ($version == 35) {
execute301Scripts();
} elseif ($version == 36) {
execute302Scripts();
} elseif ($version == 37) {
execute303Scripts();
} elseif ($version == 38) {
execute304Scripts();
} elseif ($version == 39) {
execute305Scripts();
} elseif ($version == 40) {
execute306Scripts();
} elseif ($version == 41) {
execute307Scripts();
} elseif ($version == 42) {
execute310Scripts();
} elseif ($version == 43) {
execute311Scripts();
} else {
$response = 'The version "' . $version . '" was not recognized. Check the value submitted and try again.';
print $response;
http_response_code(400);
}
return;

@ -1,32 +0,0 @@
<?php
define('IN_SCRIPT', 1);
define('HESK_PATH', '../../../');
require(HESK_PATH . 'hesk_settings.inc.php');
require(HESK_PATH . 'inc/common.inc.php');
hesk_load_database_functions();
require('../sql/installSql.php');
$task = $_POST['task'];
if ($task == 'ip-email-bans') {
$numberOfBans = checkForIpOrEmailBans();
$jsonToSend = array();
if ($numberOfBans > 0) {
$jsonToSend['status'] = 'ATTENTION';
$jsonToSend['users'] = array();
$users = getUsers();
foreach ($users as $user) {
array_push($jsonToSend['users'], $user);
}
} else {
$jsonToSend['status'] = 'SUCCESS';
}
print json_encode($jsonToSend);
} elseif ($task == 'migrate-bans') {
migrateBans($_POST['user']);
} elseif ($task == 'initialize-statuses') {
initializeXrefTable();
} else {
$response = 'The task "' . $task . '" was not recognized. Check your spelling and try again.';
print $response;
http_response_code(400);
}

@ -1,17 +0,0 @@
<?php
define('IN_SCRIPT', 1);
define('HESK_PATH', '../../../');
require(HESK_PATH . 'hesk_settings.inc.php');
require(HESK_PATH . 'inc/common.inc.php');
hesk_load_database_functions();
require('../sql/uninstallSql.php');
$task = $_POST['task'];
if ($task == 'status-change') {
replaceStatusColumn();
} elseif ($task == 'drop-columns') {
removeOtherColumns();
} else {
http_response_code(400);
}
return;

@ -1,175 +0,0 @@
<?php
function execute310Scripts() {
global $hesk_settings;
hesk_dbConnect();
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "logging` ADD COLUMN `stack_trace` TEXT");
executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_nav_element`
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
image_url TEXT,
font_icon VARCHAR(200),
place INT NOT NULL,
url VARCHAR(500) NOT NULL,
sort INT NOT NULL)");
executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_nav_element_to_text`
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nav_element_id INT NOT NULL,
language VARCHAR(200) NOT NULL,
text VARCHAR(200) NOT NULL,
subtext VARCHAR(200))");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `foreground_color` VARCHAR(7) NOT NULL DEFAULT 'AUTO'");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `display_border_outline` ENUM('0','1') NOT NULL DEFAULT '0'");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` CHANGE `color` `background_color` VARCHAR(7) NOT NULL DEFAULT '#FFFFFF'");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('login_background_type', 'color')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('login_background', '#d2d6de')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('login_box_header', 'helpdesk-title')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('login_box_header_image', '')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('api_url_rewrite', '0')");
// Copy over color presets to the custom values
$theme_preset_rs = executeQuery("SELECT `Value` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'admin_color_scheme'");
if (hesk_dbNumRows($theme_preset_rs) === 0) {
$theme = 'skin-blue';
} else {
$theme_preset_row = hesk_dbFetchAssoc($theme_preset_rs);
$theme = $theme_preset_row['Value'];
}
$light_theme = preg_match('/.*-light/g', $theme);
$navbar = array(
'background' => '',
'text' => '#fff',
'text_hover' => '#fff',
'background_hover' => ''
);
$navbar_brand = array(
'background' => '',
'text' => '#fff',
'text_hover' => '#fff',
'background_hover' => ''
);
$sidebar = array(
'background' => $light_theme ? '#f9fafc' : '#222d32',
'text' => $light_theme ? '#444' : '#b8c7ce',
'text_hover' => $light_theme ? '#444' : '#fff',
'background_hover' => $light_theme ? '#f4f4f5' : '#1e282c',
'font_weight' => $light_theme ? 'bold' : 'normal'
);
$sidebar_header = array(
'background' => $light_theme ? '#f9fafc' : '#1a2226',
'text' => $light_theme ? '#848484' : '#4b646f',
);
if (preg_match('/skin-blue.*/', $theme)) {
$navbar['background'] = '#3c8dbc';
$navbar['background_hover'] = '#367fa9';
$navbar_brand['background'] = $light_theme ? '#3c8dbc' : '#367fa9';
$navbar_brand['background_hover'] = $light_theme ? '#3b8ab8' : '#357ca5';
} elseif (preg_match('/skin-yellow.*/', $theme)) {
$navbar['background'] = '#f39c12';
$navbar['background_hover'] = '#da8c10';
$navbar_brand['background'] = $light_theme ? '#f39c12' : '#e08e0b';
$navbar_brand['background_hover'] = $light_theme ? '#f39a0d' : '#db8b0b';
} elseif (preg_match('/skin-green.*/', $theme)) {
$navbar['background'] = '#00a65a';
$navbar['background_hover'] = '#009551';
$navbar_brand['background'] = $light_theme ? '#00a65a' : '#008d4c';
$navbar_brand['background_hover'] = $light_theme ? '#00a157' : '#008749';
} elseif (preg_match('/skin-purple.*/', $theme)) {
$navbar['background'] = '#605ca8';
$navbar['background_hover'] = '#565397';
$navbar_brand['background'] = $light_theme ? '#605ca8' : '#555299';
$navbar_brand['background_hover'] = $light_theme ? '#5d59a6' : '#545096';
} elseif (preg_match('/skin-red.*/', $theme)) {
$navbar['background'] = '#dd4b39';
$navbar['background_hover'] = '#c64333';
$navbar_brand['background'] = $light_theme ? '#dd4b39' : '#d73925';
$navbar_brand['background_hover'] = $light_theme ? '#dc4735' : '#d33724';
} else {
$navbar['background'] = '#fff';
$navbar['background_hover'] = '#eee';
$navbar['text_color'] = '#333';
$navbar['text_hover'] = '#333';
$navbar_brand['background'] = '#fff';
$navbar_brand['background_hover'] = '#fcfcfc';
$navbar_brand['text'] = '#333';
$navbar_brand['text_hover'] = '#333';
}
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_background', '{$navbar['background']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_background_hover', '{$navbar['background_hover']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_text', '{$navbar['text']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_text_hover', '{$navbar['text_hover']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_brand_background', '{$navbar_brand['background']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_brand_background_hover', '{$navbar_brand['background_hover']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_brand_text', '{$navbar_brand['text']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_navbar_brand_text_hover', '{$navbar_brand['text_hover']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_background', '{$sidebar['background']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_background_hover', '{$sidebar['background_hover']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_text', '{$sidebar['text']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_text_hover', '{$sidebar['text_hover']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_font_weight', '{$sidebar['font_weight']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_header_background', '{$sidebar_header['background']}')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`)
VALUES ('admin_sidebar_header_text', '{$sidebar_header['text']}')");
executeQuery("DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` IN ('rtl', 'admin_color_scheme')");
updateVersion('3.1.0');
}
function execute311Scripts() {
global $hesk_settings;
hesk_dbConnect();
updateVersion('3.1.1');
}
function execute320Scripts() {
global $hesk_settings;
hesk_dbConnect();
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories`
ADD COLUMN `mfh_description` TEXT");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "custom_fields`
ADD COLUMN `mfh_description` TEXT");
// Purge the custom field caches as we're adding a new field
foreach ($hesk_settings['languages'] as $key => $value) {
$language_hash = sha1($key);
hesk_unlink(HESK_PATH . "cache/cf_{$language_hash}.cache.php");
}
executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "audit_trail` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`entity_id` INT NOT NULL,
`entity_type` VARCHAR(50) NOT NULL,
`language_key` VARCHAR(100) NOT NULL,
`date` TIMESTAMP NOT NULL)");
executeQuery("CREATE TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "audit_trail_to_replacement_values` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`audit_trail_id` INT NOT NULL,
`replacement_index` INT NOT NULL,
`replacement_value` TEXT NOT NULL)");
updateVersion('3.2.0');
}

@ -1,110 +0,0 @@
<?php
require(HESK_PATH . 'hesk_settings.inc.php');
function executeQuery($sql)
{
global $hesk_last_query;
global $hesk_db_link;
if (function_exists('mysqli_connect')) {
if (!$hesk_db_link && !hesk_dbConnect()) {
return false;
}
$hesk_last_query = $sql;
if ($res = @mysqli_query($hesk_db_link, $sql)) {
return $res;
} else {
print "Could not execute query: $sql. MySQL said: " . mysqli_error($hesk_db_link);
}
} else {
if (!$hesk_db_link && !hesk_dbConnect()) {
return false;
}
$hesk_last_query = $sql;
if ($res = @mysql_query($sql, $hesk_db_link)) {
return $res;
} else {
print "Could not execute query: $sql. MySQL said: " . mysql_error();
}
}
}
function replaceStatusColumn()
{
global $hesk_settings;
hesk_dbConnect();
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `status_int` ENUM('0','1','2','3','4','5') NOT NULL AFTER `status`;");
$ticketsRS = executeQuery("SELECT `id`, `status` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets`;");
while ($currentResult = hesk_dbFetchAssoc($ticketsRS)) {
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` SET `status_int` = '" . intval($currentResult['status']) . "' WHERE `id` = " . $currentResult['id']);
}
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `status`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` CHANGE COLUMN `status_int` `status` ENUM('0','1','2','3','4','5') NOT NULL");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses`");
}
function removeOtherColumns()
{
global $hesk_settings;
hesk_dbConnect();
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `autorefresh`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `parent`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `can_manage_settings`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `active`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `notify_note_unassigned`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `can_change_notification_settings`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "verified_emails`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "pending_verification_emails`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "service_messages` DROP COLUMN `icon`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `latitude`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `longitude`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `latitude`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `longitude`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `manager`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `permission_template`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "permission_templates`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "quick_help_sections`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "text_to_status_xref`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "attachments` DROP COLUMN `download_count`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "kb_attachments` DROP COLUMN `download_count`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `html`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `html`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "replies` DROP COLUMN `html`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `user_agent`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `screen_resolution_width`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `screen_resolution_height`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `user_agent`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `screen_resolution_width`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `screen_resolution_height`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "logging`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "user_api_tokens`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "temp_attachment`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event`");
executeQuery("DROP TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event_reminder`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `due_date`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `overdue_email_sent`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `background_color`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `foreground_color`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `display_border_outline`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` DROP COLUMN `usage`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `notify_overdue_unassigned`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` DROP COLUMN `default_calendar_view`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `due_date`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "stage_tickets` DROP COLUMN `overdue_email_sent`");
// These queries are ran in case someone used an unfortunate installation they may have not properly cleaned up tables
executeQuery('DROP TABLE `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'denied_ips`');
executeQuery('DROP TABLE `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'denied_emails`');
}
Loading…
Cancel
Save