0)
{
// Delete selected rallyes and all it's data
foreach ($_POST['sel'] as $id=>$sel)
{
// Remove selected rallye entirely...
$result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_data WHERE id=%d LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__);
$result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_prices WHERE rallye_id=%d",
array(bigintval($id)), __FILE__, __LINE__);
$result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%d",
array(bigintval($id)), __FILE__, __LINE__);
}
// Output message
$MSG = RALLYE_DELETED;
}
else
{
// No rallye selected to delete!
$MSG = RALLYE_DELETE_NOTHING_SELECTED;
}
}
elseif (isset($_POST['change']))
{
// Change rallye
$SEL = SELECTION_COUNT($_POST['title']);
if ($SEL > 0)
{
// Change selected rallyes and all it's data
foreach ($_POST['title'] as $id=>$title)
{
// Secure ID number
$id = bigintval($id);
// Generate timestamps
$START = mktime($_POST['start_hour'][$id], $_POST['start_min'][$id], $_POST['start_sec'][$id], $_POST['start_month'][$id], $_POST['start_day'][$id], $_POST['start_year'][$id]);
$END = mktime($_POST['end_hour'][$id] , $_POST['end_min'][$id] , $_POST['end_sec'][$id] , $_POST['end_month'][$id] , $_POST['end_day'][$id] , $_POST['end_year'][$id] );
// Update entry
$result = 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, $_POST['descr'][$id], $_POST['templ'][$id], bigintval($START), bigintval($END), bigintval($_POST['min_users'][$id]), bigintval($_POST['min_prices'][$id]), $id),
__FILE__, __LINE__);
}
// Output message
$MSG = RALLYE_CHANGED;
}
}
if (isset($_POST['edit']))
{
// Check for selections
$SEL = SELECTION_COUNT($_POST['sel']);
if ($SEL > 0)
{
// Make all selected and deactivated rallyes editable
$SW = 2; $OUT = "";
foreach ($_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=%d 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 (($_GET['sub'] == "users") && ($_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=%d ORDER BY userid",
array(bigintval($_GET['rallye'])), __FILE__, __LINE__);
if (SQL_NUMROWS($result) > 0)
{
$SW = 2; $OUT = "";
define('__RALLYE_VALUE', $_GET['rallye']);
while (list($uid, $old, $opoints) = SQL_FETCHROW($result))
{
// Check for referral 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 referral list
//* DEBUG: */ echo "-".$uid."/".$cnt."/".$old."-
";
$cnt = ADMIN_USER_PROFILE_LINK($uid, $cnt, "list_refs");
$old = ADMIN_USER_PROFILE_LINK($uid, $old, "list_refs");
}
$content = array(
'sw' => $SW ,
'uid' => $uid,
'bold_l' => $Bl ,
'bold_r' => $Br ,
'old' => $old,
'cnt' => $cnt,
'opoints' => TRANSLATE_COMMA($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=%d",
array(bigintval($id)), __FILE__, __LINE__);
// Count joined userids
$result_user = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_rallye_users WHERE rallye_id=%d",
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'] = "".$id."";
$content['active_title'] = RALLYE_DEACTIVATE_NOW;
$content['active'] = "0";
break;
case 'N':
$content['active_title'] = RALLYE_ACTIVATE_NOW;
$content['active'] = "1";
break;
}
// Notification to members?
switch ($notify)
{
case 'Y':
$content['notify_title'] = RALLYE_STOP_NOTIFY_NOW;
$content['notify'] = "0";
break;
case 'N':
$content['notify_title'] = RALLYE_START_NOTIFY_NOW;
$content['notify'] = "1";
break;
}
// Auto-add of new joined members?
switch ($auto_add)
{
case 'Y':
$content['auto_title'] = RALLYE_STOP_AUTO_ADD_NOW;
$content['auto'] = "0";
break;
case 'N':
$content['auto_title'] = RALLYE_START_AUTO_ADD_NOW;
$content['auto'] = "1";
break;
}
// Output row
$OUT .= LOAD_TEMPLATE("admin_list_rallyes_row", true, $content);
$SW = 3 - $SW;
}
// Free memory
SQL_FREERESULT($result);
define('__RALLYE_ROWS', $OUT);
// Load template
LOAD_TEMPLATE("admin_list_rallyes");
}
else
{
// No rallyes setup so far
LOAD_TEMPLATE("admin_settings_saved", false, RALLYE_NO_RALLYES_SETUP);
}
}
//
?>