2 /************************************************************************
3 * M-XChange v0.2.1 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 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
18 * This program is free software; you can redistribute it and/or modify *
19 * it under the terms of the GNU General Public License as published by *
20 * the Free Software Foundation; either version 2 of the License, or *
21 * (at your option) any later version. *
23 * This program is distributed in the hope that it will be useful, *
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
26 * GNU General Public License for more details. *
28 * You should have received a copy of the GNU General Public License *
29 * along with this program; if not, write to the Free Software *
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
32 ************************************************************************/
34 // Some security stuff...
35 if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
36 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";
40 // Add description as navigation point
41 ADD_DESCR("admin", __FILE__);
43 if ((REQUEST_ISSET_GET(('id'))) && (REQUEST_ISSET_GET(('mode')))) {
44 // Check for selected sponsor
45 $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",
46 array(bigintval(REQUEST_GET('id'))), __FILE__, __LINE__);
47 if (SQL_NUMROWS($result) == 1) {
48 // Load sponsor details
49 $DATA = SQL_FETCHARRAY($result);
50 SQL_FREERESULT($result);
52 // Prepare all data for the template
54 define('__SPONSOR_ID' , bigintval(REQUEST_GET('id')));
56 define('__COMPANY' , $DATA['company']);
57 define('__POSITION' , $DATA['position']);
58 define('__TAX_IDENT' , $DATA['tax_ident']);
60 switch ($DATA['gender'])
63 define('__GENDER_M', " selected=\"selected\"");
64 define('__GENDER_F', "");
65 define('__GENDER_C', "");
69 define('__GENDER_M', "");
70 define('__GENDER_F', " selected=\"selected\"");
71 define('__GENDER_C', "");
75 define('__GENDER_M', "");
76 define('__GENDER_F', "");
77 define('__GENDER_C', " selected=\"selected\"");
80 define('__SURNAME' , $DATA['surname']);
81 define('__FAMILY' , $DATA['family']);
82 define('__STREET1' , $DATA['street_nr1']);
83 define('__STREET2' , $DATA['street_nr2']);
84 define('__ZIP' , $DATA['zip']);
85 define('__CITY' , $DATA['city']);
86 define('__COUNTRY' , $DATA['country']);
88 define('__PHONE' , $DATA['phone']);
89 define('__FAX' , $DATA['fax']);
90 define('__CELL' , $DATA['cell']);
91 define('__EMAIL' , $DATA['email']);
92 define('__URL' , $DATA['url']);
93 // Warning because low points
94 define('__REC_WARNING', ADD_SELECTION("yn", $DATA['receive_warnings'], "receive_warning"));
95 define('__INTERVAL' , CREATE_TIME_SELECTIONS($DATA['warning_interval'], "warning_interval", "MWDh"));
97 // Init variables here
98 $TPL = sprintf("admin_edit_sponsor_%s", REQUEST_GET(('mode')));
102 if ((IS_FORM_SENT()) || (REQUEST_ISSET_POST(('edit')))) {
103 // Perform action on mode
104 switch (REQUEST_GET('mode'))
106 case "add_points": // Add points
107 if (strval(REQUEST_POST('points')) > 0) {
108 // Replace german decimal comma with computer's decimal dot
109 $POINTS = strval(REVERT_COMMA(REQUEST_POST('points')));
111 // Add points to account
112 SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_sponsor_data` SET points_amount=points_amount+%s WHERE id='%s' LIMIT 1",
113 array($POINTS, bigintval(REQUEST_GET('id'))), __FILE__, __LINE__);
115 // Remember points /reason for the template
116 define('__POINTS' , TRANSLATE_COMMA($POINTS));
117 define('__REASON' , REQUEST_POST('reason'));
120 $msg = LOAD_EMAIL_TEMPLATE("sponsor_add_points", REQUEST_POST('reason'), true);
121 SEND_EMAIL(__EMAIL, ADMIN_SPONSOR_ADD_POINTS_SUBJ, $msg);
122 $MSG = ADMIN_SPONSOR_POINTS_ADDED;
124 // No points entered to add!
125 $MSG = ADMIN_SPONSPOR_NO_POINTS_TO_ADD;
129 case "sub_points": // Subtract points
130 if (strval(REQUEST_POST('points')) > 0) {
131 // Replace german decimal comma with computer's decimal dot
132 $POINTS = strval(REVERT_COMMA(REQUEST_POST('points')));
134 // Add points to account
135 SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_sponsor_data` SET points_used=points_used+%s WHERE id='%s' LIMIT 1",
136 array($POINTS, bigintval(REQUEST_GET('id'))), __FILE__, __LINE__);
138 // Remember points /reason for the template
139 define('__POINTS' , TRANSLATE_COMMA($POINTS));
140 define('__REASON' , REQUEST_POST('reason'));
143 $msg = LOAD_EMAIL_TEMPLATE("sponsor_sub_points", REQUEST_POST('reason'), true);
144 SEND_EMAIL(__EMAIL, ADMIN_SPONSOR_SUB_POINTS_SUBJ, $msg);
145 $MSG = ADMIN_SPONSOR_POINTS_SUBTRACTED;
147 // No points entered to add!
148 $MSG = ADMIN_SPONSPOR_NO_POINTS_TO_SUBTRACT;
152 case "edit": // Edit sponsor account
154 if ((REQUEST_POST('pass1') != REQUEST_POST('pass2')) || ((!REQUEST_ISSET_POST(('pass1'))) && (!REQUEST_ISSET_POST(('pass1'))))) {
156 REQUEST_UNSET_POST(('pass1'));
157 REQUEST_UNSET_POST(('pass2'));
161 // Convert time selection
162 $DATA = array(); $id = "warning_interval_ye"; $skip = false;
163 CONVERT_SELECTIONS_TO_TIMESTAMP(REQUEST_POST_ARRAY(), $DATA, $id, $skip);
166 SPONSOR_HANDLE_SPONSOR(REQUEST_POST_ARRAY());
168 // Convert some data for the email template
169 REQUEST_POST('gender' , TRANSLATE_GENDER(REQUEST_POST('gender')));
170 REQUEST_POST('warning_interval', CREATE_FANCY_TIME(REQUEST_POST('warning_interval')));
172 if (!$PASS) REQUEST_SET_POST('pass1', getMessage('SPONSOR_PASS_UNCHANGED'));
174 // Load email template and send the mail away
175 $msg = LOAD_EMAIL_TEMPLATE("admin_sponsor_edit", REQUEST_POST_ARRAY(), false);
176 SEND_EMAIL(REQUEST_POST('email'), getMessage('ADMIN_SPONSOR_EDIT_SUBJECT'), $msg);
179 default: // Unknown mode
180 DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown mode %s detected.", REQUEST_GET('mode')));
181 $MSG = sprintf(getMessage('ADMIN_SPONSOR_INVALID_MODE'), REQUEST_GET(('mode')));
187 LOAD_TEMPLATE("admin_settings_saved", false, $MSG);
189 } elseif (FILE_READABLE(sprintf("%stemplates/%s/html/admin/%s.tpl", constant('PATH'), GET_LANGUAGE(), $TPL))) {
190 // Create mailto link
191 define('__SPONSOR_VALUE', "<a href=\"mailto:{!__EMAIL!}\">{!__SURNAME!} {!__FAMILY!}</a>");
193 // Load mode template
196 // Template not found!
197 LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SPONSOR_MODUS_TPL_404'), REQUEST_GET(('mode'))));
200 // Sponsor not found!
201 LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SPONSOR_404'), bigintval(REQUEST_GET('id'))));
204 // Not called by what-list_sponsor.php
205 LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_CALL_NOT_DIRECTLY'));