Renamed ifSqlHasZeroNums() to ifSqlHasZeroNumRows() and improved some queries.
[mailer.git] / inc / modules / admin / what-payments.php
index 8de522a367b76e695a5a096bbb7edf2b858bfd7b..4dc746ee8a953ceaf6ce7d43f8ef7bdf7daece9d 100644 (file)
  * $Date::                                                            $ *
  * $Tag:: 0.2.1-FINAL                                                 $ *
  * $Author::                                                          $ *
- * Needs to be in all Files and every File needs "svn propset           *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
- * For more information visit: http://www.mxchange.org                  *
+ * 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 *
@@ -43,135 +41,167 @@ if ((!defined('__SECURITY')) || (!isAdmin())) {
 } // END - if
 
 // Add description as navigation point
-addMenuDescription('admin', __FILE__);
+addYouAreHereLink('admin', __FILE__);
 
-if (((!isPostRequestParameterSet(('t_wait'))) || (!isPostRequestParameterSet(('payment')))) && (isGetRequestParameterSet('do')) && (getRequestParameter('do') == 'add')) {
-       unsetPostRequestParameter('ok');
+if (((!isPostRequestElementSet('t_wait')) || (!isPostRequestElementSet('payment'))) && (isGetRequestElementSet('do')) && (getRequestElement('do') == 'add')) {
+       unsetPostRequestElement('ok');
 } // END - if
 
+// Init SQL array
+initSqls();
+
 if (isFormSent()) {
-       switch (getRequestParameter('do')) {
+       switch (getRequestElement('do')) {
                case 'add':
-                       addSql("INSERT INTO `{?_MYSQL_PREFIX?}_payments` (time, payment, mail_title, price) VALUES ('".postRequestParameter('t_wait')."','".postRequestParameter('payment')."','".postRequestParameter('title')."','".postRequestParameter('price')."')");
-                       $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_payments` WHERE time='%s' LIMIT 1",
-                       array(postRequestParameter('t_wait')), __FILE__, __LINE__);
-                       if (SQL_NUMROWS($result) == 1) {
-                               // Re-init the array here
-                               initSqls();
-
-                               // Free memory
-                               SQL_FREERESULT($result);
-                       }
+                       if (countSumTotalData(postRequestElement('t_wait'), 'payments', 'id', 'time', TRUE) == 0) {
+                               addSql("INSERT INTO
+       `{?_MYSQL_PREFIX?}_payments`
+(
+       `time`,
+       `payment`,
+       `mail_title`,
+       `price`
+) VALUES (
+       '" . postRequestElement('t_wait') . "',
+       '" . postRequestElement('payment') . "',
+       '" . postRequestElement('title') . "',
+       '" . postRequestElement('price') . "'
+)");
+                       } // END - if
                        break;
 
                case 'edit':
-                       foreach (postRequestParameter('time') as $id => $value) {
-                               addSql("UPDATE `{?_MYSQL_PREFIX?}_payments` SET `time`='" . $value . "', `payment`='".postRequestParameter('pay', $id)."', price='".postRequestParameter('price', $id)."', mail_title='".postRequestParameter('title', $id)."' WHERE `id`='".$id."' LIMIT 1");
-                       }
+                       foreach (postRequestElement('time') as $id => $value) {
+                               // Secure id
+                               $id = bigintval($id);
+
+                               // Add UPDATE
+                               addSql("UPDATE
+       `{?_MYSQL_PREFIX?}_payments`
+SET
+       `time`='" . $value . "',
+       `payment`='" . postRequestElement('payment', $id) . "',
+       `price`='" . postRequestElement('price', $id) . "',
+       `mail_title`='" . postRequestElement('mail_title', $id) . "'
+WHERE
+       `id`='" . $id . "'
+LIMIT 1");
+                       } // END - foreach
                        break;
 
-               case 'del':
-                       foreach (postRequestParameter('id') as $id => $value) {
-                               addSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=" . bigintval($id) . " LIMIT 1");
-                       }
+               case 'delete':
+                       foreach (postRequestElement('id') as $id => $value) {
+                               // Secure id
+                               $id = bigintval($id);
+
+                               // Add DELETE
+                               addSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=" . $id . " LIMIT 1");
+                       } // END - foreach
                        break;
        } // END - switch
 
+       // Nothing has changed by default
+       $content = '<span class="bad">{--SETTINGS_NOT_SAVED--}</span>';
+
        // Save settings
        if (countSqls() > 0) {
                // Run all queries
                runFilterChain('run_sqls');
-               $content = '<span class="admin_failed">{--SETTINGS_SAVED--}</span>';
-       } else {
-               // Nothing has changed!
-               $content = '<span class="admin_failed">{--SETTINGS_NOT_SAVED--}</span>';
-       }
+
+               // Purge cache
+               rebuildCache('payments', 'payments');
+
+               // Change message
+               $content = '<span class="good">{--SETTINGS_SAVED--}</span>';
+       } // END - if
 
        // Output template
-       loadTemplate('admin_settings_saved', false, $content);
-} elseif ((isFormSent('del')) && (countPostSelection() > 0)) {
+       displayMessage($content);
+} elseif ((isFormSent('delete')) && (ifPostContainsSelections())) {
        // Delete entries here
-       $OUT = ''; $SW = 2;
-       foreach (postRequestParameter('sel') as $id => $value) {
-               $result = SQL_QUERY_ESC("SELECT time, mail_title FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=%s LIMIT 1",
-               array(bigintval($id)), __FILE__, __LINE__);
-               list($time, $title) = SQL_FETCHROW($result);
-               SQL_FREERESULT($result);
-
-               // Prepare array for the row template
-               $content = array(
-                       'sw'    => $SW,
-                       'id'    => $id,
-                       'time'  => $time,
-                       'title' => $title,
-               );
+       $OUT = '';
+       foreach (postRequestElement('sel') as $id => $value) {
+               $result = sqlQueryEscaped("SELECT
+       `id`,
+       `time`,
+       `payment`,
+       `mail_title`,
+       `price`
+FROM
+       `{?_MYSQL_PREFIX?}_payments`
+WHERE
+       `id`=%s
+LIMIT 1",
+                       array(bigintval($id)), __FILE__, __LINE__);
+               $content = sqlFetchArray($result);
+
+               // Free result
+               sqlFreeResult($result);
 
                // Load row template and switch colors
-               $OUT .= loadTemplate('admin_del_payments_row', true, $content);
-               $SW = 3 - $SW;
-       }
+               $OUT .= loadTemplate('admin_delete_payments_row', TRUE, $content);
+       } // END - foreach
 
        // Load main template
-       loadTemplate('admin_del_payments', false, $OUT);
-} elseif ((isFormSent('edit')) && (countPostSelection() > 0)) {
+       loadTemplate('admin_delete_payments', FALSE, $OUT);
+} elseif ((isFormSent('edit')) && (ifPostContainsSelections())) {
        // Edit entries
-       $OUT = ''; $SW = 2;
-       foreach (postRequestParameter('sel') as $id => $value) {
-               $result = SQL_QUERY_ESC("SELECT time, payment, mail_title, price FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=%s LIMIT 1",
-               array(bigintval($id)), __FILE__, __LINE__);
-               list($time, $pay, $title, $price) = SQL_FETCHROW($result);
-               SQL_FREERESULT($result);
-
-               // Prepare array for the row template
-               $content = array(
-                       'sw'    => $SW,
-                       'id'    => $id,
-                       'time'  => $time,
-                       'title' => $title,
-                       'pay'   => $pay,
-                       'price' => $price,
-               );
+       $OUT = '';
+       foreach (postRequestElement('sel') as $id => $value) {
+               $result = sqlQueryEscaped("SELECT
+       `id`,
+       `time`,
+       `payment`,
+       `mail_title`,
+       `price`
+FROM
+       `{?_MYSQL_PREFIX?}_payments`
+WHERE
+       `id`=%s
+LIMIT 1",
+                       array(bigintval($id)), __FILE__, __LINE__);
+               $content = sqlFetchArray($result);
+
+               // Free result
+               sqlFreeResult($result);
 
                // Load row template and switch colors
-               $OUT .= loadTemplate('admin_edit_payments_row', true, $content);
-               $SW = 3 - $SW;
-       }
+               $OUT .= loadTemplate('admin_edit_payments_row', TRUE, $content);
+       } // END - foreach
 
        // Load main template
-       loadTemplate('admin_edit_payments', false, $OUT);
+       loadTemplate('admin_edit_payments', FALSE, $OUT);
 } else {
-       // Referal levels
-       $result = SQL_QUERY("SELECT `id`, `time`, `payment`, `mail_title`, `price` FROM `{?_MYSQL_PREFIX?}_payments` ORDER BY `time` ASC", __FILE__, __LINE__);
-       if (SQL_NUMROWS($result) > 0) {
-               // Make referal levels editable and deletable
-               $OUT = ''; $SW = 2;
+       // Referral levels
+       $result = sqlQuery("SELECT
+       `id`,
+       `time`,
+       `payment`,
+       `mail_title`,
+       `price`
+FROM
+       `{?_MYSQL_PREFIX?}_payments`
+ORDER BY
+       `time` ASC", __FILE__, __LINE__);
+
+       if (!ifSqlHasZeroNumRows($result)) {
+               // Make referral levels editable and deletable
+               $OUT = '';
 
                // List already existing categories for editing
-               while ($content = SQL_FETCHARRAY($result)) {
-                       // Prepare array for the row template
-                       // @TODO Rewritings: title->mail_title, pay->payment in template
-                       $content = array(
-                               'sw'    => $SW,
-                               'id'    => $content['id'],
-                               'time'  => $content['time'],
-                               'title' => $content['mail_title'],
-                               'pay'   => translateComma($content['payment']),
-                               'price' => translateComma($content['price'])
-                       );
-
+               while ($content = sqlFetchArray($result)) {
                        // Load row template and switch colors
-                       $OUT .= loadTemplate('admin_payments_list_row', true, $content);
-                       $SW = 3 - $SW;
+                       $OUT .= loadTemplate('admin_list_payments_row', TRUE, $content);
                } // END - switch
 
                // Free memory
-               SQL_FREERESULT($result);
+               sqlFreeResult($result);
 
                // Load main template
-               loadTemplate('admin_list_payments', false, $OUT);
+               loadTemplate('admin_list_payments', FALSE, $OUT);
        } // END - if
 
-       // Form for adding new referal levels
+       // Form for adding new referral levels
        loadTemplate('admin_add_payment');
 }