diff --git a/admin/judges_timeslots.php b/admin/judges_timeslots.php
index ac00113..1e90609 100644
--- a/admin/judges_timeslots.php
+++ b/admin/judges_timeslots.php
@@ -25,172 +25,313 @@
require("../common.inc.php");
require_once("../user.inc.php");
user_auth_required('committee', 'admin');
- send_header("Judging Timeslots",
- array('Committee Main' => 'committee_main.php',
- 'Administration' => 'admin/index.php',
- 'Judges' => 'admin/judges.php')
- );
- echo "
";
- if($_POST['action']=="add" || $_POST['action']=="edit")
- {
- $err=0;
- if($_POST['date_year'] && $_POST['date_month'] && $_POST['date_day'])
- {
- $date=$_POST['date_year'] ."-". $_POST['date_month'] ."-". $_POST['date_day'];
- }
- else
- {
- $err=1;
- echo error(i18n("Date is required"));
+ $round_str = array('timeslot' => 'Judging Timeslot',
+ 'divisional1' => 'Divisional Round 1',
+ 'divisional2' => 'Divisional Round 2',
+ 'grand' => 'Grand Awards',
+ 'special' => 'Special Awards' );
+
+ if(array_key_exists('action',$_POST)) $action = $_POST['action'];
+ else if(array_key_exists('action',$_GET)) $action = $_GET['action'];
+ else $action = '';
+
+ if(array_key_exists('round_id',$_POST)) $round_id = intval($_POST['round_id']);
+ else if(array_key_exists('round_id',$_GET)) $round_id = intval($_GET['round_id']);
+ else $round_id = 0;
+
+ if(array_key_exists('timeslot_id',$_POST)) $timeslot_id = intval($_POST['timeslot_id']);
+ else if(array_key_exists('timeslot_id',$_GET)) $timeslot_id = intval($_GET['timeslot_id']);
+ else $timeslot_id = 0;
+
+ if($action == 'saveround') {
+ $save = true;
+ /* Sanity check all the values */
+ $y = intval($_POST['date_year']);
+ $m = intval($_POST['date_month']);
+ $d = intval($_POST['date_day']);
+ if($y && $m && $d) $date = "$y-$m-$d";
+ else {
+ $save = false;
+ message_push(error(i18n("Date is required")));
}
- if($_POST['starttime_hour'] && $_POST['starttime_minute'])
- {
- $starttime=$_POST['starttime_hour'] .":". $_POST['starttime_minute'].":00";
- }
- else
- {
- $err=1;
- echo error(i18n("Start Time is required"));
+ if(array_key_exists('starttime_hour', $_POST) && array_key_exists('starttime_minute', $_POST)) {
+ $starttime = sprintf("%02d:%02d:00", intval($_POST['starttime_hour']), intval($_POST['starttime_minute']));
+ } else {
+ $save = false;
+ message_push( error(i18n("Start Time is required")));
}
- if($_POST['endtime_hour'] && $_POST['endtime_minute'])
- {
- $endtime=$_POST['endtime_hour'] .":". $_POST['endtime_minute'].":00";
- }
- else
- {
- $err=1;
- echo error(i18n("End Time is required"));
+ if(array_key_exists('endtime_hour', $_POST) && array_key_exists('endtime_minute', $_POST)) {
+ $endtime = sprintf("%02d:%02d:00", intval($_POST['endtime_hour']), intval($_POST['endtime_minute']));
+ } else {
+ $save = false;
+ message_push( error(i18n("End Time is required")));
}
- $allowdivisional=$_POST['allowdivisional'];
- if(!$allowdivisional) $allowdivisional="no";
+ $type = $_POST['type'];
+ if(!array_key_exists($type, $round_str)) {
+ $save = false;
+ message_push(error(i18n('Invalid type specified')));
+ }
- if(!$err)
- {
- if($_POST['action']=="add")
- {
- mysql_query("INSERT INTO judges_timeslots (date,starttime,endtime,year) VALUES ('$date','$starttime','$endtime','".$config['FAIRYEAR']."')");
- echo happy(i18n("New timeslot successfully added"));
+ $round_name = mysql_escape_string(stripslashes($_POST['round_name']));
+
+ if($save == true) {
+ if($round_id == 0) {
+ /* New entry */
+ mysql_query("INSERT INTO judges_timeslots (round_id,year) VALUES('0','{$config['FAIRYEAR']}')");
+ $round_id = mysql_insert_id();
}
- if($_POST['action']=="edit")
- {
- mysql_query("UPDATE judges_timeslots SET `date`='$date', starttime='$starttime', endtime='$endtime', allowdivisional='$allowdivisional' WHERE id='".$_POST['edit']."'");
- echo mysql_error();
- echo happy(i18n("Timeslot successfully saved"));
+
+ mysql_query("UPDATE judges_timeslots SET `date`='$date',
+ starttime='$starttime', endtime='$endtime',
+ `round_name`='$round_name',
+ `type`='$type' WHERE id='$round_id'");
+
+ echo mysql_error();
+ message_push(happy(i18n("Round successfully saved")));
+ $action = '';
+ }
+
+ }
+
+ if($action == 'deleteround') {
+ mysql_query("DELETE FROM judges_timeslots WHERE id='$round_id'");
+ /* Also delete all timeslots */
+ mysql_query("DELETE FROM judges_timeslots WHERE round_id='$round_id'");
+ message_push(happy(i18n("Round successfully removed")));
+ $action = '';
+ }
+ if($action == 'deletetimeslot') {
+ mysql_query("DELETE FROM judges_timeslots WHERE id='$timeslot_id'");
+ message_push(happy(i18n("Timeslot successfully removed")));
+ $action = '';
+ }
+
+ if($action == 'savetimeslot') {
+ $save = true;
+
+ $q = mysql_query("SELECT * FROM judges_timeslots WHERE id='$round_id'");
+ $round_data = mysql_fetch_assoc($q);
+
+ $date = $round_data['date'];
+
+ if(array_key_exists('starttime_hour', $_POST) && array_key_exists('starttime_minute', $_POST)) {
+ $starttime = sprintf("%02d:%02d:00", intval($_POST['starttime_hour']), intval($_POST['starttime_minute']));
+ } else {
+ $save = false;
+ message_push( error(i18n("Start Time is required")));
+ }
+
+ if(array_key_exists('endtime_hour', $_POST) && array_key_exists('endtime_minute', $_POST)) {
+ $endtime = sprintf("%02d:%02d:00", intval($_POST['endtime_hour']), intval($_POST['endtime_minute']));
+ } else {
+ $save = false;
+ message_push( error(i18n("End Time is required")));
+ }
+
+ if($save == true) {
+ if($timeslot_id == 0) {
+ /* New entry */
+ mysql_query("INSERT INTO judges_timeslots (round_id,date,type,year) VALUES('$round_id',
+ '$date','timeslot','{$config['FAIRYEAR']}')");
+ $timeslot_id = mysql_insert_id();
}
+
+ mysql_query("UPDATE judges_timeslots SET starttime='$starttime', endtime='$endtime'
+ WHERE id='$timeslot_id'");
+
+ echo mysql_error();
+ message_push(happy(i18n("Timeslot successfully saved")));
+ $action = '';
}
}
- else if($_POST['action']=="addmultiple")
- {
- if($_POST['addnum'] && $_POST['date_day'] && $_POST['date_month'] && $_POST['date_year'] && $_POST['starttime_hour'] && $_POST['starttime_minute'] && $_POST['duration'] && $_POST['break'])
- {
- $date=$_POST['date_year']."-".$_POST['date_month']."-".$_POST['date_day'];
- $hr=$_POST['starttime_hour'];
- $min=$_POST['starttime_minute'];
- $dur=$_POST['duration'];
- $brk=$_POST['break'];
- $tt=$dur+$brk;
+
+ if($action=='savemultiple') {
+ $save = true;
+
+ $addnum = intval($_POST['addnum']);
+ $duration = intval($_POST['duration'] );
+ $break = intval($_POST['break']);
- if($_POST['allowdivisional']=="yes") $ad="yes"; else $ad="no";
+ if(array_key_exists('starttime_hour', $_POST) && array_key_exists('starttime_minute',$_POST) && $addnum && $duration) {
+
+ $q = mysql_query("SELECT * FROM judges_timeslots WHERE id='$round_id'");
+ $round_data = mysql_fetch_assoc($q);
- for($x=0;$x<$_POST['addnum'];$x++)
- {
- $q=mysql_query("SELECT DATE_ADD('$date $hr:$min:00', INTERVAL $dur MINUTE) AS endtime,
- DATE_ADD('$date $hr:$min:00', INTERVAL $tt MINUTE) AS startnext
- ");
- echo mysql_error();
+ $date = $round_data['date'];
+
+ $hr=intval($_POST['starttime_hour']);
+ $min=intval($_POST['starttime_minute']);
+
+ $tt=$duration+$break;
+
+ for($x=0;$x<$addnum;$x++) {
+ $q=mysql_query("SELECT DATE_ADD('$date $hr:$min:00', INTERVAL $duration MINUTE) AS endtime,
+ DATE_ADD('$date $hr:$min:00', INTERVAL $tt MINUTE) AS startnext ");
+ echo mysql_error();
$r=mysql_fetch_object($q);
list($ed,$et)=split(" ",$r->endtime);
list($nd,$nt)=split(" ",$r->startnext);
- mysql_query("INSERT INTO judges_timeslots (date,starttime,endtime,allowdivisional,year) VALUES (
- '$date',
- '$hr:$min:00',
- '$et',
- '$ad',
- '".$config['FAIRYEAR']."')");
- echo mysql_Error();
+ $starttime = sprintf("%02d:%02d:00", $hr, $min);
+
+ mysql_query("INSERT INTO judges_timeslots (date,type,round_id,starttime,endtime,year) VALUES (
+ '$date','timeslot','{$round_data['id']}',
+ '$starttime', '$et',
+ '{$config['FAIRYEAR']}')");
+ echo mysql_error();
$date=$nd;
list($s_h,$s_m,$s_s)=split(":",$nt);
list($e_h,$e_m,$e_s)=split(":",$et);
- echo happy(i18n("Adding timeslot: %1",array($date." ".$hr.":".$min." - ".$e_h.":".$e_m)));
+ message_push(happy(i18n("Adding timeslot: %1",array("$date $hr:$min - $e_h:$e_m"))));
$hr=$s_h;
$min=$s_m;
}
+ $action = '';
+ } else {
+ message_push(error(i18n("All fields are required to add multiple timeslots")));
}
- else
- echo error(i18n("All fields are required to add multiple timeslots"));
+ }
+
+
+
+ if($action == '') {
+ send_header("Judging Rounds and Timeslots",
+ array('Committee Main' => 'committee_main.php',
+ 'Administration' => 'admin/index.php',
+ 'Judges' => 'admin/judges.php'));
+ } else {
+ send_header("Judging Rounds and Timeslots",
+ array('Committee Main' => 'committee_main.php',
+ 'Administration' => 'admin/index.php',
+ 'Judges' => 'admin/judges.php',
+ 'Judging Rounds and Timeslots' => 'admin/judges_timeslots.php'));
+ }
+ echo "
";
+
+
+ if($action == 'addround' || $action == 'editround') {
+ echo "
".i18n("Date")." | "; echo "".i18n("Start Time")." | "; echo "".i18n("End Time")." | "; - echo "".i18n("Div OK?")." | "; + echo "".i18n("Judging Round")." | "; echo "".i18n("Actions")." | "; echo "||||
---|---|---|---|---|---|---|---|---|---|
$r->id | "; - echo "$r->date | "; - echo "".substr($r->starttime,0,-3)." | "; - echo "".substr($r->endtime,0,-3)." | "; - echo "$r->allowdivisional | "; - + $qq = mysql_query("SELECT * FROM judges_timeslots WHERE round_id='{$r->id}' ORDER BY `date`,`starttime`"); + $c = mysql_num_rows($qq) +1; + echo "$r->date | "; + echo "".substr($r->starttime,0,-3)." "; + + echo " | ";
+ echo "".substr($r->endtime,0,-3)." | "; + echo "{$r->round_name} (".i18n($round_str[$r->type]).") | "; echo "";
- echo "id\">";
+ echo "id}\">";
echo " ";
- echo "id\">";
+ echo "id}\">";
+ echo "id}\">(new) ";
+ echo "id}\">(multiple) "; echo " | \n";
-
echo "
"; + echo " | ".substr($rr->starttime,0,-3)." | "; + echo "".substr($rr->endtime,0,-3)." | "; + echo "".i18n($round_str[$rr->type])." | "; + + + echo ""; + echo "id}×lot_id={$rr->id}\">"; + echo " "; + echo "id}\">"; + + echo " | \n"; + echo "