From 55857cdbe9d4ce278574c6bf506ef8a789a88ff5 Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Sun, 1 Feb 2015 22:17:51 -0500 Subject: [PATCH] More progress on new/improved installation --- install/freshInstall.php | 54 ---- install/index.php | 2 +- install/installModsForHesk.php | 84 ++++++ install/migrateBans.php | 25 -- ...{updateModsForHesk.php => modsForHesk.php} | 22 +- install/modsForHeskSql.php | 258 ++++++++++++++++++ install/updateTo1-4-1.php | 21 -- install/updateTo1-5-0.php | 15 - install/updateTo1-6-0.php | 19 -- install/updateTo1-6-1.php | 12 - install/updateTo1-7-0.php | 103 ------- install/updateTo2-0-0.php | 50 ---- 12 files changed, 354 insertions(+), 311 deletions(-) delete mode 100644 install/freshInstall.php create mode 100644 install/installModsForHesk.php rename install/{updateModsForHesk.php => modsForHesk.php} (92%) create mode 100644 install/modsForHeskSql.php delete mode 100644 install/updateTo1-4-1.php delete mode 100644 install/updateTo1-5-0.php delete mode 100644 install/updateTo1-6-0.php delete mode 100644 install/updateTo1-6-1.php delete mode 100644 install/updateTo1-7-0.php diff --git a/install/freshInstall.php b/install/freshInstall.php deleted file mode 100644 index 9a4aef53..00000000 --- a/install/freshInstall.php +++ /dev/null @@ -1,54 +0,0 @@ -fetch_assoc()) -{ - hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` SET `status_int` = ".$currentResult['status']." WHERE `id` = ".$currentResult['id']); -} -hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` DROP COLUMN `status`"); -hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` CHANGE COLUMN `status_int` `status` INT NOT NULL"); - -hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` ( - `ID` INT NOT NULL, - `ShortNameContentKey` TEXT NOT NULL, - `TicketViewContentKey` TEXT NOT NULL, - `TextColor` TEXT NOT NULL, - `IsNewTicketStatus` BIT NOT NULL DEFAULT 0, - `IsClosed` BIT NOT NULL DEFAULT 0, - `IsClosedByClient` BIT NOT NULL DEFAULT 0, - `IsCustomerReplyStatus` BIT NOT NULL DEFAULT 0, - `IsStaffClosedOption` BIT NOT NULL DEFAULT 0, - `IsStaffReopenedStatus` BIT NOT NULL DEFAULT 0, - `IsDefaultStaffReplyStatus` BIT NOT NULL DEFAULT 0, - `LockedTicketStatus` BIT NOT NULL DEFAULT 0, - PRIMARY KEY (`ID`))"); -hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, - IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) - VALUES (0, 'open', 'open', '#FF0000', 1, 0, 0, 0, 0, 0, 0, 0);"); - -hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, - IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) - VALUES (1, 'wait_reply', 'wait_staff_reply', '#FF9933', 0, 0, 0, 1, 0, 1, 0, 0);"); -hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, - IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) - VALUES (2, 'replied', 'wait_cust_reply', '#0000FF', 0, 0, 0, 0, 0, 0, 1, 0);"); -hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, - IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) - VALUES (3, 'resolved', 'resolved', '#008000', 0, 1, 1, 0, 1, 0, 0, 1);"); -hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, - IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) - VALUES (4, 'in_progress', 'in_progress', '#000000', 0, 0, 0, 0, 0, 0, 0, 0);"); -hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, - IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) - VALUES (5, 'on_hold', 'on_hold', '#000000', 0, 0, 0, 0, 0, 0, 0, 0);"); -?> - -

Redirecting to next install script. Click here if you are not redirected automatically.

\ No newline at end of file diff --git a/install/index.php b/install/index.php index f8eb1ce0..28115f1a 100644 --- a/install/index.php +++ b/install/index.php @@ -54,7 +54,7 @@ hesk_iHeader(); Upgrade


Upgrade existing HESK installation to version



- Install / Upgrade Mods for HESK + Install / Upgrade Mods for HESK


Install or upgrade existing Mods for HESK installation to version

diff --git a/install/installModsForHesk.php b/install/installModsForHesk.php new file mode 100644 index 00000000..0da76e9a --- /dev/null +++ b/install/installModsForHesk.php @@ -0,0 +1,84 @@ + + + + Installing / Updating Mods for HESK + + + + + + + + + + + +
Installing / Updating Mods for HESK
+
+ +
+
+
+
Installation Progress
+ + + + + + + + + + + + + + + + + +
VersionStatus
v1.4.0Success
v1.4.0...
+
+
+
+
+ + + + \ No newline at end of file diff --git a/install/migrateBans.php b/install/migrateBans.php index 4ebb0d2e..5847722a 100644 --- a/install/migrateBans.php +++ b/install/migrateBans.php @@ -4,32 +4,7 @@ define('HESK_PATH','../'); require(HESK_PATH . 'install/install_functions.inc.php'); require(HESK_PATH . 'hesk_settings.inc.php'); -$updateSuccess = true; -hesk_dbConnect(); - -// Get the ID of the creator -$creator = $_POST['user']; - -// Insert the email bans -$emailBanRS = hesk_dbQuery("SELECT `Email` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_emails`"); -while ($row = hesk_dbFetchAssoc($emailBanRS)) { - hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."banned_emails` (`email`, `banned_by`, `dt`) - VALUES ('".hesk_dbEscape($row['Email'])."', ".$creator.", NOW())"); -} - -// Insert the IP bans -$ipBanRS = hesk_dbQuery("SELECT `RangeStart`, `RangeEnd` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_ips`"); -while ($row = hesk_dbFetchAssoc($ipBanRS)) { - $ipFrom = long2ip($row['RangeStart']); - $ipTo = long2ip($row['RangeEnd']); - $ipDisplay = $ipFrom == $ipTo ? $ipFrom : $ipFrom . ' - ' . $ipTo; - hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."banned_ips` (`ip_from`, `ip_to`, `ip_display`, `banned_by`, `dt`) - VALUES (".$row['RangeStart'].", ".$row['RangeEnd'].", '".$ipDisplay."', ".$creator.", NOW())"); -} -// Migration Complete. Drop Tables. -hesk_dbQuery("DROP TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_ips`"); -hesk_dbQuery("DROP TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_emails`"); if ($updateSuccess) { ?> diff --git a/install/updateModsForHesk.php b/install/modsForHesk.php similarity index 92% rename from install/updateModsForHesk.php rename to install/modsForHesk.php index f6b103f8..e6343699 100644 --- a/install/updateModsForHesk.php +++ b/install/modsForHesk.php @@ -105,7 +105,7 @@ hesk_dbConnect();

You cannot install/upgrade Mods for HESK until the requirements on the left have been met.

-

Refresh

+

Refresh

@@ -127,7 +127,7 @@ hesk_dbConnect(); echo '
'; echo '

Mods for HESK has detected that you currently have v'.$version.' installed. The button you should click to upgrade has been highlighted for you. However, if - Mods for HESK selected the wrong button for you, click here to reset them.

'; + Mods for HESK selected the wrong version, click here to reset them.

'; echo '
'; echo '
'; } @@ -142,7 +142,7 @@ hesk_dbConnect(); $v170btn = 'btn-default'; } ?> - v1.7.0 + v1.7.0
- v1.6.1 + v1.6.1
@@ -165,31 +165,31 @@ hesk_dbConnect(); $v160btn = 'btn-default'; } ?> - v1.6.0 + v1.6.0
- v1.5.0 + v1.5.0



diff --git a/install/modsForHeskSql.php b/install/modsForHeskSql.php new file mode 100644 index 00000000..a3c3cca1 --- /dev/null +++ b/install/modsForHeskSql.php @@ -0,0 +1,258 @@ +fetch_assoc()) + { + hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` SET `status_int` = ".$currentResult['status']." WHERE `id` = ".$currentResult['id']); + } + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` DROP COLUMN `status`"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` CHANGE COLUMN `status_int` `status` INT NOT NULL"); + + hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` ( + `ID` INT NOT NULL, + `ShortNameContentKey` TEXT NOT NULL, + `TicketViewContentKey` TEXT NOT NULL, + `TextColor` TEXT NOT NULL, + `IsNewTicketStatus` BIT NOT NULL DEFAULT 0, + `IsClosed` BIT NOT NULL DEFAULT 0, + `IsClosedByClient` BIT NOT NULL DEFAULT 0, + `IsCustomerReplyStatus` BIT NOT NULL DEFAULT 0, + `IsStaffClosedOption` BIT NOT NULL DEFAULT 0, + `IsStaffReopenedStatus` BIT NOT NULL DEFAULT 0, + `IsDefaultStaffReplyStatus` BIT NOT NULL DEFAULT 0, + `LockedTicketStatus` BIT NOT NULL DEFAULT 0, + PRIMARY KEY (`ID`))"); + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, + IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) + VALUES (0, 'open', 'open', '#FF0000', 1, 0, 0, 0, 0, 0, 0, 0);"); + + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, + IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) + VALUES (1, 'wait_reply', 'wait_staff_reply', '#FF9933', 0, 0, 0, 1, 0, 1, 0, 0);"); + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, + IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) + VALUES (2, 'replied', 'wait_cust_reply', '#0000FF', 0, 0, 0, 0, 0, 0, 1, 0);"); + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, + IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) + VALUES (3, 'resolved', 'resolved', '#008000', 0, 1, 1, 0, 1, 0, 0, 1);"); + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, + IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) + VALUES (4, 'in_progress', 'in_progress', '#000000', 0, 0, 0, 0, 0, 0, 0, 0);"); + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."statuses` (ID, ShortNameContentKey, TicketViewContentKey, TextColor, IsNewTicketStatus, IsClosed, IsClosedByClient, IsCustomerReplyStatus, + IsStaffClosedOption, IsStaffReopenedStatus, IsDefaultStaffReplyStatus, LockedTicketStatus) + VALUES (5, 'on_hold', 'on_hold', '#000000', 0, 0, 0, 0, 0, 0, 0, 0);"); +} + +// Version 1.4.0 +function execute140Scripts() { + hesk_dbConnect(); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `autorefresh` BIGINT NOT NULL DEFAULT 0 AFTER `replies`;"); + + hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_ips` ( + `ID` INT NOT NULL PRIMARY KEY AUTO_INCREMENT, + `RangeStart` VARCHAR(100) NOT NULL, + `RangeEnd` VARCHAR(100) NOT NULL)"); +} + +// Version 1.4.1 +function execute141Scripts() { + hesk_dbConnect(); + hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_emails` (ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Email VARCHAR(100) NOT NULL);"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` ADD COLUMN `parent` MEDIUMINT(8) NULL AFTER `custom20`;"); +} + +// Version 1.5.0 +function execute150Scripts() { + hesk_dbConnect(); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `active` ENUM('0', '1') NOT NULL DEFAULT '1'"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `can_manage_settings` ENUM('0', '1') NOT NULL DEFAULT '1'"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `default_notify_customer_email` ENUM ('0', '1') NOT NULL DEFAULT '1'"); +} + +// Version 1.6.0 +function execute160Scripts() { + hesk_dbConnect(); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `notify_note_unassigned` ENUM('0', '1') NOT NULL DEFAULT '0'"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `can_change_notification_settings` ENUM('0', '1') NOT NULL DEFAULT '1'"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."notes` ADD COLUMN `edit_date` DATETIME NULL"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."notes` ADD COLUMN `number_of_edits` INT NOT NULL DEFAULT 0"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."attachments` ADD COLUMN `note_id` INT NULL AFTER `ticket_id`"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."attachments` MODIFY COLUMN `ticket_id` VARCHAR(13) NULL"); + hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."settings` (`Key` NVARCHAR(200) NOT NULL, `Value` NVARCHAR(200) NOT NULL)"); + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."settings` (`Key`, `Value`) VALUES ('modsForHeskVersion', '1.6.0')"); +} + +// Version 1.6.1 +function execute161Scripts() { + hesk_dbConnect(); + hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."settings` SET `Value` = '1.6.1' WHERE `Key` = 'modsForHeskVersion'"); +} + +// BEGIN Version 1.7.0 +function execute170Scripts() { + hesk_dbConnect(); + hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."verified_emails` (`Email` VARCHAR(255) NOT NULL)"); + hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."pending_verification_emails` (`Email` VARCHAR(255) NOT NULL, `ActivationKey` VARCHAR(500) NOT NULL)"); + hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."stage_tickets` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `trackid` varchar(13) COLLATE utf8_unicode_ci NOT NULL, + `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `category` smallint(5) unsigned NOT NULL DEFAULT '1', + `priority` enum('0','1','2','3') COLLATE utf8_unicode_ci NOT NULL DEFAULT '3', + `subject` varchar(70) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `message` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `dt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastchange` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ip` varchar(46) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `language` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `status` int(11) NOT NULL DEFAULT '0', + `owner` smallint(5) unsigned NOT NULL DEFAULT '0', + `time_worked` time NOT NULL DEFAULT '00:00:00', + `lastreplier` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', + `replierid` smallint(5) unsigned DEFAULT NULL, + `archive` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', + `locked` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', + `attachments` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `merged` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `history` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom1` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom2` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom3` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom4` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom5` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom6` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom7` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom8` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom9` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom10` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom11` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom12` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom13` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom14` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom15` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom16` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom17` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom18` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom19` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `custom20` mediumtext COLLATE utf8_unicode_ci NOT NULL, + `parent` mediumint(8) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `trackid` (`trackid`), + KEY `archive` (`archive`), + KEY `categories` (`category`), + KEY `statuses` (`status`), + KEY `owner` (`owner`) + )"); + hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."settings` SET `Value` = '1.7.0' WHERE `Key` = 'modsForHeskVersion'"); +} + +function execute170FileUpdate() { + //-- Add the new custom field property to modsForHesk_settings.inc.php + $file = file_get_contents(HESK_PATH . 'modsForHesk_settings.inc.php'); + + //-- Only add the additional settings if they aren't already there. + if (strpos($file, 'custom_field_setting') !== true) + { + $file .= ' + + //-- Set this to 1 to enable custom field names as keys + $modsForHesk_settings[\'custom_field_setting\'] = 0; + + //-- Set this to 1 to enable email verification for new customers + $modsForHesk_settings[\'customer_email_verification_required\'] = 0;'; + } + + return file_put_contents(HESK_PATH.'modsForHesk_settings.inc.php', $file); +} +// END Version 1.7.0 + +// BEGIN Version 2.0.0 +function execute200Scripts() { + hesk_dbConnect(); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."attachments` DROP COLUMN `note_id`"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."notes` DROP COLUMN `edit_date`"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."notes` DROP COLUMN `number_of_edits`"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` DROP COLUMN `default_notify_customer_email`"); + hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."settings` SET `Value` = '2.0.0' WHERE `Key` = 'modsForHeskVersion'"); + + $keyRs = hesk_dbQuery("SHOW KEYS FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` WHERE Key_name='statuses'"); + if (hesk_dbNumRows($keyRs) == 0) + { + //-- Add the key + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` ADD KEY `statuses` (`status`)"); + } +} + +function execute200FileUpdate() { + //-- Add the new HTML email property to modsForHesk_settings.inc.php + $file = file_get_contents(HESK_PATH . 'modsForHesk_settings.inc.php'); + + //-- Only add the additional settings if they aren't already there. + if (strpos($file, 'html_emails') !== true) + { + $file .= ' + + //-- Set this to 1 to enable HTML-formatted emails. + $modsForHesk_settings[\'html_emails\'] = 0; + + //-- Mailgun Settings + $modsForHesk_settings[\'use_mailgun\'] = 0; + $modsForHesk_settings[\'mailgun_api_key\'] = \'API Key\'; + $modsForHesk_settings[\'mailgun_domain\'] = \'mail.domain.com\';'; + } + + return file_put_contents(HESK_PATH.'modsForHesk_settings.inc.php', $file); +} + +function checkForIpOrEmailBans() { + hesk_dbConnect(); + $banRS = hesk_dbQuery("SELECT `ID` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_emails` + UNION ALL SELECT `ID` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_ips`"); + + return hesk_dbNumRows($banRS); +} + +function getUsers() { + hesk_dbConnect(); + $users = array(); + + $usersRS = hesk_dbQuery("SELECT `id`, `name` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."users` WHERE `active` = '1' ORDER BY `name`"); + while ($row = hesk_dbFetchAssoc($usersRS)) { + $users[$row['id']] = $row['name']; + } + + return $users; +} + +function migrateBans() { + hesk_dbConnect(); + + // Get the ID of the creator + $creator = $_POST['user']; + + // Insert the email bans + $emailBanRS = hesk_dbQuery("SELECT `Email` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_emails`"); + while ($row = hesk_dbFetchAssoc($emailBanRS)) { + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."banned_emails` (`email`, `banned_by`, `dt`) + VALUES ('".hesk_dbEscape($row['Email'])."', ".$creator.", NOW())"); + } + + // Insert the IP bans + $ipBanRS = hesk_dbQuery("SELECT `RangeStart`, `RangeEnd` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_ips`"); + while ($row = hesk_dbFetchAssoc($ipBanRS)) { + $ipFrom = long2ip($row['RangeStart']); + $ipTo = long2ip($row['RangeEnd']); + $ipDisplay = $ipFrom == $ipTo ? $ipFrom : $ipFrom . ' - ' . $ipTo; + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."banned_ips` (`ip_from`, `ip_to`, `ip_display`, `banned_by`, `dt`) + VALUES (".$row['RangeStart'].", ".$row['RangeEnd'].", '".$ipDisplay."', ".$creator.", NOW())"); + } + // Migration Complete. Drop Tables. + hesk_dbQuery("DROP TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_ips`"); + hesk_dbQuery("DROP TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_emails`"); +} +// END Version 2.0.0 \ No newline at end of file diff --git a/install/updateTo1-4-1.php b/install/updateTo1-4-1.php deleted file mode 100644 index b35c8b52..00000000 --- a/install/updateTo1-4-1.php +++ /dev/null @@ -1,21 +0,0 @@ - - -

Redirecting to next install script. Click here if you are not redirected automatically.

\ No newline at end of file diff --git a/install/updateTo1-5-0.php b/install/updateTo1-5-0.php deleted file mode 100644 index e9b103c2..00000000 --- a/install/updateTo1-5-0.php +++ /dev/null @@ -1,15 +0,0 @@ - - -

Redirecting to next install script. Click here if you are not redirected automatically.

\ No newline at end of file diff --git a/install/updateTo1-6-0.php b/install/updateTo1-6-0.php deleted file mode 100644 index 5288804a..00000000 --- a/install/updateTo1-6-0.php +++ /dev/null @@ -1,19 +0,0 @@ - - -

Redirecting to next install script. Click here if you are not redirected automatically.

\ No newline at end of file diff --git a/install/updateTo1-6-1.php b/install/updateTo1-6-1.php deleted file mode 100644 index 1e774587..00000000 --- a/install/updateTo1-6-1.php +++ /dev/null @@ -1,12 +0,0 @@ - - -

Redirecting to next install script. Click here if you are not redirected automatically.

\ No newline at end of file diff --git a/install/updateTo1-7-0.php b/install/updateTo1-7-0.php deleted file mode 100644 index 5011ce42..00000000 --- a/install/updateTo1-7-0.php +++ /dev/null @@ -1,103 +0,0 @@ -Failure! -

An issue occurred when trying to update the modsForHesk_settings.inc.php file.

-
-

Add the following lines to your modsForHesk_settings.inc.php file:

-
- //-- Set this to 1 to enable custom field names as keys - $modsForHesk_settings[\'custom_field_setting\'] = 0;

- - //-- Set this to 1 to enable email verification for new customers - $modsForHesk_settings[\'customer_email_verification_required\'] = 0; - -

After you have done this, click this link to continue installation

'; - -} - -if ($updateSuccess) { ?> - -

Redirecting to next install script. Click here if you are not redirected automatically.

- \ No newline at end of file diff --git a/install/updateTo2-0-0.php b/install/updateTo2-0-0.php index 34e5fba1..fba6d0b5 100644 --- a/install/updateTo2-0-0.php +++ b/install/updateTo2-0-0.php @@ -4,56 +4,6 @@ define('HESK_PATH','../'); require(HESK_PATH . 'install/install_functions.inc.php'); require(HESK_PATH . 'hesk_settings.inc.php'); -hesk_dbConnect(); -hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."attachments` DROP COLUMN `note_id`"); -hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."notes` DROP COLUMN `edit_date`"); -hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."notes` DROP COLUMN `number_of_edits`"); -hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` DROP COLUMN `default_notify_customer_email`"); -hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."settings` SET `Value` = '2.0.0' WHERE `Key` = 'modsForHeskVersion'"); - -$keyRs = hesk_dbQuery("SHOW KEYS FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` WHERE Key_name='statuses'"); -if (hesk_dbNumRows($keyRs) == 0) -{ - //-- Add the key - hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` ADD KEY `statuses` (`status`)"); -} - -//-- Add the new HTML email property to modsForHesk_settings.inc.php -$file = file_get_contents(HESK_PATH . 'modsForHesk_settings.inc.php'); - -//-- Only add the additional settings if they aren't already there. -if (strpos($file, 'html_emails') !== true) -{ - $file .= ' - -//-- Set this to 1 to enable HTML-formatted emails. -$modsForHesk_settings[\'html_emails\'] = 0; - -//-- Mailgun Settings -$modsForHesk_settings[\'use_mailgun\'] = 0; -$modsForHesk_settings[\'mailgun_api_key\'] = \'API Key\'; -$modsForHesk_settings[\'mailgun_domain\'] = \'mail.domain.com\';'; -} - -if (!file_put_contents(HESK_PATH.'modsForHesk_settings.inc.php', $file)) -{ - $updateSuccess = false; - echo '

Failure!

-

An issue occurred when trying to update the modsForHesk_settings.inc.php file.

-
-

Add the following lines to your modsForHesk_settings.inc.php file:

-
- //-- Set this to 1 to enable HTML-formatted emails. - $modsForHesk_settings[\'html_emails\'] = 0;

- //-- Mailgun Settings - $modsForHesk_settings[\'use_mailgun\'] = 0; - $modsForHesk_settings[\'mailgun_api_key\'] = \'API Key\'; - $modsForHesk_settings[\'mailgun_domain\'] = \'mail.domain.com\'; - -

After editing your modsForHesk_settings.inc.php file, you can follow the instructions below.'; - -} - $banRS = hesk_dbQuery("SELECT `ID` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_emails` UNION ALL SELECT `ID` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_ips`");