Renamed ifSqlHasZeroNums() to ifSqlHasZeroNumRows() and improved some queries.
[mailer.git] / inc / modules / admin / what-list_country.php
index 8dbb524de22c70ff8740c51d520a88cfc5d0b25d..93a5d73c87e94246efdec0fb8733bd25c16826d1 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 04/30/2005 *
- * ================                             Last change: 04/30/2005 *
+ * Mailer v0.2.1-FINAL                                Start: 04/30/2005 *
+ * ===================                          Last change: 04/30/2005 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-list_country.php                            *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Country codes verwalten                          *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $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 - 2015 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 ((!defined('__SECURITY')) || (!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", __FILE__);
+addYouAreHereLink('admin', __FILE__);
 
 // Add new code?
-if ((isset($_POST['add'])) && (!empty($_POST['code'])) && (!empty($_POST['descr']))) {
+if ((isFormSent('add')) && (isPostRequestElementSet('code')) && (isPostRequestElementSet('descr'))) {
        // Check if country code does already exist
-       $result = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_countries` WHERE code='%s' LIMIT 1",
-        array(strtoupper($_POST['code'])), __FILE__, __LINE__);
-       if (SQL_NUMROWS($result) == 0) {
+       $result = sqlQueryEscaped("SELECT `id` FROM `{?_MYSQL_PREFIX?}_countries` WHERE `code`='%s' LIMIT 1",
+       array(strtoupper(postRequestElement('code'))), __FILE__, __LINE__);
+       if (ifSqlHasZeroNumRows($result)) {
                // Save entry
-               SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_countries` (code, descr, is_active) VALUES ('%s','%s','%s')",
- array(strtoupper(substr($_POST['code'], 0, 2)), $_POST['descr'], $_POST['is_active']), __FILE__, __LINE__);
-
-               // Country added
-               $MSG = ADMIN_COUNTRY_ADDED_1.strtoupper($_POST['descr']).ADMIN_COUNTRY_ADDED_2;
+               sqlQueryEscaped("INSERT INTO `{?_MYSQL_PREFIX?}_countries` (`code`, `descr`, `is_active`) VALUES ('%s','%s','%s')",
+               array(
+                       strtoupper(substr(postRequestElement('code'), 0, 2)),
+                       postRequestElement('descr'),
+                       postRequestElement('is_active')
+               ), __FILE__, __LINE__);
+
+               // Country added
+               $message = '{%message,ADMIN_COUNTRY_ADDED=' . strtoupper(postRequestElement('descr')) . '%}';
        } else {
                // Free memory
-               SQL_FREERESULT($result);
+               sqlFreeResult($result);
 
                // Does already exist
-               $MSG = ADMIN_COUNTRY_ALREADY_1.strtoupper($_POST['code']).ADMIN_COUNTRY_ALREADY_2;
+               $message = '{%message,ADMIN_COUNTRY_ALREADY=' . strtoupper(postRequestElement('code')) . '%}';
        }
 
        // Display message
-       LOAD_TEMPLATE("admin_settings_saved", false, $MSG);
-       OUTPUT_HTML("<br />");
-} elseif ((isset($_POST['change'])) && (!empty($_POST['id']))) {
+       displayMessage($message);
+} elseif ((isFormSent('do_edit')) && (isPostRequestElementSet('id'))) {
        // Change all status
-       ADMIN_CHANGE_ACTIVATION_STATUS($_POST['id'], "countries", "is_active");
-} elseif (((isset($_POST['edit'])) || (isset($_POST['delete']))) && (!empty($_POST['id']))) {
-       if (count($_POST['id']) > 0) {
-               if (isset($_POST['edit'])) {
+       adminChangeActivationStatus(postRequestElement('id'), 'countries', 'is_active');
+
+       // Show next link
+       loadTemplate('admin_next_link', FALSE, array(
+               'url'   => 'modules.php?module=admin&amp;what=list_country',
+               'title' => '{--ADMIN_COUNTRY_ACTIVATION_NEXT_LINK--}'
+       ));
+} elseif (((isFormSent('edit')) || (isPostRequestElementSet('delete'))) && (isPostRequestElementSet('id'))) {
+       // Are there entries?
+       if (ifPostContainsSelections('id')) {
+               // Is the proper form sent?
+               if (isFormSent('edit')) {
                        // Edit template
-                       $row    = "admin_list_country_edit_row";
-                       $post   = "modify";
-                       $class  = "admin_submit";
-                       $submit = ADMIN_COUNTRY_EDIT_NOW;
-                       $title  = ADMIN_COUNTRY_EDIT_TITLE;
-                       $reset  = "<input type=\"reset\" class=\"admin_reset\" value=\"{!UNDO_SELECTIONS!}\" />&nbsp;*\n";
+                       $row    = 'admin_edit_country_row';
+                       $do     = 'do_edit';
+                       $class  = 'form_submit';
+                       $submit = '{--ADMIN_COUNTRY_EDIT_NOW--}';
+                       $title  = '{--ADMIN_COUNTRY_EDIT_TITLE--}';
+                       $reset  = '<input type="reset" class="form_reset" value="{--UNDO_SELECTIONS--}" /> ';
                } else {
                        // Delete template
-                       $row    = "admin_list_country_del_row";
-                       $post   = "remove";
-                       $class  = "admin_delete";
-                       $submit = ADMIN_COUNTRY_DELETE_NOW;
-                       $title  = ADMIN_COUNTRY_DELETE_TITLE;
-                       $reset  = "";
+                       $row    = 'admin_delete_country_row';
+                       $do     = 'do_delete';
+                       $class  = 'form_delete';
+                       $submit = '{--ADMIN_COUNTRY_DELETE_NOW--}';
+                       $title  = '{--ADMIN_COUNTRY_DELETE_TITLE--}';
+                       $reset  = '';
                }
 
                // Edit all selected country codes
-               $OUT = ""; $SW = 2;
-               foreach ($_POST['id'] as $id => $status) {
+               $OUT = '';
+               foreach (postRequestElement('id') as $id => $isActive) {
                        // Load data from DB
-                       $result = SQL_QUERY_ESC("SELECT code, descr FROM `{!_MYSQL_PREFIX!}_countries` WHERE id=%s LIMIT 1",
+                       $result = sqlQueryEscaped("SELECT `id`, `code`, `descr` FROM `{?_MYSQL_PREFIX?}_countries` WHERE `id`=%s LIMIT 1",
                                array(bigintval($id)), __FILE__, __LINE__);
-                       if (SQL_NUMROWS($result) == 1) {
+                       if (sqlNumRows($result) == 1) {
                                // Load data
-                               list($code, $descr) = SQL_FETCHROW($result);
-                               SQL_FREERESULT($result);
-
-                               // Prepare data, load row template and switch colors
-                               $content = array(
-                                       'id'    => $id,
-                                       'code'  => $code,
-                                       'descr' => $descr,
-                                       'sw'    => $SW,
-                               );
-
-                               if ($post == "modify") {
-                                       // Generate default selection in edit-mode
-                                       $content['status'] = ADD_OPTION_LINES("/ARRAY/", array("Y","N"), array(YES, NO ), $status);
-                               } else {
-                                       // Only display status when in delete-mode
-                                       $content['status'] = TRANSLATE_YESNO($status);
-                               }
+                               $content = sqlFetchArray($result);
+
+                               // Add $isActive
+                               $content['is_active'] = $isActive;
 
                                // Insert row template and switch color
-                               $OUT .= LOAD_TEMPLATE($row, true, $content);
-                               $SW = 3 - $SW;
-                       }
-               }
-               define('__COUNTRY_ROWS'  , $OUT);
-               define('__COUNTRY_MODE'  , $post);
-               define('__COUNTRY_CLASS' , $class);
-               define('__COUNTRY_SUBMIT', $submit);
-               define('__COUNTRY_TITLE' , $title);
-               define('__COUNTRY_RESET' , $reset);
+                               $OUT .= loadTemplate($row, TRUE, $content);
+                       } // END - if
+
+                       // Free result
+                       sqlFreeResult($result);
+               } // END - foreach
+
+               // Prepare content for template
+               $content = array(
+                       'rows'   => $OUT,
+                       'do'     => $do,
+                       'class'  => $class,
+                       'title'  => $title,
+                       'submit' => $submit,
+                       'reset'  => $reset,
+               );
 
                // Load main template
-               LOAD_TEMPLATE("admin_list_country_form");
-       }
+               loadTemplate('admin_list_country_form', FALSE, $content);
+       } // END - if
 } else {
        // Shall we modify / remove entries now?
-       $MSG = ""; $SQLs = array();
-       if ((isset($_POST['modify'])) && (!empty($_POST['id']))) {
+       $message = '';
+       initSqls();
+       if ((isPostRequestElementSet('do_edit')) && (isPostRequestElementSet('id'))) {
                // Modify
-               foreach ($_POST['id'] as $id => $sel) {
-                       $SQLs[] = "UPDATE `{!_MYSQL_PREFIX!}_countries` SET code='".$_POST['code'][$id]."', descr='".$_POST['descr'][$id]."', is_active='".$_POST['is_active'][$id]."' WHERE id='".$id."' LIMIT 1";
-               }
+               foreach (postRequestElement('id') as $id => $sel) {
+                       addSql("UPDATE
+       `{?_MYSQL_PREFIX?}_countries`
+SET
+       `code`='" . postRequestElement('code', $id) . "',
+       `descr`='" . postRequestElement('descr', $id) . "',
+       `is_active`='" . postRequestElement('is_active', $id) . "'
+WHERE
+       `id`=" . bigintval($id) . "
+LIMIT 1");
+               } // END - foreach
 
                // Create message
-               $MSG = ADMIN_COUNTRIES_MODIFIED;
-       } elseif ((isset($_POST['remove'])) && (!empty($_POST['id']))) {
+               $message = '{--ADMIN_COUNTRIES_MODIFIED--}';
+       } elseif ((isFormSent('do_delete')) && (isPostRequestElementSet('id'))) {
                // Remove
-               $IDs = implode(",", array_keys($_POST['id']));
-               $SQLs[] = "DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_countries` WHERE id IN (".$IDs.") LIMIT ".count($_POST['id'])."";
+               $IDs = implode(',', array_keys(postRequestElement('id')));
+               addSql('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_countries` WHERE `id` IN (' . $IDs . ') LIMIT ' . countPostSelection('id') . '');
 
                // Create message
-               $MSG = ADMIN_COUNTRIES_REMOVED;
+               $message = '{--ADMIN_COUNTRIES_REMOVED--}';
        }
 
-       if ((!empty($MSG)) && (count($SQLs) > 0)) {
+       // Are a message and some SQLs set?
+       if ((!empty($message)) && (countSqls() > 0)) {
                // Run SQL commands
-               foreach ($SQLs as $sql) {
-                       $result = SQL_QUERY($sql, __FILE__, __LINE__);
-               }
+               runFilterChain('run_sqls');
 
                // Display message
-               LOAD_TEMPLATE("admin_settings_saved", false, $MSG);
-               OUTPUT_HTML("<br />");
-       }
+               displayMessage($message);
+       } // END - if
 
        // Load currenty setup country codes to list
-       $result = SQL_QUERY("SELECT id, code, descr, is_active FROM `{!_MYSQL_PREFIX!}_countries` ORDER BY code", __FILE__, __LINE__);
-       if (SQL_NUMROWS($result) > 0) {
-               // List all countries
-               $OUT = ""; $SW = 2;
-               while (list($id, $code, $descr, $active) = SQL_FETCHROW($result)) {
-                       // Prepare array for the template
-                       $content = array(
-                               'id'     => $id,
-                               'code'   => $code,
-                               'name'   => $descr,
-                               'active' => TRANSLATE_YESNO($active),
-                               'sw'     => $SW,
-                               'status' => $active,
-                       );
+       $result = sqlQuery('SELECT `id`, `code`, `descr`, `is_active` FROM `{?_MYSQL_PREFIX?}_countries` ORDER BY `code` ASC',
+               __FILE__, __LINE__);
 
+       // Are there entries?
+       if (!ifSqlHasZeroNumRows($result)) {
+               // List all countries
+               $OUT = '';
+               while ($content = sqlFetchArray($result)) {
                        // Load row template and switch colors
-                       $OUT .= LOAD_TEMPLATE("admin_list_country_row", true, $content);
-                       $SW = 3 - $SW;
-               }
+                       $OUT .= loadTemplate('admin_list_country_row', TRUE, $content);
+               } // END - while
 
                // Free memory
-               SQL_FREERESULT($result);
+               sqlFreeResult($result);
        } else {
                // No code setup so far (not possible by this software! 'DE' for 'Deutschland' is default
-               $OUT = LOAD_TEMPLATE("admin_list_country_no_row", true);
+               $OUT = loadTemplate('admin_list_country_no_row', TRUE);
        }
 
        // Add list to constant for the template
-       define('__COUNTRY_ROWS', $OUT);
-
-       // Include add template
-       define('__ADD_COUNTRY_FORM', LOAD_TEMPLATE("admin_add_country", true));
+       $content['rows'] = $OUT;
 
        // Load main template
-       LOAD_TEMPLATE("admin_list_country");
+       loadTemplate('admin_list_country', FALSE, $content);
 }
 
-//
+// [EOF]
 ?>