2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 04/24/2005 *
4 * =================== Last change: 05/12/2005 *
6 * -------------------------------------------------------------------- *
7 * File : what-edit_sponsor.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Edit sponsor account *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Sponsorenaccount aendern *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * -------------------------------------------------------------------- *
18 * Copyright (c) 2003 - 2009 by Roland Haeder *
19 * Copyright (c) 2009 - 2012 by Mailer Developer Team *
20 * For more information visit: http://mxchange.org *
22 * This program is free software; you can redistribute it and/or modify *
23 * it under the terms of the GNU General Public License as published by *
24 * the Free Software Foundation; either version 2 of the License, or *
25 * (at your option) any later version. *
27 * This program is distributed in the hope that it will be useful, *
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
30 * GNU General Public License for more details. *
32 * You should have received a copy of the GNU General Public License *
33 * along with this program; if not, write to the Free Software *
34 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
36 ************************************************************************/
38 // Some security stuff...
39 if ((!defined('__SECURITY')) || (!isAdmin())) {
43 // Add description as navigation point
44 addYouAreHereLink('admin', __FILE__);
46 if ((isGetRequestElementSet('id')) && (isGetRequestElementSet('do'))) {
47 // Check for selected sponsor
48 $result_main = SQL_QUERY_ESC("SELECT
49 `id`, `company`, `position`, `gender`, `surname`, `family`,
50 `street_nr1`, `street_nr2`, `zip`, `city`, `country`,
51 `phone`, `fax`, `cell`, `email`, `url`, `tax_ident`,
52 `receive_warnings`, `warning_interval`
54 `{?_MYSQL_PREFIX?}_sponsor_data`
58 array(bigintval(getRequestElement('id'))), __FILE__, __LINE__);
59 if (SQL_NUMROWS($result_main) == 1) {
60 // Load sponsor details
61 $content = SQL_FETCHARRAY($result_main);
63 // Warning because low points
64 $content['receive_warnings'] = addSelectionBox('yn', $content['receive_warnings'], 'receive_warning');
65 $content['warning_interval'] = createTimeSelections($content['warning_interval'], 'warning_interval', 'MWDh');
67 // Init variables here
68 $TPL = sprintf("admin_edit_sponsor_%s", getRequestElement('do'));
72 if ((isFormSent()) || (isFormSent('edit'))) {
73 // Perform action on mode
74 switch (getRequestElement('do')) {
75 case 'add_points': // Add points
76 if (bigintval(postRequestElement('points')) > 0) {
77 // Replace german decimal comma with computer's decimal dot
78 $points = bigintval(convertCommaToDot(postRequestElement('points')));
80 // Add points to account
81 SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_sponsor_data` SET `points_amount`=`points_amount`+%s WHERE `id`=%s LIMIT 1",
82 array($points, bigintval(getRequestElement('id'))), __FILE__, __LINE__);
84 // Remember points /reason for the template
85 $content['points'] = $points;
86 $content['reason'] = postRequestElement('reason');
89 $message = loadEmailTemplate('sponsor_add_points', $content);
90 sendEmail($content['email'], '{--ADMIN_SPONSOR_ADD_POINTS_SUBJECT--}', $message);
91 $message = '{--ADMIN_SPONSOR_POINTS_ADDED--}';
93 // No points entered to add!
94 $message = '{--ADMIN_SPONSOR_NO_POINTS_TO_ADD--}';
98 case 'sub_points': // Subtract points
99 if (bigintval(postRequestElement('points')) > 0) {
100 // Replace german decimal comma with computer's decimal dot
101 $points = bigintval(convertCommaToDot(postRequestElement('points')));
103 // Add points to account
104 SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_sponsor_data` SET `points_used`=`points_used`+%s WHERE `id`=%s LIMIT 1",
105 array($points, bigintval(getRequestElement('id'))), __FILE__, __LINE__);
107 // Remember points /reason for the template
108 $content['points'] = $points;
109 $content['reason'] = postRequestElement('reason');
112 $message = loadEmailTemplate('sponsor_sub_points', $content);
113 sendEmail($content['email'], '{--ADMIN_SPONSOR_SUB_POINTS_SUBJECT--}', $message);
114 $message = '{--ADMIN_SPONSOR_POINTS_SUBTRACTED--}';
116 // No points entered to add!
117 $message = '{--ADMIN_SPONSOR_NO_POINTS_TO_SUBTRACT--}';
121 case 'edit': // Edit sponsor account
123 if ((postRequestElement('pass1') != postRequestElement('pass2')) || ((!isPostRequestElementSet('pass1')) && (!isPostRequestElementSet('pass1')))) {
125 unsetPostRequestElement('pass1');
126 unsetPostRequestElement('pass2');
130 // Convert time selection
131 convertSelectionsToEpocheTimeInPostData('warning_interval_ye');
134 handleSponsorRequest(postRequestArray());
136 // Convert some data for the email template
137 postRequestElement('gender' , '{%pipe,translateGender=' . postRequestElement('gender') . '%}');
138 postRequestElement('warning_interval', '{%pipe,createFancyTime=' . postRequestElement('warning_interval') . '%}');
140 if ($PASS === FALSE) setPostRequestElement('pass1', '{--SPONSOR_PASS_UNCHANGED--}');
142 // Load email template and send the mail away
143 $message = loadEmailTemplate('admin_sponsor_edit', postRequestArray(), FALSE);
144 sendEmail(postRequestElement('email'), '{--ADMIN_SPONSOR_EDIT_SUBJECT--}', $message);
147 default: // Unknown mode
148 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown mode %s detected.", getRequestElement('do')));
149 $message = '{%message,ADMIN_SPONSOR_INVALID_MODE=' . getRequestElement('do') . '%}';
153 if (!empty($message)) {
155 displayMessage($message);
157 } elseif (isFileReadable(sprintf("%stemplates/%s/html/admin/%s.tpl", getPath(), getLanguage(), $TPL))) {
158 // Create mailto link
159 $content['contact'] = '<a href="' . generateSponsorEmailLink($content['email'], 'sponsor_data') . '">' . $content['surname'] . ' ' . $content['family'] . '</a>';
161 // Load mode template
162 loadTemplate($TPL, FALSE, $content);
164 // Template not found
165 displayMessage('{%message,ADMIN_SPONSOR_MODUS_TPL_404', getRequestElement('do') . '%}');
169 displayMessage('{%message,ADMIN_SPONSOR_404=' . bigintval(getRequestElement('id')) . '%}');
173 SQL_FREERESULT($result_main);
175 // Not called by what-list_sponsor.php
176 displayMessage('{--ADMIN_CALL_NOT_DIRECTLY--}');