Cornucopia of installer fixes

merge-requests/2/head
Mike Koch 9 years ago
parent 727f9432e9
commit 06fa58bb83

@ -37,7 +37,6 @@ if (!defined('IN_SCRIPT')) {die('Invalid attempt');}
// We will be installing this HESK version: // We will be installing this HESK version:
define('HESK_NEW_VERSION','2.6.5'); define('HESK_NEW_VERSION','2.6.5');
define('MODS_FOR_HESK_NEW_VERSION_INT', 250);
define('MODS_FOR_HESK_NEW_VERSION','2.5.0'); define('MODS_FOR_HESK_NEW_VERSION','2.5.0');
define('REQUIRE_PHP_VERSION','5.0.0'); define('REQUIRE_PHP_VERSION','5.0.0');
define('REQUIRE_MYSQL_VERSION','5.0.7'); define('REQUIRE_MYSQL_VERSION','5.0.7');

@ -7,53 +7,45 @@ hesk_load_database_functions();
require('../sql/installSql.php'); require('../sql/installSql.php');
$version = $_POST['version']; $version = $_POST['version'];
if ($version == 1) { if ($version == 2) {
executePre140Scripts(); executePre140Scripts();
} elseif ($version == 140) { } elseif ($version == 3) {
execute140Scripts(); execute140Scripts();
} elseif ($version == 141) { } elseif ($version == 4) {
execute141Scripts(); execute141Scripts();
} elseif ($version == 150) { } elseif ($version == 5) {
execute150Scripts(); execute150Scripts();
} elseif ($version == 160) { } elseif ($version == 6) {
execute160Scripts(); execute160Scripts();
} elseif ($version == 161) { } elseif ($version == 7) {
execute161Scripts(); execute161Scripts();
} elseif ($version == 170) { } elseif ($version == 8) {
execute170Scripts(); execute170Scripts();
execute170FileUpdate(); } elseif ($version == 9) {
} elseif ($version == 200) {
execute200Scripts(); execute200Scripts();
execute200FileUpdate(); } elseif ($version == 10) {
} elseif ($version == 201) {
execute201Scripts(); execute201Scripts();
} elseif ($version == 210) { } elseif ($version == 11) {
execute210Scripts(); execute210Scripts();
execute210FileUpdate(); } elseif ($version == 12) {
} elseif ($version == 211) {
execute211Scripts(); execute211Scripts();
execute211FileUpdate(); } elseif ($version == 13) {
} elseif ($version == 220) {
execute220Scripts(); execute220Scripts();
execute220FileUpdate(); } elseif ($version == 14) {
} elseif ($version == 221) {
execute221Scripts(); execute221Scripts();
} elseif ($version == 230) { } elseif ($version == 15) {
execute230Scripts(); execute230Scripts();
execute230FileUpdate(); } elseif ($version == 16) {
} elseif ($version == 231) {
execute231Scripts(); execute231Scripts();
} elseif ($version == 232) { } elseif ($version == 17) {
execute232Scripts(); execute232Scripts();
} elseif ($version == 240) { } elseif ($version == 18) {
execute240Scripts(); execute240Scripts();
execute240FileUpdate(); } elseif ($version == 19) {
} elseif ($version == 241) {
execute241Scripts(); execute241Scripts();
execute241FileUpdate(); } elseif ($version == 20) {
} elseif ($version == 242) {
execute242Scripts(); execute242Scripts();
} elseif ($version == 250) { } elseif ($version == 21) {
migrateSettings(); migrateSettings();
execute250Scripts(); execute250Scripts();
} else { } else {

@ -57,6 +57,7 @@ function processUpdates(startingVersion) {
startVersionUpgrade('242'); startVersionUpgrade('242');
executeUpdate(20, '242', '2.4.2'); executeUpdate(20, '242', '2.4.2');
} else if (startingVersion < 21) { } else if (startingVersion < 21) {
startVersionUpgrade('250');
executeUpdate(21, '250', '2.5.0'); executeUpdate(21, '250', '2.5.0');
} else { } else {
installationFinished(); installationFinished();

@ -85,31 +85,7 @@ hesk_dbConnect();
$versionRS = hesk_dbQuery('SELECT `Value` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'settings` WHERE `Key` = \'modsForHeskVersion\''); $versionRS = hesk_dbQuery('SELECT `Value` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'settings` WHERE `Key` = \'modsForHeskVersion\'');
$versionArray = hesk_dbFetchAssoc($versionRS); $versionArray = hesk_dbFetchAssoc($versionRS);
$version = $versionArray['Value']; $version = $versionArray['Value'];
$no_dotted_version = str_replace('.', '', $version); ?>
$int_version = intval($no_dotted_version);
$int_newest_version = MODS_FOR_HESK_NEW_VERSION_INT;
// Display file permissions if the user doesn't have 2.5.0 installed yet
if ($int_version < $int_newest_version): ?>
<tr>
<td>
modsForHesk_settings.inc.php
</td>
<?php
$fileperm = substr(sprintf('%o', fileperms(HESK_PATH.'modsForHesk_settings.inc.php')), -4);
$class = (intval($fileperm) < 666) ? 'class="danger"' : 'class="success"';
?>
<td <?php echo $class; ?>>
<?php if ($class == 'class="success"') {
echo '<i class="fa fa-check-circle"></i> Success';
} else {
echo '<i class="fa fa-times-circle"></i> CHMOD to 0666, yours is '.$fileperm;
$allowInstallation = false;
}
?>
</td>
</tr>
<?php endif; ?>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -163,7 +139,7 @@ hesk_dbConnect();
$v242btn = 'btn-default'; $v242btn = 'btn-default';
} }
?> ?>
<a id="241" class="btn <?php echo $v242btn; ?> btn-block disablable" <a id="242" class="btn <?php echo $v242btn; ?> btn-block disablable"
href="installModsForHesk.php?v=20">2.4.2</a> href="installModsForHesk.php?v=20">2.4.2</a>
</div> </div>
<div class="col-md-3 col-sm-12"> <div class="col-md-3 col-sm-12">

@ -216,27 +216,6 @@ function execute170Scripts()
)"); )");
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '1.7.0' WHERE `Key` = 'modsForHeskVersion'"); executeQuery("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') === false) {
$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 // END Version 1.7.0
// BEGIN Version 2.0.0 // BEGIN Version 2.0.0
@ -258,27 +237,6 @@ function execute200Scripts()
} }
} }
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') === false) {
$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() function checkForIpOrEmailBans()
{ {
global $hesk_settings; global $hesk_settings;
@ -354,23 +312,6 @@ function execute210Scripts()
executeQuery("DROP TABLE IF EXISTS `" . hesk_dbEscape($hesk_settings['db_pfix']) . "denied_ips`"); executeQuery("DROP TABLE IF EXISTS `" . hesk_dbEscape($hesk_settings['db_pfix']) . "denied_ips`");
executeQuery("DROP TABLE IF EXISTS `" . hesk_dbEscape($hesk_settings['db_pfix']) . "denied_emails`"); executeQuery("DROP TABLE IF EXISTS `" . hesk_dbEscape($hesk_settings['db_pfix']) . "denied_emails`");
} }
function execute210FileUpdate()
{
//-- Add the boostrap theme 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, 'use_bootstrap_theme') === false) {
$file .= '
//-- Set this to 1 to enable bootstrap-theme.css
$modsForHesk_settings[\'use_bootstrap_theme\'] = 1;';
}
return file_put_contents(HESK_PATH . 'modsForHesk_settings.inc.php', $file);
}
// END Version 2.1.0 // END Version 2.1.0
// BEGIN Version 2.1.1 // BEGIN Version 2.1.1
@ -395,23 +336,6 @@ function execute211Scripts()
ADD INDEX(`dt`)"); ADD INDEX(`dt`)");
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.1.1' WHERE `Key` = 'modsForHeskVersion'"); executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.1.1' WHERE `Key` = 'modsForHeskVersion'");
} }
function execute211FileUpdate()
{
//-- Add the new kb article visibility 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, 'new_kb_article_visibility') === false) {
$file .= '
//-- Default value for new Knowledgebase article: 0 = Published, 1 = Private, 2 = Draft
$modsForHesk_settings[\'new_kb_article_visibility\'] = 0;';
}
return file_put_contents(HESK_PATH . 'modsForHesk_settings.inc.php', $file);
}
// END Version 2.1.1 // END Version 2.1.1
// BEGIN Version 2.2.0 // BEGIN Version 2.2.0
@ -429,23 +353,6 @@ function execute220Scripts()
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses` SET `Closable` = 'yes'"); executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses` SET `Closable` = 'yes'");
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.2.0' WHERE `Key` = 'modsForHeskVersion'"); executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.2.0' WHERE `Key` = 'modsForHeskVersion'");
} }
function execute220FileUpdate()
{
//-- Add the new attachment 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, '$modsForHesk_settings[\'attachments\']') === false) {
$file .= '
//-- Setting for adding attachments to email messages. Either 0 for default-HESK behavior, or 1 to send as attachments
$modsForHesk_settings[\'attachments\'] = 0;';
}
return file_put_contents(HESK_PATH . 'modsForHesk_settings.inc.php', $file);
}
// END Version 2.2.0 // END Version 2.2.0
// BEGIN Version 2.2.1 // BEGIN Version 2.2.1
@ -520,29 +427,6 @@ function execute230Scripts()
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.3.0' WHERE `Key` = 'modsForHeskVersion'"); executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.3.0' WHERE `Key` = 'modsForHeskVersion'");
} }
function execute230FileUpdate()
{
//-- Add the new merged ticket 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, '$modsForHesk_settings[\'show_number_merged\']') === false) {
$file .= '
//-- Setting for showing number of merged tickets in the ticket search screen. 0 = Disable, 1 = Enable
$modsForHesk_settings[\'show_number_merged\'] = 1;';
}
if (strpos($file, '$modsForHesk_settings[\'request_location\']') === false) {
$file .= '
//-- Setting for requesting user\'s location. 0 = Disable, 1 = Enable
$modsForHesk_settings[\'request_location\'] = 0;';
}
return file_put_contents(HESK_PATH . 'modsForHesk_settings.inc.php', $file);
}
// END Version 2.3.0 // END Version 2.3.0
@ -642,36 +526,6 @@ function initializeXrefTable()
$hesk_settings['can_sel_lang'] = $oldSetting; $hesk_settings['can_sel_lang'] = $oldSetting;
hesk_resetLanguage(); hesk_resetLanguage();
} }
function execute240FileUpdate()
{
global $hesk_settings;
$file = file_get_contents(HESK_PATH . 'modsForHesk_settings.inc.php');
//-- Only add the additional settings if they aren't already there.
if (strpos($file, '$modsForHesk_settings[\'category_order_column\']') === false) {
$file .= '
//-- Column to sort categories by. Can be either \'name\' or \'cat_order\'
$modsForHesk_settings[\'category_order_column\'] = \'cat_order\';';
}
if (strpos($file, '$modsForHesk_settings[\'rich_text_for_tickets\']') === false) {
$file .= '
//-- Setting for using rich-text editor for tickets. 0 = Disable, 1 = Enable
$modsForHesk_settings[\'rich_text_for_tickets\'] = 0;';
}
if (strpos($file, '$modsForHesk_settings[\'kb_attach_dir\']') === false) {
$file .= '
//-- Directory to store knowledgebase articles in.
$modsForHesk_settings[\'kb_attach_dir\'] = \'' . $hesk_settings['attach_dir'] . '\';';
}
return file_put_contents(HESK_PATH . 'modsForHesk_settings.inc.php', $file);
}
// END Version 2.4.0 // END Version 2.4.0
// BEGIN Version 2.4.1 // BEGIN Version 2.4.1
@ -683,22 +537,6 @@ function execute241Scripts()
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.4.1' WHERE `Key` = 'modsForHeskVersion'"); executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.4.1' WHERE `Key` = 'modsForHeskVersion'");
} }
function execute241FileUpdate()
{
$file = file_get_contents(HESK_PATH . 'modsForHesk_settings.inc.php');
if (strpos($file, '$modsForHesk_settings[\'rich_text_for_tickets_for_customers\']') === false) {
$file .= '
//-- Setting for using rich-text editor for customers. 0 = Disable, 1 = Enable
$modsForHesk_settings[\'rich_text_for_tickets_for_customers\'] = 0;';
}
return file_put_contents(HESK_PATH . 'modsForHesk_settings.inc.php', $file);
}
// END Version 2.4.1 // END Version 2.4.1
// Version 2.4.2 // Version 2.4.2
@ -716,6 +554,8 @@ function migrateSettings()
{ {
global $hesk_settings; global $hesk_settings;
hesk_dbConnect();
if (file_exists(HESK_PATH . 'modsForHesk_settings.inc.php')) { if (file_exists(HESK_PATH . 'modsForHesk_settings.inc.php')) {
require_once(HESK_PATH . 'modsForHesk_settings.inc.php'); require_once(HESK_PATH . 'modsForHesk_settings.inc.php');
@ -830,6 +670,8 @@ function execute250Scripts()
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('display_user_agent_information', '0')"); executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('display_user_agent_information', '0')");
executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('navbar_title_url', '" . hesk_dbEscape($hesk_settings['hesk_url']) . "'"); executeQuery("INSERT INTO `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` (`Key`, `Value`) VALUES ('navbar_title_url', '" . hesk_dbEscape($hesk_settings['hesk_url']) . "')");
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.5.0' WHERE `Key` = 'modsForHeskVersion'");
} }
// END Version 2.5.0 // END Version 2.5.0

@ -81,8 +81,12 @@ function removeOtherColumns()
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` DROP COLUMN `html`"); 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']) . "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']) . "replies` DROP COLUMN `html`");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "std_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']) . "ticket_templates` DROP COLUMN `html`"); 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`");
// These queries are ran in case someone used an unfortunate installation they may have not properly cleaned up tables // These queries are ran in case someone used an unfortunate installation they may have not properly cleaned up tables

Loading…
Cancel
Save