diff --git a/cis/private/jahresplan/index.html b/cis/private/jahresplan/index.html new file mode 100644 index 000000000..4f14cafbe --- /dev/null +++ b/cis/private/jahresplan/index.html @@ -0,0 +1,10 @@ + + + + Stundenplan + + + + Sie werden nicht weitergeleitet? (Klick here) + + \ No newline at end of file diff --git a/cis/private/jahresplan/index.php b/cis/private/jahresplan/index.php new file mode 100644 index 000000000..9f1da433b --- /dev/null +++ b/cis/private/jahresplan/index.php @@ -0,0 +1,414 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ + +// ---------------- CIS Include Dateien einbinden + require_once('../../config.inc.php'); + // Datenbankverbindung - ohne erfolg kann hier bereits beendet werden + + if (!$conn=pg_pconnect(CONN_STRING)) + { + die('Jahresplan
Keine Veranstaltungen zurzeit Online.
Bitte etwas Geduld.
Danke'); + } + require_once('../../../include/functions.inc.php'); + require_once('../../../include/globals.inc.php'); + +// ---------------- Datenbank-Verbindung + include_once('../../../include/person.class.php'); + include_once('../../../include/benutzer.class.php'); + include_once('../../../include/benutzerberechtigung.class.php'); + +// ---------------- Jahresplan Classe und Allg.Funktionen + include_once('../../../include/jahresplan.class.php'); + include_once('jahresplan_funktionen.inc.php'); + +// ------------------------------------------------------------------------------------------ +// Request Parameter +// ------------------------------------------------------------------------------------------ + if (!$userUID=get_uid()) + { + die('Es wurde keine Benutzer UID gefunden ?'); + } + // Parameter Veranstaltungskategorie + $veranstaltungskategorie_kurzbz=trim((isset($_REQUEST['veranstaltungskategorie_kurzbz']) ? $_REQUEST['veranstaltungskategorie_kurzbz']:'')); + // Parameter Veranstaltung + $veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:'')); + $Jahr=trim((isset($_REQUEST['Jahr']) ? $_REQUEST['Jahr']:date("Y", mktime(0,0,0,date("m"),date("d"),date("y"))))); + $Monat=trim((isset($_REQUEST['Monat']) ? $_REQUEST['Monat']:date("m", mktime(0,0,0,date("m"),date("d"),date("y"))))); + $Suchtext=trim((isset($_REQUEST['Suchtext']) ? $_REQUEST['Suchtext']:'')); + +// ------------------------------------------------------------------------------------------ +// Personen Classe +// Anwernderdaten ermitteln +// ------------------------------------------------------------------------------------------ + $userNAME=$userUID; + $unicode=null; // Standart Encoding der Datenbank + $pers = new benutzer($conn,$userUID,$unicode); // Lesen Person - Benutzerdaten + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + } + +// ------------------------------------------------------------------------------------------ +// Benutzerberechtigung Classe +// Berechtigungen ermitteln +// ------------------------------------------------------------------------------------------ + $is_lector=false; + $is_wartungsberechtigt=false; + if (isset($pers->nachname)) + { + $benutzerberechtigung = new benutzerberechtigung($conn,$userUID); + $benutzerberechtigung->getBerechtigungen($userUID,true); + // Nur Lektoren oder Mitarbeiter duerfen alle Termine sehen , Studenten nur Freigegebene Kategorien + if($benutzerberechtigung->fix || $benutzerberechtigung->lektor) + $is_lector=true; + else + $is_lector=false; + + // Kennzeichen setzen fuer Berechtigungspruefung + $berechtigung='veranstaltung'; + $studiengang_kz=null; + $art='suid'; + $fachbereich_kurzbz=null; + // Berechtigungen abfragen + $is_wartungsberechtigt=$benutzerberechtigung->isBerechtigt($berechtigung,$studiengang_kz,$art, $fachbereich_kurzbz); + if (!$is_wartungsberechtigt) + { + $is_wartungsberechtigt=false; + } + } +// ------------------------------------------------------------------------------------------ +// Alle Kategoriedaten lesen fuer Selektfeld +// ------------------------------------------------------------------------------------------ + $Jahresplan = new jahresplan($conn); + $Jahresplan->InitVeranstaltungskategorie(); + if ($Jahresplan->loadVeranstaltungskategorie()) + { + $veranstaltungskategorie=$Jahresplan->getVeranstaltungskategorie(); + } + else // Es gibt keine Kategorie oder Fehler beim Lesen - keine weitere Anzeige mehr moeglich + { + die($Jahresplan->getError()); + } + +?> + + + + + + +Jahresplan + + + + + + + + +Veranstaltung | Veranstaltung bearbeiten | Kategorie ] '.$userNAME; + echo '[ Veranstaltung | Kategorie ] '.$userNAME; + + } // Ende Wartungsberechtigt +?> +

 Veranstaltungen 

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
1 Jahr zurück1 Jahr vor 1 Monat zurück1 Monat vor  ID Suche  + +  
 
+
+InitVeranstaltung(); + // Nur Berechtigte duerfen alle Informationen sehen (Mitarbeiter) + $Jahresplan->setVeranstaltungskategorieMitarbeiter($is_lector); + // Nur Berechtigte duerfen auch noch nicht freigegebene Sehen + if (!$is_wartungsberechtigt) + $Jahresplan->setFreigabe(true); + else + $Jahresplan->setFreigabe(false); + $Jahresplan->setVeranstaltungskategorie_kurzbz($veranstaltungskategorie_kurzbz); + $Jahresplan->setVeranstaltung_id($veranstaltung_id); + $Jahresplan->setSuchtext(str_replace('*','%',$Suchtext)); + + // Datum setzen ausser wenn eine eindeutige ID selektiert wurde. Diese soll in allen Perioden gesucht werden + if (empty($veranstaltung_id)) + { + if (empty($Jahr)) + { + $Jahr=date("Y", mktime(0,0,0,date("m"),date("d"),date("y"))); + } + + $Jahresplan->setStart_jahr($Jahr); + if (!empty($Woche)) + { + $iTmpMinKW=date("W",mktime(0, 0, 0,(empty($Monat) || $Monat>12?'01':$Monat),1, $Jahr)); + $iTmpMaxKW=date("W",mktime(0, 0, 0,(empty($Monat) || $Monat>12?'01':$Monat),$iTmpMaxTage, $Jahr)); + $iTmpMaxKW=number_format($iTmpMaxKW); + if ($iTmpMaxKW<2 && $iTmpMonat==12) + $iTmpMaxKW=53; + $Jahresplan->setStart_jahr_woche($Jahr.$iTmpMinKW); + $Jahresplan->setEnde_jahr_woche($Jahr.$iTmpMaxKW); + } + elseif (!empty($Monat)) + { + $Jahresplan->setStart_jahr_monat($Jahr.(empty($Monat) || $Monat>12?'01':$Monat)); + $Jahresplan->setEnde_jahr_monat($Jahr.(empty($Monat) || $Monat>12?'01':$Monat)); + } + } + + // ************************************** + // Veranstaltungen zu Selektion - lesen + // ************************************** + $veranstaltung=array(); + if ($Jahresplan->loadVeranstaltung()) + { + $veranstaltung=$Jahresplan->getVeranstaltung(); + } +#echo $Jahresplan->getStringSQL(); + + // Ausgabe der Veranstaltungsdaten bzw Hinweisstext + if (is_array($veranstaltung) && isset($veranstaltung[0])) + { + // Detailanzeige + if (!empty($veranstaltung_id)) + { + echo jahresplan_veranstaltung_detailanzeige($conn,$veranstaltung,$is_wartungsberechtigt); + } + // Listenanzeige + elseif (!empty($Suchtext)) + { + echo jahresplan_veranstaltung_listenanzeige($conn,$veranstaltung,$is_wartungsberechtigt); + } + // Kalenderanzeige + else + { + echo jahresplan_veranstaltungskategorie_kalenderanzeige($conn,$veranstaltung,$is_wartungsberechtigt,$Jahr,$Monat); + } + } + // Keine Daten gefunden + elseif (empty($veranstaltung_id) && empty($Suchtext)) + { + echo jahresplan_veranstaltungskategorie_kalenderanzeige($conn,$veranstaltung,$is_wartungsberechtigt,$Jahr,$Monat); + } + else + { + echo "
keine Daten gefunden ".(!empty($Suchtext)? ' Suchtext '.$Suchtext:'' ).(!empty($veranstaltung_id)? ' ID '.$veranstaltung_id:'' ); + } + // Fehlerausgabe + echo '

'.$Jahresplan->getError().'

'; +?> + + + diff --git a/cis/private/jahresplan/jahresplan_bilder.php b/cis/private/jahresplan/jahresplan_bilder.php new file mode 100644 index 000000000..34dbc65e7 --- /dev/null +++ b/cis/private/jahresplan/jahresplan_bilder.php @@ -0,0 +1,96 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ + +/*------------------------------------------------------------------------------------------- + Bilder aus Tabellen Person oder Veranstaltungskategorie lesen - Selektion Parameter +-------------------------------------------------------------------------------------------*/ + +// ---------------- CIS Include Dateien einbinden + require_once('../../config.inc.php'); + + // ---------------- Datenbank-Verbindung + include_once('../../../include/person.class.php'); + include_once('../../../include/benutzer.class.php'); +// ---------------- Jahresplan Classe und Allg.Funktionen + include_once('../../../include/jahresplan.class.php'); + + // Datenbankverbindung - ohne erfolg kann hier bereits beendet werden + if (!$conn=pg_pconnect(CONN_STRING)) + { + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + } + $heximg =''; + + // Es wurde bereits der Hex-String ueber geben + if (isset($_REQUEST['heximg'])) + { + $heximg = $_REQUEST['heximg']; + } + + // Veranstaltungskategoriebild + if (empty($heximg) && isset($_REQUEST['veranstaltungskategorie_kurzbz'])) + { + $veranstaltung_id=trim($_REQUEST['veranstaltungskategorie_kurzbz']); + $Jahresplan = new jahresplan($conn); + $Jahresplan->InitVeranstaltungskategorie(); + $Jahresplan->setVeranstaltungskategorie_kurzbz($veranstaltung_id); + $arrTempVeranstaltungskategorie=$Jahresplan->loadVeranstaltungskategorie(); + if (isset($arrTempVeranstaltungskategorie[0]['bild'])) + { + $heximg=$arrTempVeranstaltungskategorie[0]['bild']; + } + } + + // Personenbild + if (empty($heximg) && isset($_REQUEST['userUID'])) + { + $userUID=trim($_REQUEST['userUID']); + $unicode=null; // Standart Encoding der Datenbank + $benutzer = new benutzer($conn,$userUID,$unicode); // Lesen Person - Benutzerdaten + if (isset($benutzer->foto)) + { + $heximg=$benutzer->foto; + } + } + + if (empty($heximg)) // Leeres Images + { + $heximg ='4749463839611e000a0080ff00c0c0c000000021f90401000000002c000000001e000a0040020f848fa9cbed0fa39cb4da8bb3debc00003b'; + } + + + @ob_end_clean(); + header("Content-type: image/gif"); + exit(jahresplan_hexstr($heximg)); + + +function jahresplan_hexstr($hex) +{ + $string=""; + for ($i=0;$i diff --git a/cis/private/jahresplan/jahresplan_detail.php b/cis/private/jahresplan/jahresplan_detail.php new file mode 100644 index 000000000..d1d433804 --- /dev/null +++ b/cis/private/jahresplan/jahresplan_detail.php @@ -0,0 +1,174 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ + + +// ---------------- CIS Include Dateien einbinden + require_once('../../config.inc.php'); + // Datenbankverbindung - ohne erfolg kann hier bereits beendet werden + if (!$conn=pg_pconnect(CONN_STRING)) + { + die('Jahresplan
Keine Veranstaltungen zurzeit Online.
Bitte etwas Geduld.
Danke'); + } + require_once('../../../include/functions.inc.php'); + require_once('../../../include/globals.inc.php'); + +// ---------------- Datenbank-Verbindung + include_once('../../../include/person.class.php'); + include_once('../../../include/benutzer.class.php'); + include_once('../../../include/benutzerberechtigung.class.php'); + +// ---------------- Jahresplan Classe und Allg.Funktionen + include_once('../../../include/jahresplan.class.php'); + include_once('jahresplan_funktionen.inc.php'); + +// ------------------------------------------------------------------------------------------ +// Request Parameter +// ------------------------------------------------------------------------------------------ + $userUID=(isset($_REQUEST['userUID']) ? $_REQUEST['userUID'] :get_uid()); + if (empty($userUID)) + { + die('Es wurde keine Benutzer UID gefunden ?'); + } + // Parameter Veranstaltungskategorie + $veranstaltung_kurzbz=trim((isset($_REQUEST['veranstaltungskategorie_kurzbz']) ? $_REQUEST['veranstaltungskategorie_kurzbz']:'')); + // Parameter Veranstaltung + $veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:'')); + $Jahr=trim((isset($_REQUEST['Jahr']) ? $_REQUEST['Jahr']:date("Y", mktime(0,0,0,date("m"),date("d"),date("y"))))); + $Monat=trim((isset($_REQUEST['Monat']) ? $_REQUEST['Monat']:date("m", mktime(0,0,0,date("m"),date("d"),date("y"))))); + $Suchtext=trim((isset($_REQUEST['Suchtext']) ? $_REQUEST['Suchtext']:'')); + +// ------------------------------------------------------------------------------------------ +// Personen Classe +// Anwernderdaten ermitteln +// ------------------------------------------------------------------------------------------ + $userNAME=$userUID; + $unicode=null; // Standart Encoding der Datenbank + $pers = new benutzer($conn,$userUID,$unicode); // Lesen Person - Benutzerdaten + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + } + +// ------------------------------------------------------------------------------------------ +// Benutzer Classe +// Berechtigungen ermitteln +// ------------------------------------------------------------------------------------------ + $is_lector=false; + $is_wartungsberechtigt=false; + if (isset($pers->nachname)) + { + $benutzerberechtigung = new benutzerberechtigung($conn,$userUID); + $benutzerberechtigung->getBerechtigungen($userUID,true); + // Nur Lektoren oder Mitarbeiter duerfen alle Termine sehen , Studenten nur Freigegebene Kategorien + if($benutzerberechtigung->fix || $benutzerberechtigung->lektor) + $is_lector=true; + else + $is_lector=false; + + // Kennzeichen setzen fuer Berechtigungspruefung + $berechtigung='veranstaltung'; + $studiengang_kz=null; + $art='suid'; + $fachbereich_kurzbz=null; + // Berechtigungen abfragen + $is_wartungsberechtigt=$benutzerberechtigung->isBerechtigt($berechtigung,$studiengang_kz,$art, $fachbereich_kurzbz); + if (!$is_wartungsberechtigt) + { + $is_wartungsberechtigt=false; + } + unset($benutzerberechtigung); // Klasse Berechtigungen entfernen + } +?> + + + +Veranstaltungsdetail ID <?php echo $veranstaltung_id.' - '.$userNAME;?> + + + + + +InitVeranstaltung(); + // Nur Berechtigte duerfen alle Informationen sehen (Mitarbeiter) + $Jahresplan->setVeranstaltungskategorieMitarbeiter($is_lector); + // Nur Berechtigte duerfen auch noch nicht freigegebene Sehen + + if (!$is_wartungsberechtigt) + $Jahresplan->setFreigabe(true); + else + $Jahresplan->setFreigabe(false); + + + $Jahresplan->setVeranstaltung_id($veranstaltung_id); + $veranstaltung=array(); + if ($Jahresplan->loadVeranstaltung()) + { + $veranstaltung=$Jahresplan->getVeranstaltung(); + } + + // Ausgabe der Veranstaltungsdaten bzw Hinweisstext + if (is_array($veranstaltung) && isset($veranstaltung[0])) + { + echo jahresplan_veranstaltung_detailanzeige($conn,$veranstaltung,$is_wartungsberechtigt); + } + else + { + echo '

Veranstaltungsdetail ID '.$veranstaltung_id.' wurde nicht gefunden!

'; + echo $Jahresplan->getError(); + + } +?> + + \ No newline at end of file diff --git a/cis/private/jahresplan/jahresplan_funktionen.inc.php b/cis/private/jahresplan/jahresplan_funktionen.inc.php new file mode 100644 index 000000000..936e0d7fb --- /dev/null +++ b/cis/private/jahresplan/jahresplan_funktionen.inc.php @@ -0,0 +1,1052 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + * Gerald Simane-Sequens . + */ + + // Globale Einstellungen + setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge'); +// ---------------- Konstante + if (!defined('constEingabeFehlt')) define('constEingabeFehlt','Eingabe !' ); + if (!defined('constZeitDatumJJJJMMTT')) define('constZeitDatumJJJJMMTT','%Y%m%d' ); + +#------------------------------------------------------------------------------------------- +/* +* +* @jahresplan_veranstaltung_detailanzeige anzeige einer Veranstaltungen in Detailform +* +* @param $conn Aktuelle Datenbankverbindung +* @param $veranstaltung Veranstaltung +* @param $wartungsberechtigt Anzeige fuer Admin und Wartungsberechtigte +* +* @return HTML Detailansicht der Veranstaltungen +* +*/ +function jahresplan_veranstaltung_detailanzeige($conn,$veranstaltung,$wartungsberechtigt=false) +{ + if (!defined('constZeitKalenderPopUp')) define('constZeitKalenderPopUp','%a, %d.%m.%Y' ); + if (!defined('constZeitKalenderPopUp_zeit')) define('constZeitKalenderPopUp_zeit','%H:%M' ); + + if (!is_array($veranstaltung)) + { + return 'keine Veranstaltung '; + } + + // Pruefen ob die Detail-Array in einer weiteren Array liegt (Verarbeitet wird ein Flaches Array mit Veranstaltungen) + if (is_array($veranstaltung[0]) && isset($veranstaltung[0]["veranstaltung_id"])) + { + $veranstaltung=$veranstaltung[0]; + } + // Plausib Veranstaltungsdaten vorhanden + if (!is_array($veranstaltung)) + { + return 'keine Veranstaltung '; + } + + // Veranstaltung in Verarbeitungstabelle uebertragen + $veranstaltung_detail=jahresplan_funk_veranstaltung_extend($veranstaltung); + + // Initialisieren HTML Code Ausgabe + $showHTML='
'; + // Start Detailanzeige + $showHTML.=''; + + // Kategorie + $showHTML.=''; + + $showHTML.=''; + $showHTML.=''; + + // Veranstaltungstermin - Block + // Anzeige Veranstaltungsdatum - Unterschiedlich wenn Start und Ende Datum gleich sind + $showHTML.=''; + + + // Veranstaltungs Inhalt und Beschreibung + $showHTML.=''; + $showHTML.=''; + // Reservierung + $Jahresplan = new jahresplan($conn); + $Jahresplan->InitReservierung(); + $Jahresplan->loadReservierung('',$veranstaltung_detail["veranstaltung_id"]); + if ($res=$Jahresplan->getReservierung()) + { + + $showHTML.=''; + } + elseif ($Jahresplan->getError()) + { + $showHTML.=''; + } + $showHTML.=''; + $showHTML.='
 '.$veranstaltung_detail['bild_image'].' '.$veranstaltung_detail['bezeichnung'].' 
 
'.nl2br($veranstaltung_detail['beschreibung']).'
'; + if (strftime(constZeitDatumJJJJMMTT,$veranstaltung_detail["start_timestamp"])==strftime(constZeitDatumJJJJMMTT,$veranstaltung_detail["ende_timestamp"])) + { + $showHTML.=''; + $showHTML.=''; + } + else // Ende Datum und Zeit + { + $showHTML.=''; + } + $showHTML.='
Uhrzeit: '.strftime (constZeitKalenderPopUp_zeit,$veranstaltung_detail['start_timestamp']).' - '.strftime(constZeitKalenderPopUp_zeit,$veranstaltung_detail['ende_timestamp']).' Uhr
Datum: '.strftime(constZeitKalenderPopUp,$veranstaltung_detail['start_timestamp']).'
'; + $showHTML.=' + '; + $showHTML.=' + '; + $showHTML.='
Uhrzeit: '.strftime (constZeitKalenderPopUp_zeit,$veranstaltung_detail['start_timestamp']).' Uhr - '. strftime (constZeitKalenderPopUp_zeit,$veranstaltung_detail['ende_timestamp']).' Uhr
Datum: '.strftime(constZeitKalenderPopUp,$veranstaltung_detail['start_timestamp']).' - '. strftime (constZeitKalenderPopUp,$veranstaltung_detail['ende_timestamp']).'
'.(!empty($veranstaltung_detail['inhalt'])?'Details
':'').nl2br($veranstaltung_detail['inhalt']).'
 
'; + + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + + $showHTML.='

Raumreservierungen:

'; + reset($res); + $checkReservierung=null; + for ($iTmpZehler=0;$iTmpZehler':''); + $unicode=null; + $userNAME=$res[$iTmpZehler]["uid"];; + $pers = new benutzer($conn,$userNAME,$unicode); // Lesen Person - Benutzerdaten + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + if ($pers->foto) + { + $cURL='jahresplan_bilder.php?time='.time().'&'.(strlen($pers->foto)<800?'heximg='.$pers->foto:'userUID='.$pers->uid); + $res[$iTmpZehler]["bild"]='Reservierung von Benutzer'; + } + } + + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + + // Suchen zu dieser Reservierung den letzten Eintrag + $lastReservierung=jahresplan_veranstaltung_zusammenfassen($res,$iTmpZehler,$checkReservierung); + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + } + } + $showHTML.='
 
Titel:'.(isset($res[$iTmpZehler]['titel'])?$res[$iTmpZehler]['titel']:$res[$iTmpZehler]['reservierung_titel']).'
Ort:'.(isset($res[$iTmpZehler]['ort_kurzbz'])?$res[$iTmpZehler]['ort_kurzbz']:$res[$iTmpZehler]['reservierung_ort_kurzbz']).'
Datum/Uhrzeit:'.(isset($res[$iTmpZehler]['datum_anzeige'])?$res[$iTmpZehler]['datum_anzeige']:$res[$iTmpZehler]['res_datum_anzeige']); + if (isset($res[$iTmpZehler]['beginn'])) + $showHTML.=' / '.$res[$iTmpZehler]['beginn_anzeige'].' - '. (isset($lastReservierung['ende_anzeige'])?$lastReservierung['ende_anzeige']:$res[$iTmpZehler]['ende_anzeige']); + $showHTML.='
Anlage:'.$userNAME.''.(isset($res[$iTmpZehler]["bild"])?$res[$iTmpZehler]["bild"]:'').'
Beschreibung:'.(isset($res[$iTmpZehler]['beschreibung'])?$res[$iTmpZehler]['beschreibung']:$res[$iTmpZehler]['reservierung_beschreibung']).'
'.$Jahresplan->getError().'
Bei Fragen geben Sie bitte immer die Veranstaltungs ID '.$veranstaltung_detail["veranstaltung_id"].' an.
'; + $showHTML.='
'; + + // Admin Info AenderungsAnwender + if (!$wartungsberechtigt) + { + return $showHTML; + } + $showHTML.=jahresplan_veranstaltung_detail_user($conn,$veranstaltung,$wartungsberechtigt); + return $showHTML; +} +#------------------------------------------------------------------------------------------- +/* +* +* @jahresplan_veranstaltung_zusammenfassen suchen die letzte Veranstaltungen zu einer Reservierung +* +* @param $res Tabelle der Reservierungen +* @param $iTmpZehler Startindex in der Tabelle +* +* @return HTML Detailansicht der Veranstaltungen +* +*/ +function jahresplan_veranstaltung_zusammenfassen($res,$iZehler) +{ + reset($res); + $checkReservierung=(isset($res[$iZehler]['ort_kurzbz'])?$res[$iZehler]['ort_kurzbz']:$res[$iZehler]['reservierung_ort_kurzbz']).(isset($res[$iZehler]['titel'])?$res[$iZehler]['titel']:$res[$iZehler]['reservierung_titel']).(isset($res[$iZehler]['beschreibung'])?$res[$iZehler]['beschreibung']:$res[$iZehler]['reservierung_beschreibung']); + $gefReservierung=$res[$iZehler]; + for ($iTmpZehler=$iZehler;$iTmpZehler0) + { + $cTmpStyleTableOn="close "; + $cTmpStyleTableOff="open "; + + $showHTML.='

 '.$cTmpStyleTableOn.$cTmpStyleTableOff.$cTmpInfoMonatHeaderzeile.' 

'; + $showHTML.=''.$iTmpAnzahlDaten.''; + } + else + { + $cTmpStyleTableOn="close "; + $cTmpStyleTableOff="open "; + + $showHTML.='

 '.$cTmpStyleTableOn.$cTmpStyleTableOff.$cTmpInfoMonatHeaderzeile.' 

'; + $showHTML.=''.$iTmpAnzahlDaten.''; + } + + // Monatsanzeige - nicht aktuelle werden ausgeblendet + if (!empty($Monat) || count($veranstaltung_kalender[$Jahr]['Monat'][$iTmpMonat])>0) + { + $showHTML.=''; + } + else + { + $showHTML.=''; + } + + $showHTML.=''; + + $showHTML.=' + + + + + + + + + '; + + // Wochenanzeige + $alleKWanzeigen=""; + $alleKWausblenden=""; + + $iTmpMinKW=(isset($veranstaltung_kalender[$Jahr]['VerarbeitenWochen'][$iTmpMonat])?$veranstaltung_kalender[$Jahr]['VerarbeitenWochen'][$iTmpMonat][0]:1); + $iTmpMaxKW=(isset($veranstaltung_kalender[$Jahr]['VerarbeitenWochen'][$iTmpMonat])?$veranstaltung_kalender[$Jahr]['VerarbeitenWochen'][$iTmpMonat][count($veranstaltung_kalender[$Jahr]['VerarbeitenWochen'][$iTmpMonat])-1]:1); + for ($iTmpWoche=$iTmpMinKW;$iTmpWoche<=$iTmpMaxKW;$iTmpWoche++) + { + $nowWeek=(int)date("W", mktime(0,0,0,date("m"),date("d"),date("y"))); + + // Fuer alle WochenTage das Script Anzeige,Verstecken erzeugen + $cTmpStyleTableOn=""; + $cTmpStyleTableOff=""; + for ($iTmpTag=0;$iTmpTag<7;$iTmpTag++) + { + $cTmpStyleTableOn.="show_layer('week_".$iTmpMonat.$iTmpWoche.$iTmpTag."');"; + $cTmpStyleTableOff.="hide_layer('week_".$iTmpMonat.$iTmpWoche.$iTmpTag."');"; + } + $alleKWanzeigen.=$cTmpStyleTableOn; + $alleKWausblenden.=$cTmpStyleTableOff; + + // Wochenzeile Start + $showHTML.=''; + + // Die KW hat keine Daten - Initialisieren mit Array + if (!isset($veranstaltung_kalender[$Jahr][$iTmpMonat]['Woche'][$iTmpMonat][$iTmpWoche])) + { + $veranstaltung_kalender[$Jahr][$iTmpMonat]['Woche'][$iTmpMonat][$iTmpWoche]=array(); + } + + // Wochenanzeigen ON OFF + $iTmpAnzahlDaten=''; + + $cTmpStyleTableOn2='hide_layer(\'on_'.$iTmpMonat.$iTmpWoche.'\');show_layer(\'off_'.$iTmpMonat.$iTmpWoche.'\');'; + $cTmpStyleTableOff2='hide_layer(\'off_'.$iTmpMonat.$iTmpWoche.'\');show_layer(\'on_'.$iTmpMonat.$iTmpWoche.'\');'; + + $alleKWanzeigen.=$cTmpStyleTableOn2.$cTmpStyleTableOn; + $alleKWausblenden.=$cTmpStyleTableOff2.$cTmpStyleTableOff; + + $showHTML.=''; + // Kalendertage + for ($iTmpTag=0;$iTmpTag<7;$iTmpTag++) + { + if (!isset($veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTimestamp'][$iTmpWoche][$iTmpTag])) + continue; + $iTmpTimeStamp=$veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTimestamp'][$iTmpWoche][$iTmpTag]; + + if (isset($veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTag'][$iTmpWoche][$iTmpTag])) + $iTmpStartTagErgebniss=$veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTag'][$iTmpWoche][$iTmpTag]; + else + $iTmpStartTagErgebniss=array(); + + $cTmpPruef1=date("Y",$iTmpTimeStamp); + $cTmpPruef2=$Jahr; + + if (!empty($Monat)) + { + $cTmpPruef1=date("Ym",$iTmpTimeStamp); + $cTmpPruef2=$Jahr.(strlen($Monat)<2?'0'.$Monat:$Monat); + } +# else if (!empty($oJahresplan->Woche)) +# { +# $cTmpPruef1=date("YW",$iTmpTimeStamp); +# $cTmpPruef2=$Jahr.(strlen($oJahresplan->Woche)<2?'0'.$oJahresplan->Woche:$oJahresplan->Woche); +# } + else + { + $cTmpPruef1=date("Ym",$iTmpTimeStamp); + $cTmpPruef2=$Jahr.($iTmpMonat<10?"0".$iTmpMonat:$iTmpMonat); + } + // Tage je Woche + $showHTML.=''; + $showHTML.='
KWMontagDienstagMittwochDonnerstagFreitagSamstagSonntag
+ '; + if (count($veranstaltung_kalender[$Jahr][$iTmpMonat]['Woche'][$iTmpMonat][$iTmpWoche])>0 + && ( empty($Monat) || (!empty($Monat) && $iTmpMonat==$Monat && $iTmpMonat!=$nowMonat && $nowWeek!=$iTmpWoche) + || ($iTmpMonat==$nowMonat && $nowWeek==$iTmpWoche) )) + { + $showHTML.=''; + $showHTML.=''; + } + else + { + $showHTML.=''; + $showHTML.=''; + } + $showHTML.='
 '.$iTmpAnzahlDaten.($iTmpWoche>52?1:$iTmpWoche).'open '.$iTmpAnzahlDaten.($iTmpWoche>52?1:$iTmpWoche).'close '.$iTmpAnzahlDaten.($iTmpWoche>52?1:$iTmpWoche).'open '.$iTmpAnzahlDaten.($iTmpWoche>52?1:$iTmpWoche).'close
'; + $showHTML.=' + + '; + } // Termin Ende + + + // TagesContainer Ende + $showHTML.='
'; + + // Tagesdatum - Header + if ($cTmpPruef1!=$cTmpPruef2) // Nicht mehr im Aktuellen Monat + $showHTML.='
'; + elseif (count($iTmpStartTagErgebniss)<1) + $showHTML.='
'; + else + $showHTML.='
'; + $showHTML.=' '.strftime (constKalenderDatum, $iTmpTimeStamp).' '; + $showHTML.='
'; + + // Keine Veranstaltungensdaten je Tag + if (count($veranstaltung_kalender[$Jahr][$iTmpMonat]['Woche'][$iTmpMonat][$iTmpWoche])>0 + && ( empty($Monat) || (!empty($Monat) && $iTmpMonat==$Monat && $iTmpMonat!=$nowMonat && $nowWeek!=$iTmpWoche) + || ($iTmpMonat==$nowMonat && $nowWeek==$iTmpWoche) ) ) + $showHTML.='
'; + else + $showHTML.='
'; + $showHTML.=''; + // Wartungsberechtigte bekommen einen Wartungsknopf zu jeden Tag + if ($wartungsberechtigt) + { + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + } + + + // Veranstaltungen je Tag + for ($iTmpVeranstaltung=0;$iTmpVeranstaltung + '; + // Termin Start + $showHTML.='
'; + if ($wartungsberechtigt) + { + $showHTML.='Wartung Veranstaltung'; + } + $showHTML.='
'; + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + // Termine Wartungsberechtigte Icons anzeigen + if ($wartungsberechtigt) + { + // onmouseover $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + $showHTML.=''; + } + // Rundung je Termin Ende + $showHTML.='
+ + + + + +
 '.$iTmpStartTagErgebniss[$iTmpVeranstaltung]['bild_image'].' '.(strlen($iTmpStartTagErgebniss[$iTmpVeranstaltung]['beschreibung'])>8?substr(trim($iTmpStartTagErgebniss[$iTmpVeranstaltung]['beschreibung']),0,8).'...' :trim($iTmpStartTagErgebniss[$iTmpVeranstaltung]['beschreibung'])).'
+
'; + + $cTmpScriptWartung=' onclick="callWindows(\'jahresplan_veranstaltung.php?work=show&veranstaltung_id='.$iTmpStartTagErgebniss[$iTmpVeranstaltung]['veranstaltung_id'].'\',\'Veranstaltung_Aenderung\');" '; + $showHTML.=' pflege Veranstaltung'; + + $cTmpScriptWartung=' onclick="if (!confirm(\'Wollen Sie wirklich ID '.$iTmpStartTagErgebniss[$iTmpVeranstaltung]['veranstaltung_id'].' löschen ?\')) {return false;} ; callWindows(\'jahresplan_veranstaltung.php?work=del&veranstaltung_id='.$iTmpStartTagErgebniss[$iTmpVeranstaltung]['veranstaltung_id'].'\',\'Veranstaltung_Loeschen\');" '; + $showHTML.=' löschen Veranstaltung ID '.$iTmpStartTagErgebniss[$iTmpVeranstaltung]['veranstaltung_id'].''; + + if (empty($iTmpStartTagErgebniss[$iTmpVeranstaltung]['freigabeamum'])) + $showHTML.=' noch keine Freigabe'; + if (substr($iTmpStartTagErgebniss[$iTmpVeranstaltung]['veranstaltungskategorie_kurzbz'],0,1)=='*') + $showHTML.=' Anzeige nur fuer Mitarbeiter'; + $showHTML.='
+ + + +
'; + $showHTML.=''; + $showHTML.='
'; + } // 7 Tage Container Ende + $showHTML.=''; + } + // WochenContainer Ende +# $alleKWanzeigen.=$cTmpStyleTableOn; +# $alleKWausblenden.=$cTmpStyleTableOff; + + if (!empty($Monat)) + { + $showHTML.=' + + + + + +
alle Wochen öffnen openalle Wochen schliessen close
+ '; + } + $showHTML.=' + '; + } + $showHTML.=''; + $showHTML.='Bei Fragen geben Sie bitte immer die Veranstaltungs ID an.'; + $showHTML.=''; + $showHTML.=''; + return $showHTML; +} +#------------------------------------------------------------------------------------------- +/* +* +* @jahresplan_veranstaltungskategorie_kalendererzeugen zur Termin Selektion Jahr-Monat Tabelle aufbauen +* +* @param $veranstaltung Veranstalltungstabelle mit allen Daten zur Selektion +* @param $Jahr Selektions Jahr +* @param $Monat Selektions Monat +* +* @return HTML Kalender +* +*/ +function jahresplan_veranstaltungskategorie_kalendererzeugen($veranstaltung_tabelle,$Jahr,$Monat) +{ + $veranstaltung_kalender=array(); + $iTmpMinMonate=(empty($Monat)?1:$Monat); + $iTmpMaxMonate=(empty($Monat)?12:$Monat); + for ($iTmpMonat=(empty($Monat)?1:$Monat);$iTmpMonat<=$iTmpMaxMonate;$iTmpMonat++) + { + $veranstaltung_kalender[$Jahr]['VerarbeitenMonate'][]=$iTmpMonat; + + $iTmpMinTage=1; + $iTmpMaxTage=strftime("%d",mktime(0, 0, 0,( $iTmpMonat + 1 ), 0, $Jahr)); + + $iTmpMinKW=(int)date("W",mktime(0, 0, 0,$iTmpMonat,1, $Jahr)); + $iTmpMaxKW=(int)date("W",mktime(0, 0, 0,$iTmpMonat,$iTmpMaxTage, $Jahr)); + if ($iTmpMaxKW<2 && $iTmpMonat==12) + $iTmpMaxKW=53; + + // Fuer die Erste Woche das Montag-Datum ermitteln + $iTmpTagNr=date('w',mktime(0, 0, 0, $iTmpMonat ,1, $Jahr)); + $iTmpInitDay=mktime(0, 0, 0, $iTmpMonat ,1, $Jahr); + if ($iTmpTagNr!=1) + { + $iTmpInitDay=mktime(0, 0, 0, $iTmpMonat ,(1 - ($iTmpTagNr==0?7:$iTmpTagNr) )+1, $Jahr); + } + // KalenderInit + for ($iTmpWoche=$iTmpMinKW;$iTmpWoche<=$iTmpMaxKW;$iTmpWoche++) + { + $veranstaltung_kalender[$Jahr]['VerarbeitenWochen'][$iTmpMonat][]=$iTmpWoche; + + for ($iTmpTag=0;$iTmpTag<7;$iTmpTag++) + { + $iTmpZwTag=(int)date('d',$iTmpInitDay); + $iTmpZwMonat=(int)date('m',$iTmpInitDay); + $iTmpZwWoche=(int)date('W',$iTmpInitDay); + $iTmpZwWochentag=(int)date('w',$iTmpInitDay); + $iTmpZwWochentagname=date('D',$iTmpInitDay); + $iTmpZw_jjjjmmtt=date('Ymd',$iTmpInitDay); + + $veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTimestamp'][$iTmpWoche][$iTmpTag]=$iTmpInitDay; + $veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTimestampDatum'][$iTmpWoche][$iTmpTag]=$iTmpZw_jjjjmmtt; + $veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTag'][$iTmpWoche][$iTmpZwWochentag]=array(); + + $iTmpInitDay=mktime(0, 0, 0, $iTmpZwMonat ,$iTmpZwTag +1, date('Y',$iTmpInitDay) ); + } + } + + $veranstaltung_next=$veranstaltung_tabelle; + for ($iTmpWoche=$iTmpMinKW;$iTmpWoche<=$iTmpMaxKW;$iTmpWoche++) + { + // Keine weitere Vearbeitungen mehr noetig + if (!is_array($veranstaltung_next) || count($veranstaltung_next)<1) + continue; + + for ($iTmpTag=0;$iTmpTag<7;$iTmpTag++) + { + $iTmpInitDay=$veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTimestamp'][$iTmpWoche][$iTmpTag]; + + $iTmpZwWochentag=(int)date('w',$iTmpInitDay); + $iTmpZwWoche=(int)date('W',$iTmpInitDay); + $iTmpZwMonat=(int)date('m',$iTmpInitDay); + $iTmpZw_jjjjmmtt=date('Ymd',$iTmpInitDay); + + // Keine weitere Vearbeitungen mehr noetig + if (!is_array($veranstaltung_next) || count($veranstaltung_next)<1) + continue; + + // Daten zur Verarbeitung bereitstellen + // es werden nur mehr die Tage die noch nicht verarbeitet sind im next gemerkt + $veranstaltung=$veranstaltung_next; + $veranstaltung_next=array(); + reset($veranstaltung); + + for ($iTmpVeranstaltung=0;$iTmpVeranstaltung=$veranstaltung[$iTmpVeranstaltung]['start_jahr'] && $Jahr<=$veranstaltung[$iTmpVeranstaltung]['ende_jahr']) + && ($iTmpWoche>$veranstaltung[$iTmpVeranstaltung]['ende_woche']) ) + continue; + + // Datum ist OK fuer weitere verarbeitung + $veranstaltung_next[]=$veranstaltung[$iTmpVeranstaltung]; + + if ( ($Jahr>=$veranstaltung[$iTmpVeranstaltung]['start_jahr'] + && $Jahr<=$veranstaltung[$iTmpVeranstaltung]['ende_jahr']) + && ($iTmpWoche>=$veranstaltung[$iTmpVeranstaltung]['start_woche'] + && $iTmpWoche<=$veranstaltung[$iTmpVeranstaltung]['ende_woche']) ) + { + // Veranstaltung passt nicht mit Start - Ende in diesen Tag + if ($iTmpZw_jjjjmmtt<$veranstaltung[$iTmpVeranstaltung]['start_jjjjmmtt'] + || $iTmpZw_jjjjmmtt>$veranstaltung[$iTmpVeranstaltung]['ende_jjjjmmtt']) + continue; + $veranstaltung_kalender[$Jahr]['Monat'][$iTmpMonat][$veranstaltung[$iTmpVeranstaltung]['veranstaltung_id']]=$veranstaltung[$iTmpVeranstaltung]['veranstaltung_id']; + $veranstaltung_kalender[$Jahr][$iTmpMonat]['Woche'][$iTmpMonat][$iTmpWoche][$veranstaltung[$iTmpVeranstaltung]['veranstaltung_id']]=$veranstaltung[$iTmpVeranstaltung]['veranstaltung_id']; + $veranstaltung_kalender[$Jahr][$iTmpMonat]['WochenTag'][$iTmpZwWoche][$iTmpTag][]=$veranstaltung[$iTmpVeranstaltung]; + } + } // Ende For Veranstaltung + } // Ende For Woche + } + } + return $veranstaltung_kalender; +} +#------------------------------------------------------------------------------------------- +/* +* +* @jahresplan_veranstaltung_listenanzeige anzeigen Veranstaltungen in Listenform +* +* @param $conn Aktuelle Datenbankverbindung +* @param $veranstaltung Veranstaltungstabelle +* @param $wartungsberechtigt Aktueller Anwender darf Daten warten +* +* @return HTML Liste der Ergebnisse der Veranstaltungen +* +*/ +function jahresplan_veranstaltung_listenanzeige($conn,$veranstaltung,$wartungsberechtigt) +{ + // Listen + if (!defined('constHeaderVeranstaltungsdatum')) define('constHeaderVeranstaltungsdatum','%a, %d %B %G' ); + if (!defined('constZeileVeranstaltungsdatum')) define('constZeileVeranstaltungsdatum','%a, %d.%m.%Y %R %H:%M' ); + if (!defined('constZeileVeranstaltungszeit')) define('constZeileVeranstaltungszeit','%H:%M' ); + + // Pruefen ob Daten vorhanden sind zum anzeigen + if (!is_array($veranstaltung) || count($veranstaltung)<1 || !isset($veranstaltung[0]) || !isset($veranstaltung[0]['veranstaltung_id']) || empty($veranstaltung[0]['veranstaltung_id']) ) + { + return 'keine Veranstaltung '; + } + + // Daten in Work Array uebertragen + $veranstaltung_tabelle=$veranstaltung; + + // Moderator,Bild-Icon ermitteln und Leerzeichen aus Textfelder entfernen + reset($veranstaltung_tabelle); + for ($iTmpZehler=0;$iTmpZehler'; + // Titelleiste immer nach Datumanzeigen + $showHTML.=' + ID + Veranstaltung + Beginn + Ende + '; + // Spezielle Anzeigen fuer Wartungsberechtigte Admins + if ($wartungsberechtigt) + { + $showHTML.='AktionFreigabe'; + } + $showHTML.=''; + $cTmpLastKat=""; // Kategoriegruppe Init fuer Gruppenwechsel - Zeilenanzeige + } + $cTmpLastDat=$veranstaltung_tabelle[$iTmpZehler]['start_jjjjmmtt']; + // ---- Ende Veranstaltungsdatum Gruppenwechsel + + + // Kategorie Gruppenwechsel - Listenzeile + if ($cTmpLastKat!=$veranstaltung_tabelle[$iTmpZehler]['veranstaltungskategorie_kurzbz']) + { + if (!empty($cTmpLastDat)) // Leerzeile vor einem Veranstaltungskategoriewechsel - nicht beim ersten mal + { + $showHTML.=' '; + } + + // Create Kategorie IMG + $veranstaltung_tabelle[$iTmpZehler]["bild_image"]=''; + if (!empty($veranstaltung_tabelle[$iTmpZehler]["bild"])) + { + $cURL='jahresplan_bilder.php?time='.time().'&'.(strlen($veranstaltung_tabelle[$iTmpZehler]["bild"])<800?'heximg='.$veranstaltung_tabelle[$iTmpZehler]["bild"]:'veranstaltungskategorie_kurzbz='.$veranstaltung_tabelle[$iTmpZehler]["veranstaltungskategorie_kurzbz"]); + $veranstaltung_tabelle[$iTmpZehler]["bild_image"]='Kategoriebild'; + } + // Kategorie = Bild + Bezeichnung + $cKategorie=(isset($veranstaltung_tabelle[$iTmpZehler]['bild_image'])?$veranstaltung_tabelle[$iTmpZehler]['bild_image'].' ':''); + $cKategorie.=$veranstaltung_tabelle[$iTmpZehler]['bezeichnung'].' '; + $showHTML.=''.$cKategorie.''; + $cTmpLastRow=0; // Zeilenfarbe Initialisieren - Startfarbe der Kategorie + } + $cTmpLastKat=$veranstaltung_tabelle[$iTmpZehler]['veranstaltungskategorie_kurzbz']; + // ---- Ende Veranstaltungskategorie Gruppenwechsel + $showHTML.=''; + // Detailanzeige - Switch zum umschalten ob das PopUp Extern oder Intern im Layer geoeffnet wird + $showHTML.=' + + + + + + + + +
spacer'.$veranstaltung_tabelle[$iTmpZehler]['veranstaltung_id'].' Detail
+ + + '; + + + $showHTML.=''; + if ($wartungsberechtigt) + { + $maxWortlaenge=45; + } + else + { + $maxWortlaenge=90; + } + $showHTML.=(strlen(trim($veranstaltung_tabelle[$iTmpZehler]['beschreibung']).' '.trim($veranstaltung_tabelle[$iTmpZehler]['inhalt']) )>$maxWortlaenge?substr(trim($veranstaltung_tabelle[$iTmpZehler]['beschreibung']).' '.trim($veranstaltung_tabelle[$iTmpZehler]['inhalt']),0,$maxWortlaenge).'...':trim($veranstaltung_tabelle[$iTmpZehler]['beschreibung']).' '.trim($veranstaltung_tabelle[$iTmpZehler]['inhalt'])); + $showHTML.=' '; + + + $showHTML.=''.strftime(constZeileVeranstaltungsdatum,$veranstaltung_tabelle[$iTmpZehler]["start_timestamp"]).' '; + // Veranstaltungs - Ende Variable : wenn Startdatum und Endedatum gleich nur die Zeit als Ende anzeigen + if (strftime(constZeitDatumJJJJMMTT,$veranstaltung_tabelle[$iTmpZehler]["start_timestamp"])==strftime(constZeitDatumJJJJMMTT,$veranstaltung_tabelle[$iTmpZehler]["ende_timestamp"])) + $showHTML.=' + '.strftime(constZeileVeranstaltungszeit ,$veranstaltung_tabelle[$iTmpZehler]["ende_timestamp"]).' '; + else + $showHTML.=' + '.strftime(constZeileVeranstaltungsdatum ,$veranstaltung_tabelle[$iTmpZehler]["ende_timestamp"]).' '; + + if ($wartungsberechtigt) + { + // Erzeugen PopUp URL fuer Wartung + + // Url + $cTmpScriptWartung=' onclick="callWindows(\'jahresplan_veranstaltung.php?work=show&veranstaltung_id='.$veranstaltung_tabelle[$iTmpZehler]['veranstaltung_id'].'\',\'Veranstaltung_Aenderung\');" '; + // Aendern Icon und Text + $showHTML.=' + aendern Veranstaltung + ändern + '; + + // Erzeugen PopUp URL fuer Entfernen + // Url + $cTmpScriptWartung=' onclick="if (!confirm(\'Wollen Sie wirklich ID '.$veranstaltung_tabelle[$iTmpZehler]['veranstaltung_id'].' löschen ?\')) {return false;} ; callWindows(\'jahresplan_veranstaltung.php?work=del&veranstaltung_id='.$veranstaltung_tabelle[$iTmpZehler]['veranstaltung_id'].'\',\'Veranstaltung_Loeschen\');" '; + // Loeschen Icon und Text + $showHTML.=' + entfernen Veranstaltung + entfernen + '; + + // Freigabe Information und Berechtigungsinfo wer diesen Eintrag sehen darf - Oeffentlich - Mitarbeiter + $showHTML.=''; + $showHTML.=(!empty($veranstaltung_tabelle[$iTmpZehler]['freigabeamum'])?$veranstaltung_tabelle[$iTmpZehler]['freigabeamum'].', '.$veranstaltung_tabelle[$iTmpZehler]['freigabevon']:''); + if (empty($veranstaltung_tabelle[$iTmpZehler]['freigabeamum'])) + $showHTML.='keine Freigabe'; + $showHTML.=''; + + // Plausibfehler Datum Von-Bis ausgeben + if ($veranstaltung_tabelle[$iTmpZehler]["start_timestamp"]>$veranstaltung_tabelle[$iTmpZehler]["ende_timestamp"]) + $showHTML.=' + Fehler! Start kleiner Ende  + '; + } + + $showHTML.=''; // Ende Zeile mit einer Veranstaltung + // Detailanzeige PopUp + $cTmpLastRow++; // ZeilenFarbWechsel erhoehen + } + $showHTML.=''; + + $showHTML.='Bei Fragen geben Sie bitte immer die Veranstaltungs ID an.'; + // Return HTML Liste + return $showHTML; +} + +#------------------------------------------------------------------------------------------- +/* +* +* @jahresplan_funk_veranstaltung_extend Erweitern der Datenbankdatentabelle mit Datum,Bildlink,User,.... +* +* @param $veranstaltung Array Erweitern der Veranstaltungsdaten aus der DB +* +* @return Erweiterte Veranstaltungen Array +* +*/ +function jahresplan_funk_veranstaltung_extend($veranstaltung) +{ + // Plausib + if (is_array($veranstaltung) && isset($veranstaltung[0]) && is_array($veranstaltung[0]) && isset($veranstaltung[0]['veranstaltung_id']) ) + { + $veranstaltung=$veranstaltung[0]; + } + // Plausib + if (!is_array($veranstaltung) || count($veranstaltung)<1 || !isset($veranstaltung["veranstaltung_id"])) + { + return $veranstaltung; + } + // Daten in Work Array uebertragen + $veranstaltung_work=$veranstaltung; + + // Check Space in Textfelder + // ---- Veranstaltungs-Kategorie + $veranstaltung_work["veranstaltungskategorie_kurzbz"]=trim($veranstaltung_work["veranstaltungskategorie_kurzbz"]); + $veranstaltung_work["bezeichnung"]=trim($veranstaltung_work["bezeichnung"]); + // ---- Veranstaltung + $veranstaltung_work["beschreibung"]=trim($veranstaltung_work["beschreibung"]); + $veranstaltung_work["inhalt"]=trim($veranstaltung_work["inhalt"]); + + + // Bildaufbereiten + $cURL='jahresplan_bilder.php?time='.time().'&'.(strlen($veranstaltung_work["bild"])<700?'heximg='.$veranstaltung_work["bild"]:'veranstaltungskategorie_kurzbz='.$veranstaltung_work["veranstaltungskategorie_kurzbz"]); + $veranstaltung_work["bild_image"]='Kategoriebild'; + + return $veranstaltung_work; +} + + +#------------------------------------------------------------------------------------------- +/* +* +* @jahresplan_veranstaltung_detail_user anzeige der Anwenderinformation Freigabe,Anlage,Aenderung der Veranstaltungen +* +* @param $conn Aktuelle Datenbankverbindung +* @param $veranstaltung Veranstaltung +* @param $wartungsberechtigt Anzeige fuer Admin und Wartungsberechtigte +* +* @return HTML Informationsansicht der Anwenderinformation der Veranstaltungen +* +*/ +function jahresplan_veranstaltung_detail_user($conn,$veranstaltung,$wartungsberechtigt=false) +{ + $unicode=null; + if (!$wartungsberechtigt) + { + return 'keine Berechtigung zur Information der Anwenderdaten (Freigabe,Anlage,Aenderung)'; + } + + + $veranstaltung_detail=$veranstaltung; + + if (is_array($veranstaltung_detail) && isset($veranstaltung_detail[0]) && is_array($veranstaltung_detail[0]) && isset($veranstaltung_detail[0]['veranstaltung_id'])) + { + $veranstaltung_detail=$veranstaltung_detail[0]; + } + + if (!is_array($veranstaltung_detail) || !isset($veranstaltung_detail['veranstaltung_id']) || empty($veranstaltung_detail['veranstaltung_id'])) + { + return ''; + } + + $showHTML=''; + // Freigabe + + $userNAME=$veranstaltung_detail['freigabevon']; + $pers = new benutzer($conn,$userNAME,$unicode); // Lesen Person - Benutzerdaten + + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + if ($pers->foto) + { + $cURL='jahresplan_bilder.php?time='.time().'&'.(strlen($pers->foto)<800?'heximg='.$pers->foto:'userUID='.$pers->uid); + $veranstaltung_detail["freigabebild"]='Benutzerbild'; + } + } + + $showHTML.=''; + // Letzte Aenderung + $userNAME=$veranstaltung_detail['updatevon']; + $pers = new benutzer($conn,$userNAME,$unicode); // Lesen Person - Benutzerdaten + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + if ($pers->foto) + { + $cURL='jahresplan_bilder.php?time='.time().'&'.(strlen($pers->foto)<800?'heximg='.$pers->foto:'userUID='.$pers->uid); + $veranstaltung_detail["updatebild"]='Benutzerbild'; + } + } + $showHTML.=''; + + // Neuanlage + $userNAME=$veranstaltung_detail['insertvon']; + $pers = new benutzer($conn,$userNAME,$unicode); // Lesen Person - Benutzerdaten + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + if ($pers->foto) + { + $cURL='jahresplan_bilder.php?time='.time().'&'.(strlen($pers->foto)<800?'heximg='.$pers->foto:'userUID='.$pers->uid); + $veranstaltung_detail["insertbild"]='Benutzerbild'; + } + } + $showHTML.=''; + $showHTML.='
Freigabe von :'.$userNAME.''.(isset($veranstaltung_detail['freigabeamum'])?' am '.$veranstaltung_detail['freigabeamum']:'').''.(isset($veranstaltung_detail["freigabebild"])?' '.$veranstaltung_detail["freigabebild"]:'').'
Änderung von :'.$userNAME.''.(isset($veranstaltung_detail['updateamum'])?' am '.$veranstaltung_detail['updateamum']:'').''.(isset($veranstaltung_detail["updatebild"])?' '.$veranstaltung_detail["updatebild"]:'').'
Neuanlage von :'.$userNAME.''.(isset($veranstaltung_detail['insertamum'])?' am '.$veranstaltung_detail['insertamum']:'').''.(isset($veranstaltung_detail["insertbild"])?' '.$veranstaltung_detail["insertbild"]:'').'
'; + return $showHTML; +} + + +#------------------------------------------------------------------------------------------- +/* +* +* @jahresplan_date_to_timestamp Erzeugt einen Timestamp aus einem Datum +* +* @param $string Datum mit / Ohne Zeit +* +* @return Timestamp +* +*/ +function jahresplan_date_to_timestamp($string="") +{ + + $cTmpWert=$string; + + if (!empty($cTmpWert) && !is_numeric($cTmpWert)) // Start wurde als Datum Zeit uebergeben + { + $cTmpWert=str_replace('.','-',$cTmpWert); + $dateparam=explode(' ',$cTmpWert); + $date=explode('-',$dateparam[0]); + if (!isset($dateparam[1])) $dateparam[1]='00:01:00'; + $time=explode(':',$dateparam[1]); + if (!isset($time[2])) $time[2]=0; + + if ($date[2]<1000) + { + $wechsel=$date[0]; + $date[0]=$date[2]; + $date[2]=$wechsel; + } + + if (@checkdate($date[1], $date[0], $date[2]) ) + { + if (is_numeric($cTmpTimeStampWert=@mktime($time[0], $time[1], $time[2], $date[1],$date[0],$date[2] ))) + $cTmpWert=$cTmpTimeStampWert; + } + else "kein Datum "; + } + return $cTmpWert; +} + +# Testfunktion zur Anzeige einer übergebenen Variable oder Array, Default ist GLOBALS +function Test($arr=constLeer,$lfd=0,$displayShow=true,$onlyRoot=false ) +{ + + $tmpArrayString=''; + if (!is_array($arr) && !is_object($arr)) return $arr; + if (is_array($arr) && count($arr)<1 && $displayShow) return ''; + if (is_array($arr) && count($arr)<1 && $displayShow) return "
function Test (???)
"; + + $lfdnr=$lfd + 1; + $tmpAnzeigeStufe=''; + for ($i=1;$i<$lfdnr;$i++) $tmpAnzeigeStufe.="="; + $tmpAnzeigeStufe.="=>"; + while (list( $tmp_key, $tmp_value ) = each($arr) ) + { + if (!$onlyRoot && (is_array($tmp_value) || is_object($tmp_value)) && count($tmp_value) >0) + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key".Test($tmp_value,$lfdnr); + } else if ( (is_array($tmp_value) || is_object($tmp_value)) ) + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key -- 0 Records"; + } else if ($tmp_value!='') + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :== ".$tmp_value; + } else { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :-- (is Empty :: $tmp_value)"; + } + } + if ($lfd!='') { return $tmpArrayString; } + if (!$displayShow) { return $tmpArrayString; } + + $tmpArrayString.="
"; + $tmpArrayString="


******* START *******
".$tmpArrayString."
******* ENDE *******


"; + $tmpArrayString.="
Server:: ".$_SERVER['PHP_SELF']."
"; + + return "$tmpArrayString"; +} + +?> \ No newline at end of file diff --git a/cis/private/jahresplan/jahresplan_kategorie.php b/cis/private/jahresplan/jahresplan_kategorie.php new file mode 100644 index 000000000..b6239d083 --- /dev/null +++ b/cis/private/jahresplan/jahresplan_kategorie.php @@ -0,0 +1,307 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ + +#------------------------------------------------------------------------------------------- +/* +* Veranstaltungskategorie- Pflege +* +* Aktionen: Anzeige, Anlage, Aenderung und Loeschen +* Ansicht : Voll oder Popup (window.opener) +* +* +*/ + +// ---------------- CIS Include Dateien einbinden + require_once('../../config.inc.php'); + // Datenbankverbindung - ohne erfolg kann hier bereits beendet werden + if (!$conn=pg_pconnect(CONN_STRING)) + { + die('Jahresplan
Keine Veranstaltungen zurzeit Online.
Bitte etwas Geduld.
Danke'); + } + require_once('../../../include/functions.inc.php'); + require_once('../../../include/globals.inc.php'); + +// ---------------- Datenbank-Verbindung + include_once('../../../include/person.class.php'); + include_once('../../../include/benutzer.class.php'); + include_once('../../../include/benutzerberechtigung.class.php'); + +// ---------------- Jahresplan Classe und Allg.Funktionen + include_once('../../../include/jahresplan.class.php'); + include_once('jahresplan_funktionen.inc.php'); + +// ------------------------------------------------------------------------------------------ +// Request Parameter +// ------------------------------------------------------------------------------------------ + if (!$userUID=get_uid()) + { + die('Es wurde keine Benutzer UID gefunden ?'); + } + +// ------------------------------------------------------------------------------------------ +// Personen Classe +// Anwernderdaten ermitteln +// ------------------------------------------------------------------------------------------ + $userNAME=$userUID; + $unicode=null; // Standart Encoding der Datenbank + $pers = new benutzer($conn,$userUID,$unicode); // Lesen Person - Benutzerdaten + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + } + +// ------------------------------------------------------------------------------------------ +// Benutzer Classe +// Berechtigungen ermitteln +// ------------------------------------------------------------------------------------------ + $is_lector=false; + $is_wartungsberechtigt=false; + if (isset($pers->nachname)) + { + + $benutzerberechtigung = new benutzerberechtigung($conn,$userUID); + $benutzerberechtigung->getBerechtigungen($userUID,true); + // Nur Lektoren oder Mitarbeiter duerfen alle Termine sehen , Studenten nur Freigegebene Kategorien + if($benutzerberechtigung->fix || $benutzerberechtigung->lektor) + $is_lector=true; + else + $is_lector=false; + + // Kennzeichen setzen fuer Berechtigungspruefung + $berechtigung='veranstaltung'; + $studiengang_kz=null; + $art='suid'; + $fachbereich_kurzbz=null; + // Berechtigungen abfragen + $is_wartungsberechtigt=$benutzerberechtigung->isBerechtigt($berechtigung,$studiengang_kz,$art, $fachbereich_kurzbz); + if (!$is_wartungsberechtigt) + { + $is_wartungsberechtigt=false; + } + unset($benutzerberechtigung); // Klasse Berechtigungen entfernen + } + + if (!$is_wartungsberechtigt) + { + die('Sie sind nicht berechtigt für diese Seite'); + } + +// ------------------------------------------------------------------------------------------ +// Datenlesen fuer Anzeige +// a) verarbeiten wenn Request Parameter 'work' belegt ist +// b) alle Kategorien lesen +// ------------------------------------------------------------------------------------------ + + $Jahresplan = new jahresplan($conn); + $Jahresplan->InitVeranstaltungskategorie(); + + $work=(isset($_REQUEST['work']) ? $_REQUEST['work'] :''); + $error=''; + +// ------------------------------------------------------------------------------------------ +// Datenverarbeiten +// ------------------------------------------------------------------------------------------ + if (!empty($work) && isset($_REQUEST['veranstaltungskategorie_kurzbz']) && !empty($_REQUEST['veranstaltungskategorie_kurzbz'])) + { + if ($work=='save') + { + // Bildverarbeitung + if(isset($_FILES['uploadBild']['tmp_name'])) + { + $filename = $_FILES['uploadBild']['tmp_name']; + //File oeffnen + if ($fp = fopen($filename,'r')) + { + //auslesen + $string = fread($fp, filesize($filename)); + fclose($fp); + if (isset($fp)) unset($fp); + //in HEX-Werte umrechnen + $hex=""; + for ($i=0;$isaveVeranstaltungskategorie($_REQUEST)) + { + $error='Fehler beim ändern ! '.$Jahresplan->getError(); + } + else + { + $error='Veranstaltungskategorie "'.$_REQUEST['veranstaltungskategorie_kurzbz'].'" geändert.'; + $error.=' + '; + } + } + + if ($work=='del') + { + if(!$veranstaltungskategorie=$Jahresplan->deleteVeranstaltungskategorie(trim($_REQUEST['veranstaltungskategorie_kurzbz']))) + { + $error='Fehler beim löschen ! '.$Jahresplan->getError(); + } + else + { + $error='Veranstaltungskategorie "'.$_REQUEST['veranstaltungskategorie_kurzbz'].'" gelöscht.'; + $error.=' + '; + } + } + } + // Datenverarbeiten ende + +// ------------------------------------------------------------------------------------------ +// Aktuelle Datenlesen +// ------------------------------------------------------------------------------------------ + $Jahresplan->InitVeranstaltungskategorie(); + if ($Jahresplan->loadVeranstaltungskategorie()) + { + $veranstaltungskategorie=$Jahresplan->getVeranstaltungskategorie(); + } + else // Es gibt keine Kategorie oder Fehler beim Lesen - keine weitere Anzeige mehr moeglich + { + die($Jahresplan->getError()); + } + +#var_dump($veranstaltungskategorie); +?> + + + +Jahresplan + + + + + + + + + +

 Kategoriebearbeiten 

+ + + + + + + + + + + '; + } + + ?> + + + > + + + + + + + + + + + + + + + + + +
KurzbezeichnungBezeichnungFarbeBildladenBildAktion
* + + + * name="farbe" onchange="if (this.value=='') {this.style.backgroundColor='transparent';} else {this.style.backgroundColor='#' + this.value;}" value="" size="7" maxlength="6" /> + + + + + + speichern sichern - save class="cursor_hand" onclick="window.document.selJahresplanVeranstaltung.work.value='del';window.document.selJahresplanVeranstaltung.submit();" >löschen entfernen - delete
+ + + + + diff --git a/cis/private/jahresplan/jahresplan_reservierung.php b/cis/private/jahresplan/jahresplan_reservierung.php new file mode 100644 index 000000000..b7214a0af --- /dev/null +++ b/cis/private/jahresplan/jahresplan_reservierung.php @@ -0,0 +1,294 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ + + #------------------------------------------------------------------------------------------- +/* +* Reservierung zur Veranstaltung - Pflege +* +* Aktionen: Anzeige, Anlage, Aenderung und Loeschen +* Ansicht : Voll oder Popup (window.opener) +* +* +*/ + +// ---------------- CIS Include Dateien einbinden + require_once('../../config.inc.php'); + // Datenbankverbindung - ohne erfolg kann hier bereits beendet werden + if (!$conn=pg_pconnect(CONN_STRING)) + { + die('Jahresplan
Keine Veranstaltungen zurzeit Online.
Bitte etwas Geduld.
Danke'); + } + require_once('../../../include/functions.inc.php'); + require_once('../../../include/globals.inc.php'); + +// ---------------- Datenbank-Verbindung + include_once('../../../include/person.class.php'); + include_once('../../../include/benutzer.class.php'); + include_once('../../../include/benutzerberechtigung.class.php'); + +// ---------------- Jahresplan Classe und Allg.Funktionen + include_once('../../../include/jahresplan.class.php'); + include_once('jahresplan_funktionen.inc.php'); + +// ------------------------------------------------------------------------------------------ +// Request Parameter +// ------------------------------------------------------------------------------------------ + if (!$userUID=get_uid()) + { + die('Es wurde keine Benutzer UID gefunden ?'); + } + + // Parameter Veranstaltung + $veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:'')); + if (empty($veranstaltung_id)) + { + exit('keine Veranstaltungs ID übergeben'); + } + $start=trim((isset($_REQUEST['start']) ? $_REQUEST['start']:mktime(12,0,0,date("m"),date("d"),date("y")) )); + $ende=trim((isset($_REQUEST['ende']) ? $_REQUEST['ende']:mktime(13,0,0,date("m"),date("d"),date("y")) )); + + // Verarbeiten einer Reservierung + $work=trim((isset($_REQUEST['work']) ? $_REQUEST['work']:'')); + $veranstaltung_id_zuordnen=trim((isset($_REQUEST['veranstaltung_id_zuordnen']) ? $_REQUEST['veranstaltung_id_zuordnen']:'')); + $reservierung_id=trim((isset($_REQUEST['reservierung_id']) ? $_REQUEST['reservierung_id']:'')); + +// ------------------------------------------------------------------------------------------ +// Personen Classe +// Anwernderdaten ermitteln +// ------------------------------------------------------------------------------------------ + $userNAME=$userUID; + $unicode=null; // Standart Encoding der Datenbank + $pers = new benutzer($conn,$userUID,$unicode); // Lesen Person - Benutzerdaten + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + } + +// ------------------------------------------------------------------------------------------ +// Benutzer Classe +// Berechtigungen ermitteln +// ------------------------------------------------------------------------------------------ + $is_lector=false; + $is_wartungsberechtigt=false; + if (isset($pers->nachname)) + { + + $benutzerberechtigung = new benutzerberechtigung($conn,$userUID); + $benutzerberechtigung->getBerechtigungen($userUID,true); + // Nur Lektoren oder Mitarbeiter duerfen alle Termine sehen , Studenten nur Freigegebene Kategorien + if($benutzerberechtigung->fix || $benutzerberechtigung->lektor) + $is_lector=true; + else + $is_lector=false; + + // Kennzeichen setzen fuer Berechtigungspruefung + $berechtigung='veranstaltung'; + $studiengang_kz=null; + $art='suid'; + $fachbereich_kurzbz=null; + // Berechtigungen abfragen + $is_wartungsberechtigt=$benutzerberechtigung->isBerechtigt($berechtigung,$studiengang_kz,$art, $fachbereich_kurzbz); + if (!$is_wartungsberechtigt) + { + $is_wartungsberechtigt=false; + } + unset($benutzerberechtigung); // Klasse Berechtigungen entfernen + } + + if (!$is_wartungsberechtigt) + { + exit('Sie sind nicht berechtigt für diese Seite !'); + } + +// ------------------------------------------------------------------------------------------ +// Jahresplan Classe +// Reservierungen +// ------------------------------------------------------------------------------------------ + $Jahresplan = new jahresplan($conn); + $error=""; + if ($work=='save' || $work=='del') + { + // Der Reservierung die Veranstaltungsnummer eintragen bzw. leer wenn die Zuordnung aufgehoben wird + if (!empty($reservierung_id)) + { + + $Jahresplan->InitReservierung(); + $Jahresplan->setReservierung_id($reservierung_id); + $Jahresplan->setVeranstaltung_id($veranstaltung_id_zuordnen); + if (!$Jahresplan->saveReservierung()) + { + $error.="Fehler ".$Jahresplan->getError(); + } + echo""; + } + } + +?> + + + +Reservierungen zu ID <?php echo $veranstaltung_id.' - '.$userNAME;?> + + + + + + + + +

Reservierung

+InitReservierung(); + // Nur Berechtigte duerfen alle Informationen sehen (Mitarbeiter) + $Jahresplan->setVeranstaltungskategorieMitarbeiter($is_lector); + // Nur Berechtigte duerfen auch noch nicht freigegebene Sehen + if (!$is_wartungsberechtigt) + { + $Jahresplan->setFreigabe(true); + } + else + { + $Jahresplan->setFreigabe(false); + } + $Jahresplan->setVeranstaltung_id(''); + $Jahresplan->setReservierung_id(''); + + $Jahresplan->setStart($start); + $Jahresplan->setEnde($ende); + + $reservierungierung=array(); + if ($Jahresplan->loadReservierung()) + { + $reservierungierung=$Jahresplan->getReservierung(); + } + $showHTML.=$Jahresplan->getError(); + + $showHTML.=' + + + + + + + + '; + + for ($iTmpZehler=0;$iTmpZehlernachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + if ($pers->foto) + { + $cURL='jahresplan_bilder.php?time='.time().'&'.(strlen($pers->foto)<800?'heximg='.$pers->foto:'userUID='.$pers->uid); + $reservierungierung[$iTmpZehler]["bild"]='Reservierung von Benutzer'; + } + } + + $showHTML.=' + + + + + + + '; + $showHTML.=''; + $showHTML.=''; + + $showHTML.=''; + $cTmpResScript=' onclick="window.document.selJahresplanReservierung'.($iTmpZehler<0?'':$iTmpZehler).'.work.value=\'save\';window.document.selJahresplanReservierung'.($iTmpZehler<0?'':$iTmpZehler).'.submit();" ' ; + + // Checkbox Reservierung zuteilen oder aufheben + $showHTML.=''; + $showHTML.=''; + $showHTML.=' + + + '; + } + $showHTML.=' +
Reservierung IDOrtTitelDatumAnlageVeranstaltung
'.$reservierungierung[$iTmpZehler]['reservierung_id'].' + + + + + + '.$reservierungierung[$iTmpZehler]['ort_kurzbz'].''.$reservierungierung[$iTmpZehler]['titel'].''.$reservierungierung[$iTmpZehler]['datum_anzeige'].''.$reservierungierung[$iTmpZehler]['beginn_anzeige'].'-'.$reservierungierung[$iTmpZehler]['ende_anzeige'].''.(isset($userNAME)?$userNAME:$reservierungierung[$iTmpZehler]['uid']).' '.(isset($reservierungierung[$iTmpZehler]["bild"])?$reservierungierung[$iTmpZehler]["bild"]:'').''.($reservierungierung[$iTmpZehler]['veranstaltung_id']!=$veranstaltung_id?$reservierungierung[$iTmpZehler]['veranstaltung_id']:'').''; + $showHTML.=''; + if (!empty($reservierungierung[$iTmpZehler]['veranstaltung_id']) && $reservierungierung[$iTmpZehler]['veranstaltung_id']!=$veranstaltung_id) + { + $showHTML.=' bereits zugeordnet zu Veranstaltung '.$reservierungierung[$iTmpZehler]['veranstaltung_id']; + } + $showHTML.='
'; + $showHTML.=$error; + $showHTML.='

Bei Fragen geben Sie bitte immer die Veranstaltungs ID '.$veranstaltung_id.' an.

'; + echo $showHTML; +?> + + \ No newline at end of file diff --git a/cis/private/jahresplan/jahresplan_veranstaltung.php b/cis/private/jahresplan/jahresplan_veranstaltung.php new file mode 100644 index 000000000..aaa24785e --- /dev/null +++ b/cis/private/jahresplan/jahresplan_veranstaltung.php @@ -0,0 +1,623 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ + + +#------------------------------------------------------------------------------------------- +/* +* Veranstaltungsdaten - Pflege +* +* Aktionen: Anzeige, Anlage, Aenderung und Loeschen +* Ansicht : Voll oder Popup (window.opener) +* +* Zusatz : Reservierungsinformationen +* koennen im Veranstaltungszeitraum dazu gefuegt werden +* +* +*/ + + +// ---------------- CIS Include Dateien einbinden + require_once('../../config.inc.php'); + // Datenbankverbindung - ohne erfolg kann hier bereits beendet werden + if (!$conn=pg_pconnect(CONN_STRING)) + { + die('Jahresplan
Keine Veranstaltungen zurzeit Online.
Bitte etwas Geduld.
Danke'); + } + require_once('../../../include/functions.inc.php'); + require_once('../../../include/globals.inc.php'); + +// ---------------- Datenbank-Verbindung + include_once('../../../include/person.class.php'); + include_once('../../../include/benutzer.class.php'); + include_once('../../../include/benutzerberechtigung.class.php'); + +// ---------------- Jahresplan Classe und Allg.Funktionen + include_once('../../../include/jahresplan.class.php'); + include_once('jahresplan_funktionen.inc.php'); + +// ------------------------------------------------------------------------------------------ +// Request Parameter +// ------------------------------------------------------------------------------------------ + if (!$userUID=get_uid()) + { + die('Es wurde keine Benutzer UID gefunden ?'); + } + // Parameter Veranstaltungskategorie + $veranstaltungskategorie_kurzbz=trim((isset($_REQUEST['veranstaltungskategorie_kurzbz']) ? $_REQUEST['veranstaltungskategorie_kurzbz']:'')); + // Parameter Veranstaltung + $veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:'')); + $Jahr=trim((isset($_REQUEST['Jahr']) ? $_REQUEST['Jahr']:date("Y", mktime(0,0,0,date("m"),date("d"),date("y"))))); + $Monat=trim((isset($_REQUEST['Monat']) ? $_REQUEST['Monat']:date("m", mktime(0,0,0,date("m"),date("d"),date("y"))))); + $Suchtext=trim((isset($_REQUEST['Suchtext']) ? $_REQUEST['Suchtext']:'')); + + $work=trim((isset($_REQUEST['work']) ? $_REQUEST['work']:'')); + +// ------------------------------------------------------------------------------------------ +// Personen Classe +// Anwernderdaten ermitteln +// ------------------------------------------------------------------------------------------ + $userNAME=$userUID; + $unicode=null; // Standart Encoding der Datenbank + $pers = new benutzer($conn,$userUID,$unicode); // Lesen Person - Benutzerdaten + if (isset($pers->nachname)) + { + $userNAME=(isset($pers->anrede) ? $pers->anrede.' ':''); + $userNAME.=(isset($pers->titelpre) ? $pers->titelpre.' ':''); + $userNAME.=(isset($pers->vorname) ? $pers->vorname.' ':''); + $userNAME.=(isset($pers->nachname) ? $pers->nachname.' ':''); + } + +// ------------------------------------------------------------------------------------------ +// Benutzer Classe +// Berechtigungen ermitteln +// ------------------------------------------------------------------------------------------ + $is_lector=false; + $is_wartungsberechtigt=false; + if (isset($pers->nachname)) + { + + $benutzerberechtigung = new benutzerberechtigung($conn,$userUID); + $benutzerberechtigung->getBerechtigungen($userUID,true); + // Nur Lektoren oder Mitarbeiter duerfen alle Termine sehen , Studenten nur Freigegebene Kategorien + if($benutzerberechtigung->fix || $benutzerberechtigung->lektor) + $is_lector=true; + else + $is_lector=false; + + // Kennzeichen setzen fuer Berechtigungspruefung + $berechtigung='veranstaltung'; + $studiengang_kz=null; + $art='suid'; + $fachbereich_kurzbz=null; + // Berechtigungen abfragen + $is_wartungsberechtigt=$benutzerberechtigung->isBerechtigt($berechtigung,$studiengang_kz,$art, $fachbereich_kurzbz); + if (!$is_wartungsberechtigt) + { + $is_wartungsberechtigt=false; + } + unset($benutzerberechtigung); // Klasse Berechtigungen entfernen + } + + if (!$is_wartungsberechtigt) + { + exit('Sie sind nicht berechtigt für diese Seite !'); + } +// ------------------------------------------------------------------------------------------ +// Datenlesen fuer Anzeige +// a) verarbeiten wenn Request Parameter 'work' - save(update) oder del +// b) alle Veranstaltung lesen +// ------------------------------------------------------------------------------------------ + $Jahresplan = new jahresplan($conn); + + $error=''; + $work=(isset($_REQUEST['work']) ? $_REQUEST['work'] :''); + if (!empty($work) && isset($_REQUEST['veranstaltung_id']) ) + { + $Jahresplan->InitVeranstaltung(); + // Nur Berechtigte duerfen alle Informationen sehen (Mitarbeiter) + $Jahresplan->setVeranstaltungskategorieMitarbeiter($is_lector); + // Nur Berechtigte duerfen auch noch nicht freigegebene Sehen + if (!$is_wartungsberechtigt) + $Jahresplan->setFreigabe(true); + else + $Jahresplan->setFreigabe(false); + + if ($work=='save') + { + $_REQUEST['veranstaltung_id']=(isset($_REQUEST['veranstaltung_id']) && !empty($_REQUEST['veranstaltung_id'])?trim($_REQUEST['veranstaltung_id']):''); + if(!$veranstaltung=$Jahresplan->saveVeranstaltung($_REQUEST)) + { + $error='Fehler beim anlegen ! '.$Jahresplan->getError()." ".$Jahresplan->getVeranstaltung_id(); + $error.= "
" . $Jahresplan->getStringSQL() ."
"; + + } + else + { + $veranstaltung_id=$Jahresplan->getVeranstaltung_id(); + $error=(!empty($_REQUEST['veranstaltung_id_old'])?' Änderung ':' anlegen ').' ID '.$veranstaltung_id .' erfolgreich ! '.$Jahresplan->getError(); + $error.=' + '; + } + } + + if ($work=='del') + { + if(!$veranstaltung=$Jahresplan->deleteVeranstaltung($_REQUEST)) + { + $error='Fehler beim löschen ! '.$Jahresplan->getError(); + } + else + { + $error='Veranstaltung "'.$_REQUEST['veranstaltung_id'].'" gelöscht.'; + $veranstaltung_id=''; + $_REQUEST['veranstaltung_id']=''; + $_REQUEST['veranstaltung_id_old']=''; + $error.=' + '; + } + } + } + +// ------------------------------------------------------------------------------------------ +// Kategorie - Daten lesen fuer Kategorieselect +// Veranstaltungskategorien ohne Selektionsbedingung +// ------------------------------------------------------------------------------------------ + $Jahresplan->InitVeranstaltungskategorie(); + if ($Jahresplan->loadVeranstaltungskategorie()) + { + $veranstaltungskategorie=$Jahresplan->getVeranstaltungskategorie(); + } + else // Es gibt keine Kategorie oder Fehler beim Lesen - keine weitere Anzeige mehr moeglich + { + die($Jahresplan->getError()); + } + +// ------------------------------------------------------------------------------------------ +// Daten lesen fuer Anzeige der +// Veranstaltungen mit Selektionsbedingung +// ------------------------------------------------------------------------------------------ + if (!empty($veranstaltung_id)) + { + $Jahresplan = new jahresplan($conn); + $Jahresplan->InitVeranstaltung(); + // Nur Berechtigte duerfen alle Informationen sehen (Mitarbeiter) + $Jahresplan->setVeranstaltungskategorieMitarbeiter($is_lector); + // Nur Berechtigte duerfen auch noch nicht freigegebene Sehen + if (!$is_wartungsberechtigt) + $Jahresplan->setFreigabe(true); + else + $Jahresplan->setFreigabe(false); + + $Jahresplan->setVeranstaltung_id($veranstaltung_id); + $Jahresplan->setVeranstaltungskategorie_kurzbz($veranstaltungskategorie_kurzbz); + + $veranstaltung=array(); + if ($Jahresplan->loadVeranstaltung()) + { + $veranstaltung=$Jahresplan->getVeranstaltung(); + $veranstaltung=jahresplan_funk_veranstaltung_extend($veranstaltung); + } + elseif (empty($work)) // Es gibt keine Veranstaltung oder Fehler beim Lesen - keine weitere Anzeige mehr moeglich + { + die($Jahresplan->getError()); + } + // Plausib + if (!is_array($veranstaltung) || count($veranstaltung)<1 || !isset($veranstaltung["veranstaltung_id"])) + { + $work='new'; + $veranstaltung_id=''; + } + } + else // Reload ohne Datenverarbeitung , die Aufrufparameter in die Datentabelle uebertragen fuer Value der Inputfelder + { + $veranstaltung=$_REQUEST; + } +?> + + + +Jahresplan + + + + + + + + +

 Veranstaltung bearbeiten 

+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + " class="cursor_hand" onclick="self.location.href='';" >Neuanlage Neuanlage
+ " /> + " onchange="window.document.selVeranstaltung.tmpGanztag.checked=false;var time_stamp=TimestampDatumZeit(window.document.selVeranstaltung.Datum1.value,window.document.selVeranstaltung.Zeit1.value); if (!time_stamp) {this.focus();return false;} else {window.document.selVeranstaltung.start.value=time_stamp; }; if (window.document.selVeranstaltung.start.value > window.document.selVeranstaltung.ende.value) {alert('Datum von ist kleiner als bis');this.focus(); } ; " /> +   + +
+ " /> + " onchange="window.document.selVeranstaltung.tmpGanztag.checked=false;var time_stamp=TimestampDatumZeit(window.document.selVeranstaltung.Datum2.value,window.document.selVeranstaltung.Zeit2.value); if (!time_stamp) {this.focus();return false; } else {window.document.selVeranstaltung.ende.value=time_stamp; }; if (window.document.selVeranstaltung.start.value > window.document.selVeranstaltung.ende.value) {alert('Datum von ist kleiner als bis');this.focus(); } ;" /> +   + +  Ganztägige Veranstaltung +   type="checkbox" value="1" onclick="if (this.checked!=false) {window.document.selVeranstaltung.Zeit1.options.selectedIndex=0;window.document.selVeranstaltung.Zeit2.options.selectedIndex=(window.document.selVeranstaltung.Zeit2.options.length - 1); }; var time_stamp=TimestampDatumZeit(window.document.selVeranstaltung.Datum1.value,window.document.selVeranstaltung.Zeit1.value); if (time_stamp) {window.document.selVeranstaltung.start.value=time_stamp; }; time_stamp=TimestampDatumZeit(window.document.selVeranstaltung.Datum2.value,window.document.selVeranstaltung.Zeit2.value); if (time_stamp) {window.document.selVeranstaltung.ende.value=time_stamp; };" name="tmpGanztag" /> +
+ + + + + + +
value="1" onclick="if (this.checked!=false) {window.document.selVeranstaltung.freigabevon.value='';window.document.selVeranstaltung.freigabeamum.value='';} else {window.document.selVeranstaltung.freigabeamum.value='';};" name="tmpFreigabe" />
+
+ + + + + + + + + + + + + + +
 speichern sichern - save    onclick="window.document.selVeranstaltung.work.value='del';window.document.selVeranstaltung.submit();" >löschen entfernen - delete   Voransicht Voransicht 
+
+ + +
+ + +
+ + +
+ +
+
+ + '.$error; + $veranstaltung_id=(isset($veranstaltung['veranstaltung_id'])?$veranstaltung['veranstaltung_id']:$veranstaltung_id); + if (!empty($veranstaltung_id)) + { + echo '
'.jahresplan_veranstaltung_detail_user($conn,$veranstaltung,$is_wartungsberechtigt); + echo ''; + } + else + { + echo '
Reservierungen können erst nach dem speichern der Veranstaltung zugeordnet werden.'; + } + ?> + + + +