$return = $points;
// Get all ref levels
- $result_refs = SQL_QUERY("SELECT `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `level` > 0 ORDER BY `level` ASC",
+ $result_refs = SQL_QUERY('SELECT `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `level` > 0 ORDER BY `level` ASC',
__FUNCTION__, __LINE__);
// "Walk" through all level
// Skip identical ids
if ($userid == $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, $userid), __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 />");
- } 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);
+ // 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
// Return percents
//* DEBUG: */ print("</li></ul>----------------------- <font color=\"#aa0000\">".__FUNCTION__." - EXIT</font> ------------------------<br />");
- return $percents;
+ return $GLOBALS['refback_percents'][$userid][$ref];
}
// "Getter" for userid array which will return only one entry
} // END - if
// Prepare email content
- $content = array(
- 'percents' => translateComma($percents),
- 'refid' => $dummy['refid'],
- 'level' => $dummy['level'],
- 'points' => translateComma($dummy['points']),
- );
+ $dummy['percents'] = $percents;
// Load member email template
- $mail = loadEmailTemplate('member_refback', $content, $dummy['refid']);
+ $mail = loadEmailTemplate('member_refback', $dummy, $dummy['refid']);
// Send email to user
sendEmail($dummy['refid'], getMessage('MEMBER_REFBACK_SUBJECT'), $mail);
// Send admin notification
- sendAdminNotification(getMessage('ADMIN_REFBACK_SUBJECT'), 'admin_refback', $content, getMemberId());
+ sendAdminNotification(getMessage('ADMIN_REFBACK_SUBJECT'), 'admin_refback', $dummy, getMemberId());
// All fine!
$status['ok'] = true;
//* DEBUG: */ print("</li></ul>----------------------- <font color=\"#aa0000\">".__FUNCTION__." - EXIT</font> ------------------------<br />");
return $status;
}
-//
+
+// [EOF]
?>