]> git.mxchange.org Git - mailer.git/blobdiff - inc/referral-functions.php
Fixes + asserts
[mailer.git] / inc / referral-functions.php
index 33d2735297e1a7e12c761e4df026190ca5b791d6..2e86d58cbd4ccb65401eddb8734d3f425c3479e8 100644 (file)
@@ -155,7 +155,7 @@ function addPointsThroughReferralSystem ($subject, $userid, $points, $refid = NU
                                                bigintval($GLOBALS['ref_level'])
                                        ), __FUNCTION__, __LINE__);
                        }
-                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'pointsColumn='.$pointsColumn.',ref_points='.$ref_points.',userid='.$userid.',depth='.convertNullToZero($GLOBALS['ref_level']).',mode='.$paymentMethod.' - UPDATE! ('.SQL_AFFECTEDROWS().')');
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'pointsColumn='.$pointsColumn.',ref_points='.$ref_points.',userid='.$userid.',depth='.convertNullToZero($GLOBALS['ref_level']).',mode='.$paymentMethod.' - UPDATE! ('.sqlAffectedRows().')');
 
                        // No entry updated?
                        if (ifSqlHasZeroAffectedRows()) {
@@ -167,7 +167,7 @@ function addPointsThroughReferralSystem ($subject, $userid, $points, $refid = NU
                                                convertZeroToNull($GLOBALS['ref_level']),
                                                $ref_points
                                        ), __FUNCTION__, __LINE__);
-                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'data='.$pointsColumn.',ref_points='.$ref_points.',userid='.$userid.',depth='.convertNullToZero($GLOBALS['ref_level']).',mode='.$paymentMethod.' - INSERTED! ('.SQL_AFFECTEDROWS().')');
+                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'data='.$pointsColumn.',ref_points='.$ref_points.',userid='.$userid.',depth='.convertNullToZero($GLOBALS['ref_level']).',mode='.$paymentMethod.' - INSERTED! ('.sqlAffectedRows().')');
                        } // END - if
 
                        // Check affected rows
@@ -200,7 +200,7 @@ function addPointsThroughReferralSystem ($subject, $userid, $points, $refid = NU
                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',userid=' . $userid . ',refid=' . $refid . ',paymentMethod=' . $paymentMethod . ',sendNotify=' . intval($sendNotify) . ',isLocked=' . intval($isLocked));
 
                        // Send "referral confirmed" mails out?
-                       if ((isValidUserid($refid)) && ($refid != $userid) && ($sendNotify === TRUE)) {
+                       if ((isValidId($refid)) && ($refid != $userid) && ($sendNotify === TRUE)) {
                                // Calculate the referral's points and percents
                                $percentsReferral = getReferralLevelPercents($GLOBALS['ref_level'] + 1);
 
@@ -279,14 +279,14 @@ function addPointsThroughReferralSystem ($subject, $userid, $points, $refid = NU
                        //* 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 (($paymentMethod == 'REFERRAL') && (isValidId(getUserData('refid'))) && ($points > 0) && (getUserData('refid') != $userid)) {
                                // Is _ref there?
-                               if (substr($subject, -4, 4) == '_ref') {
+                               if (ifSubjectHasReferralSuffix($subject)) {
                                        // Then remove it, no double _ref suffix!
                                        $subject = substr($subject, 0, -4);
                                } // END - if
 
                                // Then let's credit him here...
                                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',userid=' . $userid . ',refid=' . convertNullToZero(getUserData('refid')) . ',points=' . $points . ',ref_points=' . $ref_points . ',added[' . gettype($added) . ']=' . intval($added) . ',ref_level=' . $GLOBALS['ref_level'] . ' - ADVANCE!');
-                               $added = ($added && addPointsThroughReferralSystem(sprintf("%s_ref:%s", $subject, $GLOBALS['ref_level']), getUserData('refid'), $points, getFetchedUserData('userid', getUserData('refid'), 'refid')));
+                               $added = ($added && addPointsThroughReferralSystem(sprintf('%s_ref:%s', $subject, $GLOBALS['ref_level']), getUserData('refid'), $points, getFetchedUserData('userid', getUserData('refid'), 'refid')));
                        } // END - if
                } // END - if
        } // END - if
@@ -332,7 +332,7 @@ function updateReferralCounter ($userid) {
                        ), __FUNCTION__, __LINE__);
 
                // When no entry was updated then we have to create it here
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . $refid . ',level=' . $GLOBALS['cache_array']['ref_level'][$refid] . ',updated=' . SQL_AFFECTEDROWS());
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . $refid . ',level=' . $GLOBALS['cache_array']['ref_level'][$refid] . ',updated=' . sqlAffectedRows());
                if (ifSqlHasZeroAffectedRows()) {
                        // First count!
                        sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_refsystem` (`userid`, `level`, `counter`) VALUES (%s,%s,1)",
@@ -340,7 +340,7 @@ function updateReferralCounter ($userid) {
                                        bigintval($refid),
                                        convertZeroToNull($GLOBALS['cache_array']['ref_level'][$refid])
                                ), __FUNCTION__, __LINE__);
-                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . $refid . ',level=' . $GLOBALS['cache_array']['ref_level'][$refid] . ',SQL_AFFECTEDROWS()=' . SQL_AFFECTEDROWS());
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . $refid . ',level=' . $GLOBALS['cache_array']['ref_level'][$refid] . ',sqlAffectedRows()=' . sqlAffectedRows());
                } // END - if
 
                // Advance to next level
@@ -423,13 +423,7 @@ ORDER BY
                // Fetch all entries
                while ($row = sqlFetchArray($result)) {
                        // 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
+                       $row['click_rate'] = calculatePercentageRate($row['mails_confirmed'], $row['emails_received']);
 
                        // Activity is 'active' by default because if ext-autopurge is not installed
                        $row['activity'] = '{--MEMBER_ACTIVITY_ACTIVE--}';
@@ -482,8 +476,22 @@ function getPointsDataArrayFromSubject ($subject) {
        } // END - if
 
        // Now checkout the entry in database table
-       $result = sqlQueryEscaped("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__);
+       $result = sqlQueryEscaped("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__
+       );
 
        // Is there an entry?
        if (sqlNumRows($result) == 1) {
@@ -581,7 +589,7 @@ function loadReferralTable ($userid) {
                array($userid), __FUNCTION__, __LINE__);
 
        // Are there entries?
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',SQL_NUMROWS()=' . SQL_NUMROWS($GLOBALS['referral_result'][$userid]));
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',sqlNumRows()=' . sqlNumRows($GLOBALS['referral_result'][$userid]));
        if (sqlNumRows($GLOBALS['referral_result'][$userid]) > 0) {
                // Then walk through all levels
                while (list($level) = sqlFetchRow($GLOBALS['referral_result'][$userid])) {
@@ -596,7 +604,7 @@ function loadReferralTable ($userid) {
                                        array($userid), __FUNCTION__, __LINE__);
 
                                // Are there entries?
-                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',SQL_NUMROWS()=' . SQL_NUMROWS($GLOBALS['referral_result_refs'][$userid]));
+                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',sqlNumRows()=' . sqlNumRows($GLOBALS['referral_result_refs'][$userid]));
                                if (sqlNumRows($GLOBALS['referral_result_refs'][$userid]) > 0) {
                                        // Then again walk through all
                                        while (list($refid) = sqlFetchRow($GLOBALS['referral_result_refs'][$userid])) {
@@ -682,7 +690,7 @@ function flushReferralTableToDatabase ($userid) {
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',count()=' . count($GLOBALS['referral_refid'][$userid]));
 
        // If no entries are there, skip this whole step
-       if (count($GLOBALS['referral_refid'][$userid]) == 0) {
+       if (!isFilledArray($GLOBALS['referral_refid'][$userid])) {
                // No entries found
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - ABORTING...');
                return;
@@ -799,8 +807,8 @@ function setReferralId ($refid) {
 }
 
 // Checks if 'refid' is valid
-function isReferralIdValid () {
-       return ((isset($GLOBALS['__refid'])) && (getReferralId() !== NULL) && (getReferralId() > 0));
+function isValidReferralId () {
+       return ((isset($GLOBALS['__refid'])) && (isValidId(getReferralId())));
 }
 
 // Getter for referral id
@@ -811,7 +819,7 @@ function getReferralId () {
 // Determines referral id and sets it
 function determineReferralId () {
        // Is it already detected?
-       if (isReferralIdValid()) {
+       if (isValidReferralId()) {
                // Do not determine it, just return it
                return getReferralId();
        } elseif ((!isHtmlOutputMode()) && (basename($_SERVER['PHP_SELF']) != 'ref.php')) {
@@ -820,7 +828,7 @@ function determineReferralId () {
        }
 
        // Check if refid is set
-       if (isReferralIdValid()) {
+       if (isValidReferralId()) {
                // This is fine...
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GLOBALS (' . getReferralId() . ')');
        } elseif (isPostRequestElementSet('refid')) {
@@ -889,7 +897,7 @@ function determineReferralId () {
                // Set cookie
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferralId() . ') #1');
                setSession('refid', getReferralId());
-       } elseif ((!isReferralIdValid()) || (!fetchUserData(getReferralId()))) {
+       } elseif ((!isValidReferralId()) || (!fetchUserData(getReferralId()))) {
                // Not valid!
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not valid referral id (' . getReferralId() . '), setting NULL in session');
                setReferralId(NULL);