From 9b1df1e4afa0c71ce09d7737e2d8159125a25dde Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 12 Sep 2017 11:22:16 +0200 Subject: [PATCH 1/7] =?UTF-8?q?Fehler=20behoben=20wodurch=20das=20L=C3=B6s?= =?UTF-8?q?chen=20von=20Incominggruppen=20nicht=20funktioniert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/lehre/incoming_delete.php | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/vilesci/lehre/incoming_delete.php b/vilesci/lehre/incoming_delete.php index c8110acea..a6e90530a 100644 --- a/vilesci/lehre/incoming_delete.php +++ b/vilesci/lehre/incoming_delete.php @@ -34,7 +34,7 @@ if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); $user = get_uid(); - + $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); @@ -47,9 +47,9 @@ $sql_query="SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE studiengang_kz=100 $result_incgrp=$db->db_query($sql_query); if(!$result_incgrp) die("Keine Incoming-Gruppen gefunden! ".$db->db_last_error()); - -$incgrp=(isset($_REQUEST['incgrp'])?$_REQUEST['incgrp']:''); -$lehreinheit_id=(isset($_REQUEST['lehreinheit_id'])?$_REQUEST['lehreinheit_id']:''); + +$incgrp=(isset($_REQUEST['incgrp'])?$_REQUEST['incgrp']:''); +$lehreinheit_id=(isset($_REQUEST['lehreinheit_id'])?$_REQUEST['lehreinheit_id']:''); $type=(isset($_REQUEST['type'])?$_REQUEST['type']:''); ?> @@ -66,11 +66,11 @@ $type=(isset($_REQUEST['type'])?$_REQUEST['type']:'');

Löscht einen Incoming aus beiden LV-Plan Tabellen und auch die Gruppenzuteilung im FAS.

- + Lehreinheit aus der der Incoming gelöscht werden soll:

-

Gruppe des Incomings, die gelöscht werden soll: +

Gruppe des Incomings, die gelöscht werden soll: + Kartennummer: + + + +'; + +echo ' +'; +?> From 2a183ce3f5a95e1c1bd8eef9d6f8024b41d56854 Mon Sep 17 00:00:00 2001 From: Andreas Oesterreicher Date: Tue, 12 Sep 2017 17:09:20 +0200 Subject: [PATCH 3/7] Bei Anzeige des LVPlans auf Lehrveranstaltungsebene werden jetzt keine Reservierungen mehr angezeigt --- include/lehrstunde.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index 3ce4c84e4..a9f8e9455 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -516,7 +516,7 @@ class lehrstunde extends basis_db } // Reservierungsdaten ermitteln - if ($type!='idList' && $type!='fachbereich') + if ($type!='idList' && $type!='fachbereich' && $type!='lva') { // Datenbankabfrage generieren $sql_query_reservierung='SELECT * FROM campus.vw_reservierung'; From a294a44b2c606f6405709bafd66274765d04c908 Mon Sep 17 00:00:00 2001 From: kindlm Date: Wed, 13 Sep 2017 13:50:17 +0200 Subject: [PATCH 4/7] Mlists_generate Optimierung Einfache Verteiler, deren Erstellung ohne PHP-Schleifen-Logik moeglich ist, werden ueber ein Array erstellt. --- system/mlists/mlists_generate.php | 1648 ++++++++--------------------- 1 file changed, 436 insertions(+), 1212 deletions(-) diff --git a/system/mlists/mlists_generate.php b/system/mlists/mlists_generate.php index b13acc3dc..ad6ec7288 100644 --- a/system/mlists/mlists_generate.php +++ b/system/mlists/mlists_generate.php @@ -34,6 +34,7 @@ require_once('../../include/studiensemester.class.php'); require_once('../../include/organisationseinheit.class.php'); require_once('../../include/gruppe.class.php'); require_once('../../include/basis_db.class.php'); +require_once('../../include/mail.class.php'); $error_msg=''; ?> @@ -75,383 +76,406 @@ $error_msg=''; $qry = "UPDATE public.tbl_gruppe SET generiert=true WHERE UPPER(gruppe_kurzbz)=UPPER('".addslashes($gruppe)."')"; $db->db_query($qry); } + + /** + * Einfache Verteiler, deren Erstellung ohne Schleifen-Logik moeglich ist, werden ueber dieses Array erstellt + * Benoetigt werden die 3 Attribute: + * $verteilerArray['name_des_verteilers']['bezeichnung'] = 'Bezeichnung des Verteilers'; + * $verteilerArray['name_des_verteilers']['beschreibung'] = 'Beschreibung des Verteilers (Anzeige im CIS)'; + * $verteilerArray['name_des_verteilers']['sql'] = 'UIDs, die im Verteiler enthalten sein sollen (kein Semikolon am Ende)'; + * + * Die Verteiler werden dann alle gleich erstellt: + * - Pruefen, ob Gruppe existiert, wenn nicht, anlegen mit Default-Werten + * - Gruppe auf generiert setzen + * - UIDs loeschen, die nicht mehr in den Verteiler gehoeren + * - UIDs hinzufuegen, die im Verteiler fehlen + */ + + $verteilerArray = array(); + + // Sql-Schema: SELECT foo AS uid FROM bar WHERE foobar + + //Aktive MitarbeiterInnen mit Personalnummer > 0 + $verteilerArray['tw_ma']['bezeichnung'] = 'Alle aktiven MitarbeiterInnen'; + $verteilerArray['tw_ma']['beschreibung'] = 'Alle aktiven MitarbeiterInnen'; + $verteilerArray['tw_ma']['sql'] = " SELECT DISTINCT mitarbeiter_uid AS uid + FROM public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) + WHERE aktiv + AND personalnummer >= 0"; + //Aktive weibliche MitarbeiterInnen mit Personalnummer > 0 + $verteilerArray['tw_ma_w']['bezeichnung'] = 'Weibliche Mitarbeiterinnen'; + $verteilerArray['tw_ma_w']['beschreibung'] = 'Weibliche Mitarbeiterinnen'; + $verteilerArray['tw_ma_w']['sql'] = " SELECT DISTINCT mitarbeiter_uid AS uid + FROM public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) + JOIN public.tbl_person USING(person_id) + WHERE tbl_benutzer.aktiv + AND geschlecht='w' + AND personalnummer >=0"; + //Alle aktiven MitarbeiterInnen mit Attribut lektor=true + $verteilerArray['tw_lkt']['bezeichnung'] = 'Alle LektorInnen'; + $verteilerArray['tw_lkt']['beschreibung'] = 'Alle LektorInnen an der FH Technikum Wien'; + $verteilerArray['tw_lkt']['sql'] = " SELECT mitarbeiter_uid AS uid + FROM public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) + WHERE lektor + AND aktiv"; + //MitarbeiterInnen mit gueltiger Funktion "ass" (assistenz) + $verteilerArray['tw_sek']['bezeichnung'] = 'Alle Sekretariate'; + $verteilerArray['tw_sek']['beschreibung'] = 'Alle Sekretariate an der FH Technikum Wien'; + $verteilerArray['tw_sek']['sql'] = " SELECT mitarbeiter_uid AS uid + FROM + public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) + JOIN public.tbl_benutzerfunktion USING(uid) + WHERE aktiv AND funktion_kurzbz='ass' AND + (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND + (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now()) AND + mitarbeiter_uid NOT LIKE '\\\\_%' "; + //Aktive MitarbeiterInnen mit gueltiger Funktion "Leitung", "gLtg" oder "stvLtg" in aktiven Studiengaengen + $verteilerArray['tw_stgl']['bezeichnung'] = 'Alle StudiengangsleiterInnen'; + $verteilerArray['tw_stgl']['beschreibung'] = 'Alle StudiengangsleiterInnen und deren StellvertreterInnen'; + $verteilerArray['tw_stgl']['sql'] = " SELECT DISTINCT mitarbeiter_uid AS uid + FROM + public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) + JOIN public.tbl_benutzerfunktion USING(uid) + JOIN public.tbl_studiengang USING(oe_kurzbz) + WHERE + tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') + AND (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) + AND (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) + AND mitarbeiter_uid NOT LIKE '\\\\_%' + AND tbl_studiengang.aktiv=true"; + //Aktive MitarbeiterInnen mit gueltiger Funktion "Leitung", "gLtg" oder "stvLtg" in aktiven Bachelor- oder Master-Studiengaengen mit Kennzahl>0 und Kennzahl<10000 + $verteilerArray['tw_stgl_bama']['bezeichnung'] = 'Studiengangsleitung BAMA'; + $verteilerArray['tw_stgl_bama']['beschreibung'] = 'Studiengangsleitung und Stellvertretung von Bachelor und Master Studiengängen'; + $verteilerArray['tw_stgl_bama']['sql'] = " SELECT DISTINCT mitarbeiter_uid AS uid + FROM + public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) + JOIN public.tbl_benutzerfunktion USING(uid) + JOIN public.tbl_studiengang USING(oe_kurzbz) + WHERE + tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') + AND (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) + AND (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) + AND mitarbeiter_uid NOT LIKE '\\\\_%' + AND tbl_studiengang.aktiv=true + AND tbl_studiengang.typ in('b','m') + AND tbl_studiengang.studiengang_kz>0 + AND tbl_studiengang.studiengang_kz<10000"; + //Alle aktiven MitarbeiterInnen mit Attribut fixangestellt=true + $verteilerArray['tw_fix']['bezeichnung'] = 'Alle Fix-Angestellten'; + $verteilerArray['tw_fix']['beschreibung'] = 'Alle Fix-Angestellten an der FH Technikum Wien'; + $verteilerArray['tw_fix']['sql'] = " SELECT mitarbeiter_uid AS uid + FROM public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) + WHERE fixangestellt + AND aktiv + AND mitarbeiter_uid NOT LIKE '\\\\_%'"; + //Alle aktiven MitarbeiterInnen mit Attribut fixangestellt=true und lektor=true + $verteilerArray['tw_fix_lkt']['bezeichnung'] = 'Alle fixangestellten LektorInnen'; + $verteilerArray['tw_fix_lkt']['beschreibung'] = 'Alle fixangestellten LektorInnen an der FH Technikum Wien'; + $verteilerArray['tw_fix_lkt']['sql'] = " SELECT mitarbeiter_uid AS uid + FROM public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) + WHERE fixangestellt + AND lektor + AND aktiv + AND mitarbeiter_uid NOT LIKE '\\\\_%'"; + //Alle aktiven MitarbeiterInnen mit Attribut fixangestellt=false und lektor=true + $verteilerArray['tw_ext_lkt']['bezeichnung'] = 'Externe LektorInnen'; + $verteilerArray['tw_ext_lkt']['beschreibung'] = 'Alle externen LektorInnen an der FH Technikum Wien'; + $verteilerArray['tw_ext_lkt']['sql'] = " SELECT mitarbeiter_uid AS uid + FROM public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) + WHERE NOT fixangestellt + AND lektor + AND aktiv + AND mitarbeiter_uid NOT LIKE '\\\\_%'"; + //Hochschulvertretung. Studierende mit gueltiger Funktion 'hsv'. + $verteilerArray['tw_hsv']['bezeichnung'] = 'Hochschulvertretung FHTW'; + $verteilerArray['tw_hsv']['beschreibung'] = 'Hochschulvertretung FHTW'; + $verteilerArray['tw_hsv']['sql'] = " SELECT uid + FROM + public.tbl_benutzerfunktion + JOIN public.tbl_benutzer USING(uid) + WHERE + funktion_kurzbz='hsv' + AND tbl_benutzer.aktiv AND + (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND + (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())"; + //Studienvertretung. Studierende mit gueltiger Funktion 'stdv'. + $verteilerArray['tw_stdv']['bezeichnung'] = 'Alle StudierendenvertreterInnen'; + $verteilerArray['tw_stdv']['beschreibung'] = 'Alle StudierendenvertreterInnen'; + $verteilerArray['tw_stdv']['sql'] = " SELECT uid + FROM + public.tbl_benutzerfunktion + JOIN public.tbl_benutzer USING(uid) + WHERE + funktion_kurzbz='stdv' + AND tbl_benutzer.aktiv AND + (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND + (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())"; + //Jahrgangsvertretung. Studierende mit gueltiger Funktion 'jgv'. + $verteilerArray['tw_jgv']['bezeichnung'] = 'Alle JahrgangsvertreterInnen'; + $verteilerArray['tw_jgv']['beschreibung'] = 'Alle JahrgangsvertreterInnen'; + $verteilerArray['tw_jgv']['sql'] = " SELECT uid + FROM + public.tbl_benutzerfunktion + JOIN public.tbl_benutzer USING(uid) + WHERE + funktion_kurzbz='jgv' + AND tbl_benutzer.aktiv AND + (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND + (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())"; + //Alle aktiven Studierenden + //Abbrecher bleiben noch 3 Wochen im Verteiler andere inaktive noch fuer 20 Wochen + //damit im CIS die Menuepunkte fuer Studierende richtig angezeigt werden + $verteilerArray['tw_std']['bezeichnung'] = 'Alle Studierenden'; + $verteilerArray['tw_std']['beschreibung'] = 'Alle ordentlichen, außerordentlichen und fiktiven Studierenden'; + $verteilerArray['tw_std']['sql'] = " SELECT uid + FROM campus.vw_student + WHERE ( + aktiv + OR + (aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) + OR + (aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval) + )"; + //Alle aktiven männlichen Studierenden + //Abbrecher bleiben noch 3 Wochen im Verteiler andere inaktive noch fuer 20 Wochen + $verteilerArray['tw_std_m']['bezeichnung'] = 'Alle männlichen Studenten'; + $verteilerArray['tw_std_m']['beschreibung'] = 'Alle männlichen Studenten an der FHTW'; + $verteilerArray['tw_std_m']['sql'] = " SELECT uid + FROM campus.vw_student + WHERE ( + aktiv + AND geschlecht='m' + OR + (aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) + OR + (aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval) + )"; + //Alle aktiven weiblichen Studierenden + //Abbrecher bleiben noch 3 Wochen im Verteiler andere inaktive noch fuer 20 Wochen + $verteilerArray['tw_std_w']['bezeichnung'] = 'Alle weiblichen Studentinnen'; + $verteilerArray['tw_std_w']['beschreibung'] = 'Alle weiblichen Studentinnen an der FHTW'; + $verteilerArray['tw_std_w']['sql'] = " SELECT uid + FROM campus.vw_student + WHERE ( + aktiv + AND geschlecht='w' + OR + (aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) + OR + (aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval) + )"; + //Alle ordentlichen, aktiven Bachelor- und Master-Studierenden + //Absolventen bleiben noch 20 Wochen im Verteiler + $verteilerArray['tw_bama']['bezeichnung'] = 'Alle BaMa-Studierenden'; + $verteilerArray['tw_bama']['beschreibung'] = 'Alle ordentlichen Bachelor- und Master-Studierenden'; + $verteilerArray['tw_bama']['sql'] = " SELECT uid + FROM campus.vw_student + WHERE ( + aktiv + OR + (aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)='Absolvent' AND updateaktivam>now()-'20 weeks'::interval) + AND studiengang_kz IN (SELECT studiengang_kz FROM public.tbl_studiengang WHERE typ IN ('b','m')) + )"; + //Moodle-LektorenVerteiler + $verteilerArray['moodle_lkt']['bezeichnung'] = 'Moodle Lektoren'; + $verteilerArray['moodle_lkt']['beschreibung'] = 'Moodle Lektoren'; + $verteilerArray['moodle_lkt']['sql'] = " SELECT distinct mitarbeiter_uid AS uid + FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, addon.tbl_moodle ,campus.vw_lehreinheit + WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id + AND vw_lehreinheit.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz + AND vw_lehreinheit.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id + AND vw_lehreinheit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id + AND vw_lehreinheit.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz + AND vw_lehreinheit.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz + AND ((tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id + AND tbl_moodle.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz) + OR (tbl_lehreinheit.lehreinheit_id=tbl_moodle.lehreinheit_id))"; + //Serviceabteilungen. Aktive MitarbeiterInnen mit gueltiger Leitungsfunktion in einer Abteilung + $verteilerArray['serviceabteilungen']['bezeichnung'] = 'LeiterInnen sonst. OEen'; + $verteilerArray['serviceabteilungen']['beschreibung'] = 'LeiterInnen der Abteilungen und Gruppen'; + $verteilerArray['serviceabteilungen']['sql'] = " SELECT distinct mitarbeiter_uid AS uid + FROM + public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) + JOIN public.tbl_benutzerfunktion USING(uid) + JOIN public.tbl_organisationseinheit USING(oe_kurzbz) + WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung') + AND (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) + AND (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) + AND tbl_organisationseinheit.organisationseinheittyp_kurzbz='Abteilung'"; + //Aktive MitarbeiterInnen der OE "Sprachen" + $verteilerArray['sprachen']['bezeichnung'] = 'Sprachen'; + $verteilerArray['sprachen']['beschreibung'] = 'MitarbeiterInnen des Instituts Sprachen und Kulturwissenschaften '; + $verteilerArray['sprachen']['sql'] = " SELECT distinct uid + FROM + public.tbl_benutzer + JOIN public.tbl_benutzerfunktion USING(uid) + JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) + WHERE oe_kurzbz in('Sprachen') + AND tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) + AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; + // Aktive MitarbeiterInnen der OE "Sprachen" + $verteilerArray['humanities']['bezeichnung'] = 'MA Institut Sprachen'; + $verteilerArray['humanities']['beschreibung'] = 'MitarbeiterInnen des Instituts Sprachen und Kulturwissenschaften '; + $verteilerArray['humanities']['sql'] = "SELECT distinct uid + FROM + public.tbl_benutzer + JOIN public.tbl_benutzerfunktion USING(uid) + JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) + WHERE oe_kurzbz in('Sprachen') + AND tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) + AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; + //Aktive BenutzerInnen mit der Funktion "kollegium" + $verteilerArray['kollegium']['bezeichnung'] = 'Kollegium der FH Technikum Wien'; + $verteilerArray['kollegium']['beschreibung'] = 'Kollegium der FH Technikum Wien'; + $verteilerArray['kollegium']['sql'] = " SELECT distinct uid + FROM + public.tbl_benutzer + JOIN public.tbl_benutzerfunktion USING(uid) + WHERE funktion_kurzbz='kollegium' + AND tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) + AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; + //Aktive BenutzerInnen mit der Funktion "managementteam" + $verteilerArray['tw_managementteam']['bezeichnung'] = 'Akademisches Managementteam'; + $verteilerArray['tw_managementteam']['beschreibung'] = 'Akademisches Managementteam'; + $verteilerArray['tw_managementteam']['sql'] = " SELECT distinct uid + FROM + public.tbl_benutzer + JOIN public.tbl_benutzerfunktion USING(uid) + WHERE funktion_kurzbz='managementteam' + AND tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) + AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; + //Aktive BenutzerInnen mit der Funktion "fue" + $verteilerArray['tw_fue']['bezeichnung'] = 'Forschung und Entwicklung'; + $verteilerArray['tw_fue']['beschreibung'] = 'Forschung und Entwicklung'; + $verteilerArray['tw_fue']['sql'] = " SELECT distinct uid + FROM + public.tbl_benutzer + JOIN public.tbl_benutzerfunktion USING(uid) + WHERE funktion_kurzbz='fue' + AND tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) + AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; + //Aktive weiblichen Benutzerinnen mit der Funktion "fue" + $verteilerArray['tw_fue_frauen']['bezeichnung'] = 'Weibliche Mitarbeiterinnen FuE'; + $verteilerArray['tw_fue_frauen']['beschreibung'] = 'Weibliche Mitarbeiterinnen in Forschung und Entwicklung'; + $verteilerArray['tw_fue_frauen']['sql'] = " SELECT distinct uid + FROM + public.tbl_benutzer + JOIN public.tbl_benutzerfunktion USING(uid) + JOIN public.tbl_person USING (person_id) + WHERE funktion_kurzbz='fue' + AND geschlecht='w' + AND tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) + AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; + //Alle aktiven MitarbeiterInnen mit Funktion Leitung oder stvLeitung oder gfLtg + $verteilerArray['tw_leitung']['bezeichnung'] = 'Alle MA mit Leitungsfunktion'; + $verteilerArray['tw_leitung']['beschreibung'] = 'Alle MA mit Funktion Leitung, stellvertretende Leitung oder geschäftsführende Leitung'; + $verteilerArray['tw_leitung']['sql'] = " SELECT DISTINCT uid + FROM + public.tbl_person + JOIN public.tbl_benutzer USING (person_id) + JOIN tbl_benutzerfunktion USING (uid) + WHERE funktion_kurzbz IN('Leitung','stvLtg','gLtg') + AND tbl_benutzer.aktiv + AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) + AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; - // ************************************************************** - // MitarbeiterInnenVerteiler abgleichen - $mlist_name='tw_ma'; - setGeneriert($mlist_name); - // MitarbeiterInnen holen die nicht mehr in den Verteiler gehoeren - echo $mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('".addslashes($mlist_name)."') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE aktiv AND personalnummer >=0)"; + foreach ($verteilerArray AS $listname => $data) + { + $grp = new gruppe(); + // Pruefen, ob die Gruppe existert, wenn nicht, anlegen + if(!$grp->exists($listname)) + { + //$error_msg .= 'Die Gruppe '.$listname.' existiert nicht

'; + + $grp->gruppe_kurzbz = $listname; + $grp->studiengang_kz = '0'; + $grp->semester = '0'; + $grp->bezeichnung = $data['bezeichnung']; + $grp->beschreibung = $data['beschreibung']; + $grp->mailgrp = true; + $grp->sichtbar = true; + $grp->generiert = true; + $grp->aktiv = true; + $grp->lehre = false; + $grp->content_visible = false; + $grp->gesperrt = false; + $grp->zutrittssystem = false; + $grp->aufnahmegruppe = false; + $grp->insertamum = date('Y-m-d H:i:s'); + $grp->insertvon = 'mlists_generate'; + + if(!$grp->save(true, true)) + { + $error_msg .= 'Fehler beim Anlegen der Gruppe '.$listname.': '.$grp->errormsg; + continue; + } + } + else + { + setGeneriert($listname); + } + echo strtoupper($listname).' wird abgeglichen...
'; + flush(); + //Eventuelles Semikolon am Ende des SQLs entfernen + if (substr($data['sql'], -1) == ';') + $data['sql'] = substr($data['sql'], 0, strlen($data['sql'])-1); - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); + $qry_delete = " DELETE FROM + public.tbl_benutzergruppe + WHERE + UPPER(gruppe_kurzbz)=UPPER(".$db->db_add_param($listname).") + AND + uid NOT IN (".$data['sql'].");"; - while($row = $db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; + if(!($result = $db->db_query($qry_delete))) + $error_msg .= $db->db_last_error().$qry_delete.'

'; + + echo strtoupper($listname).' '.$db->db_affected_rows($result).' Einträge gelöscht
'; + flush(); - } - // MitarbeiterInnen holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE aktiv AND personalnummer >=0 AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.= $db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // ************************************************************** - // Weibliche Mitarbeiterinnen Verteiler abgleichen - $mlist_name='tw_ma_w'; - setGeneriert($mlist_name); - // MitarbeiterInnen holen die nicht mehr in den Verteiler gehoeren - echo $mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER(".$db->db_add_param($mlist_name).") AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_person USING(person_id) WHERE tbl_benutzer.aktiv AND geschlecht='w' AND personalnummer >=0)"; + $qry_insert = " WITH + uids AS (".$data['sql'].") + INSERT INTO + public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) + SELECT + *, UPPER(".$db->db_add_param($listname)."), now(), 'mlists_generate' + FROM + uids + WHERE + uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER(".$db->db_add_param($listname)."));"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - - while($row = $db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER(".$db->db_add_param($mlist_name).") AND uid=".$db->db_add_param($row->uid); - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // MitarbeiterInnen holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_person USING(person_id) WHERE tbl_benutzer.aktiv AND geschlecht='w' AND personalnummer >=0 AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER(".$db->db_add_param($mlist_name)."))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.= $db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES (".$db->db_add_param($row->uid).",".$db->db_add_param(strtoupper($mlist_name)).", now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // ************************************************************** - // LektorenVerteiler abgleichen - $mlist_name='tw_lkt'; - setGeneriert($mlist_name); - // Lektoren holen die nicht mehr in den Verteiler gehoeren - echo $mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('".addslashes($mlist_name)."') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv)"; - - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - - while($row = $db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // Lektoren holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.= $db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // ************************************************************** - // Sekretariats-Verteiler abgleichen - $mlist_name='tw_sek'; - setGeneriert($mlist_name); - // Personen holen die nicht mehr in den Verteiler gehoeren - echo $mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND - uid NOT IN (SELECT mitarbeiter_uid - FROM - public.tbl_mitarbeiter - JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) - JOIN public.tbl_benutzerfunktion USING(uid) - WHERE aktiv AND funktion_kurzbz='ass' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // Personen holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT distinct mitarbeiter_uid AS uid - FROM - public.tbl_mitarbeiter - JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) - JOIN public.tbl_benutzerfunktion USING(uid) - WHERE - aktiv AND - tbl_benutzerfunktion.funktion_kurzbz='ass' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND - mitarbeiter_uid NOT LIKE '\\\\_%' AND - mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."',null, null, null, now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // ************************************************************** - // Studiengangsleiter-Verteiler abgleichen - // Es werden auch StellvertreterInnen hinzugefügt - $mlist_name='tw_stgl'; - setGeneriert($mlist_name); - // Personen holen die nicht mehr in den Verteiler gehoeren - echo $mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe - WHERE - UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND - uid NOT IN (SELECT mitarbeiter_uid - FROM - public.tbl_mitarbeiter - JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_studiengang USING(oe_kurzbz) - WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - AND tbl_studiengang.aktiv=true)"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // Personen holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT DISTINCT mitarbeiter_uid AS uid - FROM - public.tbl_mitarbeiter - JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_studiengang USING(oe_kurzbz) - WHERE - tbl_benutzer.aktiv AND - (tbl_benutzerfunktion.funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND - mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name')) - AND tbl_studiengang.aktiv=true"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."',null, null, null, now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // ************************************************************** - // Studiengangsleiter-Verteiler abgleichen - // Es werden auch StellvertreterInnen hinzugefügt - $mlist_name='tw_stgl_bama'; - setGeneriert($mlist_name); - // Personen holen die nicht mehr in den Verteiler gehoeren - echo $mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe - WHERE - UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND - uid NOT IN (SELECT mitarbeiter_uid - FROM - public.tbl_mitarbeiter - JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_studiengang USING(oe_kurzbz) - WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - AND tbl_studiengang.aktiv=true - AND tbl_studiengang.typ in('b','m') - AND tbl_studiengang.studiengang_kz>0 - AND tbl_studiengang.studiengang_kz<10000 - )"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid=".$db->db_add_param($row->uid); - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // Personen holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT DISTINCT mitarbeiter_uid AS uid - FROM - public.tbl_mitarbeiter - JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_studiengang USING(oe_kurzbz) - WHERE - tbl_benutzer.aktiv AND - (tbl_benutzerfunktion.funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND - mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name')) - AND tbl_studiengang.aktiv=true - AND tbl_studiengang.typ in('b','m') - AND tbl_studiengang.studiengang_kz>0 - AND tbl_studiengang.studiengang_kz<10000"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, studiensemester_kurzbz, - updateamum, updatevon, insertamum, insertvon) VALUES (". - $db->db_add_param($row->uid).",". - $db->db_add_param(strtoupper($mlist_name)). - ",null, null, null, now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // ************************************************************** - // Verteiler fuer alle fixAngestellten abgleichen - $mlist_name='tw_fix'; - setGeneriert($mlist_name); - // Lektoren holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND aktiv)"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // Lektoren holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))"; - if(!($result=$db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // ************************************************************** - // Verteiler fuer alle fixen Lektoren abgleichen - $mlist_name='tw_fix_lkt'; - setGeneriert($mlist_name); - // Lektoren holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE aktiv AND fixangestellt AND lektor)"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // Lektoren holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND lektor AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // ************************************************************** - // Verteiler fuer alle externen Lektoren abgleichen - $mlist_name='tw_ext_lkt'; - setGeneriert($mlist_name); - // Lektoren holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!
'; - flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE aktiv AND NOT fixangestellt AND lektor)"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // Lektoren holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE NOT fixangestellt AND lektor AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } + if(!($result = $db->db_query($qry_insert))) + $error_msg .= $db->db_last_error().$qry_insert.'

'; + + echo strtoupper($listname).' '.$db->db_affected_rows($result).' Einträge hinzugefügt

'; + + flush(); + } + +// ************************************************************** +// Erstellen der Mailinglisten mit Schleifen-Logik +// ************************************************************** + // ************************************************************** // Lektoren-Verteiler innerhalb der Studiengaenge abgleichen // Lektoren holen die nicht mehr in den Verteiler gehoeren @@ -520,86 +544,13 @@ $error_msg=''; $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->mitarbeiter_uid','".strtoupper($row->mlist_name)."', now(), 'mlists_generate')"; if(!$db->db_query($sql_query)) $error_msg.=$db->db_last_error().$sql_query; - echo '-'; + flush(); } - // ************************************************************** - // Verteiler Hochschulvertretung abgleichen - - echo 'Hochschulvertretungsverteiler werden abgeglichen!
'; - flush(); - - //Verteiler anlegen, wenn nicht vorhanden - $sql_query="SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='TW_HSV'"; - if($res = $db->db_query($sql_query)) - { - if($db->db_num_rows($res)<=0) - { - $sql_query="INSERT INTO public.tbl_gruppe(gruppe_kurzbz, studiengang_kz, semester, bezeichnung, - beschreibung, mailgrp, sichtbar, generiert, aktiv, updateamum, updatevon, - insertamum, insertvon) - VALUES('TW_HSV',0, NULL,'Hochschulvertretung FHTW','Hochschulvertretung FHTW', true, true, true, true, now(),'mlists_generate',now(), 'mlists_generate');"; - if(!$db->db_query($sql_query)) - echo "
Fehler beim Anlegen der Gruppe: $sql_query
"; - } - } - else - echo "
Fehler:$sql_query"; - - // Studierende holen, die nicht mehr in den Verteiler gehoeren - $sql_query="SELECT gruppe_kurzbz, uid - FROM public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) - WHERE gruppe_kurzbz = 'TW_HSV' - AND uid not in (SELECT uid FROM public.tbl_benutzerfunktion JOIN public.tbl_benutzer USING(uid) - WHERE funktion_kurzbz='hsv' AND tbl_benutzer.aktiv AND - (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now()) - AND (SELECT studiengang_kz FROM public.tbl_studiengang - WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1)=tbl_gruppe.studiengang_kz)"; - if(!($result=$db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$row->gruppe_kurzbz') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // Studierende holen, die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT uid - FROM - public.tbl_benutzerfunktion - JOIN public.tbl_benutzer USING(uid) - WHERE - funktion_kurzbz='hsv' - AND tbl_benutzer.aktiv AND - (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now()) - AND uid NOT in(SELECT uid from public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) - WHERE studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang - WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) - AND gruppe_kurzbz = 'TW_HSV')"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - if($row->uid!='') - { - setGeneriert('TW_HSV'); - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES (".$db->db_add_param($row->uid).",'TW_HSV', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - } // ************************************************************** - // StudienvertretungenVerteiler abgleichen + // Studienvertretungen der Studiengänge abgleichen echo 'Studienvertretungsverteiler werden abgeglichen!
'; flush(); @@ -649,7 +600,7 @@ $error_msg=''; $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$row->gruppe_kurzbz') AND uid='$row->uid'"; if(!$db->db_query($sql_query)) $error_msg.=$db->db_last_error().$sql_query; - echo '-'; + flush(); } ob_flush(); @@ -680,69 +631,11 @@ $error_msg=''; $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".mb_strtoupper($row->gruppe_kurzbz)."', now(), 'mlists_generate')"; if(!$db->db_query($sql_query)) $error_msg.=$db->db_last_error().$sql_query; - echo '-'; + flush(); } } - //TW_STDV abgleichen - - //Verteiler TW_STDV anlegen, wenn nicht vorhanden - $sql_query="SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='TW_STDV'"; - if($res = $db->db_query($sql_query)) - { - if($db->db_num_rows($res)<=0) - { - $sql_query="INSERT INTO public.tbl_gruppe(gruppe_kurzbz, studiengang_kz, semester, bezeichnung, - beschreibung, mailgrp, sichtbar, generiert, aktiv, updateamum, updatevon, - insertamum, insertvon) - VALUES('TW_STDV',0, NULL,'Alle StudienvertreterInnen','Alle StudienvertreterInnen', true, true, true, true, now(),'mlists_generate',now(), 'mlists_generate');"; - if(!$db->db_query($sql_query)) - echo "
Fehler beim Anlegen der Gruppe: $sql_query
"; - } - } - else - echo "
Fehler:$sql_query"; - - flush(); - ob_flush(); - setGeneriert('TW_STDV'); - $sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe - WHERE gruppe_kurzbz='TW_STDV' - AND uid not in (SELECT uid FROM public.tbl_benutzerfunktion JOIN public.tbl_benutzer USING(uid) - WHERE funktion_kurzbz='stdv' AND tbl_benutzer.aktiv AND - (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now()) - )"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('tw_stdv') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // Studierende holen, die nicht im Verteiler sind und einfuegen - echo '
'; - $sql_query="SELECT uid FROM public.tbl_benutzerfunktion JOIN public.tbl_benutzer USING(uid) - WHERE funktion_kurzbz='stdv' AND tbl_benutzer.aktiv AND - (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now()) - AND uid NOT in(Select uid from public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)= UPPER('TW_STDV'))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','TW_STDV', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } // ************************************************************** // Verteiler Jahrgangsvertretung abgleichen @@ -795,7 +688,7 @@ $error_msg=''; $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$row->gruppe_kurzbz') AND uid='$row->uid'"; if(!$db->db_query($sql_query)) $error_msg.=$db->db_last_error().$sql_query; - echo '-'; + flush(); } @@ -826,317 +719,11 @@ $error_msg=''; $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".mb_strtoupper($row->gruppe_kurzbz)."', now(), 'mlists_generate')"; if(!$db->db_query($sql_query)) $error_msg.=$db->db_last_error().$sql_query; - echo '-'; + flush(); } } - //TW_JGV abgleichen - - //Verteiler TW_JGV anlegen, wenn nicht vorhanden - $sql_query="SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='TW_JGV'"; - if($res = $db->db_query($sql_query)) - { - if($db->db_num_rows($res)<=0) - { - $sql_query="INSERT INTO public.tbl_gruppe(gruppe_kurzbz, studiengang_kz, semester, bezeichnung, - beschreibung, mailgrp, sichtbar, generiert, aktiv, updateamum, updatevon, - insertamum, insertvon) - VALUES('TW_JGV',0, NULL,'Alle JahrgangsvertreterInnen','Alle JahrgangsvertreterInnen', true, true, true, true, now(),'mlists_generate',now(), 'mlists_generate');"; - if(!$db->db_query($sql_query)) - echo "
Fehler beim Anlegen der Gruppe: $sql_query
"; - } - } - else - echo "
Fehler:$sql_query"; - // Studierende holen, die nicht mehr in den Verteiler gehoeren - flush(); - ob_flush(); - setGeneriert('TW_JGV'); - $sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe - WHERE gruppe_kurzbz='TW_JGV' - AND uid not in (SELECT uid FROM public.tbl_benutzerfunktion JOIN public.tbl_benutzer USING(uid) - WHERE funktion_kurzbz='jgv' AND tbl_benutzer.aktiv AND - (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now()) - )"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('tw_jgv') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // Studierende holen, die noch nicht im Verteiler sind - echo '
'; - $sql_query="SELECT uid FROM public.tbl_benutzerfunktion JOIN public.tbl_benutzer USING(uid) - WHERE funktion_kurzbz='jgv' AND tbl_benutzer.aktiv AND - (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now()) - AND uid NOT in(Select uid from public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)= UPPER('TW_JGV'))"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row = $db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','TW_JGV', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // *************************** - // TW_STD abgleichen - flush(); - setGeneriert('TW_STD'); - echo 'TW_STD wird abgeglichen!
'; - - //Abbrecher bleiben noch 3 Wochen im Verteiler - //andere inaktive noch fuer 20 Wochen - //damit im CIS die Menuepunkte fuer Studierende richtig angezeigt werden - $sql_query="DELETE FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)='TW_STD' - AND uid not in - (SELECT uid FROM campus.vw_student WHERE aktiv - UNION - SELECT uid FROM campus.vw_student WHERE aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval - UNION - SELECT uid FROM campus.vw_student WHERE aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval - )"; - if($result = $db->db_query($sql_query)) - { - echo $db->db_affected_rows($result).' Eintraege entfernt
'; - } - else - { - $error_msg.=$db->db_last_error(); - } - - // Studenten holen die nicht im Verteiler sind - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) - SELECT uid,'TW_STD',now(),'mlists_generate' - FROM campus.vw_student - WHERE (aktiv - OR - (aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) - OR - (aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval)) - AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)='TW_STD')"; - if($result = $db->db_query($sql_query)) - { - echo $db->db_affected_rows($result).' Eintraege hinzugefuegt
'; - } - else - $error_msg.=$db->db_last_error(); - - - // *************************** - // TW_STD_M abgleichen. Alle maennlichen Studenten - flush(); - ob_flush(); - setGeneriert('TW_STD_M'); - echo 'TW_STD_M wird abgeglichen!
'; - - //Abbrecher bleiben noch 3 Wochen im Verteiler - //andere inaktive noch fuer 20 Wochen - //damit im CIS die Menuepunkte fuer Studierende richtig angezeigt werden - $sql_query="DELETE FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)='TW_STD_M' - AND uid not in - (SELECT uid FROM campus.vw_student WHERE aktiv AND geschlecht='m' - UNION - SELECT uid FROM campus.vw_student WHERE aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval - UNION - SELECT uid FROM campus.vw_student WHERE aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval - )"; - if($result = $db->db_query($sql_query)) - { - echo $db->db_affected_rows($result).' Eintraege entfernt
'; - } - else - { - $error_msg.=$db->db_last_error(); - } - - // Studenten holen die nicht im Verteiler sind - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) - SELECT uid,'TW_STD_M',now(),'mlists_generate' - FROM campus.vw_student - WHERE (aktiv AND geschlecht='m' - OR - (aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) - OR - (aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval)) - AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)='TW_STD_M')"; - if($result = $db->db_query($sql_query)) - { - echo $db->db_affected_rows($result).' Eintraege hinzugefuegt
'; - } - else - $error_msg.=$db->db_last_error(); - - - // *************************** - // TW_STD_W abgleichen. Alle weiblichen Studentinnen - flush(); - ob_flush(); - setGeneriert('TW_STD_W'); - echo 'TW_STD_W wird abgeglichen!
'; - - //Abbrecher bleiben noch 3 Wochen im Verteiler - //andere inaktive noch fuer 20 Wochen - //damit im CIS die Menuepunkte fuer Studierende richtig angezeigt werden - $sql_query="DELETE FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)='TW_STD_W' - AND uid not in - (SELECT uid FROM campus.vw_student WHERE aktiv AND geschlecht='w' - UNION - SELECT uid FROM campus.vw_student WHERE aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval - UNION - SELECT uid FROM campus.vw_student WHERE aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval - )"; - if($result = $db->db_query($sql_query)) - { - echo $db->db_affected_rows($result).' Eintraege entfernt
'; - } - else - { - $error_msg.=$db->db_last_error(); - } - - // Studenten holen die nicht im Verteiler sind - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) - SELECT uid,'TW_STD_W',now(),'mlists_generate' - FROM campus.vw_student - WHERE (aktiv AND geschlecht='w' - OR - (aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) - OR - (aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval)) - AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)='TW_STD_W')"; - if($result = $db->db_query($sql_query)) - { - echo $db->db_affected_rows($result).' Eintraege hinzugefuegt
'; - } - else - $error_msg.=$db->db_last_error(); - - - // *************************** - // TW_BAMA abgleichen - // Alle ordentlichen Bachelor- und Master-Studierenden - flush(); - ob_flush(); - setGeneriert('TW_BAMA'); - echo 'TW_BAMA wird abgeglichen!
'; - - //Abbrecher bleiben noch 3 Wochen im Verteiler - //andere inaktive noch fuer 20 Wochen - $sql_query="DELETE FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)='TW_BAMA' - AND uid NOT IN - ( - SELECT - uid - FROM - campus.vw_student - WHERE aktiv - AND studiengang_kz IN - (SELECT studiengang_kz FROM public.tbl_studiengang WHERE typ IN ('b','m')) - - UNION - - SELECT - uid - FROM - campus.vw_student - WHERE aktiv=false - AND studiengang_kz IN - (SELECT studiengang_kz FROM public.tbl_studiengang WHERE typ IN ('b','m')) - AND get_rolle_prestudent(vw_student.prestudent_id, null)='Absolvent' - AND updateaktivam>now()-'20 weeks'::interval - )"; - if($result = $db->db_query($sql_query)) - { - echo $db->db_affected_rows($result).' Eintraege entfernt
'; - } - else - { - $error_msg.=$db->db_last_error(); - } - - // Studenten holen die nicht im Verteiler sind - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) - SELECT uid,'TW_BAMA',now(),'mlists_generate' - FROM campus.vw_student - WHERE (aktiv - OR - (aktiv=false AND get_rolle_prestudent(vw_student.prestudent_id, null)='Absolvent' AND updateaktivam>now()-'20 weeks'::interval)) - AND studiengang_kz IN - (SELECT studiengang_kz FROM public.tbl_studiengang WHERE typ IN ('b','m')) - AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe - WHERE UPPER(gruppe_kurzbz)='TW_BAMA')"; - - if($result = $db->db_query($sql_query)) - { - echo $db->db_affected_rows($result).' Eintraege hinzugefuegt
'; - } - else - $error_msg.=$db->db_last_error(); - - - // ************************************************************** - // Moodle - LektorenVerteiler abgleichen - $mlist_name='moodle_lkt'; - setGeneriert($mlist_name); - // Lektoren holen die nicht mehr in den Verteiler gehoeren - echo $mlist_name.' wird abgeglichen!
'; - flush(); - ob_flush(); - - $sql_query = "SELECT distinct mitarbeiter_uid uid - from lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, addon.tbl_moodle ,campus.vw_lehreinheit - where tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id - and vw_lehreinheit.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz - and vw_lehreinheit.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id - and vw_lehreinheit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id - and vw_lehreinheit.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz - and vw_lehreinheit.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz - and ((tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id - and tbl_moodle.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz) - OR (tbl_lehreinheit.lehreinheit_id=tbl_moodle.lehreinheit_id)) - "; - $sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN ($sql_query)"; - if(!$result = $db->db_query($sql_querys)) - { - $error_msg.=$db->db_last_error().' '.$sql_querys; - } - - $sql_query.=" AND NOT EXISTS(SELECT 1 FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz=UPPER(".$db->db_add_param($mlist_name).") AND uid=vw_lehreinheit.mitarbeiter_uid)"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error().' '.$sql_query; - // Lektoren holen die nicht im Verteiler sind - echo '
'; - while($row = $db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - { - $error_msg.=$db->db_last_error().$sql_query; - exit($error_msg); - } - echo '-'; - flush(); - } - // ************************************************************** // Organisationseinheiten-Verteiler @@ -1385,8 +972,9 @@ $error_msg=''; } } echo '
'; + // ************************************************************** - // Studentenverteiler fuer die einzelnen Organisationseinheiten bei Mischformen + // Studierendenverteiler fuer die einzelnen Organisationseinheiten bei Mischformen echo '
Abgleich der Mischformverteiler'; $stsem = $stsem_obj->getNearest(); @@ -1481,7 +1069,6 @@ $error_msg=''; $error_msg.=$db->db_last_error().$sql_query; exit($error_msg); } - echo '-'; flush(); } } @@ -1489,406 +1076,43 @@ $error_msg=''; else $error_msg.=$db->db_last_error().' '.$sql_query; - // ************************************************************** - // Serviceabteilungen Verteiler abgleichen - $mlist_name='SERVICEABTEILUNGEN'; - $grp = new gruppe(); - if(!$grp->exists($mlist_name)) - { - $grp->gruppe_kurzbz = $mlist_name; - $grp->studiengang_kz = '0'; - $grp->bezeichnung = 'LeiterInnen der Serviceabt.'; - $grp->beschreibung = 'LeiterInnen der Serviceabteilungen'; - $grp->semester = '0'; - $grp->mailgrp = true; - $grp->sichtbar = true; - $grp->generiert = true; - $grp->aktiv = true; - $grp->lehre = false; - $grp->insertamum = date('Y-m-d H:i:s'); - $grp->insertvon = 'mlists_generate'; - - if(!$grp->save(true, false)) - die('Fehler: '.$grp->errormsg); - } - else - { - setGeneriert($mlist_name); - } - // Personen holen die nicht mehr in den Verteiler gehoeren - echo $mlist_name.' wird abgeglichen!
'; - flush(); - ob_flush(); - $sql_query="SELECT uid FROM public.tbl_benutzergruppe - WHERE - UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND - uid NOT IN (SELECT mitarbeiter_uid - FROM - public.tbl_mitarbeiter - JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_organisationseinheit USING(oe_kurzbz) - WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung') AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - AND tbl_organisationseinheit.organisationseinheittyp_kurzbz='Abteilung')"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - // Personen holen die nicht im Verteiler sind - echo '
'; - $sql_query="SELECT distinct mitarbeiter_uid - FROM - public.tbl_mitarbeiter - JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_organisationseinheit USING(oe_kurzbz) - WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung') AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - AND tbl_organisationseinheit.organisationseinheittyp_kurzbz='Abteilung' - AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')"; - if(!($result = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error(); - while($row=$db->db_fetch_object($result)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->mitarbeiter_uid','".strtoupper($mlist_name)."',null, null, null, now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - $error_msg.=$db->db_last_error().$sql_query; - echo '-'; - flush(); - } - - // ************************************************************** - // Mitarbeiter Sprachen Institut - $mlist_name='SPRACHEN'; - - $grp = new gruppe(); - if(!$grp->exists($mlist_name)) - { - $grp->gruppe_kurzbz = $mlist_name; - $grp->studiengang_kz = '0'; - $grp->bezeichnung = 'sprachen'; - $grp->beschreibung = 'Mitarbeiter des Instituts Sprachen und Kulturwissenschaften'; - $grp->semester = '0'; - $grp->mailgrp = true; - $grp->sichtbar = true; - $grp->generiert = true; - $grp->aktiv = true; - $grp->lehre = true; - $grp->insertamum = date('Y-m-d H:i:s'); - $grp->insertvon = 'mlists_generate'; - - if(!$grp->save(true, false)) - die('Fehler: '.$grp->errormsg); - } - else - { - setGeneriert($mlist_name); - } - - - // Lektoren holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!'; - flush(); - - $sql_query = "SELECT distinct uid - FROM - public.tbl_benutzer - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) - WHERE oe_kurzbz in('Sprachen') - AND tbl_benutzer.aktiv - AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) - AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; - - $sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)"; - if(!$db->db_query($sql_querys)) - { - $error_msg.=$db->db_last_error().' '.$sql_querys; - } - - $sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')"; - if(!($result_oe = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error().' '.$sql_query; - // Lektoren holen die nicht im Verteiler sind - while($row_oe = $db->db_fetch_object($result_oe)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - { - $error_msg.=$db->db_last_error().$sql_query; - } - } - - // ************************************************************** - //Mitarbeiter sprachen Institut - $mlist_name='HUMANITIES'; - - $grp = new gruppe(); - if(!$grp->exists($mlist_name)) - { - $grp->gruppe_kurzbz = $mlist_name; - $grp->studiengang_kz = '0'; - $grp->bezeichnung = 'humanities'; - $grp->beschreibung = 'Mitarbeiter des Instituts Sprachen und Kulturwissenschaften'; - $grp->semester = '0'; - $grp->mailgrp = true; - $grp->sichtbar = true; - $grp->generiert = true; - $grp->aktiv = true; - $grp->lehre = true; - $grp->insertamum = date('Y-m-d H:i:s'); - $grp->insertvon = 'mlists_generate'; - - if(!$grp->save(true, false)) - die('Fehler: '.$grp->errormsg); - } - else - { - setGeneriert($mlist_name); - } - - - // Lektoren holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!'; - flush(); - - $sql_query = "SELECT distinct uid - FROM - public.tbl_benutzer - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) - WHERE oe_kurzbz in('Sprachen') - AND tbl_benutzer.aktiv - AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) - AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; - - $sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)"; - if(!$db->db_query($sql_querys)) - { - $error_msg.=$db->db_last_error().' '.$sql_querys; - } - - $sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')"; - if(!($result_oe = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error().' '.$sql_query; - // Lektoren holen die nicht im Verteiler sind - while($row_oe = $db->db_fetch_object($result_oe)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - { - $error_msg.=$db->db_last_error().$sql_query; - } - } - - // ************************************************************** - //Kollegiumsverteiler - $mlist_name='KOLLEGIUM'; - - $grp = new gruppe(); - setGeneriert($mlist_name); - - // Personen holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!'; - flush(); - - $sql_query = "SELECT distinct uid - FROM - public.tbl_benutzer - JOIN public.tbl_benutzerfunktion USING(uid) - WHERE funktion_kurzbz='kollegium' - AND tbl_benutzer.aktiv - AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) - AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; - - $sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)"; - if(!$db->db_query($sql_querys)) - { - $error_msg.=$db->db_last_error().' '.$sql_querys; - } - - $sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')"; - if(!($result_oe = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error().' '.$sql_query; - // Personen holen die nicht im Verteiler sind - while($row_oe = $db->db_fetch_object($result_oe)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - { - $error_msg.=$db->db_last_error().$sql_query; - } - } - - // ************************************************************** - //Akademisches Managementteam - $mlist_name='TW_MANAGEMENTTEAM'; - - $grp = new gruppe(); - setGeneriert($mlist_name); - - // Personen holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!'; - flush(); - - $sql_query = "SELECT distinct uid - FROM - public.tbl_benutzer - JOIN public.tbl_benutzerfunktion USING(uid) - WHERE funktion_kurzbz='managementteam' - AND tbl_benutzer.aktiv - AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) - AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; - - $sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)"; - if(!$db->db_query($sql_querys)) - { - $error_msg.=$db->db_last_error().' '.$sql_querys; - } - - $sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')"; - if(!($result_oe = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error().' '.$sql_query; - // Personen holen die nicht im Verteiler sind - while($row_oe = $db->db_fetch_object($result_oe)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - { - $error_msg.=$db->db_last_error().$sql_query; - } - } - - // ************************************************************** - // FUE Mitarbeiter - $mlist_name='TW_FUE'; - - $grp = new gruppe(); - setGeneriert($mlist_name); - - // Personen holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!'; - flush(); - - $sql_query = "SELECT distinct uid - FROM - public.tbl_benutzer - JOIN public.tbl_benutzerfunktion USING(uid) - WHERE funktion_kurzbz='fue' - AND tbl_benutzer.aktiv - AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) - AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; - - $sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)"; - if(!$db->db_query($sql_querys)) - { - $error_msg.=$db->db_last_error().' '.$sql_querys; - } - - $sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')"; - if(!($result_oe = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error().' '.$sql_query; - // Personen holen die nicht im Verteiler sind - while($row_oe = $db->db_fetch_object($result_oe)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - { - $error_msg.=$db->db_last_error().$sql_query; - } - } - - // ************************************************************** - // FUE weibliche Mitarbeiterinnen - $mlist_name='TW_FUE_FRAUEN'; - - $grp = new gruppe(); - setGeneriert($mlist_name); - - // Personen holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!'; - flush(); - - $sql_query = "SELECT distinct uid - FROM - public.tbl_benutzer - JOIN public.tbl_benutzerfunktion USING(uid) - JOIN public.tbl_person USING (person_id) - WHERE funktion_kurzbz='fue' - AND geschlecht='w' - AND tbl_benutzer.aktiv - AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) - AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; - - $sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)"; - if(!$db->db_query($sql_querys)) - { - $error_msg.=$db->db_last_error().' '.$sql_querys; - } - - $sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')"; - if(!($result_oe = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error().' '.$sql_query; - // Personen holen die nicht im Verteiler sind - while($row_oe = $db->db_fetch_object($result_oe)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - { - $error_msg.=$db->db_last_error().$sql_query; - } - } - - // ************************************************************** - // Alle MA mit Funktion Leitung oder stvLeitung oder gfLtg - $mlist_name='TW_LEITUNG'; - - $grp = new gruppe(); - setGeneriert($mlist_name); - - // Personen holen die nicht mehr in den Verteiler gehoeren - echo '
'.$mlist_name.' wird abgeglichen!'; - flush(); - - $sql_query = "SELECT DISTINCT uid FROM tbl_person JOIN tbl_benutzer - USING (person_id) JOIN tbl_benutzerfunktion USING (uid) - WHERE funktion_kurzbz in('Leitung','stvLtg','gLtg') - AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null) - AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)"; - - $sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)"; - if(!$db->db_query($sql_querys)) - { - $error_msg.=$db->db_last_error().' '.$sql_querys; - } - - $sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')"; - if(!($result_oe = $db->db_query($sql_query))) - $error_msg.=$db->db_last_error().' '.$sql_query; - // Personen holen die nicht im Verteiler sind - while($row_oe = $db->db_fetch_object($result_oe)) - { - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')"; - if(!$db->db_query($sql_query)) - { - $error_msg.=$db->db_last_error().$sql_query; - } - } - echo $error_msg; + + // Send Mail to admin if error occurs + if ($error_msg != '') + { + $mailtext = ' + + Im Script mlists_generate.php sind folgende Fehler aufgetreten:

'; + $mailtext .= $error_msg; + $mailtext = wordwrap($mailtext,70); + $mail = new mail(MAIL_ADMIN, 'no-reply', 'ERROR mlists_generate.php', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Inhalt vollständig darzustellen.'); + //$mail->setBCCRecievers('kindlm@technikum-wien.at'); + $mail->setHTMLContent($mailtext); + $mail->send(); + } ?>

- Die Mailinglisten wurden abgeglichen.
-

+ Die Mailinglisten wurden abgeglichen.
+

From 6c920c9e3e972015fc0f339d4f0b5373d093a543 Mon Sep 17 00:00:00 2001 From: kindlm Date: Wed, 13 Sep 2017 14:04:04 +0200 Subject: [PATCH 5/7] FAS BCC-Mailversand mit ctrlKey MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wenn im FAS mit rechter Maustaste bei "E-Mail senden intern" die Strg-Taste gedrückt wird, werden die Mails mit BCC verschickt. --- content/student/studentenoverlay.xul.php | 2 +- content/student/studentoverlay.js.php | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/content/student/studentenoverlay.xul.php b/content/student/studentenoverlay.xul.php index a68743814..6e6fc6680 100644 --- a/content/student/studentenoverlay.xul.php +++ b/content/student/studentenoverlay.xul.php @@ -73,7 +73,7 @@ else From 84eba8f06ebdb19e0c1d8fc14d54b4ca49d7f233 Mon Sep 17 00:00:00 2001 From: kindlm Date: Wed, 13 Sep 2017 14:22:01 +0200 Subject: [PATCH 7/7] Wochenplan: Anzeige der Gruppen wenn lva Wenn der Parameter "lva" gesetzt ist, werden im Wochenraster auch die Gruppenbezeichnungen angezeigt --- include/wochenplan.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index 208b36f05..6e89e174d 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -909,7 +909,7 @@ class wochenplan extends basis_db echo ''; } echo '
'; - if ($this->type=='ort' || $this->type=='lektor' || $this->type=='verband') + if ($this->type=='ort' || $this->type=='lektor' || $this->type=='verband' || $this->type=='lva') { $uEinheit['lehrverband']=array_unique($uEinheit['lehrverband']); foreach($uEinheit['lehrverband'] as $ueLehrverband)