X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Fnickname_functions.php;h=08a94a206db0b3c09245175f15e9fcf77cde5e7e;hb=4fb64ee12fc856499810421c13c55893e7a00bdf;hp=8b9fe5bcecdaad182f653205a002da7cebd3e79c;hpb=e71e9e1380d65ccd06beef6fbc594bec10371f5f;p=mailer.git diff --git a/inc/libs/nickname_functions.php b/inc/libs/nickname_functions.php index 8b9fe5bcec..08a94a206d 100644 --- a/inc/libs/nickname_functions.php +++ b/inc/libs/nickname_functions.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * 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 * @@ -33,84 +38,75 @@ // 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) { - global $cacheArray; - +// Checks wether the nickname is active +function isNicknameOrUserid ($useridNick) { // By default nothing is found... $ret = false; // Found in cache? - if (isset($cacheArray['nick_active'][$uidNick])) { + if (isset($GLOBALS['nickname_active'][$useridNick])) { // Use it directly - $ret = $cacheArray['nick_active'][$uidNick]; - - // Increment cache counter - incrementConfigEntry('cache_hits'); + $ret = $GLOBALS['nickname_active'][$useridNick]; } 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), __FILE__, __LINE__); + // Nickname or userid used? + $nick = getNickname($useridNick); - // Check existence of nickname - $ret = (SQL_NUMROWS($result) == 1); + // Check for nickname + $ret = ($nick == $useridNick); // Put it in cache - $cacheArray['nick_active'][$uidNick] = $ret; - - // Free result - SQL_FREERESULT($result); + $GLOBALS['nickname_active'][$useridNick] = $ret; } // Return nickname return $ret; } -// -function NICKNAME_GET_NICK ($userid) { - global $cacheArray; - +// "Getter" for nickname for specfied userid +function getNickname ($userid) { // If not found... - $ret = ""; + $ret = ''; // Found in cache? - if (isset($cacheArray['nicknames'][$userid])) { + if (isset($GLOBALS['nicknames'][$userid])) { // Use it directly - $ret = $cacheArray['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)), __FILE__, __LINE__); - - // Found? - if (SQL_NUMROWS($result) == 1) { - // Load nickname from database - list($ret) = SQL_FETCHROW($result); + $ret = $GLOBALS['nicknames'][$userid]; + } 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['nicknames'][$userid] = $ret; + } // END - if + + // Free result + SQL_FREERESULT($result); + } else { + // Direct nickname found! + $ret = $userid; // Put it in cche - $cacheArray['nicknames'][$userid] = $ret; - } // END - if - - // Free result - SQL_FREERESULT($result); + $GLOBALS['nicknames'][$userid] = $ret; + } } // Return nickname return $ret; } -// Simple wrapper function -function NICKNAME_PROBE_ON_USERID ($uid) { - return (NICKNAME_GET_NICK($uid) != ""); -} - -// +// [EOF] ?>