X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Frallye_functions.php;h=201b11db96ccf777313e6744022fc79cceabe1e5;hb=63b07092bbb543f9367800a84328b0cd6a9b251c;hp=a390b61829d3248efbc243abcdaf4365f96f8c87;hpb=7fabfadce30a7bea7ce3ad1f1e2e7e5e616f2669;p=mailer.git
diff --git a/inc/libs/rallye_functions.php b/inc/libs/rallye_functions.php
index a390b61829..201b11db96 100644
--- a/inc/libs/rallye_functions.php
+++ b/inc/libs/rallye_functions.php
@@ -1,7 +1,7 @@
$prices), $content['userid']);
+ $message = loadEmailTemplate('member_rallye_notify', $content, $content['userid']);
sendEmail($content['userid'], sprintf(getMessage('RALLYE_MEMBER_NOTIFY'), $title), $message);
} // END - if
} // END - while
@@ -139,7 +140,7 @@ VALUES ('%s','%s','%s','%s')",
if ($notify == 'Y') $templ = 'admin_rallye_notify';
// Send email to admin
- sendAdminNotification(sprintf(getMessage('RALLYE_ADMIN_NOTIFY'), $title), $templ, $prices, '0');
+ sendAdminNotification(sprintf(getMessage('RALLYE_ADMIN_NOTIFY'), $title), $templ, $prices, 0);
// Free memory
SQL_FREERESULT($result_user);
@@ -194,27 +195,33 @@ ORDER BY
//
function addReferalRallyeTopUsers ($rallye, $default=0) {
// First check how many prices are set
- $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE rallye_id=%s ORDER BY price_level",
+ $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE `rallye_id`=%s ORDER BY price_level",
array(bigintval($rallye)), __FUNCTION__, __LINE__);
$prices = SQL_NUMROWS($result);
SQL_FREERESULT($result);
// And load only limited users
$result = SQL_QUERY_ESC("SELECT
- u.userid, u.refs, u.curr_points FROM `{?_MYSQL_PREFIX?}_rallye_users` AS u
+ u.userid, u.refs, u.curr_points, rd.min_users, rd.min_prices
+FROM
+ `{?_MYSQL_PREFIX?}_rallye_users` AS u
LEFT JOIN
`{?_MYSQL_PREFIX?}_refsystem` AS r
ON
u.userid=r.userid
+LEFT JOIN
+ `{?_MYSQL_PREFIX?}_rallye_data` AS rd
+ON
+ u.rallye_id=rd.id
WHERE
- u.rallye_id=%s AND r.counter > 0
+ u.`rallye_id`=%s AND r.counter > 0
ORDER BY
u.refs DESC",
array(bigintval($rallye)), __FUNCTION__, __LINE__);
// Load users
$DATA = array(
- 'userid' => array(),
+ 'userid' => array(),
'ref' => array(),
'cpoints' => array()
);
@@ -237,9 +244,9 @@ WHERE
d.`status`='CONFIRMED' AND
p.ref_depth=1 AND
d.max_mails > 0 AND
- d.mails_confirmed >= %s
+ d.mails_confirmed >= {?ref_payout?}
LIMIT 1",
- array(bigintval($content['userid']), getConfig('ref_payout')), __FUNCTION__, __LINE__);
+ array(bigintval($content['userid'])), __FUNCTION__, __LINE__);
// Get points
list($refpoints) = SQL_FETCHROW($result_ref);
@@ -247,19 +254,21 @@ LIMIT 1",
// Free result
SQL_FREERESULT($result_ref);
- if (empty($refpoints)) $refpoints = 0;
+ if (empty($refpoints)) $refpoints = '0';
// Init userid for list
- $_userid = '---';
+ $userid = '---';
// List only users with at least one ref!
- //* DEBUG: */ outputHtml("*".$cnt.'/'.$content['userid'].'/'.$content['curr_points'].'/'.$refpoints."*
");
- if (($cnt > 0) && ($refpoints > $content['curr_points'])) { $_userid = $content['userid']; } else { $cnt = ''; }
+ //* DEBUG: */ print("*".$cnt.'/'.$content['userid'].'/'.$content['curr_points'].'/'.$refpoints."*
");
+ if (($cnt > 0) && ($refpoints > $content['curr_points'])) { $userid = $content['userid']; } else { $cnt = ''; }
// Save values to array
- $DATA['userid'][] = $_userid;
- $DATA['ref'][] = $cnt;
- $DATA['cpoints'][] = $content['curr_points'];
+ $DATA['userid'][] = $userid;
+ $DATA['ref'][] = $cnt;
+ $DATA['cpoints'][] = $content['curr_points'];
+ $min_users = $content['min_users'];
+ $min_prices = $content['min_prices'];
} // END - while
// Free memory
@@ -271,7 +280,7 @@ LIMIT 1",
// Generate table
$OUT = loadTemplate('guest_rallye_header', true);
$SW = 2;
- for ($idx = 0; $idx < $prices; $idx++) {
+ for ($idx = '0'; $idx < $prices; $idx++) {
if (empty($DATA['userid'][$idx])) $DATA['userid'][$idx] = '---';
if (empty($DATA['ref'][$idx])) $DATA['ref'][$idx] = '---';
// Add row
@@ -291,16 +300,19 @@ LIMIT 1",
$SW = 3 - $SW;
} // END - for
+ // Translate min_prices/users
+ $content['min_prices'] = determineReferalRallyeMinimumPrices($min_prices);
+ $content['min_users'] = determineReferalRallyeMinimumUsers($min_users);
+
// Add footer
- $OUT .= loadTemplate('guest_rallye_footer', true);
+ $OUT .= loadTemplate('guest_rallye_footer', true, $content);
// And finnally return the output
return $OUT;
}
// Run this function only when a new member has confirmed his email address!
-function addUserToReferalRallye ($userid) {
- global $DATA;
+function addUserToReferalRallye ($userid, $content = array()) {
$add = '';
// Updated extension?
@@ -321,7 +333,8 @@ WHERE
LIMIT 1", __FUNCTION__, __LINE__);
if (SQL_NUMROWS($result) == 1) {
// Init variables
- $min_users = 0; $min_prices = 0;
+ $min_users = '0'; $min_prices = '0';
+
// Load data
if (getExtensionVersion('rallye') >= '0.2.0') {
list($id, $title, $start, $end, $notify, $min_users, $min_prices) = SQL_FETCHROW($result);
@@ -332,42 +345,48 @@ LIMIT 1", __FUNCTION__, __LINE__);
// Free result
SQL_FREERESULT($result);
+ if ($notify == 'Y') {
+ // Transfer all neccessary data to the global $content array
+ $content['start'] = generateDateTime($start, 2);
+ $content['end'] = generateDateTime($end , 2);
+ $content['now_t'] = generateDateTime(time(), 2);
+ $content['title'] = $title;
+ $content['id'] = $id; // id for the rallye details link
+ $content['ref'] = '0';
+ $content['refs'] = countSumTotalData($userid, 'user_data', 'userid', 'refid', true);
+
+ // Load prices
+ $content['prices'] = addReferalRallyePrices($id);
+
+ // Determine min_users/prices tring
+ $content['min_users'] = determineReferalRallyeMinimumUsers($min_users);
+ $content['min_prices'] = determineReferalRallyeMinimumPrices($min_prices);
+
+ // Send notification to member
+ $message = loadEmailTemplate('member_rallye_notify', $content, $userid);
+ sendEmail($userid, sprintf(getMessage('RALLYE_MEMBER_NOTIFY'), $title), $message);
+ } // END - if
+
// Check if line is already included...
$result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_rallye_users` WHERE `rallye_id`=%s AND `userid`=%s LIMIT 1",
- array(bigintval($id), bigintval($userid)), __FUNCTION__, __LINE__);
+ array(
+ bigintval($id),
+ bigintval($userid)
+ ), __FUNCTION__, __LINE__);
// Is this user added?
- if (SQL_NUMROWS($result) == 0) {
+ if (SQL_NUMROWS($result) < 1) {
// Add userid and his ref count to table
SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_rallye_users` (`rallye_id`, `userid`, `refs`)
-VALUES ('%s','%s','0')",
- array(bigintval($id), bigintval($userid)), __FUNCTION__, __LINE__);
+VALUES ('%s','%s',0)",
+ array(
+ bigintval($id),
+ bigintval($userid)
+ ), __FUNCTION__, __LINE__);
} // END - if
// Free memory
SQL_FREERESULT($result);
-
- if ($notify == 'Y') {
- // Transfer all neccessary data to the global $DATA array
- $DATA['start'] = generateDateTime($start, '2');
- $DATA['end'] = generateDateTime($end , '2');
- $DATA['now_t'] = generateDateTime(time(), '2');
- $DATA['title'] = $title;
- $DATA['id'] = $id; // ID for the rallye details link
- $DATA['ref'] = 0;
- $DATA['refs'] = countSumTotalData($userid, 'user_data', 'userid', "refid", true);
-
- // Load prices
- $prices = addReferalRallyePrices($id);
-
- // Determine min_users/prices tring
- $DATA['min_users'] = determineReferalRallyeMinimumUsers($min_users);
- $DATA['min_prices'] = determineReferalRallyeMinimumPrices($min_prices);
-
- // Send notification to member
- $message = loadEmailTemplate('member_rallye_notify', array('prices' => $prices), $userid);
- sendEmail($userid, sprintf(getMessage('RALLYE_MEMBER_NOTIFY'), $title), $message);
- } // END - if
} // END - if
}
@@ -385,19 +404,19 @@ function markReferalRallyesAsExpired ($result) {
$prices = getArrayFromReferalRallyeUsers($id);
// Init array
- $DATA = array(); $cnt = 0;
+ $DATA = array(); $cnt = '0';
$users = array();
$DATA['title'] = $title;
- $DATA['start'] = generateDateTime($start, '1');
- $DATA['end'] = generateDateTime($end , '1');
- $DATA['now_t'] = generateDateTime(time(), '1');
+ $DATA['start'] = generateDateTime($start, 1);
+ $DATA['end'] = generateDateTime($end , 1);
+ $DATA['now_t'] = generateDateTime(time(), 1);
// Just count...
- $total = 0;
+ $total = '0';
foreach($prices['userid'] as $key => $userid) {
// Check status
// active = 1: account is still confirmed
- // active = 0: account is deleted or locked
+ // active = '0': account is deleted or locked
$result = SQL_QUERY_ESC("SELECT
COUNT(`userid`) AS active
FROM
@@ -417,7 +436,7 @@ LIMIT 1",
} // END - if
} // END - foreach
- if (($total < $min_prices) || ($total == 0)) {
+ if (($total < $min_prices) || ($total == '0')) {
// Do not end this rallye!
unset($DATA);
return;
@@ -425,7 +444,7 @@ LIMIT 1",
// Expire rallye
SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_rallye_data` SET `expired`='Y' WHERE `id`=%s LIMIT 1",
- array(bigintval($id)), __FUNCTION__, __LINE__);
+ array(bigintval($id)), __FUNCTION__, __LINE__);
// Run array through (by userid is the most important 2nd-level-array)
foreach($prices['userid'] as $key => $userid) {
@@ -484,9 +503,9 @@ LIMIT 1",
// Select template depending on notfication is switch on / off
if ($notify == 'Y') {
- $templ = "admin_rallye_expired";
+ $templ = 'admin_rallye_expired';
} elseif (is_array($users['userid'])) {
- $templ = "admin_rallye_expired_no";
+ $templ = 'admin_rallye_expired_no';
$cnt = getReferalRallyeUserDataFromArray($users);
}
@@ -533,7 +552,7 @@ function getArrayFromReferalRallyePrices ($rallye) {
);
// Load prices
- $result = SQL_QUERY_ESC("SELECT price_level, points, info FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE rallye_id=%s ORDER BY price_level",
+ $result = SQL_QUERY_ESC("SELECT price_level, points, info FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE `rallye_id`=%s ORDER BY price_level",
array(bigintval($rallye)), __FUNCTION__, __LINE__);
// Transfer elements
@@ -595,7 +614,7 @@ LIMIT 1",
SQL_FREERESULT($result_ref);
// Fix empty refpoints
- if (empty($refpoints)) $refpoints = 0;
+ if (empty($refpoints)) $refpoints = '0';
// Store calculated new refs to array
$users['userid'][] = $content['userid'];
@@ -642,14 +661,14 @@ function addReferalRallyeWinners ($rallye, $default=0) {
// Generate table
$OUT = loadTemplate('guest_rallye_expired_header', true);
$SW = 2;
- for ($idx = 0; $idx < $prices; $idx++) {
+ for ($idx = '0'; $idx < $prices; $idx++) {
// Check status
// active = 1: account is still confirmed
- // active = 0: account is deleted or locked
+ // active = '0': account is deleted or locked
$active = countSumTotalData($DATA['userid'][$idx], 'user_data', 'userid', 'userid', true, " AND `status`='CONFIRMED'");
if (empty($DATA['userid'][$idx])) $DATA['userid'][$idx] = '---';
- if ((empty($DATA['ref'][$idx])) || ($DATA['ref'][$idx] == 0) || ($active == 0) || ("".round($DATA['cpoints'][$idx])."" == '0') || (empty($DATA['cpoints'][$idx]))) {
+ if ((empty($DATA['ref'][$idx])) || ($DATA['ref'][$idx] == '0') || ($active == '0') || ("".round($DATA['cpoints'][$idx])."" == '0') || (empty($DATA['cpoints'][$idx]))) {
// Allow valid and active users with at least one ref to get points
$DATA['ref'][$idx] = '---';
$DATA['userid'][$idx] = '---';
@@ -709,9 +728,9 @@ WHERE end_time <= (UNIX_TIMESTAMP() - {?ONE_DAY?} - %s) AND expired='Y'",
// Expire found rallyes and notify admin
while ($content = SQL_FETCHARRAY($result_rallye)) {
// Prepare data for mail template
- $content['start_time'] = generateDateTime($content['start_time'], '1');
- $content['end_time'] = generateDateTime($content['end_time'] , '1');
- $content['now_time'] = generateDateTime(time(), '1');
+ $content['start_time'] = generateDateTime($content['start_time'], 1);
+ $content['end_time'] = generateDateTime($content['end_time'] , 1);
+ $content['now_time'] = generateDateTime(time(), 1);
// Send mail to admin
sendAdminNotification(sprintf(getMessage('RALLYE_ADMIN_PURGED_SUBJ'), $content['title']), 'admin_rallye_purged', $content, 0);
@@ -719,9 +738,9 @@ WHERE end_time <= (UNIX_TIMESTAMP() - {?ONE_DAY?} - %s) AND expired='Y'",
// Purge whole rallye
addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_data` WHERE `id`=%s LIMIT 1",
array(bigintval($content['id'])), __FUNCTION__, __LINE__, false));
- addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE rallye_id=%s LIMIT 1",
+ addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE `rallye_id`=%s LIMIT 1",
array(bigintval($content['id'])), __FUNCTION__, __LINE__, false));
- addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_users` WHERE rallye_id=%s LIMIT 1",
+ addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_users` WHERE `rallye_id`=%s LIMIT 1",
array(bigintval($content['id'])), __FUNCTION__, __LINE__, false));
// Add task
@@ -779,21 +798,21 @@ function addReferalRallyeTemplateSelection ($name = 'template', $default = '') {
}
//
-function getReferalRallyeRefsCount ($userid, $old = 0) {
+function getReferalRallyeRefsCount ($userid, $old = '0') {
// Check current refs
if (getExtensionVersion('cache') >= '0.1.2') {
// Get refs from cache
- $cnt = 0;
+ $cnt = '0';
foreach ($GLOBALS['cache_array']['refsystem']['userid'] as $id => $userid) {
// Do we have a ref for this user?
- //* DEBUG: */ outputHtml("id={$id},userid={$userid},userid={$userid},old={$old},level={$GLOBALS['cache_array']['refsystem']['level'][$id]}
");
+ //* DEBUG: */ print("id={$id},userid={$userid},userid={$userid},old={$old},level={$GLOBALS['cache_array']['refsystem']['level'][$id]}
");
if (($userid == $userid) && ($GLOBALS['cache_array']['refsystem']['level'][$id] == 1)) {
- //* DEBUG: */ outputHtml("userid matches!
");
+ //* DEBUG: */ print("userid matches!
");
foreach ($GLOBALS['cache_array']['refdepths']['level'] as $level) {
if (($level == $GLOBALS['cache_array']['refsystem']['level'][$id]) && ($level == 1)) {
// Level does exist so abort here
$cnt = $GLOBALS['cache_array']['refsystem']['counter'][$id];
- //* DEBUG: */ outputHtml("*".$userid.'/'.$cnt."*
");
+ //* DEBUG: */ print("*".$userid.'/'.$cnt."*
");
break;
} elseif ($level > 1) {
// Not interesting here...
@@ -806,9 +825,9 @@ function getReferalRallyeRefsCount ($userid, $old = 0) {
} // END - if
} // END - foreach
- //* DEBUG: */ outputHtml("
"); - //* DEBUG: */ outputHtml(print_r($GLOBALS['cache_array']['refsystem'], true)); - //* DEBUG: */ outputHtml(""); + //* DEBUG: */ print("
"); + //* DEBUG: */ print(print_r($GLOBALS['cache_array']['refsystem'], true)); + //* DEBUG: */ print(""); //* DEBUG: */ shutdown(); if ($cnt > 0) { @@ -816,7 +835,7 @@ function getReferalRallyeRefsCount ($userid, $old = 0) { incrementStatsEntry('cache_hits'); // Remove old refs - //* DEBUG: */ outputHtml('+'.$cnt.'/'.$old."+