+
+
\ No newline at end of file
diff --git a/admin/mlists/mlists_generate.php b/admin/mlists/mlists_generate.php
new file mode 100644
index 000000000..174f41bac
--- /dev/null
+++ b/admin/mlists/mlists_generate.php
@@ -0,0 +1,217 @@
+
+
+
+
+ Mailinglisten
+
+
+
+
+
MailingListen abgleich
+ studiensemester_kurzbz;
+ else
+ $error_msg.=pg_errormessage($conn).$sql_query;
+
+ // **************************************************************
+ // LektorenVerteiler abgleichen
+ $mlist_name='tw_lkt';
+ // Lektoren holen die nicht mehr in den Verteiler gehoeren
+ echo $mlist_name.' wird abgeglichen! ';
+ flush();
+ $sql_query="SELECT uid FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name' AND uid NOT IN (SELECT uid FROM tbl_mitarbeiter WHERE lektor)";
+ if(!($result=pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn);
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="DELETE FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name' AND uid='$row->uid'";
+ if(!pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+ // Lektoren holen die nicht im Verteiler sind
+ echo ' ';
+ $sql_query="SELECT uid FROM tbl_mitarbeiter WHERE lektor AND uid NOT LIKE '\\\\_%' AND uid NOT IN (SELECT uid FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name')";
+ if(!($result=pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn);
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="INSERT INTO tbl_personmailgrp VALUES ('$row->uid','$mlist_name', now(), 'mlists_generate.php')";
+ if(!pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+
+ // **************************************************************
+ // Verteiler fuer alle fixAngestellten abgleichen
+ $mlist_name='tw_fix';
+ // Lektoren holen die nicht mehr in den Verteiler gehoeren
+ echo ' '.$mlist_name.' wird abgeglichen! ';
+ flush();
+ $sql_query="SELECT uid FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name' AND uid NOT IN (SELECT uid FROM tbl_mitarbeiter WHERE fixangestellt)";
+ if(!($result=pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn);
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="DELETE FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name' AND uid='$row->uid'";
+ if(!pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+ // Lektoren holen die nicht im Verteiler sind
+ echo ' ';
+ $sql_query="SELECT uid FROM tbl_mitarbeiter WHERE fixangestellt AND uid NOT LIKE '\\\\_%' AND uid NOT IN (SELECT uid FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name')";
+ if(!($result=pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn);
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="INSERT INTO tbl_personmailgrp VALUES ('$row->uid','$mlist_name', now(), 'mlists_generate.php')";
+ if(!pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+
+ // **************************************************************
+ // Verteiler fuer alle fixen Lektoren abgleichen
+ $mlist_name='tw_fix_lkt';
+ // Lektoren holen die nicht mehr in den Verteiler gehoeren
+ echo ' '.$mlist_name.' wird abgeglichen! ';
+ flush();
+ $sql_query="SELECT uid FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name' AND uid NOT IN (SELECT uid FROM tbl_mitarbeiter WHERE fixangestellt AND lektor)";
+ if(!($result=pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn);
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="DELETE FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name' AND uid='$row->uid'";
+ if(!pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+ // Lektoren holen die nicht im Verteiler sind
+ echo ' ';
+ $sql_query="SELECT uid FROM tbl_mitarbeiter WHERE fixangestellt AND lektor AND uid NOT LIKE '\\\\_%' AND uid NOT IN (SELECT uid FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$mlist_name')";
+ if(!($result=pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn);
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="INSERT INTO tbl_personmailgrp VALUES ('$row->uid','$mlist_name', now(), 'mlists_generate.php')";
+ if(!pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+
+
+ // **************************************************************
+ // Lektoren-Verteiler innerhalb der Studiengaenge abgleichen
+ // Lektoren holen die nicht mehr in den Verteiler gehoeren
+ echo ' Lektoren-Verteiler der Studiengaenge werden abgeglichen! ';
+ flush();
+ $sql_query="SELECT uid,mailgrp_kurzbz FROM tbl_personmailgrp
+ WHERE mailgrp_kurzbz LIKE '%\\\\_lkt' AND mailgrp_kurzbz!='tw_lkt' AND mailgrp_kurzbz!='tw_fix_lkt'
+ AND (uid,mailgrp_kurzbz) NOT IN
+ (SELECT lektor,lower(kurzbz || '_lkt')
+ FROM tbl_lehrveranstaltung NATURAL JOIN tbl_studiengang
+ WHERE studiensemester_kurzbz='$studiensemester' AND lektor NOT LIKE '\\\\_%')";
+ //echo $sql_query;
+ if(!($result=@pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="DELETE FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$row->mailgrp_kurzbz' AND uid='$row->uid'";
+ if(!@pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+ // Lektoren holen die noch nicht im Verteiler sind
+ echo ' ';
+ $sql_query="SELECT lektor,lower(kurzbz || '_lkt') AS mlist_name FROM tbl_lehrveranstaltung NATURAL JOIN tbl_studiengang
+ WHERE studiensemester_kurzbz='$studiensemester'
+ AND lektor NOT LIKE '\\\\_%' AND kurzbz!='TW' AND (lektor,lower(kurzbz || '_lkt')) NOT IN
+ (SELECT uid,mailgrp_kurzbz FROM tbl_personmailgrp
+ WHERE mailgrp_kurzbz LIKE '%\\\\_lkt' AND mailgrp_kurzbz!='tw_lkt' AND mailgrp_kurzbz!='tw_fix_lkt')";
+ //echo $sql_query;
+ if(!($result=pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="INSERT INTO tbl_personmailgrp VALUES ('$row->lektor','$row->mlist_name', now(), 'mlists_generate.php')";
+ if(!pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+
+
+ // **************************************************************
+ // Studentenverteiler abgleichen
+ // Studenten holen die nicht mehr in den Verteiler gehoeren
+ echo ' Studenten-Verteiler werden abgeglichen! ';
+ flush();
+ $sql_query="SELECT mailgrp_kurzbz,uid FROM tbl_personmailgrp NATURAL JOIN tbl_einheit WHERE (uid, mailgrp_kurzbz) NOT IN (SELECT uid, mailgrp_kurzbz FROM tbl_einheitstudent NATURAL JOIN tbl_einheit WHERE mailgrp_kurzbz IS NOT NULL)";
+
+
+ //echo $sql_query;
+ if(!($result=@pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="DELETE FROM tbl_personmailgrp WHERE mailgrp_kurzbz='$row->mailgrp_kurzbz' AND uid='$row->uid'";
+ if(!@pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+ // Studenten holen die noch nicht im Verteiler sind
+ echo ' ';
+ $sql_query="SELECT * FROM tbl_einheitstudent NATURAL JOIN tbl_einheit WHERE mailgrp_kurzbz IS NOT NULL
+ AND (uid,mailgrp_kurzbz) NOT IN (SELECT uid,mailgrp_kurzbz FROM tbl_personmailgrp)";
+ //echo $sql_query;
+ if(!($result=pg_query($conn, $sql_query)))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ while($row=pg_fetch_object($result))
+ {
+ $sql_query="INSERT INTO tbl_personmailgrp VALUES ('$row->uid','$row->mailgrp_kurzbz', now(), 'mlists_generate.php')";
+ if(!pg_query($conn, $sql_query))
+ $error_msg.=pg_errormessage($conn).$sql_query;
+ echo '-';
+ flush();
+ }
+
+
+ echo $error_msg;
+ ?>
+
+
+ Die Mailinglisten wurden abgeglichen.
+
+
+
\ No newline at end of file
diff --git a/admin/mlists/student_lists_copy.php b/admin/mlists/student_lists_copy.php
new file mode 100644
index 000000000..b5516b77c
--- /dev/null
+++ b/admin/mlists/student_lists_copy.php
@@ -0,0 +1,32 @@
+
+
+Copy mLists
+
+
+
+
+
+
+
+
+studiengang_kz;
+ $stg_kzbz=$row->kurzbz;
+ $sql_query="SELECT DISTINCT semester FROM tbl_student WHERE studiengang_kz=$stg_id AND uid NOT LIKE '\\\\_%' AND semester<10 ORDER BY semester";
+ //echo $sql_query;
+ if(!($result_sem=pg_exec($conn, $sql_query)))
+ die(pg_errormessage($conn));
+ $nr_sem=pg_numrows($result_sem);
+ for ($j=0; $j<$nr_sem; $j++)
+ {
+ $row_sem=pg_fetch_object($result_sem, $j);
+ echo $stg_kzbz.'-'.$row_sem->semester.' ';
+
+ $sql_query="SELECT DISTINCT verband FROM tbl_student WHERE studiengang_kz=$stg_id AND semester=$row_sem->semester AND uid NOT LIKE '\\\\_%' ORDER BY verband";
+ //echo $sql_query;
+ if(!($result_ver=pg_exec($conn, $sql_query)))
+ die(pg_errormessage($conn));
+ $nr_ver=pg_numrows($result_ver);
+ for ($k=0; $k<$nr_ver; $k++)
+ {
+ $row_ver=pg_fetch_object($result_ver, $k);
+ $sql_query="SELECT DISTINCT gruppe FROM tbl_student WHERE gruppe!='' AND gruppe IS NOT NULL AND studiengang_kz=$stg_id AND semester=$row_sem->semester AND verband='$row_ver->verband' AND uid NOT LIKE '\\\\_%' ORDER BY gruppe";
+ //echo $sql_query;
+ if(!($result_grp=pg_exec($conn, $sql_query)))
+ die(pg_errormessage($conn));
+ $nr_grp=pg_numrows($result_grp);
+ for ($l=0; $l<$nr_grp; $l++)
+ {
+ $row_grp=pg_fetch_object($result_grp, $l);
+ $stgid=$stg_id;
+ $sem=$row_sem->semester;
+ $ver=$row_ver->verband;
+ $grp=$row_grp->gruppe;
+ $sql_query='SELECT p.uid, p.nachname, p.vornamen FROM tbl_student join tbl_person as p using(uid) WHERE studiengang_kz='.$stgid.' AND semester='.$sem.' AND verband=\''.strtoupper($ver).'\' AND gruppe='.$grp." AND p.uid NOT LIKE '\\\\_%' ORDER BY p.nachname";
+ //echo $sql_query;
+ if(!($result_student=pg_exec($conn, $sql_query)))
+ die(pg_errormessage($conn));
+ // File Operations
+ $name=$stg_kzbz.$sem.$ver.$grp.'.txt';
+ $name=strtolower($name);
+ $fp=fopen('../../../../mlists/student/'.$name,"w");
+ //$fp=fopen('../../../../mlists/student/'.$name,"w");
+ $crlf="\n";
+
+ $numrows_student=pg_numrows($result_student);
+ for ($s=0; $s<$numrows_student; $s++)
+ {
+ $row=pg_fetch_object($result_student, $s);
+ fwrite($fp, '#'.$row->nachname.' '.$row->vornamen.$crlf.$row->uid.$crlf);
+ }
+ fclose($fp);
+ echo $name.', ';
+ flush();
+ }
+ echo 'created ';
+ }
+ }
+ }
+?>
+Finished!!!
+<<Zurück
+
+
\ No newline at end of file