Some cleanups/improvements
[mailer.git] / inc / modules / admin / what-admins_mails.php
index d10136d258657076558bb1cd3ac41284b7320623..fc188c5f11b2c3b54e354c5edc155e9319f9b02e 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 08/14/2004 *
- * ================                             Last change: 10/22/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 08/14/2004 *
+ * ===================                          Last change: 10/22/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-admins_mails.php                            *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Stellen Sie ein, welcher Admin welche Mail erh.  *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
- * For more information visit: http://www.mxchange.org                  *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  * it under the terms of the GNU General Public License as published by *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
-}
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+       die();
+} // END - if
+
 // Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+addYouAreHereLink('admin', __FILE__);
 
-if (isset($_POST['edit']))
-{
+if (isFormSent('edit')) {
        // Check if entires are checked
-       $SEL = SELECTION_COUNT($_POST['sel']);
-       if ($SEL > 0)
-       {
-               // Add option for userlog
-               $cacheArray['admins'] = ADD_OPTION_LINES("admins", "id", "login", "", "email");
-               $SW = 2; $rowNameS = "";
-               foreach ($_POST['sel'] as $template=>$sel)
-               {
+       if (ifPostContainsSelections()) {
+               // Add option for events
+               $rows = '';
+               foreach (postRequestElement('sel') as $template => $sel) {
                        // First of all load data from DB
-                       $result = SQL_QUERY_ESC("SELECT admin_id, id FROM "._MYSQL_PREFIX."_admins_mails WHERE mail_template='%s' ORDER BY id",
-                        array($template), __FILE__, __LINE__);
-                       $OUT = ""; $aid = "0"; $aid2 = "0";
-                       while (list($aid, $id) = SQL_FETCHROW($result))
-                       {
-                               $OUT .= "<SELECT name=\"admin_id[".$id."]\" size=\"1\" class=\"admin_select\">
-<OPTION value=\"0\"";
-                               if ($aid == "0") $OUT .= " selected default";
-                               $OUT .=">".ADMINS_ALL_ADMINS."</OPTION>\n";
-                               if (EXT_IS_ACTIVE("userlog"))
-                               {
-                                       $OUT .= "<OPTION value=\"-1\"";
-                                       if ($aid == "-1") $OUT .= " selected default";
-                                       $OUT .= ">".ADMINS_TO_USERLOG."</OPTION>\n";
-                               }
-                               $OUT .= ADD_OPTION_LINES("admins", "id", "login", $aid, "email");
-                               $OUT .= "</SELECT><br />\n";
-                               $aid2 = $aid; $id2 = $id;
-                       }
+                       $result = sqlQueryEscaped("SELECT `admin_id`, `id` FROM `{?_MYSQL_PREFIX?}_admins_mails` WHERE `mail_template`='%s' ORDER BY `id` ASC",
+                               array($template), __FILE__, __LINE__);
+                       $OUT = '';
+                       $adminId2 = '0'; $id = '0';
+                       while ($content = sqlFetchArray($result)) {
+                               // @TODO Can this be rewritten to an API function?
+                               $OUT .= '<select name="admin_id[' . $content['id'] . ']" size="1" class="form_select">
+<option value="0"';
+                               if (is_null($content['admin_id'])) {
+                                       $OUT .= ' selected="selected"';
+                               } // END - if
+                               $OUT .= '>{--ADMIN_TO_ALL_ADMINS--}</option>';
+
+                               if (isExtensionActive('events')) {
+                                       $OUT .= '<option value="-1"';
+                                       if ($content['admin_id'] == '-1') {
+                                               $OUT .= ' selected="selected"';
+                                       } // END - if
+                                       $OUT .= '>{--ADMIN_ADMINS_TO_USER_EVENTS--}</option>';
+                               } // END - if
+
+                               $OUT .= generateOptions('admins', 'id', 'login', $content['admin_id'], 'email');
+                               $OUT .= '</select>';
+
+                               // Transfer ids
+                               $adminId2 = $content['admin_id'];
+                               $id = $content['id'];
+                       } // END - while
 
                        // Free memory
-                       SQL_FREERESULT($result);
-
-                       $content = array(
-                               'sw'      => $SW,
-                               'id'      => $id,
-                               'id2'     => $id2,
-                               'tpl'     => $template,
-                               'admins'  => $cacheArray['admins']
-                       );
-
-                       if ($aid2 > 0)
-                       {
+                       sqlFreeResult($result);
+
+                       // Prepare content
+                       $content['id']            = $id;
+                       $content['mail_template'] = $template;
+                       $content['admins']        = generateOptions('admins', 'id', 'login', '', 'email');
+
+                       if (isValidId($adminId2)) {
                                // Add form for an additional admin
-                               $OUT .= LOAD_TEMPLATE("admin_admins_mails_edit_form", true, $content);
-                       }
+                               $OUT .= loadTemplate('admin_admins_mails_edit_form', TRUE, $content);
+                       } // END - if
+
                        // Save full rendered content
                        $content['content'] = $OUT;
 
                        // Start outputing line
-                       $rowNameS .= LOAD_TEMPLATE("admin_admins_mails_edit_row", true, $content);
-                       $SW = 3 - $SW;
-               }
-               define('__ADMINS_ROWS', $rowNameS);
+                       $rows .= loadTemplate('admin_admins_mails_edit_row', TRUE, $content);
+               } // END - foreach
 
                // Edit checked entries
-               LOAD_TEMPLATE("admin_admins_mails_edit");
-       }
-        else
-       {
+               loadTemplate('admin_admins_mails_edit', FALSE, $rows);
+       } else {
                // Nothing selected
-               LOAD_TEMPLATE("admin_settings_saved", false, ADMINS_NO_MAIL_CHECKED);
+               displayMessage('{--ADMINS_NO_MAIL_CHECKED--}');
        }
-}
- else
-{
+} else {
        // Load all assigned mails
-       $result = SQL_QUERY("SELECT DISTINCT m.id, m.admin_id, a.login, m.mail_template
-FROM "._MYSQL_PREFIX."_admins_mails AS m
-LEFT JOIN "._MYSQL_PREFIX."_admins AS a
-ON m.admin_id=a.id
-WHERE (m.admin_id=a.id OR m.admin_id < 1) AND m.mail_template != ''
-ORDER BY m.admin_id, m.mail_template", __FILE__, __LINE__);
-
-       if (SQL_NUMROWS($result) > 0)
-       {
+       $result = sqlQuery("SELECT
+       `m`.`id`,
+       `m`.`admin_id`,
+       `a`.`login`,
+       `m`.`mail_template`
+FROM
+       `{?_MYSQL_PREFIX?}_admins_mails` AS `m`
+LEFT JOIN
+       `{?_MYSQL_PREFIX?}_admins` AS `a`
+ON
+       `m`.`admin_id`=`a`.`id`
+WHERE
+       (`m`.`admin_id`=`a`.`id` OR `m`.`admin_id` < 1) AND `m`.`mail_template` != ''
+ORDER BY
+       `m`.`admin_id` ASC,
+       `m`.`mail_template` ASC", __FILE__, __LINE__);
+
+       if (!ifSqlHasZeroNums($result)) {
                // Shall I change entries?
-               if (isset($_POST['change']))
-               {
+               if (isFormSent('do_edit')) {
+                       // Init SQLs
+                       initSqls();
+
                        // Ok, update database
-                       foreach ($_POST['admin_id'] as $id=>$aid)
-                       {
-                               // Secure IDs
+                       foreach (postRequestElement('admin_id') as $id => $content['admin_id']) {
+                               // Secure ids
                                $id  = bigintval($id);
-                               $aid = bigintval($aid);
+                               $content['admin_id'] = bigintval($content['admin_id']);
 
                                // Update entry
-                               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins_mails SET admin_id=%d WHERE id=%d ORDER BY id LIMIT 1",
-                                array($aid, $id), __FILE__, __LINE__);
+                               addSql(sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_admins_mails` SET `admin_id`=%s WHERE `id`=%s ORDER BY `id` LIMIT 1",
+                                       array($content['admin_id'], $id), __FILE__, __LINE__, FALSE));
 
-                               if (($aid < 1) && (!empty($_POST['template'][$id])))
-                               {
+                               if ((!isValidId($content['admin_id'])) && (isPostRequestElementSet('template', $id))) {
                                        // Remove any other admin entries
-                                       $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admins_mails WHERE mail_template='%s' AND id != '%s'",
-                                        array($_POST['template'][$id], $id), __FILE__, __LINE__);
-                               }
-                               if ($_POST['admin_new'][$_POST['template'][$id]] > 0)
-                               {
+                                       addSql(sqlQueryEscaped("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admins_mails` WHERE mail_template='%s' AND id != '%s'",
+                                       array(postRequestElement('template', $id), $id), __FILE__, __LINE__, FALSE));
+                               } // END - if
+
+                               if (postRequestElement('admin_new', postRequestElement('template', $id)) > 0) {
                                        // Add new admin
-                                       $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins_mails (admin_id, mail_template) VALUES ('%s', '%s')",
-                                        array($aid, $_POST['template'][$id]), __FILE__, __LINE__);
-                               }
-                       }
+                                       addSql(sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_admins_mails` (admin_id, mail_template) VALUES ('%s','%s')",
+                                       array($content['admin_id'], postRequestElement('template', $id)), __FILE__, __LINE__, FALSE));
+                               } // END - if
+                       } // END - foreach
+
+                       // Run all queries
+                       runFilterChain('run_sqls');
 
                        // Query again...
-                       $result = SQL_QUERY("SELECT DISTINCT m.id, m.admin_id, a.login, m.mail_template FROM "._MYSQL_PREFIX."_admins_mails AS m, "._MYSQL_PREFIX."_admins AS a WHERE m.admin_id=a.id OR m.admin_id < 1 ORDER BY m.admin_id", __FILE__, __LINE__);
-               }
+                       $result = sqlQuery("SELECT
+       `m`.`id`,
+       `m`.`admin_id`,
+       `a`.`login`,
+       `m`.`mail_template`
+FROM
+       `{?_MYSQL_PREFIX?}_admins_mails` AS `m`
+LEFT JOIN
+       `{?_MYSQL_PREFIX?}_admins` AS `a`
+ON
+       `m`.`admin_id`=`a`.`id`
+WHERE
+       (`m`.`admin_id`=`a`.`id` OR `m`.`admin_id` < 1) AND `m`.`mail_template` != ''
+ORDER BY
+       `m`.`admin_id` ASC,
+       `m`.`mail_template` ASC", __FILE__, __LINE__);
+               } // END - if
 
                // List found entries
-               $SW = 2; $OUT = "";
-               while(list($id, $aid, $admin, $templ) = SQL_FETCHROW($result))
-               {
-                       if ($aid > 0)
-                       {
-                               // Admin assigned
-                               $admin_link = "<A href=\"".URL."/modules.php?module=admin&amp;what=admins_contct&amp;admin=".$aid."\">".$admin."</A>";
-                       }
-                        elseif ($aid == 0)
-                       {
-                               // All admins
-                               $admin_link = "<I>".ADMINS_ALL_ADMINS."</I>";
-                       }
-                        elseif (($aid == -1) && (EXT_IS_ACTIVE("usrlog")))
-                       {
-                               // To userlog
-                               $admin_link = "<I>".ADMINS_TO_USERLOG."</I>";
-                       }
-                       $content = array(
-                               'sw'   => $SW,
-                               'tpl'  => $templ,
-                               'alnk' => $admin_link
-                       );
-
+               $OUT = '';
+               while ($content = sqlFetchArray($result)) {
                        // Load row template
-                       $OUT .= LOAD_TEMPLATE("admin_admins_mails_list_row", true, $content);
-                       $SW = 3 - $SW;
-               }
+                       $OUT .= loadTemplate('admin_admins_mails_list_row', TRUE, $content);
+               } // END - while
 
                // Free result
-               SQL_FREERESULT($result);
-               define('__MAILS_ROWS', $OUT);
+               sqlFreeResult($result);
 
                // Load template
-               LOAD_TEMPLATE("admin_admins_mails_list");
-       }
-        else
-       {
+               loadTemplate('admin_admins_mails_list', FALSE, $OUT);
+       } else {
                // No entries found
-               LOAD_TEMPLATE("admin_settings_saved", false, ADMINS_MAILS_NO_ENTRIES);
+               displayMessage('{--ADMIN_ADMINS_MAILS_NO_ENTRIES--}');
        }
 }
-//
+
+// [EOF]
 ?>