From 8caa4f45118fd84327b43caa0f0398be93408a75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 15 Oct 2008 15:27:14 +0000 Subject: [PATCH] --- content/ToDo_Tempus.html | 4 +- include/tw/cis_menu_main.inc.php | 16 +++- rdf/student.rdf.php | 7 +- system/mlists/mlists_generate.php | 123 ++++++++++++++++++------------ vilesci/bis/checkfunktion.php | 2 +- 5 files changed, 95 insertions(+), 57 deletions(-) diff --git a/content/ToDo_Tempus.html b/content/ToDo_Tempus.html index 5abd70a00..aedd2554f 100644 --- a/content/ToDo_Tempus.html +++ b/content/ToDo_Tempus.html @@ -46,7 +46,9 @@ false)
Wenn rechts auf eine Lehreinheit geklickt wird, unten das -Detailfenster für diese Lehreinheit anzeigen.
+Detailfenster für diese Lehreinheit anzeigen. (Problem: bei +erneuter einbindung des overlays kommt es zu doppelt vergebenen ids. Es +muss daher in einem iFrame eingebunden werden.)
med
diff --git a/include/tw/cis_menu_main.inc.php b/include/tw/cis_menu_main.inc.php index 4fd576caa..2de3ab59d 100644 --- a/include/tw/cis_menu_main.inc.php +++ b/include/tw/cis_menu_main.inc.php @@ -54,9 +54,21 @@  Jobbörse -   -  ÖH-Wahl + +  ÖH-Wahl + + diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index 1413b1bb2..d16d5edd4 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -383,13 +383,13 @@ if($xmlformat=='rdf') } } - $where.=" AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz'"; + //$where.=" AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz'"; $sql_query="SET CLIENT_ENCODING TO 'UNICODE'; SELECT p.person_id, tbl_student.prestudent_id, tbl_benutzer.uid, titelpre, titelpost, vorname, vornamen, nachname, gebdatum, tbl_prestudent.anmerkung,ersatzkennzeichen,svnr, tbl_student.matrikelnr, p.anmerkung as anmerkungen, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, - tbl_studentlehrverband.studiengang_kz, aufmerksamdurch_kurzbz, + tbl_student.studiengang_kz, aufmerksamdurch_kurzbz, ( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id=p.person_id AND zustellung @@ -397,10 +397,11 @@ if($xmlformat=='rdf') ) AS email_privat, (SELECT punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as punkte - FROM public.tbl_studentlehrverband JOIN public.tbl_student USING (student_uid) + FROM public.tbl_student JOIN public.tbl_benutzer ON (student_uid=uid) JOIN public.tbl_person p USING (person_id) JOIN public.tbl_prestudent USING(prestudent_id) "; if($gruppe_kurzbz!=null) $sql_query.= "JOIN public.tbl_benutzergruppe USING (uid) "; + $sql_query.="LEFT JOIN public.tbl_studentlehrverband ON (tbl_studentlehrverband.student_uid=tbl_student.student_uid AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz')"; $sql_query.="WHERE ".$where.' ORDER BY nachname, vorname'; //echo $sql_query; if($result = pg_query($conn, $sql_query)) diff --git a/system/mlists/mlists_generate.php b/system/mlists/mlists_generate.php index 8166c314f..f39cb7fec 100644 --- a/system/mlists/mlists_generate.php +++ b/system/mlists/mlists_generate.php @@ -50,7 +50,7 @@ $error_msg=''; // Lektoren 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 tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv)"; + $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) WHERE lektor AND aktiv)"; if(!($result=pg_query($conn, $sql_query))) $error_msg.=pg_errormessage($conn); while($row=pg_fetch_object($result)) @@ -63,18 +63,80 @@ $error_msg=''; } // Lektoren holen die nicht im Verteiler sind echo '
'; - $sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))"; + $sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv 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')"; + $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; if(!pg_query($conn, $sql_query)) $error_msg.=pg_errormessage($conn).$sql_query; echo '-'; flush(); } + // ************************************************************** + // Sekretariats-Verteiler abgleichen + $mlist_name='tw_sek'; + // 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) WHERE aktiv AND funktion_kurzbz='ass')"; + 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(); + } + // 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 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(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."',null, null, null, now(), 'mlists_generate')"; + if(!pg_query($conn, $sql_query)) + $error_msg.=pg_errormessage($conn).$sql_query; + echo '-'; + flush(); + } + + // ************************************************************** + // Studiengangsleiter-Verteiler abgleichen + $mlist_name='tw_stgl'; + // 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) WHERE aktiv AND funktion_kurzbz='stgl')"; + 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(); + } + // Personen holen die nicht im Verteiler sind + echo '
'; + $sql_query="SELECT 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='stgl' 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(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."',null, null, null, 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'; @@ -99,7 +161,7 @@ $error_msg=''; $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')"; + $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; if(!pg_query($conn, $sql_query)) $error_msg.=pg_errormessage($conn).$sql_query; echo '-'; @@ -130,7 +192,7 @@ $error_msg=''; $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')"; + $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')"; if(!pg_query($conn, $sql_query)) $error_msg.=pg_errormessage($conn).$sql_query; echo '-'; @@ -201,19 +263,19 @@ $error_msg=''; else echo "
Fehler:$sql_query"; - $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, updateamum, updatevon) VALUES ('$row->mitarbeiter_uid','".strtoupper($row->mlist_name)."', now(), 'mlists_generate')"; + $sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) 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(); } - + // ************************************************************** // StudentenvertreterVerteiler abgleichen // Studenten holen die nicht mehr in den Verteiler gehoeren echo 'Studentenvertreterverteiler werden abgeglichen!
'; flush(); - $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 WHERE funktion_kurzbz='stdv' AND studiengang_kz=tbl_gruppe.studiengang_kz)"; + $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 WHERE funktion_kurzbz='stdv' AND studiengang_kz=tbl_gruppe.studiengang_kz) AND tbl_gruppe.studiengang_kz!='0'"; if(!($result=pg_query($conn, $sql_query))) $error_msg.=pg_errormessage($conn); while($row=pg_fetch_object($result)) @@ -226,14 +288,14 @@ $error_msg=''; } // Studenten holen die nicht im Verteiler sind echo '
'; - $sql_query="SELECT uid, (Select gruppe_kurzbz from public.tbl_gruppe where studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz like '%_STDV') as gruppe_kurzbz FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz Like '%_STDV')"; + $sql_query="SELECT uid, (SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz like '%_STDV') as gruppe_kurzbz FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz Like '%_STDV')"; if(!($result=pg_query($conn, $sql_query))) $error_msg.=pg_errormessage($conn); while($row=pg_fetch_object($result)) { if($row->gruppe_kurzbz!='') { - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, updateamum, updatevon) VALUES ('$row->uid','".strtoupper($row->gruppe_kurzbz)."', now(), 'mlists_generate')"; + $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($row->gruppe_kurzbz)."', now(), 'mlists_generate')"; if(!pg_query($conn, $sql_query)) $error_msg.=pg_errormessage($conn).$sql_query; echo '-'; @@ -262,51 +324,12 @@ $error_msg=''; $error_msg.=pg_errormessage($conn); while($row=pg_fetch_object($result)) { - $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, updateamum, updatevon) VALUES ('$row->uid','TW_STDV', now(), 'mlists_generate')"; + $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','TW_STDV', 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 '
Studenten-Verteiler werden abgeglichen!
'; - 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 '
'; - $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; ?> diff --git a/vilesci/bis/checkfunktion.php b/vilesci/bis/checkfunktion.php index 83c919e46..694c666fb 100644 --- a/vilesci/bis/checkfunktion.php +++ b/vilesci/bis/checkfunktion.php @@ -186,7 +186,7 @@ if($result = pg_query($conn, $qry)) WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND (tbl_lehreinheit.studiensemester_kurzbz='$stsemprevprev' OR tbl_lehreinheit.studiensemester_kurzbz='$stsemprev')) - AND (ende>'2006-11-15' OR ende is null))"; + AND (ende>'$lastbismeldung' OR ende is null))"; echo '

'; echo '

Uebersicht

'; echo '';