0) { // Calculate new points $ref_points = $points * $per / 100; // Pay refback here if level > 0 and in ref-mode //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . makeNullToZero(getUserData('refid')) . ',points=' . $points . ',paymentMethod=' . $paymentMethod); if (($userid != $refid) && ($paymentMethod == 'REFERAL') && (isValidUserId(getUserData('refid'))) && (isExtensionActive('refback'))) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . makeNullToZero(getUserData('refid')) . ',ref_points=' . $ref_points . ',depth=' . makeNullToZero($GLOBALS['ref_level']) . ' - BEFORE!'); $ref_points = addRefbackPoints($userid, getUserData('refid'), $points, $ref_points); //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . makeNullToZero(getUserData('refid')) . ',ref_points=' . $ref_points . ',depth=' . makeNullToZero($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='.makeNullToZero($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='.makeNullToZero($GLOBALS['ref_level']).',mode='.$paymentMethod.' - INSERTED! ('.SQL_AFFECTEDROWS().')'); } // END - if // Check affected rows $added = (SQL_AFFECTEDROWS() == 1); //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'added=' . intval($added) . ' - BEFORE FILTER'); // 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) . ' - AFTER FILTER'); // 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, if payment method is REFERAL if ($paymentMethod == 'REFERAL') { // Increase it $GLOBALS['ref_level']++; //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Referal level increased, ref_level=' . makeNullToZero($GLOBALS['ref_level']) . ',points=' . $points . ',refid=' . makeNullToZero(getUserData('refid')) . ',userid=' . $userid . ',paymentMethod=' . $paymentMethod); } elseif (isDebugModeEnabled()) { // Not increasing referal level, DIRECT payment method //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Referal level *NOT* increased, ref_level=' . makeNullToZero($GLOBALS['ref_level']) . ',points=' . $points . ',refid=' . makeNullToZero(getUserData('refid')) . ',userid=' . $userid . ',paymentMethod=' . $paymentMethod); } // Maybe there's another ref? //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'points=' . $points . ',refid(var|data)=' . makeNullToZero($refid) . '|' . makeNullToZero(getUserData('refid')) . ',userid=' . $userid . ',paymentMethod=' . $paymentMethod); if ((isValidUserId(getUserData('refid'))) && ($points > 0) && (getUserData('refid') != $userid) && ($paymentMethod == 'REFERAL')) { // Then let's credit him here... //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid=' . makeNullToZero(getUserData('refid')) . ',points=' . $points . ',ref_points=' . $ref_points . ',added[' . gettype($added) . ']=' . intval($added) . ' - ADVANCE!'); $added = ($added && addPointsThroughReferalSystem(sprintf("%s_ref:%s", $subject, $GLOBALS['ref_level']), getUserData('refid'), $points, getFetchedUserData('userid', getUserData('refid'), 'refid'))); } // END - if } // END - if } // END - if //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',userid=' . $userid . ',points=' . $points . ',sendNotify=' . intval($sendNotify) . ',refid=' . makeNullToZero($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 ext-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=' . makeNullToZero($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=' . makeNullToZero($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=' . makeNullToZero($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] ?>