X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Frallye_functions.php;h=baf0bdef927ec3a9a7a302eaea8cb7a9349df94b;hb=f11431f9a9e4eef095057af4e3f0c2a3971488da;hp=b3fb7f1fa6d37a6dc6ab579a5efa9c32060b31dc;hpb=330dbb3e2b34450cd1665497506455e195a0a166;p=mailer.git diff --git a/inc/libs/rallye_functions.php b/inc/libs/rallye_functions.php index b3fb7f1fa6..baf0bdef92 100644 --- a/inc/libs/rallye_functions.php +++ b/inc/libs/rallye_functions.php @@ -17,7 +17,7 @@ * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -117,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 @@ -135,7 +135,7 @@ WHERE // Add info line SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_rallye_users` -(`rallye_id`, `userid`, `refs`, `curr_points`) +(`rallye_id`,`userid`,`refs`,`curr_points`) VALUES (%s, %s, %s, %s)", array( @@ -182,7 +182,7 @@ function addReferalRallyePrices ($rallye, $mode = 'email') { // Load prices $result_prices = SQL_QUERY_ESC("SELECT - `price_level`, `points`, `info` + `price_level`,`points`,`info` FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE @@ -222,7 +222,7 @@ ORDER BY } // -function addReferalRallyeTopUsers ($rallye, $default=0) { +function addReferalRallyeTopUsers ($mode, $rallye, $default=0) { // Init variables $min_users = 0; $min_prices = 0; @@ -250,7 +250,7 @@ ORDER BY array(bigintval($rallye)), __FUNCTION__, __LINE__); // Load users - $DATA = array( + $content = array( 'userid' => array(), 'ref' => array(), 'cpoints' => array() @@ -299,9 +299,9 @@ LIMIT 1", } // Save values to array - $DATA['userid'][] = $userid; - $DATA['ref'][] = $count; - $DATA['cpoints'][] = $content['curr_points']; + $content['userid'][] = $userid; + $content['ref'][] = $count; + $content['cpoints'][] = $content['curr_points']; $min_users = $content['min_users']; $min_prices = $content['min_prices']; } // END - while @@ -310,30 +310,30 @@ LIMIT 1", SQL_FREERESULT($result); // Sort whole array - array_pk_sort($DATA, array('ref', 'cpoints'), 0, 1, true); + array_pk_sort($content, array('ref', 'cpoints'), 0, 1, true); // Generate table $OUT = ''; for ($idx = '0'; $idx < $prices; $idx++) { // Prepare marking of default (maybe current user's) id $start = ''; $end = ''; - if (($DATA['userid'][$idx] == $default) && ($default > 0)) { + if (($content['userid'][$idx] == $default) && ($default > 0)) { $start = ''; $end = ''; } // END - if // Prepare content - $content = array( + $row = array( 'idx' => ($idx + 1), 'start' => $start, 'end' => $end, - 'userid' => $DATA['userid'][$idx], - 'ref' => $DATA['ref'][$idx], + 'userid' => $content['userid'][$idx], + 'ref' => $content['ref'][$idx], 'infos' => '' ); // Load row template and switch color - $OUT .= loadTemplate('guest_rallye_row', true, $content); + $OUT .= loadTemplate($mode . '_list_rallye_row', true, $row); } // END - for // Add min_prices/users @@ -342,7 +342,7 @@ LIMIT 1", $content['min_users'] = bigintval($min_users); // And finnally return the output - return loadTemplate('guest_rallye', true, $content); + return loadTemplate($mode . '_list_rallye', true, $content); } // Run this function only when a new member has confirmed his email address! @@ -351,12 +351,12 @@ function addUserToReferalRallye ($userid, $content = array()) { // Updated extension? if (isExtensionInstalledAndNewer('rallye', '0.2.0')) { - $add .= ', `min_users`, `min_prices`'; + $add .= ', `min_users`,`min_prices`'; } // END - if // Check for an auto-add rallye $result = SQL_QUERY("SELECT - `id`, `title`, `start_time`, `end_time`, `send_notify`".$add." + `id`,`title`,`start_time`,`end_time`,`send_notify`".$add." FROM `{?_MYSQL_PREFIX?}_rallye_data` WHERE @@ -420,7 +420,7 @@ LIMIT 1", // Add userid and his ref count to table SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_rallye_users` -(`rallye_id`, `userid`, `refs`) +(`rallye_id`,`userid`,`refs`) VALUES (%s,%s,0)", array( @@ -436,8 +436,6 @@ LIMIT 1", // function markReferalRallyesAsExpired ($result) { - global $DATA; - // Load rallye data list($id, $title, $start, $end, $notify, $min_users, $min_prices) = SQL_FETCHROW($result); @@ -445,13 +443,13 @@ function markReferalRallyesAsExpired ($result) { SQL_FREERESULT($result); // Init array - $DATA = array(); + $content = array(); $count = '0'; $users = array(); - $DATA['title'] = $title; - $DATA['start'] = generateDateTime($start, 1); - $DATA['end'] = generateDateTime($end , 1); - $DATA['now_t'] = generateDateTime(time(), 1); + $content['title'] = $title; + $content['start'] = generateDateTime($start, 1); + $content['end'] = generateDateTime($end , 1); + $content['now_t'] = generateDateTime(time(), 1); // Load users array (!) with assigned prices $prices = getArrayFromReferalRallyeUsers($id); @@ -474,7 +472,7 @@ function markReferalRallyesAsExpired ($result) { if (($total < $min_prices) || ($total == '0')) { // Do not end this rallye! - unset($DATA); + unset($content); return; } // END - if @@ -487,53 +485,54 @@ function markReferalRallyesAsExpired ($result) { // 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 - $DATA['level'] = $prices['level'][$key]; - $DATA['points'] = $prices['points'][$key]; - $DATA['info'] = $prices['info'][$key]; - $DATA['ref'] = $prices['ref'][$key]; + $content['level'] = $prices['level'][$key]; + $content['points'] = $prices['points'][$key]; + $content['info'] = $prices['info'][$key]; + $content['ref'] = $prices['ref'][$key]; // Default is other $winnerLevel = 'other'; // Determine winner level - if ($DATA['level'] == 1) { + if ($content['level'] == 1) { // The winner! - $winnerLevel = '_gold'; - } elseif ($DATA['level'] == 2) { + $winnerLevel = 'gold'; + } elseif ($content['level'] == 2) { // The vice winner! - $winnerLevel = '_silver'; - } elseif ($DATA['level'] == 3) { + $winnerLevel = 'silver'; + } elseif ($content['level'] == 3) { // The bronce winner - $winnerLevel = '_bronce'; + $winnerLevel = 'bronce'; } - if ($DATA['points'] > 0) { + if ($content['points'] > 0) { // Add points directly to user's account - addPointsDirectly('rallye_winner' . $winnerLevel, $userid, $DATA['points']); + initReferalSystem(); + addPointsThroughReferalSystem('rallye_winner:' . $winnerLevel, $userid, $content['points']); } // END - if if ($notify == 'Y') { // Prepare infos for the mail template - if (!empty($DATA['info'])) { + if (!empty($content['info'])) { // Take direct infos - $DATA['infos'] = $DATA['info']; + $content['infos'] = $content['info']; } else { // Take points - $DATA['infos'] = $DATA['points'] . ' {?POINTS?}'; + $content['infos'] = $content['points'] . ' {?POINTS?}'; } // Add suffix to template name - $template = 'member_rallye_expired' . $winnerLevel; + $template = 'member_rallye_expired_' . $winnerLevel; // Load template - $message = loadEmailTemplate($template, $DATA, $userid); - sendEmail($userid, '{%message,RALLYE_MEMBER_EXPIRED_SUBJECT=' . $DATA['level'] . '%}', $message); + $message = loadEmailTemplate($template, $content, $userid); + sendEmail($userid, '{%message,RALLYE_MEMBER_EXPIRED_SUBJECT=' . $content['level'] . '%}', $message); } // END - if // Count userid $count++; $users['userid'][$userid] = $userid; - $users['poi'][$userid] = $DATA['infos']; + $users['poi'][$userid] = $content['infos']; } // END - if } // END - foreach @@ -545,8 +544,11 @@ function markReferalRallyesAsExpired ($result) { $count = getReferalRallyeUserDataFromArray($users); } + // Add count + $content['count'] = $count; + // Send mail to admin - sendAdminNotification('{%message,RALLYE_ADMIN_EXPIRED_SUBJECT=' . $title . '%}', $templ, $count); + sendAdminNotification('{%message,RALLYE_ADMIN_EXPIRED_SUBJECT=' . $title . '%}', $templ, $content); // Add task (we ignore the task id here) createNewTask('{--RALLYE_ADMIN_EXPIRED--}: ' . $title, '{--RALLYE_ADMIN_EXPIRED_TEXT--}', 'RALLYE_EXPIRED'); @@ -562,7 +564,7 @@ function getReferalRallyeUserDataFromArray ($userIds) { // Load users $result = SQL_QUERY_ESC("SELECT - `userid`, `gender`, `surname`, `family`, `email` + `userid`,`gender`,`surname`,`family`,`email` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE @@ -601,7 +603,7 @@ function getArrayFromReferalRallyePrices ($rallye) { // Load prices $result = SQL_QUERY_ESC("SELECT - `price_level`, `points`, `info` + `price_level`,`points`,`info` FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE @@ -637,7 +639,7 @@ function getArrayFromReferalRallyeUsers ($rallye) { ); // Load users userid old points earned - $result_user = SQL_QUERY_ESC("SELECT `userid`, `refs`, `curr_points` FROM `{?_MYSQL_PREFIX?}_rallye_users` WHERE `rallye_id`=%s ORDER BY `userid` ASC", + $result_user = SQL_QUERY_ESC("SELECT `userid`,`refs`,`curr_points` FROM `{?_MYSQL_PREFIX?}_rallye_users` WHERE `rallye_id`=%s ORDER BY `userid` ASC", array(bigintval($rallye)), __FUNCTION__, __LINE__); while ($content = SQL_FETCHARRAY($result_user)) { // Load current ref count @@ -701,12 +703,12 @@ 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) { +function addReferalRallyeWinners ($mode, $rallye, $default=0) { // First check how many prices are set $prices = countSumTotalData(bigintval($rallye), 'rallye_prices', 'id', 'rallye_id', true); // Load data - $DATA = getArrayFromReferalRallyeUsers($rallye); + $content = getArrayFromReferalRallyeUsers($rallye); // Generate table $OUT = ''; @@ -714,41 +716,41 @@ function addReferalRallyeWinners ($rallye, $default=0) { // 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($content['userid'][$idx], 'user_data', 'userid', 'userid', true, " AND `status`='CONFIRMED'"); - if ((empty($DATA['ref'][$idx])) || ($DATA['ref'][$idx] == '0') || ($active == '0') || ('' . round($DATA['cpoints'][$idx]) . '' == '0') || (empty($DATA['cpoints'][$idx]))) { + if ((empty($content['ref'][$idx])) || ($content['ref'][$idx] == '0') || ($active == '0') || ('' . round($content['cpoints'][$idx]) . '' == '0') || (empty($content['cpoints'][$idx]))) { // Allow valid and active users with at least one ref to get points - $DATA['ref'][$idx] = '---'; - $DATA['userid'][$idx] = '---'; + $content['ref'][$idx] = '---'; + $content['userid'][$idx] = '---'; } // END - if - if (!empty($DATA['info'][$idx])) { + if (!empty($content['info'][$idx])) { // Take direct infos - $DATA['infos'][$idx] = $DATA['info'][$idx]; + $content['infos'][$idx] = $content['info'][$idx]; } else { // Take ppints - $DATA['infos'][$idx] = $DATA['points'][$idx] . ' {?POINTS?}'; + $content['infos'][$idx] = $content['points'][$idx] . ' {?POINTS?}'; } // Prepare marking of default (maybe current user's) id $start = ''; $end = ''; - if (($DATA['userid'][$idx] == $default) && ($default > 0)) { + if (($content['userid'][$idx] == $default) && ($default > 0)) { $start = ''; $end = ''; } // END - if // Prepare content - $content = array( + $row = array( 'idx' => ($idx + 1), - 'userid' => $DATA['userid'][$idx], - 'ref' => $DATA['ref'][$idx], - 'infos' => $DATA['infos'][$idx], + 'userid' => $content['userid'][$idx], + 'ref' => $content['ref'][$idx], + 'infos' => $content['infos'][$idx], 'start' => $start, 'end' => $end ); // Load row template - $OUT .= loadTemplate('guest_rallye_row', true, $content); + $OUT .= loadTemplate($mode . '_list_rallye_row', true, $row); } // END - for // Prepare content @@ -759,7 +761,7 @@ function addReferalRallyeWinners ($rallye, $default=0) { ); // Load main template and finnally return the output - return loadTemplate('guest_rallye', true, $content); + return loadTemplate($mode . '_list_rallye', true, $content); } // @@ -767,7 +769,7 @@ function purgeExpiredReferalRallyes () { // Check for expired rallyes $EXPIRE = 3; // @TODO The hard-coded value... $result_rallye = SQL_QUERY_ESC("SELECT - `id`, `title`, `start_time`, `end_time` + `id`,`title`,`start_time`,`end_time` FROM `{?_MYSQL_PREFIX?}_rallye_data` WHERE @@ -852,14 +854,14 @@ function addReferalRallyeTemplateSelection ($name = 'template', $default = '') { } // @TODO Please document this function -function getReferalRallyeRefsCount ($currUserid, $old = '0') { +function getReferalRallyeRefsCount ($currUserid, $oldReferralCount = '0') { // Check current refs if (isExtensionInstalledAndNewer('cache', '0.1.2')) { // Get refs from cache $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]); + //* DEBUG: */ debugOutput('id='.$id.',userid='.$userid.',userid='.$userid.',oldReferralCount='.$oldReferralCount.',level='.$GLOBALS['cache_array']['refsystem']['level'][$id]); if (($currUserid == $userid) && ($GLOBALS['cache_array']['refsystem']['level'][$id] == 1)) { //* DEBUG: */ debugOutput('userid matches!'); foreach ($GLOBALS['cache_array']['refdepths']['level'] as $level) { @@ -887,8 +889,8 @@ function getReferalRallyeRefsCount ($currUserid, $old = '0') { incrementStatsEntry('cache_hits'); // Remove old refs - //* DEBUG: */ debugOutput('+'.$count.'/'.$old.'+'); - $count -= $old; + //* DEBUG: */ debugOutput('+'.$count.'/'.$oldReferralCount.'+'); + $count -= $oldReferralCount; } // END - if } else { // Load current refs from database @@ -915,12 +917,12 @@ WHERE if (empty($count)) { $count = '0'; } else { - $count -= $old; + $count -= $oldReferralCount; } } // Return count - //* DEBUG: */ debugOutput('*'.$userid.'/'.$old.'/'.$count.'*'); + //* DEBUG: */ debugOutput('*'.$userid.'/'.$oldReferralCount.'/'.$count.'*'); return $count; }