Webservice update data created
This commit is contained in:
parent
da14cf4623
commit
ae94d42fdf
9 changed files with 990 additions and 624 deletions
|
|
@ -29,7 +29,8 @@ function lesson_in_lessons($obj, $array) {
|
|||
$obj->teacher == $array[$n]->teacher &&
|
||||
$obj->subject == $array[$n]->subject &&
|
||||
$obj->class == $array[$n]->class &&
|
||||
$obj->room == $array[$n]->room) return true;
|
||||
$obj->room == $array[$n]->room &&
|
||||
$obj->type == $array[$n]->type) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
@ -120,20 +121,23 @@ class timetable {
|
|||
$sql = "$this->type = '$this->name' AND NOT lessonid=0 AND (mid(week, $this->week, 1) = '1')";
|
||||
$result = $DB->get_records_select('timetable_lesson',$sql);
|
||||
foreach ($result as $lesson) {
|
||||
$lesson->type = "normal";
|
||||
if (!lesson_in_lessons($lesson, $this->lessons[$lesson->day][$lesson->period]))
|
||||
$this->lessons[$lesson->day][$lesson->period][] = new lesson($lesson);
|
||||
}
|
||||
$sql = "$this->type = '$this->name' AND lessonid=0 AND (mid(week, $this->week, 1) = '1')";
|
||||
$result = $DB->get_records_select('timetable_lesson',$sql);
|
||||
foreach ($result as $lesson) {
|
||||
if (!lesson_in_lessons($lesson, $this->lessons_event[$lesson->day][$lesson->period]))
|
||||
$this->lessons_event[$lesson->day][$lesson->period][] = new lesson($lesson);
|
||||
$lesson->type = "event";
|
||||
if (!lesson_in_lessons($lesson, $this->lessons[$lesson->day][$lesson->period]))
|
||||
$this->lessons[$lesson->day][$lesson->period][] = new lesson($lesson);
|
||||
}
|
||||
$sql = "$this->type = '$this->name' and (mid(week, $this->week, 1) = 'x')";
|
||||
$result = $DB->get_records_select('timetable_lesson',$sql);
|
||||
foreach ($result as $lesson) {
|
||||
if (!lesson_in_lessons($lesson, $this->lessons_canceled[$lesson->day][$lesson->period]))
|
||||
$this->lessons_canceled[$lesson->day][$lesson->period][] = new lesson($lesson);
|
||||
$lesson->type = "canceled";
|
||||
if (!lesson_in_lessons($lesson, $this->lessons[$lesson->day][$lesson->period]))
|
||||
$this->lessons[$lesson->day][$lesson->period][] = new lesson($lesson);
|
||||
}
|
||||
|
||||
$day = new \DateTime($this->monday->format('Y-m-d\TH:i:sP'));
|
||||
|
|
@ -144,12 +148,6 @@ class timetable {
|
|||
foreach ($this->lessons[$i+1][$substitution->period] as $lesson) {
|
||||
$lesson->process_substitution($substitution);
|
||||
}
|
||||
foreach ($this->lessons_canceled[$i+1][$substitution->period] as $lesson) {
|
||||
$lesson->process_substitution($substitution);
|
||||
}
|
||||
foreach ($this->lessons_event[$i+1][$substitution->period] as $lesson) {
|
||||
$lesson->process_substitution($substitution);
|
||||
}
|
||||
}
|
||||
|
||||
$types = array('teacher'=>'L', 'class'=>'K', 'room'=>'R');
|
||||
|
|
@ -157,8 +155,8 @@ class timetable {
|
|||
$result = $DB->get_records_select('timetable_absence',$sql);
|
||||
foreach ($result as $absence) {
|
||||
for ($j=$absence->startperiod; $j<=$absence->endperiod; $j++) {
|
||||
foreach ($this->lessons_event[$i+1][$j] as $lesson) {
|
||||
$lesson->process_absence($absence);
|
||||
foreach ($this->lessons[$i+1][$j] as $lesson) {
|
||||
if ($lesson->type == 'event') $lesson->process_absence($absence);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -168,7 +166,7 @@ class timetable {
|
|||
|
||||
for ($i=0; $i<$this->numdayweek; $i++) {
|
||||
foreach($this->lessons[$i+1] as &$lessons) $lessons = collapse_lessons($lessons);
|
||||
foreach($this->lessons_canceled[$i+1] as &$lessons) $lessons = collapse_lessons($lessons);
|
||||
// not to be done for events???
|
||||
}
|
||||
|
||||
if ($this->type == 'teacher') {
|
||||
|
|
@ -191,10 +189,6 @@ class timetable {
|
|||
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;
|
||||
}
|
||||
|
|
@ -226,40 +220,6 @@ class timetable {
|
|||
$days[$day] = array();
|
||||
$days[$day]['substitutionold'] = "";
|
||||
$days[$day]['lessons'] = array();
|
||||
foreach ($this->lessons_event[$day+1][$period+1] as $lesson) {
|
||||
$mylesson = array();
|
||||
$mylesson['class'] = $lesson->class;
|
||||
$mylesson['teacher'] = $lesson->teacher;
|
||||
$mylesson['room'] = $lesson->room;
|
||||
$mylesson['subject'] = $lesson->subject;
|
||||
$mylesson['classa'] = $lesson->classa;
|
||||
$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;
|
||||
}
|
||||
foreach ($this->lessons[$day+1][$period+1] as $lesson) {
|
||||
$mylesson = array();
|
||||
$mylesson['class'] = $lesson->class;
|
||||
|
|
@ -286,52 +246,25 @@ class timetable {
|
|||
$mylesson['flag'] = "";
|
||||
$mylesson['text'] = $lesson->text;
|
||||
$mylesson['subtype'] = Array();
|
||||
if ($lesson->type) {
|
||||
if ($lesson->subtype) {
|
||||
for ($i=0; $i<32; $i++) {
|
||||
if ($lesson->type & (1<<$i)) $mylesson['subtype'][] = $i+1;
|
||||
if ($lesson->subtype & (1<<$i)) $mylesson['subtype'][] = $i+1;
|
||||
}
|
||||
}
|
||||
$days[$day]['substitutionold'] .= $lesson->text;
|
||||
$days[$day]['lessons'][] = $mylesson;
|
||||
}
|
||||
foreach ($this->lessons_canceled[$day+1][$period+1] as $lesson) {
|
||||
$mylesson = array();
|
||||
$mylesson['class'] = $lesson->class;
|
||||
$mylesson['teacher'] = $lesson->teacher;
|
||||
$mylesson['room'] = $lesson->room;
|
||||
$mylesson['subject'] = $lesson->subject;
|
||||
$mylesson['classa'] = $lesson->classa;
|
||||
$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;
|
||||
}
|
||||
if ($lesson->type == 'event') {
|
||||
$mylesson['event'] = $lesson->reason ? $lesson->reason : "Event";
|
||||
$mylesson['status'] = "1";
|
||||
$mylesson['flag'] = "1";
|
||||
} elseif ($lesson->type == 'canceled') {
|
||||
$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['status'] = "1";
|
||||
$mylesson['flag'] = "1"; // status und flag werden vertauscht (im Template bzw. extern-lib.php
|
||||
}
|
||||
$days[$day]['substitutionold'] .= $lesson->text;
|
||||
$days[$day]['lessons'][] = $mylesson;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue