diff options
author | plegall <plg@piwigo.org> | 2006-11-06 22:55:38 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2006-11-06 22:55:38 +0000 |
commit | e4606c00b04bb58e18fdf744567d1d329658719d (patch) | |
tree | 498b6d9b4965e72ea37a3d0c9735075b5e37bd16 | |
parent | 967f476b6bb6c3126753045b40a802d40995d647 (diff) |
Bug fixed: #users.auto_login_key moved to #user_infos.auto_login_key because
table users does not contain information specificaly related to
PhpWebGallery. With auto_login_key field in #users, external authentication
won't work.
Warning: when updating with subversion, you'll have to go directly to
upgrade_feed.php
git-svn-id: http://piwigo.org/svn/branches/branch-1_6@1594 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-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" +; +?> |