time_beginn<=time() && $row_stunde[$i]->time_ende>=time())
{
$zeit_aktuell=true;
}
if ($zeit_aktuell)
{
$html_liste_raum.='';
}
else
{
$html_liste_raum.='';
}
$gef_raum_einteilung_check=false;
$TagInd=$ii + 1;
$StdInd=$i + 1;
$lektor='';
$lektor_anz=0;
if (isset($stdplan->std_plan[$TagInd]) && isset($stdplan->std_plan[$TagInd][$StdInd]) && isset($stdplan->std_plan[$TagInd][$StdInd][0]->lehrfach))
{
foreach ($stdplan->std_plan[$TagInd][$StdInd] as $lehrstunde)
{
//if (!isset($lehrstunde->reservierung) || ($lehrstunde->reservierung && $type!='lektor') )
// continue;
if (!$gef_raum_einteilung_check)
$gef_raum_einteilung_check=$lehrstunde;
$lektor.=(isset($lehrstunde->lektor) && !empty($lehrstunde->lektor)?trim($lehrstunde->lektor).' ':'tw-0');
$lektor_anz++;
if ($lektor_max<$lektor_anz)
$lektor_max=$lektor_anz;
}
}
if ($gef_raum_einteilung_check)
{
if ($gef_raum_einteilung_check->reservierung)
$lehrstunde=trim($gef_raum_einteilung_check->titel).' ';
else
$lehrstunde=trim($gef_raum_einteilung_check->lehrfach).'-'.trim($gef_raum_einteilung_check->lehrform).' ';
$ort=(isset($gef_raum_einteilung_check->ort) && !empty($gef_raum_einteilung_check->ort)?trim($gef_raum_einteilung_check->ort).' ':'');
$farbe=(isset($gef_raum_einteilung_check->farbe) && !empty($gef_raum_einteilung_check->farbe)?$gef_raum_einteilung_check->farbe:'');
$html_liste_raum.='';
# $html_liste_raum.=$TagInd.'**'.$StdInd .' '.$lehrstunde.$lektor.$ort;
$html_liste_raum.=$lehrstunde.$lektor.($lektor_anz>1?'':'{***}')."$ort";
$html_liste_raum.=' | ';
}
else
{
$html_liste_raum.='| | ';
}
$html_liste_raum.=' | ';
}
$html_liste_raum.='';
}
$html_liste_raum=($lektor_max>1?str_replace('{***}',' ',$html_liste_raum):str_replace('{***}','',$html_liste_raum));
$html_liste_raum.=' Top | | ';
$html_liste_raum.=' ';
return $html_liste_raum;
}
#-------------------------------------------------------------------------------------------
/*
*
* @alle_raum_informationen Rauminformation zur Auswahl Raumtype
*
* @param $db Aktuelle Datenbankverbindung
* @param $raumtyp_kurzbz Raumtyp
* @param $ort_kurzbz Detailanzeige Stundenplan eines Raums
*
* @return HTML Tablle der Raumtypen
*
*/
function alle_raum_informationen($db,$raumtyp_kurzbz,$ort_kurzbz, $standort_id)
{
// HTML Init - Raumliste - Tabelle
$html_liste_raum='';
// Header - Raumliste - Tabelle
$html_liste_raum.=''. strftime(constHeaderDatumZeit,time()).'';
// DB Verbindung pruefen, Plausib - ohne Verbindung Header anzeigen
if (!$db)
return $html_liste_raum;
// ------------------------------------------------------------------------------------------
// Alle Raum Typen zur Selektion
// ------------------------------------------------------------------------------------------
$row_raum=array();
$row_raum_aktiv=array();
$row_raum_alle=array();
$qry="";
$qry.=" SELECT DISTINCT ";
$qry.=" tbl_ortraumtyp.ort_kurzbz ";
$qry.=" ,tbl_ort.bezeichnung ,tbl_ort.aktiv ";
$qry.=" , (SELECT 'gesperrt'::text FROM public.tbl_ortraumtyp WHERE raumtyp_kurzbz='Gesperrt' AND ort_kurzbz=tbl_ort.ort_kurzbz) as gesperrt";
$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 lower(tbl_raumtyp.raumtyp_kurzbz) like lower('%".$db->db_escape(trim($raumtyp_kurzbz))."%') ";
if($standort_id!='')
$qry.=" AND (tbl_ort.standort_id=".$db->db_add_param($standort_id, FHC_INTEGER)." OR tbl_ort.standort_id is null)";
$qry.=" order by tbl_ortraumtyp.ort_kurzbz ";
$qry.=" ; ";
if(!$result=$db->db_query($qry))
die('Probleme beim lesen der Raumtyptabelle ');
$num_rows_stunde=$db->db_num_rows($result);
if($num_rows_stunde==0)
return "Derzeit sind hier keine Eintraege vorhanden";
while($tmp_row_raum = $db->db_fetch_object($result))
{
// Wenn noch kein Raum gewaehlt wurde den ersten als Default nehmen
if (!trim($ort_kurzbz))
$ort_kurzbz=$tmp_row_raum->ort_kurzbz;
// Aktiven Raum Anzeigen
if (trim($ort_kurzbz)==trim($tmp_row_raum->ort_kurzbz))
$row_raum_aktiv=$tmp_row_raum;
$row_raum_alle[]=$tmp_row_raum->ort_kurzbz;
$row_raum[]=$tmp_row_raum;
}
if (count($row_raum_aktiv)<1)
$row_raum_aktiv=$row_raum[0];
// --------------------------------------------------------------
// Raumreservierungen fuer Aktive Raumauswahl
// --------------------------------------------------------------
// Die aktive Stunde ermitteln - zum lesen welcher Raum jetzt besetzt ist - aktive Lehreinheit
$row_stunde=array();
$qry="";
$qry.="SELECT stunde, beginn, ende ";
$qry.=" FROM lehre.tbl_stunde ";
$qry.=" WHERE ".$db->db_add_param(constAktuelleZeitHHMi,FHC_STRING)." between to_char(tbl_stunde.beginn, 'HH24MI') and to_char(tbl_stunde.ende, 'HH24MI') ";
$qry.=" ORDER BY stunde LIMIT 1 ; ";
if(!$result=$db->db_query($qry))
die('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 ".$db->db_add_param(constAktuelleZeitHH,FHC_STRING)." 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))
die('Probleme beim lesen der Raumtyptabelle '.$db->db_last_error());
}
while($tmp_row_stunde = $db->db_fetch_object($result))
$row_stunde[]=$tmp_row_stunde;
// Plausib Stunde
if(!isset($row_stunde[0]))
$row_stunde[0]=new stdClass();
$row_stunde[0]->stunde=(isset($row_stunde[0]) && isset($row_stunde[0]->stunde)?$row_stunde[0]->stunde:0);
$html_liste_raum.='';
$html_liste_raum.='';
reset($row_raum);
for ($i=0;$iort_kurzbz;
$datum=date("Y-m-d", mktime(0,0,0,date("m"),date("d"),date("y")));
$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="rot";
}
$ort_kurzbz=$row_raum[$i]->ort_kurzbz;
$datum=date("Y-m-d", mktime(0,0,0,date("m"),date("d"),date("y")));
$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="gruen";
}
if ($row_raum[$i]->gesperrt=="gesperrt")
$farbe="rot";
// Nach 4 Raumanzeigen eine Neuezeile erzeugen
$html_liste_raum.=($i==0 || $i%4?"":" ");
$html_liste_raum.='| ';
$html_liste_raum.='';
$html_liste_raum.='';
$html_liste_raum.=trim($ort_kurzbz);
$html_liste_raum.='
';
$html_liste_raum.='';
$html_liste_raum.=' | ';
}
$html_liste_raum.=' ';
$html_liste_raum.=' ';
// Legende
$html_liste_raum.=' ';
$html_liste_raum.='';
$html_liste_raum.='';
$html_liste_raum.='| | Mindestens nächsten 2 Einheiten frei |
| ';
$html_liste_raum.=' | ';
$html_liste_raum.='| | Raum derzeit besetzt / gesperrt |
| ';
$html_liste_raum.=' ';
$html_liste_raum.=' ';
$html_liste_raum.=' ';
// Aktiver Raum Haederinformation
$html_liste_raum.=''.$row_raum_aktiv->ort_kurzbz.' - '.strftime(constRaumDatumZeit,time()).' '.$row_raum_aktiv->bezeichnung.''.'';
$ort_kurzbz=$row_raum_aktiv->ort_kurzbz;
$datum=date("Ymd", mktime(0,0,0,date("m"),date("d"),date("y")));
$stunde_von=0;
$stunde_bis=99;
if (!$row_raum_plan=stundenplan_raum($db,$ort_kurzbz,$datum,$stunde_von,$stunde_bis))
{
$row_raum_plan=array();
$html_liste_raum." keine Reservierungen ".$datum;
}
$html_liste_raum.='';
$html_liste_raum.='';
// Stundentabelle 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());
$lastEnde=0;
$num_rows_stunde=$db->db_num_rows();
while($row = $db->db_fetch_object())
{
$row->time_beginn=mktime(mb_substr($row->beginn, 0,2),mb_substr($row->beginn, 3,2));
$row->time_ende=mktime(mb_substr($row->ende, 0,2),mb_substr($row->ende, 3,2));
$row->beginn_kurz=mb_substr($row->beginn, 0,5);
$row->ende_kurz=mb_substr($row->ende, 0,5);
$row->beginn_show=substr($row->beginn, 0,5);
$row->ende_show=substr($row->ende, 0,5);
// Pausenzeiten werden zur naechsten Std. gerechnet als Aktuellezeit
// dh. Letztes Ende ist gleich Start aktueller Datensatz
if ($lastEnde && $row->time_beginn!=$lastEnde)
{
$row->time_beginn=$lastEnde;
}
// Aktuelle Stunde kennzeichnen
$row->aktuell=false;
if ($row->time_beginn<=time() && $row->time_ende>=time())
$row->aktuell=true;
else
$row->aktuell=false;
$row_stunde[]=$row;
}
// zur Stundentabelle die Rauminformationen lesen
for ($i=0;$i");
$html_liste_raum.='';
if ($row->aktuell)
{
$html_liste_raum.=''.trim($row->beginn_kurz)." ".trim($row->ende_kurz).' | ';
}
else
{
$html_liste_raum.=''.trim($row->beginn_kurz)." ".trim($row->ende_kurz).' | ';
}
reset($row_raum_plan);
$gef_raum_einteilung=array();
for ($ii=0;$iistunde!=$row_raum_plan[$ii]->stunde)
{
continue;
}
$gef_raum_einteilung=$row_raum_plan[$ii];
// Stundenplan Detail lesen
if (isset($gef_raum_einteilung->stundenplan_id) && !empty($gef_raum_einteilung->stundenplan_id))
{
$gef_raum_einteilung->infotext='Fehler lesen Stundenplan '.$gef_raum_einteilung->stundenplan_id;
// Details wurden bereits gelesen
if (isset($gef_stundenplan_detail) && isset($gef_stundenplan_detail->stundenplan_id) && $gef_stundenplan_detail->stundenplan_id==$gef_raum_einteilung->stundenplan_id)
{
$gef_raum_einteilung->infotext=$gef_stundenplan_detail->lehrfach.'-'.$gef_stundenplan_detail->lehrform.' '.$gef_stundenplan_detail->lektor.' '.mb_strtoupper(trim($gef_stundenplan_detail->stg_typ).trim($gef_stundenplan_detail->stg_kurzbz)).'-'.$gef_stundenplan_detail->semester.$gef_stundenplan_detail->verband;
}
// Detail lesen
elseif ($gef_stundenplan_detail=stundenplan_detail($db,$gef_raum_einteilung->stundenplan_id))
{
if (isset($gef_stundenplan_detail->lehrfach))
$gef_stundenplan_detail->lehrfach=trim(str_replace(array(' ',' ',"\n\r","\n"),'',$gef_stundenplan_detail->lehrfach));
if (isset($gef_stundenplan_detail->lehrform))
$gef_stundenplan_detail->lehrform=trim(str_replace(array(' ',' ',"\n\r","\n"),'',$gef_stundenplan_detail->lehrform));
if (isset($gef_stundenplan_detail->lektor))
$gef_stundenplan_detail->lektor=trim(str_replace(array(' ',' ',"\n\r","\n"),'',$gef_stundenplan_detail->lektor));
if (isset($gef_stundenplan_detail->stg_kurzbzlang))
$gef_stundenplan_detail->stg_kurzbzlang=trim(str_replace(array(' ',' ',"\n\r","\n"),'',$gef_stundenplan_detail->stg_kurzbzlang));
$img_sticky='';
$gef_stundenplan_detail->titel=trim($gef_stundenplan_detail->titel);
if(!empty($gef_stundenplan_detail->titel) )
$img_sticky=' ';
$gef_raum_einteilung->infotext=$gef_stundenplan_detail->lehrfach.'-'.$gef_stundenplan_detail->lehrform.$img_sticky.' '.$gef_stundenplan_detail->lektor.' '.$gef_stundenplan_detail->stg_kurzbzlang.'-'.$gef_stundenplan_detail->semester.$gef_stundenplan_detail->verband;
}
if (isset($gef_stundenplan_detail->farbe) && !empty($gef_stundenplan_detail->farbe) )
{
$gef_raum_einteilung->farbe=$gef_stundenplan_detail->farbe;
}
}
// Reservierung Detail
if (isset($gef_raum_einteilung->reservierung_id) && !empty($gef_raum_einteilung->reservierung_id))
{
$gef_raum_einteilung->infotext='Fehler lesen Reservierung '.$gef_raum_einteilung->reservierung_id;
// Details wurden bereits gelesen
if (isset($gef_stundenplan_detail) && isset($gef_stundenplan_detail->reservierung_id) && $gef_stundenplan_detail->reservierung_id==$gef_raum_einteilung->reservierung_id)
{
$gef_raum_einteilung->infotext=(!empty($gef_stundenplan_detail->titel)?$gef_stundenplan_detail->titel.' ':'').(!empty($gef_stundenplan_detail->uid)?$gef_stundenplan_detail->uid.' ':'').$gef_stundenplan_detail->beschreibung;
}
// Detail lesen
elseif ($gef_stundenplan_detail=reservierung_detail($db,$gef_raum_einteilung->reservierung_id))
{
if (isset($gef_stundenplan_detail->titel))
$gef_stundenplan_detail->titel=trim(str_replace(array(' ',' ',"\n\r","\n"),'',$gef_stundenplan_detail->titel));
if (isset($gef_stundenplan_detail->beschreibung))
$gef_stundenplan_detail->beschreibung=trim(str_replace(array(' ',' ',"\n\r","\n"),'',$gef_stundenplan_detail->beschreibung));
if (isset($gef_stundenplan_detail->uid))
$gef_stundenplan_detail->uid=trim(str_replace(array(' ',' ',"\n\r","\n"),'',$gef_stundenplan_detail->uid));
$gef_raum_einteilung->infotext=(!empty($gef_stundenplan_detail->titel)?$gef_stundenplan_detail->titel.' ':'').' '.(!empty($gef_stundenplan_detail->uid)?$gef_stundenplan_detail->uid.' ':'').$gef_stundenplan_detail->beschreibung;
}
if (isset($gef_stundenplan_detail->farbe) && !empty($gef_stundenplan_detail->farbe) )
{
$gef_raum_einteilung->farbe=$gef_stundenplan_detail->farbe;
}
}
}
$html_liste_raum.='aktuell?' class="raum_liste_detail_stundenplan_aktuell" ':' class="raum_liste_detail_stundenplan_normal" ') .' '. (isset($gef_raum_einteilung->farbe)?' style="background-color:#'.$gef_raum_einteilung->farbe.'" ':'').'>'.(isset($gef_raum_einteilung->infotext) && $gef_raum_einteilung->infotext? $gef_raum_einteilung->infotext :'
').' | ';
$html_liste_raum.=' ';
}
$html_liste_raum.=' | ';
$html_liste_raum.=' ';
$html_liste_raum.='';
return $html_liste_raum;
}
#-------------------------------------------------------------------------------------------
/*
*
* @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 ". $db->db_add_param(trim($stunde_von), FHC_STRING) ." and ". $db->db_add_param(trim($stunde_bis), FHC_STRING) ;
$datum_obj = new datum();
if (!empty($datum))
{
$qry.=" and tbl_reservierung.datum =".$db->db_add_param(trim($datum), FHC_STRING);
}
if (!empty($kalenderwoche))
{
$qry.=" and to_char(tbl_reservierung.datum, 'IW') =".$db->db_add_param(trim($kalenderwoche), FHC_STRING);
}
if (!empty($ort_kurzbz))
{
$qry.=" and ort_kurzbz=".$db->db_add_param(trim($ort_kurzbz), FHC_STRING);
}
if (!empty($uid) || $uid=='0')
{
$qry.=" and uid=".$db->db_add_param(trim($uid), FHC_STRING);
}
if (!empty($studiengang_kz) || $studiengang_kz=='0')
{
$qry.=" and studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_STRING);
}
if (!empty($semester) || $semester=='0')
{
$qry.=" and semester=".$db->db_add_param($semester, FHC_STRING);
}
if (!empty($verband) || $verband=='0')
{
$qry.=" and verband=".$db->db_add_param(trim($verband), FHC_STRING);
}
if (!empty($gruppe) || $gruppe=='0')
{
$qry.=" and gruppe=".$db->db_add_param($gruppe, FHC_STRING);
}
$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 ".$db->db_add_param(trim($stunde_von), FHC_STRING)." and ".$db->db_add_param(trim($stunde_bis), FHC_STRING);
if (!empty($datum))
{
$qry.=" and tbl_stundenplan.datum =".$db->db_add_param(trim($datum), FHC_STRING);
}
if (!empty($kalenderwoche))
{
$qry.=" and to_char(tbl_stundenplan.datum, 'IW') =".$db->db_add_param(trim($kalenderwoche), FHC_STRING);
}
if (!empty($ort_kurzbz))
{
$qry.=" and ort_kurzbz =E".$db->db_add_param(trim($ort_kurzbz), FHC_STRING);
}
if (!empty($uid) || $uid=='0')
{
$qry.=" and mitarbeiter_uid=".$db->db_add_param(trim($uid), FHC_STRING);
}
if (!empty($studiengang_kz) || $studiengang_kz=='0')
{
$qry.=" and studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_STRING);
}
if (!empty($semester) || $semester=='0')
{
$qry.=" and semester=".$db->db_add_param($semester, FHC_STRING);
}
if (!empty($verband) || $verband=='0')
{
$qry.=" and verband=E".$db->db_add_param(trim($verband), FHC_STRING);
}
if (!empty($gruppe) || $gruppe=='0')
{
$qry.=" and gruppe=".$db->db_add_param($gruppe, FHC_STRING);
}
$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)
{
$row_stundenplan_detail=false;
if (!$db || empty($stundenplan_id))
return $row_stundenplan_detail;
//--- Raumbelegung jetzt
$qry=' SELECT * FROM campus.vw_stundenplan ';
$qry.=" WHERE vw_stundenplan.stundenplan_id=".$db->db_add_param($stundenplan_id, FHC_INTEGER);
$qry.=" ORDER BY datum,stunde ";
if(!$result=$db->db_query($qry))
die('Probleme beim lesen der Stundenplan '.$db->db_last_error());
if (!$num_rows_stunde=$db->db_num_rows())
return $row_stundenplan_detail;
while($row = $db->db_fetch_object())
$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)
{
$row_reservierung_detail=false;
if (!$db || empty($reservierung_id))
return $row_reservierung_detail;
//--- Reservierung jetzt
$qry=' SELECT * FROM campus.vw_reservierung ';
$qry.=' WHERE vw_reservierung.reservierung_id='.$db->db_add_param($reservierung_id, FHC_INTEGER);
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_reservierung_detail;
while($row = $db->db_fetch_object($result))
$row_reservierung_detail=$row;
return $row_reservierung_detail;
}
#-------------------------------------------------------------------------------------------
/*
*
* @html_output_liste_raumtypen Tabellenliste der Raumtypen
*
* @param $array Raumtyp,Beschreibung
*
* @return HTML Tablle der Raumtypen
*
*/
function html_output_liste_raumtypen($row_ort)
{
global $standort_id;
$html_liste_orte='';
if (!is_array($row_ort) || count($row_ort)<1)
return $html_liste_orte;
for ($i=0;$i';
$html_liste_orte.='';
$html_liste_orte.='';
$html_liste_orte.='';
$html_liste_orte.=trim($row_ort[$i]["beschreibung"]);
$html_liste_orte.='';
$html_liste_orte.='';
$html_liste_orte.=' | ';
$html_liste_orte.='';
}
return $html_liste_orte;
}
#-------------------------------------------------------------------------------------------
/*
*
* @alle_uid_stundenplan_informationen Termine zur Auswahl Raumtype
*
* @param $db Aktuelle Datenbankverbindung
* @param $uid Userkurzzeichen
* @param $pwd Password
*
* @return true wenn Fehler oder false wenn LDAP Inormationen zum User gefunden wurde
*
*/
function ldap_uid_check($uid,$pwd="")
{
if($pwd=='')
return "Es wurde kein Passwort eingetragen";
// eventuelle Daten vom Vorgaenger loeschen - sicherstellen das Initial ist
if (isset($_SESSION[constSESSIONNAME]))
unset($_SESSION[constSESSIONNAME]);
// Check User vorhanden ist ( Password wenn Online eingabe ), ansonst zurueck
if (empty($uid))
return "Benutzername fehlt!";
$auth = new authentication();
if($auth->checkpassword($uid, $pwd))
return false;
else
return "Login fehlgeschlagen ".$auth->errormsg;
}
#-------------------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------------
/*
*
* @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=".$db->db_add_param(trim($uid), FHC_STRING)." 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 FROM campus.vw_student where uid=".$db->db_add_param(trim($uid), FHC_STRING)." LIMIT 1 ; ";
if(!$result=$db->db_query($qry))
die('Probleme beim Lesen der Studierenden ');
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;
}
#-------------------------------------------------------------------------------------------
/*
*
* @personen_id_read_mitarbeiter_oder_student Daten zum Mitarbeiter oder Studenten
*
* @param $db Aktuelle Datenbankverbindung
* @param $person_id Userkurzzeichen
*
* @return Array der User Inormationen wenn User gefunden wurde ansonst false
*
*/
function personen_id_read_mitarbeiter_oder_student($db,$person_id)
{
$row=array();
// Plausib
if (!$db)
return $row;
// Pruefen ob Mitarbeiter
$qry='';
$qry.=' SELECT uid,person_id,anrede,titelpre,vorname,vornamen,nachname,aktiv FROM campus.vw_mitarbeiter where person_id='.$db->db_add_param(trim($person_id), FHC_INTEGER);
$qry.=' UNION ';
// Pruefen ob Student
$qry.='SELECT uid,person_id,anrede,titelpre,vorname,vornamen,nachname,aktiv FROM campus.vw_student where person_id='.$db->db_add_param(trim($person_id), FHC_INTEGER);
$qry.=' LIMIT 20 ';
if(!$result=$db->db_query($qry))
die('Probleme beim lesen der MitarbeiterInnen/Studierenden '.$db->db_last_error());
if (!$num_rows_stunde=$db->db_num_rows($result))
return $row;
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).' ':'');
$row[]=$rows;
}
// Daten gefunden wurden ist nicht mehr der Initialwert False als Returnparameter vorhanden
return $row;
}
#-------------------------------------------------------------------------------------------
/*
*
* @read_create_html_news lesen der CIS - News zum anzeigen als HTML Tabelle
*
* @param $db Aktuelle Datenbankverbindung
* @param $fachbereich_kurzbz Fachbereichskennzeichen
* @param $studiengang_kz Studiengan Kennzeichen
* @param $semester Semester
*
* @return HTML Tabelle mit Newszeilen
*
*/
function read_create_html_news($db,$fachbereich_kurzbz,$studiengang_kz,$semester)
{
if(defined('CIS_INFOSCREEN_NEWS_ANZEIGEN') && CIS_INFOSCREEN_NEWS_ANZEIGEN==false)
return '';
// ------------------------------------------------------------------------------------------
// Lesen Newstickerzeilen
// ------------------------------------------------------------------------------------------
// Initialisieren der Newstickerzeilen
$news='';
$news_obj = new news();
$news_obj->getnews(MAXNEWSALTER, $studiengang_kz, $semester, false, null, MAXNEWS);
// Newsliste erzeugen
$news='';
$i=0;
foreach($news_obj->result as $row)
{
if($row->content_id!='')
{
$lang=DEFAULT_LANGUAGE;
$content = new content();
$content->getContent($row->content_id, $lang, null, null, false);
$xml_inhalt = new DOMDocument();
if($content->content!='')
{
$xml_inhalt->loadXML($content->content);
}
if($xml_inhalt->getElementsByTagName('verfasser')->item(0))
$verfasser = $xml_inhalt->getElementsByTagName('verfasser')->item(0)->nodeValue;
if($xml_inhalt->getElementsByTagName('betreff')->item(0))
$betreff = $xml_inhalt->getElementsByTagName('betreff')->item(0)->nodeValue;
if($xml_inhalt->getElementsByTagName('text')->item(0))
$text = $xml_inhalt->getElementsByTagName('text')->item(0)->nodeValue;
$i++; // wird zum Zeilenfarben - CSS umschalten benoetigt
$text=mb_ereg_replace("href","hrefs",trim($text));
$text=mb_ereg_replace(array("\r\n", "\n", "\r"," ")," ",$text);
//DMS Pfad korrigieren
$text=mb_ereg_replace("dms.php","../../cms/dms.php",$text);
$news.=' | ';
$news.=''. (stristr($text,' | ')?$text:(mb_strlen($text)>90?mb_substr(trim(''.$betreff.' '.$text),0,90).'...' :trim($text))).' |
Detail
|
'.trim($betreff).''.trim($text).'
schliessen
| | |
';
}
}
$news.='