2 /************************************************************************
3 * MXChange v0.2.1 Start: 10/11/2005 *
4 * =============== Last change: 05/19/2008 *
6 * -------------------------------------------------------------------- *
7 * File : settings.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Sponsor can manage his settings *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Der Sponsor kann seine Einstellungen aendern *
12 * -------------------------------------------------------------------- *
14 * $Date:: 2009-03-06 20:24:32 +0100 (Fr, 06. Mär 2009) $ *
15 * $Tag:: 0.2.1-FINAL $ *
16 * $Author:: stelzi $ *
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 - 2008 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. *
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')) {
40 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";
42 } elseif ((!EXT_IS_ACTIVE("sponsor"))
43 addFatalMessage(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "sponsor");
45 } elseif (!IS_SPONSOR()) {
47 addFatalMessage(__FILE__, __LINE__, getMessage('SPONSOR_ONLY_AREA_ENTERED'));
51 // Data for the formular
52 $result = SQL_QUERY_ESC("SELECT status, receive_warnings, warning_interval, email, surname, family, gender
53 FROM `{!_MYSQL_PREFIX!}_sponsor_data`
54 WHERE id='%s' AND password='%s' LIMIT 1",
55 array(bigintval(get_session('sponsorid')), get_session('sponsorpass')), __FILE__, __LINE__);
56 if (SQL_NUMROWS($result) == 1) {
58 $content = SQL_FETCHARRAY($result);
59 if ($content['status'] == "CONFIRMED") {
60 // Check if form was submitted or not
63 if (!REQUEST_ISSET_POST(('password'))) {
64 // No current password entered
65 $MSG = SPONSOR_NO_CURRENT_PASSWORD_ENTERED;
66 } elseif (md5(REQUEST_POST('password')) != get_session('sponsorpass')) {
67 // Entered password didn't match password in DB
68 $MSG = SPONSOR_CURRENT_PASSWORD_DIDNOT_MATCH_DB;
70 // Unsecure data which we don't want here
71 $UNSAFE = array('company', 'position', 'tax_ident', 'gender', 'surname', 'family',
72 'street_nr1', 'street_nr2', 'zip', 'city', 'country', 'phone', 'fax', 'cell',
75 // Remove all (maybe spoofed) unsafe data from array
76 foreach ($UNSAFE as $remove) {
77 REQUEST_UNSET_POST($remove);
80 // Set last change timestamp
81 REQUEST_SET_POST('last_change', "UNIX_TIMESTAMP()");
84 $MSG = SPONSOR_SAVE_DATA(REQUEST_POST_ARRAY(), $content);
89 $OUT = LOAD_TEMPLATE("admin_settings_saved", true, $MSG);
91 // No message generated
92 $OUT = LOAD_TEMPLATE("admin_settings_saved", true, getMessage('SPONSOR_NO_MESSAGE_GENERATED'));
95 // Make yes/no selection
96 switch ($content['receive_warnings']) {
98 define('__YES', " checked=\"checked\"");
104 define('__NO', " checked=\"checked\"");
108 // Translate current interval into fancy string
109 define('__CURRENT', CREATE_FANCY_TIME($content['warning_interval']));
112 $OUT = LOAD_TEMPLATE("sponsor_settings_form", true, $content);
116 $STATUS = SPONSOR_TRANSLATE_STATUS($content['status']);
117 $OUT = LOAD_TEMPLATE("admin_settings_saved", true, sprintf(getMessage('SPONSOR_ACCOUNT_FAILED'), $STATUS));
120 // Sponsor account not found!
121 $OUT = LOAD_TEMPLATE("admin_settings_saved", true, sprintf(getMessage('SPONSOR_ACCOUNT_404'), get_session('sponsorid')));
125 SQL_FREERESULT($result);