diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/functions_user.inc.php | 38 |
1 files 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); |