X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Frallye_functions.php;h=998427c95fa76373a82ebf26db773e41c4edca54;hp=9183a06d0d7df44a3472cb5dcdffa2b3766f159d;hb=f928ad2bed60fa256d0641eaf6d2c027a2944688;hpb=7b0f17cd637e388049d2167811e4332cec1e979b diff --git a/inc/libs/rallye_functions.php b/inc/libs/rallye_functions.php index 9183a06d0d..998427c95f 100644 --- a/inc/libs/rallye_functions.php +++ b/inc/libs/rallye_functions.php @@ -54,16 +54,16 @@ function RALLYE_AUTOSTART_RALLYES ($result) { // Set notified to Y SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_rallye_data` SET notified='Y' WHERE `id`=%s LIMIT 1", - array(bigintval($id)), __FUNCTION__, __LINE__); + array(bigintval($id)), __FUNCTION__, __LINE__); // Do a snapshot off all user refs $result_user = SQL_QUERY("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `status`='CONFIRMED' ORDER BY `userid` ASC", __FUNCTION__, __LINE__); // Transfer all neccessary data to the global $DATA array $DATA['uid_cnt'] = SQL_NUMROWS($result_user); - $DATA['start'] = generateDateTime($start, "2"); - $DATA['end'] = generateDateTime($end , "2"); - $DATA['now_t'] = generateDateTime(time(), "2"); + $DATA['start'] = generateDateTime($start, '2'); + $DATA['end'] = generateDateTime($end , '2'); + $DATA['now_t'] = generateDateTime(time(), '2'); $DATA['title'] = $title; $DATA['id'] = $id; // ID for the rallye details link @@ -84,7 +84,7 @@ function RALLYE_AUTOSTART_RALLYES ($result) { // Check if line is already included... $result_ref = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE rallye_id=%s AND `userid`=%s LIMIT 1", - array(bigintval($id), bigintval($content['userid'])), __FUNCTION__, __LINE__); + array(bigintval($id), bigintval($content['userid'])), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result_ref) == 0) { // Free memory SQL_FREERESULT($result_ref); @@ -95,7 +95,7 @@ FROM `{!_MYSQL_PREFIX!}_user_points` AS p LEFT JOIN `{!_MYSQL_PREFIX!}_user_data` AS d ON p.userid=d.userid WHERE d.`status`='CONFIRMED' AND d.max_mails > 0 AND d.mails_confirmed >= %s AND p.ref_depth=1 AND p.points > 0 AND d.userid=%s", - array(getConfig('ref_payout'), bigintval($content['userid'])), __FUNCTION__, __LINE__); + array(getConfig('ref_payout'), bigintval($content['userid'])), __FUNCTION__, __LINE__); list($cpoints) = SQL_FETCHROW($result_ref); SQL_FREERESULT($result_ref); @@ -104,7 +104,7 @@ WHERE d.`status`='CONFIRMED' AND d.max_mails > 0 AND d.mails_confirmed >= %s AND // Add info line SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_rallye_users` (rallye_id, userid, refs, curr_points) VALUES ('%s','%s','%s','%s')", - array(bigintval($id), bigintval($content['userid']), bigintval($cnt), $cpoints), __FUNCTION__, __LINE__); + array(bigintval($id), bigintval($content['userid']), bigintval($cnt), $cpoints), __FUNCTION__, __LINE__); $un = true; } // END - if @@ -114,8 +114,8 @@ VALUES ('%s','%s','%s','%s')", // Shall I notify this member? if (($notify == 'Y') && ($un)) { // Load email template and send it to the user - $msg = LOAD_EMAIL_TEMPLATE("member_rallye_notify", array('prices' => $prices), $content['userid']); - sendEmail($content['userid'], sprintf(getMessage('RALLYE_MEMBER_NOTIFY'), $title), $msg); + $message = LOAD_EMAIL_TEMPLATE("member_rallye_notify", array('prices' => $prices), $content['userid']); + sendEmail($content['userid'], sprintf(getMessage('RALLYE_MEMBER_NOTIFY'), $title), $message); } // END - if } // END - while @@ -171,7 +171,7 @@ function RALLYE_ADD_PRICES ($rallye, $mode='email') { function RALLYE_ADD_TOPUSERS ($rallye, $default=0) { // First check how many prices are set $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE rallye_id=%s ORDER BY price_level", - array(bigintval($rallye)), __FUNCTION__, __LINE__); + array(bigintval($rallye)), __FUNCTION__, __LINE__); $prices = SQL_NUMROWS($result); SQL_FREERESULT($result); @@ -180,7 +180,7 @@ function RALLYE_ADD_TOPUSERS ($rallye, $default=0) { LEFT JOIN `{!_MYSQL_PREFIX!}_refsystem` AS r ON u.userid=r.userid WHERE u.rallye_id=%s AND r.counter > 0 ORDER BY u.refs DESC", - array(bigintval($rallye)), __FUNCTION__, __LINE__); + array(bigintval($rallye)), __FUNCTION__, __LINE__); // Load users $DATA = array( @@ -278,14 +278,14 @@ function RALLYE_AUTOADD_USER ($uid) { // Check if line is already included... $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE rallye_id=%s AND `userid`=%s LIMIT 1", - array(bigintval($id), bigintval($uid)), __FUNCTION__, __LINE__); + array(bigintval($id), bigintval($uid)), __FUNCTION__, __LINE__); // Is this user added? if (SQL_NUMROWS($result) == 0) { // Add userid and his ref count to table SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_rallye_users` (rallye_id, userid, refs) VALUES ('%s','%s','0')", - array(bigintval($id), bigintval($uid)), __FUNCTION__, __LINE__); + array(bigintval($id), bigintval($uid)), __FUNCTION__, __LINE__); } // END - if // Free memory @@ -293,13 +293,13 @@ VALUES ('%s','%s','0')", if ($notify == 'Y') { // Transfer all neccessary data to the global $DATA array - $DATA['start'] = generateDateTime($start, "2"); - $DATA['end'] = generateDateTime($end , "2"); - $DATA['now_t'] = generateDateTime(time(), "2"); + $DATA['start'] = generateDateTime($start, '2'); + $DATA['end'] = generateDateTime($end , '2'); + $DATA['now_t'] = generateDateTime(time(), '2'); $DATA['title'] = $title; $DATA['id'] = $id; // ID for the rallye details link $DATA['ref'] = 0; - $DATA['refs'] = GET_TOTAL_DATA($uid, "user_data", 'userid', "refid", true); + $DATA['refs'] = GET_TOTAL_DATA($uid, 'user_data', 'userid', "refid", true); // Load prices $prices = RALLYE_ADD_PRICES($id); @@ -309,8 +309,8 @@ VALUES ('%s','%s','0')", $DATA['min_prices'] = RALLYE_DETERMINE_MIN_PRICES($min_prices); // Send notification to member - $msg = LOAD_EMAIL_TEMPLATE("member_rallye_notify", array('prices' => $prices), $uid); - sendEmail($uid, sprintf(getMessage('RALLYE_MEMBER_NOTIFY'), $title), $msg); + $message = LOAD_EMAIL_TEMPLATE("member_rallye_notify", array('prices' => $prices), $uid); + sendEmail($uid, sprintf(getMessage('RALLYE_MEMBER_NOTIFY'), $title), $message); } // END - if } // END - if } @@ -330,9 +330,9 @@ function RALLYE_EXPIRE_RALLYES ($result) { $DATA = array(); $cnt = 0; $users = array(); $DATA['title'] = $title; - $DATA['start'] = generateDateTime($start, "1"); - $DATA['end'] = generateDateTime($end , "1"); - $DATA['now_t'] = generateDateTime(time(), "1"); + $DATA['start'] = generateDateTime($start, '1'); + $DATA['end'] = generateDateTime($end , '1'); + $DATA['now_t'] = generateDateTime(time(), '1'); // Just count... $total = 0; @@ -340,10 +340,14 @@ function RALLYE_EXPIRE_RALLYES ($result) { // Check status // active = 1: account is still confirmed // active = 0: account is deleted or locked - $result = SQL_QUERY_ESC("SELECT COUNT(userid) AS active -FROM `{!_MYSQL_PREFIX!}_user_data` -WHERE userid=%s AND `status`='CONFIRMED' -LIMIT 1", array(bigintval($uid)), __FUNCTION__, __LINE__); + $result = SQL_QUERY_ESC("SELECT + COUNT(`userid`) AS active +FROM + `{!_MYSQL_PREFIX!}_user_data` +WHERE + `userid`=%s AND `status`='CONFIRMED' +LIMIT 1", + array(bigintval($uid)), __FUNCTION__, __LINE__); list($active) = SQL_FETCHROW($result); SQL_FREERESULT($result); @@ -362,8 +366,8 @@ LIMIT 1", array(bigintval($uid)), __FUNCTION__, __LINE__); } // END - if // Expire rallye - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_rallye_data` SET expired='Y' WHERE `id`=%s LIMIT 1", - array(bigintval($id)), __FUNCTION__, __LINE__); + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_rallye_data` SET `expired`='Y' WHERE `id`=%s LIMIT 1", + array(bigintval($id)), __FUNCTION__, __LINE__); // Run array through (by uid is the most important 2nd-level-array) foreach($prices['uid'] as $key => $uid) { @@ -381,13 +385,13 @@ LIMIT 1", array(bigintval($uid)), __FUNCTION__, __LINE__); // 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) { @@ -402,15 +406,15 @@ LIMIT 1", array(bigintval($uid)), __FUNCTION__, __LINE__); $DATA['infos'] = $DATA['info']; } else { // Take points - $DATA['infos'] = $DATA['points']." {!POINTS!}"; + $DATA['infos'] = $DATA['points'] . ' {!POINTS!}'; } // Add suffix to template name - $template = "member_rallye_expired".$winnerLevel; + $template = 'member_rallye_expired' . $winnerLevel; // Load template - $msg = LOAD_EMAIL_TEMPLATE($template, $DATA, $uid); - sendEmail($uid, sprintf(getMessage('RALLYE_MEMBER_EXPIRED_SUBJ'), $DATA['level']), $msg); + $message = LOAD_EMAIL_TEMPLATE($template, $DATA, $uid); + sendEmail($uid, sprintf(getMessage('RALLYE_MEMBER_EXPIRED_SUBJ'), $DATA['level']), $message); } // END - if // Count userid @@ -432,32 +436,28 @@ LIMIT 1", array(bigintval($uid)), __FUNCTION__, __LINE__); sendAdminNotification(sprintf(getMessage('RALLYE_ADMIN_EXPIRED_SUBJ'), $title), $templ, $cnt, 0); // Add task - SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (status, task_type, subject, text, task_created) -VALUES ('NEW','RALLYE_EXPIRED','{--RALLYE_ADMIN_EXPIRED--}: %s','{--RALLYE_ADMIN_EXPIRED_TEXT--}',UNIX_TIMESTAMP())", - array($title), __FUNCTION__, __LINE__); - - // All work done here... + createNewTask('{--RALLYE_ADMIN_EXPIRED--}: ' . $title, '{--RALLYE_ADMIN_EXPIRED_TEXT--}', 'RALLYE_EXPIRED'); } // function RALLYE_LOAD_USER_DATA ($uids_array) { // Implode user ids - $uid_string = implode(",", $uids_array['uid']); + $uid_string = implode(',', $uids_array['uid']); // Init result string $ret = ''; // Load users - $result = SQL_QUERY_ESC("SELECT userid, gender, surname, family, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid IN(%s) AND `status`='CONFIRMED' ORDER BY userid LIMIT %s", + $result = SQL_QUERY_ESC("SELECT `userid`, `gender`, `surname`, `family`, `email` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid` IN(%s) AND `status`='CONFIRMED' ORDER BY `userid` ASC LIMIT %s", array($uid_string, count($uids_array)), __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']), - $content['surname'], - $content['family'], - $content['email'], - $uids_array['poi'][$content['userid']] + translateGender($content['gender']), + $content['surname'], + $content['family'], + $content['email'], + $uids_array['poi'][$content['userid']] ); } // END - while @@ -476,7 +476,7 @@ function RALLYE_LOAD_PRICES_ARRAY ($rallye) { // Load prices $result = SQL_QUERY_ESC("SELECT price_level, points, info FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE rallye_id=%s ORDER BY price_level", - array(bigintval($rallye)), __FUNCTION__, __LINE__); + array(bigintval($rallye)), __FUNCTION__, __LINE__); // Transfer elements while ($content = SQL_FETCHARRAY($result)) { @@ -506,7 +506,7 @@ function RALLYE_LOAD_USERS_ARRAY ($rallye) { // Load users uid 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", - array(bigintval($rallye)), __FUNCTION__, __LINE__); + array(bigintval($rallye)), __FUNCTION__, __LINE__); while ($content = SQL_FETCHARRAY($result_user)) { // Load current ref count $cnt = RALLYE_GET_REFCOUNT($content['userid'], $content['refs']); @@ -517,7 +517,7 @@ FROM `{!_MYSQL_PREFIX!}_user_points` AS p LEFT JOIN `{!_MYSQL_PREFIX!}_user_data` AS d ON p.userid=d.userid WHERE d.`status`='CONFIRMED' AND d.max_mails > 0 AND d.mails_confirmed >= %s AND p.ref_depth=1 AND p.points > 0 AND d.userid=%s", - array(getConfig('ref_payout'), bigintval($content['userid'])), __FUNCTION__, __LINE__); + array(getConfig('ref_payout'), bigintval($content['userid'])), __FUNCTION__, __LINE__); list($refpoints) = SQL_FETCHROW($result_ref); SQL_FREERESULT($result_ref); @@ -558,7 +558,7 @@ WHERE d.`status`='CONFIRMED' AND d.max_mails > 0 AND d.mails_confirmed >= %s AND // function RALLYE_LIST_WINNERS ($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", + $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); @@ -567,16 +567,13 @@ function RALLYE_LIST_WINNERS ($rallye, $default=0) { $DATA = RALLYE_LOAD_USERS_ARRAY($rallye); // Generate table - $OUT = LOAD_TEMPLATE("guest_rallye_expired_header", true); + $OUT = LOAD_TEMPLATE('guest_rallye_expired_header', true); $SW = 2; for ($idx = 0; $idx < $prices; $idx++) { // Check status // active = 1: account is still confirmed // active = 0: account is deleted or locked - $result_active = SQL_QUERY_ESC("SELECT COUNT(userid) FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s AND `status`='CONFIRMED' LIMIT 1", - array(bigintval($DATA['uid'][$idx])), __FUNCTION__, __LINE__); - list($active) = SQL_FETCHROW($result_active); - SQL_FREERESULT($result_active); + $active = GET_TOTAL_DATA($DATA['uid'][$idx], 'user_data', 'userid', 'userid', true, " AND `status`='CONFIRMED'"); if (empty($DATA['uid'][$idx])) $DATA['uid'][$idx] = '---'; if ((empty($DATA['ref'][$idx])) || ($DATA['ref'][$idx] == 0) || ($active == 0) || ("".round($DATA['cpoints'][$idx])."" == '0') || (empty($DATA['cpoints'][$idx]))) { @@ -590,7 +587,7 @@ function RALLYE_LIST_WINNERS ($rallye, $default=0) { $DATA['infos'][$idx] = $DATA['info'][$idx]; } else { // Take ppints - $DATA['infos'][$idx] = $DATA['points'][$idx]." {!POINTS!}"; + $DATA['infos'][$idx] = $DATA['points'][$idx] . ' {!POINTS!}'; } // Add row @@ -632,7 +629,7 @@ function RALLYE_DELETE_EXPIRED_RALLYES () { $result_rallye = SQL_QUERY_ESC("SELECT id, title, start_time, end_time FROM `{!_MYSQL_PREFIX!}_rallye_data` WHERE end_time <= (UNIX_TIMESTAMP() - %s) AND expired='Y'", - array($EXPIRE), __FUNCTION__, __LINE__); + array($EXPIRE), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result_rallye) > 0) { // Init SQLs @@ -642,9 +639,9 @@ WHERE end_time <= (UNIX_TIMESTAMP() - %s) AND expired='Y'", while ($content = SQL_FETCHARRAY($result_rallye)) { // Prepare data for mail template $DATA['title'] = $content['title']; - $DATA['start'] = generateDateTime($content['start_time'], "1"); - $DATA['end'] = generateDateTime($content['end_time'] , "1"); - $DATA['now_t'] = generateDateTime(time(), "1"); + $DATA['start'] = generateDateTime($content['start_time'], '1'); + $DATA['end'] = generateDateTime($content['end_time'] , '1'); + $DATA['now_t'] = generateDateTime(time(), '1'); // Send mail to admin sendAdminNotification(sprintf(getMessage('RALLYE_ADMIN_PURGED_SUBJ'), $content['title']), "admin_rallye_purged", '', 0); @@ -658,10 +655,7 @@ WHERE end_time <= (UNIX_TIMESTAMP() - %s) AND expired='Y'", array(bigintval($content['id'])), __FUNCTION__, __LINE__, false)); // Add task - // @TODO Rewrite this to a function - ADD_SQL(SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (status, task_type, subject, text, task_created) -VALUES ('NEW','RALLYE_PURGED','{--RALLYE_ADMIN_PURGED--}: %s','{--RALLYE_ADMIN_PURGED_TEXT--}',UNIX_TIMESTAMP())", - array($content['title']), __FUNCTION__, __LINE__, false)); + createNewTask('{--RALLYE_ADMIN_PURGED--}: ' . $content['title'], '{--RALLYE_ADMIN_PURGED_TEXT--}', 'RALLYE_PURGED'); } // END - while // Run all SQLs @@ -673,23 +667,25 @@ VALUES ('NEW','RALLYE_PURGED','{--RALLYE_ADMIN_PURGED--}: %s','{--RALLYE_ADMIN_P } // -function RALLYE_TEMPLATE_SELECTION ($name="template", $default = '') { +function RALLYE_TEMPLATE_SELECTION ($name = 'template', $default = '') { + // Init variables + $OUT = ''; + $ral = array(); + // Check templates directory - $OUT = ''; $ral = array(); - $basePath = sprintf("%stemplates/%s/html/rallye/", constant('PATH'), getLanguage()); - $dir = opendir($basePath) or mxchange_die(sprintf("Cannot open dir %s.", $basePath)); - while ($read = readdir($dir)) { - // If it is no dir (so a file) - if (!isDirectory($basePath.$read)) { - // Accept only templates matching with rallye_????.tpl.xx - if (eregi("^rallye_.*\.tpl", $read)) { - $read = substr($read, 7, strpos($read, '.') - 7); - // Accept only template names between 1 and 255 chars length - if ((strlen($read) < 256) && (!empty($read))) $ral[] = $read; - } // END - if - } // END - if + $basePath = sprintf("templates/%s/html/rallye/", getLanguage()); + + // Read the directory + $templates = getArrayFromDirectory($basePath, 'rallye_', false, true, array(), '.tpl'); + + // And walk through + foreach ($templates as $read) { + // Cut prefix and extension away + $read = substr($read, 7, strpos($read, '.') - 7); + + // Accept only template names between 1 and 255 chars length + if ((strlen($read) < 256) && (!empty($read))) $ral[] = $read; } // END - while - closedir($dir); // Do we have found templates which we can link with the new rallye? if (!empty($ral[0])) { @@ -713,7 +709,7 @@ function RALLYE_TEMPLATE_SELECTION ($name="template", $default = '') { } // -function RALLYE_GET_REFCOUNT ($uid, $old=0) { +function RALLYE_GET_REFCOUNT ($uid, $old = 0) { // Check current refs if (GET_EXT_VERSION('cache') >= '0.1.2') { // Get refs from cache