';
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 '
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 '
';
// 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 '