]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/rallye_functions.php
Huge rewrite:
[mailer.git] / inc / libs / rallye_functions.php
index 46e8c4584720e3d758b942abc7268a91f8cec122..3d3b2d3b12ea47659e26dd27508eecbbf280738e 100644 (file)
@@ -54,7 +54,7 @@ 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__);
@@ -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
@@ -299,7 +299,7 @@ VALUES ('%s','%s','0')",
                        $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
 }
@@ -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,11 +436,7 @@ 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');
 }
 
 //
@@ -448,16 +448,16 @@ function RALLYE_LOAD_USER_DATA ($uids_array) {
        $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);
 
@@ -559,7 +559,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",
-               array(bigintval($rallye)), __FUNCTION__, __LINE__);
+       array(bigintval($rallye)), __FUNCTION__, __LINE__);
        $prices = SQL_NUMROWS($result_prices);
        SQL_FREERESULT($result_prices);
 
@@ -574,7 +574,7 @@ function RALLYE_LIST_WINNERS ($rallye, $default=0) {
                //   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__);
+               array(bigintval($DATA['uid'][$idx])), __FUNCTION__, __LINE__);
                list($active) = SQL_FETCHROW($result_active);
                SQL_FREERESULT($result_active);
 
@@ -632,7 +632,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
@@ -658,10 +658,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 +670,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 +712,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