From b137b4f018e3c9381f02ce645e0fd630c4017ca7 Mon Sep 17 00:00:00 2001 From: plegall Date: Tue, 14 Jun 2011 08:24:48 +0000 Subject: bug 2340 fixed: external authentication was broken, error in SQL syntax and wrong PHP variable name was used. git-svn-id: http://piwigo.org/svn/branches/2.2@11355 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/functions_user.inc.php | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php index 549daf7cb..5706b3165 100644 --- a/include/functions_user.inc.php +++ b/include/functions_user.inc.php @@ -292,42 +292,40 @@ SELECT '; $row = pwg_db_fetch_assoc(pwg_query($query)); - // retrieve user info - $query = ' -SELECT - ui.*, - uc.*, - t.name AS theme_name - FROM '.USER_INFOS_TABLE.' AS ui - LEFT JOIN '.USER_CACHE_TABLE.' AS uc ON ui.user_id = uc.user_id - LEFT JOIN '.THEMES_TABLE.' AS t ON t.id = ui.theme - WHERE ui.user_id = '.$user_id.' -;'; - - $result = pwg_query($query); - $user_infos_row = pwg_db_fetch_assoc($result); - // retrieve additional user data ? if ($conf['external_authentification']) { $query = ' SELECT - COUNT(1) AS counter, + COUNT(1) AS counter FROM '.USER_INFOS_TABLE.' AS ui LEFT JOIN '.USER_CACHE_TABLE.' AS uc ON ui.user_id = uc.user_id LEFT JOIN '.THEMES_TABLE.' AS t ON t.id = ui.theme WHERE ui.user_id = '.$user_id.' GROUP BY ui.user_id ;'; - if (pwg_db_fetch_row(pwg_query($query))!=1) + list($counter) = pwg_db_fetch_row(pwg_query($query)); + if ($counter != 1) { create_user_infos($user_id); - - $result = pwg_query($user_info_query); - $user_infos_row = pwg_db_fetch_assoc($result); } } + // retrieve user info + $query = ' +SELECT + ui.*, + uc.*, + t.name AS theme_name + FROM '.USER_INFOS_TABLE.' AS ui + LEFT JOIN '.USER_CACHE_TABLE.' AS uc ON ui.user_id = uc.user_id + LEFT JOIN '.THEMES_TABLE.' AS t ON t.id = ui.theme + WHERE ui.user_id = '.$user_id.' +;'; + + $result = pwg_query($query); + $user_infos_row = pwg_db_fetch_assoc($result); + // then merge basic + additional user data $row = array_merge($row, $user_infos_row); -- cgit v1.2.3