*/ /** * GUI zur einfachen Prüfung von Profilbildern */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/betriebsmittel.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/functions.inc.php'); require_once('../../include/mail.class.php'); require_once('../../include/benutzer.class.php'); require_once('../../include/person.class.php'); require_once('../../include/fotostatus.class.php'); $uid = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); $db = new basis_db(); echo ' '; include('../../include/meta/jquery.php'); echo' Profilfoto Check

Profilfoto Check

'; if(!$rechte->isBerechtigt('basis/fhausweis','suid')) { die('Sie haben keine Berechtigung für diese Seite'); } $error = false; if(isset($_POST['person_id'])) { $person_id=$_POST['person_id']; //Profilbild OK - Akzeptiert Status setzen if(isset($_POST['akzeptieren'])) { $fs = new fotostatus(); $fs->person_id=$person_id; $fs->fotostatus_kurzbz='akzeptiert'; $fs->datum = date('Y-m-d'); $fs->insertvon = $uid; $fs->insertamum = date('Y-m-d H:i:s'); $fs->updatevon = $uid; $fs->updateamum = date('Y-m-d H:i:s'); if($fs->save(true)) { echo 'Profilbild wurde akzeptiert'; } else { echo 'Fehler beim Akzeptieren:'.$fs->errormsg.''; $error = true; } } //Profilbild Fehlerhaft - Infomail an die Person versenden if(isset($_POST['fehlerhaft'])) { $benutzer = new benutzer(); $to=''; if($benutzer->getBenutzerFromPerson($person_id)) { foreach($benutzer->result as $row) { if($to!='') $to.','; $to = $row->uid.'@'.DOMAIN; } } //Wenn kein Benutzer gefunden wurde, ist es ein if($to!='') { $person = new person(); $person->load($person_id); $from = 'fhausweis@technikum-wien.at'; $subject = 'Profilbild'; if($person->geschlecht=='m') $text = "Sehr geehrter Herr ".$person->vorname.' '.$person->nachname.",\n\n"; else $text = "Sehr geehrte Frau ".$person->vorname.' '.$person->nachname.",\n\n"; $text .= "Ihr Profilbild wurde von uns geprüft und entspricht nicht den Bildkriterien.\n"; $text .= "Die aktuellen Bildkriterien finden Sie unter folgendem Link:\n"; $text .= "https://cis.technikum-wien.at/cms/content.php?content_id=6174\n\n"; $text .= "Bitte Laden Sie ein entsprechendes Profilbild im CIS unter 'Mein CIS'->'Profil' hoch.\n"; $text .= "\n"; $text .= "Herzlichen Dank\n"; $text .= "Fachhochschule Technikum Wien\n"; $text .= "\n------------------\n\n"; if($person->geschlecht=='m') $text .= "Dear Mr ".$person->vorname.' '.$person->nachname.",\n\n"; else $text .= "Dear Ms ".$person->vorname.' '.$person->nachname.",\n\n"; $text .= "Your profile photograph has been checked and does not fulfil the photo criteria.\n"; $text .= "The current criteria can be found under the following link:\n"; $text .= "https://cis.technikum-wien.at/cms/content.php?content_id=6174\n"; $text .= "\n"; $text .= "Please upload a suitable profile photo in the CIS under 'My CIS'->'Profile'.\n"; $text .= "\n"; $text .= "Thank you\n"; $text .= "University of Applied Sciences Technikum Wien"; $mail = new mail($to, $from, $subject, $text); if($mail->send()) { echo 'Infomail wurde versendet an '.$to.''; } else { echo 'Fehler beim Versenden des Mails an '.$to.''; $error = true; } } else { echo 'Keine Mail Adresse gefunden'; $error = true; } if(!$error) { //Status setzen $fs = new fotostatus(); $fs->person_id=$person_id; $fs->fotostatus_kurzbz='abgewiesen'; $fs->datum = date('Y-m-d'); $fs->insertvon = $uid; $fs->insertamum = date('Y-m-d H:i:s'); $fs->updatevon = $uid; $fs->updateamum = date('Y-m-d H:i:s'); if(!$fs->save(true)) { echo 'Fehler beim Setzen des abgewiesen Status:'.$fs->errormsg.''; $error = true; } } } //BestOf Profilbilder werden gesichert if(isset($_POST['bestof'])) { echo 'Zu BestOf hinzugefügt'; $qry = "SELECT inhalt FROM public.tbl_akte WHERE dokument_kurzbz='Lichtbil' AND person_id=".$db->db_add_param($person_id); if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) { file_put_contents('bestof/'.$person_id.'.jpg',base64_decode($row->inhalt)); //Error setzen damit die Person nochmals angezeigt wird $error = true; } } } if(isset($_POST['refresh'])) { $error=true; } } //je nach ansicht (mitarbeiter/student/beides) wird $qry veraendert if (isset($_GET['ansicht'])) { if ($_GET['ansicht'] == 'mitarbeiter') { $ansicht = 'AND tbl_benutzer.uid IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter)'; $mitarbeiterSubmit = ''; } if ($_GET['ansicht'] == 'studenten') $ansicht = 'AND tbl_benutzer.uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter)'; } else { $ansicht = ''; } //anzahl mitarbeiter $qry_anzahl_mitarbeiter = " SELECT count(*) as anzahl FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) LEFT JOIN PUBLIC.tbl_akte ON (tbl_akte.person_id = tbl_person.person_id AND tbl_akte.dokument_kurzbz = 'Lichtbil' AND (tbl_akte.inhalt IS NOT NULL OR tbl_akte.dms_id IS NOT NULL)) LEFT JOIN public.tbl_mitarbeiter ON (tbl_benutzer.uid=mitarbeiter_uid) WHERE foto is not NULL AND tbl_benutzer.aktiv AND 'akzeptiert' NOT IN(SELECT fotostatus_kurzbz FROM public.tbl_person_fotostatus WHERE person_id=tbl_person.person_id ORDER BY datum desc, person_fotostatus_id desc LIMIT 1) AND 'abgewiesen' NOT IN (SELECT fotostatus_kurzbz FROM public.tbl_person_fotostatus WHERE person_id=tbl_person.person_id ORDER BY datum desc, person_fotostatus_id desc LIMIT 1) AND tbl_benutzer.uid IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter) "; $anzahl_ma = ''; if($result_anzahl = $db->db_query($qry_anzahl_mitarbeiter)) if($row_anzahl = $db->db_fetch_object($result_anzahl)) $anzahl_ma = $row_anzahl->anzahl; echo '
Mitarbeiter: '.$anzahl_ma; //anzahl studenten $qry_anzahl_studenten = " SELECT count(*) as anzahl FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) LEFT JOIN PUBLIC.tbl_akte ON (tbl_akte.person_id = tbl_person.person_id AND tbl_akte.dokument_kurzbz = 'Lichtbil' AND (tbl_akte.inhalt IS NOT NULL OR tbl_akte.dms_id IS NOT NULL)) LEFT JOIN public.tbl_mitarbeiter ON (tbl_benutzer.uid=mitarbeiter_uid) WHERE foto is not NULL AND tbl_benutzer.aktiv AND 'akzeptiert' NOT IN(SELECT fotostatus_kurzbz FROM public.tbl_person_fotostatus WHERE person_id=tbl_person.person_id ORDER BY datum desc, person_fotostatus_id desc LIMIT 1) AND 'abgewiesen' NOT IN (SELECT fotostatus_kurzbz FROM public.tbl_person_fotostatus WHERE person_id=tbl_person.person_id ORDER BY datum desc, person_fotostatus_id desc LIMIT 1) AND tbl_benutzer.uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter) "; $anzahl_std = ''; if($result_anzahl = $db->db_query($qry_anzahl_studenten)) if($row_anzahl = $db->db_fetch_object($result_anzahl)) $anzahl_std = $row_anzahl->anzahl; echo '
Studenten: '.$anzahl_std; //anzahl gesamt $qry_anzahl_gesamt = " SELECT count(*) as anzahl FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) LEFT JOIN PUBLIC.tbl_akte ON (tbl_akte.person_id = tbl_person.person_id AND tbl_akte.dokument_kurzbz = 'Lichtbil' AND (tbl_akte.inhalt IS NOT NULL OR tbl_akte.dms_id IS NOT NULL)) WHERE foto is not NULL AND tbl_benutzer.aktiv AND 'akzeptiert' NOT IN(SELECT fotostatus_kurzbz FROM public.tbl_person_fotostatus WHERE person_id=tbl_person.person_id ORDER BY datum desc, person_fotostatus_id desc LIMIT 1) AND 'abgewiesen' NOT IN (SELECT fotostatus_kurzbz FROM public.tbl_person_fotostatus WHERE person_id=tbl_person.person_id ORDER BY datum desc, person_fotostatus_id desc LIMIT 1) "; $anzahl_gesamt = ''; if($result_anzahl = $db->db_query($qry_anzahl_gesamt)) if($row_anzahl = $db->db_fetch_object($result_anzahl)) $anzahl_gesamt = $row_anzahl->anzahl; echo '
Gesamt: '.$anzahl_gesamt.'
'; echo '
'; echo '
'; echo '
'; // Laden einer Person deren Profilfoto noch nicht akzeptiert wurde $qry = " SELECT tbl_person.person_id, tbl_person.vorname, tbl_person.nachname, tbl_akte.dokument_kurzbz, tbl_akte.dms_id, (SELECT 1 FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) WHERE person_id=tbl_person.person_id LIMIT 1) as mitarbeiter FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) LEFT JOIN PUBLIC.tbl_akte ON (tbl_akte.person_id = tbl_person.person_id AND tbl_akte.dokument_kurzbz = 'Lichtbil' AND (tbl_akte.inhalt IS NOT NULL OR tbl_akte.dms_id IS NOT NULL)) WHERE foto is not NULL AND tbl_benutzer.aktiv ".$ansicht; if($error==true && $person_id!='') { // Wenn ein Fehler auftritt oder Bestof geklickt wird, wird die Person erneut angezeigt $qry.=" AND tbl_person.person_id=".$db->db_add_param($person_id); } else { // Wenn es weniger als 100 Eintraege sind kommen die Bilder nicht mehr Random, da es sonst // vorkommen kann, dass kein Ergebnis geliefert wird if(isset($_GET['ansicht']) && (($_GET['ansicht'] == 'mitarbeiter' && $anzahl_ma>100) || ($_GET['ansicht'] == 'studenten' && $anzahl_std>100)) || ($ansicht == '' && $anzahl_gesamt>100)) { // Zufaellige Reihenfolge $qry.=" AND random() <0.05"; } // Keine Eintraege die bereits akzeptiert wurden $qry.=" AND 'akzeptiert' NOT IN(SELECT fotostatus_kurzbz FROM public.tbl_person_fotostatus WHERE person_id=tbl_person.person_id ORDER BY datum desc, person_fotostatus_id desc LIMIT 1)"; // Keine Eintraege bei denen Abgewiesen der letzte Status ist $qry.=" AND 'abgewiesen' NOT IN (SELECT fotostatus_kurzbz FROM public.tbl_person_fotostatus WHERE person_id=tbl_person.person_id ORDER BY datum desc, person_fotostatus_id desc LIMIT 1)"; } $qry.=" LIMIT 1"; //echo $qry; if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) { //Anzeige des Profilbildes echo '


'; // Wenn es eine Akte mit Lichtbild gibt, das Foto der Akte laden, sonst aus der Person if ($row->dokument_kurzbz == 'Lichtbil') { echo '

Originalvorschau

'; } else { echo '

Originalvorschau

'; } echo '

  Person ID: '.$db->convert_html_chars($row->person_id).'
Vorname: '.$db->convert_html_chars($row->vorname).'
Nachname: '.$db->convert_html_chars($row->nachname).'
'.($row->mitarbeiter=='1'?'MitarbeiterIn':'StudentIn').'
'; echo '

'; echo '
'; echo ''; echo '    '; echo '    '; echo '    '; echo ' '; echo '
'; echo '


'; // Wenn es eine Akte mit Lichtbild gibt, das Foto aus der Akte laden (Parameter Akte im Link) sonst aus der Person if ($row->dokument_kurzbz == 'Lichtbil') echo 'Bild zuschneiden/Upload'; else echo 'Bild zuschneiden/Upload'; if ($row->dms_id !='') { echo '

'; echo 'DMS Download'; } echo '
'; } else { if (isset($_GET['ansicht']) && $_GET['ansicht'] == 'mitarbeiter') { echo '


Es sind keine ungeprüften Bilder von Mitarbeitern vorhanden'; } elseif (isset($_GET['ansicht']) && $_GET['ansicht'] == 'studenten') { echo '


Es sind keine ungeprüften Bilder von Studenten vorhanden'; } else { echo '


Es sind keine ungeprüften Bilder vorhanden'; } } } echo ' '; ?>