diff --git a/content/zutrittskarte.php b/content/zutrittskarte.php index 38a070f62..10feb0cb3 100755 --- a/content/zutrittskarte.php +++ b/content/zutrittskarte.php @@ -38,6 +38,8 @@ require_once('../include/studiensemester.class.php'); require_once('../include/student.class.php'); $user = get_uid(); +$db = new basis_db(); + $datum_obj = new datum(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); @@ -46,12 +48,19 @@ if(!$rechte->isBerechtigt('mitarbeiter/stammdaten') && !$rechte->isBerechtigt('s die('Sie haben keine Berechtigung fuer diese Seite'); } +//UIDs werden entweder als data Parameter mit ";" getrennt übergeben $uid = isset($_REQUEST['data'])?$_REQUEST['data']:''; +//ODER als POST Array über den Parameter users +$users = isset($_REQUEST['users'])?$_REQUEST['users']:''; $type = isset($_REQUEST['type'])?$_REQUEST['type']:'normal'; $output = isset($_REQUEST['output'])?$_REQUEST['output']:'pdf'; -if($uid=='') +if($uid=='' && $users=='') die('Parameter data is missing'); -$uid_arr = explode(';',$uid); + +if($users!='') + $uid_arr=$users; +else + $uid_arr = explode(';',$uid); // Tempordner fuer das erstellen des ODT anlegen $tempfolder = '/tmp/'.uniqid(); @@ -75,13 +84,13 @@ if(copy($zipfile, $tempname_zip)) // XML mit den Personendaten erstellen $xml =" "; + foreach($uid_arr as $uid) { $bn = new benutzer(); if($bn->load($uid)) { $gueltigbis = ''; - $db = new basis_db(); // Bild der Person holen $bild = $qry = "SELECT inhalt as foto FROM public.tbl_akte WHERE dokument_kurzbz='Lichtbil' AND person_id=".$db->db_add_param($bn->person_id, FHC_INTEGER); diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php index ebf5db830..1c1cfcfb1 100644 --- a/include/mitarbeiter.class.php +++ b/include/mitarbeiter.class.php @@ -95,13 +95,13 @@ class mitarbeiter extends benutzer } else { - $this->errormsg = "Kein Eintrag gefunden fuer $uid\n"; + $this->errormsg = "Kein Eintrag gefunden fuer den Benutzer\n"; return false; } } else { - $this->errormsg = "Fehler beim Laden: $qry\n"; + $this->errormsg = "Fehler beim Laden der Daten\n"; return false; } } @@ -144,7 +144,7 @@ class mitarbeiter extends benutzer } if(!is_bool($this->lektor)) { - $this->errormsg = "Lektor muss boolean sein ".$this->lektor."\n"; + $this->errormsg = "Lektor muss boolean sein "; return false; } if(!is_bool($this->fixangestellt)) @@ -302,7 +302,7 @@ class mitarbeiter extends benutzer else { $this->db_query('ROLLBACK;'); - $this->errormsg = "Fehler beim Speichern des Mitarbeiter-Datensatzes:".$this->db_last_error(); + $this->errormsg = "Fehler beim Speichern des Mitarbeiter-Datensatzes"; return false; } } @@ -777,11 +777,11 @@ class mitarbeiter extends benutzer $qry = "SELECT vorname, nachname, titelpre, titelpost, kurzbz, vornamen, uid FROM campus.vw_mitarbeiter WHERE - lower(nachname) like lower('%".addslashes($filter)."%') - OR lower(uid) like lower('%".addslashes($filter)."%') - OR lower(vorname) like lower('%".addslashes($filter)."%') - OR lower(vorname || ' ' || nachname) like lower('%".addslashes($filter)."%') - OR lower(nachname || ' ' || vorname) like lower('%".addslashes($filter)."%') + lower(nachname) like lower('%".$this->db_escape($filter)."%') + OR lower(uid) like lower('%".$this->db_escape($filter)."%') + OR lower(vorname) like lower('%".$this->db_escape($filter)."%') + OR lower(vorname || ' ' || nachname) like lower('%".$this->db_escape($filter)."%') + OR lower(nachname || ' ' || vorname) like lower('%".$this->db_escape($filter)."%') ORDER BY nachname, vorname"; //echo $qry; if($this->db_query($qry)) @@ -824,7 +824,7 @@ class mitarbeiter extends benutzer FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) WHERE nachname||' '||vorname ~* ".$this->db_add_param($filter)." OR vorname||' '||nachname ~* ".$this->db_add_param($filter)." OR - uid ~* '".addslashes($filter)."'"; + uid ~* ".$this->db_add_param($filter)." "; if(is_numeric($filter)) $qry.="OR personalnummer = ".$this->db_add_param($filter)." OR svnr = ".$this->db_add_param($filter).";"; @@ -940,7 +940,7 @@ class mitarbeiter extends benutzer } else { - $this->errormsg=$this->db_last_error(); + $this->errormsg="Fehler beim Laden der Daten"; return false; } } @@ -1073,7 +1073,7 @@ class mitarbeiter extends benutzer JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid AND tbl_lehreinheit.studiensemester_kurzbz in (".$this->implode4SQL($studSemArray).")) "; - + $qry.=" ORDER BY nachname, vorname"; if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) diff --git a/include/person.class.php b/include/person.class.php index b03fbdfb3..be0ddb19f 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -503,14 +503,21 @@ class person extends basis_db */ public function getTab($filter, $order='person_id') { - $sql_query = "SELECT * FROM public.tbl_person WHERE true "; + $sql_query = " + SELECT + distinct on (person_id) * + FROM + public.tbl_person + LEFT JOIN public.tbl_benutzer USING(person_id) + WHERE true "; if($filter!='') { $sql_query.=" AND nachname ~* '".$this->db_escape($filter)."' OR vorname ~* '".$this->db_escape($filter)."' OR (nachname || ' ' || vorname) ~* '".$this->db_escape($filter)."' OR - (vorname || ' ' || nachname) ~* '".$this->db_escape($filter)."'"; + (vorname || ' ' || nachname) ~* '".$this->db_escape($filter)."' OR + uid=".$this->db_add_param($filter); } $sql_query .= " ORDER BY $order"; diff --git a/include/student.class.php b/include/student.class.php index 6c65d3e8a..8fec7fa63 100644 --- a/include/student.class.php +++ b/include/student.class.php @@ -353,7 +353,7 @@ class student extends benutzer if($semester != null) $qry .= " AND semester =".$this->db_add_param($semester, FHC_INTEGER); - + $qry.=" ORDER BY nachname, vorname"; if($result = $this->db_query($qry)) diff --git a/vilesci/fhausweis/kartenverwaltung.php b/vilesci/fhausweis/kartenverwaltung.php index e8e43df7f..db4d3bf1e 100755 --- a/vilesci/fhausweis/kartenverwaltung.php +++ b/vilesci/fhausweis/kartenverwaltung.php @@ -254,10 +254,12 @@ if(isset($_REQUEST['btn_submitStudent'])) - +
+
'; + // } // Zeige alle Mitarbeiter an @@ -339,11 +341,13 @@ if(isset($_REQUEST['btn_submitMitarbeiter'])) - +
   +
'; + // } ?>