Fixes for a lot bug tickets. (Sorry for lame comment)
[mailer.git] / inc / libs / rallye_functions.php
index ac949d0a89c00c066eaf14cc0960fad83b363fa7..08e8cf341bb85762b7863687eec7111e746e4256 100644 (file)
@@ -511,9 +511,9 @@ function RALLYE_LOAD_PRICES_ARRAY($rallye)
        // Return array
        return $prices;
 }
+
 //
-function RALLYE_LOAD_USERS_ARRAY($rallye)
-{
+function RALLYE_LOAD_USERS_ARRAY ($rallye) {
        global $_CONFIG;
 
        // Fix zero points to 0.00000
@@ -528,9 +528,8 @@ 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",
-        array(bigintval($rallye)), __FILE__, __LINE__);
-       while(list($uid, $refs, $cpoints) = SQL_FETCHROW($result_user))
-       {
+               array(bigintval($rallye)), __FILE__, __LINE__);
+       while (list($uid, $refs, $cpoints) = SQL_FETCHROW($result_user)) {
                // Load current ref count
                $cnt = RALLYE_GET_REFCOUNT($uid, $refs);
 
@@ -562,21 +561,23 @@ 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)
-       {
-               $prices['uid'][$k]  = $users['uid'][$k];
-               if (empty($prices['uid'][$k])) $prices['uid'][$k]  = "---";
-               $prices['ref'][$k] = $users['ref'][$k];
-               if (empty($prices['ref'][$k])) $prices['ref'][$k] = "---";
-               $prices['cpoints'][$k] = $users['cpoints'][$k];
-       }
+       foreach ($prices['level'] as $k => $lvl) {
+               // We only need to check one element in $users, see above while() block
+               if (isset($users['uid'][$k])) {
+                       $prices['uid'][$k]  = $users['uid'][$k];
+                       if (empty($prices['uid'][$k])) $prices['uid'][$k]  = "---";
+                       $prices['ref'][$k] = $users['ref'][$k];
+                       if (empty($prices['ref'][$k])) $prices['ref'][$k] = "---";
+                       $prices['cpoints'][$k] = $users['cpoints'][$k];
+               } // END - if
+       } // END - foreach
 
        // Return completed array
        return $prices;
 }
+
 //
-function RALLYE_LIST_WINNERS($rallye,$default=0)
-{
+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)), __FILE__, __LINE__);