X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Freferal-functions.php;h=f551ef47b7591c74e7b59193e56a1fa6505a87ab;hp=f9055fdcd0d3042cf26898280679d5778ae8f496;hb=a18efdcd57ba91893f0958a457b5c58639b135c3;hpb=5d2967ace485b020672eab2e4753a1987af483c7 diff --git a/inc/referal-functions.php b/inc/referal-functions.php index f9055fdcd0..f551ef47b7 100644 --- a/inc/referal-functions.php +++ b/inc/referal-functions.php @@ -1,670 +1,3 @@ 0) { - // Calculate new points - $ref_points = $points * $per / 100; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.$userid.',points='.$points.',per='.$per.',depth='.$GLOBALS['ref_level'].',ref_points='.$ref_points); - - // Pay refback here if level > 0 and in ref-mode - if ((isExtensionActive('refback')) && ($GLOBALS['ref_level'] > 0) && ($per < 100) && ($paymentMethod == 'REFERAL') && (isset($GLOBALS['cache_array']['add_userid'][$userid]))) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.$userid.',data='.$GLOBALS['cache_array']['add_userid'][$userid].',ref_points='.$ref_points.',depth='.$GLOBALS['ref_level'].' - BEFORE!'); - $ref_points = addRefbackPoints($GLOBALS['cache_array']['add_userid'][$userid], $userid, $points, $ref_points); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.$userid.',data='.$GLOBALS['cache_array']['add_userid'][$userid].',ref_points='.$ref_points.',depth='.$GLOBALS['ref_level'].' - AFTER!'); - } // END - if - - // Update points... - if (is_null($GLOBALS['ref_level'])) { - // Level NULL (self) - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_points` SET `%s`=`%s`+%s WHERE `userid`=%s AND `ref_depth` IS NULL LIMIT 1", - array( - $pointsColumn, - $pointsColumn, - $ref_points, - bigintval($userid) - ), __FUNCTION__, __LINE__); - } else { - // Level 1+ - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_points` SET `%s`=`%s`+%s WHERE `userid`=%s AND `ref_depth`=%s LIMIT 1", - array( - $pointsColumn, - $pointsColumn, - $ref_points, - bigintval($userid), - bigintval($GLOBALS['ref_level']) - ), __FUNCTION__, __LINE__); - } - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'pointsColumn='.$pointsColumn.',ref_points='.$ref_points.',userid='.$userid.',depth='.$GLOBALS['ref_level'].',mode='.$paymentMethod.' - UPDATE! ('.SQL_AFFECTEDROWS().')'); - - // No entry updated? - if (SQL_HASZEROAFFECTED()) { - // First ref in this level! :-) - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_points` (`userid`, `ref_depth`, `%s`) VALUES (%s, %s, %s)", - array( - $pointsColumn, - bigintval($userid), - makeZeroToNull($GLOBALS['ref_level']), - $ref_points - ), __FUNCTION__, __LINE__); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'data='.$pointsColumn.',ref_points='.$ref_points.',userid='.$userid.',depth='.$GLOBALS['ref_level'].',mode='.$paymentMethod.' - INSERTED! ('.SQL_AFFECTEDROWS().')'); - } // END - if - - // Check affected rows - $added = SQL_AFFECTEDROWS(); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'added='.intval($added)); - - // Prepare data for the filter - $filterData = array( - 'subject' => $subject, - 'userid' => $userid, - 'points' => $points, - 'ref_points' => $ref_points, - 'column' => $pointsColumn, - 'notify' => $sendNotify, - 'refid' => $refid, - 'locked' => $locked, - 'mode' => 'add', - 'add_mode' => $paymentMethod, - 'added' => $added - ); - - // Filter it now - $filterData = runFilterChain('post_add_points', $filterData); - - // Extract $added - $added = $filterData['added']; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'added='.intval($added)); - - // Points updated, maybe I shall send him an email? - if (($sendNotify === true) && (isValidUserId(getUserData('refid'))) && ($locked === false)) { - // Prepare content - $content = array( - 'percents' => $per, - 'level' => bigintval($GLOBALS['ref_level']), - 'points' => $ref_points, - ); - - // Load email template - $message = loadEmailTemplate('guest_user_confirmed_referal', $content, bigintval($userid)); - - // Send email - sendEmail($userid, '{--THANX_REFERAL_ONE_SUBJECT--}', $message); - } elseif (($sendNotify === true) && (!isValidUserId(getUserData('refid'))) && ($locked === false) && ($paymentMethod == 'DIRECT')) { - // Prepare content - $content = array( - 'reason' => '{--REASON_DIRECT_PAYMENT--}', - 'subject' => $subject, - 'points' => $ref_points - ); - - // Load message - $message = loadEmailTemplate('member_add_points', $content, $userid); - - // And sent it away - sendEmail($userid, '{--DIRECT_PAYMENT_SUBJECT--}', $message); - if (!isGetRequestParameterSet('mid')) { - // Output message to admin - displayMessage('{--ADMIN_POINTS_ADDED--}'); - } // END - if - } - - // Increase referal level - $GLOBALS['ref_level']++; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, ' Referal level increased, ref_level=' . $GLOBALS['ref_level']); - - // Maybe there's another ref? - if ((isValidUserId(getUserData('refid'))) && ($points > 0) && (getUserData('refid') != $userid) && ($paymentMethod == 'REFERAL')) { - // Then let's credit him here... - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . getUserData('refid') . ',points=' . $points . ',ref_points=' . $ref_points . ' - ADVANCE!'); - $added = ($added && addPointsThroughReferalSystem(sprintf("%s_ref:%s", $subject, $GLOBALS['ref_level']), getUserData('refid'), $points, getUserData('refid'))); - } // END - if - } // END - if - } // END - if - - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',userid=' . $userid . ',points=' . $points . ',sendNotify=' . intval($sendNotify) . ',refid=' . $refid . ',paymentMethod=' . $paymentMethod . ' - EXIT!'); - return $added; -} - -// Updates the referal counter -function updateReferalCounter ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // Init referal id - $ref = NULL; - - // Check for his referal - if (fetchUserData($userid)) { - // Get it - $ref = getUserData('refid'); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . makeZeroToNull($ref) . ' - FETCHED!'); - } // END - if - - // Init entries - if (empty($GLOBALS['cache_array']['ref_level'][$userid])) { - $GLOBALS['cache_array']['ref_level'][$userid] = NULL; - } // END - if - if (empty($GLOBALS['cache_array']['ref_level'][$ref])) { - $GLOBALS['cache_array']['ref_level'][$ref] = NULL; - } // END - if - - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . makeZeroToNull($ref)); - - // When he has a referal... - if (($ref > 0) && ($ref != $userid)) { - // Move to next referal level and count his counter one up - $GLOBALS['cache_array']['ref_level'][$ref] = $GLOBALS['cache_array']['ref_level'][$userid] + 1; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref(' . $ref . ')=' . $GLOBALS['cache_array']['ref_level'][$ref] . ' - ADVANCED!'); - - // Update counter - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_refsystem` SET `counter`=`counter`+1 WHERE `userid`=%s AND `level`=%s LIMIT 1", - array( - bigintval($ref), - bigintval($GLOBALS['cache_array']['ref_level'][$ref]) - ), __FUNCTION__, __LINE__); - - // When no entry was updated then we have to create it here - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ref=' . $ref . ',level=' . $GLOBALS['cache_array']['ref_level'][$ref] . ',updated=' . SQL_AFFECTEDROWS()); - if (SQL_HASZEROAFFECTED()) { - // First count! - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_refsystem` (`userid`, `level`, `counter`) VALUES (%s,%s,1)", - array( - bigintval($ref), - makeZeroToNull($GLOBALS['cache_array']['ref_level'][$ref]) - ), __FUNCTION__, __LINE__); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ref=' . $ref . ',level=' . $GLOBALS['cache_array']['ref_level'][$ref] . ',SQL_AFFECTEDROWS()=' . SQL_AFFECTEDROWS()); - } // END - if - - // Advance to next level - updateReferalCounter($ref); - } elseif ((($ref == $userid) || ($ref == '0')) && (isExtensionInstalledAndNewer('cache', '0.1.2'))) { - // Remove cache here - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ref=' . makeZeroToNull($ref) . ' - CACHE!'); - rebuildCache('refsystem', 'refsystem'); - } - - // Update the referal table - updateReferalTable($userid); - - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',ref=' . makeZeroToNull($ref) . ',level=' . makeZeroToNull($GLOBALS['cache_array']['ref_level'][$ref]) . ' - EXIT!'); -} - -// Subtract points from database and mediadata cache -function subtractPoints ($subject, $userid, $points) { - // Add points to used points - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `used_points`=`used_points`+%s WHERE `userid`=%s LIMIT 1", - array( - $points, - bigintval($userid) - ), __FUNCTION__, __LINE__); - - // Prepare filter data - $filterData = array( - 'subject' => $subject, - 'userid' => $userid, - 'points' => $points, - 'mode' => 'sub', - 'added' => (!SQL_HASZEROAFFECTED()) - ); - - // Insert booking record - $filterData = runFilterChain('post_sub_points', $filterData); - - // Return result - return $filterData['added']; -} -// "Getter" for array for user refs and points in given level -function getUserReferalPoints ($userid, $level) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ' - ENTERED!'); - // Default is no refs and no nickname - $refs = array(); - - // Get refs from database - $result = SQL_QUERY_ESC("SELECT - ur.`id`, ur.`refid`, ud.`status`, ud.`last_online`, ud.`mails_confirmed`, ud.`emails_received` -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) -LEFT JOIN - `{?_MYSQL_PREFIX?}_user_data` AS `ud` -ON - ur.`refid`=ud.`userid` -WHERE - ur.`userid`=%s AND - ur.`level`=%s -ORDER BY - ur.`refid` ASC", - array( - bigintval($userid), - bigintval($level) - ), __FUNCTION__, __LINE__); - - // Are there some entries? - if (!SQL_HASZERONUMS($result)) { - // Fetch all entries - while ($row = SQL_FETCHARRAY($result)) { - // Get total points of this user - $row['points'] = getTotalPoints($row['refid']); - - // Get unconfirmed mails - $row['unconfirmed'] = getTotalUnconfirmedMails($row['refid']); - - // Init click rate with zero - $row['click_rate'] = '0'; - - // Is at least one mail received? - if ($row['emails_received'] > 0) { - // Calculate click rate - $row['click_rate'] = ($row['mails_confirmed'] / $row['emails_received'] * 100); - } // END - if - - // Activity is 'active' by default because if autopurge is not installed - $row['activity'] = '{--MEMBER_ACTIVITY_ACTIVE--}'; - - // Is autopurge installed and the user inactive? - if ((isExtensionActive('autopurge')) && ((time() - getApInactiveSince()) >= $row['last_online'])) { - // Inactive user! - $row['activity'] = '{--MEMBER_ACTIVITY_INACTIVE--}'; - } // END - if - - // Remove some entries - unset($row['mails_confirmed']); - unset($row['emails_received']); - unset($row['last_online']); - - // Add row - $refs[$row['id']] = $row; - } // END - while - } // END - if - - // Free result - SQL_FREERESULT($result); - - // Return result - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ' - EXIT!'); - return $refs; -} - -// Get points data for given subject -function getPointsDataArrayFromSubject ($subject) { - // Extension sql_patches must be up-to-date - if (isExtensionInstalledAndOlder('sql_patches', '0.8.2')) { - // Please update ext-sql_patches - debug_report_bug(__FUNCTION__, __LINE__, 'sql_patches is out-dated. Please update to at least 0.8.2 to continue. subject=' . $subject); - } // END - if - - // Remove any double-dot from it - $subjectArray = explode(':', $subject); - $subject = $subjectArray[0]; - unset($subjectArray); - - // If we have cache, shortcut it here - if (isset($GLOBALS['cache_array']['points_data'][$subject])) { - // Return it - return $GLOBALS['cache_array']['points_data'][$subject]; - } // END - if - - // Now checkout the entry in database table - $result = SQL_QUERY_ESC("SELECT `id`, `subject`, `column_name`, `locked_mode`, `payment_method`, `notify_recipient` FROM `{?_MYSQL_PREFIX?}_points_data` WHERE `subject`='%s' LIMIT 1", - array($subject), __FUNCTION__, __LINE__); - - // Do we have an entry? - if (SQL_NUMROWS($result) == 1) { - // Then load it - $pointsData = SQL_FETCHARRAY($result); - - // Add all entries to our cache array - foreach ($pointsData as $key=>$value) { - $GLOBALS['cache_array']['points_data'][$subject][$key] = $value; - } // END - foreach - } else { - // Register this automatically - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`, `column_name`, `locked_mode`, `payment_method`, `notify_recipient`) VALUES ('%s','points','LOCKED','REFERAL','N')", - array($subject), __FUNCTION__, __LINE__); - - // Re-request it - return getPointsDataArrayFromSubject($subject); - } - - // Free result - SQL_FREERESULT($result); - - // Return it - return $GLOBALS['cache_array']['points_data'][$subject]; -} - -// Determines the right points column name for given subject and 'locked' -function getPointsColumnNameFromSubjectLocked ($subject, $isLocked) { - // Get the points_data entry - $pointsData = getPointsDataArrayFromSubject($subject); - - // Regular points by default - $columnName = $pointsData['column_name']; - - // Are the points locked? - if (($isLocked === true) && ($pointsData['locked_mode'] == 'LOCKED')) { - // Locked points, so prefix it - $columnName = 'locked_' . $pointsData['column_name']; - } // END - if - - // Return the result - return $columnName; -} - -// Determines the payment method for given extension and 'locked' -function getPaymentMethodFromSubject ($subject) { - // Get the points_data entry - $pointsData = getPointsDataArrayFromSubject($subject); - - // Regular points by default - $paymentMethod = $pointsData['payment_method']; - - // Return the result - return $paymentMethod; -} - -// Checks wether notification of points recipient is enabled -function isPaymentRecipientNotificationEnabled ($subject) { - // Get the points_data entry - $pointsData = getPointsDataArrayFromSubject($subject); - - // Is it enabled? - $isEnabled = ($pointsData['notify_recipient'] == 'Y'); - - // Return the result - return $isEnabled; -} - -// Update "referal table" -function updateReferalTable ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // Load all referals - loadReferalTable($userid); - - // Add missing level > 1 - addMissingReferalLevels($userid); - - // The last step is to flush all userid's entries to the database - flushReferalTableToDatabase($userid); - - // Rebuild cache - rebuildCache('refsystem', 'refsystem'); - - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - EXIT!'); -} - -// Loads all referals for given userid -function loadReferalTable ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // Init array - $GLOBALS['referal_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['referal_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['referal_refid'][$userid][$level][] = $refid; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid); - // Load the refid's array as well - loadReferalTable($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 referal levels to the array -function addMissingReferalLevels ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // If the array is gone, you have called this function without calling loadReferalTable() - if (!isset($GLOBALS['referal_refid'][$userid])) { - // Please fix your code - debug_report_bug(__FUNCTION__, __LINE__, 'Called without calling loadReferalTable() before! userid=' . $userid); - } // END - if - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',count()=' . count($GLOBALS['referal_refid'][$userid])); - - // Now walk through the array, first levels - foreach ($GLOBALS['referal_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['referal_refid'][$refid])) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid . ',count()=' . count($GLOBALS['referal_refid'][$refid])); - // Okay, then walk through here, too - foreach ($GLOBALS['referal_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['referal_refid'][$userid][$newLevel])) || (!in_array($refRefid, $GLOBALS['referal_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['referal_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 flushReferalTableToDatabase ($userid) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ENTERED!'); - // If the array is gone, you have called this function without calling loadReferalTable() - if (!isset($GLOBALS['referal_refid'][$userid])) { - // Please fix your code - debug_report_bug(__FUNCTION__, __LINE__, 'Called without calling loadReferalTable() before! userid=' . $userid); - } // END - if - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',count()=' . count($GLOBALS['referal_refid'][$userid])); - - // If no entries are there, skip this whole step - if (count($GLOBALS['referal_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 '; - $executeSql = false; - - // Now walk through the array, first levels - foreach ($GLOBALS['referal_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 . '),'; - - // Some has been added, so execute the query - $executeSql = true; - } // 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); - if ($executeSql === true) { - SQL_QUERY($SQL, __FUNCTION__, __LINE__); - } // END - if - - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - EXIT!'); -} - -// [EOF] +// @DEPRECATED ?>