0) {
// Init SQLs
initSqls();
// Delete selected rallyes and all it's data
foreach (postRequestElement('sel') as $id => $selected) {
// Remove selected rallye entirely...
addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_data` WHERE `id`=%s LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__, false));
addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_rallye_prices` WHERE rallye_id=%s",
array(bigintval($id)), __FILE__, __LINE__, false));
addSql(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 (isPostRequestElementSet('change')) {
// Change rallye
$SEL = countSelection(postRequestElement('title'));
if ($SEL > 0) {
// Init SQLs
initSqls();
// Change selected rallyes and all it's data
foreach (postRequestElement('title') as $id => $title) {
// Secure id number
$id = bigintval($id);
// Generate timestamps
$START = mktime(postRequestElement('start_hour', $id), postRequestElement('start_min', $id), postRequestElement('start_sec', $id), postRequestElement('start_month', $id), postRequestElement('start_day', $id), postRequestElement('start_year', $id));
$END = mktime(postRequestElement('end_hour', $id) , postRequestElement('end_min', $id) , postRequestElement('end_sec', $id) , postRequestElement('end_month', $id) , postRequestElement('end_day', $id) , postRequestElement('end_year', $id) );
// Update entry
addSql(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`='%s'
LIMIT 1",
array(
$title,
postRequestElement('descr', $id),
postRequestElement('templ', $id),
bigintval($START),
bigintval($END),
bigintval(postRequestElement('min_users', $id)),
bigintval(postRequestElement('min_prices', $id)),
$id
), __FILE__, __LINE__, false));
}
// Run SQLS
runFilterChain('run_sqls');
// Output message
$message = getMessage('RALLYE_CHANGED');
}
}
if (isPostRequestElementSet('edit')) {
// Check for selections
$SEL = countPostSelection();
if ($SEL > 0) {
// Make all selected and deactivated rallyes editable
$OUT = ''; $SW = 2;
foreach (postRequestElement('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'] = addSelectionBox('sec' , date('s', $content['start_time']), 'start', $id);
$content['s_min'] = addSelectionBox('min' , date('i', $content['start_time']), 'start', $id);
$content['s_hour'] = addSelectionBox('hour' , date('G', $content['start_time']), 'start', $id);
$content['s_day'] = addSelectionBox('day' , date('d', $content['start_time']), 'start', $id);
$content['s_month'] = addSelectionBox('month', date('m', $content['start_time']), 'start', $id);
$content['s_year'] = addSelectionBox('year' , date('Y', $content['start_time']), 'start', $id);
// Ending day
$content['e_sec'] = addSelectionBox('sec' , date('s', $content['end_time']) , 'end' , $id);
$content['e_min'] = addSelectionBox('min' , date('i', $content['end_time']) , 'end' , $id);
$content['e_hour'] = addSelectionBox('hour' , date('G', $content['end_time']) , 'end' , $id);
$content['e_day'] = addSelectionBox('day' , date('d', $content['end_time']) , 'end' , $id);
$content['e_month'] = addSelectionBox('month', date('m', $content['end_time']) , 'end' , $id);
$content['e_year'] = addSelectionBox('year' , date('Y', $content['end_time']) , 'end' , $id);
// Remember other values
$content['templ'] = addReferalRallyeTemplateSelection('templ['.$id.']', $content['template']);
$content['sw'] = $SW;
$content['id'] = $id;
// Output row
$OUT .= loadTemplate('admin_edit_rallyes_row', true, $content);
// Color switching
$SW = 3 - $SW;
}
// Load final template
loadTemplate('admin_edit_rallyes', false, $OUT);
} else {
// Nothing selected to edit
loadTemplate('admin_settings_saved', false, loadTemplate('admin_list_rallye_noselect', true));
}
} elseif ((getRequestElement('sub') == 'users') && (getRequestElement('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(getRequestElement('rallye'))), __FILE__, __LINE__);
if (SQL_NUMROWS($result) > 0) {
$OUT = ''; $SW = 2;
$content['rallye'] = getRequestElement('rallye');
while ($row = SQL_FETCHARRAY($result)) {
// Check for referal count
$cnt = getReferalRallyeRefsCount($row['userid'], $row['refs']);
// Init variables
$bl = '';
$br = '';
// Output row
if (($row['curr_points'] > 0) && ($cnt > 0)) { $bl = ""; $br = ""; }
if (($row['refs'] > 0) || ($cnt > 0)) {
// Insert link to referal list
//* DEBUG: */ outputHtml('-'.$row['userid'].'/'.$cnt.'/'.$row['refs']."-
");
$cnt = generateUserProfileLink($row['userid'], $cnt, 'list_refs');
$row['refs'] = generateUserProfileLink($row['userid'], $row['refs'], 'list_refs');
} // END - if
// Get user points
$points = countSumTotalData($row['userid'], 'user_points', 'points', 'userid', false, " AND `ref_depth`=1 LIMIT 1");
//* DEBUG: */ outputHtml(basename(__FILE__).":userid={$row['userid']},points={$points},opoints={$row['curr_points']}
");
// Prepare content
// @TODO Rewritings: userid->userid,opoints->curr_points,old->refs in template
$row = array(
'sw' => $SW ,
'userid' => $row['userid'],
'bold_l' => $bl ,
'bold_r' => $br ,
'old' => $row['refs'],
'cnt' => $cnt,
'opoints' => translateComma($points - $row['curr_points']),
);
// Load row template and switch color
$OUT .= loadTemplate('admin_list_rallye_usr_row', true, $row);
$SW = 3 - $SW;
} // END - while
// Free memory
SQL_FREERESULT($result);
// Load template
loadTemplate('admin_list_rallye_usr', false, $OUT);
} else {
// No entries found?
loadTemplate('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__);
// Records found?
if (SQL_NUMROWS($result) > 0) {
// List found rallyes
$OUT = ''; $SW = 2;
while ($data = SQL_FETCHARRAY($result)) {
// Load admin login
$data['login'] = getAdminLogin($data['admin_id']);
// Count joined userids
$joined = countSumTotalData($data['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($data['login'])) $data['login'] = '???';
if (empty($data['template'])) $data['template'] = '---';
if (empty($data['descr'])) $data['descr'] = '---';
// Transfer data into array for the template
$row = array(
'select' => "",
'admin_id' => $data['admin_id'],
'email_link' => generateEmailLink($data['admin_id']),
'login' => $data['login'],
'id' => $data['id'],
'sw' => $SW,
'title' => $data['title'],
'template' => $data['template'],
'joined' => $joined,
'start_date' => generateDateTime($data['start_time'], 2),
'end_date' => generateDateTime($data['end_time'] , 2),
'active_lnk' => translateYesNo($data['is_active']),
'notify_lnk' => translateYesNo($data['send_notify']),
'auto_lnk' => translateYesNo($data['auto_add_new_user']),
'notified' => translateYesNo($data['notified']),
'prices_cnt' => translateComma(countSumTotalData($data['id'], 'rallye_prices', 'id', 'rallye_id', true)),
'descr' => $data['descr'],
'min_users' => $data['min_users'],
'min_prices' => $data['min_prices'],
);
// Is the rallye active or not?
switch ($data['is_active']) {
case 'Y':
// Rallye is active so do not edit it!
$row['select'] = "