summaryrefslogtreecommitdiffstats
path: root/modules-available/locationinfo/inc/coursebackend/coursebackend_hisinone.inc.php
diff options
context:
space:
mode:
authorDirk Riestere2017-03-05 18:34:10 +0100
committerDirk Riestere2017-03-05 18:34:10 +0100
commit9281cdb24e3892f3126538e10a4c435f7a885068 (patch)
treea019c6b94e361c00a5e2274156a54816e924e35f /modules-available/locationinfo/inc/coursebackend/coursebackend_hisinone.inc.php
parentCheckconnection prüft jetzt ob eine url existiert, array exeption sollten je... (diff)
downloadslx-admin-9281cdb24e3892f3126538e10a4c435f7a885068.tar.gz
slx-admin-9281cdb24e3892f3126538e10a4c435f7a885068.tar.xz
slx-admin-9281cdb24e3892f3126538e10a4c435f7a885068.zip
Checkconnection prüft jetzt ob eine url existiert, array exeption sollten jetzt gefangen werden und die credentials werden gleich getestet
Diffstat (limited to 'modules-available/locationinfo/inc/coursebackend/coursebackend_hisinone.inc.php')
-rw-r--r--modules-available/locationinfo/inc/coursebackend/coursebackend_hisinone.inc.php72
1 files changed, 39 insertions, 33 deletions
diff --git a/modules-available/locationinfo/inc/coursebackend/coursebackend_hisinone.inc.php b/modules-available/locationinfo/inc/coursebackend/coursebackend_hisinone.inc.php
index cd479b9a..fdd3421e 100644
--- a/modules-available/locationinfo/inc/coursebackend/coursebackend_hisinone.inc.php
+++ b/modules-available/locationinfo/inc/coursebackend/coursebackend_hisinone.inc.php
@@ -297,7 +297,7 @@ class CourseBackend_HisInOne extends CourseBackend
$timetable = json_encode($timetable);
} catch (Exception $e) {
$this->error = true;
- $this->errormsg = $e->getMessage();
+ $this->errormsg = "url returns a wrong xml";
}
return $timetable;
}
@@ -333,41 +333,24 @@ class CourseBackend_HisInOne extends CourseBackend
}
$ttables = [];
$currentWeek = $this->getCurrentWeekDates();
- foreach ($param as $room) {
- $timetable = array();
- //Here I go over the soapresponse
- foreach ($events as $event) {
- $title = $event['hisunit']['hisplanelements']['hisplanelement'][0]['hisdefaulttext'];
- foreach ($event as $subject) {
- $units = $subject['hisplanelements']['hisplanelement'];
- foreach ($units as $unit) {
- $pdates = $unit['hisplannedDates']['hisplannedDate'];
- //there seems to be a bug that gives more than one individualDates in plannedDate
- //this construction catches it
- if (array_key_exists('hisindividualDates', $pdates)) {
- $dates = $pdates['hisindividualDates']['hisindividualDate'];
- foreach ($dates as $date) {
- $roomID = $date['hisroomId'];
- $datum = $date['hisexecutiondate'];
- if (intval($roomID) == $room && in_array($datum, $currentWeek)) {
- $startTime = $date['hisstarttime'];
- $endTime = $date['hisendtime'];
- $json = array(
- 'title' => $title,
- 'start' => $datum . " " . $startTime,
- 'end' => $datum . " " . $endTime
- );
- array_push($timetable, $json);
- }
- }
- } else {
- foreach ($pdates as $dates2) {
- $dates = $dates2['hisindividualDates']['hisindividualDate'];
+ try {
+ foreach ($param as $room) {
+ $timetable = array();
+ //Here I go over the soapresponse
+ foreach ($events as $event) {
+ $title = $event['hisunit']['hisplanelements']['hisplanelement'][0]['hisdefaulttext'];
+ foreach ($event as $subject) {
+ $units = $subject['hisplanelements']['hisplanelement'];
+ foreach ($units as $unit) {
+ $pdates = $unit['hisplannedDates']['hisplannedDate'];
+ //there seems to be a bug that gives more than one individualDates in plannedDate
+ //this construction catches it
+ if (array_key_exists('hisindividualDates', $pdates)) {
+ $dates = $pdates['hisindividualDates']['hisindividualDate'];
foreach ($dates as $date) {
$roomID = $date['hisroomId'];
$datum = $date['hisexecutiondate'];
if (intval($roomID) == $room && in_array($datum, $currentWeek)) {
-
$startTime = $date['hisstarttime'];
$endTime = $date['hisendtime'];
$json = array(
@@ -378,12 +361,35 @@ class CourseBackend_HisInOne extends CourseBackend
array_push($timetable, $json);
}
}
+ } else {
+ foreach ($pdates as $dates2) {
+ $dates = $dates2['hisindividualDates']['hisindividualDate'];
+ foreach ($dates as $date) {
+ $roomID = $date['hisroomId'];
+ $datum = $date['hisexecutiondate'];
+ if (intval($roomID) == $room && in_array($datum, $currentWeek)) {
+
+ $startTime = $date['hisstarttime'];
+ $endTime = $date['hisendtime'];
+ $json = array(
+ 'title' => $title,
+ 'start' => $datum . " " . $startTime,
+ 'end' => $datum . " " . $endTime
+ );
+ array_push($timetable, $json);
+ }
+ }
+ }
}
}
}
}
+ $ttables[$room] = json_encode($timetable);
}
- $ttables[$room] = json_encode($timetable);
+ }
+ catch (Exception $e){
+ $this->error = true;
+ $this->errormsg = "url returns a wrong xml";
}
return $ttables;
}