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", basename(__FILE__));
43 if (!empty($_GET['rallye']))
46 if (isset($_POST['add']))
48 if ((!empty($_POST['level'])) && ((!empty($_POST['points'])) || (!empty($_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($_GET['rallye']), bigintval($_POST['level'])), __FILE__, __LINE__);
54 if (SQL_NUMROWS($result) == 0)
56 // Ok, new price level entered!
57 $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_rallye_prices (rallye_id, price_level, points, info)
58 VALUES ('%s','%s','%s','%s')",
60 bigintval($_GET['rallye']),
61 bigintval($_POST['level']),
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);
77 elseif (isset($_POST['remove']))
79 // Check if at last one line is selected
80 $SEL = SELECTION_COUNT($_POST['sel']);
83 // Delete selected entries
84 foreach ($_POST['sel'] as $id => $sel)
86 $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_prices WHERE id=%s LIMIT 1",
87 array(bigintval($id)), __FILE__, __LINE__);
91 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_ENTRIES_DELETED);
95 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_ENTRIES_NOT_DELETED);
98 elseif (isset($_POST['change']))
101 foreach ($_POST['level'] as $id => $level)
104 $id = bigintval($id);
107 $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_rallye_prices SET rallye_id=%s, price_level='%s', points='%s', info='%s' WHERE id=%s LIMIT 1",
108 array($_POST['rallye_id'][$id], bigintval($level), $_POST['points'][$id], $_POST['infos'][$id], $id), __FILE__, __LINE__);
112 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_ENTRIES_CHANGED);
115 if (isset($_POST['edit']))
117 // Check if at last one line is selected
118 $SEL = SELECTION_COUNT($_POST['sel']);
121 // Make selected editable
123 foreach ($_POST['sel'] as $id => $sel)
125 // Load data to selected rallye
126 $result = SQL_QUERY_ESC("SELECT rallye_id, price_level, points, info FROM "._MYSQL_PREFIX."_rallye_prices WHERE id=%s LIMIT 1",
127 array(bigintval($id)), __FILE__, __LINE__);
128 list($rallye, $level, $points, $infos) = SQL_FETCHROW($result);
129 SQL_FREERESULT($result);
131 // Prepare data for the row template
135 'rallyes' => ADD_OPTION_LINES("rallye_data", "id", "title", $rallye),
141 // Load row template and switch color
142 $OUT .= LOAD_TEMPLATE("admin_config_rallye_edit_row", true, $content);
145 define('__PRICE_ROWS', $OUT);
147 // Prepare data for the main template
148 define('__RALLYE_ID', $_GET['rallye']);
150 // Load main template
151 LOAD_TEMPLATE("admin_config_rallye_edit");
156 $content = RALLYE_NO_PRICES_SELECTED_1."<A href=\"".URL."/modules.php?module=admin&what=config_rallye_prices&rallye=".$_GET['rallye']."\">".RALLYE_NO_PRICES_SELECTED_2."</A>".RALLYE_NO_PRICES_SELECTED_3;
157 LOAD_TEMPLATE("admin_settings_saved", false, $content);
160 elseif (isset($_POST['del']))
162 // Check if at last one line is selected
163 $SEL = SELECTION_COUNT($_POST['sel']);
168 foreach ($_POST['sel'] as $id => $sel)
170 // Load data to selected rallye
171 $result = SQL_QUERY_ESC("SELECT rallye_id, price_level, points, info FROM "._MYSQL_PREFIX."_rallye_prices WHERE id=%s LIMIT 1",
172 array(bigintval($id)), __FILE__, __LINE__);
173 list($rallye, $level, $points, $infos) = SQL_FETCHROW($result);
174 SQL_FREERESULT($result);
176 if (empty($infos)) $infos = "---";
178 // Prepare data for the row template
187 // Load row template and switch color
188 $OUT .= LOAD_TEMPLATE("admin_config_rallye_del_row", true, $content);
191 define('__PRICE_ROWS', $OUT);
193 // Prepare data for the main template
194 define('__RALLYE_ID', $_GET['rallye']);
196 // Load main template
197 LOAD_TEMPLATE("admin_config_rallye_del");
202 $content = RALLYE_NO_PRICES_SELECTED_1."<A href=\"".URL."/modules.php?module=admin&what=config_rallye_prices&rallye=".$_GET['rallye']."\">".RALLYE_NO_PRICES_SELECTED_2."</A>".RALLYE_NO_PRICES_SELECTED_3;
203 LOAD_TEMPLATE("admin_settings_saved", false, $content);
208 // A rallye was selected, so check if there are already prices assigned...
209 $result = SQL_QUERY_ESC("SELECT id, price_level, points, info FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%s ORDER BY price_level",
210 array(bigintval($_GET['rallye'])), __FILE__, __LINE__);
212 if (SQL_NUMROWS($result) > 0)
214 // Load all prices for the selected rallye
216 while(list($id, $level, $points, $infos) = SQL_FETCHROW($result))
218 if (empty($infos)) $infos = "---";
220 // Prepare data for the row template
229 // Load row template and switch color
230 $OUT .= LOAD_TEMPLATE("admin_config_rallye_prices_row", true, $content);
235 SQL_FREERESULT($result);
236 define('__PRICE_ROWS', $OUT);
238 // Prepare data for the main template
239 define('__RALLYE_ID', $_GET['rallye']);
241 // Load main template
242 LOAD_TEMPLATE("admin_config_rallye_prices");
246 // Add form for adding new price level
247 if (empty($_POST['edit']))
249 LOAD_TEMPLATE("admin_add_rallye_prices", false, $_GET['rallye']);
254 // No rallye selected so display all available without prices
255 $result = SQL_QUERY("SELECT d.id, d.admin_id, d.start_time, d.end_time, d.title, a.login, d.is_active
256 FROM "._MYSQL_PREFIX."_rallye_data AS d, "._MYSQL_PREFIX."_admins AS a
257 WHERE d.admin_id=a.id ORDER BY start_time DESC", __FILE__, __LINE__);
258 if (SQL_NUMROWS($result) > 0)
260 // List found rallyes
262 while (list($id, $aid, $start, $end, $title, $alogin, $active) = SQL_FETCHROW($result))
264 $select = "<INPUT type=\"checkbox\" name=\"sel[".$id."]\" class=\"admin_normal\" value=\"1\">";
265 if ($active == "Y") $select = "<STRONG class=\"big\">".$id."</STRONG>";
267 // Prepare data for the row template
274 'email_link' => CREATE_EMAIL_LINK($aid),
276 'start' => MAKE_DATETIME($start, "3"),
277 'end' => MAKE_DATETIME($end, "3"),
280 // Load row template and switch color
281 $OUT .= LOAD_TEMPLATE("admin_list_rallye_prices_row", true, $content);
286 SQL_FREERESULT($result);
287 define('__RALLYE_ROWS', $OUT);
289 // Load main template
290 LOAD_TEMPLATE("admin_list_rallye_prices");
294 // No rallyes setup so far
295 LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_NO_RALLYES_SETUP);