// Some security stuff...
if (!defined('__SECURITY')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+ $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
require($INC);
}
-//
+// Checks wether the nickname is active
function NICKNAME_IS_ACTIVE ($uidNick) {
// By default nothing is found...
$ret = false;
// 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__);
-
- // Check existence of nickname
- $ret = (SQL_NUMROWS($result) == 1);
+ // Nickname or userid used?
+ $nick = NICKNAME_GET_NICK($uidNick);
// Put it in cache
- $GLOBALS['cache_array']['nick_active'][$uidNick] = $ret;
-
- // Free result
- SQL_FREERESULT($result);
+ $GLOBALS['cache_array']['nick_active'][$uidNick] = (!empty($nick));
}
// Return nickname
return $ret;
}
-//
+// "Getter" for nickname for specfied userid
function NICKNAME_GET_NICK ($userid) {
// If not found...
- $ret = "";
+ $ret = '';
// Found in cache?
if (isset($GLOBALS['cache_array']['nicknames'][$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__);
+ } else {
+ // Init result
+ $result = false;
+
+ // Nickname or userid used?
+ if (''.round($userid).'' === ''.$userid.'') {
+ // Userid given
+ $result = SQL_QUERY_ESC("SELECT `userid` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid` =%s LIMIT 1",
+ array(bigintval($userid)), __FUNCTION__, __LINE__);
+ } else {
+ // Nickname given
+ $result = SQL_QUERY_ESC("SELECT `userid` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `nickname`='%s' LIMIT 1",
+ array($userid), __FUNCTION__, __LINE__);
+ }
// Found?
if (SQL_NUMROWS($result) == 1) {
return $ret;
}
-// Simple wrapper function
-function NICKNAME_PROBE_ON_USERID ($uid) {
- return (NICKNAME_GET_NICK($uid) != "");
-}
-
//
?>