Changeset 565c472 in github
- Timestamp:
- Aug 6, 2012 5:08:58 AM (10 months ago)
- Children:
- c41a86e5
- Parents:
- 83121ec
- Files:
-
- 11 edited
-
CHANGELOG (modified) (1 diff)
-
SQL/mssql.initial.sql (modified) (3 diffs)
-
SQL/mssql.upgrade.sql (modified) (1 diff)
-
SQL/mysql.initial.sql (modified) (3 diffs)
-
SQL/mysql.update.sql (modified) (1 diff)
-
SQL/postgres.initial.sql (modified) (3 diffs)
-
SQL/postgres.update.sql (modified) (1 diff)
-
SQL/sqlite.initial.sql (modified) (3 diffs)
-
SQL/sqlite.update.sql (modified) (1 diff)
-
config/main.inc.php.dist (modified) (1 diff)
-
program/include/rcube_user.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG
r83121ec r565c472 2 2 =========================== 3 3 4 - Removed users.alias column, added option ('user_aliases') 5 to use email address from identities as username (#1488581) 4 6 - Removed redundant cache.cache_id column (#1488528) 5 7 - Fix order of attachments in sent mail (#1488423) -
SQL/mssql.initial.sql
r83121ec r565c472 93 93 [username] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , 94 94 [mail_host] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , 95 [alias] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,96 95 [created] [datetime] NOT NULL , 97 96 [last_login] [datetime] NULL , … … 275 274 CREATE INDEX [IX_identities_user_id] ON [dbo].[identities]([user_id]) ON [PRIMARY] 276 275 GO 276 CREATE INDEX [IX_identities_email] ON [dbo].[identities]([email],[del]) ON [PRIMARY] 277 GO 277 278 278 279 ALTER TABLE [dbo].[session] ADD … … 288 289 CONSTRAINT [DF_users_username] DEFAULT ('') FOR [username], 289 290 CONSTRAINT [DF_users_mail_host] DEFAULT ('') FOR [mail_host], 290 CONSTRAINT [DF_users_alias] DEFAULT ('') FOR [alias],291 291 CONSTRAINT [DF_users_created] DEFAULT (getdate()) FOR [created] 292 292 GO 293 293 294 294 CREATE UNIQUE INDEX [IX_users_username] ON [dbo].[users]([username],[mail_host]) ON [PRIMARY] 295 GO296 297 CREATE INDEX [IX_users_alias] ON [dbo].[users]([alias]) ON [PRIMARY]298 295 GO 299 296 -
SQL/mssql.upgrade.sql
r7ac99af3 r565c472 263 263 GO 264 264 265 -- Updates from version 0.8 266 267 ALTER TABLE [dbo].[cache] DROP COLUMN [cache_id] 268 GO 269 ALTER TABLE [dbo].[users] DROP COLUMN [alias] 270 GO 271 CREATE INDEX [IX_identities_email] ON [dbo].[identities]([email],[del]) ON [PRIMARY] 272 GO 273 -
SQL/mysql.initial.sql
r83121ec r565c472 23 23 `username` varchar(128) BINARY NOT NULL, 24 24 `mail_host` varchar(128) NOT NULL, 25 `alias` varchar(128) BINARY NOT NULL,26 25 `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', 27 26 `last_login` datetime DEFAULT NULL, … … 29 28 `preferences` text, 30 29 PRIMARY KEY(`user_id`), 31 UNIQUE `username` (`username`, `mail_host`), 32 INDEX `alias_index` (`alias`) 30 UNIQUE `username` (`username`, `mail_host`) 33 31 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; 34 32 … … 157 155 CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`) 158 156 REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, 159 INDEX `user_identities_index` (`user_id`, `del`) 157 INDEX `user_identities_index` (`user_id`, `del`), 158 INDEX `email_identities_index` (`email`, `del`) 160 159 ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; 161 160 -
SQL/mysql.update.sql
r83121ec r565c472 243 243 -- Updates from version 0.8 244 244 245 ALTER TABLE cache DROP COLUMN cache_id; 245 ALTER TABLE `cache` DROP COLUMN `cache_id`; 246 ALTER TABLE `users` DROP COLUMN `alias`; 247 ALTER TABLE `identities` ADD INDEX `email_identities_index` (`email`, `del`); -
SQL/postgres.initial.sql
r83121ec r565c472 21 21 username varchar(128) DEFAULT '' NOT NULL, 22 22 mail_host varchar(128) DEFAULT '' NOT NULL, 23 alias varchar(128) DEFAULT '' NOT NULL,24 23 created timestamp with time zone DEFAULT now() NOT NULL, 25 24 last_login timestamp with time zone DEFAULT NULL, … … 29 28 ); 30 29 31 CREATE INDEX users_alias_id_idx ON users (alias); 32 33 30 34 31 -- 35 32 -- Table "session" … … 82 79 83 80 CREATE INDEX identities_user_id_idx ON identities (user_id, del); 81 CREATE INDEX identities_email_idx ON identities (email, del); 84 82 85 83 -
SQL/postgres.update.sql
r83121ec r565c472 181 181 ALTER TABLE cache DROP COLUMN cache_id; 182 182 DROP SEQUENCE cache_ids; 183 184 ALTER TABLE users DROP COLUMN alias; 185 CREATE INDEX identities_email_idx ON identities (email, del); -
SQL/sqlite.initial.sql
r83121ec r565c472 81 81 82 82 CREATE INDEX ix_identities_user_id ON identities(user_id, del); 83 CREATE INDEX ix_identities_email ON identities(email, del); 83 84 84 85 … … 93 94 username varchar(128) NOT NULL default '', 94 95 mail_host varchar(128) NOT NULL default '', 95 alias varchar(128) NOT NULL default '',96 96 created datetime NOT NULL default '0000-00-00 00:00:00', 97 97 last_login datetime DEFAULT NULL, … … 101 101 102 102 CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); 103 CREATE INDEX ix_users_alias ON users(alias);104 103 105 104 -- -------------------------------------------------------- -
SQL/sqlite.update.sql
r83121ec r565c472 347 347 CREATE INDEX ix_cache_user_cache_key ON cache(user_id, cache_key); 348 348 CREATE INDEX ix_cache_created ON cache(created); 349 350 CREATE TABLE tmp_users ( 351 user_id integer NOT NULL PRIMARY KEY, 352 username varchar(128) NOT NULL default '', 353 mail_host varchar(128) NOT NULL default '', 354 created datetime NOT NULL default '0000-00-00 00:00:00', 355 last_login datetime DEFAULT NULL, 356 language varchar(5), 357 preferences text NOT NULL default '' 358 ); 359 360 INSERT INTO tmp_users (user_id, username, mail_host, created, last_login, language, preferences) 361 SELECT user_id, username, mail_host, created, last_login, language, preferences FROM users; 362 363 DROP TABLE users; 364 365 CREATE TABLE users ( 366 user_id integer NOT NULL PRIMARY KEY, 367 username varchar(128) NOT NULL default '', 368 mail_host varchar(128) NOT NULL default '', 369 created datetime NOT NULL default '0000-00-00 00:00:00', 370 last_login datetime DEFAULT NULL, 371 language varchar(5), 372 preferences text NOT NULL default '' 373 ); 374 375 INSERT INTO users (user_id, username, mail_host, created, last_login, language, preferences) 376 SELECT user_id, username, mail_host, created, last_login, language, preferences FROM tmp_users; 377 378 CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); 379 380 CREATE INDEX ix_identities_email ON identities(email, del); -
config/main.inc.php.dist
rb6267dad r565c472 195 195 // set to false if only registered users can use this service 196 196 $rcmail_config['auto_create_user'] = true; 197 198 // Enables possibility to log in using email address from user identities 199 $rcmail_config['user_aliases'] = false; 197 200 198 201 // use this folder to store log files (must be writeable for apache user) -
program/include/rcube_user.php
r622bce2 r565c472 398 398 static function query($user, $host) 399 399 { 400 $dbh = rcube::get_instance()->get_dbh(); 400 $dbh = rcube::get_instance()->get_dbh(); 401 $config = rcube::get_instance()->config; 401 402 402 403 // query for matching user name 403 $query = "SELECT * FROM ".$dbh->table_name('users')." WHERE mail_host = ? AND %s = ?"; 404 $sql_result = $dbh->query(sprintf($query, 'username'), $host, $user); 405 406 // query for matching alias 407 if (!($sql_arr = $dbh->fetch_assoc($sql_result))) { 408 $sql_result = $dbh->query(sprintf($query, 'alias'), $host, $user); 404 $sql_result = $dbh->query("SELECT * FROM " . $dbh->table_name('users') 405 ." WHERE mail_host = ? AND username = ?", $host, $user); 406 407 $sql_arr = $dbh->fetch_assoc($sql_result); 408 409 // username not found, try aliases from identities 410 if (empty($sql_arr) && $config->get('user_aliases') && strpos($user, '@')) { 411 $sql_result = $dbh->limitquery("SELECT u.*" 412 ." FROM " . $dbh->table_name('users') . " u" 413 ." JOIN " . $dbh->table_name('identities') . " i ON (i.user_id = u.user_id)" 414 ." WHERE email = ? AND del <> 1", 0, 1, $user); 415 409 416 $sql_arr = $dbh->fetch_assoc($sql_result); 410 417 }
Note: See TracChangeset
for help on using the changeset viewer.
