0) {
// Delete selected entries
foreach (postRequestElement('sel') as $id => $sel) {
SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE `id`=%s LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__);
}
// Output message
loadTemplate('admin_settings_saved', false, getMessage('RALLYE_ENTRIES_DELETED'));
} else {
loadTemplate('admin_settings_saved', false, getMessage('RALLYE_ENTRIES_NOT_DELETED'));
}
} elseif (isPostRequestElementSet('change')) {
// Change entries
foreach (postRequestElement('level') as $id => $level) {
// Secure id
$id = bigintval($id);
// Update entry
SQL_QUERY_ESC("UPDATE
`{?_MYSQL_PREFIX?}_rallye_prices`
SET
`rallye_id`=%s,
`price_level`=%d,
`points`=%s,
`info`='%s'
WHERE
`id`=%s
LIMIT 1",
array(
postRequestElement('rallye_id', $id),
bigintval($level),
postRequestElement('points', $id),
postRequestElement('infos', $id),
$id
), __FILE__, __LINE__);
}
// Output message
loadTemplate('admin_settings_saved', false, getMessage('RALLYE_ENTRIES_CHANGED'));
}
if (isPostRequestElementSet('edit')) {
// Check if at last one line is selected
$SEL = countPostSelection();
if ($SEL > 0) {
// Make selected editable
$OUT = ''; $SW = 2;
foreach (postRequestElement('sel') as $id => $sel) {
// Load data to selected rallye
$result = SQL_QUERY_ESC("SELECT rallye_id, price_level, points, info FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE `id`=%s LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__);
list($rallye, $level, $points, $infos) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
// Prepare data for the row template
$content = array(
'sw' => $SW,
'id' => $id,
'rallyes' => generateOptionList('rallye_data', 'id', 'title', $rallye),
'level' => $level,
'points' => $points,
'infos' => $infos,
);
// Load row template and switch color
$OUT .= loadTemplate('admin_config_rallye_edit_row', true, $content);
$SW = 3 - $SW;
}
$content['rows'] = $OUT;
// Prepare data for the main template
$content['rallye'] = getRequestElement('rallye');
// Load main template
loadTemplate('admin_config_rallye_edit', false, $content);
} else {
// Nothing selected
$content = sprintf(getMessage('RALLYE_NO_PRICES_SELECTED'), "", "");
loadTemplate('admin_settings_saved', false, $content);
}
} elseif (isPostRequestElementSet('del')) {
// Check if at last one line is selected
$SEL = countPostSelection();
if ($SEL > 0) {
// List all prices
$OUT = ''; $SW = 2;
foreach (postRequestElement('sel') as $id => $sel) {
// Load data to selected rallye
$result = SQL_QUERY_ESC("SELECT `rallye_id`, `price_level`, `points`, `info` FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE `id`=%s LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__);
list($rallye, $level, $points, $infos) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
if (empty($infos)) $infos = '---';
// Prepare data for the row template
$content = array(
'sw' => $SW,
'id' => $id,
'level' => $level,
'points' => $points,
'infos' => $infos,
);
// Load row template and switch color
$OUT .= loadTemplate('admin_config_rallye_del_row', true, $content);
$SW = 3 - $SW;
}
$content['rows'] = $OUT;
// Prepare data for the main template
$content['rallye'] = getRequestElement('rallye');
// Load main template
loadTemplate('admin_config_rallye_del', false, $content);
} else {
// Nothing selected
$content = "{--RALLYE_NO_PRICES_SELECTED_1--}{--RALLYE_NO_PRICES_SELECTED_2--}{--RALLYE_NO_PRICES_SELECTED_3--}";
loadTemplate('admin_settings_saved', false, $content);
}
} else {
// a rallye was selected, so check if there are already prices assigned...
$result = SQL_QUERY_ESC("SELECT `id`, `price_level`, `points`, `info` FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE `rallye_id`=%s ORDER BY `price_level` ASC",
array(bigintval(getRequestElement('rallye'))), __FILE__, __LINE__);
if (SQL_NUMROWS($result) > 0) {
// Load all prices for the selected rallye
$OUT = ''; $SW = 2;
while ($content = SQL_FETCHARRAY($result)) {
// Fix empty info
if (empty($content['info'])) $content['info'] = '---';
// Prepare data for the row template
// @TODO Rewritings: level->price_level, infos->info in template
$content = array(
'sw' => $SW,
'id' => $content['id'],
'level' => $content['price_level'],
'points' => $content['points'],
'infos' => $content['info'],
);
// Load row template and switch color
$OUT .= loadTemplate('admin_config_rallye_prices_row', true, $content);
$SW = 3 - $SW;
} // END - while
// Free memory
SQL_FREERESULT($result);
// @TODO Rewrite these two constants
$content['rows'] = $OUT;
// Prepare data for the main template
$content['rallye'] = getRequestElement('rallye');
// Load main template
loadTemplate('admin_config_rallye_prices', false, $content);
}
}
// Add form for adding new price level
if (!isPostRequestElementSet('edit')) {
loadTemplate('admin_add_rallye_prices', false, getRequestElement('rallye'));
}
} else {
// No rallye selected so display all available without prices
$result = SQL_QUERY("SELECT
d.id, d.admin_id, d.start_time, d.end_time, d.title, a.login, d.is_active
FROM
`{?_MYSQL_PREFIX?}_rallye_data` AS d
LEFT JOIN
`{?_MYSQL_PREFIX?}_admins` AS a
ON
d.admin_id=a.id
ORDER BY
d.start_time DESC", __FILE__, __LINE__);
if (SQL_NUMROWS($result) > 0) {
// List found rallyes
$OUT = ''; $SW = 2;
while ($content = SQL_FETCHARRAY($result)) {
// Prepare data for the row template
$content = array(
'sw' => $SW,
'id' => $content['id'],
'title' => $content['title'],
'admin_id' => $content['admin_id'],
'admin_link' => generateAdminLink($content['admin_id']),
'login' => $content['login'],
'start' => generateDateTime($content['start_time'], 3),
'end' => generateDateTime($content['end_time'], 3),
);
// Load row template and switch color
$OUT .= loadTemplate('admin_list_rallye_prices_row', true, $content);
$SW = 3 - $SW;
}
// Free memory
SQL_FREERESULT($result);
// Load main template
loadTemplate('admin_list_rallye_prices', false, $OUT);
} else {
// No rallyes setup so far
loadTemplate('admin_settings_saved', false, getMessage('RALLYE_NO_RALLYES_SETUP'));
}
}
// [EOF]
?>