mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 02:12:17 +00:00
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Copy mLists</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</HEAD>
|
||||
|
||||
<BODY class="background_main">
|
||||
<H3>Copy mLists</H3>
|
||||
<?php
|
||||
function mysystem($command)
|
||||
{
|
||||
if (!($p=popen("($command)2>&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!
|
||||
</BODY>
|
||||
</HTML>
|
||||
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
/**
|
||||
* Changes: 23.10.2004: Anpassung an neues DB-Schema (WM)
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/globals.inc.php');
|
||||
|
||||
if (!$conn = pg_pconnect(CONN_STRING))
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
if(!($result_stg=pg_query($conn, "SELECT studiengang_kz, bezeichnung, lower(typ::varchar(1) || kurzbz) as kurzbz FROM public.tbl_studiengang ORDER BY kurzbz ASC")))
|
||||
die(pg_errormessage($conn));
|
||||
$num_rows=pg_num_rows($result_stg);
|
||||
|
||||
?>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mailinglisten</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
</HEAD>
|
||||
|
||||
<BODY class="background_main">
|
||||
<H3>MailingListen </H3>
|
||||
|
||||
|
||||
<?php
|
||||
$crlf="\n";
|
||||
for ($i=0; $i<$num_rows; $i++)
|
||||
{
|
||||
$row=pg_fetch_object($result_stg);
|
||||
$stg_id=$row->studiengang_kz;
|
||||
$stg_kzbz=$row->kurzbz;
|
||||
$sql_query="SELECT * FROM public.tbl_gruppe WHERE studiengang_kz=$stg_id AND mailgrp=true ORDER BY gruppe_kurzbz";
|
||||
//echo $sql_query;
|
||||
if(!($result_mg=pg_query($conn, $sql_query)))
|
||||
die(pg_errormessage($conn));
|
||||
$nr_mg=pg_num_rows($result_mg);
|
||||
|
||||
// Mailgroups
|
||||
for ($j=0; $j<$nr_mg; $j++)
|
||||
{
|
||||
$row_mg=pg_fetch_object($result_mg, $j);
|
||||
$mg_kurzbz=$row_mg->gruppe_kurzbz;
|
||||
$sql_query='SELECT tbl_benutzergruppe.uid, nachname, vorname '.
|
||||
'FROM campus.vw_benutzer, public.tbl_benutzergruppe '.
|
||||
'WHERE vw_benutzer.uid=tbl_benutzergruppe.uid AND '.
|
||||
"UPPER(gruppe_kurzbz)=UPPER('$mg_kurzbz') AND tbl_benutzergruppe.uid NOT LIKE '\\\\_%' ".
|
||||
'AND studiensemester_kurzbz IS NULL ORDER BY nachname';
|
||||
//echo $sql_query;
|
||||
if(!($result_person=pg_query($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_num_rows($result_person);
|
||||
for ($p=0; $p<$nr_person; $p++)
|
||||
{
|
||||
$row=pg_fetch_object($result_person, $p);
|
||||
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
|
||||
}
|
||||
fclose($fp);
|
||||
echo $name.' created<br>';
|
||||
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 vorname, nachname, uid, alias FROM (public.tbl_person JOIN public.tbl_benutzer USING(person_id)) LEFT JOIN public.tbl_student on(uid=student_uid)
|
||||
WHERE alias<>'' AND (studiengang_kz NOT IN($noalias_kz) OR studiengang_kz is null)
|
||||
ORDER BY nachname, vorname";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$fp=fopen('../../../mlists/tw_alias.txt',"w");
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
fwrite($fp,"# ".$row->nachname." ".$row->vorname.$crlf);
|
||||
fwrite($fp,$row->alias.": ".$row->uid.$crlf);
|
||||
}
|
||||
fclose($fp);
|
||||
echo 'tw_alias.txt created<br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'tw_alias.txt failed<br>';
|
||||
}
|
||||
|
||||
?>
|
||||
<P><BR>
|
||||
Die Mailinglisten wurden erstellt. <BR>
|
||||
Sie können nun die erstellten Datein auf den Mail-Server kopieren (<A href="mlists_copy.php">Copy
|
||||
Lists</A>).</P>
|
||||
<P><A href="index.html" class="linkblue"><< Zurück</A></P>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@@ -0,0 +1,249 @@
|
||||
<?php
|
||||
/****************************************************************************
|
||||
* Script: mlists_generate.php
|
||||
* Descr: Das Skript generiert Mailinglisten in der Datenbanken
|
||||
* fuer Einheiten, Lektoren und fix Angestellte.
|
||||
* Verzweigungen: nach einheit_det.php
|
||||
* von einheit_menue.php
|
||||
* Author: Christian Paminger
|
||||
* Erstellt: 12.9.2005
|
||||
* Update: 14.9.2005 von Christian Paminger
|
||||
*****************************************************************************/
|
||||
|
||||
include('../../vilesci/config.inc.php');
|
||||
include('../../include/functions.inc.php');
|
||||
$error_msg='';
|
||||
?>
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mailinglisten</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<H3>MailingListen abgleich</H3>
|
||||
<?php
|
||||
if (!$conn = pg_pconnect(CONN_STRING))
|
||||
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden.\n';
|
||||
|
||||
// aktuelles Studiensemester ermitteln
|
||||
$sql_query="SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start<=now() ORDER BY start DESC LIMIT 1";
|
||||
if(!($result=pg_query($conn, $sql_query)))
|
||||
$error_msg.=pg_errormessage($conn);
|
||||
if($row=pg_fetch_object($result))
|
||||
$studiensemester=$row->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!<BR>';
|
||||
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 WHERE lektor)";
|
||||
if(!($result=pg_query($conn, $sql_query)))
|
||||
$error_msg.=pg_errormessage($conn);
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$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 '<BR>';
|
||||
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter WHERE lektor AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
|
||||
if(!($result=pg_query($conn, $sql_query)))
|
||||
$error_msg.=pg_errormessage($conn);
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$sql_query="INSERT INTO public.tbl_benutzergruppe VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
|
||||
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 '<BR>'.$mlist_name.' wird abgeglichen!<BR>';
|
||||
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 WHERE fixangestellt)";
|
||||
if(!($result=pg_query($conn, $sql_query)))
|
||||
$error_msg.=pg_errormessage($conn);
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$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 '<BR>';
|
||||
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter WHERE fixangestellt AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
|
||||
if(!($result=pg_query($conn, $sql_query)))
|
||||
$error_msg.=pg_errormessage($conn);
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$sql_query="INSERT INTO public.tbl_benutzergruppe VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
|
||||
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 '<BR>'.$mlist_name.' wird abgeglichen!<BR>';
|
||||
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 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 public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$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 '<BR>';
|
||||
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter WHERE fixangestellt AND lektor AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
|
||||
if(!($result=pg_query($conn, $sql_query)))
|
||||
$error_msg.=pg_errormessage($conn);
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$sql_query="INSERT INTO public.tbl_benutzergruppe VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
|
||||
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 '<BR>Lektoren-Verteiler der Studiengaenge werden abgeglichen!<BR>';
|
||||
flush();
|
||||
$sql_query="SELECT uid, 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 (uid,UPPER(gruppe_kurzbz)) NOT IN
|
||||
(SELECT mitarbeiter_uid,UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt')
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_studiengang
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
|
||||
studiensemester_kurzbz='$studiensemester' AND mitarbeiter_uid 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 public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$row->gruppe_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 '<BR>';
|
||||
$sql_query="SELECT mitarbeiter_uid, UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt') AS mlist_name, tbl_studiengang.studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_studiengang
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
|
||||
studiensemester_kurzbz='$studiensemester' 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'))";
|
||||
//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="SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='".strtoupper($row->mlist_name)."'";
|
||||
if($res = pg_query($conn, $sql_query))
|
||||
{
|
||||
if(pg_num_rows($res)<=0)
|
||||
{
|
||||
$sql_query="INSERT INTO public.tbl_gruppe(gruppe_kurzbz, studiengang_kz, semester, bezeichnung,
|
||||
beschreibung, mailgrp, sichtbar, generiert, aktiv, updateamum, updatevon,
|
||||
insertamum, insertvon)
|
||||
VALUES('".strtoupper($row->mlist_name)."',$row->studiengang_kz, 0,'$row->mlist_name',".
|
||||
"'$row->mlist_name', true, true, true, true, now(),'mlists_generate',now(), 'mlists_generate');";
|
||||
if(!pg_query($conn, $sql_query))
|
||||
echo "<br>Fehler beim Anlegen der Gruppe: $sql_query<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "<br>Fehler:$sql_query";
|
||||
|
||||
$sql_query="INSERT INTO public.tbl_benutzergruppe VALUES ('$row->mitarbeiter_uid','".strtoupper($row->mlist_name)."', now(), 'mlists_generate')";
|
||||
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 '<BR>Studenten-Verteiler werden abgeglichen!<BR>';
|
||||
flush();
|
||||
$sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe 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 '<BR>';
|
||||
$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;
|
||||
?>
|
||||
<BR>
|
||||
<P>
|
||||
Die Mailinglisten wurden abgeglichen. <BR>
|
||||
</P>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@@ -0,0 +1,31 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Copy mLists</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</HEAD>
|
||||
|
||||
<BODY class="background_main">
|
||||
<H3>Copy mLists</H3>
|
||||
<?php
|
||||
function mysystem($command)
|
||||
{
|
||||
if (!($p=popen("($command)2>&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!<BR>
|
||||
<A href="index.html" class="linkblue"><<Zurück</A>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/**
|
||||
* Changes: 23.10.2004: Anpassung an neues DB-Schema (WM)
|
||||
*/
|
||||
include('../../vilesci/config.inc.php');
|
||||
include('../../include/functions.inc.php');
|
||||
if (!$conn = @pg_pconnect(CONN_STRING))
|
||||
die("Es konnte keine Verbindung zum Server aufgebaut werden.");
|
||||
if(!($erg=pg_query($conn, "SELECT studiengang_kz, bezeichnung, lower(typ::varchar(1) || kurzbz) as kurzbz FROM public.tbl_studiengang ORDER BY kurzbz ASC")))
|
||||
die(pg_errormessage($conn));
|
||||
$num_rows=pg_num_rows($erg);
|
||||
?>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mailinglisten</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
</HEAD>
|
||||
|
||||
<BODY class="background_main">
|
||||
<H3>MailingListen </H3>
|
||||
|
||||
|
||||
<?php
|
||||
for ($i=0; $i<$num_rows; $i++)
|
||||
{
|
||||
$row=pg_fetch_object($erg, $i);
|
||||
$stg_id=$row->studiengang_kz;
|
||||
$stg_kzbz=$row->kurzbz;
|
||||
$sql_query="SELECT DISTINCT semester FROM public.tbl_student WHERE studiengang_kz=$stg_id AND student_uid NOT LIKE '\\\\_%' AND semester<10 ORDER BY semester";
|
||||
//echo $sql_query;
|
||||
if(!($result_sem=pg_query($conn, $sql_query)))
|
||||
die(pg_errormessage($conn));
|
||||
$nr_sem=pg_num_rows($result_sem);
|
||||
for ($j=0; $j<$nr_sem; $j++)
|
||||
{
|
||||
$row_sem=pg_fetch_object($result_sem, $j);
|
||||
echo $stg_kzbz.'-'.$row_sem->semester.'<br>';
|
||||
|
||||
$sql_query="SELECT DISTINCT verband FROM public.tbl_student WHERE studiengang_kz=$stg_id AND semester=$row_sem->semester AND student_uid NOT LIKE '\\\\_%' ORDER BY verband";
|
||||
//echo $sql_query;
|
||||
if(!($result_ver=pg_query($conn, $sql_query)))
|
||||
die(pg_errormessage($conn));
|
||||
$nr_ver=pg_num_rows($result_ver);
|
||||
for ($k=0; $k<$nr_ver; $k++)
|
||||
{
|
||||
$row_ver=pg_fetch_object($result_ver, $k);
|
||||
$sql_query="SELECT DISTINCT gruppe FROM public.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 student_uid NOT LIKE '\\\\_%' ORDER BY gruppe";
|
||||
//echo $sql_query;
|
||||
if(!($result_grp=pg_query($conn, $sql_query)))
|
||||
die(pg_errormessage($conn));
|
||||
$nr_grp=pg_num_rows($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 uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stgid.' AND semester='.$sem.' AND verband=\''.strtoupper($ver).'\' AND gruppe='.$grp." AND uid NOT LIKE '\\\\_%' ORDER BY nachname";
|
||||
//echo $sql_query;
|
||||
if(!($result_student=pg_query($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_num_rows($result_student);
|
||||
for ($s=0; $s<$numrows_student; $s++)
|
||||
{
|
||||
$row=pg_fetch_object($result_student, $s);
|
||||
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
|
||||
}
|
||||
fclose($fp);
|
||||
echo $name.', ';
|
||||
flush();
|
||||
}
|
||||
echo 'created<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Finished!!! <BR>
|
||||
<A href="index.html" class="linkblue"><<Zurück</A>
|
||||
</BODY>
|
||||
</HTML>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2007 Technikum-Wien
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
@@ -54,8 +54,8 @@ function myaddslashes($var)
|
||||
<body>
|
||||
<?php
|
||||
//nation
|
||||
$qry="SELECT * FROM person, student
|
||||
WHERE person_pk=person_fk AND uid IS NOT null AND uid<>'' AND perskz IS NOT null AND perskz<>''
|
||||
$qry="SELECT * FROM person, student
|
||||
WHERE person_pk=person_fk AND uid IS NOT null AND uid<>'' AND perskz IS NOT null AND perskz<>''
|
||||
ORDER BY Familienname, Vorname;";
|
||||
|
||||
if($result = pg_query($conn_fas, $qry))
|
||||
@@ -76,7 +76,7 @@ if($result = pg_query($conn_fas, $qry))
|
||||
$insertamum ="";
|
||||
$insertvon ="SYNC";
|
||||
$ext_id ="";
|
||||
|
||||
|
||||
$qry5="SELECT * from public.tbl_student WHERE ext_id='".$row->student_pk."';";
|
||||
if($result5 = pg_query($conn, $qry5))
|
||||
{
|
||||
@@ -86,12 +86,12 @@ if($result = pg_query($conn_fas, $qry))
|
||||
$error_log_fas.="Student mit ext_id='".$row->student_pk."' nicht gefunden! ('".$row->perskz."', '".$row->familienname."', '".$row->vorname."')\n";
|
||||
$nicht_gefunden++;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if($row5=pg_fetch_object($result5))
|
||||
{
|
||||
$student_uid=$row5->student_uid;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!$error)
|
||||
@@ -99,8 +99,8 @@ if($result = pg_query($conn_fas, $qry))
|
||||
$qry="SELECT * FROM student_gruppe WHERE student_fk='".$row->student_pk."';";
|
||||
if($result1 = pg_query($conn_fas, $qry))
|
||||
{
|
||||
While($row1=pg_fetch_object($result1))
|
||||
{
|
||||
while($row1=pg_fetch_object($result1))
|
||||
{
|
||||
//semester, verband, gruppe
|
||||
$typ='';
|
||||
$error=false;
|
||||
@@ -112,75 +112,75 @@ if($result = pg_query($conn_fas, $qry))
|
||||
if($result2 = pg_query($conn_fas, $qry2))
|
||||
{
|
||||
if($row2=pg_fetch_object($result2))
|
||||
{
|
||||
{
|
||||
$typ=$row2->typ;
|
||||
if($row2->typ=='1')
|
||||
{
|
||||
$semester=$row2->name;
|
||||
$verband=' ';
|
||||
$gruppe=' ';
|
||||
|
||||
|
||||
}
|
||||
elseif ($row2->typ=='2')
|
||||
{
|
||||
$verband=$row2->name;
|
||||
$gruppe=' ';
|
||||
|
||||
|
||||
$qry3="SELECT * FROM gruppe WHERE gruppe_pk='".$row2->obergruppe_fk."';";
|
||||
if($result3 = pg_query($conn_fas, $qry3))
|
||||
{
|
||||
if($row3=pg_fetch_object($result3))
|
||||
{
|
||||
$semester=$row3->name;
|
||||
{
|
||||
$semester=$row3->name;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Gruppe mit gruppe_pk=".$row2->obergruppe_fk."nicht gefunden (1).\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Fehler beim Zugriff auf Tabelle gruppe (1).\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif ($row2->typ=='3')
|
||||
{
|
||||
$gruppe=$row2->name;
|
||||
|
||||
|
||||
$qry3="SELECT * FROM gruppe WHERE gruppe_pk='".$row2->obergruppe_fk."';";
|
||||
if($result3 = pg_query($conn_fas, $qry3))
|
||||
{
|
||||
if($row3=pg_fetch_object($result3))
|
||||
{
|
||||
$verband=$row3->name;
|
||||
{
|
||||
$verband=$row3->name;
|
||||
$qry4="SELECT * FROM gruppe WHERE gruppe_pk='".$row3->obergruppe_fk."';";
|
||||
if($result4 = pg_query($conn_fas, $qry4))
|
||||
{
|
||||
if($row4=pg_fetch_object($result4))
|
||||
{
|
||||
$semester=$row4->name;
|
||||
{
|
||||
$semester=$row4->name;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Gruppe mit gruppe_pk=".$row2->obergruppe_fk."nicht gefunden (3).\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Fehler beim Zugriff auf Tabelle gruppe (3).\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Gruppe mit gruppe_pk=".$row2->obergruppe_fk."nicht gefunden (2).\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Fehler beim Zugriff auf Tabelle gruppe (2).\n";
|
||||
$error=true;
|
||||
@@ -194,21 +194,21 @@ if($result = pg_query($conn_fas, $qry))
|
||||
if($result3 = pg_query($conn_fas, $qry3))
|
||||
{
|
||||
if($row3=pg_fetch_object($result3))
|
||||
{
|
||||
{
|
||||
if($row3->obergruppe_fk!=0)
|
||||
{
|
||||
$qry4="SELECT * FROM gruppe WHERE gruppe_pk='".$row3->obergruppe_fk."';";
|
||||
if($result4 = pg_query($conn_fas, $qry4))
|
||||
{
|
||||
if($row4=pg_fetch_object($result4))
|
||||
{
|
||||
{
|
||||
$semester=$row4->name;
|
||||
$verband=$row3->name;
|
||||
$gruppe=$row2->name;
|
||||
$gruppe=$row2->name;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$semester=$row3->name;
|
||||
$verband=$row2->name;
|
||||
@@ -217,7 +217,7 @@ if($result = pg_query($conn_fas, $qry))
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$semester=$row2->name;
|
||||
$verband=' ';
|
||||
@@ -251,7 +251,7 @@ if($result = pg_query($conn_fas, $qry))
|
||||
{
|
||||
$studiengang_kz=$row3->kennzahl;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Studiengang mit studiengang_pk='".$row2->studiengang_fk."' nicht gefunden.\n";
|
||||
$error=true;
|
||||
@@ -265,14 +265,14 @@ if($result = pg_query($conn_fas, $qry))
|
||||
{
|
||||
$studiensemester_kurzbz=$row3->studiensemester_kurzbz;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Studiensemester '".$row2->studiensemester_fk."' nicht gefunden.\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Fehler beim Zugriff auf Tabelle gruppe (1).\n";
|
||||
$error=true;
|
||||
@@ -308,10 +308,10 @@ if($result = pg_query($conn_fas, $qry))
|
||||
{
|
||||
if($row4=pg_fetch_object($result4))
|
||||
{
|
||||
|
||||
|
||||
//update
|
||||
$updates=false;
|
||||
$ausgabe_slv="";
|
||||
$ausgabe_slv="";
|
||||
if(trim($row4->student_uid)!=trim($student_uid))
|
||||
{
|
||||
$updates=true;
|
||||
@@ -359,7 +359,7 @@ if($result = pg_query($conn_fas, $qry))
|
||||
{
|
||||
$ausgabe_slv="Semester: '".$semester."' (statt '".trim($row4->semester)."')";
|
||||
}
|
||||
}
|
||||
}
|
||||
if(trim($row4->verband)!=trim($verband))
|
||||
{
|
||||
$updates=true;
|
||||
@@ -407,12 +407,12 @@ if($result = pg_query($conn_fas, $qry))
|
||||
" WHERE student_uid='".$student_uid."' AND studiensemester_kurzbz='".$studiensemester_kurzbz."';";
|
||||
$ausgabe="SLV-Änderungen bei Student ".$student_uid.", ".$row->familienname.", (".$row->perskz."): ".$ausgabe_slv."('".$semester.$verband.$gruppe."/".$studiensemester_kurzbz."'). ".$typ."\n";
|
||||
$ausgabe_slv='';
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//insert
|
||||
$qry = "INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, insertamum, insertvon, updateamum, updatevon, ext_id) VALUES("
|
||||
@@ -422,9 +422,9 @@ if($result = pg_query($conn_fas, $qry))
|
||||
myaddslashes($semester).", ".
|
||||
myaddslashes($verband).", ".
|
||||
myaddslashes($gruppe).",
|
||||
now(),
|
||||
'SYNC',
|
||||
now(),
|
||||
now(),
|
||||
'SYNC',
|
||||
now(),
|
||||
'SYNC',".
|
||||
myaddslashes($ext_id).");";
|
||||
$ausgabe="SLV für Student mit UID/Name/Perskz ".$student_uid.", ".$row->familienname.", (".$row->perskz.") eingefügt: Studiengang '".$studiengang_kz."', Sem.'".$studiensemester_kurzbz."' gruppe_pk='".$row1->gruppe_fk."' mit Semester/Verband/Gruppe: '".$semester."'/'".$verband."'/'".$gruppe."'.\n";
|
||||
@@ -432,30 +432,30 @@ if($result = pg_query($conn_fas, $qry))
|
||||
}
|
||||
}
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
{
|
||||
$error_log.= "*****\nFehler beim Speichern des Studentlehrverband-Datensatzes: ".$row->familienname."\n".$qry."\n".pg_errormessage($conn)."\n*****\n";
|
||||
$error=true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$ausgabe_all.=$ausgabe;
|
||||
$ausgabe='';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
$error_log_fas.="### Student ".$student_uid.", ".$row->familienname.", (".$row->perskz.") gruppe_pk='".$row1->gruppe_fk."' : ".$error_log;
|
||||
$error_log_fas.="### Student ".$student_uid.", ".$row->familienname.", (".$row->perskz.") gruppe_pk='".$row1->gruppe_fk."' : ".$error_log;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
$error_log_fas.="### Student mit UID/Name/Perskz ".$student_uid.", ".$row->familienname.", (".$row->perskz.") gruppe_pk='".$row1->gruppe_fk."' : ".$error_log;
|
||||
$error_log_fas.="### Student mit UID/Name/Perskz ".$student_uid.", ".$row->familienname.", (".$row->perskz.") gruppe_pk='".$row1->gruppe_fk."' : ".$error_log;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log_fas.="Fehler beim Zugriff auf Tabelle student_gruppe.\n";
|
||||
$error=true;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$dont_sync_sql='studiengang_kz!=257 AND studiengang_kz!=258 AND studiengang_kz!=297 AND studiengang_kz!=299 AND studiengang_kz!=327 AND studiengang_kz!=328 AND studiengang_kz!=329 AND studiengang_kz!=999';
|
||||
$dont_sync_sql=' studiengang_kz!=258 AND studiengang_kz!=297 AND studiengang_kz!=299 AND studiengang_kz!=327 AND studiengang_kz!=328 AND studiengang_kz!=329 AND studiengang_kz!=999';
|
||||
$dont_sync_php=array('257','258','297','299','327','328','329','999');
|
||||
|
||||
$adress='fas_sync@technikum-wien.at';
|
||||
|
||||
@@ -65,13 +65,13 @@ function validate($row)
|
||||
$error_log[$row->studiengang_kz][]=printLVA($row).': Semester bei '.$row->semester.$row->verband.$row->gruppe.' größer als 8';
|
||||
$valid=false;
|
||||
}
|
||||
if (!($row->verband==null || $row->verband=='' || $row->verband=='A' || $row->verband=='B' || $row->verband=='C' || $row->verband=='D'))
|
||||
if (!(is_null($row->verband) || $row->verband==null || $row->verband=='' || $row->verband=='A' || $row->verband=='B' || $row->verband=='C' || $row->verband=='D'))
|
||||
{
|
||||
$error_log[$row->studiengang_kz][]=printLVA($row).': Verband bei '.$row->semester.$row->verband.$row->gruppe.' außerhalb des gültigen Bereichs (A bis D)';
|
||||
//print_r($row);
|
||||
$valid=false;
|
||||
}
|
||||
if (!($row->gruppe==null || $row->gruppe=='' || $row->gruppe=='1' || $row->gruppe=='2' || $row->gruppe=='3' || $row->gruppe=='4'))
|
||||
if (!(is_null($row->gruppe) || $row->gruppe==null || $row->gruppe=='' || $row->gruppe=='1' || $row->gruppe=='2' || $row->gruppe=='3' || $row->gruppe=='4'))
|
||||
{
|
||||
$error_log[$row->studiengang_kz][]=printLVA($row).': Gruppe bei '.$row->semester.$row->verband.$row->gruppe.' außerhalb des gültigen Bereichs (1 bis 4)';
|
||||
$valid=false;
|
||||
|
||||
Reference in New Issue
Block a user