From 90209ec35d95294673110c9c05b5f0291a4c5592 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 26 Nov 2018 18:05:53 +0100 Subject: [PATCH] Reihungstestverwaltung new features MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Auto set Anmeldefrist on datum-change - Added Fakultäten/All Bachelor/ All Master/ All degree-Programs to autocomplete - New right reihungstestOeffentlich to save boolean "oeffentlich" - Copy of date also copies rooms an studienplans - Beautify error-/success messages --- vilesci/stammdaten/reihungstestverwaltung.php | 334 +++++++++++++--- .../reihungstestverwaltung_autocomplete.php | 366 +++++++++++++----- 2 files changed, 534 insertions(+), 166 deletions(-) diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index 0f43094c2..a9577cfc6 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -53,10 +53,8 @@ require_once('../../include/organisationsform.class.php'); require_once('../../include/gruppe.class.php'); require_once('../../include/variable.class.php'); -// @todo Allgemein: Beim kopieren auch die Studienplanzuordnungen übernehmen -// "Teilgenommen" und "Punkte" werden immer mit false bzw. 0 gespeichert -define('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND', 5); +// "Teilgenommen" und "Punkte" werden immer mit false bzw. 0 gespeichert if (!$db = new basis_db()) { @@ -121,6 +119,9 @@ if(!$rechte->isBerechtigt('lehre/reihungstest')) $studiengang = new studiengang(); $studiengang->getAll('typ, kurzbz', false); +$types = new studiengang(); +$types->getAllTypes(); +$typ = ''; $studiensemester = new Studiensemester(); $studiensemester->getAll('desc'); @@ -582,6 +583,30 @@ if(isset($_GET['excel'])) '; + $messageSuccess .= '

Daten wurden erfolgreich gespeichert

'; } else - echo 'Fehler beim Speichern der Raumzuordnung: '.$db->convert_html_chars($reihungstest->errormsg).''; + $messageError .= '

Fehler beim Speichern der Raumzuordnung: '.$db->convert_html_chars($reihungstest->errormsg).'

'; } else - echo 'Der Raum '.$_POST['ort_kurzbz'].' ist bereits diesem Reihungstest zugeteilt'; + $messageError .= '

Der Raum '.$_POST['ort_kurzbz'].' ist bereits diesem Reihungstest zugeteilt

'; } else die($rechte->errormsg); } } - if (isset($_POST['studienplan_id']) && $_POST['studienplan_id']!='') + if (isset($_POST['studienplan_id']) && $_POST['studienplan_id'] != '') { - $rt_stpl = new reihungstest(); - $rt_stpl->new = true; - $rt_stpl->reihungstest_id = $reihungstest->reihungstest_id; - $rt_stpl->studienplan_id = $_POST['studienplan_id']; - - if ($rt_stpl->saveStudienplanReihungstest()) + $rt_stplaeneArray = array(); + // Studienpläne laden um nicht doppelt zu speichern + $rt_stplaene = new reihungstest(); + $rt_stplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id); + foreach ($rt_stplaene->result as $key => $value) { - echo 'Daten wurden erfolgreich gespeichert '; + $rt_stplaeneArray[] = $value->studienplan_id; + } + + // Es können mehrere Studienpläne übergeben werden + $studienplaeneArr = explode(',', $_POST['studienplan_id']); + $error = false; + foreach ($studienplaeneArr AS $studienplan) + { + $rt_stpl = new reihungstest(); + $rt_stpl->new = true; + $rt_stpl->reihungstest_id = $reihungstest->reihungstest_id; + $rt_stpl->studienplan_id = $studienplan; + + if (!in_array($studienplan, $rt_stplaeneArray)) + { + if (!$rt_stpl->saveStudienplanReihungstest()) + { + $messageError .= '

Fehler beim Speichern des Studienplans: '.$db->convert_html_chars($rt_stpl->errormsg).'

'; + $error = true; + } + } + } + if ($error == false) + { + $messageSuccess .= '

Daten wurden erfolgreich gespeichert

'; } - else - echo 'Fehler beim Speichern des Studienplans: '.$db->convert_html_chars($rt_stpl->errormsg).''; } $reihungstest_id = $reihungstest->reihungstest_id; $stg_kz = $reihungstest->studiengang_kz; $studiensemester_kurzbz = $reihungstest->studiensemester_kurzbz; + // Beim kopieren auch die zugeteilten Studienpläne übernehmen + if (isset($_POST['reihungstest_id']) && isset($_POST['kopieren'])) + { + $rt_studienplan = new reihungstest(); + $rt_studienplan->getStudienplaeneReihungstest($_POST['reihungstest_id']); + $error = false; + foreach ($rt_studienplan->result as $row) + { + $rtKopieStudienplan = new reihungstest(); + $rtKopieStudienplan->new = true; + $rtKopieStudienplan->reihungstest_id = $reihungstest_id; + $rtKopieStudienplan->studienplan_id = $row->studienplan_id; + if (!$rtKopieStudienplan->saveStudienplanReihungstest()) + $error = true; + } + if ($error == true) + $messageError .= '

Fehler beim übernehmen der Studienpläne

'; + } + // Beim kopieren auch die zugeteilten Räume übernehmen + if (isset($_POST['reihungstest_id']) && isset($_POST['kopieren'])) + { + $rtOrt = new reihungstest(); + $rtOrt->getOrteReihungstest($_POST['reihungstest_id']); + $error = false; + foreach ($rtOrt->result as $row) + { + $rtKopieOrt = new reihungstest(); + $rtKopieOrt->new = true; + $rtKopieOrt->reihungstest_id = $reihungstest_id; + $rtKopieOrt->ort_kurzbz = $row->ort_kurzbz; + $rtKopieOrt->uid = ''; + if (!$rtKopieOrt->saveOrtReihungstest()) + $error = true; + } + if ($error == true) + $messageError .= '

Fehler beim übernehmen der Raumzuteilungen

'; + } + if ($reihungstest->new == true) + { + if (isset($_POST['kopieren'])) + { + $messageSuccess .= '

Der Termin wurde erfolgreich kopiert

'; + } + else + { + $messageSuccess .= '

Neuer Reihungstesttermin erfolgreich angelegt

'; + } + } + else + { + $messageSuccess .= '

Daten wurden erfolgreich gespeichert

'; + } } else { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; + $messageError .= '

Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).'

'; } } $neu=false; @@ -1104,15 +1285,15 @@ if(isset($_POST['raumzuteilung_speichern'])) $raumzuteilung->reihungstest_id = $load_person->reihungstest_id; $raumzuteilung->person_id = $key; $raumzuteilung->ort_kurzbz = $_POST['raumzuteilung']; - $raumzuteilung->updateamum = date('Y-m-d H:i:s'); - $raumzuteilung->updatevon = $user; + $raumzuteilung->updateamum = date('Y-m-d H:i:s'); + $raumzuteilung->updatevon = $user; } else die('PersonID '.$key.' hat keine korrekte Zuordnung -> Abbruch'); if (!$raumzuteilung->savePersonReihungstest()) { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; + $messageError .= '

Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).'

'; } } } @@ -1134,16 +1315,16 @@ if(isset($_GET['type']) && $_GET['type']=='savertpunkte') $rtperson->punkte = str_replace(',','.',$rtpunkte); $rtperson->new = false; $rtperson->teilgenommen = true; - $rtperson->updateamum = date('Y-m-d H:i:s'); - $rtperson->updatevon = $user; + $rtperson->updateamum = date('Y-m-d H:i:s'); + $rtperson->updatevon = $user; if(!$rtperson->savePersonReihungstest()) { - echo 'Fehler:'.$rtperson->errormsg.''; + $messageError .= '

Fehler:'.$rtperson->errormsg.'

'; } } else { - echo '
Sie haben keine Berechtigung zur Uebernahme der Punkte fuer '.$db->convert_html_chars($row->nachname).' '.$db->convert_html_chars($row->vorname).'
'; + $messageError .= '


Sie haben keine Berechtigung zur Uebernahme der Punkte fuer '.$db->convert_html_chars($row->nachname).' '.$db->convert_html_chars($row->vorname).'

'; } } @@ -1211,7 +1392,7 @@ if(isset($_GET['type']) && $_GET['type']=='saveallrtpunkte') } if($errormsg!='') { - echo ''.$db->convert_html_chars($errormsg).''; + $messageError .= '

'.$db->convert_html_chars($errormsg).'

'; } } } @@ -1290,7 +1471,7 @@ if(isset($_GET['type']) && $_GET['type']=='verteilen') if (!$raumzuteilung->savePersonReihungstest()) { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($raumzuteilung->errormsg).''; + $messageError .= '

Fehler beim Speichern der Daten: '.$db->convert_html_chars($raumzuteilung->errormsg).'

'; } $counter++; @@ -1303,7 +1484,7 @@ if(isset($_GET['type']) && $_GET['type']=='verteilen') } else { - echo 'Nicht genug Raumkapazität vorhanden'; + $messageError .= '

Nicht genug Raumkapazität vorhanden

'; } } @@ -1379,7 +1560,7 @@ if(isset($_GET['type']) && $_GET['type']=='auffuellen') if (!$raumzuteilung->savePersonReihungstest()) { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($raumzuteilung->errormsg).''; + $messageError .= '

Fehler beim Speichern der Daten: '.$db->convert_html_chars($raumzuteilung->errormsg).'

'; } $counter++; @@ -1421,7 +1602,7 @@ if(isset($_POST['aufsicht']) && $_POST['aufsicht']!='' && !isset($_POST['kopiere $benutzer = new benutzer(); if ($uid!='' && !$benutzer->load($uid)) - echo 'Die UID '.$value.' konnte nicht gefunden werden'; + $messageError .= '

Die UID '.$value.' konnte nicht gefunden werden

'; else { $save_aufsicht->new = false; @@ -1430,7 +1611,7 @@ if(isset($_POST['aufsicht']) && $_POST['aufsicht']!='' && !isset($_POST['kopiere $save_aufsicht->uid = $uid; if (!$save_aufsicht->saveOrtReihungstest()) { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; + $messageError .= '

Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).'

'; } } } @@ -1455,10 +1636,10 @@ if(isset($_POST['delete_ort'])) if (count($delete_ort->result) == 0) { if (!$delete_ort->deleteOrtReihungstest($_POST['reihungstest_id'], $_POST['delete_ort'])) - echo 'Fehler beim löschen der Raumzuordnung: '.$db->convert_html_chars($reihungstest->errormsg).''; + $messageError .= '

Fehler beim löschen der Raumzuordnung: '.$db->convert_html_chars($reihungstest->errormsg).'

'; } else - echo 'Dem Raum '.$_POST['delete_ort'].' sind noch '.count($delete_ort->result).' Personen zugeteilt. Bitte entfernen Sie zuerst diese Zuteilungen'; + $messageError .= '

Dem Raum '.$_POST['delete_ort'].' sind noch '.count($delete_ort->result).' Personen zugeteilt. Bitte entfernen Sie zuerst diese Zuteilungen

'; $reihungstest_id = $_POST['reihungstest_id']; $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; @@ -1473,7 +1654,7 @@ if(isset($_POST['delete_studienplan'])) //@todo: Check, ob Zuordnungen zu diesem $delete_studienplan = new reihungstest(); if (!$delete_studienplan->deleteStudienplanReihungstest($_POST['reihungstest_id'], $_POST['delete_studienplan'])) - echo 'Fehler beim löschen der Studienplanzuteilung: '.$db->convert_html_chars($delete_studienplan->errormsg).''; + $messageError .= '

Fehler beim löschen der Studienplanzuteilung: '.$db->convert_html_chars($delete_studienplan->errormsg).'

'; $reihungstest_id = $_POST['reihungstest_id']; $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; @@ -1488,7 +1669,7 @@ if(isset($_POST['deleteReihungstest'])) //@todo: Check, ob Zuordnungen zu diesem $deleteReihungstest = new reihungstest(); if (!$deleteReihungstest->delete($_POST['reihungstest_id'])) - echo 'Fehler beim löschen des Reihungstests: '.$db->convert_html_chars($deleteReihungstest->errormsg).''; + $messageError .= '

Fehler beim löschen des Reihungstests: '.$db->convert_html_chars($deleteReihungstest->errormsg).'

'; $reihungstest_id = ''; $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; @@ -1496,6 +1677,17 @@ if(isset($_POST['deleteReihungstest'])) //@todo: Check, ob Zuordnungen zu diesem $neu = true; } +echo '
'; +if ($messageSuccess != '') +{ + echo '
'.$messageSuccess.'
'; +} +if ($messageError != '') +{ + echo '
'.$messageError.'
'; +} +echo '
'; + echo '
'; // Studiengang DropDown @@ -1509,14 +1701,25 @@ echo "'; + } + + if ($stg_kz == '') + $stg_kz = $row->studiengang_kz; + if ($row->studiengang_kz == $stg_kz) + $selected = 'selected'; else - $selected=''; - - echo ""."\n"; + $selected = ''; + + echo "" . "\n"; + $typ = $row->typ; } echo ""; $studienplan_obj = new studienplan(); @@ -1865,20 +2068,23 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr)); - + - + - - + + @@ -1893,7 +2099,7 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr)); ?> - + isBerechtigt('lehre/reihungstestOeffentlich', $reihungstest->studiengang_kz, 'suid') ? '' : 'style="display:none"') ?>>
AnmerkungAnmerkung (intern) (max. 64 Zeichen)
Datum
Uhrzeit (Format: HH:MM)
AnmeldefristAnmeldefrist (inkl.) + + +
Max TeilnehmerInnen
Öffentlich @@ -1921,7 +2127,7 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr)); Kopie erstellen'; + echo ''; if($rechte->isBerechtigt('lehre/reihungstest', null, 'suid')) { diff --git a/vilesci/stammdaten/reihungstestverwaltung_autocomplete.php b/vilesci/stammdaten/reihungstestverwaltung_autocomplete.php index e2fe0d592..7905562ca 100644 --- a/vilesci/stammdaten/reihungstestverwaltung_autocomplete.php +++ b/vilesci/stammdaten/reihungstestverwaltung_autocomplete.php @@ -1,173 +1,335 @@ */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/basis_db.class.php'); -require_once('../../include/ort.class.php'); -require_once('../../include/benutzer.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/lehrverband.class.php'); -require_once('../../include/studienplan.class.php'); -require_once('../../include/studienordnung.class.php'); -require_once('../../include/organisationsform.class.php'); -require_once('../../include/sprache.class.php'); +require_once ('../../config/vilesci.config.inc.php'); +require_once ('../../include/functions.inc.php'); +require_once ('../../include/basis_db.class.php'); +require_once ('../../include/ort.class.php'); +require_once ('../../include/benutzer.class.php'); +require_once ('../../include/studiengang.class.php'); +require_once ('../../include/lehrverband.class.php'); +require_once ('../../include/studienplan.class.php'); +require_once ('../../include/studienordnung.class.php'); +require_once ('../../include/organisationsform.class.php'); +require_once ('../../include/organisationseinheit.class.php'); +require_once ('../../include/sprache.class.php'); -if (!$db = new basis_db()) +if (! $db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); -$uid=get_uid(); +$uid = get_uid(); $sprache = getSprache(); -if(isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete']=='kunde') +if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'kunde') { - $search=trim((isset($_REQUEST['term']) ? $_REQUEST['term']:'')); - if (is_null($search) ||$search=='') + $search = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : '')); + if (is_null($search) || $search == '') exit(); - + $benutzer = new benutzer(); - - if($benutzer->search(array($search))) + + if ($benutzer->search(array( + $search + ))) { $result_obj = array(); - foreach($benutzer->result as $row) + foreach ($benutzer->result as $row) { - $item['vorname']=html_entity_decode($row->vorname); - $item['nachname']=html_entity_decode($row->nachname); - $item['uid']=html_entity_decode($row->uid); - $result_obj[]=$item; + $item['vorname'] = html_entity_decode($row->vorname); + $item['nachname'] = html_entity_decode($row->nachname); + $item['uid'] = html_entity_decode($row->uid); + $result_obj[] = $item; } echo json_encode($result_obj); } - exit; + exit(); } -if(isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete']=='studienplan') +if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'studienplan') { - $searchItems=trim((isset($_REQUEST['term']) ? $_REQUEST['term']:'')); - - // String aufsplitten und Sonderzeichen entfernen - $searchItems = explode(' ',trim(str_replace(',', '', $searchItems),'!.?')); - - // Wenn nach dem TRIM keine Zeichen uebrig bleiben, dann abbrechen - if(implode(',', $searchItems)=='') - exit(); - - $studienplan = new studienplan(); - - if($studienplan->searchStudienplaene($searchItems)) + header('Content-Type: application/json; charset=UTF-8'); + $searchItems = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : '')); + $aktiv = trim((isset($_REQUEST['aktiv']) ? $_REQUEST['aktiv'] : null)); + $studiensemester_kurzbz = trim((isset($_REQUEST['studiensemester_kurzbz']) && $_REQUEST['studiensemester_kurzbz'] != '' ? $_REQUEST['studiensemester_kurzbz'] : null)); + + if ($aktiv == 'true') { - $status_arr = array(); - $studienordnung = new studienordnung(); - $studienordnung->getStatus(); - foreach($studienordnung->result as $row_status) - $status_arr[$row_status->status_kurzbz] = $row_status->bezeichnung; - - $result_obj = array(); - foreach($studienplan->result as $row) - { - $item['studienplan_id']=html_entity_decode($row->studienplan_id); - $item['bezeichnung']=html_entity_decode($row->bezeichnung); - $item['status']=html_entity_decode($status_arr[$row->status_kurzbz]); - //$item['uid']=html_entity_decode($row->uid); - $result_obj[]=$item; - } - echo json_encode($result_obj); + $aktiv = true; } - exit; + elseif ($aktiv == 'false') + { + $aktiv = false; + } + else + { + $aktiv = null; + } + + // String aufsplitten und Sonderzeichen entfernen + $searchItems = explode(' ', trim(str_replace(',', '', $searchItems), '!.?')); + + // Wenn nach dem TRIM keine Zeichen uebrig bleiben, dann abbrechen + if (implode(',', $searchItems) == '') + exit(); + + $result_obj = array(); + // Array mit allen Studiengängen, allen aktiven Studienplänen, allen Fakultäten und allen Studiengangstypen in den Fakultäten aufbauen + $oeArray = array(); + $i = 0; + $studiengangsTypen = array( + 'b', + 'm' + ); + + $fakultaeten = new organisationseinheit(); + $fakultaeten->getByTyp('Fakultaet'); + + // Fakultäten nach Studiengangstyp auflösen + /* + * zB + * Bachelor Fakultät Life Science Engineering + * Bachelor Fakultät Electronic Engineering + * Master Fakultät Life Science Engineering + * Master Fakultät Electronic Engineering + */ + $stgTypen = new studiengang(); + $stgTypen->getAllTypes(); + foreach ($stgTypen->studiengang_typ_arr as $typ => $typbezeichnung) + { + if (in_array($typ, $studiengangsTypen)) + { + $oeArray[$i]['bezeichnung'] = $typbezeichnung . ' (Alle)'; + + // Studiengänge unterhalb der Fakultät laden + $studiengang = new studiengang(); + $studiengang->loadStudiengaengeFromTyp($typ); + + foreach ($studiengang->result as $stgang) + { + $studienplan = new studienplan(); + $studienplan->getStudienplaeneFromSem($stgang->studiengang_kz, $studiensemester_kurzbz, 1); + + foreach ($studienplan->result as $plan) + { + $oeArray[$i]['studienplaene'][] = $plan->studienplan_id; + } + } + $i ++; + + foreach ($fakultaeten->result as $fak) + { + $oeArray[$i]['bezeichnung'] = $typbezeichnung . ' Fakultät ' . $fak->bezeichnung; + // Studiengänge unterhalb der Fakultät laden + $childOes = new organisationseinheit(); + $childOesArray = $childOes->getChilds($fak->oe_kurzbz, 'Studiengang'); + + // Letzte gültige Studienpläne aller passenden Studiengänge laden und in Array schreiben + foreach ($childOesArray as $child) + { + $studiengang = new studiengang(); + $studiengang->getStudiengangFromOe($child, true); + + if ($studiengang->typ == $typ) + { + $studienplan = new studienplan(); + $studienplan->getStudienplaeneFromSem($studiengang->studiengang_kz, $studiensemester_kurzbz, 1); + + foreach ($studienplan->result as $plan) + { + $oeArray[$i]['studienplaene'][] = $plan->studienplan_id; + } + } + } + $i ++; + } + } + } + + // Fakultäten direkt auflösen + /* + * zB + * Fakultät Life Science Engineering + * Fakultät Electronic Engineering + * Fakultät Computer Science + * Fakultät Industrial Engineering + */ + foreach ($fakultaeten->result as $fak) + { + $oeArray[$i]['bezeichnung'] = ' Fakultät ' . $fak->bezeichnung; + // Studiengänge unterhalb der Fakultät laden + $childOes = new organisationseinheit(); + $childOesArray = $childOes->getChilds($fak->oe_kurzbz, 'Studiengang'); + + // Letzte gültige Studienpläne aller passenden Studiengänge laden und in Array schreiben + foreach ($childOesArray as $child) + { + $studiengang = new studiengang(); + $studiengang->getStudiengangFromOe($child, true); + + $studienplan = new studienplan(); + $studienplan->getStudienplaeneFromSem($studiengang->studiengang_kz, $studiensemester_kurzbz, 1); + + foreach ($studienplan->result as $plan) + { + $oeArray[$i]['studienplaene'][] = $plan->studienplan_id; + } + } + $i ++; + } + + foreach ($searchItems as $row) + { + foreach ($oeArray as $oe) + { + if (mb_stripos($oe['bezeichnung'], $row) !== false) + { + $value['studienplan_id'] = $oe['studienplaene']; + $value['bezeichnung'] = $oe['bezeichnung']; + $value['status'] = ''; + $item['disabled'] = false; + $result_obj[] = $value; + } + } + } + + $studienplan = new studienplan(); + $studienplan->searchStudienplaene($searchItems, $aktiv, $studiensemester_kurzbz); + $status_arr = array(); + $studienordnung = new studienordnung(); + $studienordnung->getStatus(); + foreach ($studienordnung->result as $row_status) + $status_arr[$row_status->status_kurzbz] = $row_status->bezeichnung; + + if (count($studienplan->result) == 0) + { + // Wenn für das übergbene Studiensemester kein Studienplan gefunden wird, wird nochmal ohne Studiensemester gesucht + $studienplan->searchStudienplaene($searchItems, $aktiv); + + $item['studienplan_id'] = ''; + $item['bezeichnung'] = 'Für ' . $studiensemester_kurzbz . ' ist kein gültiger Studienplan vorhanden'; + $item['status'] = ''; + $item['disabled'] = true; + $result_obj[] = $item; + foreach ($studienplan->result as $row) + { + $item['studienplan_id'] = html_entity_decode($row->studienplan_id); + $item['bezeichnung'] = html_entity_decode($row->bezeichnung); + $item['status'] = html_entity_decode($status_arr[$row->status_kurzbz]); + $item['disabled'] = false; + $result_obj[] = $item; + } + } + elseif (count($studienplan->result) > 0) + { + foreach ($studienplan->result as $row) + { + $item['studienplan_id'] = html_entity_decode($row->studienplan_id); + $item['bezeichnung'] = html_entity_decode($row->bezeichnung); + $item['status'] = html_entity_decode($status_arr[$row->status_kurzbz]); + $item['disabled'] = false; + $result_obj[] = $item; + } + } + else + { + $item['studienplan_id'] = ''; + $item['bezeichnung'] = 'Kein passender Studienplan gefunden'; + $item['status'] = ''; + $item['disabled'] = false; + $result_obj[] = $item; + } + echo json_encode($result_obj); + exit(); } -if(isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete']=='getStudienplan') +if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'getStudienplan') { $orgform_obj = new organisationsform(); $orgform_obj->getAll(); - $orgform_arr=array(); - foreach($orgform_obj->result as $row) - $orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung; - + $orgform_arr = array(); + foreach ($orgform_obj->result as $row) + $orgform_arr[$row->orgform_kurzbz] = $row->bezeichnung; + $sprachen_obj = new sprache(); $sprachen_obj->getAll(); - $sprachen_arr=array(); - - foreach($sprachen_obj->result as $row) + $sprachen_arr = array(); + + foreach ($sprachen_obj->result as $row) { - if(isset($row->bezeichnung_arr[$sprache])) - $sprachen_arr[$row->sprache]=$row->bezeichnung_arr[$sprache]; + if (isset($row->bezeichnung_arr[$sprache])) + $sprachen_arr[$row->sprache] = $row->bezeichnung_arr[$sprache]; else - $sprachen_arr[$row->sprache]=$row->sprache; + $sprachen_arr[$row->sprache] = $row->sprache; } - + $studienplan_obj = new studienplan(); - + if ($studienplan_obj->getStudienplaeneFromSem($_REQUEST['stg_kz'], $_REQUEST['studiensemester_kurzbz'])) { $studienordnung_arr = array(); $studienplan_arr = array(); $data = array(); - - foreach($studienplan_obj->result as $row_sto) + + foreach ($studienplan_obj->result as $row_sto) { - $studienordnung_arr[$row_sto->studienordnung_id]['bezeichnung']=$row_sto->bezeichnung_studienordnung; - $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['bezeichnung']=$row_sto->bezeichnung_studienplan; - - $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['orgform_kurzbz']=$row_sto->orgform_kurzbz; - $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['sprache']=$sprachen_arr[$row_sto->sprache]; + $studienordnung_arr[$row_sto->studienordnung_id]['bezeichnung'] = $row_sto->bezeichnung_studienordnung; + $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['bezeichnung'] = $row_sto->bezeichnung_studienplan; + + $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['orgform_kurzbz'] = $row_sto->orgform_kurzbz; + $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['sprache'] = $sprachen_arr[$row_sto->sprache]; } - $i=0; - foreach($studienordnung_arr as $stoid=>$row_sto) + $i = 0; + foreach ($studienordnung_arr as $stoid => $row_sto) { - $data[$i]['sto_bezeichnung']=$db->convert_html_chars($row_sto['bezeichnung']); - foreach ($studienplan_arr[$stoid] as $stpid=>$row_stp) + $data[$i]['sto_bezeichnung'] = $db->convert_html_chars($row_sto['bezeichnung']); + foreach ($studienplan_arr[$stoid] as $stpid => $row_stp) { - $data[$i]['stpid']=$stpid; - $data[$i]['bezeichnung'] = $db->convert_html_chars($row_stp['bezeichnung']).' ('.$orgform_arr[$row_stp['orgform_kurzbz']].', '.$row_stp['sprache'].')'; - $i++; + $data[$i]['stpid'] = $stpid; + $data[$i]['bezeichnung'] = $db->convert_html_chars($row_stp['bezeichnung']) . ' (' . $orgform_arr[$row_stp['orgform_kurzbz']] . ', ' . $row_stp['sprache'] . ')'; + $i ++; } } echo json_encode($data); } else echo $studienplan_obj->errormsg; - exit; + exit(); } -if(isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete']=='ort_aktiv') +if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'ort_aktiv') { - $search=trim((isset($_REQUEST['term']) ? $_REQUEST['term']:'')); - if (is_null($search) ||$search=='') + $search = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : '')); + if (is_null($search) || $search == '') exit(); - + $ort_auswahl = new ort(); - - if($ort_auswahl->filter($search,true)) + + if ($ort_auswahl->filter($search, true)) { $result_obj = array(); - foreach($ort_auswahl->result as $row) + foreach ($ort_auswahl->result as $row) { - $item['ort_kurzbz']=html_entity_decode($row->ort_kurzbz); - $item['planbezeichnung']=html_entity_decode($row->planbezeichnung); - $item['bezeichnung']=html_entity_decode($row->bezeichnung); - $item['arbeitsplaetze']=html_entity_decode($row->arbeitsplaetze); - $result_obj[]=$item; + $item['ort_kurzbz'] = html_entity_decode($row->ort_kurzbz); + $item['planbezeichnung'] = html_entity_decode($row->planbezeichnung); + $item['bezeichnung'] = html_entity_decode($row->bezeichnung); + $item['arbeitsplaetze'] = html_entity_decode($row->arbeitsplaetze); + $result_obj[] = $item; } echo json_encode($result_obj); } - exit; + exit(); } ?>