From f441519a7d2eeb1fe500988461ffedfdc6f0822c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 18 Oct 2010 14:02:20 +0000 Subject: [PATCH] Mailverteiler Studentenvertreter - inaktive Personen kommen nicht mehr in den Verteiler --- system/mlists/mlists_generate.php | 40 +++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/system/mlists/mlists_generate.php b/system/mlists/mlists_generate.php index 01d3dff71..e60c193a7 100644 --- a/system/mlists/mlists_generate.php +++ b/system/mlists/mlists_generate.php @@ -386,7 +386,16 @@ $error_msg=''; echo 'Studentenvertreterverteiler werden abgeglichen!
'; flush(); - $sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE gruppe_kurzbz LIKE '%_STDV' AND uid not in (SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND (SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1)=tbl_gruppe.studiengang_kz) AND tbl_gruppe.studiengang_kz!='0'"; + $sql_query="SELECT gruppe_kurzbz, uid + FROM public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) + WHERE gruppe_kurzbz LIKE '%_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()) + AND (SELECT studiengang_kz FROM public.tbl_studiengang + WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1)=tbl_gruppe.studiengang_kz) + AND tbl_gruppe.studiengang_kz!='0'"; if(!($result=$db->db_query($sql_query))) $error_msg.=$db->db_last_error(); while($row = $db->db_fetch_object($result)) @@ -400,7 +409,19 @@ $error_msg=''; // Studenten holen die nicht im Verteiler sind echo '
'; - $sql_query="SELECT uid, (SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND gruppe_kurzbz like '%_STDV') as gruppe_kurzbz FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' 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 Like '%_STDV')"; + $sql_query="SELECT uid, + (SELECT gruppe_kurzbz FROM public.tbl_gruppe + WHERE studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang + WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) + AND gruppe_kurzbz like '%_STDV') as gruppe_kurzbz + 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 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 Like '%_STDV')"; if(!($result = $db->db_query($sql_query))) $error_msg.=$db->db_last_error(); while($row = $db->db_fetch_object($result)) @@ -419,7 +440,13 @@ $error_msg=''; //tw_stdv abgleichen 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 WHERE funktion_kurzbz='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)) @@ -433,7 +460,12 @@ $error_msg=''; // Studenten holen die nicht im Verteiler sind echo '
'; - $sql_query="SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)= UPPER('TW_STDV'))"; + $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))