- Anpassungen Syncs

- Kreuzerltool Gruppe zur LE-Auswahl hinzugefügt
- sync_fas_std.php an neue DB angepasst
This commit is contained in:
Andreas Österreicher
2007-01-24 16:49:35 +00:00
parent e97a4136d6
commit 35ba3fb601
11 changed files with 316 additions and 122 deletions
+1
View File
@@ -37,6 +37,7 @@
<UL>
<LI><A href="sync/sync_fas_exstd.php" class="linkblue">Ex-Studenten</a></LI>
<LI><A href="sync/sync_fas_lkt.php" class="linkblue">Lektoren</a></LI>
<LI><A href="sync/sync_fas_std.php" class="linkblue">Studenten</a></LI>
</UL>
<H3>VileSci-Syncs</H3>
<!--<UL>
+149 -67
View File
@@ -1,10 +1,26 @@
<?php
/**
* FAS-Synchronisation
*/
include ('../../vilesci/config.inc.php');
$adress='fas_sync@technikum-wien.at';
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../vilesci/config.inc.php');
$adress='tw_tester@technikum-wien.at';
function clean_string($string)
{
@@ -37,22 +53,23 @@
$conn_fas=pg_connect(CONN_STRING_FAS);
// Anzahl der Studenten in VileSci
$sql_query="SELECT count(*) AS anz FROM tbl_student";
$sql_query="SELECT count(*) AS anz FROM public.tbl_student";
//echo $sql_query."<br>";
$result=pg_exec($conn, $sql_query);
$vilesci_anz_std=pg_fetch_result($result,0,'anz');
$result=pg_query($conn, $sql_query);
$row=pg_fetch_object($result);
$vilesci_anz_std = $row->anz;
// Start Studenten Synchro
$sql_query="SELECT DISTINCT * FROM fas_view_student_vilesci WHERE semester >0 AND semester <9 AND";
$sql_query.=" verband IS NOT NULL AND uid IS NOT NULL AND uid NOT LIKE ''"; // LIMIT 5";
echo $sql_query."<br>";
$sql_query.=" verband IS NOT NULL AND uid IS NOT NULL AND uid NOT LIKE ''";
//echo $sql_query."<br>";
flush();
$result=pg_exec($conn_fas, $sql_query);
$num_rows=pg_numrows($result);
$result=pg_query($conn_fas, $sql_query);
$num_rows=pg_num_rows($result);
$text="Dies ist eine automatische eMail!\r\r";
$text.="Es wurde eine Synchronisation mit FAS durchgeführt.\r";
$text.="Anzahl der Studenten vom FAS-Import: $num_rows \r";
$text.="Anzahl der Studenten in VileSci: $vilesci_anz_std \r\r";
$text.="Anzahl der Studenten in Portal: $vilesci_anz_std \r\r";
echo $text.'<BR>';
flush();
$plausi_error=0;
@@ -73,68 +90,131 @@
if ($row->verband>='A' && $row->verband<='D' && $row->semester<=8 && $row->gruppe>'0' && $row->gruppe<='2')
{
// SQL vorbereiten (jeden Studenten vom FAS im VileSci suchen
$sql_query="SELECT uid,titel,vornamen,nachname,gebdatum,gebort,";
$sql_query="SELECT tbl_person.person_id, uid,titelpre,vorname,nachname,gebdatum,gebort,";
$sql_query.="trim(both ' ' from matrikelnr) AS matrikelnr,";
$sql_query.=" studiengang_kz,semester,verband,gruppe";
$sql_query.=" FROM tbl_person NATURAL JOIN tbl_student WHERE uid LIKE '$uid'";
$sql_query.=" FROM public.tbl_person, public.tbl_benutzer, public.tbl_student WHERE
tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=tbl_student.student_uid
AND tbl_benutzer.uid='$uid'";
// echo $sql_query;
$res_std=pg_exec($conn, $sql_query);
$num_rows_std=pg_numrows($res_std);
$res_std=pg_query($conn, $sql_query);
$num_rows_std=pg_num_rows($res_std);
// neue Studenten
if ($num_rows_std==0)
{
$text.="Der Student $row->vornamen $row->nachname ($row->uid) wird neu angelegt.\r";
// tbl_person
$sql_query="INSERT INTO tbl_person(uid,titel,vornamen, nachname, gebdatum, gebort) ".
"VALUES('$row->uid','$row->titel','$row->vornamen','$row->nachname','$row->gebdatum','$row->gebort')";
echo $sql_query.'<BR>';
flush();
//Alias erstellen
$vn = split('[- .,]',strtolower($row->vornamen));
$vn = clean_string($vn[0]);
pg_query($conn, "BEGIN");
$nn = split('[- .,]',strtolower($row->nachname));
$nn = clean_string($nn[0]);
$alias = $vn.".".$nn;
$qry = "UPDATE tbl_person set alias='$alias' where uid='$row->uid'";
if(!$res_insert=pg_exec($conn, $qry))
// person
if(!$len=strpos($row->vornamen,' '))
{
$text.=$qry;
$text.="\rFehler: Alias existiert bereits: $alias";
$insert_error++;
}
// tbl_student
if(!$res_insert=pg_exec($conn, $sql_query))
{
$text.=$qry;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$insert_error++;
}
$sql_query="INSERT INTO tbl_student (uid,matrikelnr, studiengang_kz, semester, verband, gruppe) ".
"VALUES('$row->uid','$row->perskz',$row->kennzahl,$row->semester,'$row->verband','$row->gruppe')";
echo $sql_query.'<BR>';
if(!$res_insert=pg_exec($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$insert_error++;
$vorname=$row->vornamen;
$vornamen='';
}
else
$anz_insert++;
{
$vorname=substr($row->vornamen,0,$len);
$vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
}
// tbl_person
$sql_query="INSERT INTO tbl_person(titelpre,vorname,vornamen, nachname, gebdatum, gebort, aktiv) ".
"VALUES('$row->titelpre','$row->vorname','$row->vornamen','$row->nachname','$row->gebdatum','$row->gebort', true)";
//echo $sql_query.'<BR>';
flush();
if(!$res_insert=pg_query($conn, $qry))
{
$text.=$qry;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
else
{
$qry = "SELECT currval('tbl_person_person_id_seq') AS id;";
if(!$row_seq=pg_fetch_object(pg_query($this->conn,$qry)))
{
pg_query($conn, 'ROLLBACK');
$text = 'Sequence konnte nicht ausgelesen werden\n';
$insert_error++;
}
else
{
$person_id = $row_seq->id;
//Benutzer Datensatzt anlegen
$qry = "INSERT INTO public.tbl_benutzer(uid, person_id, aktiv, insertamum, insertvon, updateamum, updatevon)
VALUES('$row->uid','$person_id','true',now(),'auto',now(),'auto');";
if(!pg_query($conn, $qry))
{
pg_query($conn, 'ROLLBACK');
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$insert_error++;
}
else
{
//Alias erstellen
$vn = split('[- .,]',strtolower($row->vornamen));
$vn = clean_string($vn[0]);
$nn = split('[- .,]',strtolower($row->nachname));
$nn = clean_string($nn[0]);
$alias = $vn.".".$nn;
$qry = "UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
if(!$res_insert=pg_query($conn, $qry))
{
$text.=$qry;
$text.="\rFehler: Alias existiert bereits: $alias";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
// tbl_student
$sql_query="INSERT INTO public.tbl_student (student_uid,matrikelnr, studiengang_kz, semester, verband, gruppe) ".
"VALUES('$row->uid','$row->perskz',$row->kennzahl,$row->semester,'$row->verband','$row->gruppe')";
echo $sql_query.'<BR>';
if(!$res_insert=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
else
{
$anz_insert++;
pg_query($conn, 'COMMIT');
}
}
}
}
}
// bestehende Studenten
elseif ($num_rows_std==1)
{
$update=0;
$row_std=pg_fetch_object($res_std,0);
$row_std=pg_fetch_object($res_std);
if(!$len=strpos($row->vornamen,' '))
{
$vorname=$row->vornamen;
$vornamen='';
}
else
{
$vorname=substr($row->vornamen,0,$len);
$vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
}
if ($row->gruppe==NULL)
$row->gruppe=1;
if ($row->titel!=$row_std->titel)
if ($row->titel!=$row_std->titelpre)
$update=1;
elseif ($row->vornamen!=$row_std->vornamen)
elseif ($vorname!=$vorname)
$update=2;
elseif ($row->nachname!=$row_std->nachname)
$update=3;
@@ -154,20 +234,21 @@
$update=10;
if ($update)
{
$text.="Der Student $row->vornamen $row->nachname ($row->uid) wird upgedatet.\r";
$text.="Der Student $row->vornamen $row->nachname ($row->uid) [$update] wird upgedatet.\r";
// person
$sql_query="UPDATE tbl_person SET titel='$row->titel', vornamen='$row->vornamen', ".
$sql_query="UPDATE public.tbl_person SET titelpre='$row->titel', vornamen='$vornamen', vorname='$vorname', ".
" nachname='$row->nachname', gebdatum='$row->gebdatum', gebort='$row->gebort'".
" WHERE uid LIKE '$uid'";
echo $sql_query.'<BR>';
if(!$res_update=pg_exec($conn, $sql_query))
" WHERE person_id ='$row_std->person_id'";
//echo $sql_query.'<BR>';
if(!$res_update=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$update_error++;
}
// student
$sql_query="UPDATE tbl_student SET matrikelnr='$row->perskz', semester=$row->semester";
$sql_query="UPDATE public.tbl_student SET matrikelnr='$row->perskz', semester=$row->semester";
if ($row->verband==NULL)
$sql_query.=", verband=NULL";
else
@@ -177,9 +258,9 @@
else
$sql_query.=", gruppe='$row->gruppe'";
$sql_query.=", studiengang_kz=".$row->kennzahl;
$sql_query.=", updateamum=now(), updatevon='auto' WHERE uid LIKE '$uid'";
echo $sql_query.'<BR>';
if(!$res_update=pg_exec($conn, $sql_query))
$sql_query.=", updateamum=now(), updatevon='auto' WHERE student_uid = '$uid'";
//echo $sql_query.'<BR>';
if(!$res_update=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
@@ -187,6 +268,7 @@
}
else
$anz_update++;
}
}
// Student kommt mehrmals vor ->Warnung
@@ -209,7 +291,7 @@
$text.="$anz_update Studenten wurden upgedatet.\r";
$text.="$anz_insert Studenten wurden neu angelegt.\r\r";
$text.="\rEND OF SYNCHRONISATION\r";
if (mail($adress,"FAS Synchro mit VileSci (Studenten)",$text,"From: vilesci@technikum-wien.at"))
if (mail($adress,"FAS Synchro mit PORTAL (Studenten)",$text,"From: vilesci@technikum-wien.at"))
$sendmail=true;
else
$sendmail=false;
@@ -217,7 +299,7 @@
<html>
<head>
<title>FAS-Synchro mit VileSci (Studenten)</title>
<title>FAS-Synchro mit Portal (Studenten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
@@ -226,7 +308,7 @@ if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
echo $text;
echo nl2br($text);
?>
</body>
+1 -1
View File
@@ -131,7 +131,7 @@ if($result = pg_query($conn_vilesci, $qry))
$anzahl_fehler++;
}
else
$error_log .= "$row->nachname ($row->uid) hat keine Personalnummer\n";
$error_log .= "$row->nachname ($row->uid) wurde nicht in tbl_benutzer gefunden\n";
}
}
+37 -28
View File
@@ -30,6 +30,8 @@ require_once('../../include/gruppe.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
ini_set('max_execution_time','600');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
@@ -61,20 +63,37 @@ if($result = pg_query($conn_vilesci, $qry))
while($row = pg_fetch_object($result))
{
if($row->verband==0)
if($row->verband=='0')
$row->verband=' ';
if($row->gruppe=='0')
$row->gruppe=' ';
//fix fuer fehlerhafte Lehrverbaende
if(trim($row->semester)!='')
{
$verband=$row->verband;
if(trim($verband)!='')
$gruppe=$row->gruppe;
else
$gruppe=' ';
}
else
{
$verband=' ';
$gruppe=' ';
}
if($row->einheit_kurzbz=='')
{
//Lehrverbandsgruppe
$lvb_obj = new lehrverband($conn);
if(!$lvb_obj->exists($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe))
if(!$lvb_obj->exists($row->studiengang_kz, $row->semester, $verband, $gruppe))
{
$lvb_obj->studiengang_kz = $row->studiengang_kz;
$lvb_obj->semester = $row->semester;
$lvb_obj->verband = $row->verband;
$lvb_obj->gruppe = $row->gruppe;
$lvb_obj->verband = $verband;
$lvb_obj->gruppe = $gruppe;
$lvb_obj->aktiv = false;
if(!$lvb_obj->save())
{
@@ -99,8 +118,8 @@ if($result = pg_query($conn_vilesci, $qry))
$grp_obj->new = true;
//Bei Spezialgruppen keinen Verband/Gruppe angeben
$row->verband=' ';
$row->gruppe=' ';
$verband=' ';
$gruppe=' ';
if(!$grp_obj->save())
{
@@ -140,17 +159,6 @@ if($result = pg_query($conn_vilesci, $qry))
else
$qry.="'".$row->stundenplan_id."'";
//fix fuer fehlerhafte Lehrverbaende
if(trim($row->semester)!='')
$verb=$row->verband;
else
$verb=' ';
if(trim($verb)!='')
$gruppe=$row->gruppe;
else
$gruppe=' ';
$qry.=",".myaddslashes($row->unr).",".
myaddslashes($row->uid).",".
myaddslashes($row->datum).",".
@@ -165,17 +173,18 @@ if($result = pg_query($conn_vilesci, $qry))
myaddslashes($lehreinheit_id).",".
myaddslashes($row->studiengang_kz).",".
myaddslashes($row->semester).",'".
($verb!=''?addslashes($verb):' ')."','".
(($gruppe!='' && $gruppe!=0)?addslashes($gruppe):' ')."');";
if(pg_query($conn,$qry))
{
$anzahl_eingefuegt++;
}
else
{
$anzahl_fehler++;
$error_log.= 'Fehler beim Einfuegen: '.$qry;
}
$verband."','".
$gruppe."');";
echo $qry.'<br>';
if(pg_query($conn,$qry))
{
$anzahl_eingefuegt++;
}
else
{
$anzahl_fehler++;
$error_log.= 'Fehler beim Einfuegen: '.$qry;
}
}
}
else
@@ -126,7 +126,7 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
{
$qry = "SELECT distinct tbl_lehrfach.bezeichnung as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
$qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -134,7 +134,7 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT distinct tbl_lehrfach.bezeichnung as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
$qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -169,7 +169,26 @@ if($result = pg_query($conn, $qry))
}
$lektoren .=')';
}
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren</OPTION>\n";
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_gruppen = pg_query($conn, $qry_gruppen))
{
$gruppen = '( ';
$i=0;
while($row_gruppen = pg_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<pg_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
$gruppen.=')';
}
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren $gruppen</OPTION>\n";
}
echo '</SELECT> ';
}
+23 -3
View File
@@ -126,7 +126,7 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
{
$qry = "SELECT distinct tbl_lehrfach.bezeichnung as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
$qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -134,7 +134,7 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT distinct tbl_lehrfach.bezeichnung as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
$qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -167,9 +167,29 @@ if($result = pg_query($conn, $qry))
else
$lektoren.=' ';
}
$lektoren .=')';
}
echo "<OPTION value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren</OPTION>\n";
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_gruppen = pg_query($conn, $qry_gruppen))
{
$gruppen = '( ';
$i=0;
while($row_gruppen = pg_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<pg_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
$gruppen.=')';
}
echo "<OPTION value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren $gruppen</OPTION>\n";
}
echo '</SELECT> ';
}
@@ -108,7 +108,7 @@ if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
//Lehreinheiten laden zu denen der eingeloggte Student zugeteilt ist
$qry = "SELECT distinct lehreinheit_id, bezeichnung FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE lehreinheit_id IN(
$qry = "SELECT distinct lehreinheit_id, kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE lehreinheit_id IN(
SELECT lehreinheit_id FROM public.tbl_benutzergruppe JOIN lehre.tbl_lehreinheitgruppe USING (gruppe_kurzbz)
WHERE tbl_benutzergruppe.uid='$user' AND
tbl_lehreinheitgruppe.lehreinheit_id IN(
@@ -169,9 +169,29 @@ if($result = pg_query($conn, $qry))
else
$lektoren.=' ';
}
$lektoren .=')';
}
echo "<OPTION value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->bezeichnung $lektoren</OPTION>\n";
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_gruppen = pg_query($conn, $qry_gruppen))
{
$gruppen = '( ';
$i=0;
while($row_gruppen = pg_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<pg_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
$gruppen.=')';
}
echo "<OPTION value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->kurzbz $lektoren $gruppen</OPTION>\n";
}
echo '</SELECT> ';
}
@@ -126,7 +126,7 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
{
$qry = "SELECT distinct tbl_lehrfach.bezeichnung as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
$qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -134,7 +134,7 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT distinct tbl_lehrfach.bezeichnung as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
$qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -169,7 +169,26 @@ if($result = pg_query($conn, $qry))
}
$lektoren .=')';
}
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren</OPTION>\n";
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_gruppen = pg_query($conn, $qry_gruppen))
{
$gruppen = '( ';
$i=0;
while($row_gruppen = pg_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<pg_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
$gruppen.=')';
}
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren $gruppen</OPTION>\n";
}
echo '</SELECT> ';
}
+22 -3
View File
@@ -140,7 +140,7 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
{
$qry = "SELECT distinct tbl_lehrfach.bezeichnung as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
$qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -148,7 +148,7 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT distinct tbl_lehrfach.bezeichnung as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
$qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -183,7 +183,26 @@ if($result = pg_query($conn, $qry))
}
$lektoren .=')';
}
echo "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren</OPTION>\n";
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_gruppen = pg_query($conn, $qry_gruppen))
{
$gruppen = '( ';
$i=0;
while($row_gruppen = pg_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<pg_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
$gruppen.=')';
}
echo "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren $gruppen</OPTION>\n";
}
echo '</SELECT> ';
}
+12 -7
View File
@@ -93,7 +93,7 @@
echo "<tr><td>&nbsp;</td></tr>";
echo "<tr>";
echo " <td width=\"390\" class=\"ContentHeader2\">";
echo " $row->kurzbzlang - $row->bezeichnung<a name=\"$row->studiengang_kz\">&nbsp;</a></td>";
echo " $row->kuerzel - $row->bezeichnung<a name=\"$row->studiengang_kz\">&nbsp;</a></td>";
echo " <td width=\"20\"class=\"ContentHeader2\">&nbsp;</td>";
echo " <td width=\"200\"class=\"ContentHeader2\">&nbsp;</td>";
echo " <td width=\"100\"class=\"ContentHeader2\" align=\"right\"><a class=\"Item2\" href=\"mailverteiler.php#\">top&nbsp;</a></td>";
@@ -186,7 +186,7 @@
echo '</td></tr></table>';
echo '<table border="0" cellspacing="0" cellpadding="0" id="'.$row->kuerzel.'" style="display: none">';
//$sql_query1 = "SELECT DISTINCT semester FROM public.tbl_student where studiengang_kz ='$row->studiengang_kz' AND uid NOT LIKE '_dummy%' ORDER BY semester";
//$sql_query1 = "SELECT DISTINCT studiengang_kz, semester, verband, gruppe FROM public.tbl_student where studiengang_kz ='$row->studiengang_kz' AND student_uid NOT LIKE '_dummy%' ORDER BY semester";
$lv_obj = new lehrverband($conn);
$lv_obj->getlehrverband($row->studiengang_kz);
@@ -198,9 +198,13 @@
{
$qry_cnt = "SELECT count(*) as anzahl FROM public.tbl_student WHERE studiengang_kz='$row1->studiengang_kz' AND semester='$row1->semester' AND student_uid NOT LIKE '_Dummy%'";
if(trim($row1->verband)!='')
{
$qry_cnt .= " AND verband='$row1->verband'";
if(trim($row1->gruppe)!='')
$qry_cnt .= " AND gruppe='$row1->gruppe'";
if(trim($row1->gruppe)!='')
$qry_cnt .= " AND gruppe='$row1->gruppe'";
}
if($row_cnt = pg_fetch_object(pg_query($conn, $qry_cnt)))
{
@@ -217,9 +221,10 @@
}
if(trim($row1->gruppe)!='')
{
$param .="&grp=$row1->gruppe";
echo " Gruppe $row1->gruppe";
}
$param .="&grp=$row1->gruppe";
echo " Gruppe $row1->gruppe";
}
echo "</td>";
echo " <td width='20'></td>";
echo " <td width=\"200\"><a href='mailto:$strhelp@technikum-wien.at' class=\"Item\">$strhelp@technikum-wien.at</a></td>";
+1 -1
View File
@@ -114,7 +114,7 @@ class lehrverband
function getlehrverband($studiengang_kz=null, $semester=null, $verband=null)
{
$qry = 'SELECT * FROM public.tbl_lehrverband WHERE 1=1';
$qry = 'SELECT * FROM public.tbl_lehrverband WHERE aktiv=true';
if(!is_null($studiengang_kz))
$qry .=' AND studiengang_kz='.$this->addslashes($studiengang_kz);
if(!is_null($semester))