Finished rewriting all of the migrations
parent
2c8a4ad86e
commit
62c059b384
@ -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…
Reference in New Issue