} // END - if
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',count()=' . count($GLOBALS['referral_refid'][$userid]));
+ // Sort the array reversed
+ krsort($GLOBALS['referral_refid']);
+
// Now walk through the array, first levels
foreach ($GLOBALS['referral_refid'][$userid] as $level => $levelArray) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',count()=' . count($levelArray));
// Does the refid have an array?
if (isset($GLOBALS['referral_refid'][$refid])) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . convertNullToZero($refid) . ',count()=' . count($GLOBALS['referral_refid'][$refid]));
+ // Add also this user's (maybe) missing levels
+ addMissingReferralLevels($refid);
+
// Okay, then walk through here, too
foreach ($GLOBALS['referral_refid'][$refid] as $refLevel => $refArray) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . convertNullToZero($refid) . ',refLevel=' . $refLevel . ',count()=' . count($refArray));
// 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['referral_refid'][$userid][$newLevel][] = $refRefid;
+
+ // Add also this user's (maybe) missing levels
+ addMissingReferralLevels($refRefid);
} // END - if
} // END - foreach
} // END - foreach