2 /************************************************************************
3 * MXChange v0.2.1 Start: 07/03/2004 *
4 * ================ Last change: 08/22/2004 *
6 * -------------------------------------------------------------------- *
7 * File : what-config_rallye_prices.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Setup rallye prices *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Rallye-Preise einrichten *
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(('rallye')))
46 if (REQUEST_ISSET_POST(('add')))
48 if ((REQUEST_ISSET_POST(('level'))) && ((REQUEST_ISSET_POST(('points'))) || (REQUEST_ISSET_POST(('info')))))
50 // Submitted data is valid, but maybe we already have this price level?
51 $result = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE rallye_id=%s AND price_level='%s' LIMIT 1",
52 array(bigintval(REQUEST_GET('rallye')), bigintval(REQUEST_POST('level'))), __FILE__, __LINE__);
54 if (SQL_NUMROWS($result) == 0)
56 // Ok, new price level entered!
57 SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_rallye_prices` (rallye_id, price_level, points, info)
58 VALUES ('%s','%s','%s','%s')",
60 bigintval(REQUEST_GET('rallye')),
61 bigintval(REQUEST_POST('level')),
62 REQUEST_POST('points'),
64 ), __FILE__, __LINE__);
65 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_PRICE_LEVEL_SAVED);
70 SQL_FREERESULT($result);
73 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_PRICE_ALREADY_FOUND);
76 } elseif (REQUEST_ISSET_POST(('remove'))) {
77 // Check if at last one line is selected
78 $SEL = SELECTION_COUNT(REQUEST_POST('sel'));
80 // Delete selected entries
81 foreach (REQUEST_POST('sel') as $id => $sel) {
82 SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE id=%s LIMIT 1",
83 array(bigintval($id)), __FILE__, __LINE__);
87 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_ENTRIES_DELETED);
89 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_ENTRIES_NOT_DELETED);
91 } elseif (REQUEST_ISSET_POST(('change'))) {
93 foreach (REQUEST_POST('level') as $id => $level) {
98 SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_rallye_prices` SET rallye_id=%s, price_level='%s', points='%s', info='%s' WHERE id=%s LIMIT 1",
100 REQUEST_POST('rallye_id', $id),
102 REQUEST_POST('points', $id]),
103 REQUEST_POST('infos', $id),
105 ), __FILE__, __LINE__);
109 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_ENTRIES_CHANGED);
112 if (REQUEST_ISSET_POST(('edit'))) {
113 // Check if at last one line is selected
114 $SEL = SELECTION_COUNT(REQUEST_POST('sel'));
116 // Make selected editable
118 foreach (REQUEST_POST('sel') as $id => $sel) {
119 // Load data to selected rallye
120 $result = SQL_QUERY_ESC("SELECT rallye_id, price_level, points, info FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE id=%s LIMIT 1",
121 array(bigintval($id)), __FILE__, __LINE__);
122 list($rallye, $level, $points, $infos) = SQL_FETCHROW($result);
123 SQL_FREERESULT($result);
125 // Prepare data for the row template
129 'rallyes' => ADD_OPTION_LINES("rallye_data", "id", "title", $rallye),
135 // Load row template and switch color
136 $OUT .= LOAD_TEMPLATE("admin_config_rallye_edit_row", true, $content);
139 define('__PRICE_ROWS', $OUT);
141 // Prepare data for the main template
142 define('__RALLYE_ID', REQUEST_GET('rallye'));
144 // Load main template
145 LOAD_TEMPLATE("admin_config_rallye_edit");
150 $content = RALLYE_NO_PRICES_SELECTED_1."<a href=\"{!URL!}/modules.php?module=admin&what=config_rallye_prices&rallye=".REQUEST_GET('rallye')."\">".RALLYE_NO_PRICES_SELECTED_2."</a>".RALLYE_NO_PRICES_SELECTED_3;
151 LOAD_TEMPLATE("admin_settings_saved", false, $content);
154 elseif (REQUEST_ISSET_POST(('del')))
156 // Check if at last one line is selected
157 $SEL = SELECTION_COUNT(REQUEST_POST('sel'));
162 foreach (REQUEST_POST('sel') as $id => $sel)
164 // Load data to selected rallye
165 $result = SQL_QUERY_ESC("SELECT rallye_id, price_level, points, info FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE id=%s LIMIT 1",
166 array(bigintval($id)), __FILE__, __LINE__);
167 list($rallye, $level, $points, $infos) = SQL_FETCHROW($result);
168 SQL_FREERESULT($result);
170 if (empty($infos)) $infos = "---";
172 // Prepare data for the row template
181 // Load row template and switch color
182 $OUT .= LOAD_TEMPLATE("admin_config_rallye_del_row", true, $content);
185 define('__PRICE_ROWS', $OUT);
187 // Prepare data for the main template
188 define('__RALLYE_ID', REQUEST_GET('rallye'));
190 // Load main template
191 LOAD_TEMPLATE("admin_config_rallye_del");
196 $content = RALLYE_NO_PRICES_SELECTED_1."<a href=\"{!URL!}/modules.php?module=admin&what=config_rallye_prices&rallye=".REQUEST_GET('rallye')."\">".RALLYE_NO_PRICES_SELECTED_2."</a>".RALLYE_NO_PRICES_SELECTED_3;
197 LOAD_TEMPLATE("admin_settings_saved", false, $content);
202 // a rallye was selected, so check if there are already prices assigned...
203 $result = SQL_QUERY_ESC("SELECT id, price_level, points, info FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE rallye_id=%s ORDER BY price_level",
204 array(bigintval(REQUEST_GET('rallye'))), __FILE__, __LINE__);
206 if (SQL_NUMROWS($result) > 0)
208 // Load all prices for the selected rallye
210 while (list($id, $level, $points, $infos) = SQL_FETCHROW($result))
212 if (empty($infos)) $infos = "---";
214 // Prepare data for the row template
223 // Load row template and switch color
224 $OUT .= LOAD_TEMPLATE("admin_config_rallye_prices_row", true, $content);
229 SQL_FREERESULT($result);
230 define('__PRICE_ROWS', $OUT);
232 // Prepare data for the main template
233 define('__RALLYE_ID', REQUEST_GET('rallye'));
235 // Load main template
236 LOAD_TEMPLATE("admin_config_rallye_prices");
240 // Add form for adding new price level
241 if (!REQUEST_ISSET_POST(('edit'))) {
242 LOAD_TEMPLATE("admin_add_rallye_prices", false, REQUEST_GET('rallye'));
245 // No rallye selected so display all available without prices
246 $result = SQL_QUERY("SELECT d.id, d.admin_id, d.start_time, d.end_time, d.title, a.login, d.is_active
247 FROM `{!_MYSQL_PREFIX!}_rallye_data` AS d, `{!_MYSQL_PREFIX!}_admins` AS a
248 WHERE d.admin_id=a.id ORDER BY start_time DESC", __FILE__, __LINE__);
249 if (SQL_NUMROWS($result) > 0)
251 // List found rallyes
253 while (list($id, $aid, $start, $end, $title, $alogin, $active) = SQL_FETCHROW($result))
255 $select = "<input type=\"checkbox\" name=\"sel[".$id."]\" class=\"admin_normal\" value=\"1\">";
256 if ($active == "Y") $select = "<div class=\"big\">".$id."</div>";
258 // Prepare data for the row template
265 'email_link' => CREATE_EMAIL_LINK($aid),
267 'start' => MAKE_DATETIME($start, "3"),
268 'end' => MAKE_DATETIME($end, "3"),
271 // Load row template and switch color
272 $OUT .= LOAD_TEMPLATE("admin_list_rallye_prices_row", true, $content);
277 SQL_FREERESULT($result);
278 define('__RALLYE_ROWS', $OUT);
280 // Load main template
281 LOAD_TEMPLATE("admin_list_rallye_prices");
285 // No rallyes setup so far
286 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_NO_RALLYES_SETUP);