diff --git a/cis/private/lvplan/stpl_week_anzahl_studenten.php b/cis/private/lvplan/stpl_week_anzahl_studenten.php new file mode 100644 index 000000000..baef34af3 --- /dev/null +++ b/cis/private/lvplan/stpl_week_anzahl_studenten.php @@ -0,0 +1,458 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens . + */ + require_once('../../../config/cis.config.inc.php'); + require_once('../../../include/functions.inc.php'); + require_once('../../../include/datum.class.php'); + require_once('../../../include/benutzer.class.php'); + require_once('../../../include/student.class.php'); + require_once('../../../include/studiengang.class.php'); + require_once('../../../include/benutzerberechtigung.class.php'); + require_once('../../../include/studiensemester.class.php'); + + if (!$db = new basis_db()) + die('Fehler beim Oeffnen der Datenbankverbindung'); + $uid=isset($_GET['uid'])?$_GET['uid']:(isset($_POST['uid'])?$_POST['uid']:get_uid()); + $uid=trim($uid); + + $berechtigung=new benutzerberechtigung(); + $berechtigung->getBerechtigungen($uid); + if ($berechtigung->isBerechtigt('admin') + || $berechtigung->isBerechtigt('lehre/reservierung', null, 's')) + $raumres=true; + else + die('Keine Berechtigung fuer Lehre/Reservierung - Anzeige'); + unset($berechtigung); + + header('Content-Type: text/html;charset=UTF-8'); +?> + + + + + Anzahl Studenten Lehrveranstaltungsplan FH Technikum-Wien + + + + + + + + +
+
+
+
+
+
+ + + +
+
drucken
+ + +
+
schliessen  
+ + +
+
+
+
+
+
+getaktorNext(); + $objSS->load($ss); + $ss_begin=datum::mktime_fromdate($objSS->start); + $ss_ende=datum::mktime_fromdate($objSS->ende); +##var_dump($ss); +#exit; +# } + + $sql_query=' select tbl_adresse.plz,tbl_adresse.name, sum(tbl_ort.max_person) as summe '; + $sql_query.=' from public.tbl_ort,public.tbl_standort, public.tbl_adresse '; + $sql_query.=" where tbl_standort.standort_kurzbz=tbl_ort.standort_kurzbz "; + $sql_query.=" and tbl_adresse.adresse_id=tbl_standort.adresse_id "; + $sql_query.=" and tbl_adresse.adresse_id='".$adresse_id."'"; + $sql_query.=" and tbl_ort.aktiv and tbl_ort.lehre "; + $sql_query.=" group by tbl_adresse.plz,tbl_adresse.name "; + // Gibt es fuer das Datum und Stunde einen Stundenplaneintrag + if(!$results_anzahl=$db->db_query($sql_query)) + die($db->db_last_error()); + $raum_max_anz=0; + $fh_name='FH lese fehler'; + if ($num_rows_anzahl=$db->db_num_rows($results_anzahl)) + { + $fh_name = $db->db_result($results_anzahl,0,"name").', '.$db->db_result($results_anzahl,0,"plz"); + $raum_max_anz = $db->db_result($results_anzahl,0,"summe"); + } + + $stg=array(); + echo '

+  Lehrveranstaltungsplan >> Wochenplan - Anzahl Studenten +    << + Wochenplan  Kw '.$kw.' +  >> +    Heute +

'; + + // Stundentafel abfragen + $sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde"; + if(!$results=$db->db_query($sql_query)) + die($db->db_last_error()); + + + echo ''; + echo ''; + echo ''; + echo ''; + for ($i=0; $i'.strftime('%a',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '.date('d M',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).''; + } + echo ''; + + $max_person_array=array(); + $num_rows_stunde=$db->db_num_rows($results); + echo ''; + for ($k=0; $k<$num_rows_stunde; $k++) + { + $row = $db->db_fetch_object($results, $k); + $row->show_beginn=substr($row->beginn,0,5); + $row->show_ende=substr($row->ende,0,5); + $row->check_beginn=str_replace(':','',substr($row->beginn,0,5)); + $row->check_ende=str_replace(':','',substr($row->ende,0,5)); + + echo ''; + $lehreinheiten=array(); + + for ($i=0; $i= $row->check_beginn && date('Hi')<=$row->check_ende ) + $aktiv=true; + + echo ''; + else + $tooltip.=''; + $tooltip.=''; + $gefunden_anz+=$row_anz->anz; + } + + if (!empty($gefunden_anz)) + { + $tooltip.=''; + + echo '
Gesamt: '.$gefunden_anz; + echo ''; + } + echo ''; + + + if (!isset($max_person_array[$i]['tag'])) + $max_person_array[$i]['tag']=0; + $max_person_array[$i]['tag']=$max_person_array[$i]['tag']+$gefunden_anz; + if (!isset($max_person_array[$i]['tag_max'])) + $max_person_array[$i]['tag_max']=0; + $max_person_array[$i]['tag_max']=$max_person_array[$i]['tag_max']+$max_person; + + if (!isset($max_person_array[$k]['stunde'])) + $max_person_array[$k]['stunde']=0; + $max_person_array[$k]['stunde']=$max_person_array[$k]['stunde']+$gefunden_anz; + if (!isset($max_person_array[$k]['stunde_max'])) + $max_person_array[$k]['stunde_max']=0; + $max_person_array[$k]['stunde_max']=$max_person_array[$k]['stunde_max']+$max_person; + + if (!isset($max_person_array[$i][$k]['tag_stunde'])) + $max_person_array[$i][$k]['tag_stunde']=0; + $max_person_array[$i][$k]['tag_stunde']=$max_person_array[$i][$k]['tag_stunde']+$gefunden_anz; + if (!isset($max_person_array[$i][$k]['tag_stunde_max'])) + $max_person_array[$i][$k]['tag_stunde_max']=0; + $max_person_array[$i][$k]['tag_stunde_max']=$max_person_array[$i][$k]['tag_stunde_max']+$max_person; + + } + echo ''; + + } + echo '
'. $fh_name .'      '. (date('Ym',$montag)==date('Ym',$letzterTagAnzeige)?$tag:(date('Y',$montag)==date('Y',$letzterTagAnzeige)?$tag_monat:$tag_monat_jahr)) .' - '. $letzter_tag_monat_jahr.'
Stunde
'.$row->show_beginn.'
'.$row->show_ende.'
'; + + $sql_query=' select distinct vw_stundenplan.stg_bezeichnung as bezeichnung,vw_stundenplan.stg_kurzbzlang as kurzbzlang,vw_stundenplan.stg_kurzbz as kurzbz, vw_stundenplan.stundenplan_id,vw_stundenplan.lehrform, vw_stundenplan.gruppe, vw_stundenplan.gruppe_kurzbz, vw_stundenplan.unr,vw_stundenplan.verband,vw_stundenplan.ort_kurzbz,vw_stundenplan.lehreinheit_id,vw_stundenplan.studiengang_kz,vw_stundenplan.semester,tbl_ort.max_person,tbl_standort.adresse_id,tbl_adresse.plz,tbl_adresse.name '; + $sql_query.=' from lehre.vw_stundenplan, public.tbl_ort,public.tbl_standort, public.tbl_adresse '; + $sql_query.=" where vw_stundenplan.datum='".date('Y-m-d',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag)))."' "; + $sql_query.=" and vw_stundenplan.stunde='".$row->stunde."' "; + $sql_query.=" and tbl_ort.ort_kurzbz=vw_stundenplan.ort_kurzbz "; + $sql_query.=" and tbl_standort.standort_kurzbz=tbl_ort.standort_kurzbz "; + $sql_query.=" and tbl_adresse.adresse_id=tbl_standort.adresse_id "; + $sql_query.=" and tbl_adresse.adresse_id='".$adresse_id."'"; + $sql_query.=" order by tbl_adresse.plz,vw_stundenplan.ort_kurzbz "; + + // Gibt es fuer das Datum und Stunde einen Stundenplaneintrag + if(!$results_anzahl=$db->db_query($sql_query)) + die($db->db_last_error()); + $num_rows_anzahl=$db->db_num_rows($results_anzahl); + + $gefunden_anz=0; + $tooltip=''; + for ($k_anz=0; $k_anz<$num_rows_anzahl; $k_anz++) + { + $row_anz = $db->db_fetch_object($results_anzahl, $k_anz); + // Lehreinheit wird aufgeteilt in zwei Raeume - nicht verarbeiten , das sind die selben Personen + if (isset($lehreinheiten[trim($row_anz->lehreinheit_id).trim($row_anz->gruppe_kurzbz)])) + continue; + $lehreinheiten[$row_anz->lehreinheit_id]=trim($row_anz->lehreinheit_id).trim($row_anz->gruppe_kurzbz); + + $max_person=$row_anz->max_person+$max_person; + $row_anz->verband=trim($row_anz->verband); + $row_anz->gruppe=trim($row_anz->gruppe); + $row_anz->gruppe_kurzbz=trim($row_anz->gruppe_kurzbz); + + $stsem=$ss; + + $gruppe=($row_anz->gruppe_kurzbz?$row_anz->gruppe_kurzbz:null); + $student=new student(); + + $row_anz->anz=0; + if ($result=$student->getStudents($row_anz->studiengang_kz,$row_anz->semester,$row_anz->verband,$row_anz->gruppe,$gruppe, $stsem)) + $row_anz->anz=count($result); + + + if (empty($row_anz->anz)) + $fehler=true; + + $lvb=$row_anz->kurzbzlang.'-'.$row_anz->semester; + if (!is_null($row_anz->verband) && !empty($row_anz->verband)) + { + $lvb.=$row_anz->verband; + if (!is_null($row_anz->gruppe) && !empty($row_anz->gruppe) ) + $lvb.=$row_anz->gruppe; + } + if (!empty($k_anz)) + $tooltip.='
'. date('d M Y',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '.$row->show_beginn.' - '.$row->show_ende.'Anzahl
stundenplan_id.'\'>'.trim($row_anz->ort_kurzbz).' ort_kurzbz).'\' target=\'_blank\' titel=\'Studiengang Kz '.$row_anz->studiengang_kz.'\'>'.$lvb.' '.$row_anz->gruppe_kurzbz.' '.(!$row_anz->anz?'':'').$row_anz->bezeichnung.(!$row_anz->anz?'':'').' '.$row_anz->anz.'
max.Personen:'.$max_person.' Belegung:'. number_format($gefunden_anz / $max_person,2)*100 .'% Ges.:'.$gefunden_anz.'
'; + + + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($uid); + if($rechte->isBerechtigt('admin')) + { + echo ''; + echo ''; + + echo ''; + echo ''; + for ($i=0; $i'.strftime('%a',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '. date('d M Y',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).''; + } + echo ''; + $stunde_proz=0; + $stunde=0; + $stunde_max=0; + for ($k=0; $k<$num_rows_stunde; $k++) + { + $row = $db->db_fetch_object($results, $k); + $row->show_beginn=substr($row->beginn,0,5); + $row->show_ende=substr($row->ende,0,5); + $row->check_beginn=str_replace(':','',substr($row->beginn,0,5)); + $row->check_ende=str_replace(':','',substr($row->ende,0,5)); + echo ''; + echo ''; + echo ''; + + $stunde=$stunde+$max_person_array[$k]['stunde']; + $stunde_max=$stunde_max+$max_person_array[$k]['stunde_max']; + + for ($i=0; $i'; + echo 'anz.:'.$max_person_array[$i][$k]['tag_stunde']; + echo '
'; + echo 'FH   max.:'. $raum_max_anz; + echo '
'; + echo ' '.($max_person_array[$i][$k]['tag_stunde']?number_format($max_person_array[$i][$k]['tag_stunde'] / $raum_max_anz,2)*100:0).'%'; + echo '
'; + echo 'Raum max.:'. $max_person_array[$i][$k]['tag_stunde_max']; + echo '
'; + echo ' '.($max_person_array[$i][$k]['tag_stunde']?number_format($max_person_array[$i][$k]['tag_stunde'] / $max_person_array[$i][$k]['tag_stunde_max'],2)*100:0).'%'; + echo ''; + } + echo '
'; + } + + + echo ''; + echo ''; + + echo ''; + + + for ($i=0; $i'; + echo 'FH      Ø '.($max_person_array[$i]['tag']?number_format($max_person_array[$i]['tag'] / ($raum_max_anz *$num_rows_stunde),2)*100:0).'%'; + echo '
'; + echo 'Raum Ø '.($max_person_array[$i]['tag']?number_format($max_person_array[$i]['tag'] / $max_person_array[$i]['tag_max'],2)*100:0).'%'; + echo ''; + } + + echo '
'; + + + echo '
'. $fh_name .'      '. (date('Ym',$montag)==date('Ym',$letzterTagAnzeige)?$tag:(date('Y',$montag)==date('Y',$letzterTagAnzeige)?$tag_monat:$tag_monat_jahr)) .' - '. $letzter_tag_monat_jahr.'
Zeit / Datum – 
'.$row->show_beginn.'
'.$row->show_ende.'
'; + echo 'anz.:'.$max_person_array[$k]['stunde']; + echo '
'; + echo 'FH   '.($raum_max_anz*TAGE_PRO_WOCHE); + echo '
'; + echo ' Ø '.($max_person_array[$k]['stunde']?number_format(($max_person_array[$k]['stunde'])/TAGE_PRO_WOCHE / ($raum_max_anz),2)*100:0).'%'; + echo '
'; + echo 'Raum '.$max_person_array[$k]['stunde_max']; + echo '
'; + echo ' Ø '.($max_person_array[$k]['stunde']?number_format(($max_person_array[$k]['stunde']/TAGE_PRO_WOCHE) / ($max_person_array[$k]['stunde_max']/TAGE_PRO_WOCHE),2)*100:0).'%'; + echo '
Ø'; + echo 'FH      Ø '.($stunde?number_format(($stunde)/$num_rows_stunde/TAGE_PRO_WOCHE / ($raum_max_anz),2)*100:0).'%'; + echo '
'; + echo 'Raum Ø '.($stunde_max?number_format(($stunde/$num_rows_stunde/TAGE_PRO_WOCHE) / ($stunde_max/$num_rows_stunde/TAGE_PRO_WOCHE),2)*100:0).'%'; + echo '
'; + } +?> + + diff --git a/cis/public/uternehmenskommunikation.html b/cis/public/uternehmenskommunikation.html new file mode 100644 index 000000000..a81c2db01 --- /dev/null +++ b/cis/public/uternehmenskommunikation.html @@ -0,0 +1,29 @@ + + + + + +Unternehmenskommunikation + + + + + + + + + +
  + + + + + + + + + +
 Unternehmenskommunikation
 
+ Das Team +
 
+ \ No newline at end of file diff --git a/cis/wap/lvplan.wap.php b/cis/wap/lvplan.wap.php new file mode 100644 index 000000000..64165018f --- /dev/null +++ b/cis/wap/lvplan.wap.php @@ -0,0 +1,969 @@ + + * 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; +} +?> \ No newline at end of file diff --git a/include/firma.class.php b/include/firma.class.php index a4794ea60..64444b5e9 100644 --- a/include/firma.class.php +++ b/include/firma.class.php @@ -59,6 +59,7 @@ class firma extends basis_db public $oe_aktiv; // boolean public $mailverteiler; // string + /** * Konstruktor * @param $firma_id ID der Firma die geladen werden soll (Default=null) @@ -565,6 +566,83 @@ class firma extends basis_db return false; } } + /** + * Speichert den aktuellen Datensatz in die Datenbank + * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt + * andernfalls wird der Datensatz mit der ID in $firma_id aktualisiert + * @return true wenn ok, false im Fehlerfall + */ + public function saveorganisationseinheit() + { + if($this->new) + { + //Neuen Datensatz einfuegen + $qry='INSERT INTO public.tbl_firma_organisationseinheit (firma_id,oe_kurzbz, + bezeichnung,kundennummer, updateamum, updatevon, insertamum, insertvon, ext_id) VALUES('. + $this->addslashes($this->firma_id).', '. + $this->addslashes($this->oe_kurzbz).', '. + $this->addslashes($this->bezeichnung).', '. + $this->addslashes($this->kundennummer).', '. + $this->addslashes($this->updateamum).', '. + $this->addslashes($this->updatevon).', '. + $this->addslashes($this->insertamum).', '. + $this->addslashes($this->insertvon).', '. + $this->addslashes($this->ext_id).' ); '; + } + else + { + //Updaten des bestehenden Datensatzes + + //Pruefen ob firma_id eine gueltige Zahl ist + if(!is_numeric($this->firma_id)) + { + $this->errormsg = 'firma_id muss eine gueltige Zahl sein'; + return false; + } + $qry='UPDATE public.tbl_firma_organisationseinheit SET '. + 'firma_id='.$this->addslashes($this->firma_id).', '. + 'oe_kurzbz='.$this->addslashes($this->oe_kurzbz).', '. + 'bezeichnung='.$this->addslashes($this->bezeichnung).', '. + 'updateamum= now(), '. + 'updatevon='.$this->addslashes($this->updatevon).', '. + 'ext_id)='.addslashes($this->ext_id).' '. + 'WHERE firma_organisationseinheit_id='.$this->addslashes($this->firma_organisationseinheit_id).';'; + } + if($this->db_query($qry)) + { + if($this->new) + { + //Sequence lesen + $qry="SELECT currval('public.tbl_firma_organisationseinhei_firma_organisationseinheit_id_seq') as id;"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->firma_organisationseinheit_id = $row->id; + $this->db_query('COMMIT'); + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + } + else + { + $this->errormsg = 'Fehler beim Speichern des Firma-Datensatzes'; + return false; + } + return $this->firma_organisationseinheit_id; + } } diff --git a/rauminfos/EDV_A2.07.html b/rauminfos/EDV_A2.07.html new file mode 100644 index 000000000..01287d3bb --- /dev/null +++ b/rauminfos/EDV_A2.07.html @@ -0,0 +1,152 @@ + + + Raumbeschreibung EDV A2.07 + + + + + + + + + + + + + + +
EDV A2.07
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Standort:
Sitzplätze:
EDV:
Größe:
Durchwahl:
Zusatzinfos:
 
Sponsor:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Höchstädtplatz 5
60
30 Studentenrechner + 1 Lektoren-PC
ca. 110,19 m²
959
-
 
-
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Allgemein Technik
 Fix verschraubte Tische Beamer
 Flipchart Klimaanlage
 Große Tafel LAN-Anschlüsse an den Tischen
 Magnetleisten Lautsprecher
 Pinnwand Lektoren-PC
 Medienturm
 Mikrophon
 Stromanschlüsse an den Tischen
 Visualizer
 W-Lan
+
+
+
+Overheadprojektoren sowie diverse TV-Geräte und DVD-Player können Sie aus dem Raum A 3.12 entnehmen.
+Ein mobiler Visualizer ist - nur für Lektoren - beim Empfang erhältlich.

+Bitte retournieren Sie alle Leihgeräte nach Ihrer Lehrveranstaltung. +
+
+
+ + + + + + + + + + +
EDV A2.07EDV A2.07RaumplanRaumplanLageplan
+ + + \ No newline at end of file diff --git a/rauminfos/EDV_A5.08.html b/rauminfos/EDV_A5.08.html new file mode 100644 index 000000000..6dbfeea69 --- /dev/null +++ b/rauminfos/EDV_A5.08.html @@ -0,0 +1,152 @@ + + + Raumbeschreibung EDV A5.08 + + + + + + + + + + + + + + +
EDV A5.08
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Standort:
Sitzplätze:
EDV:
Größe:
Durchwahl:
Zusatzinfos:
 
Sponsor:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Höchstädtplatz 5
36
18 Studentenrechner + 1 Lektoren-PC
ca. 87,06 m²
952
-
 
-
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Allgemein Technik
 Fix verschraubte Tische Beamer
 Flipchart Klimaanlage
 Große Tafel LAN-Anschlüsse an den Tischen
 Magnetleisten Lautsprecher
 Pinnwand Lektoren-PC
 Medienturm
 Mikrophon
 Stromanschlüsse an den Tischen
 Visualizer
 W-Lan
+
+
+
+Overheadprojektoren sowie diverse TV-Geräte und DVD-Player können Sie aus dem Raum A 3.12 entnehmen.
+Ein mobiler Visualizer ist - nur für Lektoren - beim Empfang erhältlich.

+Bitte retournieren Sie alle Leihgeräte nach Ihrer Lehrveranstaltung. +
+
+
+ + + + + + + + + + +
EDV A5.08EDV A5.08RaumplanRaumplanLageplan
+ + + \ No newline at end of file diff --git a/rauminfos/EDV_A5.09.html b/rauminfos/EDV_A5.09.html new file mode 100644 index 000000000..6164f7f88 --- /dev/null +++ b/rauminfos/EDV_A5.09.html @@ -0,0 +1,152 @@ + + + Raumbeschreibung EDV A5.09 + + + + + + + + + + + + + + +
EDV A5.09
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Standort:
Sitzplätze:
EDV:
Größe:
Durchwahl:
Zusatzinfos:
 
Sponsor:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Höchstädtplatz 5
36
18 Studentenrechner + 1 Lektoren-PC
ca. 77,06 m²
951
-
 
-
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Allgemein Technik
 Fix verschraubte Tische Beamer
 Flipchart Klimaanlage
 Große Tafel LAN-Anschlüsse an den Tischen
 Magnetleisten Lautsprecher
 Pinnwand Lektoren-PC
 Medienturm
 Mikrophon
 Stromanschlüsse an den Tischen
 Visualizer
 W-Lan
+
+
+
+Overheadprojektoren sowie diverse TV-Geräte und DVD-Player können Sie aus dem Raum A 3.12 entnehmen.
+Ein mobiler Visualizer ist - nur für Lektoren - beim Empfang erhältlich.

+Bitte retournieren Sie alle Leihgeräte nach Ihrer Lehrveranstaltung. +
+
+
+ + + + + + + + + + +
EDV A5.09EDV A5.09RaumplanRaumplanLageplan
+ + + \ No newline at end of file diff --git a/rauminfos/EDV_A5.10.html b/rauminfos/EDV_A5.10.html new file mode 100644 index 000000000..add43921e --- /dev/null +++ b/rauminfos/EDV_A5.10.html @@ -0,0 +1,152 @@ + + + Raumbeschreibung EDV A5.10 + + + + + + + + + + + + + + +
EDV A5.10
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Standort:
Sitzplätze:
EDV:
Größe:
Durchwahl:
Zusatzinfos:
 
Sponsor:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Höchstädtplatz 5
36
18 Studentenrechner + 1 Lektoren-PC
ca. 76,88 m²
950
-
 
-
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Allgemein Technik
 Fix verschraubte Tische Beamer
 Flipchart Klimaanlage
 Große Tafel LAN-Anschlüsse an den Tischen
 Magnetleisten Lautsprecher
 Pinnwand Lektoren-PC
 Medienturm
 Mikrophon
 Stromanschlüsse an den Tischen
 Visualizer
 W-Lan
+
+
+
+Overheadprojektoren sowie diverse TV-Geräte und DVD-Player können Sie aus dem Raum A 3.12 entnehmen.
+Ein mobiler Visualizer ist - nur für Lektoren - beim Empfang erhältlich.

+Bitte retournieren Sie alle Leihgeräte nach Ihrer Lehrveranstaltung. +
+
+
+ + + + + + + + + + +
EDV A5.10EDV A5.10RaumplanRaumplanLageplan
+ + + \ No newline at end of file diff --git a/rauminfos/EDV_A6.08.html b/rauminfos/EDV_A6.08.html new file mode 100644 index 000000000..92f51a95b --- /dev/null +++ b/rauminfos/EDV_A6.08.html @@ -0,0 +1,152 @@ + + + Raumbeschreibung EDV A6.08 + + + + + + + + + + + + + + +
EDV A6.08
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Standort:
Sitzplätze:
EDV:
Größe:
Durchwahl:
Zusatzinfos:
 
Sponsor:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Höchstädtplatz 5
36
18 Studentenrechner + 1 Lektoren-PC
ca. 77,06 m²
955
-
 
Mobiles Whiteboard
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Allgemein Technik
 Fix verschraubte Tische Beamer
 Flipchart Klimaanlage
 Große Tafel LAN-Anschlüsse an den Tischen
 Magnetleisten Lautsprecher
 Pinnwand Lektoren-PC
 Medienturm
 Mikrophon
 Stromanschlüsse an den Tischen
 Visualizer
 W-Lan
+
+
+
+Overheadprojektoren sowie diverse TV-Geräte und DVD-Player können Sie aus dem Raum A 3.12 entnehmen.
+Ein mobiler Visualizer ist - nur für Lektoren - beim Empfang erhältlich.

+Bitte retournieren Sie alle Leihgeräte nach Ihrer Lehrveranstaltung. +
+
+
+ + + + + + + + + + +
EDV A6.08EDV A6.08RaumplanRaumplanLageplan
+ + + \ No newline at end of file diff --git a/rauminfos/EDV_A6.09.html b/rauminfos/EDV_A6.09.html new file mode 100644 index 000000000..03863ef58 --- /dev/null +++ b/rauminfos/EDV_A6.09.html @@ -0,0 +1,152 @@ + + + Raumbeschreibung EDV A6.09 + + + + + + + + + + + + + + +
EDV A6.09
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Standort:
Sitzplätze:
EDV:
Größe:
Durchwahl:
Zusatzinfos:
 
Sponsor:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Höchstädtplatz 5
36
18 Studentenrechner + 1 Lektoren-PC
ca. 77,06 m²
954
-
 
-
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Allgemein Technik
 Fix verschraubte Tische Beamer
 Flipchart Klimaanlage
 Große Tafel LAN-Anschlüsse an den Tischen
 Magnetleisten Lautsprecher
 Pinnwand Lektoren-PC
 Medienturm
 Mikrophon
 Stromanschlüsse an den Tischen
 Visualizer
 W-Lan
+
+
+
+Overheadprojektoren sowie diverse TV-Geräte und DVD-Player können Sie aus dem Raum A 3.12 entnehmen.
+Ein mobiler Visualizer ist - nur für Lektoren - beim Empfang erhältlich.

+Bitte retournieren Sie alle Leihgeräte nach Ihrer Lehrveranstaltung. +
+
+
+ + + + + + + + + + +
EDV A6.09EDV A6.09RaumplanRaumplanLageplan
+ + + \ No newline at end of file diff --git a/rauminfos/EDV_A6.10.html b/rauminfos/EDV_A6.10.html new file mode 100644 index 000000000..50aafea12 --- /dev/null +++ b/rauminfos/EDV_A6.10.html @@ -0,0 +1,152 @@ + + + Raumbeschreibung EDV A6.10 + + + + + + + + + + + + + + +
EDV A6.10
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Standort:
Sitzplätze:
EDV:
Größe:
Durchwahl:
Zusatzinfos:
 
Sponsor:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Höchstädtplatz 5
36
18 Studentenrechner + 1 Lektoren-PC
ca. 76,47 m²
953
-
 
-
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Allgemein Technik
 Fix verschraubte Tische Beamer
 Flipchart Klimaanlage
 Große Tafel LAN-Anschlüsse an den Tischen
 Magnetleisten Lautsprecher
 Pinnwand Lektoren-PC
 Medienturm
 Mikrophon
 Stromanschlüsse an den Tischen
 Visualizer
 W-Lan
+
+
+
+Overheadprojektoren sowie diverse TV-Geräte und DVD-Player können Sie aus dem Raum A 3.12 entnehmen.
+Ein mobiler Visualizer ist - nur für Lektoren - beim Empfang erhältlich.

+Bitte retournieren Sie alle Leihgeräte nach Ihrer Lehrveranstaltung. +
+
+
+ + + + + + + + + + +
EDV A6.10EDV A6.10RaumplanRaumplanLageplan
+ + + \ No newline at end of file diff --git a/rauminfos/EDV_A6.25.html b/rauminfos/EDV_A6.25.html new file mode 100644 index 000000000..29a353977 --- /dev/null +++ b/rauminfos/EDV_A6.25.html @@ -0,0 +1,152 @@ + + + Raumbeschreibung EDV A6.25 + + + + + + + + + + + + + + +
EDV A6.25
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Standort:
Sitzplätze:
EDV:
Größe:
Durchwahl:
Zusatzinfos:
 
Sponsor:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Höchstädtplatz 5
40
19 Studentenrechner + 1 Lektoren-PC
ca. 87,91 m²
956
-
 
High-End PC's und Dolby-Surround System
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Allgemein Technik
 Fix verschraubte Tische Beamer
 Flipchart Klimaanlage
 Große Tafel LAN-Anschlüsse an den Tischen
 Magnetleisten Lautsprecher
 Pinnwand Lektoren-PC
 Medienturm
 Mikrophon
 Stromanschlüsse an den Tischen
 Visualizer
 W-Lan
+
+
+
+Overheadprojektoren sowie diverse TV-Geräte und DVD-Player können Sie aus dem Raum A 3.12 entnehmen.
+Ein mobiler Visualizer ist - nur für Lektoren - beim Empfang erhältlich.

+Bitte retournieren Sie alle Leihgeräte nach Ihrer Lehrveranstaltung. +
+
+
+ + + + + + + + + + +
EDV A6.25EDV A6.25RaumplanRaumplanLageplan
+ + + \ No newline at end of file diff --git a/rauminfos/Grafiken/EDV_A2.07_H.JPG b/rauminfos/Grafiken/EDV_A2.07_H.JPG new file mode 100644 index 000000000..27f0827dc Binary files /dev/null and b/rauminfos/Grafiken/EDV_A2.07_H.JPG differ diff --git a/rauminfos/Grafiken/EDV_A2.07_V.JPG b/rauminfos/Grafiken/EDV_A2.07_V.JPG new file mode 100644 index 000000000..b5d3dfb1f Binary files /dev/null and b/rauminfos/Grafiken/EDV_A2.07_V.JPG differ diff --git a/rauminfos/Grafiken/EDV_A5.08_H.JPG b/rauminfos/Grafiken/EDV_A5.08_H.JPG new file mode 100644 index 000000000..8b9a82fed Binary files /dev/null and b/rauminfos/Grafiken/EDV_A5.08_H.JPG differ diff --git a/rauminfos/Grafiken/EDV_A5.08_V.JPG b/rauminfos/Grafiken/EDV_A5.08_V.JPG new file mode 100644 index 000000000..49722746f Binary files /dev/null and b/rauminfos/Grafiken/EDV_A5.08_V.JPG differ diff --git a/rauminfos/Grafiken/EDV_A5.09_H.JPG b/rauminfos/Grafiken/EDV_A5.09_H.JPG new file mode 100644 index 000000000..19eda216d Binary files /dev/null and b/rauminfos/Grafiken/EDV_A5.09_H.JPG differ diff --git a/rauminfos/Grafiken/EDV_A5.09_V.JPG b/rauminfos/Grafiken/EDV_A5.09_V.JPG new file mode 100644 index 000000000..c7630ee37 Binary files /dev/null and b/rauminfos/Grafiken/EDV_A5.09_V.JPG differ diff --git a/rauminfos/Grafiken/EDV_A5.10_H.JPG b/rauminfos/Grafiken/EDV_A5.10_H.JPG new file mode 100644 index 000000000..3411ca7f2 Binary files /dev/null and b/rauminfos/Grafiken/EDV_A5.10_H.JPG differ diff --git a/rauminfos/Grafiken/EDV_A5.10_V.JPG b/rauminfos/Grafiken/EDV_A5.10_V.JPG new file mode 100644 index 000000000..aa57d6e14 Binary files /dev/null and b/rauminfos/Grafiken/EDV_A5.10_V.JPG differ diff --git a/rauminfos/Grafiken/EDV_A6.08_H.JPG b/rauminfos/Grafiken/EDV_A6.08_H.JPG new file mode 100644 index 000000000..f692b5251 Binary files /dev/null and b/rauminfos/Grafiken/EDV_A6.08_H.JPG differ diff --git a/rauminfos/Grafiken/EDV_A6.08_V.JPG b/rauminfos/Grafiken/EDV_A6.08_V.JPG new file mode 100644 index 000000000..4a2013aff Binary files /dev/null and b/rauminfos/Grafiken/EDV_A6.08_V.JPG differ diff --git a/rauminfos/Grafiken/EDV_A6.09_H.JPG b/rauminfos/Grafiken/EDV_A6.09_H.JPG new file mode 100644 index 000000000..9dae92ceb Binary files /dev/null and b/rauminfos/Grafiken/EDV_A6.09_H.JPG differ diff --git a/rauminfos/Grafiken/EDV_A6.09_V.JPG b/rauminfos/Grafiken/EDV_A6.09_V.JPG new file mode 100644 index 000000000..11a741beb Binary files /dev/null and b/rauminfos/Grafiken/EDV_A6.09_V.JPG differ diff --git a/rauminfos/Grafiken/EDV_A6.10_H.JPG b/rauminfos/Grafiken/EDV_A6.10_H.JPG new file mode 100644 index 000000000..e46df928b Binary files /dev/null and b/rauminfos/Grafiken/EDV_A6.10_H.JPG differ diff --git a/rauminfos/Grafiken/EDV_A6.10_V.JPG b/rauminfos/Grafiken/EDV_A6.10_V.JPG new file mode 100644 index 000000000..4fb0e59ec Binary files /dev/null and b/rauminfos/Grafiken/EDV_A6.10_V.JPG differ diff --git a/rauminfos/Grafiken/EDV_A6.25_H.JPG b/rauminfos/Grafiken/EDV_A6.25_H.JPG new file mode 100644 index 000000000..443326009 Binary files /dev/null and b/rauminfos/Grafiken/EDV_A6.25_H.JPG differ diff --git a/rauminfos/Grafiken/EDV_A6.25_V.JPG b/rauminfos/Grafiken/EDV_A6.25_V.JPG new file mode 100644 index 000000000..d423230c2 Binary files /dev/null and b/rauminfos/Grafiken/EDV_A6.25_V.JPG differ diff --git a/rauminfos/Grafiken/Grundrisse/EDV_A2.06.PNG b/rauminfos/Grafiken/Grundrisse/EDV_A2.06.PNG new file mode 100644 index 000000000..6382cbdb0 Binary files /dev/null and b/rauminfos/Grafiken/Grundrisse/EDV_A2.06.PNG differ