* $Author:: $ *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009, 2010 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
$un = false;
// Get refs by userid
- $cnt = getReferalRallyeRefsCount($content['userid']);
- if (empty($cnt)) $cnt = '0'; // Added prevent some unknown troubles... :-?
+ $count = getReferalRallyeRefsCount($content['userid']);
+ if (empty($count)) $count = '0'; // Added prevent some unknown troubles... :-?
// Check if line is already included...
$result_ref = SQL_QUERY_ESC("SELECT
`userid`=%s
LIMIT 1",
array(bigintval($id), bigintval($content['userid'])), __FUNCTION__, __LINE__);
- if (SQL_NUMROWS($result_ref) == 0) {
- // Free memory
- SQL_FREERESULT($result_ref);
+ if (SQL_HASZERONUMS($result_ref)) {
// Add userid and his ref count to table
$result_ref = SQL_QUERY_ESC("SELECT
- SUM(p.points) AS points
+ SUM(p.points) AS `points`
FROM
`{?_MYSQL_PREFIX?}_user_points` AS p
LEFT JOIN
p.userid=d.userid
WHERE
d.`status`='CONFIRMED' AND
- d.max_mails > 0 AND
- d.mails_confirmed >= {?ref_payout?} AND
- p.ref_depth=1 AND
- p.points > 0 AND
- d.userid=%s",
+ d.`max_mails` > 0 AND
+ d.`mails_confirmed` >= {?ref_payout?} AND
+ p.`ref_depth`=1 AND
+ p.`points` > 0 AND
+ d.`userid`=%s",
array(bigintval($content['userid'])), __FUNCTION__, __LINE__);
// Get points
array(
bigintval($id),
bigintval($content['userid']),
- bigintval($cnt),
+ bigintval($count),
$cpoints
), __FUNCTION__, __LINE__);
$un = true;
} // END - if
+ // Free memory
+ SQL_FREERESULT($result_ref);
+
// Ignored but for the template required refs (made before start of rallye)
- $content['refs'] = $cnt;
+ $content['refs'] = $count;
// Shall I notify this member?
if (($notify == 'Y') && ($un)) {
// Load email template and send it to the user
$message = loadEmailTemplate('member_rallye_notify', $content, $content['userid']);
- sendEmail($content['userid'], getMaskedMessage('RALLYE_MEMBER_NOTIFY', $title), $message);
+ sendEmail($content['userid'], '{%message,RALLYE_MEMBER_NOTIFY=' . $title . '%}', $message);
} // END - if
} // END - while
if ($notify == 'Y') $templ = 'admin_rallye_notify';
// Send email to admin
- sendAdminNotification(getMaskedMessage('RALLYE_ADMIN_NOTIFY', $title), $templ, $prices);
+ sendAdminNotification('{%message,RALLYE_ADMIN_NOTIFY=' . $title . '%}', $templ, $prices);
// Free memory
SQL_FREERESULT($result_user);
SQL_FREERESULT($result_prices);
} else {
// No prices???
- $prices = getMaskedMessage('RALLYE_MEMBER_NO_PRICES', $mode);
+ $prices = '{%message,RALLYE_MEMBER_NO_PRICES=' . $mode . '%}';
}
// Add last line for email mode
// Load all users
while ($content = SQL_FETCHARRAY($result)) {
// Get current refs
- $cnt = getReferalRallyeRefsCount($content['userid'], $content['refs']);
+ $count = getReferalRallyeRefsCount($content['userid'], $content['refs']);
// Points of ref's
$result_ref = SQL_QUERY_ESC("SELECT
$userid = '---';
// List only users with at least one ref!
- //* DEBUG: */ debugOutput('*'.$cnt.'/'.$content['userid'].'/'.$content['curr_points'].'/'.$refpoints.'*');
- if (($cnt > 0) && ($refpoints > $content['curr_points'])) {
+ //* DEBUG: */ debugOutput('*'.$count.'/'.$content['userid'].'/'.$content['curr_points'].'/'.$refpoints.'*');
+ if (($count > 0) && ($refpoints > $content['curr_points'])) {
$userid = $content['userid'];
} else {
- $cnt = '';
+ $count = '';
}
// Save values to array
$DATA['userid'][] = $userid;
- $DATA['ref'][] = $cnt;
+ $DATA['ref'][] = $count;
$DATA['cpoints'][] = $content['curr_points'];
$min_users = $content['min_users'];
$min_prices = $content['min_prices'];
// Send notification to member
$message = loadEmailTemplate('member_rallye_notify', $content, $userid);
- sendEmail($userid, getMaskedMessage('RALLYE_MEMBER_NOTIFY', $title), $message);
+ sendEmail($userid, '{%message,RALLYE_MEMBER_NOTIFY=' . $title . '%}', $message);
} // END - if
// Check if line is already included...
), __FUNCTION__, __LINE__);
// Is this user added?
- if (SQL_NUMROWS($result) < 1) {
+ if (SQL_HASZERONUMS($result)) {
// Add userid and his ref count to table
SQL_QUERY_ESC("INSERT INTO
`{?_MYSQL_PREFIX?}_rallye_users`
// Free result
SQL_FREERESULT($result);
- // Load users array (!) with assigned prices
- $prices = getArrayFromReferalRallyeUsers($id);
-
// Init array
$DATA = array();
- $cnt = '0';
+ $count = '0';
$users = array();
$DATA['title'] = $title;
$DATA['start'] = generateDateTime($start, 1);
$DATA['end'] = generateDateTime($end , 1);
$DATA['now_t'] = generateDateTime(time(), 1);
+ // Load users array (!) with assigned prices
+ $prices = getArrayFromReferalRallyeUsers($id);
+
// Just count...
$total = '0';
- foreach($prices['userid'] as $key => $userid) {
+ foreach ($prices['userid'] as $key => $userid) {
// Check status
// active = 1: account is still confirmed
// active = 0: account is deleted or locked
- $active = countSumTotalData($DATA['userid'][$idx], 'user_data', 'userid', 'userid', true, " AND `status`='CONFIRMED'");
+ $active = countSumTotalData($userid, 'user_data', 'userid', 'userid', true, " AND `status`='CONFIRMED'");
$prices['active'][$key] = $active;
array(bigintval($id)), __FUNCTION__, __LINE__);
// Run array through (by userid is the most important 2nd-level-array)
- foreach($prices['userid'] as $key => $userid) {
+ foreach ($prices['userid'] as $key => $userid) {
// Allow valid and active users with at least one ref to get points
if ((isValidUserId($userid)) && ($prices['ref'][$key] > 0) && ($prices['active'][$key] == 1) && ($prices['cpoints'][$key] > 0)) {
// Transfer data to array for the mail template
// Determine winner level
if ($DATA['level'] == 1) {
// The winner!
- $winnerLevel = '_gold';
+ $winnerLevel = 'gold';
} elseif ($DATA['level'] == 2) {
// The vice winner!
- $winnerLevel = '_silver';
+ $winnerLevel = 'silver';
} elseif ($DATA['level'] == 3) {
// The bronce winner
- $winnerLevel = '_bronce';
+ $winnerLevel = 'bronce';
}
if ($DATA['points'] > 0) {
// Add points directly to user's account
- addPointsDirectly('rallye_winner' . $winnerLevel, $userid, $DATA['points']);
+ addPointsThroughReferalSystem('rallye_winner:' . $winnerLevel, $userid, $DATA['points']);
} // END - if
if ($notify == 'Y') {
// Load template
$message = loadEmailTemplate($template, $DATA, $userid);
- sendEmail($userid, getMaskedMessage('RALLYE_MEMBER_EXPIRED_SUBJECT', $DATA['level']), $message);
+ sendEmail($userid, '{%message,RALLYE_MEMBER_EXPIRED_SUBJECT=' . $DATA['level'] . '%}', $message);
} // END - if
// Count userid
- $cnt++;
+ $count++;
$users['userid'][$userid] = $userid;
$users['poi'][$userid] = $DATA['infos'];
} // END - if
$templ = 'admin_rallye_expired';
} elseif (is_array($users['userid'])) {
$templ = 'admin_rallye_expired_no';
- $cnt = getReferalRallyeUserDataFromArray($users);
+ $count = getReferalRallyeUserDataFromArray($users);
}
// Send mail to admin
- sendAdminNotification(getMaskedMessage('RALLYE_ADMIN_EXPIRED_SUBJECT', $title), $templ, $cnt);
+ sendAdminNotification('{%message,RALLYE_ADMIN_EXPIRED_SUBJECT=' . $title . '%}', $templ, $count);
// Add task (we ignore the task id here)
createNewTask('{--RALLYE_ADMIN_EXPIRED--}: ' . $title, '{--RALLYE_ADMIN_EXPIRED_TEXT--}', 'RALLYE_EXPIRED');
), __FUNCTION__, __LINE__);
while ($content = SQL_FETCHARRAY($result)) {
// Construct the message masked and add it
- $ret .= sprintf("%s %s %s (%s) - %s\n",
- translateGender($content['gender']),
+ $ret .= sprintf("{%%pipe,translateGender=%s%} %s %s (%s) - %s\n",
+ $content['gender'],
$content['surname'],
$content['family'],
$content['email'],
array(bigintval($rallye)), __FUNCTION__, __LINE__);
while ($content = SQL_FETCHARRAY($result_user)) {
// Load current ref count
- $cnt = getReferalRallyeRefsCount($content['userid'], $content['refs']);
+ $count = getReferalRallyeRefsCount($content['userid'], $content['refs']);
// Points of ref's
$result_ref = SQL_QUERY_ESC("SELECT
- SUM(p.points) AS points
+ SUM(p.points) AS `points`
FROM
`{?_MYSQL_PREFIX?}_user_points` AS p
LEFT JOIN
// Store calculated new refs to array
$users['userid'][] = $content['userid'];
- $users['ref'][] = abs($cnt - $content['refs']);
+ $users['ref'][] = abs($count - $content['refs']);
$users['cpoints'][] = $refpoints - $content['curr_points'];
} // END - while
FROM
`{?_MYSQL_PREFIX?}_rallye_data`
WHERE
- `end_time` <= (UNIX_TIMESTAMP() - {?ONE_DAY?} - %s) AND
+ (UNIX_TIMESTAMP() - `end_time`) > ({?ONE_DAY?} * %s) AND
`expired`='Y'",
array($EXPIRE), __FUNCTION__, __LINE__);
// 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(getMaskedMessage('RALLYE_ADMIN_PURGED_SUBJECT', $content['title']), 'admin_rallye_purged', $content);
+ sendAdminNotification('{%message,RALLYE_ADMIN_PURGED_SUBJECT=' . $content['title'] . '%}', 'admin_rallye_purged', $content);
// Purge whole rallye
addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_data` WHERE `id`=%s LIMIT 1",
// Accept only template names between 1 and 255 chars length
if ((strlen($read) < 256) && (!empty($read))) {
- // Valid entry found!
+ // Valid entry found
$ral[$read] = $read;
} else {
// Log invalid
// Check current refs
if (isExtensionInstalledAndNewer('cache', '0.1.2')) {
// Get refs from cache
- $cnt = '0';
+ $count = '0';
foreach ($GLOBALS['cache_array']['refsystem']['userid'] as $id => $userid) {
// Do we have a ref for this user?
//* DEBUG: */ debugOutput('id='.$id.',userid='.$userid.',userid='.$userid.',old='.$old.',level='.$GLOBALS['cache_array']['refsystem']['level'][$id]);
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: */ debugOutput('*'.$userid.'/'.$cnt.'*');
+ $count = $GLOBALS['cache_array']['refsystem']['counter'][$id];
+ //* DEBUG: */ debugOutput('*'.$userid.'/'.$count.'*');
break;
} elseif ($level > 1) {
// Not interesting here...
} // END - foreach
// Abort also here!
- if ($cnt > 0) break;
+ if ($count > 0) break;
} // END - if
} // END - foreach
//* DEBUG: */ debugOutput('<pre>'.print_r($GLOBALS['cache_array']['refsystem'], true).'</pre>');
//* DEBUG: */ shutdown();
- if ($cnt > 0) {
+ if ($count > 0) {
// Count cache hits
incrementStatsEntry('cache_hits');
// Remove old refs
- //* DEBUG: */ debugOutput('+'.$cnt.'/'.$old.'+');
- $cnt -= $old;
+ //* DEBUG: */ debugOutput('+'.$count.'/'.$old.'+');
+ $count -= $old;
} // END - if
} else {
// Load current refs from database
), __FUNCTION__, __LINE__);
// Load count @TODO Can't we rewrite this to our API?
- list($cnt) = SQL_FETCHROW($result_ref);
+ list($count) = SQL_FETCHROW($result_ref);
// Free result
SQL_FREERESULT($result_ref);
- if (empty($cnt)) {
- $cnt = '0';
+ if (empty($count)) {
+ $count = '0';
} else {
- $cnt -= $old;
+ $count -= $old;
}
}
// Return count
- //* DEBUG: */ debugOutput('*'.$userid.'/'.$old.'/'.$cnt.'*');
- return $cnt;
+ //* DEBUG: */ debugOutput('*'.$userid.'/'.$old.'/'.$count.'*');
+ return $count;
}
// Determines the right language string for min_users
if ($min_users > 0) {
// Rallye ends when X members are totally in your exchange
- $return = getMaskedMessage('RALLYE_END_USERS', $min_users);
+ $return = '{%message,RALLYE_END_USERS=' . $min_users . '%}';
} // END - if
// Return
if ($min_prices > 0) {
// Rallye ends when X members are totally in your exchange
- $return = getMaskedMessage('RALLYE_END_PRICES', $min_prices);
+ $return = '{%message,RALLYE_END_PRICES=' . $min_prices . '%}';
} // END - if
// Return
return $return;
}
-// Filter for extra-autpurge
-function FILTER_RALLYE_EXTRA_AUTOPURGE () {
- // Check expired rallyes (hard-coded 3 days limit for displaying expired rallyes!)
- purgeExpiredReferalRallyes();
-}
-
// [EOF]
?>