// Maybe there's another ref?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'points=' . $points . ',refid(var|data)=' . convertNullToZero($refid) . '|' . convertNullToZero(getUserData('refid')) . ',userid=' . $userid . ',paymentMethod=' . $paymentMethod . ',subject=' . $subject . ',ref_level=' . $GLOBALS['ref_level']);
- if ((isValidId(getUserData('refid'))) && ($points > 0) && (getUserData('refid') != $userid) && ($paymentMethod == 'REFERRAL')) {
+ if (($paymentMethod == 'REFERRAL') && (isValidId(getUserData('refid'))) && ($points > 0) && (getUserData('refid') != $userid)) {
// Is _ref there?
if (substr($subject, -4, 4) == '_ref') {
// Then remove it, no double _ref suffix!
// Get refs from database
$result = SQL_QUERY_ESC('SELECT
- ur.`id`,
- ur.`refid`,
- ud.`status`,
- ud.`last_online`,
- ud.`mails_confirmed`,
- ud.`emails_received`,
- ud.`subid`
+ `ur`.`id`,
+ `ur`.`refid`,
+ `ud`.`status`,
+ `ud`.`last_online`,
+ `ud`.`mails_confirmed`,
+ `ud`.`emails_received`,
+ `ud`.`subid`
FROM
`{?_MYSQL_PREFIX?}_user_refs` AS `ur`
LEFT JOIN
`{?_MYSQL_PREFIX?}_user_points` AS `up`
ON
- ur.`refid`=up.`userid` AND
- (ur.`level`=0 OR ur.`level` IS NULL)
+ `ur`.`refid`=`up`.`userid` AND
+ (`ur`.`level`=0 OR `ur`.`level` IS NULL)
LEFT JOIN
`{?_MYSQL_PREFIX?}_user_data` AS `ud`
ON
- ur.`refid`=ud.`userid`
+ `ur`.`refid`=`ud`.`userid`
WHERE
- ur.`userid`=%s AND
- ur.`level`=%s
+ `ur`.`userid`=%s AND
+ `ur`.`level`=%s
ORDER BY
- ur.`refid` ASC',
+ `ur`.`refid` ASC',
array(
bigintval($userid),
bigintval($level)
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__));
+ $count = countSumTotalData(bigintval($userid), 'user_refs', 'id', 'userid', TRUE, ' AND `level`=' . bigintval($level) . ' AND `refid`=' . bigintval($refid));
// Is there no entry?
if ($count == 0) {