forked from science-ation/science-ation
Implement start hour and end hour for schedule view
Implement event duration height calculations
This commit is contained in:
parent
44fd9bea1f
commit
80fc39bf7f
@ -25,8 +25,24 @@
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('committee', 'admin');
|
||||
if($_GET['date']) {
|
||||
$date=$_GET['date'];
|
||||
|
||||
$ROWHEIGHT=20;
|
||||
$BORDERSIZE=2;
|
||||
|
||||
if($_POST['date']) {
|
||||
$date=$_POST['date'];
|
||||
$starthour=$_POST['starthour'];
|
||||
$endhour=$_POST['endhour'];
|
||||
|
||||
//do some sanity checks
|
||||
if($starthour<0 || $starthour>24) $starthour=7;
|
||||
if($endhour<$starthour)
|
||||
$endhour=$starthour+10;
|
||||
if($endhour<0 || $endhour>24) $endhour=17;
|
||||
|
||||
//minute increment
|
||||
$increment=15;
|
||||
|
||||
if(!eregi("[0-9]{4}-[0-9]{2}-[0-9]{2}",$date)) {
|
||||
echo "Invalid date";
|
||||
exit;
|
||||
@ -48,9 +64,6 @@
|
||||
foreach($locations AS $id=>$name) {
|
||||
echo " <th>$name</th>\n";
|
||||
}
|
||||
$starthour="7";
|
||||
$endhour="22";
|
||||
$increment=15;
|
||||
for($h=$starthour;$h<$endhour;$h++) {
|
||||
for($m=0;$m<60;$m+=$increment) {
|
||||
echo "<tr>";
|
||||
@ -83,10 +96,10 @@
|
||||
//they will be moved by javascript after the fact
|
||||
$q=mysql_query("SELECT * FROM schedule WHERE conferences_id='{$conference['id']}' AND date='{$date}'");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<div class=\"scheduleevent\" id=\"event_{$r->hour}_{$r->minute}_{$r->locations_id}\">";
|
||||
echo "<div class=\"scheduleevent\" id=\"event_{$r->id}\">";
|
||||
print_r($r);
|
||||
echo "</div>";
|
||||
$js.="eventdivs[$x]={hour:$r->hour,minute:$r->minute,location:$r->locations_id,duration:$r->duration};\n";
|
||||
$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";
|
||||
@ -108,7 +121,7 @@
|
||||
});
|
||||
|
||||
function changeDate() {
|
||||
$("#schedulediv").load("schedule.php?date="+$("#date").val(),null,function() {
|
||||
$("#schedulediv").load("schedule.php",{date:$("#date").val(),starthour:$("#starthour").val(),endhour:$("#endhour").val()},function() {
|
||||
placeEvents();
|
||||
});
|
||||
}
|
||||
@ -126,11 +139,17 @@
|
||||
|
||||
function placeEvents() {
|
||||
$('.scheduleevent').each(function(idx,item) {
|
||||
var tablecellid=item.id.substr(6);
|
||||
var eventid=item.id.substr(6);
|
||||
var eventobj=eventdivs[eventid];
|
||||
|
||||
var tablecellid=eventobj.hour+'_'+eventobj.minute+'_'+eventobj.location;
|
||||
|
||||
var eheight=((eventobj.duration/15)*<?=$ROWHEIGHT?>)-<? echo $BORDERSIZE*2; ?>;
|
||||
|
||||
var p=$("#"+tablecellid).offset();
|
||||
$("#"+item.id).css(p);
|
||||
$("#"+item.id).show();
|
||||
$("#"+item.id).height(eheight);
|
||||
}
|
||||
);
|
||||
}
|
||||
@ -142,10 +161,13 @@
|
||||
}
|
||||
?>
|
||||
<form method="post">
|
||||
<?
|
||||
echo i18n("Schedule date");
|
||||
?>
|
||||
<? echo i18n("Schedule date"); ?>
|
||||
<input id="date" class="date" type="text" name="date" value="<?=$editdate?>" size="15" onchange="changeDate()">
|
||||
<? echo i18n("Start hour")." ";
|
||||
emit_hour_selector("starthour",7,"onchange=\"changeDate()\"");
|
||||
echo i18n("End hour")." ";
|
||||
emit_hour_selector("endhour",17,"onchange=\"changeDate()\"");
|
||||
?>
|
||||
</form>
|
||||
<hr />
|
||||
<div id="schedulediv">
|
||||
|
Loading…
Reference in New Issue
Block a user