From 29b56af899cf3ba1f4cfb8e5ddcf41247086501e Mon Sep 17 00:00:00 2001 From: kindlm Date: Wed, 7 Sep 2016 18:25:45 +0200 Subject: [PATCH] funktion_det.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Filter für OE und Semester - GUI-Verbesserungen --- vilesci/personen/funktion_det.php | 884 ++++++++++++++++++++++-------- 1 file changed, 649 insertions(+), 235 deletions(-) diff --git a/vilesci/personen/funktion_det.php b/vilesci/personen/funktion_det.php index d1c66d186..602640a66 100644 --- a/vilesci/personen/funktion_det.php +++ b/vilesci/personen/funktion_det.php @@ -1,5 +1,9 @@ - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Authors: Christian Paminger < christian.paminger@technikum-wien.at > + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ - -/******************************************************************************* - File: funktion_det.php - Descr: Hier werden Personen aufgelistet, die zur in funktion.php ausgewählten - Gruppe gehören. Es können Datensätze hinzugefügt und gelöscht werden. - Dazu wird dieses File rekursiv aufgerufen. - Erstellt am: 25.05.2003 von Christian Paminger, Werner Masik -********************************************************************************/ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/person.class.php'); -require_once('../../include/funktion.class.php'); -require_once('../../include/benutzerfunktion.class.php'); -require_once('../../include/fachbereich.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); - -if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); +/** + * ***************************************************************************** + * File: funktion_det.php + * Descr: Hier werden Personen aufgelistet, die zur in funktion.php ausgewählten + * Gruppe gehören. + * Es können Datensätze hinzugefügt und gelöscht werden. + * Dazu wird dieses File rekursiv aufgerufen. + * Erstellt am: 25.05.2003 von Christian Paminger, Werner Masik + * ****************************************************************************** + */ +require_once ('../../config/vilesci.config.inc.php'); +require_once ('../../include/functions.inc.php'); +require_once ('../../include/person.class.php'); +require_once ('../../include/funktion.class.php'); +require_once ('../../include/benutzerfunktion.class.php'); +require_once ('../../include/fachbereich.class.php'); +require_once ('../../include/benutzerberechtigung.class.php'); // Datenbankverbindung herstellen +if (! $db = new basis_db ()) + die ( 'Es konnte keine Verbindung zum Server aufgebaut werden.' ); -$user=get_uid(); +$user = get_uid (); -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); +$rechte = new benutzerberechtigung (); +$rechte->getBerechtigungen ( $user ); -if(!$rechte->isBerechtigt('mitarbeiter',null,'suid')) - die($rechte->errormsg); +if (! $rechte->isBerechtigt ( 'mitarbeiter', null, 'suid' )) + die ( $rechte->errormsg ); -$type=''; -if (isset($_POST['type'])) - $type=$_POST['type']; +$type = ''; +if (isset ( $_POST ['type'] )) + $type = $_POST ['type']; -if (isset($_GET['type'])) - $type=$_GET['type']; +if (isset ( $_GET ['type'] )) + $type = $_GET ['type']; -if(isset($_GET['kurzbz'])) - $funktion_kurzbz=$_GET['kurzbz']; +if (isset ( $_GET ['kurzbz'] )) + $funktion_kurzbz = $_GET ['kurzbz']; -if(isset($_GET['datumvon'])) - $datumvon=$_GET['datumvon']; +if (isset ( $_GET ['bezeichnung'] )) + $bezeichnung = $_GET ['bezeichnung']; else - $datumvon=''; + $bezeichnung = ''; -if(isset($_GET['datumbis'])) - $datumbis=$_GET['datumbis']; +if (isset ( $_GET ['wochenstunden'] )) + $wochenstunden = $_GET ['wochenstunden']; else - $datumbis=''; + $wochenstunden = ''; -// Neue Funktionszuweisung speichern -if ($type=='new' || $type=='editsave') +if (isset ( $_GET ['datumvon'] )) + $datumvon = $_GET ['datumvon']; +else + $datumvon = ''; + +if (isset ( $_GET ['datumbis'] )) + $datumbis = $_GET ['datumbis']; +else + $datumbis = ''; + +if (isset ( $_POST ['oe_kurzbz_filter'] )) + $oe_kurzbz_filter = $_POST ['oe_kurzbz_filter']; +else + $oe_kurzbz_filter = '-1'; + +if (isset ( $_POST ['semester_filter'] )) + $semester_filter = $_POST ['semester_filter']; +else + $semester_filter = $_POST['semester_filter'] = '-1' ; + +$bn_funktion_id = isset($_GET ['bn_funktion_id'])?$_GET ['bn_funktion_id']:'-1'; +//var_dump($_POST); + + + + // Neue Funktionszuweisung speichern +if ($type == 'new' || $type == 'editsave') { + // Einfügen in die Datenbank + + $funktion = new benutzerfunktion (); + $funktion->uid = $_POST ['uid']; + $funktion->funktion_kurzbz = $_POST ['kurzbz']; + if (isset ( $_POST ['oe_kurzbz'] ) && $_POST ['oe_kurzbz'] != - 1) { + $funktion->oe_kurzbz = $_POST ['oe_kurzbz']; + + if (isset ( $_POST ['fb_kurzbz'] ) && $_POST ['fb_kurzbz'] != - 1) { + $funktion->fachbereich_kurzbz = $_POST ['fb_kurzbz']; + } else { + $funktion->fachbereich_kurzbz = null; + } + + $funktion->semester = (isset ( $_POST ['semester'] ) ? $_POST ['semester'] : ''); + $funktion->datum_von = $_POST ['datumvon']; + $funktion->datum_bis = $_POST ['datumbis']; + + $funktion->bezeichnung = $_POST ['bezeichnung']; + $funktion->wochenstunden = $_POST ['wochenstunden']; + + + if ($type == 'editsave') { + $funktion->new = false; + $funktion->benutzerfunktion_id = $_POST ['bn_funktion_id']; + $funktion->updateamum = date ( 'Y-m-d H:i:s' ); + $funktion->updatevon = $user; + } else { + $funktion->new = true; + $funktion->updateamum = date ( 'Y-m-d H:i:s' ); + $funktion->updatevon = $user; + $funktion->insertamum = date ( 'Y-m-d H:i:s' ); + $funktion->insertvon = $user; + } + + if (! $funktion->save ()) { + echo "Fehler: " . $funktion->errormsg; + } + } else + echo ' Organisationseinheit muss angegeben werden '; +} + +// Mehrere Eintraege updaten +if ($type == 'editsavemultiple') { - //Einfügen in die Datenbank - - $funktion=new benutzerfunktion(); - $funktion->uid=$_POST['uid']; - $funktion->funktion_kurzbz=$_POST['kurzbz']; - if (isset($_POST['oe_kurzbz']) && $_POST['oe_kurzbz']!=-1) - { - $funktion->oe_kurzbz=$_POST['oe_kurzbz']; - - if (isset($_POST['fb_kurzbz']) && $_POST['fb_kurzbz']!=-1) - { - $funktion->fachbereich_kurzbz=$_POST['fb_kurzbz']; - } - else - { - $funktion->fachbereich_kurzbz=null; - } - - $funktion->semester = (isset($_POST['semester'])?$_POST['semester']:''); - $funktion->datum_von = $_POST['datumvon']; - $funktion->datum_bis = $_POST['datumbis']; - - if($type=='editsave') - { - $funktion->new=false; - $funktion->benutzerfunktion_id = $_POST['bn_funktion_id']; - $funktion->updateamum=date('Y-m-d H:i:s'); - $funktion->updatevon=$user; - } - else - { - $funktion->new=true; - $funktion->updateamum=date('Y-m-d H:i:s'); - $funktion->updatevon=$user; - $funktion->insertamum=date('Y-m-d H:i:s'); - $funktion->insertvon=$user; - } - - if (!$funktion->save()) - { - echo "Fehler: ".$funktion->errormsg; - } + $uids = explode(", ", $_POST['uids']); + $bn_funktion_ids = explode(", ", $_POST['bn_funktion_ids']); + + for ($i=0; $iuid = $uids[$i]; + $funktion->funktion_kurzbz = $_POST ['kurzbz']; + if (isset ( $_POST ['oe_kurzbz'] ) && $_POST ['oe_kurzbz'] != - 1) { + $funktion->oe_kurzbz = $_POST ['oe_kurzbz']; + + if (isset ( $_POST ['fb_kurzbz'] ) && $_POST ['fb_kurzbz'] != - 1) { + $funktion->fachbereich_kurzbz = $_POST ['fb_kurzbz']; + } else { + $funktion->fachbereich_kurzbz = null; + } + + $funktion->semester = (isset ( $_POST ['semester'] ) ? $_POST ['semester'] : ''); + $funktion->datum_von = $_POST ['datumvon']; + $funktion->datum_bis = $_POST ['datumbis']; + + $funktion->bezeichnung = $_POST ['bezeichnung']; + $funktion->wochenstunden = $_POST ['wochenstunden']; + + $funktion->new = false; + $funktion->benutzerfunktion_id = $bn_funktion_ids[$i]; + $funktion->updateamum = date ( 'Y-m-d H:i:s' ); + $funktion->updatevon = $user; + + //var_dump($funktion); + + if (! $funktion->save ()) { + echo "Fehler: " . $funktion->errormsg; + } + } else + echo ' Organisationseinheit muss angegeben werden '; } - else - echo "Studiengang muss angegeben werden"; - } // Eine Funktionszuweisung loeschen -if ($type=='delete') +if ($type == 'delete') { - $funktion=new benutzerfunktion(); - $bn_funktion_id=$_GET['bn_funktion_id']; - if (!is_numeric($bn_funktion_id)) + $funktion = new benutzerfunktion (); + $bn_funktion_id = $_GET ['bn_funktion_id']; + if (! is_numeric ( $bn_funktion_id )) { echo "Benutzer_funktion_id ist keine Zahl"; - } - else + } + else { - if (!$funktion->delete($bn_funktion_id)) + if (! $funktion->delete ( $bn_funktion_id )) { - echo "Fehler: ".$funktion->errormsg; + echo "Fehler: " . $funktion->errormsg; } } } // Daten für Personenauswahl -$sql_query="SELECT nachname, vorname, uid FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) ORDER BY upper(nachname), vorname, uid"; -$result_person=$db->db_query($sql_query); -if(!$result_person) - die ($db->db_last_error()); +$sql_query = "SELECT nachname, vorname, uid FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) ORDER BY upper(nachname), vorname, uid"; +$result_person = $db->db_query ( $sql_query ); +if (! $result_person) + die ( $db->db_last_error () ); // Daten für Organisationseinheiten -$sql_query="SELECT oe_kurzbz, organisationseinheittyp_kurzbz as kurzbz, bezeichnung FROM public.tbl_organisationseinheit ORDER BY kurzbz, bezeichnung"; -$result_oe=$db->db_query($sql_query); -if(!$result_oe) - die ($db->db_last_error()); +$sql_query = "SELECT oe_kurzbz, organisationseinheittyp_kurzbz as kurzbz, bezeichnung FROM public.tbl_organisationseinheit /*WHERE organisationseinheittyp_kurzbz= 'Institut'*/ ORDER BY kurzbz, bezeichnung"; +$result_oe = $db->db_query ( $sql_query ); +if (! $result_oe) + die ( $db->db_last_error () ); -// Instanz von Funktion-Klasse erzeugen -$funktion=new funktion(); -//print_r($_GET); -$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:$_GET['kurzbz']); -if (!$funktion->load($kurzbz)) -{ - echo "Fehler: ".$funktion->errormsg; - exit(); + // Instanz von Funktion-Klasse erzeugen +$funktion = new funktion (); +$kurzbz = (isset ( $_POST ['kurzbz'] ) ? $_POST ['kurzbz'] : $_GET ['kurzbz']); +//$kurzbz2 = $kurzbz; +if (! $funktion->load ( $kurzbz )) { + echo "Fehler: " . $funktion->errormsg; + exit (); } ?> - Funktion Details - - - - +Funktion Details + + + + + + + + + + + + + -

Funktion: beschreibung?>


- + " method="post"> +

Funktion: beschreibung?>

+
+ beschreibung; - // Liste der Personen darstellen - if ($type!='edit') - { - // Personen holen - $qry = "SELECT - tbl_organisationseinheit.bezeichnung as oebezeichnung, - tbl_organisationseinheit.organisationseinheittyp_kurzbz as oetyp, - tbl_benutzer.uid as uid, * - FROM - public.tbl_benutzerfunktion, - public.tbl_person, - public.tbl_benutzer, - public.tbl_organisationseinheit - WHERE - funktion_kurzbz=".$db->db_add_param($kurzbz)." AND - tbl_benutzerfunktion.uid=tbl_benutzer.uid AND - tbl_benutzer.person_id=tbl_person.person_id AND - tbl_benutzerfunktion.oe_kurzbz=tbl_organisationseinheit.oe_kurzbz"; - - if($result = $db->db_query($qry)) - { - echo " - - - - - - - - - - - "; - $j=0; - echo ''; - while($row = $db->db_fetch_object($result)) - { - $j++; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo "\n"; - - } - echo ''; - } - else - { - echo "Fehler: ". $db->db_last_error(); - } - } - +// Filter Felder +echo ' Filter '; + echo '
'; echo ' +
NameUIDOrganisationseinheitInstitutSemesterDatumVonDatumBisAktion
".$row->nachname.", ".$row->vorname."".$row->uid."".$row->oetyp.' '.$row->oebezeichnung."".$row->fachbereich_kurzbz."".$row->semester."".$row->datum_von."".$row->datum_bis."uid."&bn_funktion_id=$row->benutzerfunktion_id&fb_kurzbz=$row->fachbereich_kurzbz&oe_kurzbz=$row->oe_kurzbz&semester=$row->semester&datumvon=$row->datum_von&datumbis=$row->datum_bis\">Edituid."&bn_funktion_id=$row->benutzerfunktion_id&fb_kurzbz=$row->fachbereich_kurzbz&oe_kurzbz=$row->oe_kurzbz&semester=$row->semester&datumvon=$row->datum_von&datumbis=$row->datum_bis\">Delete
+ '; +//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -
-
-
-

- '; +//echo ' '; +//echo ' '; +echo ' '; +//echo ' '; +echo ' + + Organisationseinheit: + + '; +//echo ''; +echo ' +'; - echo ''; +while ( $row = $db->db_fetch_object ( $result_oe ) ) +{ + $rows[] = $row; + echo ""; +} +echo ''; + +//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + echo ' + + Semester: + + '; + //var_dump($_POST); +?> + + + + + + + + + '; + //echo ''; + //echo ''; + + //echo ''; + +//echo ''; +// echo ''; +// echo ''; + + echo ''; + echo '

'; +?> + + + + //Hinzufuegen und Edit Felder + echo '
'; + echo '
'; + echo ' Hinzufügen / Bearbeiten '; + echo '
+

'; + + if ($type == 'edit') { + if (isset($_GET['multiple']) && $_GET['multiple']=='true') + echo ''; + else + echo ''; + echo ''; + } else echo ''; echo ' - + - + - '; - echo ''; + $funktion = new funktion (); + // $funktion->load ( $funktion_kurzbz ); // Notice: Undefined variable: funktion_kurzbz in /var/www/kindlm/fhcomplete/vilesci/personen/funktion_det.php - $funktion = new funktion(); - $funktion->load($funktion_kurzbz); - - if($funktion->fachbereich) - { + if ($funktion->fachbereich) { echo ' @@ -301,27 +513,22 @@ if (!$funktion->load($kurzbz)) '; // Auswahl Fachbereich - $fachbereich=new fachbereich(); - if ($fachbereich->getAll()) - { - foreach($fachbereich->result as $fb) - { - echo ""; - } - } - else - { - echo "Fehler: ".$fb->errormsg; + } + } else { + echo "Fehler: " . $fb->errormsg; } echo ''; } - if($funktion->semester) - { + if ($funktion->semester) { echo ' @@ -329,24 +536,231 @@ if (!$funktion->load($kurzbz)) '; } - echo ''; - echo ''; + echo ' + + + + '; + + echo ' + + + + '; + + // datepicker + echo ''; + echo ''; + + echo ''; echo '
Lektor: - '; - // Auswahl der Person - $num_rows=$db->db_num_rows($result_person); - while($row=$db->db_fetch_object ($result_person)) - { - echo ""; + // wenn Aktion "Edit" dann kann UID nicht veraendert werden + // -> wird nur angezeigt + if ($type == 'edit') { + if (isset($_GET['multiple']) && $_GET['multiple']=='true') { + if (isset($_POST['editordelete']) && $_POST['editordelete']=='edit') { + if (isset($_POST['checkAktion'])) { + $checkAktion = $_POST['checkAktion']; + $names = array(); + $uids = array(); + $bn_funktion_ids = array(); + for ($i=0; $i'; + echo ''; + echo ''; + echo ''.implode("
", $names).''; + echo ''; + + //var_dump($checkAktion); + //var_dump($names); + } + } elseif (isset($_POST['editordelete']) && $_POST['editordelete']=='delete') { + // mehrere Funktionen aufeinmal loeschen + $checkAktion = $_POST['checkAktion']; + $bn_funktion_ids = array(); + for ($i=0; $idelete ( $bn_funktion_id )) { + echo "Fehler: " . $funktion->errormsg; + } + } + } + } + } else { + $dis_uid = $_GET ["uid"]; + echo '
'; + echo ''; + echo ''; + echo '
'; + } + } else { + echo '
'; + echo ''; + echo ''; + echo '
'; } - echo '
Organisationseinheit: @@ -277,22 +492,19 @@ if (!$funktion->load($kurzbz)) '; // Auswahl der Organisationseinheit - $num_rows=$db->db_num_rows($result_oe); - while($row=$db->db_fetch_object($result_oe)) - { + $num_rows = $db->db_num_rows ( $result_oe ); + foreach($rows as $row){ echo ""; } echo '
Fachbereich:
Semester:
Datum Von:
Datum Bis:
Bezeichnung: + '; + if ($type == 'edit') { + echo ' + + '; + } else { + echo ' + + '; + } + echo ' +
Wochenstunden: + + + '; + + echo ' +
Datum Von: + +
Datum Bis: + +
 
'; - - echo ''; - + echo ''; echo '

'; + + ?> + + + + + + + + echo ''; + +//echo ''; + //echo ''; + //echo ''; + + // Liste der Personen darstellen + // Personen holen + if (1<2) { + $qry = "SELECT + tbl_organisationseinheit.bezeichnung as oebezeichnung, + tbl_organisationseinheit.organisationseinheittyp_kurzbz as oetyp, + tbl_benutzer.uid as uid, tbl_benutzerfunktion.*, tbl_person.vorname, tbl_person.nachname + FROM + public.tbl_benutzerfunktion, + public.tbl_person, + public.tbl_benutzer, + public.tbl_organisationseinheit + WHERE + funktion_kurzbz=" . $db->db_add_param ( $kurzbz ) . " AND + tbl_benutzerfunktion.uid=tbl_benutzer.uid AND + tbl_benutzer.person_id=tbl_person.person_id AND + tbl_benutzerfunktion.oe_kurzbz=tbl_organisationseinheit.oe_kurzbz"; + if ($oe_kurzbz_filter!='-1') + $qry .= " AND tbl_organisationseinheit.oe_kurzbz=".$db->db_add_param($oe_kurzbz_filter); + if ($semester_filter!='-1') + $qry .= " AND semester=".$db->db_add_param($semester_filter); + } + + if (1<0) { + $qry = "SELECT + tbl_organisationseinheit.bezeichnung as oebezeichnung, + tbl_organisationseinheit.organisationseinheittyp_kurzbz as oetyp, + tbl_benutzer.uid as uid, tbl_benutzerfunktion.*, tbl_person.vorname, tbl_person.nachname + FROM + public.tbl_benutzerfunktion, + public.tbl_person, + public.tbl_benutzer, + public.tbl_organisationseinheit + + WHERE + funktion_kurzbz=" . $db->db_add_param ( $kurzbz ) . " AND + tbl_benutzerfunktion.uid=tbl_benutzer.uid AND + tbl_benutzer.person_id=tbl_person.person_id AND + tbl_benutzerfunktion.oe_kurzbz=tbl_organisationseinheit.oe_kurzbz + AND tbl_organisationseinheit.bezeichnung='Haustechnik'"; + + } + + if ($result = $db->db_query ( $qry )) { + + echo " + + + + + + + + + + + + + + "; + $j = 0; + echo ''; + while ( $row = $db->db_fetch_object ( $result ) ) { + $j ++; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo "\n"; + } + echo ''; + } else { + echo "Fehler: " . $db->db_last_error (); + } + + // Summe aller Reihen + echo ' +
NameUIDOrganisationseinheitInstitutSemesterBezeichnungWochenstundenDatumVonDatumBisAktion
" . $row->nachname . ", " . $row->vorname . "" . $row->uid . "" . $row->oetyp . ' ' . $row->oebezeichnung . "" . $row->fachbereich_kurzbz . "" . $row->semester . "" . $row->bezeichnung . "" . $row->wochenstunden . "" . $row->datum_von . "" . $row->datum_bis . "uid . "&bn_funktion_id=$row->benutzerfunktion_id&fb_kurzbz=$row->fachbereich_kurzbz&oe_kurzbz=$row->oe_kurzbz&semester=$row->semester&bezeichnung=$row->bezeichnung&wochenstunden=$row->wochenstunden&datumvon=$row->datum_von&datumbis=$row->datum_bis\">Edituid . "&bn_funktion_id=$row->benutzerfunktion_id&fb_kurzbz=$row->fachbereich_kurzbz&oe_kurzbz=$row->oe_kurzbz&semester=$row->semester&bezeichnung=$row->bezeichnung&wochenstunden=$row->wochenstunden&datumvon=$row->datum_von&datumbis=$row->datum_bis\" onclick='return confirm(\"Diesen Datensatz loeschen?\")'>Delete" . "" . "
+ +

+ + +   + +

+ + '; ?> +