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
This commit is contained in:
parent
967f476b6b
commit
e4606c00b0
2 changed files with 91 additions and 7 deletions
|
|
@ -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)));
|
||||
|
|
|
|||
84
install/db/22.9-database.php
Normal file
84
install/db/22.9-database.php
Normal file
|
|
@ -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"
|
||||
;
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue