* $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
* $Author:: $ *
- * Needs to be in all Files and every File needs "svn propset *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* 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
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)) {
function addReferalRallyePrices ($rallye, $mode = 'email') {
// Output mode
switch($mode) {
- case 'email': $mode = "\n"; break;
- case 'html' : $mode = "<br />\n"; break;
+ case 'email': $mode = "\n"; break;
+ case 'html' : $mode = '<br />'; break;
} // END - switch
// Load prices
array($rallye), __FUNCTION__, __LINE__);
// Entries found?
- if (SQL_NUMROWS($result_prices) > 0) {
+ if (!SQL_HASZERONUMS($result_prices)) {
// Load prices
if ($mode == "\n") $prices = '{--RALLYE_MEMBER_PRICES_ADDED--}:' . $mode . '------------------------------' . $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'])) { $userid = $content['userid']; } else { $cnt = ''; }
+ //* DEBUG: */ debugOutput('*'.$count.'/'.$content['userid'].'/'.$content['curr_points'].'/'.$refpoints.'*');
+ if (($count > 0) && ($refpoints > $content['curr_points'])) {
+ $userid = $content['userid'];
+ } else {
+ $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'];
// Generate table
$OUT = '';
- $SW = 2;
for ($idx = '0'; $idx < $prices; $idx++) {
- if (empty($DATA['userid'][$idx])) $DATA['userid'][$idx] = '---';
- if (empty($DATA['ref'][$idx])) $DATA['ref'][$idx] = '---';
-
// Prepare marking of default (maybe current user's) id
$start = ''; $end = '';
if (($DATA['userid'][$idx] == $default) && ($default > 0)) {
// Prepare content
$content = array(
- 'sw' => $SW,
'idx' => ($idx + 1),
'start' => $start,
'end' => $end,
'userid' => $DATA['userid'][$idx],
'ref' => $DATA['ref'][$idx],
- 'info' => ''
+ 'infos' => ''
);
// Load row template and switch color
$OUT .= loadTemplate('guest_rallye_row', true, $content);
- $SW = 3 - $SW;
} // END - for
// Add min_prices/users
), __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;
// Allow valid and active users with at least one ref to get points
- if (($userid > 0) && ($prices['ref'][$key] > 0) && ($active == 1) && ($prices['cpoints'][$key] > 0)) {
+ if ((isValidUserId($userid)) && ($prices['ref'][$key] > 0) && ($active == 1) && ($prices['cpoints'][$key] > 0)) {
$total++;
} // END - if
} // END - foreach
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 (($userid > 0) && ($prices['ref'][$key] > 0) && ($prices['active'][$key] == 1) && ($prices['cpoints'][$key] > 0)) {
+ if ((isValidUserId($userid)) && ($prices['ref'][$key] > 0) && ($prices['active'][$key] == 1) && ($prices['cpoints'][$key] > 0)) {
// Transfer data to array for the mail template
$DATA['level'] = $prices['level'][$key];
$DATA['points'] = $prices['points'][$key];
// Load template
$message = loadEmailTemplate($template, $DATA, $userid);
- sendEmail($userid, getMaskedMessage('RALLYE_MEMBER_EXPIRED_SUBJ', $DATA['level']), $message);
+ sendEmail($userid, getMaskedMessage('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_SUBJ', $title), $templ, $cnt);
+ sendAdminNotification(getMaskedMessage('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
// We only need to check one element in $users, see above while() block
if (isset($users['userid'][$k])) {
$prices['userid'][$k] = $users['userid'][$k];
- if (empty($prices['userid'][$k])) $prices['userid'][$k] = '---';
- $prices['ref'][$k] = $users['ref'][$k];
- if (empty($prices['ref'][$k])) $prices['ref'][$k] = '---';
+ $prices['ref'][$k] = $users['ref'][$k];
$prices['cpoints'][$k] = $users['cpoints'][$k];
} // END - if
} // END - foreach
// @TODO This function does not load min_users, min_prices, please encapsulate loading rallye data with e.g. getRallyeDataFromId()
function addReferalRallyeWinners ($rallye, $default=0) {
// First check how many prices are set
- $result_prices = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE `rallye_id`=%s ORDER BY `price_level` ASC",
- array(bigintval($rallye)), __FUNCTION__, __LINE__);
- $prices = SQL_NUMROWS($result_prices);
- SQL_FREERESULT($result_prices);
+ $prices = countSumTotalData(bigintval($rallye), 'rallye_prices', 'id', 'rallye_id', true);
// Load data
$DATA = getArrayFromReferalRallyeUsers($rallye);
// Generate table
- $OUT = ''; $SW = 2;
+ $OUT = '';
for ($idx = '0'; $idx < $prices; $idx++) {
// 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'");
- 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] = '---';
// Prepare content
$content = array(
- 'sw' => $SW,
'idx' => ($idx + 1),
'userid' => $DATA['userid'][$idx],
'ref' => $DATA['ref'][$idx],
// Load row template
$OUT .= loadTemplate('guest_rallye_row', true, $content);
- $SW = 3 - $SW;
} // END - for
// Prepare content
`expired`='Y'",
array($EXPIRE), __FUNCTION__, __LINE__);
- if (SQL_NUMROWS($result_rallye) > 0) {
+ if (!SQL_HASZERONUMS($result_rallye)) {
// Init SQLs
initSqls();
$content['now_time'] = generateDateTime(time(), 1);
// Send mail to admin
- sendAdminNotification(getMaskedMessage('RALLYE_ADMIN_PURGED_SUBJ', $content['title']), 'admin_rallye_purged', $content);
+ sendAdminNotification(getMaskedMessage('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
// Do we have found templates which we can link with the new rallye?
if (!empty($ral[0])) {
// Generate selection box for all found templates
- $OUT = '<select name="' . $name . '" size="1" class="admin_select">';
+ $OUT = '<select class="form_select" name="' . $name . '" size="1">';
$OUT .= generateOptionList('/ARRAY/', array_keys($ral), array_values($ral), $default, '', 'none');
$OUT .= '</select>';
} else {
// 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
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]
?>