X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Fnickname_functions.php;h=766bd54cfec50ad79be427044013bf2eab9d2e72;hb=d1637dad0b2ca0e5fb411ee0843f01bfb4cc94e0;hp=71eabb03aa939bf667b3da7b364cacd32a033abb;hpb=7b0f17cd637e388049d2167811e4332cec1e979b;p=mailer.git diff --git a/inc/libs/nickname_functions.php b/inc/libs/nickname_functions.php index 71eabb03aa..766bd54cfe 100644 --- a/inc/libs/nickname_functions.php +++ b/inc/libs/nickname_functions.php @@ -42,7 +42,7 @@ if (!defined('__SECURITY')) { require($INC); } -// +// Checks wether the nickname is active function NICKNAME_IS_ACTIVE ($uidNick) { // By default nothing is found... $ret = false; @@ -55,26 +55,21 @@ function NICKNAME_IS_ACTIVE ($uidNick) { // Increment cache counter incrementConfigEntry('cache_hits'); } else { - // Search in database - // @TODO Can we replace this with GET_TOTAL_DATA() ? - $result = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s OR nickname='%s' LIMIT 1", - array(bigintval($uidNick), $uidNick), __FUNCTION__, __LINE__); + // Nickname or userid used? + $nick = NICKNAME_GET_NICK($uidNick); - // Check existence of nickname - $ret = (SQL_NUMROWS($result) == 1); + // Check for nickname + $ret = ($nick != $uidNick); // Put it in cache $GLOBALS['cache_array']['nick_active'][$uidNick] = $ret; - - // Free result - SQL_FREERESULT($result); } // Return nickname return $ret; } -// +// "Getter" for nickname for specfied userid function NICKNAME_GET_NICK ($userid) { // If not found... $ret = ''; @@ -86,32 +81,39 @@ function NICKNAME_GET_NICK ($userid) { // Increment cache counter incrementConfigEntry('cache_hits'); - } elseif (NICKNAME_IS_ACTIVE($userid)) { - // Search for non-empty nickname - $result = SQL_QUERY_ESC("SELECT nickname FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s AND nickname != '' LIMIT 1", - array(bigintval($userid)), __FUNCTION__, __LINE__); - - // Found? - if (SQL_NUMROWS($result) == 1) { - // Load nickname from database - list($ret) = SQL_FETCHROW($result); + } else { + // Init result + $result = false; + + // Nickname or userid used? + if (''.round($userid).'' === ''.$userid.'') { + // Userid given + $result = SQL_QUERY_ESC("SELECT `nickname` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid` =%s LIMIT 1", + array(bigintval($userid)), __FUNCTION__, __LINE__); + + // Found? + if (SQL_NUMROWS($result) == 1) { + // Load nickname from database + list($ret) = SQL_FETCHROW($result); + + // Put it in cche + $GLOBALS['cache_array']['nicknames'][$userid] = $ret; + } // END - if + + // Free result + SQL_FREERESULT($result); + } else { + // Direct nickname found! + $ret = $userid; // Put it in cche $GLOBALS['cache_array']['nicknames'][$userid] = $ret; - } // END - if - - // Free result - SQL_FREERESULT($result); + } } // Return nickname return $ret; } -// Simple wrapper function -function NICKNAME_PROBE_ON_USERID ($uid) { - return (NICKNAME_GET_NICK($uid) != ''); -} - // ?>