0) {
// Init SQLs
INIT_SQLS();
// Delete selected rallyes and all it's data
foreach (REQUEST_POST('sel') as $id => $selected) {
// Remove selected rallye entirely...
ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_data` WHERE `id`=%s LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__, false));
ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE rallye_id=%s",
array(bigintval($id)), __FILE__, __LINE__, false));
ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE rallye_id=%s",
array(bigintval($id)), __FILE__, __LINE__, false));
} // END - foreach
// Run SQLS
runFilterChain('run_sqls');
// Output message
$message = getMessage('RALLYE_DELETED');
} else {
// No rallye selected to delete!
$message = getMessage('RALLYE_DELETE_NOTHING_SELECTED');
}
} elseif (REQUEST_ISSET_POST('change')) {
// Change rallye
$SEL = countSelection(REQUEST_POST('title'));
if ($SEL > 0) {
// Init SQLs
INIT_SQLS();
// Change selected rallyes and all it's data
foreach (REQUEST_POST('title') as $id => $title) {
// Secure ID number
$id = bigintval($id);
// Generate timestamps
$START = mktime(REQUEST_POST('start_hour', $id), REQUEST_POST('start_min', $id), REQUEST_POST('start_sec', $id), REQUEST_POST('start_month', $id), REQUEST_POST('start_day', $id), REQUEST_POST('start_year', $id));
$END = mktime(REQUEST_POST('end_hour', $id) , REQUEST_POST('end_min', $id) , REQUEST_POST('end_sec', $id) , REQUEST_POST('end_month', $id) , REQUEST_POST('end_day', $id) , REQUEST_POST('end_year', $id) );
// Update entry
ADD_SQL(SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_rallye_data` SET
title='%s',
descr='%s',
template='%s',
start_time='%s',
end_time='%s',
min_users='%s',
min_prices='%s'
WHERE `id`='".$id."' LIMIT 1",
array(
$title,
REQUEST_POST('descr', $id),
REQUEST_POST('templ', $id),
bigintval($START),
bigintval($END),
bigintval(REQUEST_POST('min_users', $id)),
bigintval(REQUEST_POST('min_prices', $id)),
$id
), __FILE__, __LINE__, false));
}
// Run SQLS
runFilterChain('run_sqls');
// Output message
$message = getMessage('RALLYE_CHANGED');
}
}
if (REQUEST_ISSET_POST('edit')) {
// Check for selections
$SEL = countPostSelection();
if ($SEL > 0) {
// Make all selected and deactivated rallyes editable
$OUT = ''; $SW = 2;
foreach (REQUEST_POST('sel') as $id => $selected) {
// Load rallye basic data
$result = SQL_QUERY_ESC("SELECT title, descr, template, start_time, end_time, min_users, min_prices
FROM `{!_MYSQL_PREFIX!}_rallye_data`
WHERE `id`=%s
LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__);
// Fetch an array
$content = SQL_FETCHARRAY($result);
// Free result
SQL_FREERESULT($result);
// Starting day
$content['s_sec'] = ADD_SELECTION('sec' , date('s', $content['start_time']), 'start', $id);
$content['s_min'] = ADD_SELECTION('min' , date('i', $content['start_time']), 'start', $id);
$content['s_hour'] = ADD_SELECTION('hour' , date('G', $content['start_time']), 'start', $id);
$content['s_day'] = ADD_SELECTION('day' , date('d', $content['start_time']), 'start', $id);
$content['s_month'] = ADD_SELECTION('month', date('m', $content['start_time']), 'start', $id);
$content['s_year'] = ADD_SELECTION('year' , date('Y', $content['start_time']), 'start', $id);
// Ending day
$content['e_sec'] = ADD_SELECTION('sec' , date('s', $content['end_time']) , 'end' , $id);
$content['e_min'] = ADD_SELECTION('min' , date('i', $content['end_time']) , 'end' , $id);
$content['e_hour'] = ADD_SELECTION('hour' , date('G', $content['end_time']) , 'end' , $id);
$content['e_day'] = ADD_SELECTION('day' , date('d', $content['end_time']) , 'end' , $id);
$content['e_month'] = ADD_SELECTION('month', date('m', $content['end_time']) , 'end' , $id);
$content['e_year'] = ADD_SELECTION('year' , date('Y', $content['end_time']) , 'end' , $id);
// Remember other values
$content['templ'] = RALLYE_TEMPLATE_SELECTION('templ['.$id.']', $content['template']);
$content['sw'] = $SW;
$content['id'] = $id;
// Output row
$OUT .= LOAD_TEMPLATE('admin_edit_rallyes_row', true, $content);
// Color switching
$SW = 3 - $SW;
}
// Remember rows in constant
define('__RALLYE_ROWS', $OUT);
// Load final template
LOAD_TEMPLATE('admin_edit_rallyes');
} else {
// Nothing selected to edit
LOAD_TEMPLATE('admin_settings_saved', false, LOAD_TEMPLATE('admin_list_rallye_noselect', true));
}
} elseif ((REQUEST_GET('sub') == 'users') && (REQUEST_GET('rallye') > 0)) {
// List users and their refs before start and current
$result = SQL_QUERY_ESC("SELECT userid, refs, curr_points FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE rallye_id=%s ORDER BY `userid` ASC",
array(bigintval(REQUEST_GET('rallye'))), __FILE__, __LINE__);
if (SQL_NUMROWS($result) > 0) {
$OUT = ''; $SW = 2;
// @TODO Rewrite this constant
define('__RALLYE_VALUE', REQUEST_GET('rallye'));
while ($content = SQL_FETCHARRAY($result)) {
// Check for referal count
$cnt = RALLYE_GET_REFCOUNT($content['userid'], $content['refs']);
// Init variables
$bl = '';
$br = '';
// Output row
if (($content['curr_points'] > 0) && ($cnt > 0)) { $bl = ""; $br = ""; }
if (($content['refs'] > 0) || ($cnt > 0)) {
// Insert link to referal list
//* DEBUG: */ OUTPUT_HTML('-'.$content['userid'].'/'.$cnt.'/'.$content['refs']."-
");
$cnt = generateUserProfileLink($content['userid'], $cnt, 'list_refs');
$content['refs'] = generateUserProfileLink($content['userid'], $content['refs'], 'list_refs');
} // END - if
// Get user points
$points = GET_TOTAL_DATA($content['userid'], 'user_points', 'points', 'userid', false, " AND `ref_depth`=1 LIMIT 1");
//* DEBUG: */ OUTPUT_HTML(basename(__FILE__).":uid={$content['userid']},points={$points},opoints={$content['curr_points']}
");
// Prepare content
// @TODO Rewritings: uid->userid,opoints->curr_points,old->refs in template
$content = array(
'sw' => $SW ,
'uid' => $content['userid'],
'bold_l' => $bl ,
'bold_r' => $br ,
'old' => $content['refs'],
'cnt' => $cnt,
'opoints' => translateComma($points - $content['curr_points']),
);
// Load row template and switch color
$OUT .= LOAD_TEMPLATE('admin_list_rallye_usr_row', true, $content);
$SW = 3 - $SW;
} // END - while
// Free memory
SQL_FREERESULT($result);
define('__RALLYE_USER_ROWS', $OUT);
// Load template
LOAD_TEMPLATE('admin_list_rallye_usr');
} else {
// No entries found?
LOAD_TEMPLATE('admin_settings_saved', false, getMessage('RALLYE_ADMIN_USERS_404'));
}
} else {
// Start listing rallyes
$result = SQL_QUERY("SELECT id, admin_id, title, descr, template, start_time, end_time, auto_add_new_user, is_active, send_notify, notified, min_users, min_prices
FROM `{!_MYSQL_PREFIX!}_rallye_data`
ORDER BY start_time DESC",
__FILE__, __LINE__);
if (SQL_NUMROWS($result) > 0) {
// List found rallyes
$OUT = ''; $SW = 2;
while ($content = SQL_FETCHARRAY($result)) {
// Load admin login
$content['alogin'] = getAdminLogin($content['admin_id']);
// Count joined userids
$joined = GET_TOTAL_DATA($content['id'], "rallye_users", 'id', "rallye_id", true);
// Did some users joined this rallye?
if ($joined > 0) {
// List joined users
$joined = "".$joined."";
} // END - if
// Alter some variables
if (empty($content['alogin'])) $content['alogin'] = '???';
if (empty($content['template'])) $content['template'] = '---';
if (empty($content['descr'])) $content['descr'] = '---';
// Transfer data into array for the template
// @TODO Rewritings: aid->admin_id in template
$content = array(
'select' => "",
'aid' => $content['admin_id'],
'email_link' => generateEmailLink($content['admin_id']),
'alogin' => $content['alogin'],
'id' => $content['id'],
'sw' => $SW,
'title' => $content['title'],
'template' => $content['template'],
'joined' => $joined,
'start_date' => generateDateTime($content['start_time'], '2'),
'end_date' => generateDateTime($content['end_time'] , '2'),
'active_lnk' => translateYesNo($content['is_active']),
'notify_lnk' => translateYesNo($content['send_notify']),
'auto_lnk' => translateYesNo($content['auto_add_new_user']),
'notified' => translateYesNo($content['notified']),
'prices_cnt' => translateComma(GET_TOTAL_DATA($content['id'], 'rallye_prices', 'id', 'rallye_id', true)),
'descr' => COMPILE_CODE($content['descr']),
'min_users' => $content['min_users'],
'min_prices' => $content['min_prices'],
);
// Is the rallye active or not?
switch ($content['is_active'])
{
case 'Y':
// Rallye is active so do not edit it!
$content['select'] = "