, * Andreas Oesterreicher and * Rudolf Hangl . */ // ********************************************* // * Datenbankschnittstelle fuer FAS und Tempus // ********************************************* require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/log.class.php'); require_once('../include/benutzerfunktion.class.php'); require_once('../include/stundenplan.class.php'); require_once('../include/studiengang.class.php'); require_once('../include/reservierung.class.php'); require_once('../include/betriebsmittel.class.php'); $user = get_uid(); //error_reporting(0); $return = false; $errormsg = 'unknown'; $data = ''; $error = false; //Berechtigungen laden $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('lv-plan')) { $return = false; $errormsg = 'Keine Berechtigung'; $data = ''; $error = true; } if(!$error) { if(isset($_POST['type']) && $_POST['type']=='undo') { //UNDO Befehl ausfuehren if (!isset($_POST['log_id'])) { $return = false; $errormsg = 'Fehlerhafte Parameteruebergabe'; $data = ''; $error = true; } if(!$error) { $log = new log(); if($log->undo($_POST['log_id'])) { $return = true; } else { $return = false; $errormsg = 'Fehler bei UnDo:'.$log->errormsg; } } } elseif (isset($_POST['type']) && $_POST['type']=='addFunktionToMitarbeiter') { //Fuegt eine Lkt Funktion zu einem Studiengang/Mitarbeiter hinzu if(isset($_POST['uid']) && isset($_POST['studiengang_kz'])) { if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'],'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'],'suid')) { $return = false; $error = true; $errormsg = 'keine Berechtigung'; } else { $stg = new studiengang($_POST['studiengang_kz']); $obj = new benutzerfunktion(); $obj->uid = $_POST['uid']; $obj->oe_kurzbz = $stg->oe_kurzbz; $obj->funktion_kurzbz = 'lkt'; $obj->updateamum = date('Y-m-d H:i:s'); $obj->updatevon = $user; $obj->insertamum = date('Y-m-d H:i:s'); $obj->insertvon = $user; if($obj->save(true)) { $return = true; } else { $return = false; $errormsg = $obj->errormsg; } } } else { $return = false; $errormsg = 'Fehlerhafte Parameteruebergabe'; } } elseif (isset($_POST['type']) && $_POST['type']=='delFunktionFromMitarbeiter') { //Loescht eine Lektorfunktion if(isset($_POST['uid']) && isset($_POST['studiengang_kz'])) { if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'],'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'],'suid')) { $return = false; $error = true; $errormsg = 'keine Berechtigung'; } else { $obj = new benutzerfunktion(); $stg_obj = new studiengang($_POST['studiengang_kz']); //Benutzerfunktion suchen if($obj->getBenutzerFunktion($_POST['uid'], 'lkt', $stg_obj->oe_kurzbz)) { //Benutzerfunktion loeschen if($obj->delete($obj->benutzerfunktion_id)) { $return = true; } else { $return = false; $errormsg = $obj->errormsg; } } else { $return = false; $errormsg = $obj->errormsg; } } } else { $return = false; $errormsg = 'Fehler bei Parameteruebergabe'; } } elseif(isset($_POST['type']) && $_POST['type']=='deletestundenplaneintrag') { if(!$rechte->isBerechtigt('lv-plan', null, 'suid') && !$rechte->isBerechtigt('admin', null, 'suid') ) { $return = false; $error = true; $errormsg = 'keine Berechtigung'; } else { //Loescht einen Eintrag aus der Stundenplantabelle loadVariables(get_uid()); if(isset($_POST['stundenplan_id']) && is_numeric($_POST['stundenplan_id'])) { $stundenplan = new stundenplan($db_stpl_table); if($stundenplan->delete($_POST['stundenplan_id'])) { $return = true; } else { $errormsg='Fehler beim Loeschen: '.$stundenplan->errormsg; $return = false; $data = ''; } } else { $return = false; $errormsg = 'ID ist ungueltig'; } } } elseif(isset($_POST['type']) && $_POST['type']=='deletereservierung') { if(!$rechte->isBerechtigt('lv-plan', null, 'suid') && !$rechte->isBerechtigt('admin', null, 'suid') ) { $return = false; $error = true; $errormsg = 'keine Berechtigung'; } else { //Loescht eine Reservierung if(isset($_POST['reservierung_id']) && is_numeric($_POST['reservierung_id'])) { $reservierung = new reservierung(); if($reservierung->delete($_POST['reservierung_id'])) { $return = true; } else { $errormsg='Fehler beim Loeschen: '.$reservierung->errormsg; $return = false; $data = ''; } } else { $return = false; $errormsg = 'ID ist ungueltig'; } } } elseif(isset($_POST['type']) && $_POST['type']=='savestundenplaneintrag') { if(!$rechte->isBerechtigt('lv-plan', null, 'suid') && !$rechte->isBerechtigt('admin', null, 'suid') ) { $return = false; $error = true; $errormsg = 'keine Berechtigung'; } else { loadVariables(get_uid()); $stundenplan = new stundenplan($db_stpl_table); if($stundenplan->load($_POST['stundenplan_id'])) { $stundenplan->unr = $_POST['unr']; $stundenplan->verband = $_POST['verband']; $stundenplan->gruppe = $_POST['gruppe']; $stundenplan->gruppe_kurzbz = $_POST['gruppe_kurzbz']; $stundenplan->ort_kurzbz = $_POST['ort_kurzbz']; $stundenplan->datum = $_POST['datum']; $stundenplan->stunde = $_POST['stunde']; $stundenplan->titel = htmlspecialchars_decode($_POST['titel']); $stundenplan->anmerkung = htmlspecialchars_decode($_POST['anmerkung']); $stundenplan->fix = ($_POST['fix']=='true'?true:false); $stundenplan->mitarbeiter_uid = $_POST['mitarbeiter_uid']; $stundenplan->updateamum = date('Y-m-d H:i:s'); $stundenplan->updatevon = get_uid(); $stundenplan->semester = $_POST['semester']; if($stundenplan->save(false)) { $return = true; } else { $return = false; $errormsg = 'Fehler beim Speichern der Daten:'.$stundenplan->errormsg; } } else { $errormsg = 'Fehler beim Laden: '.$stundenplan->errormsg; $return = false; } } } elseif(isset($_POST['type']) && $_POST['type']=='deleteressource') { if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid')) { $return = false; $error = true; $errormsg = 'keine Berechtigung'; } else { if(isset($_POST['stundenplan_betriebsmittel_id']) && is_array($_POST['stundenplan_betriebsmittel_id'])) { $return = true; foreach($_POST['stundenplan_betriebsmittel_id'] as $stundenplan_betriebsmittel_id) { $betriebsmittel = new betriebsmittel(); if(!$betriebsmittel->deleteStundenplanBetriebsmittel($stundenplan_betriebsmittel_id)) { $errormsg='Fehler beim Loeschen: '.$betriebsmittel->errormsg; $return = false; $data = ''; } } } else { $return = false; $errormsg = 'ID ist ungueltig'; } } } elseif(isset($_POST['type']) && $_POST['type']=='addressource') { if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid')) { $return = false; $error = true; $errormsg = 'keine Berechtigung'; } else { $stunden = $_POST['stunden']; $stpl_id = $_POST['stpl_id']; $betriebsmittel_id = $_POST['betriebsmittel_id']; $db = new basis_db(); if(isset($_POST['betriebsmittel_id']) && is_numeric($_POST['betriebsmittel_id'])) { // Pro Stunde wird die Zuordnung nur auf eine der vorhandenen StundenplanIDs gehaengt foreach($stunden as $stunde) { $qry = "SELECT stundenplandev_id FROM lehre.tbl_stundenplandev WHERE stunde=".$db->db_add_param($stunde)." AND stundenplandev_id in (".$db->db_implode4SQL($stpl_id).") ORDER BY stundenplandev_id LIMIT 1"; if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) { $id = $row->stundenplandev_id; $betriebsmittel = new betriebsmittel(); $betriebsmittel->stundenplandev_id=$id; $betriebsmittel->betriebsmittel_id = $betriebsmittel_id; $betriebsmittel->insertvon = $user; $betriebsmittel->insertamum = date('Y-m-d H:i:s'); $betriebsmittel->new=true; if($betriebsmittel->saveStundenplanBetriebsmittel()) { $return = true; } else { $errormsg='Fehler beim Speichern: '.$betriebsmittel->errormsg; $return = false; $data = ''; } } } } } else { $return = false; $errormsg = 'ID ist ungueltig'; } } } elseif(isset($_POST['type']) && $_POST['type']=='saveressource') { if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid')) { $return = false; $error = true; $errormsg = 'keine Berechtigung'; } else { if(isset($_POST['stundenplan_betriebsmittel_id']) && is_numeric($_POST['stundenplan_betriebsmittel_id'])) { $stundenplan_betriebsmittel_id = $_POST['stundenplan_betriebsmittel_id']; $betriebsmittel = new betriebsmittel(); if($betriebsmittel->loadBetriebsmittelStundenplan($stundenplan_betriebsmittel_id)) { $betriebsmittel->anmerkung =$_POST['anmerkung']; if($betriebsmittel->saveStundenplanBetriebsmittel()) { $return = true; } else { $errormsg='Fehler beim Speichern: '.$betriebsmittel->errormsg; $return = false; $data = ''; } } } else { $return = false; $errormsg = 'ID ist ungueltig'; } } } else { $return = false; $errormsg = 'Unkown type'; $data = ''; } } echo ' '.($return?'true':'false').' '; ?>