Possible further fix for #128
[mailer.git] / inc / modules / admin / what-edit_sponsor.php
index 9b4a761f0f5981343234693d32457297a2f937f9..d2b000d90d27c2feb59a3762b177d82677b77a92 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Sponsorenaccount aendern                         *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $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 - 2008 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
- * This program is free software. You can redistribute it and/or modify *
+ * 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 *
- * the Free Software Foundation; either version 2 of the License.       *
+ * the Free Software Foundation; either version 2 of the License, or    *
+ * (at your option) any later version.                                  *
  *                                                                      *
  * This program is distributed in the hope that it will be useful,      *
  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
  ************************************************************************/
 
 // Some security stuff...
-if ((!defined('__SECURITY')) || (!is_admin())) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";
+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__));
+ADD_DESCR('admin', __FILE__);
 
-if ((!empty($_GET['id'])) && (!empty($_GET['mode']))) {
+if ((REQUEST_ISSET_GET('id')) && (REQUEST_ISSET_GET('mode'))) {
        // Check for selected sponsor
-       $result = SQL_QUERY_ESC("SELECT company, position, gender, surname, family, street_nr1, street_nr2, zip, city, country, phone, fax, cell, email, url, tax_ident, receive_warnings, warning_interval FROM "._MYSQL_PREFIX."_sponsor_data WHERE id='%s' LIMIT 1",
-        array(bigintval($_GET['id'])), __FILE__, __LINE__);
+       $result = SQL_QUERY_ESC("SELECT company, position, gender, surname, family, street_nr1, street_nr2, zip, city, country, phone, fax, cell, email, url, tax_ident, receive_warnings, warning_interval FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE `id`='%s' LIMIT 1",
+       array(bigintval(REQUEST_GET('id'))), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) == 1) {
                // Load sponsor details
                $DATA = SQL_FETCHARRAY($result);
@@ -50,7 +56,7 @@ if ((!empty($_GET['id'])) && (!empty($_GET['mode']))) {
 
                // Prepare all data for the template
                //  Sponsor's ID
-               define('__SPONSOR_ID' , bigintval($_GET['id']));
+               define('__SPONSOR_ID' , bigintval(REQUEST_GET('id')));
                //  Company's data
                define('__COMPANY'    , $DATA['company']);
                define('__POSITION'   , $DATA['position']);
@@ -58,23 +64,23 @@ if ((!empty($_GET['id'])) && (!empty($_GET['mode']))) {
                //  Personal data
                switch ($DATA['gender'])
                {
-               case "M":
-                       define('__GENDER_M', " selected=\"selected\"");
-                       define('__GENDER_F', "");
-                       define('__GENDER_C', "");
-                       break;
-
-               case "F":
-                       define('__GENDER_M', "");
-                       define('__GENDER_F', " selected=\"selected\"");
-                       define('__GENDER_C', "");
-                       break;
-
-               case "C":
-                       define('__GENDER_M', "");
-                       define('__GENDER_F', "");
-                       define('__GENDER_C', " selected=\"selected\"");
-                       break;
+                       case 'M':
+                               define('__GENDER_M', ' selected="selected"');
+                               define('__GENDER_F', '');
+                               define('__GENDER_C', '');
+                               break;
+
+                       case 'F':
+                               define('__GENDER_M', '');
+                               define('__GENDER_F', ' selected="selected"');
+                               define('__GENDER_C', '');
+                               break;
+
+                       case 'C':
+                               define('__GENDER_M', '');
+                               define('__GENDER_F', '');
+                               define('__GENDER_C', ' selected="selected"');
+                               break;
                }
                define('__SURNAME'    , $DATA['surname']);
                define('__FAMILY'     , $DATA['family']);
@@ -89,111 +95,120 @@ if ((!empty($_GET['id'])) && (!empty($_GET['mode']))) {
                define('__CELL'       , $DATA['cell']);
                define('__EMAIL'      , $DATA['email']);
                define('__URL'        , $DATA['url']);
+
                //  Warning because low points
-               define('__REC_WARNING', ADD_SELECTION("yn", $DATA['receive_warnings'], "receive_warning"));
-               define('__INTERVAL'   , CREATE_TIME_SELECTIONS($DATA['warning_interval'], "warning_interval", "MWDh"));
+               define('__REC_WARNING', ADD_SELECTION('yn', $DATA['receive_warnings'], 'receive_warning'));
+               define('__INTERVAL'   , createTimeSelections($DATA['warning_interval'], 'warning_interval', 'MWDh'));
 
                // Init variables here
-               $TPL = sprintf("admin_edit_sponsor_%s", SQL_ESCAPE($_GET['mode']));
-               $SQLs = array();
+               $TPL = sprintf("admin_edit_sponsor_%s", REQUEST_GET('mode'));
+               INIT_SQLS();
 
                // Sponsor was found
-               if ((isset($_POST['ok'])) || (isset($_POST['edit']))) {
+               if ((isFormSent()) || (REQUEST_ISSET_POST('edit'))) {
                        // Perform action on mode
-                       switch ($_GET['mode'])
+                       switch (REQUEST_GET('mode'))
                        {
-                       case "add_points": // Add points
-                               if (strval($_POST['points']) > 0) {
-                                       // Replace german decimal comma with computer's decimal dot
-                                       $POINTS = strval(str_replace(",", ".", $_POST['points']));
-
-                                       // Add points to account
-                                       $result_add = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_sponsor_data SET points_amount=points_amount+%s WHERE id='%s' LIMIT 1",
-                                        array($POINTS, bigintval($_GET['id'])), __FILE__, __LINE__);
-
-                                       // Remember points /reason for the template
-                                       define('__POINTS' , TRANSLATE_COMMA($POINTS));
-                                       define('__REASON' , $_POST['reason']);
-
-                                       // Send email
-                                       $msg = LOAD_EMAIL_TEMPLATE("sponsor_add_points", $_POST['reason'], true);
-                                       SEND_EMAIL(__EMAIL, SPONSOR_ADMIN_ADD_POINTS, $msg);
-                                       $MSG = ADMIN_SPONSOR_POINTS_ADDED;
-                               } else {
-                                       // No points entered to add!
-                                       $MSG = ADMIN_SPONSPOR_NO_POINTS_TO_ADD;
-                               }
-                               break;
-
-                       case "sub_points": // Subtract points
-                               if (strval($_POST['points']) > 0) {
-                                       // Replace german decimal comma with computer's decimal dot
-                                       $POINTS = strval(str_replace(",", ".", $_POST['points']));
-
-                                       // Add points to account
-                                       $result_add = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_sponsor_data SET points_used=points_used+%s WHERE id='%s' LIMIT 1",
-                                        array($POINTS, bigintval($_GET['id'])), __FILE__, __LINE__);
-
-                                       // Remember points /reason for the template
-                                       define('__POINTS' , TRANSLATE_COMMA($POINTS));
-                                       define('__REASON' , $_POST['reason']);
-
-                                       // Send email
-                                       $msg = LOAD_EMAIL_TEMPLATE("sponsor_sub_points", $_POST['reason'], true);
-                                       SEND_EMAIL(__EMAIL, SPONSOR_ADMIN_SUB_POINTS, $msg);
-                                       $MSG = ADMIN_SPONSOR_POINTS_SUBTRACTED;
-                               } else {
-                                       // No points entered to add!
-                                       $MSG = ADMIN_SPONSPOR_NO_POINTS_TO_SUBTRACT;
-                               }
-                               break;
-
-                       case "edit": // Edit sponsor account
-                               $PASS = true;
-                               if (($_POST['pass1'] != $_POST['pass2']) || ((empty($_POST['pass1'])) && (empty($_POST['pass1'])))) {
-                                       // Remove passwords
-                                       unset($_POST['pass1']);
-                                       unset($_POST['pass2']);
-                                       $PASS = false;
-                               }
-                               SPONSOR_HANDLE_SPONSOR($_POST);
-
-                               // Convert some data for the email template
-                               $_POST['gender'] = TRANSLATE_GENDER($_POST['gender']);
-                               $_POST['warning_interval'] = CREATE_FANCY_TIME($_POST['warning_interval']);
-                               if (!$PASS) $_POST['pass1'] = SPONSOR_PASS_UNCHANGED;
-
-                               // Load email template and send the mail away
-                               $msg = LOAD_EMAIL_TEMPLATE("admin_sponsor_edit", $_POST, false);
-                               SEND_EMAIL($_POST['email'], SPONSOR_ADMIN_EDIT_SUBJECT, $msg);
-                               break;
-
-                       default: // Unknown mode
-                               $MSG = ADMIN_INVALID_MODE_1.SQL_ESCAPE($_GET['mode']).ADMIN_INVALID_MODE_2;
-                               break;
+                               case "add_points": // Add points
+                                       if (strval(REQUEST_POST('points')) > 0) {
+                                               // Replace german decimal comma with computer's decimal dot
+                                               $POINTS = strval(convertCommaToDot(REQUEST_POST('points')));
+
+                                               // Add points to account
+                                               SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_sponsor_data` SET points_amount=points_amount+%s WHERE `id`='%s' LIMIT 1",
+                                               array($POINTS, bigintval(REQUEST_GET('id'))), __FILE__, __LINE__);
+
+                                               // Remember points /reason for the template
+                                               define('__POINTS' , translateComma($POINTS));
+                                               define('__REASON' , REQUEST_POST('reason'));
+
+                                               // Send email
+                                               $msg = LOAD_EMAIL_TEMPLATE("sponsor_add_points", REQUEST_POST('reason'), true);
+                                               sendEmail(__EMAIL, ADMIN_SPONSOR_ADD_POINTS_SUBJ, $msg);
+                                               $message = ADMIN_SPONSOR_POINTS_ADDED;
+                                       } else {
+                                               // No points entered to add!
+                                               $message = ADMIN_SPONSPOR_NO_POINTS_TO_ADD;
+                                       }
+                                       break;
+
+                               case "sub_points": // Subtract points
+                                       if (strval(REQUEST_POST('points')) > 0) {
+                                               // Replace german decimal comma with computer's decimal dot
+                                               $POINTS = strval(convertCommaToDot(REQUEST_POST('points')));
+
+                                               // Add points to account
+                                               SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_sponsor_data` SET points_used=points_used+%s WHERE `id`='%s' LIMIT 1",
+                                               array($POINTS, bigintval(REQUEST_GET('id'))), __FILE__, __LINE__);
+
+                                               // Remember points /reason for the template
+                                               define('__POINTS' , translateComma($POINTS));
+                                               define('__REASON' , REQUEST_POST('reason'));
+
+                                               // Send email
+                                               $msg = LOAD_EMAIL_TEMPLATE("sponsor_sub_points", REQUEST_POST('reason'), true);
+                                               sendEmail(__EMAIL, ADMIN_SPONSOR_SUB_POINTS_SUBJ, $msg);
+                                               $message = ADMIN_SPONSOR_POINTS_SUBTRACTED;
+                                       } else {
+                                               // No points entered to add!
+                                               $message = ADMIN_SPONSPOR_NO_POINTS_TO_SUBTRACT;
+                                       }
+                                       break;
+
+                               case 'edit': // Edit sponsor account
+                                       $PASS = true;
+                                       if ((REQUEST_POST('pass1') != REQUEST_POST('pass2')) || ((!REQUEST_ISSET_POST('pass1')) && (!REQUEST_ISSET_POST('pass1')))) {
+                                               // Remove passwords
+                                               REQUEST_UNSET_POST('pass1');
+                                               REQUEST_UNSET_POST('pass2');
+                                               $PASS = false;
+                                       }
+
+                                       // Convert time selection
+                                       $DATA = array(); $id = "warning_interval_ye"; $skip = false;
+                                       convertSelectionsToTimestamp(REQUEST_POST_ARRAY(), $DATA, $id, $skip);
+
+                                       // Save the sponsor
+                                       SPONSOR_HANDLE_SPONSOR(REQUEST_POST_ARRAY());
+
+                                       // Convert some data for the email template
+                                       REQUEST_POST('gender'          , translateGender(REQUEST_POST('gender')));
+                                       REQUEST_POST('warning_interval', createFancyTime(REQUEST_POST('warning_interval')));
+
+                                       if (!$PASS) REQUEST_SET_POST('pass1', getMessage('SPONSOR_PASS_UNCHANGED'));
+
+                                       // Load email template and send the mail away
+                                       $msg = LOAD_EMAIL_TEMPLATE("admin_sponsor_edit", REQUEST_POST_ARRAY(), false);
+                                       sendEmail(REQUEST_POST('email'), getMessage('ADMIN_SPONSOR_EDIT_SUBJECT'), $msg);
+                                       break;
+
+                               default: // Unknown mode
+                                       DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown mode %s detected.", REQUEST_GET('mode')));
+                                       $message = sprintf(getMessage('ADMIN_SPONSOR_INVALID_MODE'), REQUEST_GET('mode'));
+                                       break;
                        }
 
-                       if (!empty($MSG)) {
+                       if (!empty($message)) {
                                // Output message
-                               LOAD_TEMPLATE("admin_settings_saved", false, $MSG);
+                               LOAD_TEMPLATE('admin_settings_saved', false, $message);
                        } // END - if
-               } elseif (FILE_READABLE(sprintf("%stemplates/%s/html/admin/%s.tpl", PATH, GET_LANGUAGE(), $TPL))) {
+               } elseif (isFileReadable(sprintf("%stemplates/%s/html/admin/%s.tpl", constant('PATH'), getLanguage(), $TPL))) {
                        // Create mailto link
-                       define('__SPONSOR_VALUE', "<A href=\"mailto:".__EMAIL."\">".__SURNAME." ".__FAMILY."</A>");
+                       define('__SPONSOR_VALUE', "<a href=\"mailto:{!__EMAIL!}\">{!__SURNAME!} {!__FAMILY!}</a>");
 
                        // Load mode template
                        LOAD_TEMPLATE($TPL);
                } else {
                        // Template not found!
-                       LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_TPL_404_1.SQL_ESCAPE($_GET['mode']).ADMIN_TPL_404_2);
+                       LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('ADMIN_SPONSOR_MODUS_TPL_404'), REQUEST_GET('mode')));
                }
        } else {
                // Sponsor not found!
-               LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_SPONSOR_404_1.bigintval($_GET['id']).ADMIN_SPONSOR_404_2);
+               LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('ADMIN_SPONSOR_404'), bigintval(REQUEST_GET('id'))));
        }
 } else {
        // Not called by what-list_sponsor.php
-       LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_CALL_NOT_DIRECTLY);
+       LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_CALL_NOT_DIRECTLY'));
 }
 
 //