diff --git a/include/mysql.php b/include/mysql.php index 7a3819f4e839f891b8dfb940f73d57209cc436d5..15a8a432b3aa6402df15bc93a56d2c66ddd54c65 100644 --- a/include/mysql.php +++ b/include/mysql.php @@ -74,7 +74,7 @@ return ($database && @mysql_select_db($database)); } - function db_create_database($database, $charset='utf8', $collate='utf8_unicode_ci') { + function db_create_database($database, $charset='utf8', $collate='utf8_general_ci') { return @mysql_query(sprintf('CREATE DATABASE %s DEFAULT CHARACTER SET %s COLLATE %s', $database, $charset, $collate)); } diff --git a/include/upgrader/sql/435c62c3-2e7531a2.patch.sql b/include/upgrader/sql/435c62c3-2e7531a2.patch.sql index 9537d1acba838be54ec1ece8c7ab4a80545f1bc0..760a6b0c3679bad02e6dd5f7d4c09089a2ddd38e 100644 --- a/include/upgrader/sql/435c62c3-2e7531a2.patch.sql +++ b/include/upgrader/sql/435c62c3-2e7531a2.patch.sql @@ -10,7 +10,7 @@ CREATE TABLE `%TABLE_PREFIX%group_dept_access` ( `dept_id` int(10) unsigned NOT NULL default '0', UNIQUE KEY `group_dept` (`group_id`,`dept_id`), KEY `dept_id` (`dept_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Extend membership to groups ALTER TABLE `%TABLE_PREFIX%department` diff --git a/include/upgrader/sql/98ae1ed2-e342f869.patch.sql b/include/upgrader/sql/98ae1ed2-e342f869.patch.sql index 4fc011ce8a01ec56e8dfafa0d4da9a5300335b4c..3c2f57454f852eaef23d59dd603543b0df56177f 100644 --- a/include/upgrader/sql/98ae1ed2-e342f869.patch.sql +++ b/include/upgrader/sql/98ae1ed2-e342f869.patch.sql @@ -143,7 +143,7 @@ CREATE TABLE `%TABLE_PREFIX%api_key` ( `created` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `ipaddr` (`ipaddr`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `%TABLE_PREFIX%syslog`; CREATE TABLE `%TABLE_PREFIX%syslog` ( @@ -157,7 +157,7 @@ CREATE TABLE `%TABLE_PREFIX%syslog` ( `updated` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`log_id`), KEY `log_type` (`log_type`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; UPDATE `%TABLE_PREFIX%config` SET `ostversion`='1.6 RC5'; diff --git a/include/upgrader/sql/9f3b454c-c0fd16f4.patch.sql b/include/upgrader/sql/9f3b454c-c0fd16f4.patch.sql new file mode 100644 index 0000000000000000000000000000000000000000..bcd1eedebedeb73bdbf1bb6f8444319c4adec16f --- /dev/null +++ b/include/upgrader/sql/9f3b454c-c0fd16f4.patch.sql @@ -0,0 +1,28 @@ +/** + * @version v1.7 + * + * @schema c0fd16f4eaf99b920be9f7fc6ebead32 + */ + +-- Increment varchar size for various fields... based on feedback from users. + +ALTER TABLE `%TABLE_PREFIX%session` + CHANGE `session_id` `session_id` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''; + +ALTER TABLE `%TABLE_PREFIX%ticket` + CHANGE `name` `name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '', + CHANGE `email` `email` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '', + CHANGE `subject` `subject` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '[no subject]'; + +ALTER TABLE `%TABLE_PREFIX%email` + CHANGE `email` `email` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '', + CHANGE `name` `name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '', + CHANGE `userid` `userid` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + CHANGE `mail_host` `mail_host` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + CHANGE `smtp_host` `smtp_host` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL; + +ALTER TABLE `%TABLE_PREFIX%department` + CHANGE `dept_name` `dept_name` VARCHAR( 128 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''; + +UPDATE `%TABLE_PREFIX%config` + SET `schema_signature`='c0fd16f4eaf99b920be9f7fc6ebead32'; diff --git a/include/upgrader/sql/c00511c7-7be60a84.patch.sql b/include/upgrader/sql/c00511c7-7be60a84.patch.sql index 80e652cc7a91d3cc7a90f18c4059343651d49099..25465e81bfc1aed8ee5399c1a4d6be3db59a29ea 100644 --- a/include/upgrader/sql/c00511c7-7be60a84.patch.sql +++ b/include/upgrader/sql/c00511c7-7be60a84.patch.sql @@ -88,7 +88,7 @@ CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%sla` ( `updated` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Create a default SLA INSERT INTO `%TABLE_PREFIX%sla` (`isactive`, `enable_priority_escalation`, @@ -109,7 +109,7 @@ CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%team` ( UNIQUE KEY `name` (`name`), KEY `isnabled` (`isenabled`), KEY `lead_id` (`lead_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- Create a default TEAM INSERT INTO `%TABLE_PREFIX%team` (`lead_id`, `isenabled`, `noalerts`, `name`, `notes`, `created`, `updated`) @@ -121,7 +121,7 @@ CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%team_member` ( `staff_id` int(10) unsigned NOT NULL, `updated` datetime NOT NULL, PRIMARY KEY (`team_id`,`staff_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; ALTER TABLE `%TABLE_PREFIX%department` ADD sla_id INT UNSIGNED NOT NULL DEFAULT '0' AFTER tpl_id; diff --git a/main.inc.php b/main.inc.php index 045fcd502deed01f2fb96171fa70d54c154c0f99..2dc651c9979d9d3cdda518efeb274f49e1d57d37 100644 --- a/main.inc.php +++ b/main.inc.php @@ -63,7 +63,7 @@ #Current version && schema signature (Changes from version to version) define('THIS_VERSION','1.7-RC4+'); //Shown on admin panel - define('SCHEMA_SIGNATURE','9f3b454c06dfd5ee96003eae5182ac13'); //MD5 signature of the db schema. (used to trigger upgrades) + define('SCHEMA_SIGNATURE', 'c0fd16f4eaf99b920be9f7fc6ebead32'); //MD5 signature of the db schema. (used to trigger upgrades) #load config info $configfile=''; if(file_exists(ROOT_DIR.'ostconfig.php')) //Old installs prior to v 1.6 RC5 diff --git a/setup/inc/class.installer.php b/setup/inc/class.installer.php index f355fbe04cf8a55aaa50bac9e9672131b3c3354a..0e2e19f57af70490fb678f84455c7cd5103c35ee 100644 --- a/setup/inc/class.installer.php +++ b/setup/inc/class.installer.php @@ -95,6 +95,9 @@ class Installer extends SetupWizard { if(mysql_query($sql)) { $this->errors['err'] = 'We have a problem - another installation with same table prefix exists!'; $this->errors['prefix'] = 'Prefix already in-use'; + } else { + //Try changing charset and collation of the DB - no bigie if we fail. + mysql_query('ALTER DATABASE '.$vars['dbname'].' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci'); } } } diff --git a/setup/inc/sql/osTicket-mysql.sql b/setup/inc/sql/osTicket-mysql.sql index 004b9934092948798fc84adbe2e987af6006cd2b..ba980b876cb9038a4f9a559037fad104d85b312d 100644 --- a/setup/inc/sql/osTicket-mysql.sql +++ b/setup/inc/sql/osTicket-mysql.sql @@ -173,7 +173,7 @@ CREATE TABLE `%TABLE_PREFIX%department` ( `email_id` int(10) unsigned NOT NULL default '0', `autoresp_email_id` int(10) unsigned NOT NULL default '0', `manager_id` int(10) unsigned NOT NULL default '0', - `dept_name` varchar(32) NOT NULL default '', + `dept_name` varchar(128) NOT NULL default '', `dept_signature` tinytext NOT NULL, `ispublic` tinyint(1) unsigned NOT NULL default '1', `group_membership` tinyint(1) NOT NULL default '0', @@ -198,12 +198,12 @@ CREATE TABLE `%TABLE_PREFIX%email` ( `noautoresp` tinyint(1) unsigned NOT NULL default '0', `priority_id` tinyint(3) unsigned NOT NULL default '2', `dept_id` tinyint(3) unsigned NOT NULL default '0', - `email` varchar(125) NOT NULL default '', - `name` varchar(32) NOT NULL default '', - `userid` varchar(125) NOT NULL, + `email` varchar(255) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `userid` varchar(255) NOT NULL, `userpass` varchar(125) NOT NULL, `mail_active` tinyint(1) NOT NULL default '0', - `mail_host` varchar(125) NOT NULL, + `mail_host` varchar(255) NOT NULL, `mail_protocol` enum('POP','IMAP') NOT NULL default 'POP', `mail_encryption` enum('NONE','SSL') NOT NULL, `mail_port` int(6) default NULL, @@ -215,7 +215,7 @@ CREATE TABLE `%TABLE_PREFIX%email` ( `mail_lasterror` datetime default NULL, `mail_lastfetch` datetime default NULL, `smtp_active` tinyint(1) default '0', - `smtp_host` varchar(125) NOT NULL, + `smtp_host` varchar(255) NOT NULL, `smtp_port` int(6) default NULL, `smtp_secure` tinyint(1) NOT NULL default '1', `smtp_auth` tinyint(1) NOT NULL default '1', @@ -383,7 +383,7 @@ CREATE TABLE `%TABLE_PREFIX%group_dept_access` ( `dept_id` int(10) unsigned NOT NULL default '0', UNIQUE KEY `group_dept` (`group_id`,`dept_id`), KEY `dept_id` (`dept_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `%TABLE_PREFIX%group_dept_access` (`group_id`, `dept_id`) VALUES (1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2); @@ -449,7 +449,7 @@ INSERT INTO `%TABLE_PREFIX%canned_attachment` (`canned_id`, `file_id`) VALUES (1 DROP TABLE IF EXISTS `%TABLE_PREFIX%session`; CREATE TABLE `%TABLE_PREFIX%session` ( - `session_id` varchar(32) collate utf8_unicode_ci NOT NULL default '', + `session_id` varchar(256) collate utf8_unicode_ci NOT NULL default '', `session_data` longtext collate utf8_unicode_ci, `session_expire` datetime default NULL, `session_updated` datetime default NULL, @@ -558,7 +558,7 @@ CREATE TABLE `%TABLE_PREFIX%team_member` ( `staff_id` int(10) unsigned NOT NULL, `updated` datetime NOT NULL, PRIMARY KEY (`team_id`,`staff_id`) -) ENGINE=MyISAM; +) ENGINE=MyISAM DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `%TABLE_PREFIX%ticket`; CREATE TABLE `%TABLE_PREFIX%ticket` ( @@ -570,9 +570,9 @@ CREATE TABLE `%TABLE_PREFIX%ticket` ( `topic_id` int(10) unsigned NOT NULL default '0', `staff_id` int(10) unsigned NOT NULL default '0', `team_id` int(10) unsigned NOT NULL default '0', - `email` varchar(120) NOT NULL default '', - `name` varchar(32) NOT NULL default '', - `subject` varchar(64) NOT NULL default '[no subject]', + `email` varchar(255) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `subject` varchar(255) NOT NULL default '[no subject]', `phone` varchar(16) default NULL, `phone_ext` varchar(8) default NULL, `ip_address` varchar(64) NOT NULL default '', diff --git a/setup/inc/sql/osTicket-mysql.sql.md5 b/setup/inc/sql/osTicket-mysql.sql.md5 index 49a6e93dd4e013257c9abf0f1117e12241ee381c..db25b4569b60dcd93349db6f4f51cd58047ef807 100644 --- a/setup/inc/sql/osTicket-mysql.sql.md5 +++ b/setup/inc/sql/osTicket-mysql.sql.md5 @@ -1 +1 @@ -9f3b454c06dfd5ee96003eae5182ac13 +c0fd16f4eaf99b920be9f7fc6ebead32