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 * Needs to be in all Files and every File needs "svn propset *
18 * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
19 * -------------------------------------------------------------------- *
20 * Copyright (c) 2003 - 2009 by Roland Haeder *
21 * For more information visit: http://www.mxchange.org *
23 * This program is free software; you can redistribute it and/or modify *
24 * it under the terms of the GNU General Public License as published by *
25 * the Free Software Foundation; either version 2 of the License, or *
26 * (at your option) any later version. *
28 * This program is distributed in the hope that it will be useful, *
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
31 * GNU General Public License for more details. *
33 * You should have received a copy of the GNU General Public License *
34 * along with this program; if not, write to the Free Software *
35 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
37 ************************************************************************/
39 // Some security stuff...
40 if ((!defined('__SECURITY')) || (!isAdmin())) {
44 // Add description as navigation point
45 addMenuDescription('admin', __FILE__);
47 if ((isGetRequestElementSet('id')) && (isGetRequestElementSet('mode'))) {
48 // Check for selected sponsor
49 $result_main = SQL_QUERY_ESC("SELECT
50 `company`, `position`, `gender`, `surname`, `family`,
51 `street_nr1`, `street_nr2`, `zip`, `city`, `country`,
52 `phone`, `fax`, `cell`, `email`, `url`, `tax_ident`,
53 `receive_warnings`, `warning_interval`
55 `{?_MYSQL_PREFIX?}_sponsor_data`
59 array(bigintval(getRequestElement('id'))), __FILE__, __LINE__);
60 if (SQL_NUMROWS($result_main) == 1) {
61 // Load sponsor details
62 $content = SQL_FETCHARRAY($result_main);
64 // Prepare all data for the template
66 $content['id'] = bigintval(getRequestElement('id'));
69 foreach (array('m', 'f', 'c') as $gender) {
70 $content['gender_' . $gender] = '';
73 // Check for gender selection
74 $content['gender_' . strtolower($content['gender'])] = ' selected="selected"';
76 // Warning because low points
77 $content['receive_warnings'] = addSelectionBox('yn', $content['receive_warnings'], 'receive_warning');
78 $content['interval'] = createTimeSelections($content['warning_interval'], 'warning_interval', 'MWDh');
80 // Init variables here
81 $TPL = sprintf("admin_edit_sponsor_%s", getRequestElement('mode'));
85 if ((isFormSent()) || (isPostRequestElementSet('edit'))) {
86 // Perform action on mode
87 switch (getRequestElement('mode')) {
88 case 'add_points': // Add points
89 if (bigintval(postRequestElement('points')) > 0) {
90 // Replace german decimal comma with computer's decimal dot
91 $points = bigintval(convertCommaToDot(postRequestElement('points')));
93 // Add points to account
94 SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_sponsor_data` SET `points_amount`=`points_amount`+%s WHERE `id`='%s' LIMIT 1",
95 array($points, bigintval(getRequestElement('id'))), __FILE__, __LINE__);
97 // Remember points /reason for the template
98 $content['points'] = translateComma($points);
99 $content['reason'] = secureString(postRequestElement('reason'));
102 $message = loadEmailTemplate('sponsor_add_points', $content);
103 sendEmail($content['email'], getMessage('ADMIN_SPONSOR_ADD_POINTS_SUBJ'), $message);
104 $message = getMessage('ADMIN_SPONSOR_POINTS_ADDED');
106 // No points entered to add!
107 $message = getMessage('ADMIN_SPONSPOR_NO_POINTS_TO_ADD');
111 case 'sub_points': // Subtract points
112 if (bigintval(postRequestElement('points')) > 0) {
113 // Replace german decimal comma with computer's decimal dot
114 $points = bigintval(convertCommaToDot(postRequestElement('points')));
116 // Add points to account
117 SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_sponsor_data` SET `points_used`=`points_used`+%s WHERE `id`='%s' LIMIT 1",
118 array($points, bigintval(getRequestElement('id'))), __FILE__, __LINE__);
120 // Remember points /reason for the template
121 $content['points'] = translateComma($points);
122 $content['reason'] = secureString(postRequestElement('reason'));
125 $message = loadEmailTemplate('sponsor_sub_points', $content);
126 sendEmail($content['email'], getMessage('ADMIN_SPONSOR_SUB_POINTS_SUBJ'), $message);
127 $message = getMessage('ADMIN_SPONSOR_POINTS_SUBTRACTED');
129 // No points entered to add!
130 $message = getMessage('ADMIN_SPONSPOR_NO_POINTS_TO_SUBTRACT');
134 case 'edit': // Edit sponsor account
136 if ((postRequestElement('pass1') != postRequestElement('pass2')) || ((!isPostRequestElementSet('pass1')) && (!isPostRequestElementSet('pass1')))) {
138 unsetPostRequestElement('pass1');
139 unsetPostRequestElement('pass2');
143 // Convert time selection
144 $DATA = array(); $id = 'warning_interval_ye'; $skip = false;
145 convertSelectionsToTimestamp(postRequestArray(), $DATA, $id, $skip);
148 handlSponsorRequest(postRequestArray());
150 // Convert some data for the email template
151 postRequestElement('gender' , translateGender(postRequestElement('gender')));
152 postRequestElement('warning_interval', createFancyTime(postRequestElement('warning_interval')));
154 if ($PASS === false) setRequestPostElement('pass1', getMessage('SPONSOR_PASS_UNCHANGED'));
156 // Load email template and send the mail away
157 $message = loadEmailTemplate('admin_sponsor_edit', postRequestArray(), false);
158 sendEmail(postRequestElement('email'), getMessage('ADMIN_SPONSOR_EDIT_SUBJECT'), $message);
161 default: // Unknown mode
162 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown mode %s detected.", getRequestElement('mode')));
163 $message = sprintf(getMessage('ADMIN_SPONSOR_INVALID_MODE'), getRequestElement('mode'));
167 if (!empty($message)) {
169 loadTemplate('admin_settings_saved', false, $message);
171 } elseif (isFileReadable(sprintf("%stemplates/%s/html/admin/%s.tpl", getConfig('PATH'), getLanguage(), $TPL))) {
172 // Create mailto link
173 $content['contact'] = "<a href=\"" . generateEmailLink($content['email'], 'sponsor_data') . "\">" . $content['surname'] . " " . $content['family'] . "</a>";
175 // Load mode template
178 // Template not found!
179 loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_SPONSOR_MODUS_TPL_404'), getRequestElement('mode')));
182 // Sponsor not found!
183 loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_SPONSOR_404'), bigintval(getRequestElement('id'))));
187 SQL_FREERESULT($result_main);
189 // Not called by what-list_sponsor.php
190 loadTemplate('admin_settings_saved', false, getMessage('ADMIN_CALL_NOT_DIRECTLY'));