- if ($uid == $ref) return 0;
-
- // Default is zero
- $percents = 0;
-
- // Get percents from database
- $result = SQL_QUERY_ESC("SELECT refback FROM `{!_MYSQL_PREFIX!}_user_refs` WHERE userid=%s AND refid=%s LIMIT 1",
- array($ref, $uid), __FUNCTION__, __LINE__);
-
- // Entry found? (Should be!)
- if (SQL_NUMROWS($result) == 1) {
- // Fetch percents
- list($percents) = SQL_FETCHROW($result);
- //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):percents={$percents}<br />\n";
- } else {
- // Debug log
- //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>): NO ENTRY FOUND! :-(<br />\n";
- DEBUG_LOG(__FUNCTION__, __LINE__, " uid={$uid},ref={$ref} - No entry found! :-(");
- }
-
- // Free result
- SQL_FREERESULT($result);
+ if ($userid == $ref) return 0;
+
+ // Is it cached?
+ if (!isset($GLOBALS['refback_percents'][$userid][$ref])) {
+ // Default is zero
+ $GLOBALS['refback_percents'][$userid][$ref] = '0';
+
+ // Get percents from database
+ $result = SQL_QUERY_ESC("SELECT `refback` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `refid`=%s LIMIT 1",
+ array($ref, $userid), __FUNCTION__, __LINE__);
+
+ // Entry found? (Should be!)
+ if (SQL_NUMROWS($result) == 1) {
+ // Fetch percents
+ list($GLOBALS['refback_percents'][$userid][$ref]) = SQL_FETCHROW($result);
+ //* DEBUG: */ print(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__."</font>):percents=".$GLOBALS['refback_percents'][$userid][$ref]."<br />");
+ } else {
+ // Debug log
+ //* DEBUG: */ print(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__."</font>): NO ENTRY FOUND! :-(<br />");
+ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . $ref . ' - No entry found! :-(');
+ }
+
+ // Free result
+ SQL_FREERESULT($result);
+ } // END - if