X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Frefback_functions.php;h=f8d2ba7155dcaa961b58e3bc164eedc6f7717bf5;hb=def2acbe1be252d9b210388c209607021f5880c9;hp=9cb0ac373452b37c697fe59dcc9684c396bed6dd;hpb=9ad55a40b49ea7dc484b1553039715fbce8086f0;p=mailer.git diff --git a/inc/libs/refback_functions.php b/inc/libs/refback_functions.php index 9cb0ac3734..f8d2ba7155 100644 --- a/inc/libs/refback_functions.php +++ b/inc/libs/refback_functions.php @@ -17,7 +17,7 @@ * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -50,43 +50,47 @@ function addRefbackPoints ($userid, $ref, $points, $ref_points) { $return = $ref_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 while ($content = SQL_FETCHARRAY($result_refs)) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'level=' . $content['level'] . ',percents=' . $content['percents'] . ' - LOOP START!'); // Reset ref depths initReferalSystem(); + // Init array + $refids = getArrayFromRefbackLevel($userid, $content['level']); + // "Walk" through all refids //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . $ref . ',level=' . $content['level'] . ',percents=' . $content['percents'] . ',points=' . $points . ' - LOOP START!'); - foreach (getArrayFromRefbackLevel($userid, $content['level']) as $refid) { - // Skip level zero or if both are the same - if ($userid == $refid) { - continue; - } // END - if - - // Get refback percents - $percents = getRefbackPercents($userid, $refid); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . $ref . ',refid=' . $refid . ',points=' . $points . ',percents=' . $percents); + foreach ($refids as $refid) { + /* + * Get refback percents, do not swap $refid and $userid by the next + * call. If you do so, you will check the wrong direction, $userid + * is always bigger than $refid. + */ + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . makeNullToZero($refid) . ' - CALLING getRefbackPercents()'); + $content['refback_percents'] = getRefbackPercents($refid, $userid); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . makeNullToZero($refid) . ',refback_percents=' . $content['refback_percents']); // Some percents given? - if ($percents > 0) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'points=' . $points . ',[percents]=' . $content['percents'] . ',percents=' . $percents . ',level=' . $content['level']); + if ($content['refback_percents'] > 0) { // Calculate points for refback - $refback = $points * ($content['percents'] / 100) * ($percents / 100); + $refbackPoints = $points * ($content['percents'] / 100) * ($content['refback_percents'] / 100); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'points=' . $points . ',percents=' . $content['percents'] . ',refback_percents=' . $content['refback_percents'] . ',level=' . $content['level'] . ',refback_points=' . $refbackPoints); // Update refback table ('refid' and 'userid' must be exchanged!) - SQL_QUERY_ESC("UPDATE + SQL_QUERY_ESC('UPDATE `{?_MYSQL_PREFIX?}_user_refs` SET - `points`=`points`+%s + `refback_points`=`refback_points`+%s WHERE `userid`=%s AND `refid`=%s -LIMIT 1", +LIMIT 1', array( - $refback, + $refbackPoints, $refid, $userid ), __FUNCTION__, __LINE__); @@ -94,17 +98,18 @@ LIMIT 1", // Something must have been updated if (SQL_HASZEROAFFECTED()) { // Please report this bug - debug_report_bug(__FUNCTION__, __LINE__, 'Nothing has been updated in user_refs,userid=' . $userid . ',refid=' . $refid . ',refback=' . $refback); + debug_report_bug(__FUNCTION__, __LINE__, 'Nothing has been updated in user_refs,userid=' . $userid . ',refid=' . makeNullToZero($refid) . ',refbackPoints=' . $refbackPoints); } // END - if // Add points again, but only directly - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refback=' . $refback . ',userid=' . $userid . ',ref=' . $ref . ',refid=' . $refid . ' - UPDATE! (' . SQL_AFFECTEDROWS() . ')'); - addPointsThroughReferalSystem(sprintf("refback:%s", $refid), $userid, $refback); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refbackPoints=' . $refbackPoints . ',userid=' . $userid . ',ref=' . $ref . ',refid=' . makeNullToZero($refid) . ' - REFBACK-UPDATE! (' . SQL_AFFECTEDROWS() . ')'); + addPointsThroughReferalSystem(sprintf("refback:%s", $refid), $userid, $refbackPoints); // Reduce points if refid is found + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . $refid . ',ref=' . $ref . ' - REDUCING?'); if ($refid == $ref) { // Reduce points here! - $return = $points * ($content['percents'] / 100) - $refback; + $return = $points * ($content['percents'] / 100) - $refbackPoints; //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'return=' . $return . ' - REDUCED!'); } // END - if } // END - if @@ -122,31 +127,40 @@ LIMIT 1", return $return; } -// "Getter" for refback percents -function getRefbackPercents ($userid, $ref) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . $ref . ' - ENTERED!'); - // Skip identical ids - if ($userid == $ref) { +/** + * "Getter" for refback percents + * + * @param $userid "Current" user's userid + * @param $refid $userid has this userid as referal + * @return $percents Refback percents $userid has given to $refid + */ +function getRefbackPercents ($userid, $refid) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . $refid . ' - ENTERED!'); + if ((!isValidUserId($userid)) || (!isValidUserId($refid))) { + // userid and/or refid is invalid + debug_report_bug(__FUNCTION__, __LINE__, 'userid=' . makeNullToZero($userid) . ', refid=' . makeNullToZero($refid) . ' - Both must be > 0'); + } elseif ($userid == $refid) { + // Skip identical ids return 0; } // END - if // Is it cached? - if (!isset($GLOBALS['refback_percents'][$userid][$ref])) { + if (!isset($GLOBALS['refback_percents'][$userid][$refid])) { // Default is zero - $GLOBALS['refback_percents'][$userid][$ref] = '0'; + $GLOBALS['refback_percents'][$userid][$refid] = '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__); + $result = SQL_QUERY_ESC("SELECT `refback_percents` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `refid`=%s LIMIT 1", + array($userid, $refid), __FUNCTION__, __LINE__); // Entry found? (Should be!) if (SQL_NUMROWS($result) == 1) { // Fetch percents - list($GLOBALS['refback_percents'][$userid][$ref]) = SQL_FETCHROW($result); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . $ref . ',percents=' . $GLOBALS['refback_percents'][$userid][$ref]); + list($GLOBALS['refback_percents'][$userid][$refid]) = SQL_FETCHROW($result); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . $refid . ',percents=' . $GLOBALS['refback_percents'][$userid][$refid]); } else { - // Debug log - logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . $ref . ' - No entry found. :-('); + // Please report all findings + debug_report_bug(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . $refid . ' - No entry found. :-('); } // Free result @@ -154,13 +168,13 @@ function getRefbackPercents ($userid, $ref) { } // END - if // Return percents - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . $ref . ',refback_percents=' . $GLOBALS['refback_percents'][$userid][$ref] . ' - EXIT!'); - return $GLOBALS['refback_percents'][$userid][$ref]; + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . $refid . ',refback_percents=' . $GLOBALS['refback_percents'][$userid][$refid] . ' - EXIT!'); + return $GLOBALS['refback_percents'][$userid][$refid]; } // "Getter" for userid array which will return only one entry function getArrayFromRefbackLevel ($refid, $level) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . $refid . ',level=' . $level); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . makeNullToZero($refid) . ',level=' . $level . ' - ENTERED!'); // Init userids $userIds = array(); @@ -170,7 +184,8 @@ function getArrayFromRefbackLevel ($refid, $level) { FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE - `refid`=%s AND `level`=%s + `refid`=%s AND + `level`=%s ORDER BY `userid` ASC", array($refid, $level), __FUNCTION__, __LINE__); @@ -180,7 +195,7 @@ ORDER BY if (!SQL_HASZERONUMS($result)) { // Add all while ($content = SQL_FETCHARRAY($result)) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . $refid . ',level=' . $level . ',userid=' . $content['userid']); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . makeNullToZero($refid) . ',level=' . $level . ',userid=' . $content['userid']); $userIds[] = $content['userid']; } // END - while } // END - if @@ -189,167 +204,10 @@ ORDER BY SQL_FREERESULT($result); // Return array - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . $refid . ',userIds()=' . count($userIds) . ' - EXIT!'); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . makeNullToZero($refid) . ',userIds()=' . count($userIds) . ' - EXIT!'); return $userIds; } -// Update "refback table" -function updateRefbackTable ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // Load all referals - loadRefbackTable($userid); - - // Add missing level > 1 - addMissingRefbackLevels($userid); - - // The last step is to flush all userid's entries to the database - flushRefbackTableToDatabase($userid); - - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - EXIT!'); -} - -// Loads all referals for given userid -function loadRefbackTable ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // Init array - $GLOBALS['refback_refid'][$userid] = array(); - - // Get all level entries from the refsystem table - $result = SQL_QUERY_ESC('SELECT `level` FROM `{?_MYSQL_PREFIX?}_refsystem` WHERE `userid`=%s ORDER BY `level` ASC', - array($userid), __FUNCTION__, __LINE__); - - // Do we have entries? - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',SQL_NUMROWS()=' . SQL_NUMROWS($result)); - if (SQL_NUMROWS($result) > 0) { - // Then walk through all levels - while (list($level) = SQL_FETCHROW($result)) { - // Init array - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level); - $GLOBALS['refback_refid'][$userid][$level] = array(); - - // Level is = 1? - if ($level == 1) { - // Load all referals of this user - $result_refs = SQL_QUERY_ESC('SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `refid`=%s ORDER BY `userid` ASC', - array($userid), __FUNCTION__, __LINE__); - - // Do we have entries? - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',SQL_NUMROWS()=' . SQL_NUMROWS($result_refs)); - if (SQL_NUMROWS($result_refs) > 0) { - // Then again walk through all - while (list($refid) = SQL_FETCHROW($result_refs)) { - // Add this refid - $GLOBALS['refback_refid'][$userid][$level][] = $refid; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid); - // Load the refid's array as well - loadRefbackTable($refid); - } // END - while - } // END - if - - // Free result - SQL_FREERESULT($result_refs); - } // END - if - } // END - while - } // END - if - - // Free result - SQL_FREERESULT($result); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - EXIT!'); -} - -// Adds missing refback levels to the array -function addMissingRefbackLevels ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // If the array is gone, you have called this function without calling loadRefbackTable() - if (!isset($GLOBALS['refback_refid'][$userid])) { - // Please fix your code - debug_report_bug(__FUNCTION__, __LINE__, 'Called without calling loadRefbackTable() before! userid=' . $userid); - } // END - if - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',count()=' . count($GLOBALS['refback_refid'][$userid])); - - // Now walk through the array, first levels - foreach ($GLOBALS['refback_refid'][$userid] as $level=>$levelArray) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',count()=' . count($levelArray)); - // Next are the users - foreach ($levelArray as $refid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid); - // Does the refid have an array? - if (isset($GLOBALS['refback_refid'][$refid])) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid . ',count()=' . count($GLOBALS['refback_refid'][$refid])); - // Okay, then walk through here, too - foreach ($GLOBALS['refback_refid'][$refid] as $refLevel=>$refArray) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid . ',refLevel=' . $refLevel . ',count()=' . count($refArray)); - // Also walk through this one - foreach ($refArray as $refRefid) { - // Calculate new level - $newLevel = $level + $refLevel; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid . ',refLevel=' . $refLevel . ',refRefid=' . $refRefid . ',newLevel=' . $newLevel); - // Is the refRefid not in? - if ((!isset($GLOBALS['refback_refid'][$userid][$newLevel])) || (!in_array($refRefid, $GLOBALS['refback_refid'][$userid][$newLevel]))) { - // Then we must add this ref's refid to the userid's next level - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',newLevel=' . $newLevel . ',refRefid=' . $refRefid . ' - ADDED!'); - $GLOBALS['refback_refid'][$userid][$newLevel][] = $refRefid; - } // END - if - } // END - foreach - } // END - foreach - } // END - foreach - } // END - foreach - } // END - foreach - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - EXIT!'); -} - -// Flush all entries for given userid to database -function flushRefbackTableToDatabase ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // If the array is gone, you have called this function without calling loadRefbackTable() - if (!isset($GLOBALS['refback_refid'][$userid])) { - // Please fix your code - debug_report_bug(__FUNCTION__, __LINE__, 'Called without calling loadRefbackTable() before! userid=' . $userid); - } // END - if - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',count()=' . count($GLOBALS['refback_refid'][$userid])); - - // If no entries are there, skip this whole step - if (count($GLOBALS['refback_refid'][$userid]) == 0) { - // No entries found - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ABORTING...'); - return; - } // END - if - - // Prepare SQL - $SQL = 'INSERT INTO `{?_MYSQL_PREFIX?}_user_refs` (`userid`,`level`,`refid`) VALUES '; - - // Now walk through the array, first levels - foreach ($GLOBALS['refback_refid'][$userid] as $level=>$levelArray) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',count()=' . count($levelArray)); - // Next are the users - foreach ($levelArray as $refid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid); - // Query the user_refs table - list($count) = SQL_FETCHROW(SQL_QUERY_ESC('SELECT COUNT(`id`) AS `count` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `level`=%s AND `refid`=%s LIMIT 1', - array( - $userid, - $level, - $refid - ), __FUNCTION__, __LINE__)); - - // Do we have no entry? - if ($count == 0) { - // Then add it to the SQL - $SQL .= '(' . $userid . ',' . $level . ',' . $refid . '),'; - } // END - if - } // END - foreach - } // END - foreach - - // Remove last comma from SQL - $SQL = substr($SQL, 0, -1); - - // And run it - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',SQL=' . $SQL); - SQL_QUERY($SQL, __FUNCTION__, __LINE__); - - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - EXIT!'); -} - // "Getter" for array for user refs in given level function getArrayFromRefbackUserRefs ($userid, $level) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ' - ENTERED!'); @@ -360,8 +218,8 @@ function getArrayFromRefbackUserRefs ($userid, $level) { $result = SQL_QUERY_ESC("SELECT r.`id`, r.`refid`, - r.`refback`, - r.`points`, + r.`refback_percents`, + r.`refback_points`, d.`status`, d.`joined`, d.`mails_confirmed`, @@ -416,7 +274,7 @@ function getArrayFromUserRefbackData ($id) { $id = bigintval($id); // Get entry from database - $result = SQL_QUERY_ESC("SELECT `id`, `userid`, `refid`, `refback`, `level`, `points` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `id`=%s AND `userid`=%s LIMIT 1", + $result = SQL_QUERY_ESC("SELECT `id`,`userid`,`refid`,`refback_percents`,`level`,`refback_points` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `id`=%s AND `userid`=%s LIMIT 1", array($id, getMemberId()), __FUNCTION__, __LINE__); // Is there an entry? @@ -434,33 +292,33 @@ function getArrayFromUserRefbackData ($id) { } // Update refback percents (but with some sanity-checks! -function updateMemberRefbackPercents ($id, $percents) { +function updateMemberRefbackPercents ($id, $percents, $note) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'id=' . $id . ',percents=' . $percents . ' - ENTERED!'); // Default status is failed - $status['message'] = '{--MEMBER_REFBACK_ERROR_GENERAL--}'; + $status['message'] = 'MEMBER_REFBACK_ERROR_GENERAL'; // Do some sanity-checks if (!isMember()) { // No member! - $status['message'] = '{--MEMBER_REFBACK_ERROR_NO_MEMBER--}'; + $status['message'] = 'MEMBER_REFBACK_ERROR_NO_MEMBER'; return $status; } elseif (''.$id.'' != ''.($id + 0).'') { // No number! - $status['message'] = '{--MEMBER_REFBACK_ERROR_INVALID_ID_NUMBER--}'; + $status['message'] = 'MEMBER_REFBACK_ERROR_INVALID_ID_NUMBER'; return $status; } elseif (($percents < 0) || ($percents > 100)) { // Percentage is not valid! - $status['message'] = '{--MEMBER_REFBACK_ERROR_INVALID_PERCENTAGE--}'; + $status['message'] = 'MEMBER_REFBACK_ERROR_INVALID_PERCENTAGE'; return $status; } // Get ref entry - $dummy = getArrayFromUserRefbackData($id); + $content = getArrayFromUserRefbackData($id); // Is this valid? - if (count($dummy) == 0) { + if (count($content) == 0) { // id does not belong to user! - $status['message'] = '{--MEMBER_REFBACK_ERROR_ID_MISMATCH--}'; + $status['message'] = 'MEMBER_REFBACK_ERROR_ID_MISMATCH'; return $status; } // END - if @@ -468,27 +326,32 @@ function updateMemberRefbackPercents ($id, $percents) { $percents = convertCommaToDot($percents); // Update entry - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_refs` SET `refback`='%s' WHERE `id`=%s AND `userid`=%s LIMIT 1", - array($percents, $id, getMemberId()), __FUNCTION__, __LINE__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_refs` SET `refback_percents`='%s' WHERE `id`=%s AND `userid`=%s LIMIT 1", + array( + $percents, + $id, + getMemberId() + ), __FUNCTION__, __LINE__); // Entry updated? if (SQL_HASZEROAFFECTED()) { // Entry not updated! - $status['message'] = '{--MEMBER_REFBACK_ERROR_NOT_UPDATED--}'; + $status['message'] = 'MEMBER_REFBACK_ERROR_NOT_UPDATED'; return $status; } // END - if // Prepare email content - $dummy['percents'] = $percents; + $content['refback_percents'] = $percents; + $content['refback_note'] = $note; // Load member email template - $mail = loadEmailTemplate('member_refback', $dummy, $dummy['refid']); + $mail = loadEmailTemplate('member_refback', $content, $content['refid']); // Send email to user - sendEmail($dummy['refid'], '{--MEMBER_REFBACK_SUBJECT--}', $mail); + sendEmail($content['refid'], '{--MEMBER_REFBACK_SUBJECT--}', $mail); // Send admin notification - sendAdminNotification('{--ADMIN_REFBACK_SUBJECT--}', 'admin_refback', $dummy, getMemberId()); + sendAdminNotification('{--ADMIN_REFBACK_SUBJECT--}', 'admin_refback', $content, $content['refid']); // All fine! $status['ok'] = true;