Fixed code indentation, standart output, includes path, removed unused

variables and added a check to mail send where missing
This commit is contained in:
Paolo
2021-03-18 19:14:56 +01:00
parent 5da754c9db
commit 2c9ca77500
5 changed files with 854 additions and 605 deletions
+134 -87
View File
@@ -1,5 +1,7 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/**
* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -19,45 +21,46 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* - Dieses Script versendet automatisch Mails an Accounts die Deaktiviert wurden.
* und informiert die Benutzer ueber die Folgen der Deaktivierung
*
/**
* Dieses Script versendet automatisch Mails an Accounts die Deaktiviert wurden.
* und informiert die Benutzer ueber die Folgen der Deaktivierung
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
require_once('../include/mail.class.php');
require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php');
require_once(dirname(__FILE__).'/../include/basis_db.class.php');
require_once(dirname(__FILE__).'/../include/mail.class.php');
$db = new basis_db();
$text='';
$wochen_zum_entfernen=1;
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Account Deaktivierung - Infomails</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body class="Background_main">
<h2>Account Deaktivierung - Infomails</h2>';
$text = '';
$wochen_zum_entfernen = 1;
// Alle die vor einer Woche inaktiv gesetzt wurden darueber informieren
$qry = "SELECT uid, (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=uid) as mitarbeiter FROM public.tbl_benutzer WHERE aktiv=false AND updateaktivam=CURRENT_DATE- interval '".$wochen_zum_entfernen." week'";
if($result = $db->db_query($qry))
$qry = "SELECT uid,
(SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid = uid) as mitarbeiter
FROM public.tbl_benutzer
WHERE aktiv = false
AND updateaktivam = CURRENT_DATE - interval '".$wochen_zum_entfernen." week'";
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
if($row->mitarbeiter!='')
if ($row->mitarbeiter != '')
{
//Mitarbeiter
// Mitarbeiter
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz deaktiviert wurde. Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht. \n\n";
$message .= "Sollte innerhalb von 12 Monaten nach der Deaktivierung keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= "Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz deaktiviert wurde.
Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht. \n\n";
$message .= "Sollte innerhalb von 12 Monaten nach der Deaktivierung keine neuerliche Aktivierung Ihres
Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= " - Ihr Account, \n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
$message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
@@ -66,21 +69,25 @@ if($result = $db->db_query($qry))
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.";
}
else
{
//Student
// Student
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz deaktiviert wurde. Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.\n";
$message .= "Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz deaktiviert wurde.
Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.\n";
$message .= "\n";
$message .= "Sollte innerhalb von 6 Monaten (für Studierende) bzw. 3 Wochen (für AbbrecherInnen) nach der Deaktivierung keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= "Sollte innerhalb von 6 Monaten (für Studierende) bzw. 3 Wochen (für AbbrecherInnen) nach der
Deaktivierung keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= " - Ihr Account,\n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
@@ -88,35 +95,44 @@ if($result = $db->db_query($qry))
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien\n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
}
$to = $row->uid.'@'.DOMAIN;
$mail = new mail($to,'no-reply@'.DOMAIN,'Ihr Datensatz wurde deaktiviert! '.$row->uid, $message);
$mail->send();
$text.= "Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! '.$row->uid, $message);
if ($mail->send())
$text .= "Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
else
$text .= "Fehler beim Senden des Mails an $to: ".$message;
}
}
// Letzte Warnung vor Accountloeschung verschicken
// Abbrecher
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_ABBRECHER_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL)='Abbrecher' ";
if($result = $db->db_query($qry))
$qry = "SELECT uid
FROM public.tbl_benutzer
JOIN public.tbl_student ON(uid=student_uid)
WHERE aktiv = false
AND updateaktivam = CURRENT_DATE - interval '".DEL_ABBRECHER_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL) = 'Abbrecher'";
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_ABBRECHER_WEEKS > 1?DEL_ABBRECHER_WEEKS." Wochen ":"einer Woche ")."deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_ABBRECHER_WEEKS > 1?DEL_ABBRECHER_WEEKS." Wochen ":"einer Woche ")."deaktiviert!
Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= " - Ihr Account,\n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit Ihrer
Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
@@ -124,61 +140,84 @@ if($result = $db->db_query($qry))
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$to = $row->uid.'@'.DOMAIN;
$mail = new mail($to,'no-reply@'.DOMAIN,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
$mail->send();
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
if ($mail->send())
$text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
else
$text .= "Fehler beim Senden des Mails an $to: ".$message;
}
}
// Abbrecher an Bibliothek melden wenn diese inaktiv gesetzt wurden
$qry = "SELECT uid, vorname, nachname, titelpre, titelpost FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) JOIN public.tbl_person USING(person_id) WHERE
tbl_benutzer.aktiv=false AND tbl_benutzer.updateaktivam=(CURRENT_DATE - '1 day'::interval)::date
AND get_rolle_prestudent (prestudent_id, NULL)='Abbrecher' ";
if($result = $db->db_query($qry))
$qry = "SELECT uid,
vorname,
nachname,
titelpre,
titelpost
FROM public.tbl_benutzer
JOIN public.tbl_student ON (uid = student_uid)
JOIN public.tbl_person USING (person_id)
WHERE tbl_benutzer.aktiv = false
AND tbl_benutzer.updateaktivam = (CURRENT_DATE - '1 day'::interval)::date
AND get_rolle_prestudent (prestudent_id, NULL) = 'Abbrecher'";
if ($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>0)
if ($db->db_num_rows($result) > 0)
{
$message = "Dies ist eine automatische Nachricht!\n\n";
$message.= "Die folgenden Studierenden wurden als Abbrecher eingetragen:\n\n";
while($row = $db->db_fetch_object($result))
$message .= "Die folgenden Studierenden wurden als Abbrecher eingetragen:\n\n";
while ($row = $db->db_fetch_object($result))
{
$message.=trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost).' ( '.$row->uid.'@'.DOMAIN." )\n";
$message .= trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost).' ( '.$row->uid.'@'.DOMAIN." )\n";
}
$message .= "\nMit freundlichen Grüßen\n";
$message .= "\n";
$message .= "Fachhochschule Technikum Wien\n";
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$to = 'wienerro@technikum-wien.at, astfaell@technikum-wien.at, olensky@technikum-wien.at';
$mail = new mail($to,'no-reply@'.DOMAIN,'Abbrecher Information', $message);
if($mail->send())
$text.="Abbrecher Infomail an $to verschickt\n";
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Abbrecher Information', $message);
if ($mail->send())
$text .= "Abbrecher Infomail an $to verschickt\n";
else
$text.="Fehler beim Versenden des Abbrecher Infomails an $to !\n";
$text .= "Fehler beim Senden des Mails an $to: ".$message;
}
}
// Studenten
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_STUDENT_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL)<>'Abbrecher'";
if($result = $db->db_query($qry))
$qry = "SELECT uid
FROM public.tbl_benutzer
JOIN public.tbl_student ON (uid=student_uid)
WHERE aktiv = false
AND updateaktivam = CURRENT_DATE - interval '".DEL_STUDENT_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL) <> 'Abbrecher'";
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_STUDENT_WEEKS > 1?DEL_STUDENT_WEEKS." Wochen ":"einer Woche ")."deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_STUDENT_WEEKS > 1?DEL_STUDENT_WEEKS." Wochen ":"einer Woche ").
"deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen,
dann werden automatisch auch\n";
$message .= " - Ihr Account,\n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
@@ -186,32 +225,42 @@ if($result = $db->db_query($qry))
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$to = $row->uid.'@'.DOMAIN;
$mail = new mail($to,'no-reply@'.DOMAIN,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
$mail->send();
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
if ($mail->send())
$text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
else
$text .= "Fehler beim Versenden des Abbrecher Infomails an $to !\n";
}
}
// Mitarbeiter
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_MITARBEITER_WEEKS." week' ";
if($result = $db->db_query($qry))
$qry = "SELECT uid
FROM public.tbl_benutzer
JOIN public.tbl_mitarbeiter ON (uid = mitarbeiter_uid)
WHERE aktiv = false
AND updateaktivam = CURRENT_DATE - interval '".DEL_MITARBEITER_WEEKS." week' ";
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_MITARBEITER_WEEKS > 1?DEL_MITARBEITER_WEEKS." Wochen ":"einer Woche ")."deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_MITARBEITER_WEEKS > 1?DEL_MITARBEITER_WEEKS." Wochen ":"einer Woche ").
"deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen,
dann werden automatisch auch\n";
$message .= " - Ihr Account,\n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
$message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
@@ -220,22 +269,20 @@ if($result = $db->db_query($qry))
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$to = $row->uid.'@'.DOMAIN;
$mail = new mail($to,'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
$mail->send();
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
if ($mail->send())
$text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
else
$text .= "Fehler beim Versenden des Abbrecher Infomails an $to !\n";
}
}
echo nl2br($text);
if($text!='')
{
$mail = new mail(MAIL_IT.', vilesci@technikum-wien.at', 'vilesci@'.DOMAIN, 'Account Deaktivierung', "Dies ist eine automatische Mail!\nFolgende Warnungen zur Accountloeschung wurden versandt:\n\n".$text);
$mail->send();
}
echo $text;
echo '</body></html>';
?>
+27 -19
View File
@@ -1,5 +1,7 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/**
* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -19,7 +21,8 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
/**
* Prueft ob am Vortag neue Lektoren einen Lehrauftrag bekommen haben
* die vorher noch keinen hatten.
* Diese werden dann an die Geschaeftsstelle gemeldet damit diese
@@ -27,18 +30,19 @@
* Wenn kein aktuelles Studiensemester vorhanden ist, wird keine
* Nachricht versendet.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/studiensemester.class.php');
require_once('../include/mail.class.php');
require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php');
require_once(dirname(__FILE__).'/../include/studiensemester.class.php');
require_once(dirname(__FILE__).'/../include/mail.class.php');
$stsem = new studiensemester();
if(!$studiensemester = $stsem->getakt())
if (!$studiensemester = $stsem->getakt())
die('Es ist kein aktuelles Studiensemester vorhanden -> Versand nicht noetig');
$db = new basis_db();
//Alle Lektoren holen die am Vortag zu einer Lehreinheit zugeteilt wurden
//und in diesem Studiensemester noch keinen Lehrauftrag haben.
// Alle Lektoren holen die am Vortag zu einer Lehreinheit zugeteilt wurden
// und in diesem Studiensemester noch keinen Lehrauftrag haben.
$qry="
SELECT vorname, nachname, titelpre, titelpost, uid FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
@@ -56,29 +60,33 @@ WHERE uid IN(
)
";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>0)
if ($db->db_num_rows($result) > 0)
{
$mitarbeiter='';
while($row = $db->db_fetch_object($result))
$mitarbeiter = '';
while ($row = $db->db_fetch_object($result))
{
$mitarbeiter .= trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost)." ($row->uid)\n";
}
$message = "Dies ist eine automatische Mail!\n";
$message.= "Folgende Lektoren haben in diesem Studiensemester zum ersten Mal einen Lehrauftrag erhalten:\n\n";
$message.=$mitarbeiter;
$message .= "Folgende Lektoren haben in diesem Studiensemester zum ersten Mal einen Lehrauftrag erhalten:\n\n";
$message .= $mitarbeiter;
$to = MAIL_GST;
$mail = new mail($to,'vilesci@'.DOMAIN,'Neue Lektoren mit Lehrauftrag', $message);
if($mail->send())
echo "Mail wurde an $to versandt:<br>".nl2br($message);
$mail = new mail($to, 'vilesci@'.DOMAIN, 'Neue Lektoren mit Lehrauftrag', $message);
if ($mail->send())
echo "Mail wurde an $to versandt: ".$message;
else
echo "Fehler beim Senden des Mails an $to:<br>".nl2br($message);
echo "Fehler beim Senden des Mails an $to: ".$message;
}
else
{
echo 'Es sind keine neuen Lektoren hinzugefuegt worden';
}
}
?>
?>
+81 -65
View File
@@ -1,5 +1,7 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/**
* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -20,13 +22,15 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
// ************************************
// * Script zur Pruefung und Korrektur
// * moeglicher Inkonsistenzen
// *
// * - Studenten ohne Prestudent_id werden korrigiert
// * - Inkonsistenzen der Tabellen tbl_studentlehrverband, tbl_student werden korrigiert
// **********************************
/**
* Script zur Pruefung und Korrektur
* moeglicher Inkonsistenzen
*
* - Studenten ohne Prestudent_id werden korrigiert
* - Inkonsistenzen der Tabellen tbl_studentlehrverband, tbl_student werden korrigiert
*/
require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php');
require_once(dirname(__FILE__).'/../include/studiensemester.class.php');
require_once(dirname(__FILE__).'/../include/person.class.php');
@@ -38,34 +42,41 @@ require_once(dirname(__FILE__).'/../include/mail.class.php');
$db = new basis_db();
$anzahl_neue_prestudent_id=0;
$anzahl_fehler_prestudent=0;
$anzahl_gruppenaenderung=0;
$anzahl_gruppenaenderung_fehler=0;
$text='';
$statistik ='';
$abunterbrecher_verschoben_error=0;
$abunterbrecher_verschoben=0;
$anzahl_neue_prestudent_id = 0;
$anzahl_fehler_prestudent = 0;
$anzahl_gruppenaenderung = 0;
$anzahl_gruppenaenderung_fehler = 0;
$text = '';
$statistik = '';
$abunterbrecher_verschoben_error = 0;
$abunterbrecher_verschoben = 0;
// ****
// * Bei Studenten mit fehlener Prestudent_id wird die passende id ermittelt und Eingetragen
// ****
$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE prestudent_id is null";
if($result = $db->db_query($qry))
// Bei Studenten mit fehlener Prestudent_id wird die passende id ermittelt und Eingetragen
$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE prestudent_id IS NULL";
if ($result = $db->db_query($qry))
{
$text.="Suche Studenten mit fehlender Prestudent_id ...\n\n";
$text .= "Suche Studenten mit fehlender Prestudent_id ...\n\n";
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$qry_id = "SELECT tbl_prestudent.prestudent_id FROM campus.vw_student JOIN public.tbl_prestudent USING(person_id) WHERE uid=".$db->db_add_param($row->student_uid)." AND tbl_prestudent.studiengang_kz=".$db->db_add_param($row->studiengang_kz);
if($result_id = $db->db_query($qry_id))
$qry_id = "SELECT tbl_prestudent.prestudent_id
FROM campus.vw_student
JOIN public.tbl_prestudent USING(person_id)
WHERE uid = ".$db->db_add_param($row->student_uid)."
AND tbl_prestudent.studiengang_kz = ".$db->db_add_param($row->studiengang_kz);
if ($result_id = $db->db_query($qry_id))
{
if($db->db_num_rows($result_id)==1)
if ($db->db_num_rows($result_id) == 1)
{
if($row_id = $db->db_fetch_object($result_id))
if ($row_id = $db->db_fetch_object($result_id))
{
$qry_upd = "UPDATE public.tbl_student SET prestudent_id=".$db->db_add_param($row_id->prestudent_id)." WHERE student_uid=".$db->db_add_param($row->student_uid);
if($db->db_query($qry_upd))
$qry_upd = "UPDATE public.tbl_student
SET prestudent_id = ".$db->db_add_param($row_id->prestudent_id)."
WHERE student_uid = ".$db->db_add_param($row->student_uid);
if ($db->db_query($qry_upd))
{
$text .= "Prestudent_id von $row->student_uid wurde auf $row_id->prestudent_id gesetzt\n";
$anzahl_neue_prestudent_id++;
@@ -77,12 +88,12 @@ if($result = $db->db_query($qry))
$anzahl_fehler_prestudent++;
}
}
elseif($db->db_num_rows($result_id)>1)
elseif ($db->db_num_rows($result_id) > 1)
{
$text .= "Student $row->student_uid hat keine Prestudent_id und MEHRERE passende Prestudenteintraege\n";
$anzahl_fehler_prestudent++;
}
elseif($db->db_num_rows($result_id)==0)
elseif( $db->db_num_rows($result_id) == 0)
{
$text .= "Student $row->student_uid hat keine Prestudent_id und KEINE passenden Prestudenteintraege\n";
$anzahl_fehler_prestudent++;
@@ -90,20 +101,18 @@ if($result = $db->db_query($qry))
}
else
{
$text.="Fehler bei Abfrage:".$db->db_last_error()."\n";
$text .= "Fehler bei Abfrage:".$db->db_last_error()."\n";
$anzahl_fehler_prestudent++;
}
}
}
// *****
// * Gruppenzuteilung von Abbrechern und Unterbrechern korrigieren.
// * Abbrecher werden in die Gruppe 0A verschoben
// * Unterbrecher in die Gruppe 0B
// *****
$text.="\n\nKorrigiere Gruppenzuteilungen von Ab-/Unterbrechern\n";
// Gruppenzuteilung von Abbrechern und Unterbrechern korrigieren.
// Abbrecher werden in die Gruppe 0A verschoben
// Unterbrecher in die Gruppe 0B
$text .= "\n\nKorrigiere Gruppenzuteilungen von Ab-/Unterbrechern\n";
//Alle Ab-/Unterbrecher holen die nicht im 0. Semester sind
// Alle Ab-/Unterbrecher holen die nicht im 0. Semester sind
$qry = "SELECT
student_uid,
tbl_student.studiengang_kz,
@@ -133,19 +142,19 @@ $qry = "SELECT
)
";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
//Eintrag nur korrigieren wenn der Abbrecher/Unterbrecher Status der letzte in diesem Studiensemester ist
// Eintrag nur korrigieren wenn der Abbrecher/Unterbrecher Status der letzte in diesem Studiensemester ist
$prestd = new prestudent();
$prestd->getLastStatus($row->prestudent_id, $row->studiensemester_kurzbz);
if($prestd->status_kurzbz=='Unterbrecher' || $prestd->status_kurzbz=='Abbrecher')
if ($prestd->status_kurzbz == 'Unterbrecher' || $prestd->status_kurzbz == 'Abbrecher')
{
//Studentlehrverbandeintrag aktualisieren
// Studentlehrverbandeintrag aktualisieren
$student = new student();
if($student->studentlehrverband_exists($row->student_uid, $row->studiensemester_kurzbz))
if ($student->studentlehrverband_exists($row->student_uid, $row->studiensemester_kurzbz))
$student->new = false;
else
{
@@ -158,47 +167,45 @@ if($result = $db->db_query($qry))
$student->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$student->studiengang_kz = $row->studiengang_kz;
$student->semester = '0';
$student->verband = ($prestd->status_kurzbz=='Unterbrecher'?'B':'A');
$student->verband = ($prestd->status_kurzbz == 'Unterbrecher' ? 'B' : 'A');
$student->gruppe = ' ';
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'chkstudentlvb';
//Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt
// Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt
$lehrverband = new lehrverband();
if(!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
if (!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
{
$lehrverband->studiengang_kz = $student->studiengang_kz;
$lehrverband->semester = $student->semester;
$lehrverband->verband = $student->verband;
$lehrverband->gruppe = $student->gruppe;
$lehrverband->bezeichnung = ($student->verband=='A'?'Abbrecher':'Unterbrecher');
$lehrverband->bezeichnung = ($student->verband == 'A' ? 'Abbrecher' : 'Unterbrecher');
$lehrverband->save(true);
}
if($student->save_studentlehrverband())
if ($student->save_studentlehrverband())
{
$text.="Student $student->uid wurde im $row->studiensemester_kurzbz in die Gruppe $student->semester$student->verband verschoben\n";
$text .= "Student $student->uid wurde im $row->studiensemester_kurzbz in die Gruppe $student->semester$student->verband verschoben\n";
$abunterbrecher_verschoben++;
}
else
{
$text.="Fehler biem Speichern des Lehrverbandeintrages bei $student->student_uid:".$student->errormsg."\n";
$text .= "Fehler biem Speichern des Lehrverbandeintrages bei $student->student_uid:".$student->errormsg."\n";
$abunterbrecher_verschoben_error++;
}
}
}
}
// *****
// * Unterschiedliche Gruppenzuteilungen in tbl_studentlehrverband - tbl_student korrigieren
// *****
// Unterschiedliche Gruppenzuteilungen in tbl_studentlehrverband - tbl_student korrigieren
$stsem = new studiensemester();
$stsem = $stsem->getNearest();
$text.="\n\nKorrigiere Inkonsitenzen in den Tabellen tbl_studentlehrverband, tbl_student (Verwendetes Studiensemester: $stsem)\n\n";
$text .= "\n\nKorrigiere Inkonsitenzen in den Tabellen tbl_studentlehrverband, tbl_student (Verwendetes Studiensemester: $stsem)\n\n";
$qry = "SELECT
tbl_student.studiengang_kz as studiengang_kz_old,
@@ -221,25 +228,33 @@ $qry = "SELECT
tbl_student.gruppe<>tbl_studentlehrverband.gruppe
)";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$qry = "UPDATE public.tbl_student SET studiengang_kz=".$db->db_add_param($row->studiengang_kz).", semester=".$db->db_add_param($row->semester).", verband=".$db->db_add_param($row->verband).", gruppe=".$db->db_add_param($row->gruppe)." WHERE student_uid=".$db->db_add_param($row->student_uid);
if($db->db_query($qry))
$qry = "UPDATE public.tbl_student
SET studiengang_kz = ".$db->db_add_param($row->studiengang_kz).",
semester = ".$db->db_add_param($row->semester).",
verband = ".$db->db_add_param($row->verband).",
gruppe = ".$db->db_add_param($row->gruppe)."
WHERE student_uid = ".$db->db_add_param($row->student_uid);
if ($db->db_query($qry))
{
$text .= "Bei Student $row->student_uid wurde die Gruppenzuordnung von $row->studiengang_kz_old/$row->semester_old/$row->verband_old/$row->gruppe_old auf $row->studiengang_kz/$row->semester/$row->verband/$row->gruppe geaendert\n";
$text .= "Bei Student $row->student_uid wurde die Gruppenzuordnung
von $row->studiengang_kz_old/$row->semester_old/$row->verband_old/$row->gruppe_old
auf $row->studiengang_kz/$row->semester/$row->verband/$row->gruppe geaendert\n";
$anzahl_gruppenaenderung++;
}
else
{
$text.="Fehler beim Aendern der Gruppe: ".$db->db_last_error()."\n";
$text .= "Fehler beim Aendern der Gruppe: ".$db->db_last_error()."\n";
$anzahl_gruppenaenderung_fehler++;
}
}
}
else
$text.="Fehler bei Abfrage".$db->db_last_error();
$text .= "Fehler bei Abfrage: ".$db->db_last_error();
$statistik .= "Prestudent_id wurde bei $anzahl_neue_prestudent_id Studenten korrigiert\n";
$statistik .= "$anzahl_fehler_prestudent Fehler sind bei der Korrektur der Prestudent_id aufgetreten\n";
@@ -250,11 +265,12 @@ $statistik .= "$anzahl_gruppenaenderung_fehler Fehler sind bei der Korrektur der
$statistik .= "\n\n";
$mail = new mail(MAIL_ADMIN, 'vilesci@'.DOMAIN, 'CHECK Studentlehrverband', $statistik.$text);
if($mail->send())
if ($mail->send())
echo 'Mail an '.MAIL_ADMIN.' wurde versandt';
else
echo 'Fehler beim Versenden des Mails an '.MAIL_ADMIN;
echo nl2br("\n\n".$statistik.$text);
echo "\n\n".$statistik.$text;
?>
+25 -18
View File
@@ -1,4 +1,5 @@
<?php
/* Copyright (C) 2013 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
@@ -17,14 +18,16 @@
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Cronjob zur Versendung von Infomails wenn Coodle Umfragen Beendet sind
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/coodle.class.php');
require_once('../include/phrasen.class.php');
require_once('../include/benutzer.class.php');
require_once('../include/mail.class.php');
require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php');
require_once(dirname(__FILE__).'/../include/coodle.class.php');
require_once(dirname(__FILE__).'/../include/phrasen.class.php');
require_once(dirname(__FILE__).'/../include/benutzer.class.php');
require_once(dirname(__FILE__).'/../include/mail.class.php');
$coodle = new coodle();
$coodle->getCoodleBeendet();
@@ -33,10 +36,10 @@ $p = new phrasen();
foreach($coodle->result as $row)
{
$benutzer = new benutzer($row->ersteller_uid);
$subject='Ablauf der Coodle Umfrage';
$mailtext='';
$mailtexthtml='';
$subject = 'Ablauf der Coodle Umfrage';
$mailtext = '';
$mailtexthtml = '';
switch($benutzer->geschlecht)
{
case 'm':
@@ -53,19 +56,23 @@ foreach($coodle->result as $row)
break;
}
$mailtext.="Ihre Terminumfrage zum Thema \"".$row->titel."\" ist beendet.\n";
$mailtext.="Bitte folgen sie dem Link um die Terminumfrage abzuschließen: ".CIS_ROOT."cis/public/coodle.php?coodle_id=".$row->coodle_id."\n\n";
$mailtext.= $p->t('mail/signatur');
$mailtext .= "Ihre Terminumfrage zum Thema \"".$row->titel."\" ist beendet.\n";
$mailtext .= "Bitte folgen sie dem Link um die Terminumfrage abzuschließen: ".CIS_ROOT."cis/public/coodle.php?coodle_id=".$row->coodle_id."\n\n";
$mailtext .= $p->t('mail/signatur');
$mailtexthtml.="Ihre Terminumfrage zum Thema \"".$row->titel."\" ist beendet.<br>";
$mailtexthtml.="Bitte folgen sie dem Link um die Terminumfrage abzuschließen: <a href=\"".CIS_ROOT."cis/public/coodle.php?coodle_id=".$row->coodle_id."\">Link zur Umfrage</a><br><br>";
$mailtexthtml.= nl2br($p->t('mail/signatur'));
$mailtexthtml .= "Ihre Terminumfrage zum Thema \"".$row->titel."\" ist beendet.<br>";
$mailtexthtml .= "Bitte folgen sie dem Link um die Terminumfrage abzuschließen: <a href=\"".CIS_ROOT."cis/public/coodle.php?coodle_id=".
$row->coodle_id."\">Link zur Umfrage</a><br><br>";
$mailtexthtml .= nl2br($p->t('mail/signatur'));
$mail = new mail($row->ersteller_uid.'@'.DOMAIN, 'no-reply@'.DOMAIN, $subject, $mailtext);
$mail->setHTMLContent($mailtexthtml);
if($mail->send())
echo "Mail versandt an $row->ersteller_uid CoodleID $row->coodle_id<br>\n";
echo "Mail versandt an $row->ersteller_uid CoodleID $row->coodle_id\n";
else
echo "Fehler beim Mailversand an $row->ersteller_uid CoodleID $row->coodle_id<br>\n";
echo "Fehler beim Mailversand an $row->ersteller_uid CoodleID $row->coodle_id\n";
}
?>
?>
File diff suppressed because it is too large Load Diff