X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Frallye_functions.php;h=c301b593e0761d68cf37d554d1f9362675dfe158;hp=71e3bf842d2ba116e05cd5171f92aa7eba5fdf07;hb=56931cd9321119dd37372bd16d6c552857e40066;hpb=903f539b5aac6171fdfee9ad252565531e8dd4e2 diff --git a/inc/libs/rallye_functions.php b/inc/libs/rallye_functions.php index 71e3bf842d..c301b593e0 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 @@ -121,11 +117,11 @@ ON 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 @@ -145,20 +141,23 @@ 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)) { // 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 @@ -167,7 +166,7 @@ WHERE 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); @@ -212,7 +211,7 @@ ORDER BY 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 @@ -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,16 +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'])) { + //* 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']; @@ -399,7 +398,7 @@ LIMIT 1", __FUNCTION__, __LINE__); // 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... @@ -417,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` @@ -445,25 +444,25 @@ 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; @@ -484,7 +483,7 @@ 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 ((isValidUserId($userid)) && ($prices['ref'][$key] > 0) && ($prices['active'][$key] == 1) && ($prices['cpoints'][$key] > 0)) { // Transfer data to array for the mail template @@ -499,18 +498,18 @@ function markReferalRallyesAsExpired ($result) { // 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') { @@ -528,11 +527,11 @@ function markReferalRallyesAsExpired ($result) { // 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 @@ -543,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('{%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'); @@ -578,8 +577,8 @@ LIMIT %s", ), __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'], @@ -642,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 @@ -674,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 @@ -772,7 +771,7 @@ function purgeExpiredReferalRallyes () { 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__); @@ -783,12 +782,12 @@ WHERE // 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", @@ -829,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 @@ -857,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]); @@ -866,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... @@ -876,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 @@ -909,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 @@ -932,7 +931,7 @@ function determineReferalRallyeMinimumUsers ($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 @@ -946,18 +945,12 @@ function determineReferalRallyeMinimumPrices ($min_prices) { 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] ?>