X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Freferral-functions.php;h=c2a616ebf321d661722dbdfe368f1c98cf5a7aed;hp=267fd279638bd8556924cf3df6a1b5e4f733f66c;hb=61621983cc6d7195fcc7eab29b5f6080ff283b34;hpb=4f7df133f736da124e6f7bd02008b9093f736451 diff --git a/inc/referral-functions.php b/inc/referral-functions.php index 267fd27963..c2a616ebf3 100644 --- a/inc/referral-functions.php +++ b/inc/referral-functions.php @@ -10,13 +10,8 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Alle zum Referral-System gehoerenden Funktionen * * -------------------------------------------------------------------- * - * $Revision:: $ * - * $Date:: $ * - * $Tag:: 0.2.1-FINAL $ * - * $Author:: $ * - * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * Copyright (c) 2009 - 2016 by Mailer Developer Team * * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -65,17 +60,17 @@ function getReferralLevelPercents ($level) { } // END - if } elseif (!isExtensionActive('cache')) { // Get referral data - $result_level = SQL_QUERY_ESC("SELECT `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `level`=%s LIMIT 1", + $result_level = sqlQueryEscaped("SELECT `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `level`=%s LIMIT 1", array(bigintval($level)), __FUNCTION__, __LINE__); // Entry found? - if (SQL_NUMROWS($result_level) == 1) { + if (sqlNumRows($result_level) == 1) { // Get percents - $data = SQL_FETCHARRAY($result_level); + $data = sqlFetchArray($result_level); } // END - if // Free result - SQL_FREERESULT($result_level); + sqlFreeResult($result_level); } // Return percent @@ -137,7 +132,7 @@ function addPointsThroughReferralSystem ($subject, $userid, $points, $refid = NU // 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", + sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_points` SET `%s`=`%s`+%s WHERE `userid`=%s AND `ref_depth` IS NULL LIMIT 1", array( $pointsColumn, $pointsColumn, @@ -146,7 +141,7 @@ function addPointsThroughReferralSystem ($subject, $userid, $points, $refid = NU ), __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", + sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_points` SET `%s`=`%s`+%s WHERE `userid`=%s AND `ref_depth`=%s LIMIT 1", array( $pointsColumn, $pointsColumn, @@ -155,23 +150,23 @@ 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 (SQL_HASZEROAFFECTED()) { + if (ifSqlHasZeroAffectedRows()) { // First ref in this level! :-) - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_points` (`userid`, `ref_depth`, `%s`) VALUES (%s, %s, %s)", + sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_user_points` (`userid`, `ref_depth`, `%s`) VALUES (%s, %s, %s)", array( $pointsColumn, bigintval($userid), 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 - $added = (SQL_AFFECTEDROWS() == 1); + $added = (sqlAffectedRows() == 1); //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'added=' . intval($added) . ' - BEFORE FILTER'); // Prepare data for the filter @@ -200,7 +195,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); @@ -277,16 +272,16 @@ function addPointsThroughReferralSystem ($subject, $userid, $points, $refid = NU // 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') { + 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 @@ -325,22 +320,22 @@ function updateReferralCounter ($userid) { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',refid(' . $refid . ')=' . $GLOBALS['cache_array']['ref_level'][$refid] . ' - ADVANCED!'); // Update counter - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_refsystem` SET `counter`=`counter`+1 WHERE `userid`=%s AND `level`=%s LIMIT 1", + sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_refsystem` SET `counter`=`counter`+1 WHERE `userid`=%s AND `level`=%s LIMIT 1", array( bigintval($refid), bigintval($GLOBALS['cache_array']['ref_level'][$refid]) ), __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()); - if (SQL_HASZEROAFFECTED()) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'refid=' . $refid . ',level=' . $GLOBALS['cache_array']['ref_level'][$refid] . ',updated=' . sqlAffectedRows()); + if (ifSqlHasZeroAffectedRows()) { // First count! - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_refsystem` (`userid`, `level`, `counter`) VALUES (%s,%s,1)", + sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_refsystem` (`userid`, `level`, `counter`) VALUES (%s,%s,1)", array( 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 @@ -360,7 +355,7 @@ function updateReferralCounter ($userid) { // 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", + sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `used_points`=`used_points`+%s WHERE `userid`=%s LIMIT 1", array( $points, bigintval($userid) @@ -373,7 +368,7 @@ function subtractPoints ($subject, $userid, $points) { 'points' => $points, 'points_mode' => 'sub', 'column' => 'used_points', - 'added' => (!SQL_HASZEROAFFECTED()) + 'added' => (!ifSqlHasZeroAffectedRows()) ); // Insert booking record @@ -389,7 +384,7 @@ function getUserReferralPoints ($userid, $level) { $refs = array(); // Get refs from database - $result = SQL_QUERY_ESC('SELECT + $result = sqlQueryEscaped('SELECT `ur`.`id`, `ur`.`refid`, `ud`.`status`, @@ -419,17 +414,11 @@ ORDER BY ), __FUNCTION__, __LINE__); // Are there some entries? - if (!SQL_HASZERONUMS($result)) { + if (!ifSqlHasZeroNumRows($result)) { // Fetch all entries - while ($row = SQL_FETCHARRAY($result)) { + 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--}'; @@ -451,7 +440,7 @@ ORDER BY } // END - if // Free result - SQL_FREERESULT($result); + sqlFreeResult($result); // Return result //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ' - EXIT!'); @@ -482,13 +471,27 @@ function getPointsDataArrayFromSubject ($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__); + $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 (SQL_NUMROWS($result) == 1) { + if (sqlNumRows($result) == 1) { // Then load it - $pointsData = SQL_FETCHARRAY($result); + $pointsData = sqlFetchArray($result); // Add all entries to our cache array foreach ($pointsData as $key => $value) { @@ -496,7 +499,7 @@ function getPointsDataArrayFromSubject ($subject) { } // 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','REFERRAL','N')", + sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`, `column_name`, `locked_mode`, `payment_method`, `notify_recipient`) VALUES ('%s','points','LOCKED','REFERRAL','N')", array($subject), __FUNCTION__, __LINE__); // Re-request it @@ -504,7 +507,7 @@ function getPointsDataArrayFromSubject ($subject) { } // Free result - SQL_FREERESULT($result); + sqlFreeResult($result); // Return it return $GLOBALS['cache_array']['points_data'][$subject]; @@ -577,14 +580,14 @@ function loadReferralTable ($userid) { $GLOBALS['referral_refid'][$userid] = array(); // Get all level entries from the refsystem table - $GLOBALS['referral_result'][$userid] = SQL_QUERY_ESC('SELECT `level` FROM `{?_MYSQL_PREFIX?}_refsystem` WHERE `userid`=%s ORDER BY `level` ASC', + $GLOBALS['referral_result'][$userid] = sqlQueryEscaped('SELECT `level` FROM `{?_MYSQL_PREFIX?}_refsystem` WHERE `userid`=%s ORDER BY `level` ASC', array($userid), __FUNCTION__, __LINE__); // Are there entries? - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',SQL_NUMROWS()=' . SQL_NUMROWS($GLOBALS['referral_result'][$userid])); - if (SQL_NUMROWS($GLOBALS['referral_result'][$userid]) > 0) { + //* 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) = SQL_FETCHROW($GLOBALS['referral_result'][$userid])) { + while (list($level) = sqlFetchRow($GLOBALS['referral_result'][$userid])) { // Init array //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level); $GLOBALS['referral_refid'][$userid][$level] = array(); @@ -592,14 +595,14 @@ function loadReferralTable ($userid) { // Level is = 1? if ($level == 1) { // Load all referrals of this user - $GLOBALS['referral_result_refs'][$userid] = SQL_QUERY_ESC('SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `refid`=%s ORDER BY `userid` ASC', + $GLOBALS['referral_result_refs'][$userid] = sqlQueryEscaped('SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `refid`=%s ORDER BY `userid` ASC', array($userid), __FUNCTION__, __LINE__); // Are there entries? - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',SQL_NUMROWS()=' . SQL_NUMROWS($GLOBALS['referral_result_refs'][$userid])); - if (SQL_NUMROWS($GLOBALS['referral_result_refs'][$userid]) > 0) { + //* 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) = SQL_FETCHROW($GLOBALS['referral_result_refs'][$userid])) { + while (list($refid) = sqlFetchRow($GLOBALS['referral_result_refs'][$userid])) { // Add this refid array_push($GLOBALS['referral_refid'][$userid][$level], $refid); //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ',refid=' . $refid . ' - ADDED!'); @@ -610,13 +613,13 @@ function loadReferralTable ($userid) { } // END - if // Free result - SQL_FREERESULT($GLOBALS['referral_result_refs'][$userid]); + sqlFreeResult($GLOBALS['referral_result_refs'][$userid]); } // END - if } // END - while } // END - if // Free result - SQL_FREERESULT($GLOBALS['referral_result'][$userid]); + sqlFreeResult($GLOBALS['referral_result'][$userid]); //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - EXIT!'); } @@ -682,7 +685,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; @@ -718,7 +721,7 @@ function flushReferralTableToDatabase ($userid) { // And run it //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',SQL=' . $SQL); if ($executeSql === TRUE) { - SQL_QUERY($SQL, __FUNCTION__, __LINE__); + sqlQuery($SQL, __FUNCTION__, __LINE__); } // END - if //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - EXIT!'); @@ -799,8 +802,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,16 +814,16 @@ 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')) { + } elseif ((!isHtmlOutputMode()) && (getModule() != 'ref')) { // Skip this in non-html-mode and outside ref.php return FALSE; } // Check if refid is set - if (isReferralIdValid()) { + if (isValidReferralId()) { // This is fine... //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GLOBALS (' . getReferralId() . ')'); } elseif (isPostRequestElementSet('refid')) { @@ -835,7 +838,7 @@ function determineReferralId () { // Set refid=ref (the referral link uses such variable) //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using ref from GET data (' . getRequestElement('ref') . ')'); setReferralId(getRequestElement('ref')); - } elseif ((isGetRequestElementSet('user')) && (basename($_SERVER['PHP_SELF']) == 'click.php')) { + } elseif ((isGetRequestElementSet('user')) && (getModule() == 'click')) { // The variable user comes from click.php //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using user from GET data (' . getRequestElement('user') . ')'); setReferralId(bigintval(getRequestElement('user'))); @@ -889,7 +892,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);