* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ require_once('../../config/cis.config.inc.php'); require_once('../../include/basis_db.class.php'); require_once('../../include/functions.inc.php'); if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); require_once('../../include/benutzer.class.php'); require_once('../../include/wochenplan.class.php'); require_once('../../include/benutzerberechtigung.class.php'); //------------------------------------------------------------------------------------------- // Datum - Format if (!defined('constHeaderDatumZeit')) define('constHeaderDatumZeit','%A, %d %B %G %R' ); if (!defined('constRaumDatumZeit')) define('constRaumDatumZeit','%a, %d.%m.%Y' ); if (!defined('constHeaderStundenplan')) define('constHeaderStundenplan','KW %W, %B %G' ); if (!defined('constHeaderStundenplanTag')) define('constHeaderStundenplanTag','%A
%d.%m.%y' ); if (!defined('constAktuelleZeitHHMi')) define('constAktuelleZeitHHMi', date("Hi", time())); if (!defined('constAktuelleZeitHH')) define('constAktuelleZeitHH', date("H", time())); //------------------------------------------------------------------------------------------- // Variable Init $card_id=DOMAIN; $card_titel=CAMPUS_NAME.' '.date('d-m-Y'); $htmlout=''; $day = date('d'); $month = date('m'); $year = date('y'); $weekday = date('w'); //------------------------------------------------------------------------------------------- // Parameter uebernehmen $uid=trim((isset($_REQUEST['uid']) ? $_REQUEST['uid']:'')); $ort_kurzbz=trim((isset($_REQUEST['ort_kurzbz']) ? $_REQUEST['ort_kurzbz']:'')); $raumtyp_kurzbz=trim((isset($_REQUEST['raumtyp_kurzbz']) ? $_REQUEST['raumtyp_kurzbz']:'')); $datum=trim((isset($_REQUEST['datum']) ? $_REQUEST['datum']:date('Ymd'))); $datum_bl=trim((isset($_REQUEST['datum_bl']) ? $_REQUEST['datum_bl']:'')); $work=trim((isset($_REQUEST['work']) ? $_REQUEST['work']:'')); //------------------------------------------------------------------------------------------- // Anwender if (empty($uid)) { $work='freierraum'; $htmlout.=' Durch Anhängen von ?uid=[Ihre uid] an die WAP URL
entfällt die Angabe ihres Benutzernames,
und Sie werden sofort zu Ihrem Stundenplan weitergeleitet.
'; } else { ## $uid='el09b057'; # $uid='_DummyLektor'; ## $uid='sommert'; if (empty($work)) $work='meinplan'; if ($user=new benutzer($uid)) { $htmlout.=($user->vorname?$user->vorname.' ':'').$user->nachname; if (!$user->aktiv) $htmlout.='
'.$uid.' ist nicht aktiv!'; } else { $htmlout.=$uid.' wurde nicht gefunden!'; $uid=''; $work=''; } } //------------------------------------------------------------------------------------------- // Anzeige des aktuellen Stundenplan eines Anwenders if (!empty($uid) && $work=='meinplan' ) { $row_raum=array(); $kalenderwoche=""; $studiengang_kz=""; $semester=""; $verband=""; $gruppe=""; $row_stunde=getAktuelleStd($db); if (date('Ymd')==$datum && is_array($row_stunde) && count($row_stunde)>0) { $stunde_von=$row_stunde[0]->stunde; $stunde_bis=$row_stunde[0]->stunde; $user_array=uid_read_mitarbeiter_oder_student($db,$uid); // Authentifizierung if (check_student($uid)) $type='student'; elseif (check_lektor($uid)) $type='lektor'; else { //die("Cannot set usertype!"); //GastAccountHack $type='student'; } // Stundenplan erstellen $stdplan=new wochenplan($type); // Benutzergruppe $stdplan->user=$type; // aktueller Benutzer $stdplan->user_uid=$uid; // Zusaetzliche Daten laden if (isset($user_array->studiengang_kz)) { // Student if (! $stdplan->load_data($type,$uid,NULL,trim($user_array->studiengang_kz),trim($user_array->semester),trim($user_array->verband),trim($user_array->gruppe)) ) { die($stdplan->errormsg); } } else { // Mitarbeiter if (! $stdplan->load_data($type,$uid) ) { die($stdplan->errormsg); } } $mtag=mb_substr($datum, 6,2); $month=mb_substr($datum, 4,2); $jahr=mb_substr($datum, 0,4); $datum_select=@mktime(12,0,0,$month,$mtag,$jahr); // Stundenplan einer Woche laden if (! $stdplan->load_week($datum_select)) die($stdplan->errormsg); $ersterTagMonat=date('m', $stdplan->datum); $ersterTag=date('d', $stdplan->datum); $year=date('Y', $stdplan->datum); $weekday=date('w'); $gefunden=null; for ($ind_stdplan=0;$ind_stdplanstd_plan);$ind_stdplan++) { $datum_check=@mktime(12,0,0,$ersterTagMonat,($ersterTag + $ind_stdplan ),$year); if (date('Ymd',$datum_select)==date('Ymd',$datum_check)) { $gefunden=1 + $ind_stdplan; break; } } $row_raum=array(); if (!is_null($gefunden) && isset($stdplan->std_plan) && isset($stdplan->std_plan[$gefunden]) && isset($stdplan->std_plan[$gefunden][$stunde_von]) && isset($stdplan->std_plan[$gefunden][$stunde_von][0])) $row_raum=$stdplan->std_plan[$gefunden][$stunde_von][0]; if ((is_array($row_raum) || is_object($row_raum)) && count($row_raum)>0 && isset($row_raum->reservierung) ) { $htmlout.='
'.substr($row_stunde[0]->beginn,0,5).'
'.substr($row_stunde[0]->ende,0,5).'
'; if ($row_raum->reservierung) $htmlout.=(!empty($row_raum->titel)?$row_raum->titel:(!empty($row_raum->titel) && $row_raum->lehrfach!=$row_raum->titel?$row_raum->lehrfach:'')).'
'.$row_raum->ort; else $htmlout.=$row_raum->lehrfach.'-'.$row_raum->lehrform.'
'.$row_raum->ort; $htmlout.='
'; } } } //------------------------------------------------------------------------------------------- // Information das es nicht das Tagesdatum ist $dif=$datum-date('Ymd'); ## if (date('Ymd')!=$datum) $htmlout.='
'.strftime(constHeaderDatumZeit,mktime(date('H'), date('i'), 0, $month, $day + $dif, $year)).''; if ($datum_bl=='ret') { $day=$day + ( $dif - 1 ) ; $datum_ret=date('Ymd',mktime(0, 0, 0, $month, $day, $year)); $datum_vor=date('Ymd',mktime(0, 0, 0, $month, $day + 1, $year)); } else if ($datum_bl=='vor') { $day=$day + ( $dif + 1 ); $datum_ret=date('Ymd',mktime(0, 0, 0, $month, $day - 1, $year)); $datum_vor=date('Ymd',mktime(0, 0, 0, $month, $day, $year)); } else { $datum_ret=date('Ymd',mktime(0, 0, 0, $month, $day - 1, $year)); $datum_vor=date('Ymd',mktime(0, 0, 0, $month, $day + 1, $year)); } $datum_heute=date('Ymd'); $htmlout.='
<< heute >> '; //------------------------------------------------------------------------------------------- switch ($work) { case 'freierraum': if (!empty($uid)) { $htmlout.='
'; $htmlout.=''; $htmlout.='mein Stundenplan'; $htmlout.=''; $htmlout.=''; } if (empty($raumtyp_kurzbz)) $htmlout.=raum_typen($uid); else if (empty($ort_kurzbz)) $htmlout.=ort_raum_typen($uid,$raumtyp_kurzbz,$datum); else $htmlout.=ort_plan_raum_typen($uid,$raumtyp_kurzbz,$ort_kurzbz,$datum); break; case 'meinplan': $htmlout.='
'; $htmlout.=''; $htmlout.='Freie Säle'; $htmlout.=''; $htmlout.=''; $htmlout.=getMeinStundenplan($uid,$datum); break; default: break; } #exit($htmlout); #exit($htmlout); header("Content-Type: text/vnd.wap.wml;charset=UTF-8"); echo "\n"; echo "\n"; ?> Benutzername: Weiter " method="get">
db_query($qry)) return 'Probleme beim lesen der Raumtyptabelle '.$db->db_last_error(); // In einer Pause wird kein Datensatz gefunden, den letzten holen if (!$num_rows_stunde=$db->db_num_rows($result)) { $qry=""; $qry.="SELECT stunde, beginn, ende "; $qry.=" FROM lehre.tbl_stunde "; $qry.=" WHERE '". constAktuelleZeitHH ."' between to_char(tbl_stunde.beginn, 'HH24') and to_char(tbl_stunde.ende, 'HH24') "; $qry.=" ORDER BY stunde LIMIT 1; "; if(!$result=$db->db_query($qry)) return 'Probleme beim lesen der Raumtyptabelle '.$db->db_last_error(); } while($tmp_row_stunde = $db->db_fetch_object($result)) $row_stunde[]=$tmp_row_stunde; return $row_stunde; } //------------------------------------------------------------------------------------------- /* * * @alle_rauminformationen Rauminformation zur Auswahl Raumtype * * @param $db Aktuelle Datenbankverbindung * @param $ort_kurzbz Detailanzeige Stundenplan eines Raums Optional * @param $datum Datum der Raumres. in Form von JJJJMMTT Optional * @param $row_stunde_von Stundenplan ab Optional * @param $row_stunde_bis Stundenplan ab Optonal * @param $uid UserUid Optional * @param $kalenderwoche Kalenderwoche Optional * @param $studiengang_kz Studienkennzeichen Optional * @param $semester Semester Optional * @param $verband="" Verbandskennzeichen Optional * @param $gruppe Verband-Gruppe Optional * * @return array Tablle der Rauminformation * */ function stundenplan_raum($db,$ort_kurzbz="",$datum="",$stunde_von,$stunde_bis=0,$uid="",$kalenderwoche="",$studiengang_kz="",$semester="",$verband="",$gruppe="") { // Plausib if (!$db) return array(); if (empty($stunde_bis)) $stunde_bis=$stunde_von; //--- Raumbelegung jetzt $qry=""; $qry.=' SELECT studiengang_kz,0 as "stundenplan_id",tbl_reservierung.reservierung_id,tbl_reservierung.ort_kurzbz,tbl_reservierung.titel,tbl_reservierung.semester,tbl_reservierung.studiengang_kz,tbl_reservierung.verband, tbl_reservierung.gruppe , to_char(tbl_reservierung.datum, \'YYYYMMDD\') as "datum_jjjjmmtt", to_char(tbl_reservierung.datum, \'IW\') as "datum_woche" , tbl_stunde.beginn, tbl_stunde.ende , to_char(tbl_stunde.beginn, \'HH24:MI\') as "beginn_anzeige" , to_char(tbl_stunde.ende, \'HH24:MI\') as "ende_anzeige" , EXTRACT(EPOCH FROM tbl_reservierung.datum) as "datum_timestamp" ,tbl_stunde.stunde '; $qry.=' FROM campus.tbl_reservierung , lehre.tbl_stunde '; $qry.=" WHERE tbl_stunde.stunde=tbl_reservierung.stunde "; $qry.=" and tbl_reservierung.stunde between ". trim($stunde_von) ." and ". trim($stunde_bis) ; if (!empty($datum)) { $qry.=" and to_char(tbl_reservierung.datum, 'YYYYMMDD') ='".addslashes(trim($datum))."' "; } if (!empty($kalenderwoche)) { $qry.=" and to_char(tbl_reservierung.datum, 'IW') ='".addslashes(trim($kalenderwoche))."' "; } if (!empty($ort_kurzbz)) { $qry.=" and ort_kurzbz='".addslashes(trim($ort_kurzbz))."' "; } if (!empty($uid) || $uid=='0') { $qry.=" and uid='".addslashes(trim($uid))."' "; } if (!empty($studiengang_kz) || $studiengang_kz=='0') { $qry.=" and studiengang_kz=".$studiengang_kz." "; } if (!empty($semester) || $semester=='0') { $qry.=" and semester=".$semester." "; } if (!empty($verband) || $verband=='0') { $qry.=" and verband='".addslashes(trim($verband))."' "; } if (!empty($gruppe) || $gruppe=='0') { $qry.=" and gruppe=".$gruppe." "; } $qry.=" UNION "; $qry.=' SELECT studiengang_kz,tbl_stundenplan.stundenplan_id,0 as "reservierung_id", tbl_stundenplan.ort_kurzbz,tbl_stundenplan.titel,tbl_stundenplan.semester,tbl_stundenplan.studiengang_kz,tbl_stundenplan.verband ,tbl_stundenplan.gruppe , to_char(tbl_stundenplan.datum, \'YYYYMMDD\') as "datum_jjjjmmtt", to_char(tbl_stundenplan.datum, \'IW\') as "datum_woche" , tbl_stunde.beginn, tbl_stunde.ende , to_char(tbl_stunde.beginn, \'HH24:MI\') as "beginn_anzeige" , to_char(tbl_stunde.ende, \'HH24:MI\') as "ende_anzeige" , EXTRACT(EPOCH FROM tbl_stundenplan.datum) as "datum_timestamp" ,tbl_stunde.stunde '; $qry.=' FROM lehre.tbl_stundenplan , lehre.tbl_stunde '; $qry.=" WHERE tbl_stunde.stunde=tbl_stundenplan.stunde "; $qry.=" and tbl_stundenplan.stunde between ". trim($stunde_von) ." and ". trim($stunde_bis) ; if (!empty($datum)) { $qry.=" and to_char(tbl_stundenplan.datum, 'YYYYMMDD') ='".addslashes(trim($datum))."' "; } if (!empty($kalenderwoche)) { $qry.=" and to_char(tbl_stundenplan.datum, 'IW') ='".addslashes(trim($kalenderwoche))."' "; } if (!empty($ort_kurzbz)) { $qry.=" and ort_kurzbz =E'".addslashes(trim($ort_kurzbz))."' "; } if (!empty($uid) || $uid=='0') { $qry.=" and mitarbeiter_uid='".addslashes(trim($uid))."' "; } if (!empty($studiengang_kz) || $studiengang_kz=='0') { $qry.=" and studiengang_kz=".$studiengang_kz." "; } if (!empty($semester) || $semester=='0') { $qry.=" and semester=".$semester." "; } if (!empty($verband) || $verband=='0') { $qry.=" and verband=E'".addslashes(trim($verband))."' "; } if (!empty($gruppe) || $gruppe=='0') { $qry.=" and gruppe=".$gruppe." "; } $qry.=" ; "; $row_raum_belegt=array(); if(!$result=$db->db_query($qry)) die('Probleme beim lesen der Stundenplan '.$db->db_last_error()); if (!$num_rows_stunde=$db->db_num_rows($result)) return $row_raum_belegt; while($row = $db->db_fetch_object($result)) { $row_raum_belegt[]=$row; } return $row_raum_belegt; } //------------------------------------------------------------------------------------------- /* * * @stundenplan_detail Stundenplan mit Lehrveranstaltungsinformationen * * @param $db Aktuelle Datenbankverbindung * @param $stundenplan_id StundenplanID * * @return array Tablle des Stundenplan im Detail * */ function stundenplan_detail($db,$stundenplan_id) { if (!$db || empty($stundenplan_id)) return false; $row_stundenplan_detail=false; //--- Raumbelegung jetzt $qry=""; $qry.=' SELECT * '; $qry.=' FROM campus.vw_stundenplan '; $qry.=" WHERE vw_stundenplan.stundenplan_id=".$stundenplan_id; $qry.=" ORDER BY datum,stunde "; $qry.=" ; "; if(!$result=$db->db_query($qry)) die('Probleme beim lesen der Stundenplan '.$db->db_last_error()); if ($num_rows_stunde=$db->db_num_rows($result)) { while($row = $db->db_fetch_object($result)) $row_stundenplan_detail=$row; } return $row_stundenplan_detail; } //------------------------------------------------------------------------------------------- /* * * @reservierung_detail Stundenplan mit Reservierungsinformationen * * @param $db Aktuelle Datenbankverbindung * @param $reservierung_id ReservierungID * * @return array Tablle des Reservierung im Detail * */ function reservierung_detail($db,$reservierung_id) { if (!$db || empty($reservierung_id)) return false; $row_reservierung_detail=false; //--- Reservierung jetzt $qry=""; $qry.=' SELECT * '; $qry.=' FROM campus.vw_reservierung '; $qry.=" WHERE vw_reservierung.reservierung_id=".$reservierung_id; $qry.=" ; "; if(!$result=$db->db_query($qry)) die('Probleme beim lesen der Stundenplan '.$db->db_last_error()); if ($num_rows_stunde=$db->db_num_rows($result)) { while($row = $db->db_fetch_object($result)) $row_reservierung_detail=$row; } return $row_reservierung_detail; } //------------------------------------------------------------------------------------------ // BENUTZER STD.PLAN //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------- /* * * @getAktuelleStd liefert die Aktuelle Stunde lt. Tabelle retour * * @param $db Aktuelle Datenbankverbindung * * @return Array der Stundentabelle * */ function getMeinStundenplan($uid='',$datum='') { $htmlout=""; if (!$db = new basis_db()) return 'Fehler beim Oeffnen der Datenbankverbindung'; $row_raum=array(); $kalenderwoche=""; $studiengang_kz=""; $semester=""; $verband=""; $gruppe=""; $ort_kurzbz=""; // ------------------------------------------------------------------------------------------ // Stunden lesen // ------------------------------------------------------------------------------------------ $row_stunde=array(); $qry="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde"; if(!$result=$db->db_query($qry)) die('Probleme beim lesen der Stundentabelle '.$db->db_last_error()); $htmlout.=''; // ------------------------------------------------------------------------------------------ // Alle Termine zum User lesen // ------------------------------------------------------------------------------------------ $user_array=uid_read_mitarbeiter_oder_student($db,$uid); // Authentifizierung if (check_student($uid)) $type='student'; elseif (check_lektor($uid)) $type='lektor'; else { //die("Cannot set usertype!"); //GastAccountHack $type='student'; } // Stundenplan erstellen $stdplan=new wochenplan($type); // Benutzergruppe $stdplan->user=$type; // aktueller Benutzer $stdplan->user_uid=$uid; // Zusaetzliche Daten laden if (isset($user_array->studiengang_kz)) { // Student if (! $stdplan->load_data($type,$uid,NULL,trim($user_array->studiengang_kz),trim($user_array->semester),trim($user_array->verband),trim($user_array->gruppe)) ) { die($stdplan->errormsg); } } else { // Mitarbeiter if (! $stdplan->load_data($type,$uid) ) { die($stdplan->errormsg); } } $mtag=mb_substr($datum, 6,2); $month=mb_substr($datum, 4,2); $jahr=mb_substr($datum, 0,4); $datum=@mktime(12,0,0,$month,$mtag,$jahr); // Stundenplan einer Woche laden if (! $stdplan->load_week($datum)) die($stdplan->errormsg); #$htmlout.=date('Y-m-d',$stdplan->datum); $ersterTagMonat=date('m', $stdplan->datum); $ersterTag=date('d', $stdplan->datum); $year=date('Y', $stdplan->datum); $weekday=date('w'); $gefunden=null; for ($ind_stdplan=0;$ind_stdplanstd_plan);$ind_stdplan++) { $datum_check=@mktime(12,0,0,$ersterTagMonat,($ersterTag + $ind_stdplan ),$year); if (date('Ymd',$datum)==date('Ymd',$datum_check)) { $gefunden=1 + $ind_stdplan; break; } } while($row_stunden = $db->db_fetch_object($result)) { $row_stunden->time_beginn=mktime(mb_substr($row_stunden->beginn, 0,2),mb_substr($row_stunden->beginn, 3,2)); $row_stunden->time_ende=mktime(mb_substr($row_stunden->ende, 0,2),mb_substr($row_stunden->ende, 3,2)); $row_stunden->beginn_show=mb_substr($row_stunden->beginn, 0,5); $row_stunden->ende_show=mb_substr($row_stunden->ende, 0,5); $row_stunden->beginn_time=date('Hi',$row_stunden->time_beginn); $row_stunden->ende_time=date('Hi',$row_stunden->time_ende); $row_stunden->aktiv_time=date('Hi'); $htmlout.=''; if ($row_stunden->beginn_time<=$row_stunden->aktiv_time && $row_stunden->ende_time>=$row_stunden->aktiv_time ) $htmlout.=''; else $htmlout.=''; $htmlout.=''; $htmlout.=''; } $htmlout.='
'.$row_stunden->beginn_show.'
'.$row_stunden->ende_show.'
'.$row_stunden->beginn_show.'
'.$row_stunden->ende_show.'
'; $stunde_von=$row_stunden->stunde; $stunde_bis=$row_stunden->stunde; ## $row_raum=stundenplan_raum($db,$ort_kurzbz,$datum,$stunde_von,$stunde_bis,$uid,$kalenderwoche,$studiengang_kz,$semester,$verband,$gruppe); ##var_dump($stdplan->std_plan[$gefunden][$stunde_von][0]); $row_raum=array(); if (!is_null($gefunden) && isset($stdplan->std_plan) && isset($stdplan->std_plan[$gefunden]) && isset($stdplan->std_plan[$gefunden][$stunde_von]) && isset($stdplan->std_plan[$gefunden][$stunde_von][0])) $row_raum=$stdplan->std_plan[$gefunden][$stunde_von][0]; if ((is_array($row_raum) || is_object($row_raum)) && count($row_raum)>0 && isset($row_raum->reservierung) ) { if ($row_raum->reservierung) $htmlout.=(!empty($row_raum->titel)?$row_raum->titel:(!empty($row_raum->titel) && $row_raum->lehrfach!=$row_raum->titel?$row_raum->lehrfach:'')).'
'.$row_raum->ort; else $htmlout.=$row_raum->lehrfach.'-'.$row_raum->lehrform.'
'.$row_raum->ort; } $htmlout.='
'; #exit($htmlout); return $htmlout; } //------------------------------------------------------------------------------------------ // RAUMTYPEN //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------- /* * * @raum_typen Liste der Raumtypen * * @param $uid Aktueller Anwender * * @return array Tablle der Raeume * */ function raum_typen($uid='') { $htmlout=""; // ------------------------------------------------------------------------------------------ // Linkes Auswahlmenue fuer Raumtypen // ------------------------------------------------------------------------------------------ $row_ort=array( array("type"=>"EDV","beschreibung"=>"EDV Säle","img"=>""), array("type"=>"HS","beschreibung"=> "Hörsäle","img"=>""), array("type"=>"SEM","beschreibung"=>"Seminarräume","img"=>""), array("type"=>"Lab","beschreibung"=>"Labors","img"=>""), array("type"=>"EXT","beschreibung"=>"Ext.Räume","img"=>""), array("type"=>"DIV","beschreibung"=>"Diverse","img"=>""), array("type"=>"UEB","beschreibung"=>"Übungsräume","img"=>"") # array("type"=>"ENERGY","beschreibung"=>"Energy","img"=>""), ); if (!is_array($row_ort) || count($row_ort)<1) return $htmlout; $htmlout.=''; for ($i=0;$i'; $htmlout.=''; $htmlout.=''; $htmlout.=''; } $htmlout.='
'; return $htmlout; } //------------------------------------------------------------------------------------------- /* * * @ort_raum_typen Liste der Raeume je Type * * @param $uid Aktueller Anwender * @param $raumtyp_kurzbz Raumtype * * @return array Tablle der Raeume * */ function ort_raum_typen($uid='',$raumtyp_kurzbz='',$datum='') { $htmlout=""; if (empty($raumtyp_kurzbz)) return raum_typen($uid); if (empty($datum)) $datum=date("Ymd", mktime(0,0,0,date("m"),date("d"),date("y"))); if (!$db = new basis_db()) return 'Fehler beim Oeffnen der Datenbankverbindung'; $htmlout.=''; $htmlout.=''; $htmlout.=''; $htmlout.=''; $htmlout.='
'; $htmlout.=''; $htmlout.='Raumtypen'; $htmlout.=''; $htmlout.=''; $htmlout.='
'; // ------------------------------------------------------------------------------------------ // Alle Raum Typen zur Selektion // ------------------------------------------------------------------------------------------ $qry=""; $qry.=" SELECT tbl_raumtyp.raumtyp_kurzbz,tbl_raumtyp.beschreibung "; $qry.=" ,tbl_ortraumtyp.ort_kurzbz "; $qry.=" ,tbl_ort.bezeichnung ,tbl_ort.aktiv "; $qry.=" FROM tbl_raumtyp , tbl_ortraumtyp , tbl_ort "; $qry.=" WHERE tbl_ortraumtyp.raumtyp_kurzbz=tbl_raumtyp.raumtyp_kurzbz "; $qry.=" AND tbl_ort.ort_kurzbz=tbl_ortraumtyp.ort_kurzbz "; $qry.=" AND tbl_ort.aktiv "; $qry.=" AND tbl_raumtyp.raumtyp_kurzbz like E'%".addslashes(trim($raumtyp_kurzbz))."%' "; $qry.=" order by tbl_raumtyp.raumtyp_kurzbz ,tbl_ortraumtyp.ort_kurzbz "; $qry.=" ; "; if(!$result=$db->db_query($qry)) return 'Probleme beim lesen der Raumtyptabelle '.$db->db_last_error(); $row_raum=array(); if ($tmp_row_raum=$db->db_num_rows($result)) { while($tmp_row_raum = $db->db_fetch_object($result)) $row_raum[]=$tmp_row_raum; } $row_stunde=getAktuelleStd($db); // Plausib Stunde $row_stunde[0]->stunde=(isset($row_stunde[0]->stunde)?$row_stunde[0]->stunde:0); $stunde_von=$row_stunde[0]->stunde; $stunde_bis=$row_stunde[0]->stunde; $htmlout.=''; reset($row_raum); for ($i=0;$iort_kurzbz; $stunde_von=$row_stunde[0]->stunde; $stunde_bis=$row_stunde[0]->stunde; if ($info=stundenplan_raum($db,$ort_kurzbz,$datum,$stunde_von,$stunde_bis)) { $farbe="besetzt"; } $ort_kurzbz=$row_raum[$i]->ort_kurzbz; $stunde_von=$row_stunde[0]->stunde; $stunde_bis=$row_stunde[0]->stunde + 1; if (!$info=stundenplan_raum($db,$ort_kurzbz,$datum,$stunde_von,$stunde_bis)) { $farbe="2 Einheiten frei"; } $htmlout.=''; $htmlout.=''; $htmlout.=''; } $htmlout.='
'; $htmlout.=''; $htmlout.=trim($ort_kurzbz); $htmlout.=''; $htmlout.=''; $htmlout.=''.$farbe.'
'; return $htmlout; } //------------------------------------------------------------------------------------------- /* * * @ort_plan_raum_typen Stundenplan zum Raum * * @param $uid Aktueller Anwender * @param $raumtyp_kurzbz Raumtype * @param $ort_kurzbz Ortsbezeichnung * @param $datum Datum * * @return array Tablle des Reservierung im Detail * */ function ort_plan_raum_typen($uid='',$raumtyp_kurzbz='',$ort_kurzbz='',$datum='') { $htmlout=""; if (empty($raumtyp_kurzbz)) return raum_typen($uid); if (!$db = new basis_db()) return 'Fehler beim Oeffnen der Datenbankverbindung'; $htmlout.=''; $htmlout.=''; $htmlout.=''; $htmlout.=''; $htmlout.=''; $htmlout.=''; $htmlout.=''; $htmlout.='
'; $htmlout.=''; $htmlout.=$raumtyp_kurzbz; $htmlout.=''; $htmlout.=''; $htmlout.='
'; $htmlout.=''; $htmlout.=$ort_kurzbz; $htmlout.=''; $htmlout.=''; $htmlout.='
'; $row_stunde=array(); $qry="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde"; if(!$result=$db->db_query($qry)) die('Probleme beim lesen der Stundentabelle '.$db->db_last_error()); $num_rows_stunde=$db->db_num_rows(); $htmlout.=''; while($row_stunden = $db->db_fetch_object($result)) { $row_stunden->time_beginn=mktime(mb_substr($row_stunden->beginn, 0,2),mb_substr($row_stunden->beginn, 3,2)); $row_stunden->time_ende=mktime(mb_substr($row_stunden->ende, 0,2),mb_substr($row_stunden->ende, 3,2)); $row_stunden->beginn_show=mb_substr($row_stunden->beginn, 0,5); $row_stunden->ende_show=mb_substr($row_stunden->ende, 0,5); $row_stunden->beginn_time=date('Hi',$row_stunden->time_beginn); $row_stunden->ende_time=date('Hi',$row_stunden->time_ende); $row_stunden->aktiv_time=date('Hi'); $htmlout.=''; if ($row_stunden->beginn_time<=$row_stunden->aktiv_time && $row_stunden->ende_time>=$row_stunden->aktiv_time ) $htmlout.=''; else $htmlout.=''; $htmlout.=''; $htmlout.=''; } $htmlout.='
'.$row_stunden->beginn_show.'
'.$row_stunden->ende_show.'
'.$row_stunden->beginn_show.'
'.$row_stunden->ende_show.'
'; $row_raum=array(); $kalenderwoche=""; $studiengang_kz=""; $semester=""; $verband=""; $gruppe=""; $uids=""; $stunde_von=$row_stunden->stunde; $stunde_bis=$row_stunden->stunde; $row_raum=stundenplan_raum($db,$ort_kurzbz,$datum,$stunde_von,$stunde_bis,$uids,$kalenderwoche,$studiengang_kz,$semester,$verband,$gruppe); if (is_array($row_raum) && count($row_raum)>0) { for ($i=0;$istundenplan_id) { if ($row_info=stundenplan_detail($db,$row_raum[$i]->stundenplan_id)) $htmlout.=$row_info->lehrfach.'-'.$row_info->lehrform.'
'.$row_info->ort_kurzbz; } else if ($row_raum[$i]->reservierung_id) { if ($row_info=reservierung_detail($db,$row_raum[$i]->reservierung_id)) $htmlout.=(!empty($row_info->titel)?$row_info->titel:$row_info->beschreibung).'
'.$row_info->ort_kurzbz; } break; } } $htmlout.='
'; return $htmlout; } #------------------------------------------------------------------------------------------- /* * * @uid_read_mitarbeiter_oder_student Daten zum Mitarbeiter oder Studenten * * @param $db Aktuelle Datenbankverbindung * @param $uid Userkurzzeichen * * @return Array der User Inormationen wenn User gefunden wurde ansonst false * */ function uid_read_mitarbeiter_oder_student($db,$uid) { $rows=array(); // Plausib if (!$db) return $rows; // Pruefen ob Mitarbeiter $qry="SELECT uid,person_id,anrede,titelpre,vorname,vornamen,nachname,aktiv FROM campus.vw_mitarbeiter where uid='".addslashes(trim($uid))."' LIMIT 1 ; "; if(!$results=$db->db_query($qry)) die('Probleme beim lesen der Mitarbeiter '.$db->db_last_error()); if ($num_rows_stunde=$db->db_num_rows($results)) { while($rows = $db->db_fetch_object($results)) { $rows->name=''; $rows->name.=(isset($rows->anrede)?trim($rows->anrede).' ':''); $rows->name.=(isset($rows->titelpre)?trim($rows->titelpre).' ':''); $rows->name.=(isset($rows->vorname)?trim($rows->vorname).' ':''); $rows->name.=(isset($rows->vornamen)?trim($rows->vornamen).' ':''); $rows->name.=(isset($rows->nachname)?trim($rows->nachname).' ':''); return $rows; } } // Wenn kein Mitarbeiter pruefen ob Student $qry="SELECT uid,person_id,anrede,titelpre,vorname,vornamen,nachname,aktiv,studiengang_kz,semester,verband,gruppe FROM campus.vw_student where uid='".addslashes(trim($uid))."' LIMIT 1 ; "; if(!$result=$db->db_query($qry)) die('Probleme beim lesen der Studenten '.$db->db_last_error()); if ($num_rows_stunde=$db->db_num_rows($result)) { while($rows = $db->db_fetch_object($result)) { $rows->name=''; $rows->name.=(isset($rows->anrede)?trim($rows->anrede).' ':''); $rows->name.=(isset($rows->titelpre)?trim($rows->titelpre).' ':''); $rows->name.=(isset($rows->vorname)?trim($rows->vorname).' ':''); $rows->name.=(isset($rows->vornamen)?trim($rows->vornamen).' ':''); $rows->name.=(isset($rows->nachname)?trim($rows->nachname).' ':''); return $rows; } } // Daten gefunden wurden ist nicht mehr der Initialwert False als Returnparameter vorhanden return $rows; } ?>