X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Frallye_functions.php;h=56230b9022fba02148d2d21f6bcd3c7a1981015b;hp=1e1139e3a9b0f4365a3255a7cb65c69c9bdf622e;hb=4b8f04b322785cd4894080ded133e708f28fb91b;hpb=29385a0483bbcbbe940a32a49d488b1d5add15c5 diff --git a/inc/libs/rallye_functions.php b/inc/libs/rallye_functions.php index 1e1139e3a9..56230b9022 100644 --- a/inc/libs/rallye_functions.php +++ b/inc/libs/rallye_functions.php @@ -14,11 +14,9 @@ * $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 * @@ -93,8 +91,8 @@ ORDER BY $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 @@ -106,13 +104,11 @@ WHERE `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 @@ -145,14 +141,17 @@ WHERE 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)) { @@ -177,8 +176,8 @@ WHERE function addReferalRallyePrices ($rallye, $mode = 'email') { // Output mode switch($mode) { - case 'email': $mode = "\n"; break; - case 'html' : $mode = "
\n"; break; + case 'email': $mode = "\n"; break; + case 'html' : $mode = '
'; break; } // END - switch // Load prices @@ -193,7 +192,7 @@ ORDER BY 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; @@ -260,7 +259,7 @@ ORDER BY // 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 @@ -292,12 +291,16 @@ LIMIT 1", $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']; @@ -311,7 +314,6 @@ LIMIT 1", // Generate table $OUT = ''; - $SW = 2; for ($idx = '0'; $idx < $prices; $idx++) { // Prepare marking of default (maybe current user's) id $start = ''; $end = ''; @@ -322,7 +324,6 @@ LIMIT 1", // Prepare content $content = array( - 'sw' => $SW, 'idx' => ($idx + 1), 'start' => $start, 'end' => $end, @@ -333,7 +334,6 @@ LIMIT 1", // Load row template and switch color $OUT .= loadTemplate('guest_rallye_row', true, $content); - $SW = 3 - $SW; } // END - for // Add min_prices/users @@ -416,7 +416,7 @@ LIMIT 1", ), __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` @@ -444,30 +444,30 @@ function markReferalRallyesAsExpired ($result) { // 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 @@ -483,9 +483,9 @@ function markReferalRallyesAsExpired ($result) { 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]; @@ -531,7 +531,7 @@ function markReferalRallyesAsExpired ($result) { } // END - if // Count userid - $cnt++; + $count++; $users['userid'][$userid] = $userid; $users['poi'][$userid] = $DATA['infos']; } // END - if @@ -542,11 +542,11 @@ function markReferalRallyesAsExpired ($result) { $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(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'); @@ -641,11 +641,11 @@ function getArrayFromReferalRallyeUsers ($rallye) { 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 @@ -673,7 +673,7 @@ LIMIT 1", // 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 @@ -703,16 +703,13 @@ LIMIT 1", // @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 @@ -742,7 +739,6 @@ function addReferalRallyeWinners ($rallye, $default=0) { // Prepare content $content = array( - 'sw' => $SW, 'idx' => ($idx + 1), 'userid' => $DATA['userid'][$idx], 'ref' => $DATA['ref'][$idx], @@ -753,7 +749,6 @@ function addReferalRallyeWinners ($rallye, $default=0) { // Load row template $OUT .= loadTemplate('guest_rallye_row', true, $content); - $SW = 3 - $SW; } // END - for // Prepare content @@ -780,7 +775,7 @@ WHERE `expired`='Y'", array($EXPIRE), __FUNCTION__, __LINE__); - if (SQL_NUMROWS($result_rallye) > 0) { + if (!SQL_HASZERONUMS($result_rallye)) { // Init SQLs initSqls(); @@ -833,7 +828,7 @@ function addReferalRallyeTemplateSelection ($name = 'template', $default = '') { // 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 @@ -844,7 +839,7 @@ function addReferalRallyeTemplateSelection ($name = 'template', $default = '') { // 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 = ''; $OUT .= generateOptionList('/ARRAY/', array_keys($ral), array_values($ral), $default, '', 'none'); $OUT .= ''; } else { @@ -861,7 +856,7 @@ function getReferalRallyeRefsCount ($currUserid, $old = '0') { // 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]); @@ -870,8 +865,8 @@ function getReferalRallyeRefsCount ($currUserid, $old = '0') { 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... @@ -880,20 +875,20 @@ function getReferalRallyeRefsCount ($currUserid, $old = '0') { } // END - foreach // Abort also here! - if ($cnt > 0) break; + if ($count > 0) break; } // END - if } // END - foreach //* DEBUG: */ debugOutput('
'.print_r($GLOBALS['cache_array']['refsystem'], true).'
'); //* 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 @@ -913,20 +908,20 @@ WHERE ), __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 @@ -957,11 +952,5 @@ function determineReferalRallyeMinimumPrices ($min_prices) { 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] ?>