CSS and logic updates
This commit is contained in:
parent
52f3f359af
commit
c000c8f7b7
5 changed files with 297 additions and 78 deletions
|
|
@ -43,6 +43,16 @@ class lesson {
|
|||
$this->subjecta = "";
|
||||
$this->classa = "";
|
||||
$this->rooma = "";
|
||||
//$this->teacherb = "";
|
||||
//$this->subjectb = "";
|
||||
//$this->classb = "";
|
||||
//$this->roomb = "";
|
||||
$this->teacherchanged = false;
|
||||
$this->subjectchanged = false;
|
||||
$this->classchanged = false;
|
||||
$this->roomchanged = false;
|
||||
$this->reason = "";
|
||||
$this->type = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -50,39 +60,43 @@ class lesson {
|
|||
* @param object $substitution Substitution
|
||||
*/
|
||||
public function process_substitution($substitution) {
|
||||
// echo "Entering substitution! $this->teacher, $this->subject, $this->class, $this->room \n\t $substitution->teacherb, $substitution->subjectb, $substitution->classb, $substitution->roomb\n";
|
||||
if (//$this->lessonid == $substitution->lesson &&
|
||||
$this->teacher == $substitution->teacherb &&
|
||||
$this->subject == $substitution->subjectb &&
|
||||
$this->class == $substitution->classb &&
|
||||
$this->room == $substitution->roomb) {
|
||||
//preg_match("(^|~)$this->teacher($|~)", $substitution->teacherb) &&
|
||||
//preg_match("(^|~)$this->subject($|~)", $substitution->subjectb) &&
|
||||
//preg_match("(^|~)$this->class($|~)", $substitution->classb) &&
|
||||
//preg_match("(^|~)$this->room($|~)", $substitution->roomb)) {
|
||||
|
||||
preg_match("/(^|~)".preg_quote($this->class,"/")."($|~)/", $substitution->classb) &&
|
||||
preg_match("/(^|~)".preg_quote($this->room,"/")."($|~)/", $substitution->roomb) ) {
|
||||
|
||||
// Append change info
|
||||
// if (!preg_match("(^|~)$this->teacher($|~)", $substitution->teachera)) $this->teachera = $substitution->teachera;
|
||||
// if (!preg_match("(^|~)$this->subject($|~)", $substitution->subjecta)) $this->subjecta = $substitution->subjecta;
|
||||
// if (!preg_match("(^|~)$this->class($|~)" , $substitution->classa )) $this->classa = $substitution->classa;
|
||||
// if (!preg_match("(^|~)$this->room($|~)" , $substitution->rooma )) $this->rooma = $substitution->rooma;
|
||||
if ($this->teacher != $substitution->teachera) $this->teachera = $substitution->teachera;
|
||||
if ($this->subject != $substitution->subjecta) $this->subjecta = $substitution->subjecta;
|
||||
if ($this->class != $substitution->classa ) $this->classa = $substitution->classa;
|
||||
if ($this->room != $substitution->rooma ) $this->rooma = $substitution->rooma;
|
||||
$this->teachera = $substitution->teachera;
|
||||
$this->subjecta = $substitution->subjecta;
|
||||
$this->classa = $substitution->classa;
|
||||
$this->rooma = $substitution->rooma;
|
||||
$this->teacherchanged = ($this->teacher != $this->teachera) ? true : false;
|
||||
$this->subjectchanged = ($this->subject != $this->subjecta) ? true : false;
|
||||
$this->classchanged = (!preg_match("/(^|~)".preg_quote($this->class,"/")."($|~)/" , $this->classa )) ? true : false;
|
||||
$this->roomchanged = (!preg_match("/(^|~)".preg_quote($this->room,"/")."($|~)/" , $this->rooma )) ? true : false;
|
||||
if ($substitution->text) $this->text .= $substitution->text;
|
||||
// echo "In substitution! $this->teachera, $this->subjecta, $this->classa, $this->rooma\n";
|
||||
$this->type = $substitution->type;
|
||||
$this->substitution = "1";
|
||||
return 1;
|
||||
} elseif (//$this->lessonid == $substitution->lesson &&
|
||||
$this->teacher == $substitution->teachera &&
|
||||
$this->subject == $substitution->subjecta &&
|
||||
$this->class == $substitution->classa &&
|
||||
$this->room == $substitution->rooma) {
|
||||
$this->teacher == $substitution->teachera &&
|
||||
$this->subject == $substitution->subjecta &&
|
||||
preg_match("/(^|~)".preg_quote($this->class,"/")."($|~)/", $substitution->classa) &&
|
||||
preg_match("/(^|~)".preg_quote($this->room,"/")."($|~)/", $substitution->rooma) ) {
|
||||
// Append change info
|
||||
$this->teacherb = $substitution->teacherb;
|
||||
$this->subjectb = $substitution->subjectb;
|
||||
$this->classb = $substitution->classb;
|
||||
$this->roomb = $substitution->roomb;
|
||||
$this->teacherchanged = ($this->teacher != $this->teacherb) ? true : false;
|
||||
$this->subjectchanged = ($this->subject != $this->subjectb) ? true : false;
|
||||
$this->classchanged = (!preg_match("/(^|~)".preg_quote($this->class,"/")."($|~)/" , $this->classb )) ? true : false;
|
||||
$this->roomchanged = (!preg_match("/(^|~)".preg_quote($this->room,"/")."($|~)/" , $this->roomb )) ? true : false;
|
||||
if ($substitution->text) $this->text .= $substitution->text;
|
||||
$this->type .= $substitution->type;
|
||||
// echo "In substitution! $this->teachera, $this->subjecta, $this->classa, $this->rooma\n";
|
||||
#$this->substitution = "1";
|
||||
// TODO Entfall, falls teacherb!=teacher bzw. class not in classb bzw. roomb!=room TODO
|
||||
$this->type = $substitution->type;
|
||||
$this->substitution = "1";
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -189,17 +189,32 @@ class timetable {
|
|||
$this->times = $DB->get_records_select('timetable_time',$sql);
|
||||
}
|
||||
|
||||
public function get_periodmax() {
|
||||
//$maxperiod = get_config('timetable', 'numperiod');
|
||||
$maxperiod = 0;
|
||||
for ($i=0; $i<$this->numdayweek; $i++) {
|
||||
foreach($this->lessons[$i+1] as $period => $lessons)
|
||||
if ($period > $maxperiod && count($lessons)) $maxperiod = $period;
|
||||
foreach($this->lessons_canceled[$i+1] as $period => $lessons)
|
||||
if ($period > $maxperiod && count($lessons)) $maxperiod = $period;
|
||||
foreach($this->lessons_event[$i+1] as $period => $lessons)
|
||||
if ($period > $maxperiod && count($lessons)) $maxperiod = $period;
|
||||
}
|
||||
return $maxperiod;
|
||||
}
|
||||
|
||||
public function prepare_output() {
|
||||
$resultdata = array();
|
||||
|
||||
$numperiod = get_config('timetable', 'numperiod');
|
||||
if ($this->periodmax > $numperiod) $numperiod = $this->periodmax;
|
||||
$numperiod = 13;
|
||||
$numperiod = max($this->get_periodmax(), get_config('timetable', 'numperiod'));
|
||||
|
||||
$numdayweek = 5 + get_config('timetable', 'saturday');
|
||||
if ($numdayweek == 6) $resultdata['saturday'] = 1; else $resultdata['saturday'] = 0;
|
||||
|
||||
$resultdata['type'] = $this->type;
|
||||
$resultdata['viewteacher'] = ($this->type == 'teacher') ? "1" : "";;
|
||||
$resultdata['viewclass'] = ($this->type == 'class') ? "1" : "";;
|
||||
$resultdata['viewroom'] = ($this->type == 'room') ? "1" : "";;
|
||||
$resultdata['name'] = $this->name;
|
||||
$resultdata['description'] = $this->description;
|
||||
$resultdata['date'] = $this->monday->format('d.m') . " - " . $this->lastday->format('d.m');
|
||||
|
|
@ -225,12 +240,27 @@ class timetable {
|
|||
$mylesson['teachera'] = $lesson->teachera;
|
||||
$mylesson['rooma'] = $lesson->rooma;
|
||||
$mylesson['subjecta'] = $lesson->subjecta;
|
||||
$mylesson['classb'] = property_exists($lesson,'classb') ? $lesson->classb : null;
|
||||
$mylesson['teacherb'] = property_exists($lesson,'teacherb') ? $lesson->teacherb : null;
|
||||
$mylesson['roomb'] = property_exists($lesson,'roomb') ? $lesson->roomb : null;
|
||||
$mylesson['subjectb'] = property_exists($lesson,'subjectb') ? $lesson->subjectb : null;
|
||||
$mylesson['subjectchanged'] = $lesson->subjectchanged;
|
||||
$mylesson['teacherchanged'] = $lesson->teacherchanged;
|
||||
$mylesson['classchanged'] = $lesson->classchanged;
|
||||
$mylesson['roomchanged'] = $lesson->roomchanged;
|
||||
$mylesson['substitution'] = $lesson->substitution;
|
||||
$mylesson['cancel'] = "";
|
||||
$mylesson['cancel4me'] = "";
|
||||
$mylesson['event'] = $lesson->reason ? $lesson->reason : "Event";
|
||||
$mylesson['status'] = "1";
|
||||
$mylesson['flag'] = "1";
|
||||
$mylesson['text'] = $lesson->text;
|
||||
$mylesson['subtype'] = Array();
|
||||
if ($lesson->type) {
|
||||
for ($i=0; $i<32; $i++) {
|
||||
if ($lesson->type & (1<<$i)) $mylesson['subtype'][] = $i+1;
|
||||
}
|
||||
}
|
||||
$days[$day]['substitutionold'] .= $lesson->text;
|
||||
$days[$day]['lessons'][] = $mylesson;
|
||||
}
|
||||
|
|
@ -244,12 +274,27 @@ class timetable {
|
|||
$mylesson['teachera'] = $lesson->teachera;
|
||||
$mylesson['rooma'] = $lesson->rooma;
|
||||
$mylesson['subjecta'] = $lesson->subjecta;
|
||||
$mylesson['classb'] = property_exists($lesson,'classb') ? $lesson->classb : null;
|
||||
$mylesson['teacherb'] = property_exists($lesson,'teacherb') ? $lesson->teacherb : null;
|
||||
$mylesson['roomb'] = property_exists($lesson,'roomb') ? $lesson->roomb : null;
|
||||
$mylesson['subjectb'] = property_exists($lesson,'subjectb') ? $lesson->subjectb : null;
|
||||
$mylesson['substitution'] = $lesson->substitution;
|
||||
$mylesson['subjectchanged'] = $lesson->subjectchanged;
|
||||
$mylesson['teacherchanged'] = $lesson->teacherchanged;
|
||||
$mylesson['classchanged'] = $lesson->classchanged;
|
||||
$mylesson['roomchanged'] = $lesson->roomchanged;
|
||||
$mylesson['cancel'] = "";
|
||||
$mylesson['cancel4me'] = "";
|
||||
$mylesson['event'] = "";
|
||||
$mylesson['status'] = "";
|
||||
$mylesson['flag'] = "";
|
||||
$mylesson['text'] = $lesson->text;
|
||||
$mylesson['subtype'] = Array();
|
||||
if ($lesson->type) {
|
||||
for ($i=0; $i<32; $i++) {
|
||||
if ($lesson->type & (1<<$i)) $mylesson['subtype'][] = $i+1;
|
||||
}
|
||||
}
|
||||
$days[$day]['substitutionold'] .= $lesson->text;
|
||||
$days[$day]['lessons'][] = $mylesson;
|
||||
}
|
||||
|
|
@ -263,12 +308,33 @@ class timetable {
|
|||
$mylesson['teachera'] = $lesson->teachera;
|
||||
$mylesson['rooma'] = $lesson->rooma;
|
||||
$mylesson['subjecta'] = $lesson->subjecta;
|
||||
$mylesson['classb'] = property_exists($lesson,'classb') ? $lesson->classb : null;
|
||||
$mylesson['teacherb'] = property_exists($lesson,'teacherb') ? $lesson->teacherb : null;
|
||||
$mylesson['roomb'] = property_exists($lesson,'roomb') ? $lesson->roomb : null;
|
||||
$mylesson['subjectb'] = property_exists($lesson,'subjectb') ? $lesson->subjectb : null;
|
||||
$mylesson['substitution'] = $lesson->substitution;
|
||||
$mylesson['cancel'] = "1";
|
||||
$mylesson['cancel4me'] = "";
|
||||
if (($lesson->teacherchanged && $this->type == 'teacher') ||
|
||||
($lesson->classchanged && $this->type == 'class') ||
|
||||
($lesson->roomchanged && $this->type == 'room')) $mylesson['cancel4me'] = "cancel4me";
|
||||
$mylesson['subjectchanged'] = $lesson->subjectchanged;
|
||||
$mylesson['teacherchanged'] = $lesson->teacherchanged;
|
||||
$mylesson['classchanged'] = $lesson->classchanged;
|
||||
$mylesson['roomchanged'] = $lesson->roomchanged;
|
||||
#if ((property_exists($lesson,'teacherb') && $this->type == 'teacher') ||
|
||||
# (property_exists($lesson,'classb') && $this->type == 'class') ||
|
||||
# (property_exists($lesson,'roomb') && $this->type == 'room')) $mylesson['cancel4me'] = "cancel4me";
|
||||
$mylesson['event'] = "";
|
||||
$mylesson['status'] = "1";
|
||||
$mylesson['flag'] = "1"; // status und flag werden vertauscht (im Template bzw. extern-lib.php
|
||||
$mylesson['text'] = $lesson->text;
|
||||
$mylesson['subtype'] = Array();
|
||||
if ($lesson->type) {
|
||||
for ($i=0; $i<32; $i++) {
|
||||
if ($lesson->type & (1<<$i)) $mylesson['subtype'][] = $i+1;
|
||||
}
|
||||
}
|
||||
$days[$day]['substitutionold'] .= $lesson->text;
|
||||
$days[$day]['lessons'][] = $mylesson;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue