0)
{
// Delete selected rallyes and all it's data
foreach (REQUEST_POST('sel') as $id => $sel)
{
// Remove selected rallye entirely...
SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_data` WHERE id=%s LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__);
SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE rallye_id=%s",
array(bigintval($id)), __FILE__, __LINE__);
SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE rallye_id=%s",
array(bigintval($id)), __FILE__, __LINE__);
}
// Output message
$MSG = RALLYE_DELETED;
}
else
{
// No rallye selected to delete!
$MSG = RALLYE_DELETE_NOTHING_SELECTED;
}
}
elseif (REQUEST_ISSET_POST(('change')))
{
// Change rallye
$SEL = SELECTION_COUNT(REQUEST_POST('title'));
if ($SEL > 0)
{
// 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
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__);
}
// Output message
$MSG = RALLYE_CHANGED;
}
}
if (REQUEST_ISSET_POST(('edit'))) {
// Check for selections
$SEL = SELECTION_COUNT(REQUEST_POST('sel'));
if ($SEL > 0) {
// Make all selected and deactivated rallyes editable
$SW = 2; $OUT = "";
foreach (REQUEST_POST('sel') as $id => $sel) {
// 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__);
list($title, $descr, $templ, $start, $end, $min_users, $min_prices) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
// Starting day
$content['s_sec'] = ADD_SELECTION("sec" , date("s", $start), "start", $id);
$content['s_min'] = ADD_SELECTION("min" , date("i", $start), "start", $id);
$content['s_hour'] = ADD_SELECTION("hour" , date("G", $start), "start", $id);
$content['s_day'] = ADD_SELECTION("day" , date("d", $start), "start", $id);
$content['s_month'] = ADD_SELECTION("month", date("m", $start), "start", $id);
$content['s_year'] = ADD_SELECTION("year" , date('Y', $start), "start", $id);
// Ending day
$content['e_sec'] = ADD_SELECTION("sec" , date("s", $end) , "end" , $id);
$content['e_min'] = ADD_SELECTION("min" , date("i", $end) , "end" , $id);
$content['e_hour'] = ADD_SELECTION("hour" , date("G", $end) , "end" , $id);
$content['e_day'] = ADD_SELECTION("day" , date("d", $end) , "end" , $id);
$content['e_month'] = ADD_SELECTION("month", date("m", $end) , "end" , $id);
$content['e_year'] = ADD_SELECTION("year" , date('Y', $end) , "end" , $id);
// Remember over values
$content['templ'] = RALLYE_TEMPLATE_SELECTION("templ[".$id."]", $templ);
$content['sw'] = $SW;
$content['id'] = $id;
$content['title'] = $title;
$content['descr'] = $descr;
$content['min_users'] = $min_users;
$content['min_prices'] = $min_prices;
// 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",
array(bigintval(REQUEST_GET('rallye'))), __FILE__, __LINE__);
if (SQL_NUMROWS($result) > 0)
{
$SW = 2; $OUT = "";
define('__RALLYE_VALUE', REQUEST_GET('rallye'));
while (list($uid, $old, $opoints) = SQL_FETCHROW($result))
{
// Check for referal count
$cnt = RALLYE_GET_REFCOUNT($uid, $old);
// Output row
$Bl = ""; $Br = "";
if (($opoints > 0) && ($cnt > 0)) { $Bl = ""; $Br = ""; }
if (($old > 0) || ($cnt > 0)) {
// Insert link to referal list
//* DEBUG: */ echo "-".$uid."/".$cnt."/".$old."-
";
$cnt = ADMIN_USER_PROFILE_LINK($uid, $cnt, "list_refs");
$old = ADMIN_USER_PROFILE_LINK($uid, $old, "list_refs");
}
// Get user points
$points = GET_TOTAL_DATA($uid, "user_points", "points", "userid", false, " AND ref_depth=1 LIMIT 1");
//* DEBUG: */ echo basename(__FILE__).":uid={$uid},points={$points},opoints={$opoints}
\n";
$content = array(
'sw' => $SW ,
'uid' => $uid,
'bold_l' => $Bl ,
'bold_r' => $Br ,
'old' => $old,
'cnt' => $cnt,
'opoints' => TRANSLATE_COMMA($points - $opoints),
);
$OUT .= LOAD_TEMPLATE("admin_list_rallye_usr_row", true, $content);
$SW = 3 - $SW;
}
// 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, 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
$SW = 2; $OUT = "";
while (list($id, $aid, $title, $descr, $templ, $start, $end, $auto_add, $active, $notify, $notified, $min_users, $min_prices) = SQL_FETCHROW($result)) {
// Load admin login
$alogin = GET_ADMIN_LOGIN($aid);
// Count assigned prices
$result_prices = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_rallye_prices` WHERE rallye_id=%s",
array(bigintval($id)), __FILE__, __LINE__);
// Count joined userids
$result_user = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE rallye_id=%s",
array($id), __FILE__, __LINE__);
$joined = SQL_NUMROWS($result_user);
// Did some users joined this rallye?
if ($joined > 0) {
// List joined users
$joined = "".$joined."";
}
// Alter some variables
if (empty($alogin)) $alogin = "???";
if (empty($templ)) $templ = "---";
if (empty($descr)) $descr = "---";
// Transfer data into array for the template
$content = array(
'select' => "",
'aid' => $aid,
'email_link' => CREATE_EMAIL_LINK($aid),
'alogin' => $alogin,
'id' => $id,
'sw' => $SW,
'title' => $title,
'template' => $templ,
'joined' => $joined,
'start_date' => MAKE_DATETIME($start, "2"),
'end_date' => MAKE_DATETIME($end , "2"),
'active_lnk' => TRANSLATE_YESNO($active),
'notify_lnk' => TRANSLATE_YESNO($notify),
'auto_lnk' => TRANSLATE_YESNO($auto_add),
'notified' => TRANSLATE_YESNO($notified),
'prices_cnt' => SQL_NUMROWS($result_prices),
'descr' => COMPILE_CODE($descr),
'min_users' => $min_users,
'min_prices' => $min_prices,
);
// Free memory
SQL_FREERESULT($result_prices);
SQL_FREERESULT($result_user);
// Is the rallye active or not?
switch ($active)
{
case "Y":
// Rallye is active so do not edit it!
$content['select'] = "