, * Andreas Oesterreicher , * Rudolf Hangl and * Gerald Simane-Sequens . */ /** * Das Script dient zum Navigieren im Stundenplan und zur Reservierung von Raeumen */ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/wochenplan.class.php'); require_once('../../../include/reservierung.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/ort.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/stundenplan.class.php'); $sprache = getSprache(); $p=new phrasen($sprache); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); $uid=get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); // Variablen uebernehmen if (isset($_GET['type'])) $type=$_GET['type']; if (isset($_POST['type'])) $type=$_POST['type']; if (isset($_GET['datum'])) $datum=$_GET['datum']; if (isset($_POST['datum'])) $datum=$_POST['datum']; // Uses urlencode to avoid XSS issues if (isset($_GET['ort_kurzbz'])) $ort_kurzbz = urlencode($_GET['ort_kurzbz']); else if (isset($_POST['ort_kurzbz'])) $ort_kurzbz = urlencode($_POST['ort_kurzbz']); else $ort_kurzbz=null; if (isset($_GET['pers_uid'])) $pers_uid=$_GET['pers_uid']; if (isset($_GET['stg_kz'])) $stg_kz=$_GET['stg_kz']; else if (isset($_POST['stg_kz'])) $stg_kz=$_POST['stg_kz']; else $stg_kz=null; if (isset($_GET['lva'])) $lva=$_GET['lva']; else if (isset($_POST['lva'])) $lva=$_POST['lva']; else $lva=null; if (isset($_POST['sem'])) $sem=$_POST['sem']; else if (isset($_GET['sem'])) $sem=$_GET['sem']; else $sem=null; if (isset($_POST['ver'])) $ver=$_POST['ver']; else if (isset($_GET['ver'])) $ver=$_GET['ver']; else $ver=null; if (isset($_POST['grp'])) $grp=$_POST['grp']; else if (isset($_GET['grp'])) $grp=$_GET['grp']; else $grp=null; if (isset($_POST['gruppe_kurzbz'])) $gruppe_kurzbz=$_POST['gruppe_kurzbz']; else if (isset($_GET['gruppe_kurzbz'])) $gruppe_kurzbz=$_GET['gruppe_kurzbz']; else $gruppe_kurzbz=null; if (isset($_POST['user_uid'])) $user_uid=$_POST['user_uid']; if (isset($_POST['reserve'])) $reserve=$_POST['reserve']; if (isset($_POST['beschreibung'])) $beschreibung=$_POST['beschreibung']; if (isset($_POST['titel'])) $titel=$_POST['titel']; ?> <?php echo $p->t('lvplan/lehrveranstaltungsplan').' '.CAMPUS_NAME;?> loadAddons(); foreach($addon_obj->result as $addon) { if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) echo ''; } // Wenn Seite fertig geladen ist Addons aufrufen echo ' '; ?>

t('lvplan/wochenplan');?>

t('lvplan/hauptmenue');?>
t("dms_link/lvPlanFAQ")!='') echo ''.$p->t("global/hilfe").''; ?>
2) die('Verband ist ungueltig'); if(strlen($grp)>2) die('Gruppe ist ungueltig'); if(isset($datum) && !is_numeric($datum)) die('Datum ist ungueltig'); if(!check_ort($ort_kurzbz)) die('Ort ist ungueltig'); $berechtigung=new benutzerberechtigung(); $berechtigung->getBerechtigungen($uid); if ($berechtigung->isBerechtigt('lehre/reservierung:begrenzt', null, 'sui')) $raumres=true; else $raumres=false; unset($berechtigung); // Authentifizierung if (check_student($uid)) $user='student'; elseif (check_lektor($uid)) $user='lektor'; else { die($p->t('global/userNichtGefunden')); } // User bestimmen if (!isset($type)) $type=$user; if (!isset($pers_uid)) $pers_uid=$uid; if (isset($_POST['reserve'])) $reserve=$_POST['reserve']; else if (isset($_GET['reserve'])) $reserve=$_GET['reserve']; if (isset($_GET['reservtodelete'])) $reservtodelete=$_GET['reservtodelete']; // Loeschen von Reservierungen if (isset($reservtodelete)) { if (is_array($reservtodelete)) { foreach ($reservtodelete as $delete_id) { if (!is_numeric($delete_id)) die('ungueltige ID'); } $reservierung = new reservierung(); $reservdelcount = 0; $reservberechtigt = $rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid'); foreach ($reservtodelete as $delete_id) { if ($reservierung->load($delete_id)) { if ($reservberechtigt && ($reservierung->insertvon==$uid || $reservierung->uid==$uid)) { if($reservierung->delete($delete_id)) $reservdelcount++; else echo $reservierung->errormsg; } else { echo ''.$p->t('global/keineBerechtigung').'
'; } } else echo ''.$p->t('global/fehleraufgetreten').'!
'; } } else die('ungueltige IDs
'); } // Reservieren elseif (isset($reserve) && $raumres) { $ort_obj = new ort(); if(!$ort_obj->load($ort_kurzbz)) die($p->t('lvplan/raumExistiertNicht')); if(!$erg_std=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde")) { die($db->db_last_error()); } $num_rows_std=$db->db_num_rows($erg_std); $count=0; for ($t=1;$t<=TAGE_PRO_WOCHE;$t++) { for ($j=0;$j<$num_rows_std;$j++) { $stunde=$db->db_result($erg_std,$j,'"stunde"'); $var='reserve'.$t.'_'.$stunde; if (isset($_REQUEST[$var])) { $datum_res=$_REQUEST[$var]; // Pruefen ob der Raum im Stundenplan und Stundenplandev frei ist $stpl = new stundenplan('stundenplan'); $stpldev = new stundenplan('stundenplandev'); if((!$stpl->isBelegt($ort_kurzbz, $datum_res, $stunde) && !$stpldev->isBelegt($ort_kurzbz, $datum_res, $stunde)) || $rechte->isBerechtigt('lehre/reservierungAdvanced')) { $reservierung = new reservierung(); if(!$reservierung->isReserviert($ort_kurzbz, $datum_res, $stunde) || $rechte->isBerechtigt('lehre/reservierungAdvanced')) { if (empty($_REQUEST['titel']) && empty($_REQUEST['beschreibung'])) echo "
".$p->t('lvplan/titelUndBeschreibungFehlt')."!
"; else if (empty($_REQUEST['titel']) ) echo "
".$p->t('lvplan/titelFehlt')."!
"; else if ( empty($_REQUEST['beschreibung'])) echo "
".$p->t('lvplan/beschreibungFehlt')."!
"; else { $reservierung = new reservierung(); $reservierung->datum = $datum_res; $reservierung->ort_kurzbz = $ort_kurzbz; $reservierung->stunde = $stunde; $reservierung->beschreibung = $_REQUEST['beschreibung']; $reservierung->titel = $_REQUEST['titel']; $reservierung->insertamum=date('Y-m-d H:i:s'); $reservierung->insertvon=$uid; if(isset($_REQUEST['lecturer_uids']) && !empty($_REQUEST['lecturer_uids'] && isset($_REQUEST['studiengang_kz']))) { $lecturer_uids = $_REQUEST['lecturer_uids']; foreach ($lecturer_uids as $lecturer_uid) { $reservierung->studiengang_kz = $_REQUEST['studiengang_kz']; $reservierung->semester = $_REQUEST['semester']; $reservierung->verband = $_REQUEST['verband']; $reservierung->gruppe = $_REQUEST['gruppe']; $reservierung->gruppe_kurzbz = $_REQUEST['gruppe_kurzbz']; $reservierung->uid = $lecturer_uid; if(!$reservierung->save(true)) echo $reservierung->errormsg; else $count++; } } else { $reservierung->studiengang_kz='0'; $reservierung->uid = $uid; if(!$reservierung->save(true)) echo $reservierung->errormsg; else $count++; } } } else { echo "
$ort_kurzbz ".$p->t('lvplan/bereitsReserviert').": $datum_res - Stunde $stunde
"; } } else { echo "
$ort_kurzbz ".$p->t('lvplan/bereitsReserviert').": $datum_res - Stunde $stunde
"; } } } } } // Stundenplan erstellen $stdplan=new wochenplan($type); if (!isset($datum)) $datum=time(); // Benutzergruppe $stdplan->user=$user; // aktueller Benutzer $stdplan->user_uid=$uid; // Zusaetzliche Daten laden if (! $stdplan->load_data($type,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$gruppe_kurzbz,null,$lva) ) { die(htmlentities($stdplan->errormsg)); } // Stundenplan einer Woche laden if (! $stdplan->load_week($datum)) { die(htmlentities($stdplan->errormsg)); } // Kopfbereich drucken if (! $stdplan->draw_header()) { die(htmlentities($stdplan->errormsg)); } // Stundenplan der Woche drucken if($ort_kurzbz == 'all') $stdplan->draw_week ($raumres, $uid, false); else $stdplan->draw_week($raumres,$uid); if (isset($count)) echo "Es wurde".($count!=1?'n':'')." $count Stunde".($count!=1?'n':'')." reserviert!
"; if (isset($reservdelcount)) echo "Es wurde".($reservdelcount!=1?'n':'')." $reservdelcount Stunde".($reservdelcount!=1?'n':'')." gelöscht!
"; ?>


t('lvplan/fehlerUndFeedback');?> t('lvplan/lvKoordinationsstelle');?>.