diff --git a/system/mlists/mlists_generate.php b/system/mlists/mlists_generate.php
index df3e07431..218756c87 100644
--- a/system/mlists/mlists_generate.php
+++ b/system/mlists/mlists_generate.php
@@ -49,7 +49,7 @@ $error_msg='';
db_query($sql_query)))
@@ -58,13 +58,13 @@ $error_msg='';
$studiensemester=$row->studiensemester_kurzbz;
else
$error_msg.= $db->db_last_error().$sql_query;
-
+
$stsem_obj = new studiensemester();
-
+
/*
if(mb_substr($studiensemester,0,1)=='W')
$stsem2 = $stsem_obj->getPreviousFrom($studiensemester);
- else
+ else
$stsem2 = $stsem_obj->getNextFrom($studiensemester);
*/
$stsem2 = $stsem_obj->getNearestFrom($studiensemester);
@@ -75,7 +75,7 @@ $error_msg='';
$qry = "UPDATE public.tbl_gruppe SET generiert=true WHERE UPPER(gruppe_kurzbz)=UPPER('".addslashes($gruppe)."')";
$db->db_query($qry);
}
-
+
// **************************************************************
// MitarbeiterInnenVerteiler abgleichen
$mlist_name='tw_ma';
@@ -84,7 +84,7 @@ $error_msg='';
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)";
-
+
if(!($result = $db->db_query($sql_query)))
$error_msg.=$db->db_last_error();
@@ -118,7 +118,7 @@ $error_msg='';
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)";
-
+
if(!($result = $db->db_query($sql_query)))
$error_msg.=$db->db_last_error();
@@ -143,7 +143,7 @@ $error_msg='';
echo '-';
flush();
}
-
+
// **************************************************************
// LektorenVerteiler abgleichen
$mlist_name='tw_lkt';
@@ -152,7 +152,7 @@ $error_msg='';
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();
@@ -185,13 +185,13 @@ $error_msg='';
// 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)
+ $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()))";
@@ -207,18 +207,18 @@ $error_msg='';
}
// 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
+ $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
+ 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();
@@ -230,7 +230,7 @@ $error_msg='';
echo '-';
flush();
}
-
+
// **************************************************************
// Studiengangsleiter-Verteiler abgleichen
// Es werden auch StellvertreterInnen hinzugefügt
@@ -239,14 +239,14 @@ $error_msg='';
// 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)
+ $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
@@ -264,15 +264,15 @@ $error_msg='';
}
// 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)
+ $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
+ 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'))
@@ -287,7 +287,7 @@ $error_msg='';
echo '-';
flush();
}
-
+
// **************************************************************
// Verteiler fuer alle fixAngestellten abgleichen
$mlist_name='tw_fix';
@@ -422,10 +422,10 @@ $error_msg='';
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
(studiensemester_kurzbz='$studiensemester' OR
studiensemester_kurzbz='$stsem2') AND
- mitarbeiter_uid NOT LIKE '\\\\_%' AND tbl_studiengang.studiengang_kz!=0 AND
+ mitarbeiter_uid NOT LIKE '\\_%' AND tbl_studiengang.studiengang_kz!=0 AND
(mitarbeiter_uid,UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt')) NOT IN
(SELECT uid, UPPER(gruppe_kurzbz) FROM public.tbl_benutzergruppe
- WHERE gruppe_kurzbz LIKE '%\\\\_LKT' AND UPPER(gruppe_kurzbz)!=UPPER('tw_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('tw_fix_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('tw_ext_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('moodle_lkt'))";
+ WHERE gruppe_kurzbz LIKE '%\\_LKT' AND UPPER(gruppe_kurzbz)!=UPPER('tw_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('tw_fix_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('tw_ext_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('moodle_lkt'))";
//echo $sql_query;
if(!($result=$db->db_query($sql_query)))
$error_msg.=$db->db_last_error().$sql_query;
@@ -448,7 +448,7 @@ $error_msg='';
}
else
echo "
Fehler:$sql_query";
-
+
setGeneriert($row->mlist_name);
$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))
@@ -456,13 +456,13 @@ $error_msg='';
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))
@@ -479,16 +479,16 @@ $error_msg='';
}
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'
+ $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
+ (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();
@@ -504,17 +504,17 @@ $error_msg='';
// Studierende holen, die nicht im Verteiler sind
echo '
';
$sql_query="SELECT uid
- FROM
- public.tbl_benutzerfunktion
+ FROM
+ public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING(uid)
- WHERE
- funktion_kurzbz='hsv'
- AND tbl_benutzer.aktiv AND
+ 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 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();
@@ -533,20 +533,20 @@ $error_msg='';
// **************************************************************
// StudienvertretungenVerteiler abgleichen
-
+
echo 'Studienvertretungsverteiler werden abgeglichen!
';
flush();
-
+
//Verteiler anlegen
- $sql_query="SELECT DISTINCT
+ $sql_query="SELECT DISTINCT
UPPER(typ||kurzbz)||'_'||UPPER(funktion_kurzbz) AS gruppe ,
UPPER(typ||kurzbz) AS studiengang,
tbl_studiengang.studiengang_kz
- FROM public.tbl_benutzerfunktion
- JOIN public.tbl_studiengang USING (oe_kurzbz)
+ FROM public.tbl_benutzerfunktion
+ JOIN public.tbl_studiengang USING (oe_kurzbz)
WHERE funktion_kurzbz='stdv'
AND UPPER(typ||kurzbz)||'_'||UPPER(funktion_kurzbz) NOT IN (SELECT gruppe_kurzbz FROM public.tbl_gruppe)
- AND tbl_studiengang.aktiv
+ AND tbl_studiengang.aktiv
AND tbl_studiengang.studiengang_kz!=0";
if($res = $db->db_query($sql_query))
{
@@ -563,17 +563,17 @@ $error_msg='';
}
}
}
-
+
// 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 LIKE '%_STDV'
+ $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)
+ (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();
@@ -589,19 +589,19 @@ $error_msg='';
// Studierende holen, die nicht im Verteiler sind
echo '
';
$sql_query="SELECT uid, tbl_gruppe.gruppe_kurzbz
- FROM
- public.tbl_benutzerfunktion
+ FROM
+ public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_studiengang USING(oe_kurzbz)
JOIN public.tbl_gruppe ON(tbl_gruppe.studiengang_kz=tbl_studiengang.studiengang_kz AND gruppe_kurzbz like '%_STDV')
- WHERE
- funktion_kurzbz='stdv'
- AND tbl_benutzer.aktiv AND
+ 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 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();
@@ -617,9 +617,9 @@ $error_msg='';
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))
@@ -636,14 +636,14 @@ $error_msg='';
}
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'
+ $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
+ 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())
)";
@@ -657,14 +657,14 @@ $error_msg='';
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
+ 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();
@@ -676,23 +676,23 @@ $error_msg='';
echo '-';
flush();
}
-
+
// **************************************************************
// Verteiler Jahrgangsvertretung abgleichen
-
+
echo 'Jahrgangsvertretungsverteiler werden abgeglichen!
';
flush();
-
+
//Verteiler der einzelnen Studiengaenge anlegen
- $sql_query="SELECT DISTINCT
+ $sql_query="SELECT DISTINCT
UPPER(typ||kurzbz)||'_'||UPPER(funktion_kurzbz) AS gruppe ,
UPPER(typ||kurzbz) AS studiengang,
tbl_studiengang.studiengang_kz
- FROM public.tbl_benutzerfunktion
- JOIN public.tbl_studiengang USING (oe_kurzbz)
+ FROM public.tbl_benutzerfunktion
+ JOIN public.tbl_studiengang USING (oe_kurzbz)
WHERE funktion_kurzbz='jgv'
AND UPPER(typ||kurzbz)||'_'||UPPER(funktion_kurzbz) NOT IN (SELECT gruppe_kurzbz FROM public.tbl_gruppe)
- AND tbl_studiengang.aktiv
+ AND tbl_studiengang.aktiv
AND tbl_studiengang.studiengang_kz!=0";
if($res = $db->db_query($sql_query))
{
@@ -709,17 +709,17 @@ $error_msg='';
}
}
}
-
+
// 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 LIKE '%_JGV'
+ $sql_query="SELECT gruppe_kurzbz, uid
+ FROM public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz)
+ WHERE gruppe_kurzbz LIKE '%_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())
- AND (SELECT studiengang_kz FROM public.tbl_studiengang
- WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1)=tbl_gruppe.studiengang_kz)
+ (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();
@@ -735,19 +735,19 @@ $error_msg='';
// Studierende holen, die noch nicht im Verteiler sind
echo '
';
$sql_query="SELECT uid, tbl_gruppe.gruppe_kurzbz
- FROM
- public.tbl_benutzerfunktion
+ FROM
+ public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_studiengang USING(oe_kurzbz)
JOIN public.tbl_gruppe ON(tbl_gruppe.studiengang_kz=tbl_studiengang.studiengang_kz AND gruppe_kurzbz like '%_JGV')
- WHERE
- funktion_kurzbz='jgv'
- AND tbl_benutzer.aktiv AND
+ 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 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 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 '%_JGV')";
if(!($result = $db->db_query($sql_query)))
$error_msg.=$db->db_last_error();
@@ -763,9 +763,9 @@ $error_msg='';
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))
@@ -786,10 +786,10 @@ $error_msg='';
flush();
ob_flush();
setGeneriert('TW_JGV');
- $sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe
- WHERE gruppe_kurzbz='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
+ 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())
)";
@@ -803,14 +803,14 @@ $error_msg='';
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
+ 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();
@@ -822,7 +822,7 @@ $error_msg='';
echo '-';
flush();
}
-
+
// ***************************
// TW_STD abgleichen
flush();
@@ -831,10 +831,10 @@ $error_msg='';
//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
+ //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
@@ -849,17 +849,17 @@ $error_msg='';
{
$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
+ $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
+ AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe
WHERE UPPER(gruppe_kurzbz)='TW_STD')";
if($result = $db->db_query($sql_query))
{
@@ -867,8 +867,8 @@ $error_msg='';
}
else
$error_msg.=$db->db_last_error();
-
-
+
+
// ***************************
// TW_STD_M abgleichen. Alle maennlichen Studenten
flush();
@@ -878,10 +878,10 @@ $error_msg='';
//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
+ //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
@@ -896,17 +896,17 @@ $error_msg='';
{
$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
+ $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
+ 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
+ AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe
WHERE UPPER(gruppe_kurzbz)='TW_STD_M')";
if($result = $db->db_query($sql_query))
{
@@ -914,8 +914,8 @@ $error_msg='';
}
else
$error_msg.=$db->db_last_error();
-
-
+
+
// ***************************
// TW_STD_W abgleichen. Alle weiblichen Studentinnen
flush();
@@ -925,10 +925,10 @@ $error_msg='';
//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
+ //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
@@ -943,17 +943,17 @@ $error_msg='';
{
$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
+ $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
+ 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
+ AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe
WHERE UPPER(gruppe_kurzbz)='TW_STD_W')";
if($result = $db->db_query($sql_query))
{
@@ -961,8 +961,8 @@ $error_msg='';
}
else
$error_msg.=$db->db_last_error();
-
-
+
+
// **************************************************************
// Moodle - LektorenVerteiler abgleichen
$mlist_name='moodle_lkt';
@@ -971,17 +971,17 @@ $error_msg='';
echo $mlist_name.' wird abgeglichen!
';
flush();
ob_flush();
-
- $sql_query = "SELECT distinct mitarbeiter_uid uid
- from lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_moodle ,campus.vw_lehreinheit
- where tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
+
+ $sql_query = "SELECT distinct mitarbeiter_uid uid
+ from lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.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)
+ 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)";
@@ -989,7 +989,7 @@ $error_msg='';
{
$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;
@@ -1002,14 +1002,14 @@ $error_msg='';
{
$error_msg.=$db->db_last_error().$sql_query;
exit($error_msg);
- }
+ }
echo '-';
flush();
- }
-
+ }
+
// **************************************************************
// Organisationseinheiten-Verteiler
-
+
/*
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE aktiv AND mailverteiler";
if($result = $db->db_query($qry))
@@ -1033,37 +1033,37 @@ $error_msg='';
$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
+ else
{
setGeneriert($mlist_name);
}
-
+
$oe = new organisationseinheit();
$childs = $oe->getChilds($row->oe_kurzbz);
-
+
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '
'.$mlist_name.' wird abgeglichen!
';
flush();
-
+
$oes='';
foreach ($childs as $oe_kurzbz)
{
if($oes!='')
$oes.=',';
-
+
$oes .= "'".addslashes($oe_kurzbz)."'";
}
-
+
$sql_query = "SELECT distinct uid FROM public.tbl_benutzer JOIN public.tbl_benutzerfunktion USING(uid)
- WHERE oe_kurzbz in($oes)
- AND tbl_benutzer.aktiv
+ WHERE oe_kurzbz in($oes)
+ 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))
{
@@ -1071,7 +1071,7 @@ $error_msg='';
echo '-';
flush();
}
-
+
$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;
@@ -1096,7 +1096,7 @@ $error_msg='';
echo '
Abgleich der Institutsverteiler
';
//Externe Mitarbeiter
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE aktiv AND mailverteiler AND organisationseinheittyp_kurzbz='Institut'";
-
+
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
@@ -1118,47 +1118,47 @@ $error_msg='';
$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
+ else
{
setGeneriert($mlist_name);
}
-
+
$oe = new organisationseinheit();
$childs = $oe->getChilds($row->oe_kurzbz);
-
+
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '
'.$mlist_name.' wird abgeglichen!';
flush();
-
+
$oes='';
foreach ($childs as $oe_kurzbz)
{
if($oes!='')
$oes.=',';
-
+
$oes .= "'".addslashes($oe_kurzbz)."'";
}
-
- $sql_query = "SELECT distinct uid
- FROM
- public.tbl_benutzer
+
+ $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($oes)
+ WHERE oe_kurzbz in($oes)
AND tbl_benutzer.aktiv AND NOT fixangestellt
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;
@@ -1174,10 +1174,10 @@ $error_msg='';
}
}
}
-
+
//Fixe Mitarbeiter
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE aktiv AND mailverteiler AND organisationseinheittyp_kurzbz='Institut'";
-
+
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
@@ -1199,47 +1199,47 @@ $error_msg='';
$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
+ else
{
setGeneriert($mlist_name);
}
-
+
$oe = new organisationseinheit();
$childs = $oe->getChilds($row->oe_kurzbz);
-
+
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '
'.$mlist_name.' wird abgeglichen!';
flush();
-
+
$oes='';
foreach ($childs as $oe_kurzbz)
{
if($oes!='')
$oes.=',';
-
+
$oes .= "'".addslashes($oe_kurzbz)."'";
}
-
- $sql_query = "SELECT distinct uid
- FROM
- public.tbl_benutzer
+
+ $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($oes)
+ WHERE oe_kurzbz in($oes)
AND tbl_benutzer.aktiv AND fixangestellt
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;
@@ -1259,14 +1259,14 @@ $error_msg='';
// Studentenverteiler fuer die einzelnen Organisationseinheiten bei Mischformen
echo '
Abgleich der Mischformverteiler';
$stsem = $stsem_obj->getNearest();
-
+
$sql_query = "
- SELECT
- tbl_prestudentstatus.orgform_kurzbz,
- tbl_studiengang.studiengang_kz,
- tbl_studiengang.typ,
- tbl_studiengang.kurzbz
- FROM
+ SELECT
+ tbl_prestudentstatus.orgform_kurzbz,
+ tbl_studiengang.studiengang_kz,
+ tbl_studiengang.typ,
+ tbl_studiengang.kurzbz
+ FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
@@ -1278,16 +1278,16 @@ $error_msg='';
GROUP BY
tbl_studiengang.studiengang_kz, tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.typ, tbl_studiengang.kurzbz
";
-
+
if($result = $db->db_query($sql_query))
{
echo '
';
-
+
while($row = $db->db_fetch_object($result))
{
$mlist_name=strtoupper($row->typ.$row->kurzbz.'_'.$row->orgform_kurzbz);
echo $mlist_name.'
';
-
+
//Gruppe anlegen falls noch nicht vorhanden
$grp = new gruppe();
if(!$grp->exists($mlist_name))
@@ -1304,45 +1304,45 @@ $error_msg='';
$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
+ else
{
setGeneriert($mlist_name);
}
-
+
$sql_query="
- SELECT
+ SELECT
distinct student_uid
- FROM
- public.tbl_student
+ FROM
+ public.tbl_student
JOIN public.tbl_benutzer ON(uid=student_uid)
WHERE
tbl_benutzer.aktiv AND
'".addslashes($row->orgform_kurzbz)."'=
- (SELECT orgform_kurzbz
- FROM public.tbl_prestudentstatus
- WHERE
- prestudent_id=tbl_student.prestudent_id
- AND tbl_prestudentstatus.studiensemester_kurzbz='".addslashes($stsem)."'
- ORDER BY datum desc, insertamum desc, ext_id desc LIMIT 1)
+ (SELECT orgform_kurzbz
+ FROM public.tbl_prestudentstatus
+ WHERE
+ prestudent_id=tbl_student.prestudent_id
+ AND tbl_prestudentstatus.studiensemester_kurzbz='".addslashes($stsem)."'
+ ORDER BY datum desc, insertamum desc, ext_id desc LIMIT 1)
AND tbl_student.studiengang_kz='".addslashes($row->studiengang_kz)."'";
-
+
//Personen entfernen die nicht mehr in den Verteiler gehoeren
$qry = "DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".$mlist_name."' AND uid NOT IN(".$sql_query.");";
if(!$db->db_query($qry))
{
$error_msg.="Fehler bei Qry:".$qry;
}
-
+
//Fehlende Personen hinzufuegen
$sql_query.=" AND student_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;
-
-
+
+
while($row_oe = $db->db_fetch_object($result_oe))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->student_uid','".$mlist_name."', now(), 'mlists_generate')";
@@ -1354,11 +1354,11 @@ $error_msg='';
echo '-';
flush();
}
- }
+ }
}
- else
+ else
$error_msg.=$db->db_last_error().' '.$sql_query;
-
+
// **************************************************************
// Serviceabteilungen Verteiler abgleichen
$mlist_name='SERVICEABTEILUNGEN';
@@ -1377,11 +1377,11 @@ $error_msg='';
$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
+ else
{
setGeneriert($mlist_name);
}
@@ -1389,14 +1389,14 @@ $error_msg='';
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)
+ $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
@@ -1414,11 +1414,11 @@ $error_msg='';
}
// 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)
+ $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
@@ -1435,7 +1435,7 @@ $error_msg='';
echo '-';
flush();
}
-
+
// **************************************************************
// Mitarbeiter Sprachen Institut
$mlist_name='SPRACHEN';
@@ -1455,36 +1455,36 @@ $error_msg='';
$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
+ 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
+
+ $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')
+ 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;
@@ -1497,7 +1497,7 @@ $error_msg='';
$error_msg.=$db->db_last_error().$sql_query;
}
}
-
+
// **************************************************************
//Mitarbeiter sprachen Institut
$mlist_name='HUMANITIES';
@@ -1517,36 +1517,36 @@ $error_msg='';
$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
+ 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
+
+ $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')
+ 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;
@@ -1559,33 +1559,33 @@ $error_msg='';
$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
+
+ $sql_query = "SELECT distinct uid
+ FROM
+ public.tbl_benutzer
JOIN public.tbl_benutzerfunktion USING(uid)
- WHERE funktion_kurzbz='kollegium'
+ 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;
@@ -1598,18 +1598,18 @@ $error_msg='';
$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
@@ -1618,13 +1618,13 @@ $error_msg='';
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;
@@ -1637,33 +1637,33 @@ $error_msg='';
$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
+
+ $sql_query = "SELECT distinct uid
+ FROM
+ public.tbl_benutzer
JOIN public.tbl_benutzerfunktion USING(uid)
- WHERE funktion_kurzbz='fue'
+ 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;
@@ -1676,35 +1676,35 @@ $error_msg='';
$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
+
+ $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'
+ 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;
@@ -1724,23 +1724,23 @@ $error_msg='';
$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;
@@ -1753,7 +1753,7 @@ $error_msg='';
$error_msg.=$db->db_last_error().$sql_query;
}
}
-
+
echo $error_msg;
?>