diff options
-rw-r--r-- | include/functions_user.inc.php | 14 | ||||
-rw-r--r-- | install/db/22.9-database.php | 84 |
2 files changed, 91 insertions, 7 deletions
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php index 0a3991574..d59fed3ab 100644 --- a/include/functions_user.inc.php +++ b/include/functions_user.inc.php @@ -605,8 +605,8 @@ function log_user($user_id, $remember_me) // search for an existing auto_login_key $query = ' SELECT auto_login_key - FROM '.USERS_TABLE.' - WHERE '.$conf['user_fields']['id'].' = '.$user_id.' + FROM '.USER_INFOS_TABLE.' + WHERE user_id = '.$user_id.' ;'; $auto_login_key = current(mysql_fetch_assoc(pwg_query($query))); @@ -614,9 +614,9 @@ SELECT auto_login_key { $auto_login_key = base64_encode(md5(uniqid(rand(), true))); $query = ' -UPDATE '.USERS_TABLE.' - SET auto_login_key=\''.$auto_login_key.'\' - WHERE '.$conf['user_fields']['id'].' = '.$user_id.' +UPDATE '.USER_INFOS_TABLE.' + SET auto_login_key = \''.$auto_login_key.'\' + WHERE user_id = '.$user_id.' ;'; pwg_query($query); } @@ -658,8 +658,8 @@ function auto_login() { $query = ' SELECT auto_login_key - FROM '.USERS_TABLE.' - WHERE '.$conf['user_fields']['id'].' = '.$cookie['id'].' + FROM '.USER_INFOS_TABLE.' + WHERE user_id = '.$cookie['id'].' ;'; $auto_login_key = current(mysql_fetch_assoc(pwg_query($query))); diff --git a/install/db/22.9-database.php b/install/db/22.9-database.php new file mode 100644 index 000000000..7a50dbc59 --- /dev/null +++ b/install/db/22.9-database.php @@ -0,0 +1,84 @@ +<?php +// +-----------------------------------------------------------------------+ +// | PhpWebGallery - a PHP based picture gallery | +// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | +// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net | +// +-----------------------------------------------------------------------+ +// | branch : BSF (Best So Far) +// | file : $RCSfile$ +// | last update : $Date: 2006-07-23 14:17:00 +0200 (dim, 23 jui 2006) $ +// | last modifier : $Author: nikrou $ +// | revision : $Revision: 1492 $ +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +if (!defined('PHPWG_ROOT_PATH')) +{ + die('Hacking attempt!'); +} + +$upgrade_description = '#users.auto_login_key to #user_infos.auto_login_key'; + +$query = ' +ALTER TABLE '.PREFIX_TABLE.'user_infos + ADD auto_login_key varchar(64) NOT NULL +;'; +pwg_query($query); + +include(PHPWG_ROOT_PATH . 'include/config_default.inc.php'); +@include(PHPWG_ROOT_PATH. 'include/config_local.inc.php'); + +$query = ' +SELECT '.$conf['user_fields']['id'].' AS uid, auto_login_key + FROM '.PREFIX_TABLE.'users + WHERE auto_login_key != \'\' +;'; +$result = pwg_query($query); + +$datas = array(); + +while ($row = mysql_fetch_array($result)) +{ + array_push( + $datas, + array( + 'user_id' => $row['uid'], + 'auto_login_key' => $row['auto_login_key'], + ) + ); +} + +mass_updates( + PREFIX_TABLE.'user_infos', + array( + 'primary' => array('user_id'), + 'update' => array('auto_login_key') + ), + $datas + ); + +$query = ' +ALTER TABLE '.PREFIX_TABLE.'users + DROP COLUMN auto_login_key +;'; +pwg_query($query); + +echo +"\n" +. $upgrade_description +."\n" +; +?> |