* -------------------------------------------------------------------- *
* Kurzbeschreibung : Nickname-Funktionen *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
+ * Needs to be in all Files and every File needs "svn propset *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2008 by Roland Haeder *
* For more information visit: http://www.mxchange.org *
************************************************************************/
// Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
-{
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+if (!defined('__SECURITY')) {
+ $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
require($INC);
}
-//
-function NICKNAME_IS_ACTIVE($uidNick)
-{
+
+// Checks wether the nickname is active
+function NICKNAME_IS_ACTIVE ($uidNick) {
+ // By default nothing is found...
$ret = false;
- $result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE (userid=%d AND userid > 0 AND nickname != '') OR nickname='%s' LIMIT 1",
- array(bigintval($uidNick), $uidNick), __FILE__, __LINE__);
- // Check existence of nickname
- if (SQL_NUMROWS($result) == 1) $ret = true;
+ // Found in cache?
+ if (isset($GLOBALS['cache_array']['nick_active'][$uidNick])) {
+ // Use it directly
+ $ret = $GLOBALS['cache_array']['nick_active'][$uidNick];
+
+ // Increment cache counter
+ incrementConfigEntry('cache_hits');
+ } else {
+ // Nickname or userid used?
+ $nick = NICKNAME_GET_NICK($uidNick);
- // Free result
- SQL_FREERESULT($result);
+ // Put it in cache
+ $GLOBALS['cache_array']['nick_active'][$uidNick] = (!empty($nick));
+
+ // Free result
+ SQL_FREERESULT($result);
+ }
// Return nickname
return $ret;
}
-//
-function NICKNAME_GET_NICK($userid)
-{
+
+// "Getter" for nickname for specfied userid
+function NICKNAME_GET_NICK ($userid) {
// If not found...
- $ret = "";
+ $ret = '';
- // Search for non-empty nickname
- $result = SQL_QUERY_ESC("SELECT nickname FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d AND nickname != '' LIMIT 1",
- array(bigintval($userid)), __FILE__, __LINE__);
+ // Found in cache?
+ if (isset($GLOBALS['cache_array']['nicknames'][$userid])) {
+ // Use it directly
+ $ret = $GLOBALS['cache_array']['nicknames'][$userid];
- // Found?
- if (SQL_NUMROWS($result) == 1)
- {
- // Load nickname from database
- list($ret) = SQL_FETCHROW($result);
- }
+ // 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__);
+ }
+
+ // Found?
+ if (SQL_NUMROWS($result) == 1) {
+ // Load nickname from database
+ list($ret) = SQL_FETCHROW($result);
- // Free result
- SQL_FREERESULT($result);
+ // Put it in cche
+ $GLOBALS['cache_array']['nicknames'][$userid] = $ret;
+ } // END - if
+
+ // Free result
+ SQL_FREERESULT($result);
+ }
// Return nickname
return $ret;
}
+
//
?>