* -------------------------------------------------------------------- *
* 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 - 2013 by Mailer Developer Team *
* For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
} // 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
// 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,
), __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,
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
//* 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);
//* 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
//* 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
// 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)
'points' => $points,
'points_mode' => 'sub',
'column' => 'used_points',
- 'added' => (!SQL_HASZEROAFFECTED())
+ 'added' => (!ifSqlHasZeroAffectedRows())
);
// Insert booking record
$refs = array();
// Get refs from database
- $result = SQL_QUERY_ESC('SELECT
+ $result = sqlQueryEscaped('SELECT
`ur`.`id`,
`ur`.`refid`,
`ud`.`status`,
), __FUNCTION__, __LINE__);
// Are there some entries?
- if (!SQL_HASZERONUMS($result)) {
+ if (!ifSqlHasZeroNums($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--}';
} // END - if
// Free result
- SQL_FREERESULT($result);
+ sqlFreeResult($result);
// Return result
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',level=' . $level . ' - EXIT!');
} // 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) {
} // 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
}
// Free result
- SQL_FREERESULT($result);
+ sqlFreeResult($result);
// Return it
return $GLOBALS['cache_array']['points_data'][$subject];
$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();
// 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!');
} // 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!');
}
//* 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;
// 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!');
}
// 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
// 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')) {
}
// Check if refid is set
- if (isReferralIdValid()) {
+ if (isValidReferralId()) {
// This is fine...
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GLOBALS (' . getReferralId() . ')');
} elseif (isPostRequestElementSet('refid')) {
// 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);