diff --git a/admin/mlists/lektor_mlists_create.php b/admin/mlists/lektor_mlists_create.php new file mode 100644 index 000000000..650816f42 --- /dev/null +++ b/admin/mlists/lektor_mlists_create.php @@ -0,0 +1,45 @@ + + + +Mailinglisten + + + + + +

MailingListen

+ + +nachname.' '.$row->vornamen.$crlf.$row->uid.$crlf); +} +fclose($fp); +echo $name.' created
'; + +?> +


+ Die Mailinglisten der Lektoren wurden erstellt.
+ Sie können nun die erstellten Datein auf den Mail-Server kopieren (Copy + Lists).

+

<< Zurück

+ + \ No newline at end of file diff --git a/admin/mlists/mlists_copy.php b/admin/mlists/mlists_copy.php new file mode 100644 index 000000000..463045093 --- /dev/null +++ b/admin/mlists/mlists_copy.php @@ -0,0 +1,31 @@ + + +Copy mLists + + + + + +

Copy mLists

+&1","r"))) + { + return 126; + } + + while (!feof($p)) + { + $line=fgets($p,1000); + $out .= $line; + } + pclose($p); + return $out; + } + $var="../../../../mlists/copymlists.sh"; + echo mysystem($var); +?> +Verarbeitung erledigt! + + \ No newline at end of file diff --git a/admin/mlists/mlists_create.php b/admin/mlists/mlists_create.php new file mode 100644 index 000000000..0ec9f8b40 --- /dev/null +++ b/admin/mlists/mlists_create.php @@ -0,0 +1,107 @@ + + + +Mailinglisten + + + + + +

MailingListen

+ + +studiengang_kz; + $stg_kzbz=$row->kurzbz; + $sql_query="SELECT * FROM tbl_mailgrp WHERE studiengang_kz=$stg_id ORDER BY mailgrp_kurzbz"; + //echo $sql_query; + if(!($result_mg=pg_exec($conn, $sql_query))) + die(pg_errormessage($conn)); + $nr_mg=pg_numrows($result_mg); + + // Mailgroups + for ($j=0; $j<$nr_mg; $j++) + { + $row_mg=pg_fetch_object($result_mg, $j); + $mg_kurzbz=$row_mg->mailgrp_kurzbz; + $sql_query='SELECT uid, nachname, vornamen '. + 'FROM tbl_person as p join tbl_personmailgrp using(uid) '. + 'WHERE tbl_personmailgrp.mailgrp_kurzbz=\''.$mg_kurzbz.'\' '."AND p.uid NOT LIKE '\\\\_%'". + 'ORDER BY nachname'; + //echo $sql_query; + if(!($result_person=pg_exec($conn, $sql_query))) + die(pg_errormessage($conn)); + + // File Operations + $name=$mg_kurzbz.'.txt'; + $name=strtolower($name); + $fp=fopen('../../../../mlists/'.$name,"w"); + //$fp=fopen('../../../../mlists/'.$name,"w"); + + $nr_person=pg_numrows($result_person); + for ($p=0; $p<$nr_person; $p++) + { + $row=pg_fetch_object($result_person, $p); + fwrite($fp, '#'.$row->nachname.' '.$row->vornamen.$crlf.$row->uid.$crlf); + } + fclose($fp); + echo $name.' created
'; + flush(); + } + } + + //Zusammenbauen der Studiengaenge die keine Alias Adressen bekommen + $noalias_kz=''; + foreach($noalias as $var) + { + if($noalias_kz!='') + $noalias_kz.=','; + $noalias_kz.=$var; + } + + //$qry = "SELECT vornamen, nachname, uid, alias FROM tbl_person where alias<>'' ORDER BY nachname, vornamen"; + $qry = "SELECT vornamen, nachname, uid, alias FROM tbl_person LEFT JOIN tbl_student using(uid) + WHERE alias<>'' AND (studiengang_kz NOT IN($noalias_kz) OR studiengang_kz is null) + ORDER BY nachname, vornamen"; + + if($result = pg_query($conn, $qry)) + { + $fp=fopen('../../../../mlists/tw_alias.txt',"w"); + while($row=pg_fetch_object($result)) + { + fwrite($fp,"# ".$row->nachname." ".$row->vornamen.$crlf); + fwrite($fp,$row->alias.": ".$row->uid.$crlf); + } + fclose($fp); + echo 'tw_alias.txt created
'; + } + else + { + echo 'tw_alias.txt failed
'; + } + +?> +


+ Die Mailinglisten wurden erstellt.
+ Sie können nun die erstellten Datein auf den Mail-Server kopieren (Copy + Lists).

+

<< Zurück

+ + \ 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 + + + + + +

Copy mLists

+&1","r"))) + { + return 126; + } + + while (!feof($p)) + { + $line=fgets($p,1000); + $out .= $line; + } + pclose($p); + return $out; + } + $var="../../../../mlists/student/copymlists.sh"; + echo mysystem($var); +?> +Verarbeitung erledigt!
+<<Zurück + + \ No newline at end of file diff --git a/admin/mlists/student_lists_create.php b/admin/mlists/student_lists_create.php new file mode 100644 index 000000000..360410caf --- /dev/null +++ b/admin/mlists/student_lists_create.php @@ -0,0 +1,89 @@ + + + +Mailinglisten + + + + + +

MailingListen

+ + +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