mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
- sync_fas_lkt
- Kreuzerltool bugfixes - lehreinheit syncro bugfix
This commit is contained in:
+6
-1
@@ -33,6 +33,11 @@
|
||||
<UL>
|
||||
<LI><A href="sync/sync_ects_lvinfo.php" class="linkblue">LV INFO - ECTS</A></LI>
|
||||
</UL>
|
||||
<H3>FAS-Portal</H3>
|
||||
<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>
|
||||
</UL>
|
||||
<H3>VileSci-Syncs</H3>
|
||||
<!--<UL>
|
||||
<LI> <A href="sync/sync_fas_lva.php" class="linkblue">Lehrveranstaltungen vom FAS</A></LI>
|
||||
@@ -59,8 +64,8 @@
|
||||
<li><a href="sync/sync_vilesci_portal_news.php" target="_blank" class="linkblue">News</a></li>
|
||||
<li><a href="sync/sync_vilesci_portal_lehrform.php" target="_blank" class="linkblue">Lehrform</a></li>
|
||||
<li><a href="sync/sync_vilesci_portal_lehrfach.php" target="_blank" class="linkblue">Lehrfach</a></li>
|
||||
<li><a href="sync/sync_vilesci_portal_lvinfo.php" target="_blank" class="linkblue">LVinfo</a></li>
|
||||
<li><a href="sync/sync_vilesci_portal_lehrveranstaltung.php" target="_blank" class="linkblue">Lehrveranstaltung</a></li>
|
||||
<li><a href="sync/sync_vilesci_portal_lvinfo.php" target="_blank" class="linkblue">LVinfo</a></li>
|
||||
<li><a href="sync/sync_vilesci_portal_benutzerlvstudiensemester.php" target="_blank" class="linkblue">BenutzerLVStudiensemester</a></li>
|
||||
<li><a href="sync/sync_vilesci_portal_lehreinheit.php" target="_blank" class="linkblue">Lehreinheit</a></li>
|
||||
<li><a href="sync/sync_vilesci_portal_feedback.php" target="_blank" class="linkblue">Feedback</a></li>
|
||||
|
||||
+150
-70
@@ -1,5 +1,25 @@
|
||||
<?php
|
||||
include ('../../vilesci/config.inc.php');
|
||||
/* 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');
|
||||
|
||||
function clean_string($string)
|
||||
{
|
||||
@@ -27,131 +47,191 @@
|
||||
return $string;
|
||||
}
|
||||
|
||||
$adress='fas_sync@technikum-wien.at';
|
||||
//$adress='fas_sync@technikum-wien.at';
|
||||
$adress='tw_tester@technikum-wien.at';
|
||||
|
||||
//mail($adress,"FAS Synchro mit VILESCI (Lektoren)","BEGIN OF SYNCHRONISATION","From: vilesci@technikum-wien.at");
|
||||
$conn=pg_connect(CONN_STRING);
|
||||
$conn_fas=pg_connect(CONN_STRING_FAS);
|
||||
|
||||
// Anzahl der Mitarbeiter in VILESCI
|
||||
$sql_query="SELECT count(*) AS anz FROM tbl_mitarbeiter WHERE uid NOT LIKE '\\\\_%'";
|
||||
// Anzahl der Mitarbeiter in PORTAL
|
||||
$sql_query="SELECT count(*) AS anz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid NOT LIKE '\\\\_%'";
|
||||
//echo $sql_query."<br>";
|
||||
$result=pg_exec($conn, $sql_query);
|
||||
$result=pg_query($conn, $sql_query);
|
||||
$vil_anz_mta=pg_fetch_result($result,0,'anz');
|
||||
|
||||
// Start Studenten Synchro
|
||||
$sql_query="SELECT * FROM vw_vilesci_mitarbeiter_aktiv WHERE uid IS NOT NULL AND uid NOT LIKE ''"; // LIMIT 5";
|
||||
//echo $sql_query."<br>";
|
||||
$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 Mitarbeiter vom FAS-Import: $num_rows \r";
|
||||
$text.="Anzahl der Mitarbeiter in der VILESCI: $vil_anz_mta \r\r";
|
||||
$text.="Anzahl der Mitarbeiter in PORTAL: $vil_anz_mta \r\r";
|
||||
$plausi_error=0;
|
||||
$update_error=0;
|
||||
$insert_error=0;
|
||||
$double_error=0;
|
||||
$anz_update=0;
|
||||
$anz_insert=0;
|
||||
for ($i=0;$i<$num_rows;$i++)
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
$row=pg_fetch_object($result,$i);
|
||||
$row->gebort=substr($row->gebort,0,30);
|
||||
//$row->titel=substr($row->titel,0,15);
|
||||
$uid=str_replace(' ','',$row->uid);
|
||||
// Plausibilitaetscheck
|
||||
if (strlen($row->titel)>64)
|
||||
if (strlen($row->titel)>32)
|
||||
$text.="Der Mitarbeiter $row->titel $row->vornamen $row->nachname ($row->uid) hat einen zu langen Titel.\r";
|
||||
if (strlen($row->titel)<=64)
|
||||
if (strlen($row->titel)<=32)
|
||||
{
|
||||
// SQL vorbereiten (jeden Mitarbeiter vom FAS in VILESCI suchen
|
||||
$sql_query="SELECT uid,titel,vornamen,nachname,gebdatum,gebort,";
|
||||
$sql_query="SELECT uid,titelpre,vorname,nachname,gebdatum,gebort,";
|
||||
$sql_query.="personalnummer";
|
||||
$sql_query.=" FROM tbl_person NATURAL JOIN tbl_mitarbeiter WHERE uid LIKE '$uid'";
|
||||
$sql_query.=" FROM campus.vw_mitarbeiter WHERE uid = '$uid'";
|
||||
//echo $sql_query;
|
||||
$res_std=pg_exec($conn, $sql_query);
|
||||
$num_rows_std=pg_numrows($res_std);
|
||||
$res_lkt=pg_query($conn, $sql_query);
|
||||
$num_rows_lkt=pg_num_rows($res_lkt);
|
||||
|
||||
// neue Lektoren
|
||||
if ($num_rows_std==0)
|
||||
if ($num_rows_lkt==0)
|
||||
{
|
||||
$text.="Der Lektor $row->vornamen $row->nachname ($row->uid) wird neu angelegt.\r";
|
||||
pg_query($conn, "BEGIN");
|
||||
// person
|
||||
$qry="INSERT INTO tbl_person(uid,titel,vornamen, nachname, gebdatum, gebort) ".
|
||||
"VALUES('$uid','$row->titel','$row->vornamen','$row->nachname','$row->gebdatum','$row->gebort')";
|
||||
echo $qry.'<BR>';
|
||||
if(!$res_insert=pg_exec($conn, $qry))
|
||||
if(!$len=strpos($row->vornamen,' '))
|
||||
{
|
||||
$text.=$qry;
|
||||
$text.="\rFehler: ".pg_errormessage($conn)."\r";
|
||||
$insert_error++;
|
||||
}
|
||||
|
||||
//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 tbl_person set alias='$alias' where uid='$uid'";
|
||||
if(!$res_insert=pg_exec($conn, $qry))
|
||||
{
|
||||
$text.=$qry;
|
||||
$text.="\rFehler: Alias existiert bereits: $alias";
|
||||
$insert_error++;
|
||||
}
|
||||
// lektor
|
||||
$sql_query="INSERT INTO tbl_mitarbeiter (uid,personalnummer,kurzbz,lektor,telefonklappe,fixangestellt) ".
|
||||
"VALUES('$row->uid','$row->persnr','$row->kurzbez',true,'$row->teltw',".($row->fixangestellt?'true':'false').")";
|
||||
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));
|
||||
}
|
||||
$qry = "INSERT INTO public.tbl_person(titelpre, nachname, vorname, vornamen, gebdatum, gebort, aktiv)
|
||||
VALUES('$row->titel','$row->nachname','$vorname','$vornamen','$row->gebdatum','$row->gebort',true);";
|
||||
echo $qry.'<BR>';
|
||||
|
||||
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_exec($conn, $qry))
|
||||
{
|
||||
$text.=$qry;
|
||||
$text.="\rFehler: Alias existiert bereits: $alias";
|
||||
$insert_error++;
|
||||
}
|
||||
|
||||
// Mitarbeiterdatensatz
|
||||
$sql_query="INSERT INTO tbl_mitarbeiter (mitarbeiter_uid,personalnummer,telefonklappe,kurzbz,lektor,fixangestellt, insertamum, insertvon, updateamum, updatevon) ".
|
||||
"VALUES('$row->uid','$row->persnr','$row->teltw','$row->kurzbez',true,".($row->fixangestellt?'true':'false').",now(),'auto',now(),'auto')";
|
||||
echo $sql_query.'<BR>';
|
||||
if(!$res_insert=pg_query($conn, $sql_query))
|
||||
{
|
||||
$text.=$sql_query;
|
||||
$text.="\rFehler: ".pg_errormessage($conn)."\r";
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
$insert_error++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$anz_insert++;
|
||||
pg_query($conn, 'COMMIT');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
// bestehende Lektoren
|
||||
elseif ($num_rows_std==1)
|
||||
{
|
||||
elseif ($num_rows_lkt==1)
|
||||
{
|
||||
$update=0;
|
||||
$row_std=pg_fetch_object($res_std,0);
|
||||
if ($row->gruppe==NULL)
|
||||
$row->gruppe=1;
|
||||
if ($row->titel!=$row_std->titel)
|
||||
$row_lkt=pg_fetch_object($res_lkt,0);
|
||||
|
||||
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_lkt->titelpre)
|
||||
$update=1;
|
||||
elseif ($row->vornamen!=$row_std->vornamen)
|
||||
elseif ($vorname!=$row_lkt->vorname)
|
||||
$update=2;
|
||||
elseif ($row->nachname!=$row_std->nachname)
|
||||
elseif ($row->nachname!=$row_lkt->nachname)
|
||||
$update=3;
|
||||
elseif ($row->gebdatum!=$row_std->gebdatum)
|
||||
elseif ($row->gebdatum!=$row_lkt->gebdatum)
|
||||
$update=4;
|
||||
elseif ($row->gebort!=$row_std->gebort)
|
||||
elseif ($row->gebort!=$row_lkt->gebort)
|
||||
$update=5;
|
||||
elseif ($row->persnr!=$row_std->personalnummer)
|
||||
elseif ($row->persnr!=$row_lkt->personalnummer)
|
||||
$update=6;
|
||||
if ($update)
|
||||
{
|
||||
$text.="Der Lektor $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', vorname='$vorname', vornamen='$vornamen', ".
|
||||
" nachname='$row->nachname', gebdatum='$row->gebdatum', gebort='$row->gebort'".
|
||||
" WHERE uid LIKE '$uid'";
|
||||
" WHERE person_id=(SELECT person_id FROM public.tbl_benutzer WHERE uid='$uid')";
|
||||
echo $sql_query.'<BR>';
|
||||
if(!$res_update=pg_exec($conn, $sql_query))
|
||||
if(!$res_update=pg_query($conn, $sql_query))
|
||||
{
|
||||
$text.=$sql_query;
|
||||
$text.="\rFehler: ".pg_errormessage($conn)."\r";
|
||||
$update_error++;
|
||||
}
|
||||
|
||||
$sql_query="UPDATE tbl_mitarbeiter SET personalnummer='$row->persnr',fixangestellt=".($row->fixangestellt?'TRUE':'FALSE');
|
||||
$sql_query.=" WHERE uid LIKE '$uid'";
|
||||
$sql_query="UPDATE public.tbl_mitarbeiter SET personalnummer='$row->persnr',fixangestellt=".($row->fixangestellt?'TRUE':'FALSE');
|
||||
$sql_query.=" WHERE mitarbeiter_uid LIKE '$uid'";
|
||||
echo $sql_query.'<BR>'; // kurzbz='$row->kurzbez',
|
||||
if(!$res_update=pg_exec($conn, $sql_query))
|
||||
if(!$res_update=pg_query($conn, $sql_query))
|
||||
{
|
||||
$text.=$sql_query;
|
||||
$text.="\rFehler: ".pg_errormessage($conn)."\r";
|
||||
@@ -162,7 +242,7 @@
|
||||
}
|
||||
}
|
||||
// Lektor kommt mehrmals vor ->Warnung
|
||||
elseif ($num_rows_std>1)
|
||||
elseif ($num_rows_lkt>1)
|
||||
{
|
||||
$text.="\r!!! Der Lektor $row->vornamen $row->nachname ($row->uid) kommt mehrfach vor!\r";
|
||||
$double_error++;
|
||||
@@ -178,7 +258,7 @@
|
||||
$text.="$anz_update Lektoren wurden upgedatet.\r";
|
||||
$text.="$anz_insert Lektoren wurden neu angelegt.\r\r";
|
||||
$text.="\rEND OF SYNCHRONISATION\r";
|
||||
if (mail($adress,"FAS Synchro mit VileSci (Lektoren)",$text,"From: vilesci@technikum-wien.at"))
|
||||
if (mail($adress,"FAS Synchro mit PORTAL (Lektoren)",$text,"From: vilesci@technikum-wien.at"))
|
||||
$sendmail=true;
|
||||
else
|
||||
$sendmail=false;
|
||||
@@ -195,7 +275,7 @@ if ($sendmail)
|
||||
echo 'Mail wurde verschickt an '.$adress.'!<br>';
|
||||
else
|
||||
echo "Mail konnte nicht verschickt werden!<br>";
|
||||
echo $text;
|
||||
echo nl2br($text);
|
||||
|
||||
?>
|
||||
</body>
|
||||
|
||||
@@ -27,10 +27,11 @@
|
||||
JA
|
||||
//update ist nicht implementiert
|
||||
NEIN
|
||||
GLEICHE LEHREINHEIT MIT ANDERER GRUPPE (ABER GLEICHER LEKTOR) BEREITS VORHANDEN?
|
||||
GLEICHE LEHREINHEIT MIT ANDERER GRUPPE/LEKTOR BEREITS VORHANDEN?
|
||||
JA
|
||||
ZU SYNCTAB HINZUFUEGEN
|
||||
GRUPPE HINZUFUEGEN
|
||||
LEKTOR HINZUFUEGEN
|
||||
NEIN
|
||||
LEHREINHEIT ANLEGEN
|
||||
ZU SYNCTAB HINZUFUEGEN
|
||||
@@ -52,6 +53,37 @@ $text = '';
|
||||
$anzahl_eingefuegt=0;
|
||||
$anzahl_fehler=0;
|
||||
|
||||
function lektorzuweisen($lehreinheit_id, $uid, $semesterstunden, $fas_id)
|
||||
{
|
||||
global $error_log, $conn;
|
||||
//Lektor Zuweisen
|
||||
$lektor = new lehreinheitmitarbeiter($conn);
|
||||
if(!$lektor->exists($lehreinheit_id, $uid))
|
||||
{
|
||||
$lektor->lehreinheit_id = $lehreinheit_id;
|
||||
$lektor->mitarbeiter_uid = $uid;
|
||||
$lektor->semesterstunden = $semesterstunden;
|
||||
$lektor->planstunden = $semesterstunden;
|
||||
$lektor->lehrfunktion_kurzbz ='lektor';
|
||||
$lektor->stundensatz = '';
|
||||
$lektor->faktor = 1;
|
||||
$lektor->anmerkung = '';
|
||||
$lektor->ext_id = $fas_id;
|
||||
|
||||
if($lektor->save(true))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.=$lektor->errormsg;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
function gruppezuweisen($id,$studiengang_kz, $semester, $verband, $gruppe, $einheit_kurzbz)
|
||||
{
|
||||
global $error_log,$conn;
|
||||
@@ -105,19 +137,25 @@ function gruppezuweisen($id,$studiengang_kz, $semester, $verband, $gruppe, $einh
|
||||
{
|
||||
//Gruppe Zuweisen
|
||||
$gruppe1 = new lehreinheitgruppe($conn);
|
||||
$gruppe1->lehreinheit_id = $id;
|
||||
$gruppe1->studiengang_kz = $studiengang_kz;
|
||||
$gruppe1->semester = $semester;
|
||||
$gruppe1->verband = $verband;
|
||||
$gruppe1->gruppe = $gruppe;
|
||||
$gruppe1->gruppe_kurzbz = strtoupper($einheit_kurzbz);
|
||||
if($gruppe1->save(true))
|
||||
return true;
|
||||
else
|
||||
//Wenn diese Gruppenzuteilung noch nicht vorhanden ist
|
||||
if(!$gruppe1->exists($id, $studiengang_kz, $semester, $verband, $gruppe, $einheit_kurzbz))
|
||||
{
|
||||
$error_log .= $gruppe1->errormsg."\n";
|
||||
return false;
|
||||
$gruppe1->lehreinheit_id = $id;
|
||||
$gruppe1->studiengang_kz = $studiengang_kz;
|
||||
$gruppe1->semester = $semester;
|
||||
$gruppe1->verband = $verband;
|
||||
$gruppe1->gruppe = $gruppe;
|
||||
$gruppe1->gruppe_kurzbz = strtoupper($einheit_kurzbz);
|
||||
if($gruppe1->save(true))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$error_log .= $gruppe1->errormsg."\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
@@ -135,7 +173,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
|
||||
//Schauen ob Sync table vorhanden ist
|
||||
$qry = "SELECT 1 FROM public.tbl_synclehreinheit;";
|
||||
if(!pg_query($conn,$qry))
|
||||
if(!@pg_query($conn,$qry))
|
||||
{
|
||||
//Die synctabelle wird benoetigt um die Verbindung der LehrveranstaltungsID(Vilesci) und der
|
||||
//LehreinheitID(Portal) Festzuhalten um beim Syncro vom Stundenplan die richitge Zuordnung zu haben.
|
||||
@@ -147,6 +185,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
lehreinheit_id_portal integer,
|
||||
PRIMARY KEY(lehrveranstaltung_id_vilesci, lehreinheit_id_portal)
|
||||
);";
|
||||
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$error=true;
|
||||
@@ -178,7 +217,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE ext_id='".addslashes($row->lehrfach_nr)."'";
|
||||
if($row1 = pg_fetch_object(pg_query($conn, $qry)))
|
||||
{
|
||||
//Wenn alles gleich ist ausser die Gruppe dann wird nur die gruppe zur LE hinzugefuegt
|
||||
//Wenn alles gleich ist ausser die Gruppe dann wird nur die gruppe bzw Lektor zur LE hinzugefuegt
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter using(lehreinheit_id) WHERE
|
||||
lehrveranstaltung_id='$row1->lehrveranstaltung_id' AND
|
||||
studiensemester_kurzbz='$row->studiensemester_kurzbz' AND
|
||||
@@ -195,21 +234,41 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
if(pg_num_rows($result2)>0)
|
||||
{
|
||||
//Lehreinheit vorhanden. Es muss nur noch der Gruppeneintrag eingetragen werden
|
||||
//Lehreinheit vorhanden. Es muss nur noch Gruppe bzw Lektor eingetragen werden
|
||||
if($row_val = pg_fetch_object($result2))
|
||||
{
|
||||
if(gruppezuweisen($row_val->lehreinheit_id, $row->studiengang_kz, $row->semester,$row->verband, $row->gruppe, $row->einheit_kurzbz))
|
||||
pg_query($conn, 'BEGIN');
|
||||
if(lektorzuweisen($row_val->lehreinheit_id, $row->lektor, $row->semesterstunden, $row->fas_id))
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_synclehreinheit(lehrveranstaltung_id_vilesci, lehreinheit_id_portal)
|
||||
VALUES('".$row->lehrveranstaltung_id."','".$row_val->lehreinheit_id."');";
|
||||
if(pg_query($conn,$qry))
|
||||
if(gruppezuweisen($row_val->lehreinheit_id, $row->studiengang_kz, $row->semester,$row->verband, $row->gruppe, $row->einheit_kurzbz))
|
||||
{
|
||||
$anzahl_eingefuegt++;
|
||||
$qry = "INSERT INTO public.tbl_synclehreinheit(lehrveranstaltung_id_vilesci, lehreinheit_id_portal)
|
||||
VALUES('".$row->lehrveranstaltung_id."','".$row_val->lehreinheit_id."');";
|
||||
|
||||
if(pg_query($conn,$qry))
|
||||
{
|
||||
$anzahl_eingefuegt++;
|
||||
pg_query($conn,'COMMIT');
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.="Fehler beim Schreiben des Logs\n";
|
||||
$anzahl_fehler++;
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.="Fehler beim zuteilen der Gruppe: $row->lehrveranstaltung_id\n";
|
||||
$anzahl_fehler++;
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
$error_log.="Fehler beim zuteilen des Lektors: $row->lehrveranstaltung_id\n";
|
||||
$anzahl_fehler++;
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -262,27 +321,14 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
if(gruppezuweisen($row_val->id, $row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->einheit_kurzbz))
|
||||
{
|
||||
//Lektor Zuweisen
|
||||
$lektor = new lehreinheitmitarbeiter($conn);
|
||||
$lektor->lehreinheit_id = $row_val->id;
|
||||
$lektor->mitarbeiter_uid = $row->lektor;
|
||||
$lektor->semesterstunden = $row->semesterstunden;
|
||||
$lektor->planstunden = $row->semesterstunden;
|
||||
$lektor->lehrfunktion_kurzbz ='lektor';
|
||||
$lektor->stundensatz = '';
|
||||
$lektor->faktor = 1;
|
||||
$lektor->anmerkung = '';
|
||||
$lektor->ext_id = $row->fas_id;
|
||||
|
||||
if($lektor->save(true))
|
||||
if(lektorzuweisen($row_val->id, $row->lektor, $row->semesterstunden, $row->fas_id))
|
||||
{
|
||||
pg_query($conn,'COMMIT');
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($conn,'ROLLBACK');
|
||||
$error_log .= $lektor->errormsg."\n";
|
||||
pg_query($conn,'ROLLBACK');
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ if(!pg_query($conn_vilesci,$qry))
|
||||
}
|
||||
|
||||
// Erhalter anlegen
|
||||
$result=pg_exec($conn, "INSERT INTO tbl_erhalter VALUES(5,'TW','Technikum Wien')");
|
||||
//$result=pg_exec($conn, "INSERT INTO tbl_erhalter VALUES(5,'TW','Technikum Wien')");
|
||||
|
||||
/*************************
|
||||
* VileSci-Synchronisation
|
||||
@@ -24,11 +24,11 @@ $result=pg_exec($conn, "INSERT INTO tbl_erhalter VALUES(5,'TW','Technikum Wien'
|
||||
$sql_query='SELECT * FROM tbl_studiengang';
|
||||
//echo $sql_query.'<br>';
|
||||
$stg_vilesci=pg_exec($conn_vilesci, $sql_query);
|
||||
pg_query($conn, "SET CLIENT_ENCODING TO 'LATIN1';");
|
||||
//pg_query($conn, "SET CLIENT_ENCODING TO 'LATIN1';");
|
||||
while ($stg=pg_fetch_object($stg_vilesci))
|
||||
{
|
||||
$sql_query="INSERT INTO tbl_studiengang(studiengang_kz, kurzbz, kurzbzlang, bezeichnung, typ, farbe, email, max_semester, max_verband, max_gruppe, erhalter_kz)
|
||||
VALUES ($stg->studiengang_kz,'$stg->kurzbz','$stg->kurzbzlang','$stg->bezeichnung',
|
||||
VALUES ($stg->studiengang_kz,'$stg->kurzbz', '$stg->kurzbzlang','$stg->bezeichnung',
|
||||
'$stg->typ','$stg->farbe','$stg->email',$stg->max_semester,'$stg->max_verband','$stg->max_gruppe',5)";
|
||||
if (!$result=@pg_exec($conn, $sql_query))
|
||||
echo pg_last_error($conn).'<br>--'.$sql_query.'<br>';
|
||||
|
||||
@@ -126,7 +126,7 @@ $stsem_content.= "</SELECT>\n";
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
$qry = "SELECT distinct tbl_lehrfach.bezeichnung 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 tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
$qry = "SELECT distinct tbl_lehrfach.bezeichnung 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
|
||||
@@ -157,8 +157,16 @@ if($result = pg_query($conn, $qry))
|
||||
if($result_lektoren = pg_query($conn, $qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = pg_fetch_object($result_lektoren))
|
||||
$lektoren .= $row_lektoren->kurzbz.' ';
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<pg_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren</OPTION>\n";
|
||||
|
||||
@@ -126,7 +126,7 @@ $stsem_content.= "</SELECT>\n";
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
$qry = "SELECT distinct tbl_lehrfach.bezeichnung 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 tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
$qry = "SELECT distinct tbl_lehrfach.bezeichnung 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
|
||||
@@ -157,8 +157,16 @@ if($result = pg_query($conn, $qry))
|
||||
if($result_lektoren = pg_query($conn, $qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = pg_fetch_object($result_lektoren))
|
||||
$lektoren .= $row_lektoren->kurzbz.' ';
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<pg_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
echo "<OPTION value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren</OPTION>\n";
|
||||
|
||||
@@ -159,8 +159,16 @@ if($result = pg_query($conn, $qry))
|
||||
if($result_lektoren = pg_query($conn, $qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = pg_fetch_object($result_lektoren))
|
||||
$lektoren .= $row_lektoren->kurzbz.' ';
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<pg_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
echo "<OPTION value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->bezeichnung $lektoren</OPTION>\n";
|
||||
|
||||
@@ -126,7 +126,7 @@ $stsem_content.= "</SELECT>\n";
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
$qry = "SELECT distinct tbl_lehrfach.bezeichnung 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 tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
$qry = "SELECT distinct tbl_lehrfach.bezeichnung 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
|
||||
@@ -157,8 +157,16 @@ if($result = pg_query($conn, $qry))
|
||||
if($result_lektoren = pg_query($conn, $qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = pg_fetch_object($result_lektoren))
|
||||
$lektoren .= $row_lektoren->kurzbz.' ';
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<pg_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren</OPTION>\n";
|
||||
|
||||
@@ -140,7 +140,7 @@ $stsem_content.= "</SELECT>\n";
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
$qry = "SELECT distinct tbl_lehrfach.bezeichnung 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 tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
$qry = "SELECT distinct tbl_lehrfach.bezeichnung 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
|
||||
@@ -171,8 +171,16 @@ if($result = pg_query($conn, $qry))
|
||||
if($result_lektoren = pg_query($conn, $qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = pg_fetch_object($result_lektoren))
|
||||
$lektoren .= $row_lektoren->kurzbz.' ';
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<pg_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
echo "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $lektoren</OPTION>\n";
|
||||
|
||||
@@ -118,7 +118,7 @@ Results: <?php echo $num_rows; ?><br>
|
||||
<!--<FONT class="beschriftung"><small>(frühestens ab Sommer in Verwendung)</small></FONT><BR>-->
|
||||
<?php
|
||||
if($email!='')
|
||||
echo "<FONT class='beschriftung'>Extern:</FONT>$email";
|
||||
echo "<br><FONT class='beschriftung'>Extern:</FONT>$email";
|
||||
?>
|
||||
|
||||
</P>
|
||||
|
||||
@@ -171,5 +171,36 @@ class lehreinheitgruppe
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function exists($lehreinheit_id, $studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
|
||||
if($gruppe_kurzbz!='')
|
||||
{
|
||||
$qry .= " AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry .= " AND semester='$semester'";
|
||||
if($verband!='')
|
||||
$qry .= " AND verband='$verband'";
|
||||
if($gruppe!='')
|
||||
$qry .= " AND gruppe='$gruppe'";
|
||||
}
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehreinheitgruppen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -150,5 +150,28 @@ class lehreinheitmitarbeiter
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function exists($lehreinheit_id, $uid)
|
||||
{
|
||||
if(!is_numeric($lehreinheit_id))
|
||||
{
|
||||
$this->errormsg = 'lehreinheit_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id' AND mitarbeiter_uid='".addslashes($uid)."'";
|
||||
if($result=pg_query($this->conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim lesen der Lehreinheitmitarbeiter zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user