- Fix username case-insensitivity issue in MySQL (#1488021)
| | |
| | | CHANGELOG Roundcube Webmail |
| | | =========================== |
| | | |
| | | - Fix username case-insensitivity issue in MySQL (#1488021) |
| | | - Addressbook Saved Searches |
| | | - Added spellchecker exceptions dictionary (shared or per-user) |
| | | - Added possibility to ignore words containing caps, numbers, symbols (spellcheck_ignore_* options) |
| | |
| | | |
| | | CREATE TABLE `users` ( |
| | | `user_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, |
| | | `username` varchar(128) NOT NULL, |
| | | `username` varchar(128) BINARY NOT NULL, |
| | | `mail_host` varchar(128) NOT NULL, |
| | | `alias` varchar(128) NOT NULL, |
| | | `alias` varchar(128) BINARY NOT NULL, |
| | | `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', |
| | | `last_login` datetime DEFAULT NULL, |
| | | `language` varchar(5), |
| | |
| | | |
| | | -- Updates from version 0.6-stable |
| | | |
| | | ALTER TABLE `users` CHANGE `alias` `alias` varchar(128) BINARY NOT NULL; |
| | | ALTER TABLE `users` CHANGE `username` `username` varchar(128) BINARY NOT NULL; |
| | | |
| | | CREATE TABLE `dictionary` ( |
| | | `user_id` int(10) UNSIGNED DEFAULT NULL, |
| | | `language` varchar(5) NOT NULL, |
| | |
| | | { |
| | | $dbh = rcmail::get_instance()->get_dbh(); |
| | | |
| | | // use BINARY (case-sensitive) comparison on MySQL, other engines are case-sensitive |
| | | $mod = preg_match('/^mysql/', $dbh->db_provider) ? 'BINARY' : ''; |
| | | |
| | | // query for matching user name |
| | | $query = "SELECT * FROM ".get_table_name('users')." WHERE mail_host = ? AND %s = $mod ?"; |
| | | $query = "SELECT * FROM ".get_table_name('users')." WHERE mail_host = ? AND %s = ?"; |
| | | $sql_result = $dbh->query(sprintf($query, 'username'), $host, $user); |
| | | |
| | | // query for matching alias |