From a09a892b0b7f3003e64d129608a83df160ec8032 Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 14 Jun 2016 17:12:41 +0200 Subject: [PATCH] =?UTF-8?q?Automatische=20Gruppe=20f=C3=BCr=20alle=20Leitu?= =?UTF-8?q?ngen=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/mlists/mlists_generate.php | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/system/mlists/mlists_generate.php b/system/mlists/mlists_generate.php index 56465f353..211431324 100644 --- a/system/mlists/mlists_generate.php +++ b/system/mlists/mlists_generate.php @@ -1702,6 +1702,42 @@ $error_msg=''; $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;