, * Andreas Oesterreicher , * Rudolf Hangl and * Gerald Simane-Sequens */ /** * Seite zum Editieren von Testtool-Gebieten */ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/gebiet.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/studiengang.class.php'); require_once('../../../include/sprache.class.php'); require_once('../../../include/studienplan.class.php'); require_once('../../../include/studiensemester.class.php'); require_once('../../../include/organisationsform.class.php'); require_once('../../../include/ablauf.class.php'); require_once('../../../include/content.class.php'); if (!$user = get_uid()) die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück'); if (!$db = new basis_db()) { die('Es konnte keine Verbindung zum Server aufgebaut werden.'); } $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $sprache = new sprache(); $sprache->getAll(true, 'index'); echo '
'; if (isset($_GET['gebiet_id'])) $gebiet_id = $_GET['gebiet_id']; else $gebiet_id = ''; $stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1'); echo '

Ablauf der Gebiete verwalten

'; if (!$rechte->isBerechtigt('basis/testtool')) die($rechte->errormsg); $studiengang = new studiengang(); $studiengang->getAll('typ, kurzbz', false); $gebiet = new gebiet(); $gebiet->getAll(); $ablauf_vorgabe = new gebiet(); $ablauf_vorgabe->getAblaufVorgaben(); $errormsg = ''; echo 'Zurück zur Admin Seite

'; echo '
'; //Studiengang Dropdown echo '
'; echo 'Studiengang:
'; // Studienplan Dropdown echo "
Studienplan: "; drawStudienplanDropdown($stg_kz, $db, "stp_id", 'studiengang_form'); echo "
"; echo '

'; // Gebiet speichern if (isset($_GET['action']) && $_GET['action'] == 'save') { if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '' && isset($_POST['reihung']) && $_POST['reihung'] != '' && isset($_POST['gewicht']) && $_POST['gewicht'] != '' && isset($_POST['semester']) && $_POST['semester'] != '' && isset($_POST['studienplan'])) { // Ablauf-Vorgaben-Daten werden nur beim ersten Gebietseintrag gesendet. // In diesem Fall wird vorher ein neuer Ablauf-Vorgaben-Eintrag erstellt. $vorgaben_id = ''; if (isset($_POST['sprache']) && $_POST['sprache'] != '') { // Prüfen, ob Content ID schon existiert foreach ($sprache->result as $row) { $content = new content(); if ($content->getContent($_POST['content_id'], $row->sprache)) { $content_id = $_POST['content_id']; break; } else { $content_id = ''; $errormsg = 'Content_ID '.$_POST['content_id'].' ist nicht vorhanden und wurde nicht gespeichert'; } } echo $errormsg; $ablauf_vorgaben = new ablauf(); $ablauf_vorgaben->studiengang_kz = $stg_kz; $ablauf_vorgaben->sprache = $_POST['sprache']; $ablauf_vorgaben->sprachwahl = isset($_POST['sprachwahl'])?true:false; $ablauf_vorgaben->content_id = $content_id; $ablauf_vorgaben->insertamum = date('Y-m-d H:i:s'); $ablauf_vorgaben->insertvon = $user; if ($ablauf_vorgaben->saveAblaufVorgabe(true)) { $vorgaben_id = $ablauf_vorgaben->ablauf_vorgaben_id; } else echo $ablauf_vorgaben->errormsg; } elseif (isset($_POST['ablauf_vorgaben_id']) && $_POST['ablauf_vorgaben_id'] != '') $vorgaben_id = $_POST['ablauf_vorgaben_id']; $ablauf = new ablauf(); $ablauf->studiengang_kz = $_POST['stg_kz']; $ablauf->gebiet_id = $_POST['gebiet_id']; $ablauf->reihung = $_POST['reihung']; $ablauf->gewicht = $_POST['gewicht']; $ablauf->semester = $_POST['semester']; $ablauf->insertvon = $user; $ablauf->insertamum = date('Y-m-d H:i:s'); $ablauf->studienplan_id = $_POST['studienplan']; $ablauf->ablauf_vorgaben_id = $vorgaben_id; if (!$ablauf->save(true)) echo $ablauf->errormsg; } else { echo 'Bitte füllen Sie alle Felder aus'; } } // Gebiet entfernen if (isset($_GET['action']) && $_GET['action'] == 'delete') { if (isset($_POST['ablauf_id']) && $_POST['ablauf_id'] != '') { $ablauf = new ablauf($_POST['ablauf_id']); if ($ablauf->delete($_POST['ablauf_id'])) echo $ablauf->errormsg; // Wenn der Ablauf-Eintrag der letzte war, und die Ablauf-Vorgaben-ID nicht woanders verwendet wird, dann auch diesen löschen if (isset($_POST['ablauf_vorgaben_id']) && $_POST['ablauf_vorgaben_id'] != '') { $abl_vorgabe = new ablauf(); $vorlage_count = $abl_vorgabe->countAblaufVorgabe($_POST['ablauf_vorgaben_id']); if ($vorlage_count == 0) { if (!$abl_vorgabe->deleteAblaufVorgabe($_POST['ablauf_vorgaben_id'])) echo $abl_vorgabe->errormsg; } } } } // Gebiet bearbeiten if (isset($_GET['action']) && $_GET['action'] == 'edit') { if (isset($_POST['ablauf_id']) && $_POST['ablauf_id'] != '') { $ablauf = new ablauf($_POST['ablauf_id']); $gebiet = new gebiet($ablauf->result[0]->gebiet_id); $studiengang = new studiengang($stg_kz); echo '
Studiengang_kz:
Gebiet:
Reihung:
Gewichtung:
Semester:
Studienplan: '; drawStudienplanDropdown($stg_kz, $db, $name = 'studienplan_id', null, 'width:100%', $ablauf->result[0]->studienplan_id); echo '
Sprache*:
Sprachwahl*: result[0]->sprachwahl?'checked':'').' />
Content ID*:
* Wirken sich auf alle Gebiete gleich aus
'; } else { //echo 'Bitte füllen Sie alle Felder aus'; } } // Bearbeitetes Gebiet speichern if (isset($_GET['action']) && $_GET['action'] == 'editsave') { if (isset($_POST['reihung']) && $_POST['reihung'] != '' && isset($_POST['gewicht']) && $_POST['gewicht'] != '' && isset($_POST['semester']) && $_POST['semester'] != '') { $ablauf = new ablauf(); $ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']); $ablauf_id = $ablauf->result[0]; $ablauf = new ablauf($ablauf_id); $ablauf = $ablauf->result[0]; $ablauf->reihung = $_POST['reihung']; $ablauf->gewicht = $_POST['gewicht']; $ablauf->semester = $_POST['semester']; if (isset($_POST['studienplan_id'])) // && $_POST['studienplan_id'] != '' $ablauf->studienplan_id = $_POST['studienplan_id']; if ($ablauf->save(false)) { // Prüfen, ob Content ID schon existiert foreach ($sprache->result as $row) { $content = new content(); if ($content->getContent($_POST['content_id'], $row->sprache)) { $content_id = $_POST['content_id']; break; } else { $content_id = ''; $errormsg = 'Content_ID '.$_POST['content_id'].' ist nicht vorhanden und wurde nicht gespeichert'; } } echo $errormsg; $ablauf_vorgaben = new ablauf(); $ablauf_vorgaben->ablauf_vorgaben_id = $ablauf->ablauf_vorgaben_id; $ablauf_vorgaben->studiengang_kz = $stg_kz; $ablauf_vorgaben->sprache = $_POST['sprache']; $ablauf_vorgaben->sprachwahl = isset($_POST['sprachwahl'])?true:false; $ablauf_vorgaben->content_id = $content_id; $ablauf_vorgaben->updateamum = date('Y-m-d H:i:s'); $ablauf_vorgaben->updatevon = $user; if (!$ablauf_vorgaben->saveAblaufVorgabe(false)) { echo $ablauf_vorgaben->errormsg; } } else echo $ablauf->errormsg; } else { echo 'Bitte füllen Sie alle Felder aus'; } } // Liste aller zugehoerigen Gebiete anzeigen $ablauf = new ablauf(); if (isset($_GET['stp_id']) && $_GET['stp_id'] != '') { $ablauf->getAblaufGebiete($stg_kz, $_GET['stp_id']); } else { $ablauf->getAblaufGebiete($stg_kz); } $gebieteangehaengt = array(); $studienplan = new studienplan(); $ablauf_vorgaben_id = ''; if ($stg_kz != -1) { echo ' '; foreach ($ablauf->result as $row) { $studienplan->loadStudienplan($row->studienplan_id); $gebiet = new gebiet($row->gebiet_id); array_push($gebieteangehaengt, $gebiet->gebiet_id); if ($ablauf_vorgaben_id == '' && $row->ablauf_vorgaben_id != '') $ablauf_vorgaben_id = $row->ablauf_vorgaben_id; echo ''; } $gebiet_dropdown = new gebiet(); $gebiet_dropdown->getAll(); echo ''; echo ''; echo ''; echo ''; echo ''; // Ablauf-Vorgaben können nur beim ersten Eintrag gespeichert werden. Ansonsten werden sie über EDIT geändert. if (count($gebieteangehaengt) == 0) { echo ''; echo ''; echo ''; } else echo ''; echo ''; echo '
Gebiet Reihung Gewichtung Semester Studienplan Sprache Sprachwahl Content ID
'.$gebiet->bezeichnung.' ('.$gebiet->kurzbz.') '.$row->reihung.' '.$row->gewicht.' '.$row->semester.' '.$studienplan->bezeichnung.' '.$row->sprache.' '.($row->sprachwahl != ''?($row->sprachwahl?'Ja':'Nein'):'-').' '.$row->content_id.'
edit
delete
'; drawStudienplanDropdown($stg_kz, $db, "studienplan"); echo '
'; } // Ablaufzuordnung hinzufügen if (isset($_POST['action']) && $_POST['action'] == 'saveAblauf') { $ablauf_vorgaben_id = $_POST['ablauf_vorgaben_id']; $studiengang_kz = $_POST['studiengang_kz']; $reihung = $_POST['reihung']; $gewicht = $_POST['gewicht']; $semester = $_POST['semester']; $ablauf = new gebiet(); $ablauf->ablauf_vorgaben_id = $ablauf_vorgaben_id; $ablauf->studiengang_kz = $studiengang_kz; $ablauf->reihung = $reihung; $ablauf->gewicht = $gewicht; $ablauf->semester = $semester; $ablauf->new = true; $ablauf->gebiet_id = $gebiet_id; if ($ablauf->saveAblauf()) echo 'Ablauf gespeichert'; else echo 'Fehler beim Speichern:'.$ablauf->errormsg.''; } //Speichern eines neuen Eintrags if (isset($_POST['speichern'])) { if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) die($rechte->errormsg); $gebiet = new gebiet(); if ($gebiet->load($gebiet_id)) { $bezeichnung_mehrsprachig = array(); foreach ($sprache->result as $row_sprache) { if (isset($_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]) && $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache] != '') $bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]; } $gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig; $gebiet->kurzbz = $_POST['kurzbz']; $gebiet->bezeichnung = $_POST['bezeichnung_mehrsprachig_German']; $gebiet->beschreibung = $_POST['beschreibung']; $gebiet->zeit = $_POST['zeit']; $gebiet->multipleresponse = isset($_POST['multipleresponse']); $gebiet->kategorien = isset($_POST['kategorien']); $gebiet->zufallfrage = isset($_POST['zufallfrage']); $gebiet->zufallvorschlag = isset($_POST['zufallvorschlag']); $gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']); $gebiet->maxpunkte = $_POST['maxpunkte']; $gebiet->maxfragen = $_POST['maxfragen']; $gebiet->level_start = $_POST['level_start']; $gebiet->level_sprung_auf = $_POST['level_sprung_auf']; $gebiet->level_sprung_ab = $_POST['level_sprung_ab']; $gebiet->updateamum = date('Y-m-d H:i:s'); $gebiet->updatevon = $user; $gebiet->antwortenprozeile = $_POST['antwortenprozeile']; if ($gebiet->save(false)) { echo 'Daten erfolgreich gespeichert'; } else { echo 'Fehler beim Speichern: '.$gebiet->errormsg.''; } } else { echo 'Fehler beim Laden des Gebiets'; } } echo ''; /** * Zeichnet das Dropdown zur Auswahl des Studienplans * @param integer $stg_kz Studiengang. * @param string $db Datenbankverbindung. * @param string $name Name des "; echo ""; // Pruefen ob uebergebene StudienplanID in Auswahl enthalten // ist und ggf auf leer setzen if ($studienplan_id != '') { $studienplan_found = false; foreach ($studienplan_arr as $stoid => $row_sto) { if (array_key_exists($studienplan_id, $studienplan_arr[$stoid])) { $studienplan_found = true; break; } } if (!$studienplan_found) { $studienplan_id = ''; } } foreach ($studienordnung_arr as $stoid => $row_sto) { $selected = ''; echo ''; foreach ($studienplan_arr[$stoid] as $stpid => $row_stp) { if (isset($_GET['stp_id']) && $_GET['stp_id'] == $stpid) $selected = 'selected'; if (isset($studienplan) && $studienplan == $stpid) $selected = 'selected'; echo ''; $selected = ''; } } echo ''; } ?>