From 6feff44cf2653f93f61cac44919e7890b59456f7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Mon, 17 Aug 2009 17:57:15 +0000 Subject: [PATCH] Rewrite to save queries --- inc/libs/nickname_functions.php | 34 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/inc/libs/nickname_functions.php b/inc/libs/nickname_functions.php index f3e258bb4a..fc575fbf3f 100644 --- a/inc/libs/nickname_functions.php +++ b/inc/libs/nickname_functions.php @@ -55,25 +55,11 @@ function NICKNAME_IS_ACTIVE ($uidNick) { // Increment cache counter incrementConfigEntry('cache_hits'); } else { - // Init result - $result = false; - // Nickname or userid used? - if (''.round($uidNick).'' === ''.$uidNick.'') { - // Userid given - $result = SQL_QUERY_ESC("SELECT `userid` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid` =%s LIMIT 1", - array(bigintval($uidNick)), __FUNCTION__, __LINE__); - } else { - // Nickname given - $result = SQL_QUERY_ESC("SELECT `userid` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `nickname`='%s' LIMIT 1", - array($uidNick), __FUNCTION__, __LINE__); - } - - // Check existence of nickname - $ret = (SQL_NUMROWS($result) == 1); + $nick = NICKNAME_GET_NICK($uidNick); // Put it in cache - $GLOBALS['cache_array']['nick_active'][$uidNick] = $ret; + $GLOBALS['cache_array']['nick_active'][$uidNick] = (!empty($nick)); // Free result SQL_FREERESULT($result); @@ -96,9 +82,19 @@ 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__); + // Init result + $result = false; + + // Nickname or userid used? + if (''.round($uidNick).'' === ''.$uidNick.'') { + // Userid given + $result = SQL_QUERY_ESC("SELECT `userid` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid` =%s LIMIT 1", + array(bigintval($uidNick)), __FUNCTION__, __LINE__); + } else { + // Nickname given + $result = SQL_QUERY_ESC("SELECT `userid` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `nickname`='%s' LIMIT 1", + array($uidNick), __FUNCTION__, __LINE__); + } // Found? if (SQL_NUMROWS($result) == 1) { -- 2.30.2