A lot while() conditions rewritten to SQL_FETCHARRAY(), see bug #107, @TODO tags...
[mailer.git] / inc / modules / admin / what-refbanner.php
index 9b0b8fa371691e43f970a78ab755bf9fd4776f5c..c60def4c5b81c47ff7b483b7aeee0bc23bc9a474 100644 (file)
@@ -6,7 +6,7 @@
  * -------------------------------------------------------------------- *
  * File              : what-refbanner.php                               *
  * -------------------------------------------------------------------- *
- * Short description : Manage all referral banner                       *
+ * Short description : Manage all referal banner                        *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Alle Banner fuer die Ref-Links verwalten         *
  * -------------------------------------------------------------------- *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
 }
-// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
 
-global $link;
+// Add description as navigation point
+ADD_DESCR("admin", __FILE__);
 
+// Init variable
 $SEL = 0;
-if ((empty($_POST['url'])) || (empty($_POST['alternate'])))
-{
-       unset($_POST['ok']);
+
+// Some sanity-check
+if ((!REQUEST_ISSET_POST(('url'))) || (!REQUEST_ISSET_POST(('alternate')))) {
+       REQUEST_UNSET_POST('ok');
 }
-if (!empty($_POST['sel'])) $SEL = SELECTION_COUNT($_POST['sel']);
 
-OPEN_TABLE("100%", "admin_content admin_content_align", "");
-if (isset($_POST['ok']))
-{
+// Check selection count
+if (REQUEST_ISSET_POST('sel')) $SEL = SELECTION_COUNT(REQUEST_POST('sel'));
+
+if (IS_FORM_SENT()) {
        // Fix older calls from add-new-banner-form
-       if (empty($_GET['mode'])) $_GET['mode'] = "add";
-       $SQL = "";
-       switch ($_GET['mode'])
+       if (!REQUEST_ISSET_GET(('mode'))) REQUEST_SET_GET('mode', "add");
+       $sql = "";
+       switch (REQUEST_GET('mode'))
        {
        case "add":
                // Check if banner is already added
-               $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_refbanner WHERE url='%s' LIMIT 1",
-                array($_POST['url']), __FILE__, __LINE__);
-               if (SQL_NUMROWS($result) == 0)
-               {
+               $result = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_refbanner` WHERE url='%s' LIMIT 1",
+                       array(REQUEST_POST('url')), __FILE__, __LINE__);
+               if (SQL_NUMROWS($result) == 0) {
                        // Add banner
-                       $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_refbanner (url, alternate, visible)
-VALUES ('%s', '%s', '%s')",
- array($_POST['url'], $_POST['alternate'], $_POST['visible']), __FILE__, __LINE__);
-               }
-                else
-               {
+                       SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_refbanner` (url, alternate, visible)
+VALUES ('%s','%s','%s')",
+                               array(REQUEST_POST('url'), REQUEST_POST('alternate'), REQUEST_POST('visible')), __FILE__, __LINE__);
+               } else {
                        // Free memory
                        SQL_FREERESULT($result);
                }
                break;
 
        case "edit": // Update banner
-               foreach ($_POST['sel'] as $id=>$sel)
-               {
+               foreach (REQUEST_POST('sel') as $id => $sel) {
                        // Secure ID
                        $id = bigintval($id);
 
                        // Update entry
-                       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_refbanner SET url='%s', alternate='%s', visible='%s' WHERE id=%d LIMIT 1",
-                        array(stripslashes($_POST['url'][$id]), $_POST['alternate'][$id], $_POST['visible'], $id), __FILE__, __LINE__);
+                       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_refbanner` SET url='%s', alternate='%s', `visible`='%s' WHERE id=%s LIMIT 1",
+                               array(
+                                       REQUEST_POST('url', $id),
+                                       REQUEST_POST('alternate', $id),
+                                       REQUEST_POST('visible'),
+                                       $id
+                               ), __FILE__, __LINE__);
                }
                break;
        }
-       if (SQL_AFFECTEDROWS($link, __FILE__, __LINE__) == 1)
-       {
-               $content = "<SPAN class=\"admin_done\">".SETTINGS_SAVED."</SPAN>";
-       }
-        else
-       {
-               $content = "<SPAN class=\"admin_failed\">".SETTINGS_NOT_SAVED."</SPAN>";
+
+       if (SQL_AFFECTEDROWS() == 1) {
+               $content = getMessage('SETTINGS_SAVED');
+       } else {
+               $content = "<span class=\"admin_failed\">{--SETTINGS_NOT_SAVED--}</span>";
        }
        LOAD_TEMPLATE("admin_settings_saved", false, $content);
-}
- elseif (($SEL > 0) && (isset($_POST['edit'])))
-{
+} elseif (($SEL > 0) && (REQUEST_ISSET_POST('edit'))) {
        // Edit banner
        $SW = ""; $OUT = "";
-       foreach ($_POST['sel'] as $id=>$sel)
-       {
+       foreach (REQUEST_POST('sel') as $id => $sel) {
                // Load data
-               $result = SQL_QUERY_ESC("SELECT url, alternate, visible FROM "._MYSQL_PREFIX."_refbanner WHERE id=%d LIMIT 1",
-                array(bigintval($id)), __FILE__, __LINE__);
+               $result = SQL_QUERY_ESC("SELECT url, alternate, visible FROM `{!_MYSQL_PREFIX!}_refbanner` WHERE id=%s LIMIT 1",
+                       array(bigintval($id)), __FILE__, __LINE__);
                list($url, $alt, $vis) = SQL_FETCHROW($result);
                SQL_FREERESULT($result);
 
@@ -122,40 +118,38 @@ VALUES ('%s', '%s', '%s')",
                $OUT .= LOAD_TEMPLATE("admin_refbanner_edit_row", true, $content);
                $SW = 3 - $SW;
        }
+
+       // @TODO Rewrite this constant
        define('__BANNER_ROWS', $OUT);
 
        // Load main template
        LOAD_TEMPLATE("admin_refbanner_edit");
-}
- else
-{
-       if (($SEL > 0) && (isset($_POST['del'])))
-       {
+} else {
+       if (($SEL > 0) && (REQUEST_ISSET_POST('del'))) {
                // Delete banner
-               foreach ($_POST['sel'] as $id=>$sel)
-               {
-                       $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_refbanner WHERE id=%d LIMIT 1",
-                        array(bigintval($id)), __FILE__, __LINE__);
+               foreach (REQUEST_POST('sel') as $id => $sel) {
+                       SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_refbanner` WHERE id=%s LIMIT 1",
+                               array(bigintval($id)), __FILE__, __LINE__);
                }
        }
 
-       // Referral levels
-       $result = SQL_QUERY("SELECT id, url, alternate, visible, counter, clicks FROM "._MYSQL_PREFIX."_refbanner ORDER BY url", __FILE__, __LINE__);
-       if (SQL_NUMROWS($result) > 0)
-       {
-               // Make referral banner editable and deletable
-               $SW = 2; $OUT = "";
-               while (list($id, $url, $alt, $vis, $cntr, $clks) = SQL_FETCHROW($result))
-               {
+       // Referal levels
+       $result = SQL_QUERY("SELECT id, url, alternate, visible, counter, clicks FROM `{!_MYSQL_PREFIX!}_refbanner` ORDER BY url",
+               __FILE__, __LINE__);
+       if (SQL_NUMROWS($result) > 0) {
+               // Make referal banner editable and deletable
+               $OUT = ""; $SW = 2;
+               while ($content = SQL_FETCHARRAY($result)) {
                        // Preapre data for the row
+                       // @TODO Rewritings: alt->alternate,cnt->counter,clx->clicks in template
                        $content = array(
                                'sw'  => $SW,
-                               'id'  => $id,
-                               'url' => $url,
-                               'alt' => $alt,
-                               'vis' => TRANSLATE_YESNO($vis),
-                               'cnt' => $cntr,
-                               'clx' => $clks
+                               'id'  => $content['id'],
+                               'url' => $content['url'],
+                               'alt' => $content['alternate'],
+                               'vis' => TRANSLATE_YESNO($content['visible']),
+                               'cnt' => $content['counter'],
+                               'clx' => $content['clicks']
                        );
 
                        // Load row template and switch color
@@ -165,15 +159,17 @@ VALUES ('%s', '%s', '%s')",
 
                // Free memory
                SQL_FREERESULT($result);
+
+               // @TODO Rewrite this constant
                define('__BANNER_ROWS', $OUT);
 
                // Load main template
                LOAD_TEMPLATE("admin_refbanner");
        }
 
-       // Form for adding new referral levels
+       // Form for adding new referal levels
        LOAD_TEMPLATE("admin_add_banner");
 }
-CLOSE_TABLE();
+
 //
 ?>