Reset rewritten, SQL fixed, zeros are now numeric
[mailer.git] / inc / libs / rallye_functions.php
index 69dc4de..b7cb9d0 100644 (file)
@@ -49,7 +49,7 @@ function RALLYE_AUTOSTART_RALLYES($result)
        SQL_FREERESULT($result);
 
        // Set notified to Y
-       $result_notified = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_rallye_data SET notified='Y' WHERE id=%d LIMIT 1",
+       $result_notified = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_rallye_data SET notified='Y' WHERE id=%s LIMIT 1",
         array(bigintval($id)), __FILE__, __LINE__);
 
        // Do a snapshot off all user refs
@@ -94,10 +94,10 @@ function RALLYE_AUTOSTART_RALLYES($result)
 
                // Get refs by userid
                $cnt = RALLYE_GET_REFCOUNT($uid);
-               if (empty($cnt)) $cnt = "0"; // Added prevent some unknown troubles... :-?
+               if (empty($cnt)) $cnt = 0; // Added prevent some unknown troubles... :-?
 
                // Check if line is already included...
-               $result_ref = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%d AND userid=%d LIMIT 1",
+               $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($uid)), __FILE__, __LINE__);
                if (SQL_NUMROWS($result_ref) == 0)
                {
@@ -109,7 +109,7 @@ function RALLYE_AUTOSTART_RALLYES($result)
 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=%d",
+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($_CONFIG['ref_payout'], bigintval($uid)), __FILE__, __LINE__);
                        list($cpoints) = SQL_FETCHROW($result_ref);
                        SQL_FREERESULT($result_ref);
@@ -135,20 +135,12 @@ VALUES ('%s', '%s', '%s', '%s')",
                }
        }
 
-       // Send email to admin
+       // Choose the right admin template
        $templ = "admin_rallye_no_notify";
        if ($notify == "Y") $templ = "admin_rallye_notify";
-       if (GET_EXT_VERSION("admins") < "0.4.1")
-       {
-               // Use old method to send out
-               $msg = LOAD_EMAIL_TEMPLATE($templ, $prices, 0);
-               SEND_ADMIN_EMAILS(RALLYE_ADMIN_NOTIFY.$title, $msg);
-       }
-        else
-       {
-               // Use new system to send out
-               SEND_ADMIN_EMAILS_PRO(RALLYE_ADMIN_NOTIFY.$title, $templ, $prices, "0");
-       }
+
+       // Send email to admin
+       SEND_ADMIN_NOTIFICATION(RALLYE_ADMIN_NOTIFY.$title, $templ, $prices, "0");
 
        // Free memory
        SQL_FREERESULT($result_user);
@@ -205,7 +197,7 @@ function RALLYE_ADD_TOPUSERS($rallye,$default=0)
        $since = (time() - $_CONFIG['ap_in_since']);
 
        // First check how many prices are set
-       $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%d ORDER BY price_level",
+       $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%s ORDER BY price_level",
         array(bigintval($rallye)), __FILE__, __LINE__);
        $prices = SQL_NUMROWS($result);
        SQL_FREERESULT($result);
@@ -214,7 +206,7 @@ function RALLYE_ADD_TOPUSERS($rallye,$default=0)
        $result = SQL_QUERY_ESC("SELECT DISTINCT u.userid, u.refs, u.curr_points FROM "._MYSQL_PREFIX."_rallye_users AS u
 LEFT JOIN "._MYSQL_PREFIX."_refsystem AS r
 ON u.userid=r.userid
-WHERE u.rallye_id=%d AND r.counter > 0 ORDER BY u.refs DESC",
+WHERE u.rallye_id=%s AND r.counter > 0 ORDER BY u.refs DESC",
  array(bigintval($rallye)), __FILE__, __LINE__);
 
        // Load users
@@ -233,12 +225,12 @@ WHERE u.rallye_id=%d AND r.counter > 0 ORDER BY u.refs DESC",
                $result_ref = SQL_QUERY_ESC("SELECT DISTINCT p.points FROM "._MYSQL_PREFIX."_user_points AS p
 LEFT JOIN "._MYSQL_PREFIX."_user_data AS d
 ON p.userid=d.userid
-WHERE d.userid=%d AND d.status='CONFIRMED' AND p.ref_depth=1 AND d.max_mails > 0 AND d.mails_confirmed >= %s AND d.last_online >= %s
+WHERE d.userid=%s AND d.status='CONFIRMED' AND p.ref_depth=1 AND d.max_mails > 0 AND d.mails_confirmed >= %s AND d.last_online >= %s
 LIMIT 1", array(bigintval($uid), $_CONFIG['ref_payout'], $since), __FILE__, __LINE__);
                list($refpoints) = SQL_FETCHROW($result_ref);
                SQL_FREERESULT($result_ref);
 
-               if (empty($refpoints)) $refpoints = "0";
+               if (empty($refpoints)) $refpoints = 0;
 
                // And subtract start refs
                $cnt -= $refs;
@@ -301,7 +293,7 @@ function RALLYE_AUTOADD_USER($uid)
                SQL_FREERESULT($result);
 
                // Check if line is already included...
-               $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%d AND userid=%d LIMIT 1",
+               $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)), __FILE__, __LINE__);
                if (SQL_NUMROWS($result) == 0)
                {
@@ -324,7 +316,7 @@ VALUES ('%s', '%s', '0')",
                        $DATA['now_t'] = MAKE_DATETIME(time(), "2");
                        $DATA['title'] = $title;
                        $DATA['id']    = $id;  // ID for the rallye details link
-                       $DATA['ref']   = "0";
+                       $DATA['ref']   = 0;
 
                        // Load prices
                        $prices = RALLYE_ADD_PRICES($id);
@@ -360,14 +352,14 @@ function RALLYE_EXPIRE_RALLYES($result)
 
        // Just count...
        $TOTAL = 0;
-       foreach($prices['uid'] as $key=>$uid)
+       foreach($prices['uid'] as $key => $uid)
        {
                // 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=%d AND status='CONFIRMED' AND last_online >= %s
+WHERE userid=%s AND status='CONFIRMED' AND last_online >= %s
 LIMIT 1", array(bigintval($uid), $since), __FILE__, __LINE__);
                list($active) = SQL_FETCHROW($result);
                SQL_FREERESULT($result);
@@ -388,11 +380,11 @@ LIMIT 1", array(bigintval($uid), $since), __FILE__, __LINE__);
        }
 
        // Expire rallye
-       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_rallye_data SET expired='Y' WHERE id=%d LIMIT 1",
+       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_rallye_data SET expired='Y' WHERE id=%s LIMIT 1",
         array(bigintval($id)), __FILE__, __LINE__);
 
        // Run array through (by uid is the most important 2nd-level-array)
-       foreach($prices['uid'] as $key=>$uid)
+       foreach($prices['uid'] as $key => $uid)
        {
                // Allow valid and active users with at least one ref to get points
                if (($uid > 0) && ($prices['ref'][$key] > 0) && ($prices['active'][$key] == 1) && ($prices['cpoints'][$key] > 0))
@@ -406,7 +398,7 @@ LIMIT 1", array(bigintval($uid), $since), __FILE__, __LINE__);
                        if ($DATA['points'] > 0)
                        {
                                // Add points directly to user's account
-                               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points SET points=points+%s WHERE userid=%d AND ref_depth=0 LIMIT 1",
+                               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points SET points=points+%s WHERE userid=%s AND ref_depth=0 LIMIT 1",
                                 array($DATA['points'], bigintval($uid)), __FILE__, __LINE__);
 
                                // Update mediadata as well
@@ -473,17 +465,7 @@ LIMIT 1", array(bigintval($uid), $since), __FILE__, __LINE__);
        }
 
        // Send mail to admin
-       if (GET_EXT_VERSION("admins") < "0.4.1")
-       {
-               // Use old method to send out
-               $msg = LOAD_EMAIL_TEMPLATE($templ, $cnt, 0);
-               SEND_ADMIN_EMAILS(RALLYE_ADMIN_EXPIRED.": ".$title, $msg);
-       }
-        else
-       {
-               // Use new system to send out
-               SEND_ADMIN_EMAILS_PRO(RALLYE_ADMIN_EXPIRED.": ".$title, $templ, $cnt, 0);
-       }
+       SEND_ADMIN_NOTIFICATION(RALLYE_ADMIN_EXPIRED.": ".$title, $templ, $cnt, 0);
 
        // Add task
        $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_task_system (status, task_type, subject, text, task_created)
@@ -521,7 +503,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=%d ORDER BY price_level",
+       $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)), __FILE__, __LINE__);
        while(list($level, $points, $info) = SQL_FETCHROW($result))
        {
@@ -552,7 +534,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=%d ORDER BY userid",
+       $result_user = SQL_QUERY_ESC("SELECT userid, refs, curr_points FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%s ORDER BY userid",
         array(bigintval($rallye)), __FILE__, __LINE__);
        while(list($uid, $refs, $cpoints) = SQL_FETCHROW($result_user))
        {
@@ -564,12 +546,12 @@ function RALLYE_LOAD_USERS_ARRAY($rallye)
 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=%d",
+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($_CONFIG['ref_payout'], bigintval($uid)), __FILE__, __LINE__);
                list($refpoints) = SQL_FETCHROW($result_ref);
                SQL_FREERESULT($result_ref);
 
-               if (empty($refpoints)) $refpoints = "0";
+               if (empty($refpoints)) $refpoints = 0;
 
                // Store calculated new refs to array
                $users['uid'][]     = $uid;
@@ -587,7 +569,7 @@ WHERE d.status='CONFIRMED' AND d.max_mails > 0 AND d.mails_confirmed >= %s AND p
        $prices = RALLYE_LOAD_PRICES_ARRAY($rallye);
 
        // Merge users into prices
-       foreach ($prices['level'] as $k=>$lvl)
+       foreach ($prices['level'] as $k => $lvl)
        {
                $prices['uid'][$k]  = $users['uid'][$k];
                if (empty($prices['uid'][$k])) $prices['uid'][$k]  = "---";
@@ -603,7 +585,7 @@ WHERE d.status='CONFIRMED' AND d.max_mails > 0 AND d.mails_confirmed >= %s AND p
 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=%d ORDER BY price_level",
+       $result_prices = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%s ORDER BY price_level",
         array(bigintval($rallye)), __FILE__, __LINE__);
        $prices = SQL_NUMROWS($result_prices);
        SQL_FREERESULT($result_prices);
@@ -619,7 +601,7 @@ function RALLYE_LIST_WINNERS($rallye,$default=0)
                // 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=%d AND status='CONFIRMED' LIMIT 1",
+               $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])), __FILE__, __LINE__);
                list($active) = SQL_FETCHROW($result_active);
                SQL_FREERESULT($result_active);
@@ -691,24 +673,14 @@ function RALLYE_DELETE_EXPIRED_RALLYES()
                        $DATA['now_t']  = MAKE_DATETIME(time(), "1");
 
                        // Send mail to admin
-                       if (GET_EXT_VERSION("admins") < "0.4.1")
-                       {
-                               // Use old method to send out
-                               $msg = LOAD_EMAIL_TEMPLATE("admin_rallye_purged", "", 0);
-                               SEND_ADMIN_EMAILS(RALLYE_ADMIN_PURGED.": ".$title, $msg);
-                       }
-                        else
-                       {
-                               // Use new system to send out
-                               SEND_ADMIN_EMAILS_PRO(RALLYE_ADMIN_PURGED.": ".$title, "admin_rallye_purged", "", 0);
-                       }
+                       SEND_ADMIN_NOTIFICATION(RALLYE_ADMIN_PURGED.": ".$title, "admin_rallye_purged", "", 0);
 
                        // Purge whole rallye
-                       $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_data WHERE id=%d LIMIT 1",
+                       $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_data WHERE id=%s LIMIT 1",
                         array(bigintval($id)), __FILE__, __LINE__);
-                       $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%d LIMIT 1",
+                       $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%s LIMIT 1",
                         array(bigintval($id)), __FILE__, __LINE__);
-                       $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%d LIMIT 1",
+                       $result_purge = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%s LIMIT 1",
                         array(bigintval($id)), __FILE__, __LINE__);
                }
 
@@ -726,7 +698,7 @@ function RALLYE_TEMPLATE_SELECTION($name="template", $default="")
 {
        // Check templates directory
        $OUT = ""; $ral = array();
-       $BASE = PATH."templates/".GET_LANGUAGE()."/html";
+       $BASE = sprintf("%stemplates/%s/html", PATH, GET_LANGUAGE());
        $dir = opendir($BASE);
        while ($read = readdir($dir))
        {
@@ -776,7 +748,7 @@ function RALLYE_GET_REFCOUNT($uid, $old=0)
        {
                // Get refs from cache
                $cnt = 0;
-               foreach ($cacheArray['ref_system']['userid'] as $id=>$u_id)
+               foreach ($cacheArray['ref_system']['userid'] as $id => $u_id)
                {
                        if (($u_id == $uid) && ($cacheArray['ref_system']['level'][$id] == 0))
                        {
@@ -821,12 +793,12 @@ function RALLYE_GET_REFCOUNT($uid, $old=0)
 FROM "._MYSQL_PREFIX."_refsystem AS s
 LEFT JOIN "._MYSQL_PREFIX."_refdepths AS d
 ON s.level=d.level
-WHERE s.userid=%d AND s.level=0", array(bigintval($uid)), __FILE__, __LINE__);
+WHERE s.userid=%s AND s.level=0", array(bigintval($uid)), __FILE__, __LINE__);
                list($cnt) = SQL_FETCHROW($result_ref);
                SQL_FREERESULT($result_ref);
                if (empty($cnt))
                {
-                       $cnt = "0";
+                       $cnt = 0;
                }
                 else
                {