A lot while() conditions rewritten to SQL_FETCHARRAY(), see bug #107, @TODO tags...
[mailer.git] / inc / modules / member / what-payout.php
index ad4ef86afc75992b5b0f290c25fd112eb8f3fc10..edbcaf2ca979cb27c43b32547032b1d37dd61743 100644 (file)
@@ -49,10 +49,10 @@ ADD_DESCR("member", __FILE__);
 
 $result_depths = SQL_QUERY("SELECT level, percents FROM `{!_MYSQL_PREFIX!}_refdepths` ORDER BY level", __FILE__, __LINE__);
 $TPTS = 0;
-while (list($lvl, $per) = SQL_FETCHROW($result_depths)) {
+while ($content = SQL_FETCHARRAY($result_depths)) {
        // Load referal points
        $result_points = SQL_QUERY_ESC("SELECT points FROM `{!_MYSQL_PREFIX_user_points!}` WHERE userid=%s AND ref_depth=%d LIMIT 1",
-               array($GLOBALS['userid'], bigintval($lvl)), __FILE__, __LINE__);
+               array($GLOBALS['userid'], bigintval($content['level'])), __FILE__, __LINE__);
 
        // Entry found?
        if (SQL_NUMROWS($result_points) == 1) {
@@ -90,7 +90,7 @@ ORDER BY type", array(REVERT_COMMA($TPTS)), __FILE__, __LINE__);
                SQL_FREERESULT($result);
 
                // Check for his payouts
-               $result_payouts = SQL_QUERY_ESC("SELECT DISTINCT p.id, p.payout_total, p.target_account, p.target_bank, t.type, p.payout_timestamp, p.status, t.allow_url AS allow, p.target_url AS url, p.link_text AS alt, p.banner_url AS bannerm
+               $result_payouts = SQL_QUERY_ESC("SELECT DISTINCT p.id, p.payout_total, p.target_account, p.target_bank, t.type, p.payout_timestamp, p.status, t.allow_url AS allow, p.target_url AS url, p.link_text AS alt, p.banner_url AS banner
 FROM `{!_MYSQL_PREFIX!}_user_payouts` AS p
 LEFT JOIN `{!_MYSQL_PREFIX!}_payout_types` AS t
 ON p.payout_id = t.id
@@ -99,44 +99,47 @@ ORDER BY p.payout_timestamp DESC",
                 array($GLOBALS['userid']), __FILE__, __LINE__);
                if (SQL_NUMROWS($result_payouts) > 0) {
                        // List all his requests
-                       $SW = 2; $OUT = "";
-                       while (list($pid, $total, $account, $bank, $type, $tstamp, $status, $allow, $url, $alt, $banner) = SQL_FETCHROW($result_payouts)) {
+                       $OUT = ""; $SW = 2;
+                       while ($content = SQL_FETCHARRAY($result_payouts)) {
                                // Translate status
-                               $status = constant('PAYOUT_MEMBER_STATUS_'.strtoupper($status).'');
-                               $status = "<div class=\"member_failed\">".$status."</div>";
+                               $content['status'] = getMessage('PAYOUT_MEMBER_STATUS_'.strtoupper($content['status']).'');
+                               $content['status'] = "<div class=\"member_failed\">".$content['status']."</div>";
 
                                // Nothing entered must be secured in member/what-payputs.php !
-                               if ($allow == "Y") {
+                               if ($content['allow'] == "Y") {
                                        // Banner/Textlink views/clicks request
-                                       if (!empty($banner)) {
+                                       if (!empty($content['banner'])) {
                                                // Banner
-                                               $account = "<img src=\"".$banner."\" alt=\"".$alt."\" title=\"".$alt."\" border=\"0\" />";
+                                               $content['target_account'] = "<img src=\"".$content['banner']."\" alt=\"".$content['alt']."\" title=\"".$content['alt']."\" border=\"0\" />";
                                        } else {
                                                // Textlink
-                                               $account = $alt;
+                                               $content['target_account'] = $content['alt'];
                                        }
-                                       $bank = "<a href=\"".DEREFERER($url)."\" target=\"_blank\">{--CLICK_HERE--}</a>";
+                                       $content['target_bank'] = "<a href=\"".DEREFERER($content['url'])."\" target=\"_blank\">{--CLICK_HERE--}</a>";
                                } else {
                                        // e-currency payout request
-                                       if (empty($account)) $account = "---";
-                                       if (empty($bank))    $bank    = "---";
+                                       if (empty($content['target_account'])) $content['target_account'] = "---";
+                                       if (empty($content['target_bank']))    $content['target_bank']    = "---";
                                }
 
                                // Prepare data for the template
+                               // @TODO Rewritings: acc->target_account,bank->target_bank in templates
                                $content = array(
                                        'sw'     => $SW,
-                                       'acc'    => $account,
-                                       'points' => TRANSLATE_COMMA($total)." ".COMPILE_CODE($type),
-                                       'bank'   => $bank,
-                                       'stamp'  => MAKE_DATETIME($tstamp, "2"),
-                                       'status' => $status
+                                       'acc'    => $content['target_account'],
+                                       'points' => TRANSLATE_COMMA($content['payout_total'])." ".COMPILE_CODE($content['type']),
+                                       'bank'   => $content['target_bank'],
+                                       'stamp'  => MAKE_DATETIME($content['payout_timestamp'], "2"),
+                                       'status' => $content['status']
                                );
+
                                // Load row template and switch colors
                                $OUT .= LOAD_TEMPLATE("member_payout_row", true, $content);
                                $SW = 3 - $SW;
                        }
 
                        // Remember rows in constant
+                       // @TODO Rewrite this constant
                        define('__PAYOUT_ROWS', $OUT);
 
                        // Load template
@@ -151,39 +154,41 @@ ORDER BY p.payout_timestamp DESC",
        }
 } else {
        // Chedk if he can get paid by selected type
-       $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE id=%s LIMIT 1",
+       $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url AS allow FROM `{!_MYSQL_PREFIX!}_payout_types` WHERE id=%s LIMIT 1",
                array(bigintval(REQUEST_GET('payout'))), __FILE__, __LINE__);
 
        if (SQL_NUMROWS($result) == 1) {
-               // ID is valid
-               list($type, $rate, $min, $allow) = SQL_FETCHROW($result);
+               // ID is valid so load the data
+               $content = SQL_FETCHARRAY($result);
                SQL_FREERESULT($result);
 
                // Calculate maximum value
-               $max = round($TPTS * $rate - 0.5);
+               $max = round($TPTS * $content['rate'] - 0.5);
 
                // Calulcate points from submitted amount
                $PAYOUT = 0;
                if (REQUEST_ISSET_POST(('payout'))) {
-                       $PAYOUT  = bigintval(REQUEST_POST('payout')) / $rate;
-                       $PAY_MAX = $max / $rate;
+                       $PAYOUT  = bigintval(REQUEST_POST('payout')) / $content['rate'];
+                       $PAY_MAX = $max / $content['rate'];
                }
 
                // Move variables into constants for templates
+               // @TODO Rewrite these constants
                define('PAYOUT_MAX_VALUE' , $max);
-               define('PAYOUT_TYPE_VALUE', COMPILE_CODE($type));
+               define('PAYOUT_TYPE_VALUE', COMPILE_CODE($content['type']));
 
-               if (REVERT_COMMA($TPTS) >= $min) {
+               if (REVERT_COMMA($TPTS) >= $content['min_points']) {
                        // Ok, he can get be paid
-                       if ((IS_FORM_SENT()) && ($PAYOUT <= $PAY_MAX) && ($PAYOUT >= $min)) {
+                       if ((IS_FORM_SENT()) && ($PAYOUT <= $PAY_MAX) && ($PAYOUT >= $content['min_points'])) {
                                // Calculate exact value
+                               // @TODO Rewrite this constant
                                define('PAYOUT_POINTS_VALUE', $PAYOUT);
 
                                // Subtract points from member's account
                                SUB_POINTS("payout", $GLOBALS['userid'], $PAYOUT);
 
                                // Add entry to his tranfer history
-                               if ($allow == "Y") {
+                               if ($content['allow'] == "Y") {
                                        // Banner/textlink ordered
                                        SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_user_payouts` (userid, payout_total, payout_id, payout_timestamp, status, target_url, link_text, banner_url)
 VALUES (%s,%s,%s, UNIX_TIMESTAMP(), 'NEW','%s','%s','%s')",
@@ -242,7 +247,7 @@ VALUES (0, 'NEW','PAYOUT_REQUEST','[payout:] {--PAYOUT_REQUEST_ADMIN--}','%s', U
 
                                // Load template and output it
                                LOAD_TEMPLATE("admin_settings_saved", false, getMessage('PAYOUT_REQUEST_SENT'));
-                       } elseif ($allow == "Y") {
+                       } elseif ($content['allow'] == "Y") {
                                // Generate banner order form
                                LOAD_TEMPLATE("member_payout_form_banner");
                        } else {