New functions introduced, several rewrites:
[mailer.git] / inc / modules / admin / what-edit_sponsor.php
index 61ff5406ad6d62b2361c8e86c50cee8a407e2203..c45ffdef0edf2fb003ec0c6f616f8d129239ae8d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * M-XChange v0.2.1                                   Start: 04/24/2005 *
- * ================                             Last change: 05/12/2005 *
+ * Mailer v0.2.1-FINAL                                Start: 04/24/2005 *
+ * ===================                          Last change: 05/12/2005 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-edit_sponsor.php                            *
@@ -17,7 +17,7 @@
  * 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                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  ************************************************************************/
 
 // 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();
 }
 
 // Add description as navigation point
-ADD_DESCR("admin", __FILE__);
+addMenuDescription('admin', __FILE__);
 
-if ((REQUEST_ISSET_GET(('id'))) && (REQUEST_ISSET_GET(('mode')))) {
+if ((isGetRequestElementSet('id')) && (isGetRequestElementSet('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(REQUEST_GET('id'))), __FILE__, __LINE__);
-       if (SQL_NUMROWS($result) == 1) {
+       $result_main = 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(getRequestElement('id'))), __FILE__, __LINE__);
+       if (SQL_NUMROWS($result_main) == 1) {
                // Load sponsor details
-               $DATA = SQL_FETCHARRAY($result);
-               SQL_FREERESULT($result);
+               $content = SQL_FETCHARRAY($result_main);
 
                // Prepare all data for the template
-               //  Sponsor's ID
-               define('__SPONSOR_ID' , bigintval(REQUEST_GET('id')));
-               //  Company's data
-               define('__COMPANY'    , $DATA['company']);
-               define('__POSITION'   , $DATA['position']);
-               define('__TAX_IDENT'  , $DATA['tax_ident']);
-               //  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;
-               }
-               define('__SURNAME'    , $DATA['surname']);
-               define('__FAMILY'     , $DATA['family']);
-               define('__STREET1'    , $DATA['street_nr1']);
-               define('__STREET2'    , $DATA['street_nr2']);
-               define('__ZIP'        , $DATA['zip']);
-               define('__CITY'       , $DATA['city']);
-               define('__COUNTRY'    , $DATA['country']);
-               //  Contact data
-               define('__PHONE'      , $DATA['phone']);
-               define('__FAX'        , $DATA['fax']);
-               define('__CELL'       , $DATA['cell']);
-               define('__EMAIL'      , $DATA['email']);
-               define('__URL'        , $DATA['url']);
+               //  Sponsor's id
+               $content['id'] = bigintval(getRequestElement('id'));
+
+               // Init gender
+               foreach (array('m', 'f', 'c') as $gender) {
+                       $content['gender_' . $gender] = '';
+               } // END - foreach
+
+               // Check for gender selection
+               $content['gender_' . strtolower($content['gender'])] = ' selected="selected"';
+
                //  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"));
+               $content['receive_warnings'] = addSelectionBox('yn', $content['receive_warnings'], 'receive_warning');
+               $content['interval']         = createTimeSelections($content['warning_interval'], 'warning_interval', 'MWDh');
 
                // Init variables here
-               $TPL = sprintf("admin_edit_sponsor_%s", REQUEST_GET(('mode')));
-               INIT_SQLS();
+               $TPL = sprintf("admin_edit_sponsor_%s", getRequestElement('mode'));
+               initSqls();
 
                // Sponsor was found
-               if ((IS_FORM_SENT()) || (REQUEST_ISSET_POST('edit'))) {
+               if ((isFormSent()) || (isPostRequestElementSet('edit'))) {
                        // Perform action on mode
-                       switch (REQUEST_GET('mode'))
-                       {
-                       case "add_points": // Add points
-                               if (strval(REQUEST_POST('points')) > 0) {
-                                       // Replace german decimal comma with computer's decimal dot
-                                       $POINTS = strval(REVERT_COMMA(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' , TRANSLATE_COMMA($POINTS));
-                                       define('__REASON' , REQUEST_POST('reason'));
-
-                                       // Send email
-                                       $msg = LOAD_EMAIL_TEMPLATE("sponsor_add_points", REQUEST_POST('reason'), true);
-                                       SEND_EMAIL(__EMAIL, ADMIN_SPONSOR_ADD_POINTS_SUBJ, $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(REQUEST_POST('points')) > 0) {
-                                       // Replace german decimal comma with computer's decimal dot
-                                       $POINTS = strval(REVERT_COMMA(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' , TRANSLATE_COMMA($POINTS));
-                                       define('__REASON' , REQUEST_POST('reason'));
-
-                                       // Send email
-                                       $msg = LOAD_EMAIL_TEMPLATE("sponsor_sub_points", REQUEST_POST('reason'), true);
-                                       SEND_EMAIL(__EMAIL, ADMIN_SPONSOR_SUB_POINTS_SUBJ, $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 ((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;
-                               CONVERT_SELECTIONS_TO_TIMESTAMP(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'          , TRANSLATE_GENDER(REQUEST_POST('gender')));
-                               REQUEST_POST('warning_interval', CREATE_FANCY_TIME(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);
-                               SEND_EMAIL(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')));
-                               $MSG = sprintf(getMessage('ADMIN_SPONSOR_INVALID_MODE'), REQUEST_GET(('mode')));
-                               break;
+                       switch (getRequestElement('mode')) {
+                               case 'add_points': // Add points
+                                       if (bigintval(postRequestElement('points')) > 0) {
+                                               // Replace german decimal comma with computer's decimal dot
+                                               $points = bigintval(convertCommaToDot(postRequestElement('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(getRequestElement('id'))), __FILE__, __LINE__);
+
+                                               // Remember points /reason for the template
+                                               $content['points'] = translateComma($points);
+                                               $content['reason'] = secureString(postRequestElement('reason'));
+
+                                               // Send email
+                                               $message = loadEmailTemplate('sponsor_add_points', $content);
+                                               sendEmail($content['email'], getMessage('ADMIN_SPONSOR_ADD_POINTS_SUBJ'), $message);
+                                               $message = getMessage('ADMIN_SPONSOR_POINTS_ADDED');
+                                       } else {
+                                               // No points entered to add!
+                                               $message = getMessage('ADMIN_SPONSPOR_NO_POINTS_TO_ADD');
+                                       }
+                                       break;
+
+                               case 'sub_points': // Subtract points
+                                       if (bigintval(postRequestElement('points')) > 0) {
+                                               // Replace german decimal comma with computer's decimal dot
+                                               $points = bigintval(convertCommaToDot(postRequestElement('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(getRequestElement('id'))), __FILE__, __LINE__);
+
+                                               // Remember points /reason for the template
+                                               $content['points'] = translateComma($points);
+                                               $content['reason'] = secureString(postRequestElement('reason'));
+
+                                               // Send email
+                                               $message = loadEmailTemplate('sponsor_sub_points', $content);
+                                               sendEmail($content['email'], getMessage('ADMIN_SPONSOR_SUB_POINTS_SUBJ'), $message);
+                                               $message = getMessage('ADMIN_SPONSOR_POINTS_SUBTRACTED');
+                                       } else {
+                                               // No points entered to add!
+                                               $message = getMessage('ADMIN_SPONSPOR_NO_POINTS_TO_SUBTRACT');
+                                       }
+                                       break;
+
+                               case 'edit': // Edit sponsor account
+                                       $PASS = true;
+                                       if ((postRequestElement('pass1') != postRequestElement('pass2')) || ((!isPostRequestElementSet('pass1')) && (!isPostRequestElementSet('pass1')))) {
+                                               // Remove passwords
+                                               unsetPostRequestElement('pass1');
+                                               unsetPostRequestElement('pass2');
+                                               $PASS = false;
+                                       } // END - if
+
+                                       // Convert time selection
+                                       $DATA = array(); $id = 'warning_interval_ye'; $skip = false;
+                                       convertSelectionsToTimestamp(postRequestArray(), $DATA, $id, $skip);
+
+                                       // Save the sponsor
+                                       handlSponsorRequest(postRequestArray());
+
+                                       // Convert some data for the email template
+                                       postRequestElement('gender'          , translateGender(postRequestElement('gender')));
+                                       postRequestElement('warning_interval', createFancyTime(postRequestElement('warning_interval')));
+
+                                       if ($PASS === false) setRequestPostElement('pass1', getMessage('SPONSOR_PASS_UNCHANGED'));
+
+                                       // Load email template and send the mail away
+                                       $message = loadEmailTemplate('admin_sponsor_edit', postRequestArray(), false);
+                                       sendEmail(postRequestElement('email'), getMessage('ADMIN_SPONSOR_EDIT_SUBJECT'), $message);
+                                       break;
+
+                               default: // Unknown mode
+                                       logDebugMessage(__FILE__, __LINE__, sprintf("Unknown mode %s detected.", getRequestElement('mode')));
+                                       $message = getMaskedMessage('ADMIN_SPONSOR_INVALID_MODE', getRequestElement('mode'));
+                                       break;
                        }
 
-                       if (!empty($MSG)) {
+                       if (!empty($message)) {
                                // Output message
-                               LOAD_TEMPLATE("admin_settings_saved", false, $MSG);
+                               loadTemplate('admin_settings_saved', false, $message);
                        } // END - if
-               } elseif (FILE_READABLE(sprintf("%stemplates/%s/html/admin/%s.tpl", constant('PATH'), GET_LANGUAGE(), $TPL))) {
+               } elseif (isFileReadable(sprintf("%stemplates/%s/html/admin/%s.tpl", getConfig('PATH'), getLanguage(), $TPL))) {
                        // Create mailto link
-                       define('__SPONSOR_VALUE', "<a href=\"mailto:{!__EMAIL!}\">{!__SURNAME!} {!__FAMILY!}</a>");
+                       $content['contact'] = '<a href="' . generateEmailLink($content['email'], 'sponsor_data') . '">' . $content['surname'] . ' ' . $content['family'] . '</a>';
 
                        // Load mode template
-                       LOAD_TEMPLATE($TPL);
+                       loadTemplate($TPL);
                } else {
                        // Template not found!
-                       LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SPONSOR_MODUS_TPL_404'), REQUEST_GET(('mode'))));
+                       loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_SPONSOR_MODUS_TPL_404', getRequestElement('mode')));
                }
        } else {
                // Sponsor not found!
-               LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SPONSOR_404'), bigintval(REQUEST_GET('id'))));
+               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_SPONSOR_404', bigintval(getRequestElement('id'))));
        }
+
+       // Free result
+       SQL_FREERESULT($result_main);
 } else {
        // Not called by what-list_sponsor.php
-       LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_CALL_NOT_DIRECTLY'));
+       loadTemplate('admin_settings_saved', false, getMessage('ADMIN_CALL_NOT_DIRECTLY'));
 }
 
-//
+// [EOF]
 ?>