* -------------------------------------------------------------------- *
* 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 *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
// Some security stuff...
if (!defined('__SECURITY')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
+ die();
}
-//
-function NICKNAME_IS_ACTIVE($uidNick)
-{
+// Checks wether the nickname is active
+function isNicknameOrUserid ($useridNick) {
+ // By default nothing is found...
$ret = false;
- $result = SQL_QUERY_ESC("SELECT userid FROM `"._MYSQL_PREFIX."_user_data` WHERE (userid=%s AND userid > 0) 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['nickname_active'][$useridNick])) {
+ // Use it directly
+ $ret = $GLOBALS['nickname_active'][$useridNick];
+ } else {
+ // Nickname or userid used?
+ $nick = getNickname($useridNick);
+
+ // Check for nickname
+ $ret = ($nick == $useridNick);
- // Free result
- SQL_FREERESULT($result);
+ // Put it in cache
+ $GLOBALS['nickname_active'][$useridNick] = $ret;
+ }
// Return nickname
return $ret;
}
-//
-function NICKNAME_GET_NICK($userid)
-{
+
+// "Getter" for nickname for specfied userid
+function getNickname ($userid) {
// If not found...
- $ret = "";
+ $ret = '';
- // 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)), __FILE__, __LINE__);
+ // Found in cache?
+ if (isset($GLOBALS['nicknames'][$userid])) {
+ // Use it directly
+ $ret = $GLOBALS['nicknames'][$userid];
+ } else {
+ // Init result
+ $result = false;
- // Found?
- if (SQL_NUMROWS($result) == 1)
- {
- // Load nickname from database
- list($ret) = SQL_FETCHROW($result);
- }
+ // 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__);
- // Free result
- SQL_FREERESULT($result);
+ // Found?
+ if (SQL_NUMROWS($result) == 1) {
+ // Load nickname from database
+ list($ret) = SQL_FETCHROW($result);
+
+ // Put it in cche
+ $GLOBALS['nicknames'][$userid] = $ret;
+ } // END - if
+
+ // Free result
+ SQL_FREERESULT($result);
+ } else {
+ // Direct nickname found!
+ $ret = $userid;
+
+ // Put it in cche
+ $GLOBALS['nicknames'][$userid] = $ret;
+ }
+ }
// Return nickname
return $ret;
}
-//
+
+// [EOF]
?>