forked from science-ation/science-ation
Add schedule view for school access, allow schools to register teams for events
This commit is contained in:
parent
41efbd89b0
commit
e5d9460d73
@ -1 +1 @@
|
|||||||
183
|
184
|
||||||
|
7
db/db.update.184.sql
Normal file
7
db/db.update.184.sql
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
CREATE TABLE `schedule_registrations` (
|
||||||
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
|
||||||
|
`schedule_id` INT NOT NULL ,
|
||||||
|
`so_teams_id` INT NOT NULL ,
|
||||||
|
`dt` DATETIME NOT NULL ,
|
||||||
|
`conferences_id` INT NOT NULL
|
||||||
|
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
|
@ -59,6 +59,7 @@ function draw_dashboard(){
|
|||||||
}else if($conference['type'] == 'scienceolympics'){
|
}else if($conference['type'] == 'scienceolympics'){
|
||||||
echo '<li><a href="schoolstudents.php">' . i18n("Manage Students") . "</a></li>\n";
|
echo '<li><a href="schoolstudents.php">' . i18n("Manage Students") . "</a></li>\n";
|
||||||
echo '<li><a href="schoolteams.php">' . i18n("Manage Teams") . "</a></li>\n";
|
echo '<li><a href="schoolteams.php">' . i18n("Manage Teams") . "</a></li>\n";
|
||||||
|
echo '<li><a href="schoolschedule.php">' . i18n("Register Teams for Events") . "</a></li>\n";
|
||||||
}
|
}
|
||||||
echo '<li><a href="schoolfeedback.php">' . i18n("School Feedback / Questions") . "</a></li>";
|
echo '<li><a href="schoolfeedback.php">' . i18n("School Feedback / Questions") . "</a></li>";
|
||||||
echo "</ul>\n";
|
echo "</ul>\n";
|
||||||
|
252
schoolschedule.php
Normal file
252
schoolschedule.php
Normal file
@ -0,0 +1,252 @@
|
|||||||
|
<?
|
||||||
|
/*
|
||||||
|
This file is part of the 'Science Fair In A Box' project
|
||||||
|
SFIAB Website: http://www.sfiab.ca
|
||||||
|
|
||||||
|
Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
|
||||||
|
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public
|
||||||
|
License as published by the Free Software Foundation, version 2.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; see the file COPYING. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<?
|
||||||
|
require("common.inc.php");
|
||||||
|
|
||||||
|
if($_SESSION['schoolid'] && $_SESSION['schoolaccesscode']){
|
||||||
|
// we're logged in, make sure the school is good
|
||||||
|
$q=mysql_query("SELECT * FROM schools WHERE id='".$_SESSION['schoolid']."' AND accesscode='".$_SESSION['schoolaccesscode']."'");
|
||||||
|
echo mysql_error();
|
||||||
|
$school=mysql_fetch_object($q);
|
||||||
|
if($school) {
|
||||||
|
|
||||||
|
$ROWHEIGHT=20;
|
||||||
|
$BORDERSIZE=2;
|
||||||
|
|
||||||
|
if($_GET['action']=="loadschedule") {
|
||||||
|
$date=$_POST['date'];
|
||||||
|
|
||||||
|
//cant change this
|
||||||
|
$q=mysql_query("SELECT MIN(hour) AS minhour, MAX(hour) AS maxhour, CEIL(MAX(hour)+duration/60) AS maxfinish FROM schedule WHERE conferences_id='{$conference['id']}' AND date='{$date}'");
|
||||||
|
$parameters=mysql_fetch_object($q);
|
||||||
|
|
||||||
|
$starthour=$parameters->minhour;
|
||||||
|
$endhour=$parameters->maxfinish;
|
||||||
|
|
||||||
|
//do some sanity checks
|
||||||
|
if($starthour<0 || $starthour>24) $starthour=8;
|
||||||
|
if($endhour<$starthour)
|
||||||
|
$endhour=$starthour+10;
|
||||||
|
if($endhour<0 || $endhour>24) $endhour=15;
|
||||||
|
|
||||||
|
//minute increment
|
||||||
|
$increment=15;
|
||||||
|
|
||||||
|
if(!eregi("[0-9]{4}-[0-9]{2}-[0-9]{2}",$date)) {
|
||||||
|
echo "Invalid date";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
echo "<h3>".i18n("Schedule for %1",array(format_date($date)))."</h3>";
|
||||||
|
$q=mysql_query("SELECT * FROM locations WHERE conferences_id='{$conference['id']}' ORDER BY name");
|
||||||
|
while($r=mysql_fetch_object($q)) {
|
||||||
|
$locations[$r->id]=$r->name;
|
||||||
|
}
|
||||||
|
if(!count($locations)) {
|
||||||
|
echo error(i18n("There are no locations defined."));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<table class=\"schedule\" id=\"schedule\">\n";
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<th style=\"width: 50px;\"> </th>";
|
||||||
|
foreach($locations AS $id=>$name) {
|
||||||
|
echo " <th>$name</th>\n";
|
||||||
|
}
|
||||||
|
for($h=$starthour;$h<$endhour;$h++) {
|
||||||
|
for($m=0;$m<60;$m+=$increment) {
|
||||||
|
echo "<tr>";
|
||||||
|
echo " <td class=\"scheduletime\">";
|
||||||
|
if($m==0) {
|
||||||
|
echo format_time("$h:$m");
|
||||||
|
}
|
||||||
|
echo "</td>";
|
||||||
|
foreach($locations AS $id=>$name) {
|
||||||
|
echo "<td id=\"{$h}_{$m}_{$id}\">";
|
||||||
|
echo "</td>";
|
||||||
|
}
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</table>\n";
|
||||||
|
|
||||||
|
$js="var eventdivs=new Array();\n";
|
||||||
|
|
||||||
|
//now make all our DIV's for the events that are scheduled in the database
|
||||||
|
$x=0;
|
||||||
|
//they will be moved by javascript after the fact
|
||||||
|
$q=mysql_query("SELECT schedule.*, events.name, events.eventtype FROM schedule JOIN events ON schedule.events_id=events.id WHERE schedule.conferences_id='{$conference['id']}' AND date='{$date}'");
|
||||||
|
echo mysql_error();
|
||||||
|
while($r=mysql_fetch_object($q)) {
|
||||||
|
echo "<div class=\"scheduleevent scheduleevent_{$r->eventtype}\" id=\"event_{$r->id}\" onclick=\"viewEvent($r->id)\">";
|
||||||
|
echo "<span class=\"scheduleevent_title\">";
|
||||||
|
echo $r->title;
|
||||||
|
echo "</span>";
|
||||||
|
echo "<br />";
|
||||||
|
$starttime=strtotime($r->hour.":".$r->minute);
|
||||||
|
$endtime=$starttime+$r->duration*60;
|
||||||
|
echo format_time($starttime);
|
||||||
|
echo " to ";
|
||||||
|
echo format_time($endtime);
|
||||||
|
|
||||||
|
if($r->eventtype=="scienceolympic") {
|
||||||
|
echo "<br />";
|
||||||
|
echo i18n("Capacity").": ";
|
||||||
|
//FIXME: get # actually registered
|
||||||
|
$regteams=0;
|
||||||
|
|
||||||
|
$maxteams=$r->somaxteams;
|
||||||
|
echo i18n("%1 of %2",array($regteams,$maxteams));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "</div>";
|
||||||
|
$js.="eventdivs[$r->id]={hour:$r->hour,minute:$r->minute,location:$r->locations_id,duration:$r->duration};\n";
|
||||||
|
$x++;
|
||||||
|
}
|
||||||
|
echo "<script type=\"text/javascript\">\n";
|
||||||
|
echo $js;
|
||||||
|
echo "</script>";
|
||||||
|
}
|
||||||
|
else if($_GET['action']=="loadevent") {
|
||||||
|
}
|
||||||
|
else if($_GET['action']=="saveevent") {
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
send_header("Event Registration",
|
||||||
|
array('Committee Main' => 'committee_main.php',
|
||||||
|
'Administration' => 'admin/index.php',
|
||||||
|
'Events & Scheduling' => 'admin/eventsscheduling.php'),
|
||||||
|
"events_scheduling" );
|
||||||
|
echo "<br />";
|
||||||
|
?>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
$(".date").datepicker({ dateFormat: 'yy-mm-dd' });
|
||||||
|
changeDate();
|
||||||
|
|
||||||
|
/* Setup the editor dialog */
|
||||||
|
$("#event_dialog").dialog({
|
||||||
|
bgiframe: true, autoOpen: false,
|
||||||
|
modal: true, resizable: false,
|
||||||
|
draggable: false,
|
||||||
|
buttons: {
|
||||||
|
"<?=i18n('Close')?>": function() {
|
||||||
|
$(this).dialog("close");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(window).resize(function() {
|
||||||
|
placeEvents();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
function changeDate() {
|
||||||
|
$("#schedulediv").load("schoolschedule.php?action=loadschedule",{date:$("#date").val()},function() {
|
||||||
|
placeEvents();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function placeEvents() {
|
||||||
|
$('.scheduleevent').each(function(idx,item) {
|
||||||
|
var eventid=item.id.substr(6);
|
||||||
|
var eventobj=eventdivs[eventid];
|
||||||
|
|
||||||
|
var tablecellid=eventobj.hour+'_'+eventobj.minute+'_'+eventobj.location;
|
||||||
|
|
||||||
|
if($("#"+tablecellid).length) {
|
||||||
|
var eheight=((eventobj.duration/15)*<?=$ROWHEIGHT?>)-<? echo $BORDERSIZE*2; ?>;
|
||||||
|
var ewidth=$("#"+tablecellid).width()-<? echo $BORDERSIZE; ?>;
|
||||||
|
var p=$("#"+tablecellid).offset();
|
||||||
|
$("#"+item.id).css(p);
|
||||||
|
$("#"+item.id).show();
|
||||||
|
$("#"+item.id).height(eheight);
|
||||||
|
$("#"+item.id).width(ewidth);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$("#"+item.id).hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
var scheduleId;
|
||||||
|
function viewEvent(id) {
|
||||||
|
scheduleId=id;
|
||||||
|
if(id) {
|
||||||
|
var eventobj=eventdivs[id];
|
||||||
|
$("#event_dialog").dialog('option','title','Event Information');
|
||||||
|
$("#event_dialog").dialog('option','width',600);
|
||||||
|
$("#event_dialog").dialog('option','height',400);
|
||||||
|
$("#event_dialog").dialog('open');
|
||||||
|
$("#event_tabs").tabs('select',0);
|
||||||
|
update_tab_summary();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveEvent() {
|
||||||
|
var o=$("#edit_event_form").serializeArray();
|
||||||
|
//alert(o);
|
||||||
|
$("#debug").load("schoolschedule.php?action=saveevent",o,function() {
|
||||||
|
changeDate();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<?
|
||||||
|
$q=mysql_query("SELECT DISTINCT(date) AS date FROM schedule WHERE conferences_id='{$conference['id']}' ORDER BY date");
|
||||||
|
$dates=array();
|
||||||
|
while($r=mysql_fetch_object($q)) {
|
||||||
|
$dates[]=$r->date;
|
||||||
|
}
|
||||||
|
if(count($dates))
|
||||||
|
$editdate=$dates[0];
|
||||||
|
else
|
||||||
|
list($editdate,$bla)=explode(" ",$config['dates']['fairdate']);
|
||||||
|
|
||||||
|
echo "<form method=\"post\">\n";
|
||||||
|
echo i18n("Schedule date").": ";
|
||||||
|
echo "<select id=\"date\" name=\"date\" onchange=\"changeDate()\">";
|
||||||
|
foreach($dates AS $d) {
|
||||||
|
echo "<option value=\"$d\">".format_date($d)."</option>\n";
|
||||||
|
}
|
||||||
|
echo "</select>";
|
||||||
|
echo "</form>\n";
|
||||||
|
?>
|
||||||
|
<hr />
|
||||||
|
<div id="schedulediv">
|
||||||
|
</div>
|
||||||
|
<div id="event_dialog">
|
||||||
|
<? include "schoolschedule_event_dialog.php"; ?>
|
||||||
|
</div>
|
||||||
|
<?
|
||||||
|
|
||||||
|
send_footer();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
47
schoolschedule_event_dialog.php
Normal file
47
schoolschedule_event_dialog.php
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
$("#event_tabs").tabs({
|
||||||
|
show: function(event, ui) {
|
||||||
|
switch(ui.panel.id) {
|
||||||
|
case 'event_tab_summary':
|
||||||
|
update_tab_summary();
|
||||||
|
break;
|
||||||
|
case 'event_tab_register':
|
||||||
|
update_tab_register();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selected: 0
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function update_tab_summary() {
|
||||||
|
$("#event_tab_summary").load("schoolschedule_event_tab.php?action=load&tab=summary&id="+scheduleId,null,function() { });
|
||||||
|
}
|
||||||
|
|
||||||
|
function update_tab_register() {
|
||||||
|
if(scheduleId) {
|
||||||
|
$("#event_tab_register").load("schoolschedule_event_tab.php?action=load&tab=register&id="+scheduleId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function registerSchedule(teamid,scheduleid,action) {
|
||||||
|
$("#debug").load("schoolschedule_event_tab.php?action=register",{teamid:teamid, scheduleid:scheduleid, regaction:action}, function() {
|
||||||
|
update_tab_register();
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div id="event_tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#event_tab_summary"><span><?=i18n('Event Summary')?></span></a></li>
|
||||||
|
<li><a href="#event_tab_register"><span><?=i18n('Register')?></span></a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="event_tab_summary">
|
||||||
|
</div>
|
||||||
|
<div id="event_tab_register">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
202
schoolschedule_event_tab.php
Normal file
202
schoolschedule_event_tab.php
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
<?
|
||||||
|
/*
|
||||||
|
This file is part of the 'Science Fair In A Box' project
|
||||||
|
SFIAB Website: http://www.sfiab.ca
|
||||||
|
|
||||||
|
Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
|
||||||
|
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public
|
||||||
|
License as published by the Free Software Foundation, version 2.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; see the file COPYING. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<?
|
||||||
|
require("common.inc.php");
|
||||||
|
|
||||||
|
function getTeamEventStatus($teamid,$scheduleid) {
|
||||||
|
global $conference;
|
||||||
|
$q=mysql_query("SELECT * FROM schedule_registrations WHERE so_teams_id='$teamid' AND schedule_id='$scheduleid' AND conferences_id='{$conference['id']}'");
|
||||||
|
|
||||||
|
//we use registered/notregistered insetad of true/false becuase we might haevf other statuses down the line, like "waitinglist"
|
||||||
|
if(mysql_num_rows($q)) {
|
||||||
|
return "registered";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return "notregistered";
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNumRegistrations($scheduleid) {
|
||||||
|
global $conference;
|
||||||
|
$q=mysql_query("SELECT COUNT(*) AS num FROM schedule_registrations WHERE schedule_id='$scheduleid' AND conferences_id='{$conference['id']}'");
|
||||||
|
$r=mysql_fetch_object($q);
|
||||||
|
return $r->num;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($_SESSION['schoolid'] && $_SESSION['schoolaccesscode']){
|
||||||
|
// we're logged in, make sure the school is good
|
||||||
|
$q=mysql_query("SELECT * FROM schools WHERE id='".$_SESSION['schoolid']."' AND accesscode='".$_SESSION['schoolaccesscode']."'");
|
||||||
|
echo mysql_error();
|
||||||
|
$school=mysql_fetch_object($q);
|
||||||
|
if($school) {
|
||||||
|
switch($_GET['action']) {
|
||||||
|
case "load":
|
||||||
|
$id=intval($_GET['id']);
|
||||||
|
$q=mysql_query("SELECT schedule.*,
|
||||||
|
events.eventtype,
|
||||||
|
events.website,
|
||||||
|
events.summary,
|
||||||
|
events.name,
|
||||||
|
locations.name AS location
|
||||||
|
FROM schedule
|
||||||
|
JOIN events ON schedule.events_id=events.id
|
||||||
|
JOIN locations ON schedule.locations_id=locations.id
|
||||||
|
WHERE schedule.conferences_id='{$conference['id']}'
|
||||||
|
AND schedule.id='{$id}'");
|
||||||
|
echo mysql_error();
|
||||||
|
$r=mysql_fetch_object($q);
|
||||||
|
if($r->title!=$r->name) {
|
||||||
|
$name="($r->name)";
|
||||||
|
}
|
||||||
|
echo "<h3>$r->title $name</h3>";
|
||||||
|
|
||||||
|
switch($_GET['tab']) {
|
||||||
|
case "summary":
|
||||||
|
echo "<table width=\"95%\" class=\"tableview\">";
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<th>".i18n("Time")."</th>\n";
|
||||||
|
echo "<th>".i18n("Duration")."</th>\n";
|
||||||
|
echo "<th>".i18n("Location")."</th>\n";
|
||||||
|
echo "</tr>\n";
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".format_time(strtotime($r->hour.":".$r->minute))."</td>\n";
|
||||||
|
echo "<td>$r->duration minutes</td>\n";
|
||||||
|
echo "<td>$r->location</td>\n";
|
||||||
|
echo "</tr></table>\n";
|
||||||
|
echo "<br />";
|
||||||
|
echo "<h4>".i18n("Summary")."</h4>\n";
|
||||||
|
echo nl2br(trim($r->summary));
|
||||||
|
echo "<br />\n";
|
||||||
|
echo "<br />\n";
|
||||||
|
|
||||||
|
if($r->website) {
|
||||||
|
echo "<a target=\"_blank\" href=\"$r->website\">".i18n("Click here for the full event description")."</a> <br />\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case "register":
|
||||||
|
$regteams=getNumRegistrations($r->id);
|
||||||
|
echo i18n("Current capacity: %1 of %2 Teams",array($regteams,$r->somaxteams));
|
||||||
|
echo "<br />";
|
||||||
|
echo "<br />";
|
||||||
|
echo i18n("Your school's teams").": <br />";
|
||||||
|
echo "<table class=\"summarytable\" style=\"width: 90%;\">";
|
||||||
|
echo "<tr>";
|
||||||
|
echo " <th>".i18n("Team Name")."</th>";
|
||||||
|
echo " <th>".i18n("Current Status")."</th>";
|
||||||
|
echo " <th>".i18n("Action")."</th>";
|
||||||
|
echo "</tr>";
|
||||||
|
|
||||||
|
//FIXME: replace when jacob fixes the so_teams table
|
||||||
|
//$query="SELECT * FROM so_teams WHERE schools_id='{$school->id}' AND conferences_id='{$conference['id']}'";
|
||||||
|
$query="SELECT * FROM so_teams WHERE schools_id='{$school->id}'";
|
||||||
|
$tq=mysql_query($query);
|
||||||
|
|
||||||
|
echo mysql_error();
|
||||||
|
while($team=mysql_fetch_object($tq)) {
|
||||||
|
$status=getTeamEventStatus($team->id,$r->id);
|
||||||
|
if($status=="registered") {
|
||||||
|
$cl="class=\"happy\"";
|
||||||
|
$statusmsg=i18n("Registered");
|
||||||
|
$buttonmsg=i18n("Un-Register");
|
||||||
|
$action="unregister";
|
||||||
|
} else {
|
||||||
|
$cl="class=\"error\"";
|
||||||
|
$statusmsg=i18n("Not Registered");
|
||||||
|
$buttonmsg=i18n("Register");
|
||||||
|
$action="register";
|
||||||
|
}
|
||||||
|
echo "<tr><td>$team->name</td>";
|
||||||
|
echo "<td $cl>$statusmsg</td>";
|
||||||
|
echo "<td style=\"text-align: center;\"><input type=\"button\" value=\"$buttonmsg\" onclick=\"return registerSchedule($team->id,$r->id,'$action')\"></td>";
|
||||||
|
echo "</tr>\n";
|
||||||
|
}
|
||||||
|
echo "</table>\n";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case "register":
|
||||||
|
$teamid=intval($_POST['teamid']);
|
||||||
|
$scheduleid=intval($_POST['scheduleid']);
|
||||||
|
$conferenceid=$conference['id'];
|
||||||
|
|
||||||
|
$q=mysql_query("SELECT schedule.*,
|
||||||
|
events.eventtype,
|
||||||
|
events.website,
|
||||||
|
events.summary,
|
||||||
|
events.name,
|
||||||
|
locations.name AS location
|
||||||
|
FROM schedule
|
||||||
|
JOIN events ON schedule.events_id=events.id
|
||||||
|
JOIN locations ON schedule.locations_id=locations.id
|
||||||
|
WHERE schedule.conferences_id='{$conference['id']}'
|
||||||
|
AND schedule.id='{$scheduleid}'");
|
||||||
|
$schedule=mysql_fetch_object($q);
|
||||||
|
echo mysql_error();
|
||||||
|
|
||||||
|
|
||||||
|
switch($_POST['regaction']) {
|
||||||
|
case "register":
|
||||||
|
$q=mysql_query("SELECT * FROM schedule_registrations WHERE so_teams_id=$teamid AND schedule_id=$scheduleid AND conferences_id=$conferenceid");
|
||||||
|
if(mysql_num_rows($q)) {
|
||||||
|
error_("This team is already registered for this scheduled event");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$regteams=getNumRegistrations($scheduleid);
|
||||||
|
if($regteams<$schedule->somaxteams) {
|
||||||
|
mysql_query("INSERT INTO schedule_registrations (schedule_id, so_teams_id, conferences_id, dt) VALUES ('$scheduleid','$teamid','$conferenceid',NOW())");
|
||||||
|
happy_("Successfully registered the team for this scheduled event");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
error_("This event has reached its capacity and can no longer be registered for");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "unregister":
|
||||||
|
$q=mysql_query("SELECT * FROM schedule_registrations WHERE so_teams_id=$teamid AND schedule_id=$scheduleid AND conferences_id=$conferenceid");
|
||||||
|
if(mysql_num_rows($q)) {
|
||||||
|
mysql_query("DELETE FROM schedule_registrations WHERE so_teams_id='$teamid' AND schedule_id='$scheduleid' AND conferences_id='$conferenceid'");
|
||||||
|
happy_("Successfully unregistered the team from this scheduled event");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
error_("This team is not registered for this scheduled event, and thus, cannot be unregistered");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "Invalid school";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "Invalid school id or access code";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
@ -154,7 +154,7 @@ a:hover {
|
|||||||
.summarytable {
|
.summarytable {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
border-spacing: 0px;
|
border-spacing: 0px;
|
||||||
border: 2px solid black;
|
border: 1px solid black;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin-left: 30px;
|
margin-left: 30px;
|
||||||
@ -163,7 +163,7 @@ a:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.summarytable th {
|
.summarytable th {
|
||||||
border: 2px solid black;
|
border: 1px solid black;
|
||||||
background-color: #5C6F90;
|
background-color: #5C6F90;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
@ -179,7 +179,7 @@ a:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.summarytable td {
|
.summarytable td {
|
||||||
border: 2px solid black;
|
border: 1px solid black;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user