This commit is contained in:
Gerald Simane
2009-06-17 12:39:27 +00:00
parent 6ab9ec8015
commit 17545dd05d
20 changed files with 3798 additions and 3789 deletions
+392 -392
View File
@@ -1,393 +1,393 @@
<?php
/* Copyright (C) 2007
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require('../config.inc.php');
require('../../include/studiensemester.class.php');
require('../../include/datum.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$error_log='';
$error_log1='';
$error_log_all="";
$stgart='';
$fehler='';
$v='';
$erhalter='';
$zaehl=0;
$eteam=array();
$studiensemester=new studiensemester($conn);
$ssem=$studiensemester->getaktorNext(); //aktuelles Semester
$psem=$studiensemester->getPrevious(); //voriges Semester
$bsem=$studiensemester->getBeforePrevious(); //vorjähriges Semester
$datei='';
$mitarbeiterzahl=0;
$echt=0;
$frei=0;
$nichtmelden = array(11,91,92,94,999,203);
$datumobj=new datum();
if(strstr($ssem,"WS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")));
$bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")));
}
/*elseif(strstr($ssem,"SS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y")));
$bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1));
}*/
else
{
echo "Ungültiges Semester!";
exit;
}
$qry="SELECT * FROM public.tbl_erhalter";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
if(strlen(trim($row->erhalter_kz))==1)
{
$erhalter='00'.trim($row->erhalter_kz);
}
elseif(strlen(trim($row->erhalter_kz))==2)
{
$erhalter='0'.trim($row->erhalter_kz);
}
else
{
$erhalter=$row->erhalter_kz;
}
}
}
$qry="SELECT DISTINCT ON (UID) * FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
WHERE tbl_benutzer.aktiv AND bismelden AND personalnummer>1 AND mitarbeiter_uid!='_DummyLektor'
ORDER BY uid, nachname,vorname
";
/*
AND (ende>now() OR ende IS NULL)
bis.tbl_bisverwendung USING (mitarbeiter_uid)
bis.tbl_bisfunktion USING(bisverwendung_id)
bis.tbl_entwicklungsteam USING(mitarbeiter_uid)
public.tbl_benutzerfunktion
*/
if($result = pg_query($conn, $qry))
{
$datei.="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Erhalter>
<ErhKz>".$erhalter."</ErhKz>
<MeldeDatum>".date("dmY", $datumobj->mktime_fromdate($bisdatum))."</MeldeDatum>
<PersonalMeldung>";
while($row = pg_fetch_object($result))
{
$qryet="SELECT * FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."';";
if($resultet=pg_query($conn,$qryet))
{
while($rowet=pg_fetch_object($resultet))
{
$eteam[$rowet->studiengang_kz]=$rowet->besqualcode;
}
}
if($row->gebdatum=='' || $row->gebdatum==NULL)
{
if($error_log!='')
{
$error_log.=", Geburtsdatum ('".$row->gebdatum."')";
}
else
{
$error_log="Geburtsdatum ('".$row->gebdatum."')";
}
}
if($row->geschlecht=='' || $row->geschlecht==NULL)
{
if($error_log!='')
{
$error_log.=", Geschlecht ('".$row->geschlecht."')";
}
else
{
$error_log="Geschlecht ('".$row->geschlecht."')";
}
}
if($row->ausbildungcode=='' || $row->ausbildungcode==NULL)
{
if($error_log!='')
{
$error_log.=", HoechsteAbgeschlosseneAusbildung ('".$row->ausbildungcode."')";
}
else
{
$error_log="HoechsteAbgeschlosseneAusbildung ('".$row->ausbildungcode."')";
}
}
$datei.="
<Person>
<PersonalNummer>".sprintf("%015s",$row->personalnummer)."</PersonalNummer>
<GeburtsDatum>".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))."</GeburtsDatum>
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>
<HoechsteAbgeschlosseneAusbildung>".$row->ausbildungcode."</HoechsteAbgeschlosseneAusbildung>";
$qryvw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."' AND habilitation=true;";
if($resultvw=pg_query($conn,$qryvw))
{
if(pg_num_rows($resultvw)>0)
{
$datei.="
<Habilitation>J</Habilitation>";
}
else
{
$datei.="
<Habilitation>N</Habilitation>";
}
}
$qryvw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."' AND (ende is null OR ende>'$bisprevious') AND beginn<'$bisdatum';";
if($resultvw=pg_query($conn,$qryvw))
{
while($rowvw=pg_fetch_object($resultvw))
{
if($rowvw->ba1code=='' || $rowvw->ba1code==NULL)
{
if($error_log!='')
{
$error_log.=", Beschaeftigungsart1 ('".$rowvw->ba1code."')";
}
else
{
$error_log="Beschaeftigungsart1 ('".$rowvw->ba1code."')";
}
}
if($rowvw->ba2code=='' || $rowvw->ba2code==NULL)
{
if($error_log!='')
{
$error_log.=", Beschaeftigungsart2 ('".$rowvw->ba2code."')";
}
else
{
$error_log="Beschaeftigungsart2 ('".$rowvw->ba2code."')";
}
}
if($rowvw->beschausmasscode=='' || $rowvw->beschausmasscode==NULL)
{
if($error_log!='')
{
$error_log.=", BeschaeftigungsAusmass ('".$rowvw->beschausmasscode."')";
}
else
{
$error_log="BeschaeftigungsAusmass ('".$rowvw->beschausmasscode."')";
}
}
if($rowvw->verwendung_code=='' || $rowvw->verwendung_code==NULL)
{
if($error_log!='')
{
$error_log.=", VerwendungsCode ('".$rowvw->verwendung_code."')";
}
else
{
$error_log="VerwendungsCode ('".$rowvw->verwendung_code."')";
}
}
if(!$rowvw->hauptberuflich && ($rowvw->hauptberufcode=='' || $rowvw->hauptberufcode==NULL))
{
if($error_log!='')
{
$error_log.=", Hauptberuf ('".$rowvw->hauptberufcode."')";
}
else
{
$error_log="Hauptberuf ('".$rowvw->hauptberufcode."')";
}
}
if($rowvw->ba1code==3)
{
$echt++;
}
if($rowvw->ba1code==4)
{
$frei++;
}
$mitarbeiterzahl++;
$datei.="
<Verwendung>
<BeschaeftigungsArt1>".$rowvw->ba1code."</BeschaeftigungsArt1>
<BeschaeftigungsArt2>".$rowvw->ba2code."</BeschaeftigungsArt2>
<BeschaeftigungsAusmass>".$rowvw->beschausmasscode."</BeschaeftigungsAusmass>
<VerwendungsCode>".$rowvw->verwendung_code."</VerwendungsCode>";
//Studiengangsleiter
$qryslt="SELECT * FROM public.tbl_benutzerfunktion WHERE uid='".$row->mitarbeiter_uid."' AND funktion_kurzbz='stgl' AND studiengang_kz<10000;";
if($resultslt=pg_query($conn,$qryslt))
{
while($rowslt=pg_fetch_object($resultslt))
{
if($rowslt->studiengang_kz=='' || $rowslt->studiengang_kz==NULL)
{
if($error_log!='')
{
$error_log.=", StgKz(Leitung) ('".$rowslt->studiengang_kz."')";
}
else
{
$error_log="StgKz(Leitung) ('".$rowslt->studiengang_kz."')";
}
}
if(!in_array($rowslt->studiengang_kz, $nichtmelden))
{
$datei.="
<StgLeitung>
<StgKz>".sprintf("%04s",$rowslt->studiengang_kz)."</StgKz>
</StgLeitung>";
}
}
}
//Funktionen
$qryfkt="SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id='".$rowvw->bisverwendung_id."' AND studiengang_kz>0 AND studiengang_kz<10000;";
if($resultfkt=pg_query($conn,$qryfkt))
{
while($rowfkt=pg_fetch_object($resultfkt))
{
if($rowfkt->studiengang_kz=='' || $rowfkt->studiengang_kz==NULL)
{
if($error_log!='')
{
$error_log.=", StgKz(Funktion) ('".$rowfkt->studiengang_kz."')";
}
else
{
$error_log="StgKz(Funktion) ('".$rowfkt->studiengang_kz."')";
}
}
if($rowfkt->sws=='' || $rowfkt->sws==NULL)
{
if($error_log!='')
{
$error_log.=", SWS ('".$rowfkt->sws."')";
}
else
{
$error_log="SWS ('".$rowfkt->sws."')";
}
}
if($rowvw->hauptberuflich=='' || $rowvw->hauptberuflich==NULL)
{
if($error_log!='')
{
$error_log.=", Hauptberuflich ('".$rowvw->hauptberuflich."')";
}
else
{
$error_log="Hauptberuflich ('".$rowvw->hauptberuflich."')";
}
}
if(($rowvw->hauptberufcode=='' || $rowvw->hauptberufcode==NULL) && $rowvw->hauptberuflich=='f')
{
if($error_log!='')
{
$error_log.=", HauptberufCode ('".$rowvw->hauptberufcode."')";
}
else
{
$error_log="HauptberufCode ('".$rowvw->hauptberufcode."')";
}
}
if (isset($eteam[$rowfkt->studiengang_kz]))
{
if(($eteam[$rowfkt->studiengang_kz]=='' || $eteam[$rowfkt->studiengang_kz]==NULL))
{
if($error_log!='')
{
$error_log.=", BesondereQualifikationCode ('".$eteam[$rowfkt->studiengang_kz]."')";
}
else
{
$error_log="BesondereQualifikationCode ('".$eteam[$rowfkt->studiengang_kz]."')";
}
}
}
$datei.="
<Funktion>
<StgKz>".sprintf("%04s",$rowfkt->studiengang_kz)."</StgKz>
<SWS>".$rowfkt->sws."</SWS>";
if($rowvw->hauptberuflich=='t')
{
$datei.="
<Hauptberuflich>J</Hauptberuflich>";
}
else
{
$datei.="
<Hauptberuflich>N</Hauptberuflich>
<HauptberufCode>".$rowvw->hauptberufcode."</HauptberufCode>";
}
if(isset($eteam[$rowfkt->studiengang_kz]))
{
$datei.="
<Entwicklungsteam>J</Entwicklungsteam>
<BesondereQualifikationCode>".$eteam[$rowfkt->studiengang_kz]."</BesondereQualifikationCode>";
}
else
{
$datei.="
<Entwicklungsteam>N</Entwicklungsteam>";
}
$datei.="
</Funktion>";
}
}
$datei.="
</Verwendung>";
}
}
$datei.="
</Person>";
if($error_log!='' OR $error_log1!='')
{
$v.="<u>Bei Mitarbeiter (PersNr, UID, Vorname, Nachname) '".$row->personalnummer."','".$row->mitarbeiter_uid."', '".$row->nachname."', '".$row->vorname."': </u>\n";
if($error_log!='')
{
$v.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Es fehlt: ".$error_log."\n";
}
$zaehl++;
$v.="\n";
$error_log='';
}
}
$datei.="
</PersonalMeldung>
</Erhalter>";
}
echo ' <html><head><title>BIS - Meldung Mitarbeiter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
</head><body>';
echo "<H1>BIS - Mitarbeiterdaten werden &uuml;berpr&uuml;ft!</H1><br>";
echo "Anzahl Mitarbeiter: Gesamt: ".$mitarbeiterzahl." / echter Dienstvertrag: ".$echt." / freier Dienstvertrag: ".$frei."<br>";
echo "<H2>Nicht plausible BIS-Daten (f&uuml;r Meldung ".$ssem."): </H2><br>";
echo nl2br($v."<br><br>");
//Tabelle mit Ergebnissen ausgeben
$ddd='bisdaten/bismeldung_mitarbeiter.xml';
$dateiausgabe=fopen($ddd,'w');
fwrite($dateiausgabe,$datei);
fclose($dateiausgabe);
echo "<a href=$ddd>XML-Datei f&uuml;r Mitarbeiter-BIS-Meldung</a><br><br>";
<?php
/* Copyright (C) 2007
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require('../config.inc.php');
require('../../include/studiensemester.class.php');
require('../../include/datum.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$error_log='';
$error_log1='';
$error_log_all="";
$stgart='';
$fehler='';
$v='';
$erhalter='';
$zaehl=0;
$eteam=array();
$studiensemester=new studiensemester($conn);
$ssem=$studiensemester->getaktorNext(); //aktuelles Semester
$psem=$studiensemester->getPrevious(); //voriges Semester
$bsem=$studiensemester->getBeforePrevious(); //vorjähriges Semester
$datei='';
$mitarbeiterzahl=0;
$echt=0;
$frei=0;
$nichtmelden = array(11,91,92,94,999,203);
$datumobj=new datum();
if(mb_strstr($ssem,"WS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")));
$bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")));
}
/*elseif(mb_strstr($ssem,"SS"))
{
$bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y")));
$bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1));
}*/
else
{
echo "Ungültiges Semester!";
exit;
}
$qry="SELECT * FROM public.tbl_erhalter";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
if(strlen(trim($row->erhalter_kz))==1)
{
$erhalter='00'.trim($row->erhalter_kz);
}
elseif(strlen(trim($row->erhalter_kz))==2)
{
$erhalter='0'.trim($row->erhalter_kz);
}
else
{
$erhalter=$row->erhalter_kz;
}
}
}
$qry="SELECT DISTINCT ON (UID) * FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
WHERE tbl_benutzer.aktiv AND bismelden AND personalnummer>1 AND mitarbeiter_uid!='_DummyLektor'
ORDER BY uid, nachname,vorname
";
/*
AND (ende>now() OR ende IS NULL)
bis.tbl_bisverwendung USING (mitarbeiter_uid)
bis.tbl_bisfunktion USING(bisverwendung_id)
bis.tbl_entwicklungsteam USING(mitarbeiter_uid)
public.tbl_benutzerfunktion
*/
if($result = pg_query($conn, $qry))
{
$datei.="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Erhalter>
<ErhKz>".$erhalter."</ErhKz>
<MeldeDatum>".date("dmY", $datumobj->mktime_fromdate($bisdatum))."</MeldeDatum>
<PersonalMeldung>";
while($row = pg_fetch_object($result))
{
$qryet="SELECT * FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."';";
if($resultet=pg_query($conn,$qryet))
{
while($rowet=pg_fetch_object($resultet))
{
$eteam[$rowet->studiengang_kz]=$rowet->besqualcode;
}
}
if($row->gebdatum=='' || $row->gebdatum==NULL)
{
if($error_log!='')
{
$error_log.=", Geburtsdatum ('".$row->gebdatum."')";
}
else
{
$error_log="Geburtsdatum ('".$row->gebdatum."')";
}
}
if($row->geschlecht=='' || $row->geschlecht==NULL)
{
if($error_log!='')
{
$error_log.=", Geschlecht ('".$row->geschlecht."')";
}
else
{
$error_log="Geschlecht ('".$row->geschlecht."')";
}
}
if($row->ausbildungcode=='' || $row->ausbildungcode==NULL)
{
if($error_log!='')
{
$error_log.=", HoechsteAbgeschlosseneAusbildung ('".$row->ausbildungcode."')";
}
else
{
$error_log="HoechsteAbgeschlosseneAusbildung ('".$row->ausbildungcode."')";
}
}
$datei.="
<Person>
<PersonalNummer>".sprintf("%015s",$row->personalnummer)."</PersonalNummer>
<GeburtsDatum>".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))."</GeburtsDatum>
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>
<HoechsteAbgeschlosseneAusbildung>".$row->ausbildungcode."</HoechsteAbgeschlosseneAusbildung>";
$qryvw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."' AND habilitation=true;";
if($resultvw=pg_query($conn,$qryvw))
{
if(pg_num_rows($resultvw)>0)
{
$datei.="
<Habilitation>J</Habilitation>";
}
else
{
$datei.="
<Habilitation>N</Habilitation>";
}
}
$qryvw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."' AND (ende is null OR ende>'$bisprevious') AND beginn<'$bisdatum';";
if($resultvw=pg_query($conn,$qryvw))
{
while($rowvw=pg_fetch_object($resultvw))
{
if($rowvw->ba1code=='' || $rowvw->ba1code==NULL)
{
if($error_log!='')
{
$error_log.=", Beschaeftigungsart1 ('".$rowvw->ba1code."')";
}
else
{
$error_log="Beschaeftigungsart1 ('".$rowvw->ba1code."')";
}
}
if($rowvw->ba2code=='' || $rowvw->ba2code==NULL)
{
if($error_log!='')
{
$error_log.=", Beschaeftigungsart2 ('".$rowvw->ba2code."')";
}
else
{
$error_log="Beschaeftigungsart2 ('".$rowvw->ba2code."')";
}
}
if($rowvw->beschausmasscode=='' || $rowvw->beschausmasscode==NULL)
{
if($error_log!='')
{
$error_log.=", BeschaeftigungsAusmass ('".$rowvw->beschausmasscode."')";
}
else
{
$error_log="BeschaeftigungsAusmass ('".$rowvw->beschausmasscode."')";
}
}
if($rowvw->verwendung_code=='' || $rowvw->verwendung_code==NULL)
{
if($error_log!='')
{
$error_log.=", VerwendungsCode ('".$rowvw->verwendung_code."')";
}
else
{
$error_log="VerwendungsCode ('".$rowvw->verwendung_code."')";
}
}
if(!$rowvw->hauptberuflich && ($rowvw->hauptberufcode=='' || $rowvw->hauptberufcode==NULL))
{
if($error_log!='')
{
$error_log.=", Hauptberuf ('".$rowvw->hauptberufcode."')";
}
else
{
$error_log="Hauptberuf ('".$rowvw->hauptberufcode."')";
}
}
if($rowvw->ba1code==3)
{
$echt++;
}
if($rowvw->ba1code==4)
{
$frei++;
}
$mitarbeiterzahl++;
$datei.="
<Verwendung>
<BeschaeftigungsArt1>".$rowvw->ba1code."</BeschaeftigungsArt1>
<BeschaeftigungsArt2>".$rowvw->ba2code."</BeschaeftigungsArt2>
<BeschaeftigungsAusmass>".$rowvw->beschausmasscode."</BeschaeftigungsAusmass>
<VerwendungsCode>".$rowvw->verwendung_code."</VerwendungsCode>";
//Studiengangsleiter
$qryslt="SELECT * FROM public.tbl_benutzerfunktion WHERE uid='".$row->mitarbeiter_uid."' AND funktion_kurzbz='stgl' AND studiengang_kz<10000;";
if($resultslt=pg_query($conn,$qryslt))
{
while($rowslt=pg_fetch_object($resultslt))
{
if($rowslt->studiengang_kz=='' || $rowslt->studiengang_kz==NULL)
{
if($error_log!='')
{
$error_log.=", StgKz(Leitung) ('".$rowslt->studiengang_kz."')";
}
else
{
$error_log="StgKz(Leitung) ('".$rowslt->studiengang_kz."')";
}
}
if(!in_array($rowslt->studiengang_kz, $nichtmelden))
{
$datei.="
<StgLeitung>
<StgKz>".sprintf("%04s",$rowslt->studiengang_kz)."</StgKz>
</StgLeitung>";
}
}
}
//Funktionen
$qryfkt="SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id='".$rowvw->bisverwendung_id."' AND studiengang_kz>0 AND studiengang_kz<10000;";
if($resultfkt=pg_query($conn,$qryfkt))
{
while($rowfkt=pg_fetch_object($resultfkt))
{
if($rowfkt->studiengang_kz=='' || $rowfkt->studiengang_kz==NULL)
{
if($error_log!='')
{
$error_log.=", StgKz(Funktion) ('".$rowfkt->studiengang_kz."')";
}
else
{
$error_log="StgKz(Funktion) ('".$rowfkt->studiengang_kz."')";
}
}
if($rowfkt->sws=='' || $rowfkt->sws==NULL)
{
if($error_log!='')
{
$error_log.=", SWS ('".$rowfkt->sws."')";
}
else
{
$error_log="SWS ('".$rowfkt->sws."')";
}
}
if($rowvw->hauptberuflich=='' || $rowvw->hauptberuflich==NULL)
{
if($error_log!='')
{
$error_log.=", Hauptberuflich ('".$rowvw->hauptberuflich."')";
}
else
{
$error_log="Hauptberuflich ('".$rowvw->hauptberuflich."')";
}
}
if(($rowvw->hauptberufcode=='' || $rowvw->hauptberufcode==NULL) && $rowvw->hauptberuflich=='f')
{
if($error_log!='')
{
$error_log.=", HauptberufCode ('".$rowvw->hauptberufcode."')";
}
else
{
$error_log="HauptberufCode ('".$rowvw->hauptberufcode."')";
}
}
if (isset($eteam[$rowfkt->studiengang_kz]))
{
if(($eteam[$rowfkt->studiengang_kz]=='' || $eteam[$rowfkt->studiengang_kz]==NULL))
{
if($error_log!='')
{
$error_log.=", BesondereQualifikationCode ('".$eteam[$rowfkt->studiengang_kz]."')";
}
else
{
$error_log="BesondereQualifikationCode ('".$eteam[$rowfkt->studiengang_kz]."')";
}
}
}
$datei.="
<Funktion>
<StgKz>".sprintf("%04s",$rowfkt->studiengang_kz)."</StgKz>
<SWS>".$rowfkt->sws."</SWS>";
if($rowvw->hauptberuflich=='t')
{
$datei.="
<Hauptberuflich>J</Hauptberuflich>";
}
else
{
$datei.="
<Hauptberuflich>N</Hauptberuflich>
<HauptberufCode>".$rowvw->hauptberufcode."</HauptberufCode>";
}
if(isset($eteam[$rowfkt->studiengang_kz]))
{
$datei.="
<Entwicklungsteam>J</Entwicklungsteam>
<BesondereQualifikationCode>".$eteam[$rowfkt->studiengang_kz]."</BesondereQualifikationCode>";
}
else
{
$datei.="
<Entwicklungsteam>N</Entwicklungsteam>";
}
$datei.="
</Funktion>";
}
}
$datei.="
</Verwendung>";
}
}
$datei.="
</Person>";
if($error_log!='' OR $error_log1!='')
{
$v.="<u>Bei Mitarbeiter (PersNr, UID, Vorname, Nachname) '".$row->personalnummer."','".$row->mitarbeiter_uid."', '".$row->nachname."', '".$row->vorname."': </u>\n";
if($error_log!='')
{
$v.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Es fehlt: ".$error_log."\n";
}
$zaehl++;
$v.="\n";
$error_log='';
}
}
$datei.="
</PersonalMeldung>
</Erhalter>";
}
echo ' <html><head><title>BIS - Meldung Mitarbeiter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
</head><body>';
echo "<H1>BIS - Mitarbeiterdaten werden &uuml;berpr&uuml;ft!</H1><br>";
echo "Anzahl Mitarbeiter: Gesamt: ".$mitarbeiterzahl." / echter Dienstvertrag: ".$echt." / freier Dienstvertrag: ".$frei."<br>";
echo "<H2>Nicht plausible BIS-Daten (f&uuml;r Meldung ".$ssem."): </H2><br>";
echo nl2br($v."<br><br>");
//Tabelle mit Ergebnissen ausgeben
$ddd='bisdaten/bismeldung_mitarbeiter.xml';
$dateiausgabe=fopen($ddd,'w');
fwrite($dateiausgabe,$datei);
fclose($dateiausgabe);
echo "<a href=$ddd>XML-Datei f&uuml;r Mitarbeiter-BIS-Meldung</a><br><br>";
?>
+1 -1
View File
@@ -70,7 +70,7 @@
$lv->studiengang_kz = $_POST['studiengang_kz'];
$lv->semester = $_POST['semester'];
$lv->sprache = $_POST['sprache'];
$lv->ects = str_replace(',','.',$_POST['ects']);
$lv->ects = mb_eregi_replace(',','.',$_POST['ects']);
$lv->semesterstunden = $_POST['semesterstunden'];
$lv->anmerkung = $_POST['anmerkung'];
$lv->lehre = isset($_POST['lehre']);
+19 -20
View File
@@ -1,21 +1,20 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html lang="de_AT">
<head>
<title>VileSci</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
</head>
<frameset rows="400,*">
<frame src="lehrveranstaltung.php" id="uebersicht" name="uebersicht" frameborder="0" />
<frame src="lehrveranstaltung_details.php" id="lv_detail" name="lv_detail" frameborder="0" />
<noframes>
<body bgcolor="#FFFFFF">
This application works only with a frames-enabled browser.<br />
<a href="main.php">Use without frames</a>
</body>
</noframes>
</frameset>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
<head>
<title>VileSci</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
</head>
<frameset rows="400,*">
<frame src="lehrveranstaltung.php" id="uebersicht" name="uebersicht" frameborder="0" />
<frame src="lehrveranstaltung_details.php" id="lv_detail" name="lv_detail" frameborder="0" />
<noframes>
<body bgcolor="#FFFFFF">
This application works only with a frames-enabled browser.<br />
<a href="main.php">Use without frames</a>
</body>
</noframes>
</frameset>
</html>
+221 -216
View File
@@ -1,217 +1,222 @@
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiensemester.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
// Variablen checken
if (isset($_GET['studiengang_kz']))
$studiengang_kz=$_GET['studiengang_kz'];
if (isset($_GET['semester']))
$semester=$_GET['semester'];
if (isset($_GET['verband']))
$verband=$_GET['verband'];
else
$verband=' ';
if ($verband=='')
$verband=' ';
if (isset($_GET['gruppe']))
$gruppe=$_GET['gruppe'];
else
$gruppe=' ';
if ($gruppe=='')
$gruppe=' ';
if (isset($_GET['gruppe_kurzbz']))
$gruppe_kurzbz=$_GET['gruppe_kurzbz'];
else
$gruppe_kurzbz='';
if (isset($_GET['leid']))
$leid=$_GET['leid'];
else
$leid=0;
$s=new studiengang($conn);
$s->getAll('typ, kurzbz', false);
$studiengang=$s->result;
$user = get_uid();
// Benutzerdefinierte Variablen laden
#gss echo loadVariables($conn,$user);
echo loadVariables($user);
// Bezeichnungen fuer Tabellen und Views
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
$stpl_table=TABLE_BEGIN.$db_stpl_table;
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
else
$stg_kz=0;
if (isset($_GET['sem']) || isset($_POST['sem']))
$sem=(isset($_GET['sem'])?$_GET['sem']:$_POST['sem']);
else
$sem=0;
//*************** im Stundenplan hinzufuegen *************************
if (isset($_GET['insert']))
if ($_GET['insert']=='true')
{
// Termine holen
$qry = "SELECT DISTINCT datum, stunde FROM lehre.$stpl_table WHERE lehreinheit_id=$leid";
//echo $qry.'<BR>';
if(!$result=pg_query($conn, $qry))
die ($qry);
while ($row=pg_fetch_object($result))
{
$qry = "SELECT DISTINCT ort_kurzbz FROM lehre.$stpl_table
WHERE lehreinheit_id=$leid AND datum='$row->datum' AND stunde=$row->stunde;";
if(!$result_ort=pg_query($conn, $qry))
die ($qry);
while ($row_ort=pg_fetch_object($result_ort))
{
$qry="INSERT INTO lehre.$stpl_table (datum,stunde,ort_kurzbz,unr,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id, insertvon)
VALUES ('$row->datum', $row->stunde,'$row_ort->ort_kurzbz',$unr,'$lektor_uid',$studiengang_kz,$semester,'$verband','$gruppe',";
if ($gruppe_kurzbz!='')
$qry.="'$gruppe_kurzbz',$leid,'LVPlanCheck');";
else
$qry.="NULL,$leid,'LVPlanCheck');";
echo $qry.'<BR>';
if(!$result_insert=pg_query($conn, $qry))
die ($qry);
}
}
}
$stsem_obj = new studiensemester($conn);
$studiensemester = $stsem_obj->getNearest();
$where=" studiensemester_kurzbz='".$studiensemester."'";
if (isset($semester) && $semester>0)
$where.=" AND semester=$semester";
if ($stg_kz>0)
$where.=" AND studiengang_kz='$stg_kz'";
if(!is_numeric($stg_kz))
$stg_kz=0;
if(!isset($semester) || !is_numeric($semester))
$semester=0;
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
{
//Lehrevz Speichern
if(isset($_POST['lehrevz']))
{
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehreverzeichnis='".addslashes($_POST['lehrevz'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
if(!pg_query($conn, $qry))
echo "Fehler beim Speichern!";
else
echo "Erfolgreich gespeichert";
}
}
$sql_query="SELECT *, planstunden-verplant::smallint AS offenestunden
FROM lehre.$lva_stpl_view JOIN lehre.tbl_lehrform ON $lva_stpl_view.lehrform=tbl_lehrform.lehrform_kurzbz
WHERE $where AND verplant=0 AND planstunden>0 AND lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.$stpl_table)
ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;";
//echo $sql_query;
if(!$result_lv=pg_query($conn, $sql_query))
die ($sql_query);
if(!$result_lv) error("Lehrveranstaltung not found!");
$outp='';
$s=array();
$outp.="<SELECT name='stg_kz'>";
foreach ($studiengang as $stg)
{
$outp.="<OPTION onclick=\"window.location.href = '".$_SERVER['PHP_SELF']."?stg_kz=$stg->studiengang_kz&semester=$semester'\" ".($stg->studiengang_kz==$stg_kz?'selected':'').">$stg->kuerzel - $stg->bezeichnung</OPTION>";
//$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg->studiengang_kz.'&sem='.$semester.'">'.$stg->kuerzel.'</A> - ';
$s[$stg->studiengang_kz]->max_sem=$stg->max_semester;
$s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang;
}
$outp.='</SELECT>';
$outp.= '<BR> -- ';
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&semester='.$i.'">'.$i.'</A> -- ';
?>
<html>
<head>
<title>Lehrveranstaltung Verwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<?php
echo "<H2>LV-Plan Wartung (".$s[$stg_kz]->kurzbz." - ".$semester.") ($lva_stpl_view)</H2>";
echo '<table width="100%"><tr><td>';
echo $outp;
echo '</td><td>';
echo "<input type='button' onclick='parent.detail.location=\"lehrveranstaltung_details.php?neu=true&stg_kz=$stg_kz&semester=$semester\"' value='Neu'/>";
echo '</td></tr></table>';
echo "<h3>&Uuml;bersicht</h3>
<table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'>
<thead>
<tr class='liste'>";
if ($result_lv!=0)
{
$num_rows=pg_num_rows($result_lv);
// raumtyp raumtypalternativ stundenblockung wochenrythmus semesterstunden start_kw anmerkung
echo "<th class='table-sortable:default'>LE-ID</th><th class='table-sortable:default'>UNR</th><th class='table-sortable:default'>Lehrfach</th><th class='table-sortable:default'>Lektor</th>
<th class='table-sortable:default'>Lehrverband</th><th class='table-sortable:default'>Gruppe</th><th class='table-sortable:default'>SS</th><th class='table-sortable:numeric'>planstunden</th><th class='table-sortable:default'>Verplant</th>\n";
echo "</tr></thead>";
echo "<tbody>";
for($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object($result_lv);
echo "<tr>";
echo "<td align='right'>$row->lehreinheit_id</td><td>$row->unr</td><td>$row->lehrfach-$row->lehrform - $row->lehrfach_bez</td><td>$row->lektor</td>";
echo "<td>$row->studiengang-$row->semester$row->verband$row->gruppe</td><td>$row->gruppe_kurzbz</td>";
echo "<td>$row->studiensemester_kurzbz</td>";
echo "<td>$row->planstunden</td>";
echo "<td>$row->verplant</td>";
echo "<td><a href='?insert=true&leid=$row->lehreinheit_id&unr=$row->unr&lektor_uid=$row->lektor_uid&studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&gruppe_kurzbz=$row->gruppe_kurzbz&stg_kz=$stg_kz&sem=$sem'>Hinzufuegen</a></td>";
echo "</tr>\n";
}
}
else
echo "Kein Eintrag gefunden!";
?>
</tbody>
</table>
<br>
</body>
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiensemester.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
// Variablen Initialisieren
$studiengang_kz=0;
$lektor_uid=0;
$unr=0;
$semester=0;
$verband=' ';
$gruppe=' ';
$gruppe_kurzbz='';
$leid=0;
$stg_kz=0;
$sem=0;
$insert=false;
// POST/GET Parameter uebernehmen
if (isset($_GET))
{
while (list ($tmp_key, $tmp_val) = each ($_GET))
{
$$tmp_key=$tmp_val;
}
}
else if (isset($_POST))
{
while (list ($tmp_key, $tmp_val) = each ($_POST))
{
$$tmp_key=$tmp_val;
}
}
// Plausib der Variablen
if ($verband=='')
$verband=' ';
if ($gruppe=='')
$gruppe=' ';
if(!is_numeric($stg_kz))
$stg_kz=0;
if(!is_numeric($semester))
$semester=0;
$insert=trim($insert);
$insert=(empty($insert)?false:true);
// Studiengang lesen
$s=new studiengang($conn);
$s->getAll('typ, kurzbz', false);
$studiengang=$s->result;
// Benutzerdefinierte Variablen laden
$user = get_uid();
loadVariables($user);
// Bezeichnungen fuer Tabellen und Views
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
$stpl_table=TABLE_BEGIN.$db_stpl_table;
//*************** im Stundenplan hinzufuegen *************************
if ($insert)
{
// Termine holen
$qry = "SELECT DISTINCT datum, stunde FROM lehre.$stpl_table WHERE lehreinheit_id=".$leid;
//echo $qry.'<BR>';
if(!$result=pg_query($conn, $qry))
die ($qry);
while ($row=pg_fetch_object($result))
{
$qry = "SELECT DISTINCT ort_kurzbz FROM lehre.".$stpl_table."
WHERE lehreinheit_id=$leid AND datum='$row->datum' AND stunde=$row->stunde;";
if(!$result_ort=pg_query($conn, $qry))
die ("DB Fehler $qry");
while ($row_ort=pg_fetch_object($result_ort))
{
$qry="INSERT INTO lehre.$stpl_table (datum,stunde,ort_kurzbz,unr,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id, insertvon)
VALUES ('".$row->datum."', $row->stunde,'$row_ort->ort_kurzbz',$unr,'".$lektor_uid."',$studiengang_kz,$semester,'$verband','$gruppe',";
if ($gruppe_kurzbz!='')
$qry.="'$gruppe_kurzbz',$leid,'LVPlanCheck');";
else
$qry.="NULL,$leid,'LVPlanCheck');";
if(!$result_insert=pg_query($conn, $qry))
die ("DB Fehler $qry");
}
}
}
$stsem_obj = new studiensemester($conn);
$studiensemester = $stsem_obj->getNearest();
$where=" studiensemester_kurzbz='".$studiensemester."'";
if (!empty($semester))
$where.=" AND semester=$semester";
if (!empty($stg_kz))
$where.=" AND studiengang_kz='$stg_kz'";
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
{
//Lehrevz Speichern
if(isset($_POST['lehrevz']))
{
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehreverzeichnis='".addslashes($_POST['lehrevz'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
if(!pg_query($conn, $qry))
echo "Fehler beim Speichern!";
else
echo "Erfolgreich gespeichert";
}
}
$sql_query="SELECT *, planstunden-verplant::smallint AS offenestunden
FROM lehre.$lva_stpl_view JOIN lehre.tbl_lehrform ON $lva_stpl_view.lehrform=tbl_lehrform.lehrform_kurzbz
WHERE $where AND verplant=0 AND planstunden>0 AND lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.$stpl_table)
ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;";
//echo $sql_query;
if(!$result_lv=pg_query($conn, $sql_query))
die ("DB Fehler $sql_query");
if(!$result_lv)
error("Lehrveranstaltung not found!");
$outp='';
$s=array();
$outp.="<SELECT name='stg_kz'>";
foreach ($studiengang as $stg)
{
$outp.="<OPTION onclick=\"window.location.href = '".$_SERVER['PHP_SELF']."?stg_kz=$stg->studiengang_kz&semester=$semester'\" ".($stg->studiengang_kz==$stg_kz?'selected':'').">$stg->kuerzel - $stg->bezeichnung</OPTION>";
//$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg->studiengang_kz.'&sem='.$semester.'">'.$stg->kuerzel.'</A> - ';
$s[$stg->studiengang_kz]->max_sem=$stg->max_semester;
$s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang;
}
$outp.='</SELECT>';
$outp.= '<BR> -- ';
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&semester='.$i.'">'.$i.'</A> -- ';
?>
<html>
<head>
<title>Lehrveranstaltung Verwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<?php
echo "<H2>LV-Plan Wartung (".$s[$stg_kz]->kurzbz." - ".$semester.") ($lva_stpl_view)</H2>";
echo '<table width="100%"><tr><td>';
echo $outp;
echo '</td><td>';
echo "<input type='button' onclick='parent.detail.location=\"lehrveranstaltung_details.php?neu=true&stg_kz=$stg_kz&semester=$semester\"' value='Neu'/>";
echo '</td></tr></table>';
echo "<h3>&Uuml;bersicht</h3>
<table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'>
<thead>
<tr class='liste'>";
if ($result_lv!=0)
{
$num_rows=pg_num_rows($result_lv);
// raumtyp raumtypalternativ stundenblockung wochenrythmus semesterstunden start_kw anmerkung
echo "<th class='table-sortable:default'>LE-ID</th><th class='table-sortable:default'>UNR</th><th class='table-sortable:default'>Lehrfach</th><th class='table-sortable:default'>Lektor</th>
<th class='table-sortable:default'>Lehrverband</th><th class='table-sortable:default'>Gruppe</th><th class='table-sortable:default'>SS</th><th class='table-sortable:numeric'>planstunden</th><th class='table-sortable:default'>Verplant</th>\n";
echo "</tr></thead>";
echo "<tbody>";
for($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object($result_lv);
echo "<tr>";
echo "<td align='right'>$row->lehreinheit_id</td><td>$row->unr</td><td>$row->lehrfach-$row->lehrform - $row->lehrfach_bez</td><td>$row->lektor</td>";
echo "<td>$row->studiengang-$row->semester$row->verband$row->gruppe</td><td>$row->gruppe_kurzbz</td>";
echo "<td>$row->studiensemester_kurzbz</td>";
echo "<td>$row->planstunden</td>";
echo "<td>$row->verplant</td>";
echo "<td><a href='?insert=true&leid=$row->lehreinheit_id&unr=$row->unr&lektor_uid=$row->lektor_uid&studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&gruppe_kurzbz=$row->gruppe_kurzbz&stg_kz=$stg_kz&sem=$sem'>Hinzufuegen</a></td>";
echo "</tr>\n";
}
}
else
echo "Kein Eintrag gefunden!";
?>
</tbody>
</table>
<br>
</body>
</html>
+234 -234
View File
@@ -1,235 +1,235 @@
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/projektarbeit.class.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/student.class.php');
require_once('../../include/projektbetreuer.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/note.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
$user = get_uid();
$stg_kz = (isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:'');
$stsem = (isset($_REQUEST['stsem'])?$_REQUEST['stsem']:'');
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin', $stg_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_kz, 'suid'))
die('Sie haben keine Berechtigung für diesen Studiengang');
if($stsem=='')
{
$stsem_obj = new studiensemester($conn);
$stsem = $stsem_obj->getaktorNext();
}
if($stg_kz=='')
$stg_kz='0';
echo '<html>
<head>
<title>Lehrveranstaltung Verwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
<script language="Javascript">
</script>
</head>
<body class="Background_main">
<h2>Projektarbeit - Benotung</h2>
';
if(isset($_POST['savedata']))
{
$errormsg = '';
foreach($_POST as $key=>$data)
{
if(strstr($key, 'note_'))
{
$id = substr($key, 5);
$prj = new projektarbeit($conn);
if($prj->load($id))
{
if($prj->note!=$data)
{
$prj->note = $data;
$prj->updateamum = date('Y-m-d H:i:s');
$prj->updatevon = $user;
if(!$prj->save(false))
{
$errormsg .="Fehler beim Speichern von $prj->projektarbeit_id:".$prj->errormsg.'<br>';
}
}
}
}
}
if($errormsg!='')
{
echo $errormsg;
}
else
{
echo '<b>Daten wurden gespeichert</b><br><br>';
}
}
$noten = new note($conn);
$noten->getAll();
$stg_arr = array();
$stg_obj = new studiengang($conn);
$stg_obj->getAll('typ, kurzbz', false);
foreach ($stg_obj->result as $row)
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
echo '<form action="'.$_SERVER['PHP_SELF'].'" mehtod="GET">';
echo 'Studiengang: <SELECT name="stg_kz">';
if($rechte->isBerechtigt('admin', null, 'suid'))
{
foreach($stg_obj->result as $row)
$stgs[] = $row->studiengang_kz;
}
else
$stgs = $rechte->getStgKz();
foreach ($stgs as $kz)
{
if($stg_kz == $kz)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$kz.'" '.$selected.'>'.$stg_arr[$kz].'</option>';
}
echo '</SELECT>';
echo ' Studiensemester: <SELECT name="stsem">';
$stsem_obj = new studiensemester($conn);
$stsem_obj->getAll();
foreach ($stsem_obj->studiensemester as $row)
{
if($stsem == $row->studiensemester_kurzbz)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$row->studiensemester_kurzbz.'" '.$selected.'">'.$row->studiensemester_kurzbz.'</option>';
}
echo '</SELECT>';
echo '<input type="submit" value="Anzeigen">';
echo '</form>';
echo '<br><br>';
$projekt = new projektarbeit($conn);
$projekt->getProjektarbeitStudiensemester($stg_kz, $stsem);
echo '<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&stsem='.$stsem.'" method="POST" />';
echo "<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'><thead><tr class='liste'>";
echo "<th class='table-sortable:default'>Student</th>
<th class='table-sortable:default'>Typ</th>
<th class='table-sortable:default'>Titel</th>
<th class='table-sortable:default'>Themenbereich</th>
<th class='table-sortable:default'>Betreuer</th>
<th class='table-sortable:default'>Beginn</th>
<th class='table-sortable:default'>Ende</th>
<th class='table-sortable:default'>Gesamtnote</th>";
echo "</tr></thead>";
echo "<tbody>";
foreach ($projekt->result as $row)
{
echo '<tr>';
$student = new student($conn);
$student->load($row->student_uid);
echo "<td nowrap>$student->nachname $student->vorname $student->titelpre $student->titelpost</td>";
echo "<td>$row->projekttyp_kurzbz</td>";
echo "<td>$row->titel".($row->titel_english!=''?'<br>'.$row->titel_english:'')."</td>";
echo "<td>$row->themenbereich</td>";
echo '<td nowrap>';
$qry = "SELECT distinct vorname, nachname, titelpre, titelpost, (SELECT uid FROM public.tbl_benutzer JOIN public.tbl_mitarbeiter on(uid=mitarbeiter_uid) WHERE person_id=tbl_person.person_id LIMIT 1) as uid, betreuerart_kurzbz FROM public.tbl_person JOIN lehre.tbl_projektbetreuer USING(person_id) WHERE projektarbeit_id='".$row->projektarbeit_id."'";
if($result_betreuer = pg_query($conn, $qry))
{
while($row_betreuer = pg_fetch_object($result_betreuer))
{
if($row_betreuer->uid!='')
echo "<a href='mailto:$row_betreuer->uid@".DOMAIN."' class='Item'>";
echo trim($row_betreuer->titelpre.' '.$row_betreuer->vorname.' '.$row_betreuer->nachname.' '.$row_betreuer->titelpost).' ('.$row_betreuer->betreuerart_kurzbz.')';
if($row_betreuer->uid!='')
echo '</a>';
echo '<br>';
}
}
echo "</td>";
echo "<td>$row->beginn</td>";
echo "<td>$row->ende</td>";
echo "<td>";
echo "<SELECT name='note_$row->projektarbeit_id'>";
echo "<OPTION value=''></OPTION>";
foreach ($noten->result as $note)
{
if($row->note==$note->note)
$selected='selected';
else
$selected='';
echo "<OPTION value='$note->note' $selected>$note->bezeichnung</OPTION>";
}
echo "</SELECT>";
echo "</td>";
echo "</tr>";
}
echo '</tbody></table>';
echo '<br><br><div align="right"><input type="submit" value="Speichern" name="savedata"/></div>';
echo '</form>';
?>
<br>
</body>
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/projektarbeit.class.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/student.class.php');
require_once('../../include/projektbetreuer.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/note.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
$user = get_uid();
$stg_kz = (isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:'');
$stsem = (isset($_REQUEST['stsem'])?$_REQUEST['stsem']:'');
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin', $stg_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_kz, 'suid'))
die('Sie haben keine Berechtigung für diesen Studiengang');
if($stsem=='')
{
$stsem_obj = new studiensemester($conn);
$stsem = $stsem_obj->getaktorNext();
}
if($stg_kz=='')
$stg_kz='0';
echo '<html>
<head>
<title>Lehrveranstaltung Verwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
<script language="Javascript">
</script>
</head>
<body class="Background_main">
<h2>Projektarbeit - Benotung</h2>
';
if(isset($_POST['savedata']))
{
$errormsg = '';
foreach($_POST as $key=>$data)
{
if(mb_strstr($key, 'note_'))
{
$id = mb_substr($key, 5);
$prj = new projektarbeit($conn);
if($prj->load($id))
{
if($prj->note!=$data)
{
$prj->note = $data;
$prj->updateamum = date('Y-m-d H:i:s');
$prj->updatevon = $user;
if(!$prj->save(false))
{
$errormsg .="Fehler beim Speichern von $prj->projektarbeit_id:".$prj->errormsg.'<br>';
}
}
}
}
}
if($errormsg!='')
{
echo $errormsg;
}
else
{
echo '<b>Daten wurden gespeichert</b><br><br>';
}
}
$noten = new note($conn);
$noten->getAll();
$stg_arr = array();
$stg_obj = new studiengang($conn);
$stg_obj->getAll('typ, kurzbz', false);
foreach ($stg_obj->result as $row)
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
echo '<form action="'.$_SERVER['PHP_SELF'].'" mehtod="GET">';
echo 'Studiengang: <SELECT name="stg_kz">';
if($rechte->isBerechtigt('admin', null, 'suid'))
{
foreach($stg_obj->result as $row)
$stgs[] = $row->studiengang_kz;
}
else
$stgs = $rechte->getStgKz();
foreach ($stgs as $kz)
{
if($stg_kz == $kz)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$kz.'" '.$selected.'>'.$stg_arr[$kz].'</option>';
}
echo '</SELECT>';
echo ' Studiensemester: <SELECT name="stsem">';
$stsem_obj = new studiensemester($conn);
$stsem_obj->getAll();
foreach ($stsem_obj->studiensemester as $row)
{
if($stsem == $row->studiensemester_kurzbz)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$row->studiensemester_kurzbz.'" '.$selected.'">'.$row->studiensemester_kurzbz.'</option>';
}
echo '</SELECT>';
echo '<input type="submit" value="Anzeigen">';
echo '</form>';
echo '<br><br>';
$projekt = new projektarbeit($conn);
$projekt->getProjektarbeitStudiensemester($stg_kz, $stsem);
echo '<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&stsem='.$stsem.'" method="POST" />';
echo "<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'><thead><tr class='liste'>";
echo "<th class='table-sortable:default'>Student</th>
<th class='table-sortable:default'>Typ</th>
<th class='table-sortable:default'>Titel</th>
<th class='table-sortable:default'>Themenbereich</th>
<th class='table-sortable:default'>Betreuer</th>
<th class='table-sortable:default'>Beginn</th>
<th class='table-sortable:default'>Ende</th>
<th class='table-sortable:default'>Gesamtnote</th>";
echo "</tr></thead>";
echo "<tbody>";
foreach ($projekt->result as $row)
{
echo '<tr>';
$student = new student($conn);
$student->load($row->student_uid);
echo "<td nowrap>$student->nachname $student->vorname $student->titelpre $student->titelpost</td>";
echo "<td>$row->projekttyp_kurzbz</td>";
echo "<td>$row->titel".($row->titel_english!=''?'<br>'.$row->titel_english:'')."</td>";
echo "<td>$row->themenbereich</td>";
echo '<td nowrap>';
$qry = "SELECT distinct vorname, nachname, titelpre, titelpost, (SELECT uid FROM public.tbl_benutzer JOIN public.tbl_mitarbeiter on(uid=mitarbeiter_uid) WHERE person_id=tbl_person.person_id LIMIT 1) as uid, betreuerart_kurzbz FROM public.tbl_person JOIN lehre.tbl_projektbetreuer USING(person_id) WHERE projektarbeit_id='".$row->projektarbeit_id."'";
if($result_betreuer = pg_query($conn, $qry))
{
while($row_betreuer = pg_fetch_object($result_betreuer))
{
if($row_betreuer->uid!='')
echo "<a href='mailto:$row_betreuer->uid@".DOMAIN."' class='Item'>";
echo trim($row_betreuer->titelpre.' '.$row_betreuer->vorname.' '.$row_betreuer->nachname.' '.$row_betreuer->titelpost).' ('.$row_betreuer->betreuerart_kurzbz.')';
if($row_betreuer->uid!='')
echo '</a>';
echo '<br>';
}
}
echo "</td>";
echo "<td>$row->beginn</td>";
echo "<td>$row->ende</td>";
echo "<td>";
echo "<SELECT name='note_$row->projektarbeit_id'>";
echo "<OPTION value=''></OPTION>";
foreach ($noten->result as $note)
{
if($row->note==$note->note)
$selected='selected';
else
$selected='';
echo "<OPTION value='$note->note' $selected>$note->bezeichnung</OPTION>";
}
echo "</SELECT>";
echo "</td>";
echo "</tr>";
}
echo '</tbody></table>';
echo '<br><br><div align="right"><input type="submit" value="Speichern" name="savedata"/></div>';
echo '</form>';
?>
<br>
</body>
</html>
@@ -115,7 +115,7 @@ if($student_uid!='')
}
}
//letzten Beistrich wieder entfernen
$gruppen = mb_substr($gruppen, 0, mb_strlen($gruppen,'UTF-8')-2,'UTF-8');
$gruppen = mb_substr($gruppen, 0, mb_strlen($gruppen)-2);
echo "<tr>";
echo "<td class='table-sortable:default' align='center'>$row->unr</td>";
+358 -353
View File
@@ -1,354 +1,359 @@
<?php
//@version $Id$
/* Copyright (C) 2008 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 >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/*
* Dieses Programm listet nach Selektinskreterien alle Moodelkurse zu einem Studiengang auf.
* Fuer jede MoodleID werden die Anzahl Benotungen, und erfassten sowie angelegte Zusaetze angezeigt.
* Jeder der angezeigten Moodle IDs kann geloescht werden nach bestaetigung eines PopUp Fenster.
*/
// ***********************************************************************************************
// Include Dateien
// ***********************************************************************************************
// ---------------- Standart Include Dateien einbinden
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/globals.inc.php');
// ---------------- Moodle Daten Classe
include_once('../../include/moodle_course.class.php');
// ***********************************************************************************************
// Variable Initialisieren
// ***********************************************************************************************
// AusgabeStream
$content='';
// Vergleichsdatum Jahr und Monat fuer Studiensemester (Select-Auswahl)
$cYYYYMM=date("Ym", mktime(0,0,0,date("m"),date("d"),date("y")));
// ***********************************************************************************************
// POST oder GET Parameter einlesen
// ***********************************************************************************************
// @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter
$studiensemester_kurzbz=(isset($_REQUEST['studiensemester_kurzbz'])?trim($_REQUEST['studiensemester_kurzbz']):'');
// @$studiengang_kz Studiengang
$studiengang_kz=(isset($_REQUEST['studiengang_kz'])?trim($_REQUEST['studiengang_kz']):'');
// @$semester Semester des Studienganges
$semester=(isset($_REQUEST['semester'])?trim($_REQUEST['semester']):'');
// @$semester Semester des Studienganges
$kursid=(isset($_REQUEST['kursid'])?trim($_REQUEST['kursid']):'');
// @$mdl_course_id Moodle Kurs ID
$mdl_course_id= (isset($_REQUEST['mdl_course_id'])?$_REQUEST['mdl_course_id']:'');
// @$moodle_id Moodle SubKurs (Unterkat.) ID zu Moodle Kurs ID (mdl_course_id)
$moodle_id= (isset($_REQUEST['moodle_id'])?$_REQUEST['moodle_id']:'');
// @$bAnzeige Listenanzeige wenn Submitbottom Anzeige gedrueckt wurde
$bAnzeige= ($studiensemester_kurzbz!=''?True:False);
// @cCharset Zeichensatz - Ajax mit UTF-8
$cCharset= (isset($_REQUEST['client_encode'])?trim($_REQUEST['client_encode']):'UTF-8');
// @debug_switch Anzeige der xml-rfc Daten moegliche Stufen sind 0,1,2,3
$debug_switch= (isset($_REQUEST['debug'])?$_REQUEST['debug']:0);
// ***********************************************************************************************
// Datenbankverbindungen zu Moodle und Vilesci und Classen
// ***********************************************************************************************
// DB Connect
$conn=@pg_pconnect(CONN_STRING) or die('<div style="text-align:center;"><br />Datenbank zurzeit NICHT Online.<br />Bitte etwas Geduld.<br />Danke</div>');// Datenbankverbindung
$conn_moodle = pg_pconnect(CONN_STRING_MOODLE) or die('<div style="text-align:center;"><br />MOODLE Datenbank zurzeit NICHT Online.<br />Bitte etwas Geduld.<br />Danke</div>');
// Classen Instanzen
$objMoodle = new moodle_course($conn, $conn_moodle);
// ***********************************************************************************************
// Verarbeitung einer Moodle-Kurs Loeschaktion
// ***********************************************************************************************
if ($mdl_course_id!='' && $studiensemester_kurzbz!='') // Kurs wird zum bearbeiten (loeschen) freigegeben
{
include(dirname(__FILE__)."/xmlrpcutils/utils.php");
// Aktuellen Moodle Server ermitteln.
if (defined('MOODLE_PATH')) // Eintrag MOODLE_PATH in Vilesci config.inc.php. Hostname herausfiltern
{
$host = str_replace('https://','',str_replace('http://','',str_replace('/moodle','',str_replace('/moodle/','',MOODLE_PATH))));
}
elseif ($_SERVER["HTTP_HOST"]=="dav.technikum-wien.at" ) // Vilesci config.inc.php nicht erweitert HTTP_HOST pruefen
{
$host = 'dav.technikum-wien.at';
}
else // Produktivessystem
{
$host = 'cis.technikum-wien.at';
}
// Variable Daten Initialisieren
$uri = "/moodle/xmlrpc/xmlrpc.php";
$method = "DeleteCourseByID";
$args['CourseID']="$mdl_course_id";
$port=$_SERVER["SERVER_PORT"];
if ($debug_switch)
{
$content.="<br />Host:$host , Port:$port , Uri:$uri , Method:$method <br />";
}
$callspec = array(
'method' => $method,
'host' => $host,
'port' => $port,
'uri' => $uri,
'user' => (isset($_SERVER["PHP_AUTH_USER"])?$_SERVER["PHP_AUTH_USER"]:""),
'pass' => (isset($_SERVER["PHP_AUTH_PW"])?$_SERVER["PHP_AUTH_PW"]:""),
'secure' =>false,
'debug' => $debug_switch,
'args' => $args);
$result = xu_rpc_http_concise($callspec);
// Return Information
// $result[0] = Status true/false
// $result[1] = Informationstext
// $result[2] = Ausgabetext von Moodle
if (!is_array($result)) // Server wurde nicht erreicht.
{
$content.="Fehler xmlrpc call $result";
}
else if ($result[0]==1) // Methodenaufruf erfolgreich
{
#$content.=(isset($result[1])?$result[1]:"Moodel-Kurs gel&ouml;scht ");
$qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id='".addslashes($mdl_course_id)."' ";
if ($moodle_id!='')
$qry.= " and moodle_id='".addslashes($moodle_id)."'";
if(!pg_query($conn, $qry))
$content.="<p>Moodlekurs $mdl_course_id wurde NICHT gel&ouml;scht in Lehre.</p>";
$content.="<h3>Moodlekurs $mdl_course_id wurde gel&ouml;scht.</h3>";
}
else // Result = 0 ein Fehler im RFC wurde festgestellt
{
$content.=(isset($result[1])?$result[1]:"Fehler beim Kurs l&ouml;schen ");
}
}
// ***********************************************************************************************
// HTML Auswahlfelder (Teil 1)
// ***********************************************************************************************
// FormName erzeugen
$cFormName='searchMoodleCurse'.$studiensemester_kurzbz.$studiengang_kz.$semester;
$content.='
<form accept-charset="UTF-8" name="'.$cFormName.'" method="GET">
<table><tr>';
// Studiensemester public.tbl_studiensemester_kurzbz
$content.='<td>Studiensemester</td><td><select onchange="document.'.$cFormName.'.submit();" name="studiensemester_kurzbz">';
$sql_query = "SELECT studiensemester_kurzbz,to_char(start,'YYYYMM') as \"startYYYYMM\",to_char(ende,'YYYYMM') as \"endeYYYYMM\" FROM public.tbl_studiensemester order by start; ";
if ($result = @pg_query($conn, $sql_query))
{
while ($row = @pg_fetch_object($result))
{
// Gibt es noch keinen POST/GET Parameterwert den aktuellen Studiensemesterwert nehmen zum Positionieren in der Selektliste
if (empty($studiensemester_kurzbz) && $cYYYYMM>=$row->startYYYYMM && $cYYYYMM<=$row->endeYYYYMM)
$studiensemester_kurzbz=$row->studiensemester_kurzbz;
$content.='<option value="'.$row->studiensemester_kurzbz.'" '.(("$studiensemester_kurzbz"=="$row->studiensemester_kurzbz")?' selected="selected" ':'').'>&nbsp;'.$row->studiensemester_kurzbz.'&nbsp;</option>';
}
}
$content.='</select></td>';
// Studiengang public.tbl_studiengang_kz
$content.='<td>Studiengang</td><td><select onchange="document.'.$cFormName.'.submit();" name="studiengang_kz"><option value="">&nbsp;Alle&nbsp;</option>';
$sql_query = "SELECT studiengang_kz, UPPER(typ::varchar(1) || kurzbz) as kurzkz,kurzbzlang FROM public.tbl_studiengang where public.tbl_studiengang.moodle='t' ORDER BY kurzkz,kurzbzlang;";
if ($result = @pg_query($conn, $sql_query))
{
while($row=@pg_fetch_object($result))
{
$content.='<option value="'.$row->studiengang_kz.'" '.(("$studiengang_kz"=="$row->studiengang_kz")?' selected="selected" ':'').'>&nbsp;'.$row->kurzkz.'-'.$row->kurzbzlang.'&nbsp;</option>';
}
}
$content.='</select></td>';
// Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs
$content.='<td>Semster</td><td><select onchange="document.'.$cFormName.'.submit();" name="semester"><option value="">&nbsp;Alle&nbsp;</option>';
if ($studiengang_kz!='')
{
$sql_query = "SELECT max_semester FROM public.tbl_studiengang where studiengang_kz='".addslashes($studiengang_kz)."' OFFSET 0 LIMIT 1 ;";
$result = @pg_query($conn, $sql_query);
if ($row = @pg_fetch_object($result))
{
for($i=0;$i<=$row->max_semester;$i++)
{
$content.='<option value="'.($i).'" '.(("$semester"=="$i")?' selected="selected" ':'').'>&nbsp;'.($i).'&nbsp;</option>';
}
}
}
$content.='</select></td>';
$content.='<td>Kurs ID</td><td><input size="4" maxlength="8" name="kursid" value="'.$kursid.'">';
$content.='
<td><input name="anzeige" type="submit" value=" anzeigen "><input style="display:none" type="text" name="debug" value="'.$debug_switch.'" /></td>
</tr></table>
</form>
<hr>';
// ***********************************************************************************************
// HTML Listenanzeige (Teil 2)
// ***********************************************************************************************
// Bedingung zur Listenanzeige : Anzeige und Datengefunden
if ($bAnzeige && $objMoodle && $objMoodle->getAllVariant('',$studiensemester_kurzbz,$studiengang_kz,$semester,true))
{
// Header Top mit Anzahl der gelisteten Kurse
$content.= '<a name="top">'. count($objMoodle->result).' Kurs(e) gefunden</a>';
$content.='<table style="font-size:medium;border: 1px outset #F7F7F7;">';
// Header Teil Information der Funktion
$content.='<tr class="liste" align="center">';
$content.='<th colspan="6">Moodlekurs</th>';
$content.='<td colspan="2">Anzahl</td>';
$content.='<td>Kurs</td>';
$content.='</tr>';
// Headerinformation der Tabellenfelder
$content.='<tr class="liste" align="center">';
$content.='<th>&nbsp;Lehrveranstaltung&nbsp;</th>';
$content.='<th>&nbsp;Kurzbz.&nbsp;</th>';
$content.='<th>&nbsp;LV&nbsp;Id&nbsp;</th>';
$content.='<th>&nbsp;StudiengangKz&nbsp;</th>';
$content.='<th>&nbsp;Kursbezeichnung&nbsp;</th>';
$content.='<th>&nbsp;ID&nbsp;</th>';
$content.='<td>&nbsp;Benotungen&nbsp;</td>';
$content.='<td title="Aktivit&auml;ten und Lehrmaterial">&nbsp;Aktivit&auml;ten&nbsp;</td>';
$content.='<td>&nbsp;Bearbeiten&nbsp;</td>';
$content.='</tr>';
// Alle Moodlekurse in einer Schleife anzeigen.
for($i=0;$i<count($objMoodle->result);$i++)
{
// ZeilenCSS (gerade/ungerade) zur besseren Ansicht
if ($i%2)
$showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FEFFEC" ';
else
$showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FCFCFC" ';
if (!empty($kursid) && $kursid!=$objMoodle->result[$i]->mdl_course_id)
continue;
// Listenzeile
$content.='<tr '.$showCSS.' align="center">';
$content.='<td '.$showCSS.'>'.$objMoodle->result[$i]->lehrveranstaltung_bezeichnung.'</td>';
$content.='<td '.$showCSS.'>'.$objMoodle->result[$i]->lehrveranstaltung_kurzbz.'</td>';
$content.='<td '.$showCSS.' title="Semester '.$objMoodle->result[$i]->lehrveranstaltung_semester.'">'.$objMoodle->result[$i]->lehrveranstaltung_id.'</td>';
$content.='<td "'.$showCSS.'>'.$objMoodle->result[$i]->lehrveranstaltung_studiengang_kz.'</td>';
$content.='<td '.$showCSS.'>'.$objMoodle->result[$i]->mdl_shortname.'</td>';
$content.='<td '.$showCSS.' title="mdl_course_id:'.$objMoodle->result[$i]->mdl_course_id.'">'.$objMoodle->result[$i]->mdl_course_id.'</td>';
// Anzahl Benotungen
$content.='<td title="Benotungen" '.$showCSS.'>'.$objMoodle->result[$i]->mdl_benotungen.'</td>';
// Anzahl Aktivitaeten und Lehrmaterial
$content.='<td title="Resourcen:'.$objMoodle->result[$i]->mdl_resource.', Quiz:'.$objMoodle->result[$i]->mdl_quiz.', Chat:'.$objMoodle->result[$i]->mdl_chat.', Forum:'.$objMoodle->result[$i]->mdl_forum.', Choice:'.$objMoodle->result[$i]->mdl_choice.'" '.$showCSS.'>'.($objMoodle->result[$i]->mdl_resource+$objMoodle->result[$i]->mdl_quiz+$objMoodle->result[$i]->mdl_chat + $objMoodle->result[$i]->mdl_forum + $objMoodle->result[$i]->mdl_choice ).'</td>';
// Bearbeitung Submit
$content.= '<td style="cursor: pointer;" onclick="if (!window.confirm(\'L&ouml;schen Moodlekurs '.$objMoodle->result[$i]->mdl_course_id.', '.$objMoodle->result[$i]->lehrveranstaltung_bezeichnung.' ? \')) {return false;}; document.'.$cFormName.'_'.$i.'.submit();">';
$content.='<form style="display: inline;border:0px;" name="'.$cFormName.'_'.$i.'" method="GET" target="_self" action="'.$_SERVER["PHP_SELF"].'">';
$content.= '<input style="display:none" type="text" name="mdl_course_id" value="'.$objMoodle->result[$i]->mdl_course_id.'" />';
$content.= '<input style="display:none" type="text" name="studiensemester_kurzbz" value="'.$studiensemester_kurzbz.'" />';
$content.= '<input style="display:none" type="text" name="studiengang_kz" value="'.$studiengang_kz.'" />';
$content.= '<input style="display:none" type="text" name="semester" value="'.$semester.'" />';
$content.= '<input style="display:none" type="text" name="debug" value="'.$debug_switch.'" />';
$content.= '<img height="15" src="../../skin/images/table_row_delete.png" border="0" title="MoodleKurs entfernen" alt="table_row_delete.png" />';
$content.= '<input onclick="this.checked=false;" onblur="this.checked=false;" type="checkbox" value="" style="'.(!stristr($_SERVER['HTTP_USER_AGENT'],'OPERA') && !stristr($_SERVER['HTTP_USER_AGENT'],'Safari')?'display:none;':'').'font-size: 4px;border:0px solid transparent;text-decoration:none; background-color: transparent;" name="check_va_detail_kal'.$i.'" />';
$content.= 'entfernen';
$content.='</form>';
$content.= '</td>';
$content.='</tr>';
} // Ende Moodlekurse in einer Schleife anzeigen.
$content.= '</table>';
$content.= '<a href="#top">zum Anfang</a>';
} // Ende IF Bedingung Anzeige + Datengefunden
// ***********************************************************************************************
// HTML Header und Foot zum Content (Ausgabestring) hinzufuegen, und Anzeigen
// ***********************************************************************************************
$content='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Moodle - Kursverwaltung</title>
<base target="main">
<meta http-equiv="Content-Type" content="text/html; charset='.$cCharset.'">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body class="background_main">
<h2>Moodle - Kursverwaltung</h2>
<!-- MoodleKurs Content Start -->
'.$content.'
<!-- MoodleKurs Content Ende -->
</body>
</html>';
exit($content);
#-------------------------------------------------------------------------------------------
# Testfunktion zur Anzeige einer übergebenen Variable oder Array, Default ist GLOBALS
function Test($arr=constLeer,$lfd=0,$displayShow=true,$onlyRoot=false )
{
$tmpArrayString='';
if (!is_array($arr) && !is_object($arr)) return $arr;
if (is_array($arr) && count($arr)<1 && $displayShow) return '';
if (is_array($arr) && count($arr)<1 && $displayShow) return "<br /><b>function Test (???)</b><br />";
$lfdnr=$lfd + 1;
$tmpAnzeigeStufe='';
for ($i=1;$i<$lfdnr;$i++) $tmpAnzeigeStufe.="=";
$tmpAnzeigeStufe.="=>";
while (list( $tmp_key, $tmp_value ) = each($arr) )
{
if (!$onlyRoot && (is_array($tmp_value) || is_object($tmp_value)) && count($tmp_value) >0)
{
$tmpArrayString.="<br />$tmpAnzeigeStufe <b>$tmp_key</b>".Test($tmp_value,$lfdnr);
} else if ( (is_array($tmp_value) || is_object($tmp_value)) )
{
$tmpArrayString.="<br />$tmpAnzeigeStufe <b>$tmp_key -- 0 Records</b>";
} else if ($tmp_value!='')
{
$tmpArrayString.="<br />$tmpAnzeigeStufe $tmp_key :== ".$tmp_value;
} else {
$tmpArrayString.="<br />$tmpAnzeigeStufe $tmp_key :-- (is Empty :: $tmp_value)";
}
}
if ($lfd!='') { return $tmpArrayString; }
if (!$displayShow) { return $tmpArrayString; }
$tmpArrayString.="<br />";
$tmpArrayString="<br /><hr /><br />******* START *******<br />".$tmpArrayString."<br />******* ENDE *******<br /><hr /><br />";
$tmpArrayString.="<br />Server:: ".$_SERVER['PHP_SELF']."<br />";
return "$tmpArrayString";
}
<?php
//@version $Id$
/* Copyright (C) 2008 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 >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/*
* Dieses Programm listet nach Selektinskreterien alle Moodelkurse zu einem Studiengang auf.
* Fuer jede MoodleID werden die Anzahl Benotungen, und erfassten sowie angelegte Zusaetze angezeigt.
* Jeder der angezeigten Moodle IDs kann geloescht werden nach bestaetigung eines PopUp Fenster.
*/
// ***********************************************************************************************
// Include Dateien
// ***********************************************************************************************
// ---------------- Standart Include Dateien einbinden
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/globals.inc.php');
// ---------------- Moodle Daten Classe
include_once('../../include/moodle_course.class.php');
// ***********************************************************************************************
// Variable Initialisieren
// ***********************************************************************************************
// AusgabeStream
$content='';
// Vergleichsdatum Jahr und Monat fuer Studiensemester (Select-Auswahl)
$cYYYYMM=date("Ym", mktime(0,0,0,date("m"),date("d"),date("y")));
// ***********************************************************************************************
// POST oder GET Parameter einlesen
// ***********************************************************************************************
// @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter
$studiensemester_kurzbz=(isset($_REQUEST['studiensemester_kurzbz'])?trim($_REQUEST['studiensemester_kurzbz']):'');
// @$studiengang_kz Studiengang
$studiengang_kz=(isset($_REQUEST['studiengang_kz'])?trim($_REQUEST['studiengang_kz']):'');
// @$semester Semester des Studienganges
$semester=(isset($_REQUEST['semester'])?trim($_REQUEST['semester']):'');
// @$semester Semester des Studienganges
$kursid=(isset($_REQUEST['kursid'])?trim($_REQUEST['kursid']):'');
// @$mdl_course_id Moodle Kurs ID
$mdl_course_id= (isset($_REQUEST['mdl_course_id'])?$_REQUEST['mdl_course_id']:'');
// @$moodle_id Moodle SubKurs (Unterkat.) ID zu Moodle Kurs ID (mdl_course_id)
$moodle_id= (isset($_REQUEST['moodle_id'])?$_REQUEST['moodle_id']:'');
// @$bAnzeige Listenanzeige wenn Submitbottom Anzeige gedrueckt wurde
$bAnzeige= ($studiensemester_kurzbz!=''?True:False);
// @cCharset Zeichensatz - Ajax mit UTF-8
$cCharset= (isset($_REQUEST['client_encode'])?trim($_REQUEST['client_encode']):'UTF-8');
// @debug_switch Anzeige der xml-rfc Daten moegliche Stufen sind 0,1,2,3
$debug_switch= (isset($_REQUEST['debug'])?$_REQUEST['debug']:0);
// ***********************************************************************************************
// Datenbankverbindungen zu Moodle und Vilesci und Classen
// ***********************************************************************************************
// DB Connect
$conn=@pg_pconnect(CONN_STRING) or die('<div style="text-align:center;"><br />Datenbank zurzeit NICHT Online.<br />Bitte etwas Geduld.<br />Danke</div>');// Datenbankverbindung
$conn_moodle = pg_pconnect(CONN_STRING_MOODLE) or die('<div style="text-align:center;"><br />MOODLE Datenbank zurzeit NICHT Online.<br />Bitte etwas Geduld.<br />Danke</div>');
// Classen Instanzen
$objMoodle = new moodle_course($conn, $conn_moodle);
// ***********************************************************************************************
// Verarbeitung einer Moodle-Kurs Loeschaktion
// ***********************************************************************************************
if ($mdl_course_id!='' && $studiensemester_kurzbz!='') // Kurs wird zum bearbeiten (loeschen) freigegeben
{
include(dirname(__FILE__)."/xmlrpcutils/utils.php");
// Aktuellen Moodle Server ermitteln.
if (defined('MOODLE_PATH')) // Eintrag MOODLE_PATH in Vilesci config.inc.php. Hostname herausfiltern
{
$host = mb_eregi_replace('https://','',mb_eregi_replace('http://','',mb_eregi_replace('/moodle','',mb_eregi_replace('/moodle/','',MOODLE_PATH))));
}
elseif ($_SERVER["HTTP_HOST"]=="dav.technikum-wien.at" ) // Vilesci config.inc.php nicht erweitert HTTP_HOST pruefen
{
$host = 'dav.technikum-wien.at';
}
elseif ($_SERVER["HTTP_HOST"]=="calva.technikum-wien.at" ) // Vilesci config.inc.php nicht erweitert HTTP_HOST pruefen
{
$host = 'calva.technikum-wien.at';
}
else // Produktivessystem
{
$host = 'cis.technikum-wien.at';
}
#exit($host);
// Variable Daten Initialisieren
$uri = "/moodle/xmlrpc/xmlrpc.php";
$method = "DeleteCourseByID";
$args['CourseID']="$mdl_course_id";
$port=$_SERVER["SERVER_PORT"];
if ($debug_switch)
{
$content.="<br />Host:$host , Port:$port , Uri:$uri , Method:$method <br />";
}
$callspec = array(
'method' => $method,
'host' => $host,
'port' => $port,
'uri' => $uri,
'user' => (isset($_SERVER["PHP_AUTH_USER"])?$_SERVER["PHP_AUTH_USER"]:""),
'pass' => (isset($_SERVER["PHP_AUTH_PW"])?$_SERVER["PHP_AUTH_PW"]:""),
'secure' =>false,
'debug' => $debug_switch,
'args' => $args);
$result = xu_rpc_http_concise($callspec);
// Return Information
// $result[0] = Status true/false
// $result[1] = Informationstext
// $result[2] = Ausgabetext von Moodle
if (!is_array($result)) // Server wurde nicht erreicht.
{
$content.="Fehler xmlrpc call $result";
}
else if ($result[0]==1) // Methodenaufruf erfolgreich
{
#$content.=(isset($result[1])?$result[1]:"Moodel-Kurs gel&ouml;scht ");
$qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id='".addslashes($mdl_course_id)."' ";
if ($moodle_id!='')
$qry.= " and moodle_id='".addslashes($moodle_id)."'";
if(!pg_query($conn, $qry))
$content.="<p>Moodlekurs $mdl_course_id wurde NICHT gel&ouml;scht in Lehre.</p>";
$content.="<h3>Moodlekurs $mdl_course_id wurde gel&ouml;scht.</h3>";
}
else // Result = 0 ein Fehler im RFC wurde festgestellt
{
$content.=(isset($result[1])?$result[1]:"Fehler beim Kurs l&ouml;schen ");
}
}
// ***********************************************************************************************
// HTML Auswahlfelder (Teil 1)
// ***********************************************************************************************
// FormName erzeugen
$cFormName='searchMoodleCurse'.$studiensemester_kurzbz.$studiengang_kz.$semester;
$content.='
<form accept-charset="UTF-8" name="'.$cFormName.'" method="GET">
<table><tr>';
// Studiensemester public.tbl_studiensemester_kurzbz
$content.='<td>Studiensemester</td><td><select onchange="document.'.$cFormName.'.submit();" name="studiensemester_kurzbz">';
$sql_query = "SELECT studiensemester_kurzbz,to_char(start,'YYYYMM') as \"startYYYYMM\",to_char(ende,'YYYYMM') as \"endeYYYYMM\" FROM public.tbl_studiensemester order by start; ";
if ($result = @pg_query($conn, $sql_query))
{
while ($row = @pg_fetch_object($result))
{
// Gibt es noch keinen POST/GET Parameterwert den aktuellen Studiensemesterwert nehmen zum Positionieren in der Selektliste
if (empty($studiensemester_kurzbz) && $cYYYYMM>=$row->startYYYYMM && $cYYYYMM<=$row->endeYYYYMM)
$studiensemester_kurzbz=$row->studiensemester_kurzbz;
$content.='<option value="'.$row->studiensemester_kurzbz.'" '.(("$studiensemester_kurzbz"=="$row->studiensemester_kurzbz")?' selected="selected" ':'').'>&nbsp;'.$row->studiensemester_kurzbz.'&nbsp;</option>';
}
}
$content.='</select></td>';
// Studiengang public.tbl_studiengang_kz
$content.='<td>Studiengang</td><td><select onchange="document.'.$cFormName.'.submit();" name="studiengang_kz"><option value="">&nbsp;Alle&nbsp;</option>';
$sql_query = "SELECT studiengang_kz, UPPER(typ::varchar(1) || kurzbz) as kurzkz,kurzbzlang FROM public.tbl_studiengang where public.tbl_studiengang.moodle='t' ORDER BY kurzkz,kurzbzlang;";
if ($result = @pg_query($conn, $sql_query))
{
while($row=@pg_fetch_object($result))
{
$content.='<option value="'.$row->studiengang_kz.'" '.(("$studiengang_kz"=="$row->studiengang_kz")?' selected="selected" ':'').'>&nbsp;'.$row->kurzkz.'-'.$row->kurzbzlang.'&nbsp;</option>';
}
}
$content.='</select></td>';
// Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs
$content.='<td>Semster</td><td><select onchange="document.'.$cFormName.'.submit();" name="semester"><option value="">&nbsp;Alle&nbsp;</option>';
if ($studiengang_kz!='')
{
$sql_query = "SELECT max_semester FROM public.tbl_studiengang where studiengang_kz='".addslashes($studiengang_kz)."' OFFSET 0 LIMIT 1 ;";
$result = @pg_query($conn, $sql_query);
if ($row = @pg_fetch_object($result))
{
for($i=0;$i<=$row->max_semester;$i++)
{
$content.='<option value="'.($i).'" '.(("$semester"=="$i")?' selected="selected" ':'').'>&nbsp;'.($i).'&nbsp;</option>';
}
}
}
$content.='</select></td>';
$content.='<td>Kurs ID</td><td><input size="4" maxlength="8" name="kursid" value="'.$kursid.'">';
$content.='
<td><input name="anzeige" type="submit" value=" anzeigen "><input style="display:none" type="text" name="debug" value="'.$debug_switch.'" /></td>
</tr></table>
</form>
<hr>';
// ***********************************************************************************************
// HTML Listenanzeige (Teil 2)
// ***********************************************************************************************
// Bedingung zur Listenanzeige : Anzeige und Datengefunden
if ($bAnzeige && $objMoodle && $objMoodle->getAllVariant('',$studiensemester_kurzbz,$studiengang_kz,$semester,true))
{
// Header Top mit Anzahl der gelisteten Kurse
$content.= '<a name="top">'. count($objMoodle->result).' Kurs(e) gefunden</a>';
$content.='<table style="font-size:medium;border: 1px outset #F7F7F7;">';
// Header Teil Information der Funktion
$content.='<tr class="liste" align="center">';
$content.='<th colspan="6">Moodlekurs</th>';
$content.='<td colspan="2">Anzahl</td>';
$content.='<td>Kurs</td>';
$content.='</tr>';
// Headerinformation der Tabellenfelder
$content.='<tr class="liste" align="center">';
$content.='<th>&nbsp;Lehrveranstaltung&nbsp;</th>';
$content.='<th>&nbsp;Kurzbz.&nbsp;</th>';
$content.='<th>&nbsp;LV&nbsp;Id&nbsp;</th>';
$content.='<th>&nbsp;StudiengangKz&nbsp;</th>';
$content.='<th>&nbsp;Kursbezeichnung&nbsp;</th>';
$content.='<th>&nbsp;ID&nbsp;</th>';
$content.='<td>&nbsp;Benotungen&nbsp;</td>';
$content.='<td title="Aktivit&auml;ten und Lehrmaterial">&nbsp;Aktivit&auml;ten&nbsp;</td>';
$content.='<td>&nbsp;Bearbeiten&nbsp;</td>';
$content.='</tr>';
// Alle Moodlekurse in einer Schleife anzeigen.
for($i=0;$i<count($objMoodle->result);$i++)
{
// ZeilenCSS (gerade/ungerade) zur besseren Ansicht
if ($i%2)
$showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FEFFEC" ';
else
$showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FCFCFC" ';
if (!empty($kursid) && $kursid!=$objMoodle->result[$i]->mdl_course_id)
continue;
// Listenzeile
$content.='<tr '.$showCSS.' align="center">';
$content.='<td '.$showCSS.'>'.$objMoodle->result[$i]->lehrveranstaltung_bezeichnung.'</td>';
$content.='<td '.$showCSS.'>'.$objMoodle->result[$i]->lehrveranstaltung_kurzbz.'</td>';
$content.='<td '.$showCSS.' title="Semester '.$objMoodle->result[$i]->lehrveranstaltung_semester.'">'.$objMoodle->result[$i]->lehrveranstaltung_id.'</td>';
$content.='<td "'.$showCSS.'>'.$objMoodle->result[$i]->lehrveranstaltung_studiengang_kz.'</td>';
$content.='<td '.$showCSS.'>'.$objMoodle->result[$i]->mdl_shortname.'</td>';
$content.='<td '.$showCSS.' title="mdl_course_id:'.$objMoodle->result[$i]->mdl_course_id.'">'.$objMoodle->result[$i]->mdl_course_id.'</td>';
// Anzahl Benotungen
$content.='<td title="Benotungen" '.$showCSS.'>'.$objMoodle->result[$i]->mdl_benotungen.'</td>';
// Anzahl Aktivitaeten und Lehrmaterial
$content.='<td title="Resourcen:'.$objMoodle->result[$i]->mdl_resource.', Quiz:'.$objMoodle->result[$i]->mdl_quiz.', Chat:'.$objMoodle->result[$i]->mdl_chat.', Forum:'.$objMoodle->result[$i]->mdl_forum.', Choice:'.$objMoodle->result[$i]->mdl_choice.'" '.$showCSS.'>'.($objMoodle->result[$i]->mdl_resource+$objMoodle->result[$i]->mdl_quiz+$objMoodle->result[$i]->mdl_chat + $objMoodle->result[$i]->mdl_forum + $objMoodle->result[$i]->mdl_choice ).'</td>';
// Bearbeitung Submit
$content.= '<td style="cursor: pointer;" onclick="if (!window.confirm(\'L&ouml;schen Moodlekurs '.$objMoodle->result[$i]->mdl_course_id.', '.$objMoodle->result[$i]->lehrveranstaltung_bezeichnung.' ? \')) {return false;}; document.'.$cFormName.'_'.$i.'.submit();">';
$content.='<form style="display: inline;border:0px;" name="'.$cFormName.'_'.$i.'" method="GET" target="_self" action="'.$_SERVER["PHP_SELF"].'">';
$content.= '<input style="display:none" type="text" name="mdl_course_id" value="'.$objMoodle->result[$i]->mdl_course_id.'" />';
$content.= '<input style="display:none" type="text" name="studiensemester_kurzbz" value="'.$studiensemester_kurzbz.'" />';
$content.= '<input style="display:none" type="text" name="studiengang_kz" value="'.$studiengang_kz.'" />';
$content.= '<input style="display:none" type="text" name="semester" value="'.$semester.'" />';
$content.= '<input style="display:none" type="text" name="debug" value="'.$debug_switch.'" />';
$content.= '<img height="15" src="../../skin/images/table_row_delete.png" border="0" title="MoodleKurs entfernen" alt="table_row_delete.png" />';
$content.= '<input onclick="this.checked=false;" onblur="this.checked=false;" type="checkbox" value="" style="'.(!stristr($_SERVER['HTTP_USER_AGENT'],'OPERA') && !stristr($_SERVER['HTTP_USER_AGENT'],'Safari')?'display:none;':'').'font-size: 4px;border:0px solid transparent;text-decoration:none; background-color: transparent;" name="check_va_detail_kal'.$i.'" />';
$content.= 'entfernen';
$content.='</form>';
$content.= '</td>';
$content.='</tr>';
} // Ende Moodlekurse in einer Schleife anzeigen.
$content.= '</table>';
$content.= '<a href="#top">zum Anfang</a>';
} // Ende IF Bedingung Anzeige + Datengefunden
// ***********************************************************************************************
// HTML Header und Foot zum Content (Ausgabestring) hinzufuegen, und Anzeigen
// ***********************************************************************************************
$content='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Moodle - Kursverwaltung</title>
<base target="main">
<meta http-equiv="Content-Type" content="text/html; charset='.$cCharset.'">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body class="background_main">
<h2>Moodle - Kursverwaltung</h2>
<!-- MoodleKurs Content Start -->
'.$content.'
<!-- MoodleKurs Content Ende -->
</body>
</html>';
exit($content);
#-------------------------------------------------------------------------------------------
# Testfunktion zur Anzeige einer übergebenen Variable oder Array, Default ist GLOBALS
function Test($arr=constLeer,$lfd=0,$displayShow=true,$onlyRoot=false )
{
$tmpArrayString='';
if (!is_array($arr) && !is_object($arr)) return $arr;
if (is_array($arr) && count($arr)<1 && $displayShow) return '';
if (is_array($arr) && count($arr)<1 && $displayShow) return "<br /><b>function Test (???)</b><br />";
$lfdnr=$lfd + 1;
$tmpAnzeigeStufe='';
for ($i=1;$i<$lfdnr;$i++) $tmpAnzeigeStufe.="=";
$tmpAnzeigeStufe.="=>";
while (list( $tmp_key, $tmp_value ) = each($arr) )
{
if (!$onlyRoot && (is_array($tmp_value) || is_object($tmp_value)) && count($tmp_value) >0)
{
$tmpArrayString.="<br />$tmpAnzeigeStufe <b>$tmp_key</b>".Test($tmp_value,$lfdnr);
} else if ( (is_array($tmp_value) || is_object($tmp_value)) )
{
$tmpArrayString.="<br />$tmpAnzeigeStufe <b>$tmp_key -- 0 Records</b>";
} else if ($tmp_value!='')
{
$tmpArrayString.="<br />$tmpAnzeigeStufe $tmp_key :== ".$tmp_value;
} else {
$tmpArrayString.="<br />$tmpAnzeigeStufe $tmp_key :-- (is Empty :: $tmp_value)";
}
}
if ($lfd!='') { return $tmpArrayString; }
if (!$displayShow) { return $tmpArrayString; }
$tmpArrayString.="<br />";
$tmpArrayString="<br /><hr /><br />******* START *******<br />".$tmpArrayString."<br />******* ENDE *******<br /><hr /><br />";
$tmpArrayString.="<br />Server:: ".$_SERVER['PHP_SELF']."<br />";
return "$tmpArrayString";
}
?>
+1 -1
View File
@@ -144,7 +144,7 @@ if(isset($_POST['save']))
$bmp->person_id = $_POST['person_id'];
$bmp->betriebsmittel_id=$betriebsmittel_id;
$bmp->anmerkung = $_POST['anmerkung'];
$bmp->kaution = trim(str_replace(',','.',$_POST['kaution']));
$bmp->kaution = trim(mb_eregi_replace(',','.',$_POST['kaution']));
$bmp->ausgegebenam = $_POST['ausgegebenam'];
$bmp->retouram = $_POST['retouram'];
+2 -2
View File
@@ -154,7 +154,7 @@ if($result = pg_query($conn, $qry))
if($result_stg = pg_query($conn, $qry))
while($row_stg = pg_fetch_object($result_stg))
$text.= $stg_obj->kuerzel_arr[$row_stg->studiengang_kz].', ';
echo mb_substr($text, 0, mb_strlen($text,'UTF-8')-2,'UTF-8');
echo mb_substr($text, 0, mb_strlen($text)-2);
echo '</td>';
echo "<td>".(isset($fb_obj->bezeichnung_arr[$row->hauptzuteilung])?$fb_obj->bezeichnung_arr[$row->hauptzuteilung]:'')."</td>";
echo "<td>";
@@ -163,7 +163,7 @@ if($result = pg_query($conn, $qry))
if($result_fb = pg_query($conn, $qry))
while($row_fb = pg_fetch_object($result_fb))
$text.= $fb_obj->bezeichnung_arr[$row_fb->fachbereich_kurzbz].', ';
echo mb_substr($text, 0, mb_strlen($text,'UTF-8')-2,'UTF-8');
echo mb_substr($text, 0, mb_strlen($text)-2);
echo "</td>";
echo '</tr>';
}
+178 -178
View File
@@ -1,179 +1,179 @@
<?php
/* Copyright (C) 2008 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.
*
* Author: Rudolf Hangl <rudolf.hangl@technikum-wien.at>
*/
/*
Entfernen (doppelter) Interessenten
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
$msg='';
//prestudent_id
if (isset($_GET['prestudent']) || isset($_POST['prestudent']))
{
$prestudent_id=(isset($_GET['prestudent'])?$_GET['prestudent']:$_POST['prestudent']);
}
else
{
$prestudent='';
}
//person_id
if (isset($_GET['person']) || isset($_POST['person']))
{
$person=(isset($_GET['person'])?$_GET['person']:$_POST['person']);
}
else
{
$person='';
}
if($person!='' && $prestudent!='')
{
$qry="SELECT * FROM public.tbl_prestudent WHERE person_id=".$person.";";
if($result = pg_query($conn, $qry))
{
if(pg_num_rows($result)>1)
{
$q2="SELECT * FROM public.tbl_prestudent WHERE person_id=".$person." AND prestudent_id=".$prestudent.";";
if($result2 = pg_query($conn, $q2))
{
if(pg_num_rows($result2)<1)
{
//kein prestudent mit eingegebener person_id und prestudent_id gefunden
$msg="Die Eingaben passen nicht zusammen!";
}
else
{
$q3="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';";
if($result3 = pg_query($conn, $q3))
{
if(pg_num_rows($result3)==1)
{
//mehrere prestudenten an diesem studenten => nur prestudentrolle und prestudent werden gelöscht
$del="DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';DELETE FROM public.tbl_prestudent WHERE prestudent_id=".$prestudent.";";
if(pg_query($conn, $del))
{
$msg="Prestudent mit ID ".$prestudent." und Prestudentrolle Interessent entfernt.<br>".str_replace(";DELETE",";<br>DELETE",$del);
}
else
{
$msg="Fehler bei: ".$del;
}
}
else
{
$msg="Eingabedaten zeigen nicht auf einen Interessenten!";
}
}
}
}
}
elseif(pg_num_rows($result)==1)
{
if($row = pg_fetch_object($result))
{
if($row->prestudent_id==$prestudent)
{
$q3="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';";
if($result3 = pg_query($conn, $q3))
{
if(pg_num_rows($result3)==1)
{
//löschen von prestudentrolle, prestudent, adresse, kontakt und person werden gelöscht
$del="DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';DELETE FROM public.tbl_prestudent WHERE prestudent_id=".$prestudent.";DELETE FROM public.tbl_adresse WHERE person_id=".$person.";DELETE FROM public.tbl_kontakt WHERE person_id=".$person.";DELETE FROM public.tbl_person WHERE person_id=".$person.";";
if(pg_query($conn, $del))
{
$msg="Prestudent mit ID ".$prestudent." und Person mit ID ".$person." entfernt.<br>".str_replace(";DELETE",";<br>DELETE",$del);
}
else
{
$msg="Fehler bei: ".$del;
}
}
else
{
$msg="Eingabedaten zeigen nicht auf einen Interessenten!";
}
}
}
else
{
$msg="Eingaben passen nicht zusammen!";
}
}
}
else
{
//kein prestudent gefunden
$msg="Keinen Prestudent mit dieser person_id gefunden! Bitte Eingabe überprüfen!";
}
}
}
else
{
$msg="Bitte beide Parameter eingeben!";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>Entfernen von (doppelten) Interessenten</title>
</head>
<body>
<H1>Entfernen von (doppelten) Interessenten</H1>
<?php
echo "<form name='suche' action='interessent_entfernen.php' method='POST'>";
echo "<table><tr>";
echo "<th>prestudent_id</th><th>person_id</th><th>&nbsp;</th>";
echo "<tr>";
echo "<td><input name=\"prestudent\" type=\"text\" value=\"$prestudent\" size=\"16\" maxlength=\"8\"></td>";
echo "<td><input name='person' type='text' value=\"$person\" size='16' maxlength='8'></td>";
echo "<td><input type='submit' value=' entfernen '></td></tr>";
echo "</table></form>";
?>
<br>
<center><h2><?php echo "<span style=\"font-size:0.7em\">".
substr(CONN_STRING,strpos(CONN_STRING,'dbname=')+7,strpos(CONN_STRING,'user=')-strpos(CONN_STRING,'dbname=')-7).": ".
$msg."</span>"; ?></h2></center>
<br>
</tr>
</table>
</body>
<?php
/* Copyright (C) 2008 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.
*
* Author: Rudolf Hangl <rudolf.hangl@technikum-wien.at>
*/
/*
Entfernen (doppelter) Interessenten
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
$msg='';
//prestudent_id
if (isset($_GET['prestudent']) || isset($_POST['prestudent']))
{
$prestudent_id=(isset($_GET['prestudent'])?$_GET['prestudent']:$_POST['prestudent']);
}
else
{
$prestudent='';
}
//person_id
if (isset($_GET['person']) || isset($_POST['person']))
{
$person=(isset($_GET['person'])?$_GET['person']:$_POST['person']);
}
else
{
$person='';
}
if($person!='' && $prestudent!='')
{
$qry="SELECT * FROM public.tbl_prestudent WHERE person_id=".$person.";";
if($result = pg_query($conn, $qry))
{
if(pg_num_rows($result)>1)
{
$q2="SELECT * FROM public.tbl_prestudent WHERE person_id=".$person." AND prestudent_id=".$prestudent.";";
if($result2 = pg_query($conn, $q2))
{
if(pg_num_rows($result2)<1)
{
//kein prestudent mit eingegebener person_id und prestudent_id gefunden
$msg="Die Eingaben passen nicht zusammen!";
}
else
{
$q3="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';";
if($result3 = pg_query($conn, $q3))
{
if(pg_num_rows($result3)==1)
{
//mehrere prestudenten an diesem studenten => nur prestudentrolle und prestudent werden gelöscht
$del="DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';DELETE FROM public.tbl_prestudent WHERE prestudent_id=".$prestudent.";";
if(pg_query($conn, $del))
{
$msg="Prestudent mit ID ".$prestudent." und Prestudentrolle Interessent entfernt.<br>".mb_eregi_replace(";DELETE",";<br>DELETE",$del);
}
else
{
$msg="Fehler bei: ".$del;
}
}
else
{
$msg="Eingabedaten zeigen nicht auf einen Interessenten!";
}
}
}
}
}
elseif(pg_num_rows($result)==1)
{
if($row = pg_fetch_object($result))
{
if($row->prestudent_id==$prestudent)
{
$q3="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';";
if($result3 = pg_query($conn, $q3))
{
if(pg_num_rows($result3)==1)
{
//löschen von prestudentrolle, prestudent, adresse, kontakt und person werden gelöscht
$del="DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';DELETE FROM public.tbl_prestudent WHERE prestudent_id=".$prestudent.";DELETE FROM public.tbl_adresse WHERE person_id=".$person.";DELETE FROM public.tbl_kontakt WHERE person_id=".$person.";DELETE FROM public.tbl_person WHERE person_id=".$person.";";
if(pg_query($conn, $del))
{
$msg="Prestudent mit ID ".$prestudent." und Person mit ID ".$person." entfernt.<br>".mb_eregi_replace(";DELETE",";<br>DELETE",$del);
}
else
{
$msg="Fehler bei: ".$del;
}
}
else
{
$msg="Eingabedaten zeigen nicht auf einen Interessenten!";
}
}
}
else
{
$msg="Eingaben passen nicht zusammen!";
}
}
}
else
{
//kein prestudent gefunden
$msg="Keinen Prestudent mit dieser person_id gefunden! Bitte Eingabe überprüfen!";
}
}
}
else
{
$msg="Bitte beide Parameter eingeben!";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>Entfernen von (doppelten) Interessenten</title>
</head>
<body>
<H1>Entfernen von (doppelten) Interessenten</H1>
<?php
echo "<form name='suche' action='interessent_entfernen.php' method='POST'>";
echo "<table><tr>";
echo "<th>prestudent_id</th><th>person_id</th><th>&nbsp;</th>";
echo "<tr>";
echo "<td><input name=\"prestudent\" type=\"text\" value=\"$prestudent\" size=\"16\" maxlength=\"8\"></td>";
echo "<td><input name='person' type='text' value=\"$person\" size='16' maxlength='8'></td>";
echo "<td><input type='submit' value=' entfernen '></td></tr>";
echo "</table></form>";
?>
<br>
<center><h2><?php echo "<span style=\"font-size:0.7em\">".
substr(CONN_STRING,strpos(CONN_STRING,'dbname=')+7,strpos(CONN_STRING,'user=')-strpos(CONN_STRING,'dbname=')-7).": ".
$msg."</span>"; ?></h2></center>
<br>
</tr>
</table>
</body>
</html>
+1 -1
View File
@@ -418,7 +418,7 @@ if($where!='')
$status.=$row_stati->rolle.', ';
}
}
$status = mb_substr($status, 0, mb_strlen($status,'UTF-8')-2,'UTF-8');
$status = mb_substr($status, 0, mb_strlen($status)-2);
echo '<tr valign="top"><td><input type="radio" name="person_id" value="'.$row->person_id.'" onclick="disablefields(this)"></td><td>'."$row->nachname</td><td>$row->vorname</td><td>$row->gebdatum</td><td>$row->svnr</td><td>".($row->geschlecht=='m'?'männlich':'weiblich')."</td><td>";
$qry_adr = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id'";
+2 -2
View File
@@ -754,7 +754,7 @@ function shortname($name)
{
if(strlen($name)>40)
{
return mb_substr($name, 0, 20,'UTF-8').' ... '.mb_substr($name, mb_strlen($name,'UTF-8')-20,'UTF-8');
return mb_substr($name, 0, 20).' ... '.mb_substr($name, mb_strlen($name)-20);
}
else
return $name;
@@ -852,7 +852,7 @@ if($where!='')
$status.=trim($row_stati->rolle);
}
}
$status = mb_substr($status, 0, mb_strlen($status,'UTF-8')-2,'UTF-8');
$status = mb_substr($status, 0, mb_strlen($status)-2);
echo '<tr valign="top"><td><input type="radio" name="person_id" value="'.$row->person_id.'" onclick="disablefields(this)"></td><td>'."$row->nachname</td><td>$row->vorname</td><td>$row->gebdatum</td><td>$row->svnr</td><td>".($row->geschlecht=='m'?'männlich':'weiblich')."</td><td>";
$qry_adr = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id'";
File diff suppressed because it is too large Load Diff
+321 -321
View File
@@ -1,322 +1,322 @@
<?php
/* Copyright (C) 2007 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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/preinteressent.class.php');
require_once('../../include/person.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/prestudent.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
$user = get_uid();
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
$datum_obj = new datum();
if(isset($_GET['studiengang_kz']))
$studiengang_kz = $_GET['studiengang_kz'];
else
$studiengang_kz = '';
echo '<html>
<head>
<title>PreInteressenten</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<h2>PreInteressenten</h2>
';
$stg_admin = $rechte->getStgKz('admin');
$stg_assistenz = $rechte->getStgKz('assistenz');
$stgs = array_merge($stg_admin, $stg_assistenz);
sort($stgs);
//Wenn keine Berechtigung vorhanden ist beenden
if(count($stgs)==0)
die('Sie haben keine Studiengangsberechtigung');
//alle Studiengaenge holen fuer die eine berechtigung vorhanden ist
$qry = "SELECT UPPER(typ::varchar(1) || kurzbz) as kuerzel, studiengang_kz FROM public.tbl_studiengang";
if($stgs[0]!=0)
{
$stgwhere = '';
foreach ($stgs as $stg)
{
if($stgwhere!='')
$stgwhere.=',';
$stgwhere .=$stg;
}
$qry.=" WHERE studiengang_kz in ($stgwhere)";
}
$qry.=" ORDER by kuerzel";
//Drop Down fuer Studiengaenge anzeigen
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiengang: <select name="studiengang_kz">';
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
//wenn kein Studiengang uebergeben wurde dann den ersten nehmen fuer den eine Berechtigung vorhanden ist
if($studiengang_kz=='')
$studiengang_kz = $row->studiengang_kz;
if($row->studiengang_kz == $studiengang_kz)
$selected = 'selected';
else
$selected = '';
echo "<option value='$row->studiengang_kz' $selected>$row->kuerzel</option>";
}
}
echo '</select><input type="submit" value="Anzeigen"></form>';
if(!$rechte->isBerechtigt('admin', $studiengang_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid'))
die('Sie haben keine Berechtigung fuer diese Seite');
if(isset($_POST['uebertragen']))
{
$anzahl_fehler=0;
$anzahl_uebernommen=0;
foreach ($_POST as $param=>$val)
{
if(strstr($param, 'chk_'))
{
pg_query($conn, 'BEGIN;');
$id = substr($param, 4);
$preinteressent = new preinteressent($conn);
if($preinteressent->load($id))
{
//Prestudent anlegen
$prestudent = new prestudent($conn);
$prestudent->new = true;
$prestudent->aufmerksamdurch_kurzbz = $preinteressent->aufmerksamdurch_kurzbz;
$prestudent->person_id = $preinteressent->person_id;
$prestudent->studiengang_kz = $studiengang_kz;
$prestudent->reihungstestangetreten = false;
$prestudent->bismelden = true;
$prestudent->insertamum = date('Y-m-d H:i:s');
$prestudent->insertvon = $user;
if($prestudent->save())
{
//Rolle anlegen
$prestudent->studiensemester_kurzbz = $preinteressent->studiensemester_kurzbz;
//$preinteressent1 = new preinteressent($conn);
//$preinteressent1->loadStudiengangszuteilung($preinteressent_id, $studiengang_kz);
$prestudent->ausbildungssemester = 1;
$prestudent->status_kurzbz = 'Interessent';
$prestudent->datum = date('Y-m-d');
$prestudent->insertamum = date('Y-m-d H:i:s');
$prestudent->inservon = $user;
if($prestudent->save_rolle(true))
{
//Uebernahme Datum setzen
$qry = "UPDATE public.tbl_preinteressentstudiengang SET
uebernahmedatum='".date('Y-m-d H:i:s')."',
updateamum='".date('Y-m-d H:i:s')."',
updatevon='".$user."'
WHERE studiengang_kz='$studiengang_kz' AND preinteressent_id='$id'";
if(pg_query($conn, $qry))
{
$anzahl_uebernommen++;
pg_query($conn, 'COMMIT');
}
else
{
echo "<br>Fehler beim Eintragen des Uebernahmedatums";
$anzahl_fehler++;
pg_query($conn, 'ROLLBACK');
}
}
else
{
echo "<br>Fehler beim Anlegen der Rolle: $prestudent->errormsg";
pg_query($conn, 'ROLLBACK');
$anzahl_fehler++;
}
}
else
{
echo "<br>Fehler beim Speichern des Prestudenteintrages: $prestudent->errormsg";
pg_query($conn, 'ROLLBACK');
$anzahl_fehler++;
}
}
else
{
echo "<br>PreInteressent mit der ID $id konnte nicht geladen werden";
pg_query($conn, 'ROLLBACK');
$anzahl_fehler++;
}
}
}
echo "<br>Es wurde(n) <b>$anzahl_uebernommen Person(en) uebernommen</b>";
if($anzahl_fehler>0)
echo "<br>Es sind <b>$anzahl_fehler Fehler aufgetreten</b>";
}
if(isset($_GET['type']) && $_GET['type']=='zusammenlegung')
{
if(isset($_GET['preinteressent_id']) && isset($_GET['personneu_id']))
{
$preinteressent_id = $_GET['preinteressent_id'];
$person_id_neu = $_GET['personneu_id'];
if(!is_numeric($preinteressent_id))
die('Preinteressent_id ist ungueltig');
if(!is_numeric($person_id_neu))
die('person_id ist ungueltig');
//Zusammenlegung
//- Kontaktdaten werden zusammengelegt
//- Personendatensatz des Preinteressenten wird verworfen
//- Uebernahmedatum wird gesetzt
pg_query($conn, 'BEGIN;');
$preinteressent=new preinteressent($conn);
$preinteressent->load($preinteressent_id);
$qry = "UPDATE public.tbl_kontakt SET person_id='$person_id_neu' WHERE person_id='$preinteressent->person_id';
UPDATE public.tbl_adresse SET person_id='$person_id_neu' WHERE person_id='$preinteressent->person_id';
UPDATE public.tbl_preinteressent SET person_id='$person_id_neu' WHERE preinteressent_id='$preinteressent_id';
";
if(!pg_query($conn, $qry))
{
pg_query($conn, 'ROLLBACK');
die('Fehler beim Zusammenlegen der Kontaktdaten');
}
$qry = "UPDATE public.tbl_preinteressentstudiengang SET uebernahmedatum='".date('Y-m-d H:i:s')."',
updateamum='".date('Y-m-d H:i:s')."', updatevon='$user'
WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='".addslashes($studiengang_kz)."'";
if(!pg_query($conn, $qry))
{
pg_query($conn, 'ROLLBACK');
die('Fehler beim Setzen des Uebernahmedatums');
}
pg_query($conn, 'COMMIT');
//Versuchen den Personendatensatz zu loeschen
//(Falls die Person noch irgendwohin referenziert (Firmenbetreuer, Preinteressent,...)
// wird das Loeschen von der DB verhindert, deshalb das @ vor dem pg_query)
$qry = "DELETE FROM public.tbl_person WHERE person_id='$preinteressent->person_id'";
@pg_query($conn, $qry);
echo "<b>Personen wurden zusammengelegt</b>";
}
else
die('Preinteressent_id und personneu_id muss uebergeben werden');
}
echo '<br><br>';
echo "<form action='".$_SERVER['PHP_SELF']."?studiengang_kz=$studiengang_kz' method='POST'>";
echo "<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th>&nbsp;</th>
<th class='table-sortable:default'>Nachname</th>
<th class='table-sortable:default'>Vorname</th>
<th class='table-sortable:default'>GebDatum</th>
<th class='table-sortable:default'>Studiensemester</th>
<th class='table-sortable:default'>Anmerkung</th>
<th class='table-sortable:default'>Zusammenlegung</th>
</tr>
</thead>
<tbody>";
$preinteressent = new preinteressent($conn);
$preinteressent->loadFreigegebene($studiengang_kz);
foreach ($preinteressent->result as $row)
{
echo '<tr>';
$person = new person($conn);
$person->load($row->person_id);
echo "<td><input type='checkbox' name='chk_$row->preinteressent_id' checked></td>";
echo "<td>$person->nachname</td>";
echo "<td>$person->vorname</td>";
echo "<td>$person->gebdatum</td>";
echo "<td>$row->studiensemester_kurzbz</td>";
echo "<td>$row->anmerkung</td>";
echo "<td>";
//Suchen ob diese Person schon existiert
$qry = "SELECT distinct * FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE
studiengang_kz='$studiengang_kz' AND (
(vorname='$person->vorname' AND nachname='$person->nachname') ";
if($person->gebdatum!='')
$qry.=" OR (nachname='$person->nachname' AND gebdatum='$person->gebdatum')";
$qry.=")";
if($result_double = pg_query($conn, $qry))
{
if(pg_num_rows($result_double)>0)
{
//wenn zu dieser Person bereits ein Prestudent oder Benutzer existiert,
//dann kann die zusammenlegung nur ueber die administration erfolgen
//(damit wird verhindert, dass unbeabsichtigt verschiedene Personen zusammengelegt werden)
$qry = "SELECT prestudent_id FROM public.tbl_prestudent WHERE person_id='$row->person_id'
UNION
SELECT person_id FROM public.tbl_benutzer WHERE person_id='$row->person_id'
";
if($result_anz = pg_query($conn, $qry))
{
if(pg_num_rows($result_anz)==0)
{
echo '<SELECT name="person_id" id="person_id_'.$row->preinteressent_id.'">';
while($row_double=pg_fetch_object($result_double))
{
echo "<OPTION value='$row_double->person_id'>$row_double->nachname $row_double->vorname $row_double->gebdatum ($row_double->person_id)</OPTION>";
}
echo '</SELECT>';
echo '<INPUT type="button" value="Zusammenlegen" onclick="window.location.href= \''.$_SERVER['PHP_SELF'].'?type=zusammenlegung&studiengang_kz='.$studiengang_kz.'&preinteressent_id='.$row->preinteressent_id.'&personneu_id=\'+document.getElementById(\'person_id_'.$row->preinteressent_id.'\').value;">';
}
else
{
echo 'nur durch Administrator möglich';
}
}
}
}
echo "</td>";
echo '</tr>';
}
echo '</tbody></table><br>';
echo '<input type="submit" value="Uebertragen" name="uebertragen"></form>';
<?php
/* Copyright (C) 2007 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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/preinteressent.class.php');
require_once('../../include/person.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/prestudent.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
$user = get_uid();
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
$datum_obj = new datum();
if(isset($_GET['studiengang_kz']))
$studiengang_kz = $_GET['studiengang_kz'];
else
$studiengang_kz = '';
echo '<html>
<head>
<title>PreInteressenten</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<h2>PreInteressenten</h2>
';
$stg_admin = $rechte->getStgKz('admin');
$stg_assistenz = $rechte->getStgKz('assistenz');
$stgs = array_merge($stg_admin, $stg_assistenz);
sort($stgs);
//Wenn keine Berechtigung vorhanden ist beenden
if(count($stgs)==0)
die('Sie haben keine Studiengangsberechtigung');
//alle Studiengaenge holen fuer die eine berechtigung vorhanden ist
$qry = "SELECT UPPER(typ::varchar(1) || kurzbz) as kuerzel, studiengang_kz FROM public.tbl_studiengang";
if($stgs[0]!=0)
{
$stgwhere = '';
foreach ($stgs as $stg)
{
if($stgwhere!='')
$stgwhere.=',';
$stgwhere .=$stg;
}
$qry.=" WHERE studiengang_kz in ($stgwhere)";
}
$qry.=" ORDER by kuerzel";
//Drop Down fuer Studiengaenge anzeigen
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiengang: <select name="studiengang_kz">';
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
//wenn kein Studiengang uebergeben wurde dann den ersten nehmen fuer den eine Berechtigung vorhanden ist
if($studiengang_kz=='')
$studiengang_kz = $row->studiengang_kz;
if($row->studiengang_kz == $studiengang_kz)
$selected = 'selected';
else
$selected = '';
echo "<option value='$row->studiengang_kz' $selected>$row->kuerzel</option>";
}
}
echo '</select><input type="submit" value="Anzeigen"></form>';
if(!$rechte->isBerechtigt('admin', $studiengang_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid'))
die('Sie haben keine Berechtigung fuer diese Seite');
if(isset($_POST['uebertragen']))
{
$anzahl_fehler=0;
$anzahl_uebernommen=0;
foreach ($_POST as $param=>$val)
{
if(mb_strstr($param, 'chk_'))
{
pg_query($conn, 'BEGIN;');
$id = mb_substr($param, 4);
$preinteressent = new preinteressent($conn);
if($preinteressent->load($id))
{
//Prestudent anlegen
$prestudent = new prestudent($conn);
$prestudent->new = true;
$prestudent->aufmerksamdurch_kurzbz = $preinteressent->aufmerksamdurch_kurzbz;
$prestudent->person_id = $preinteressent->person_id;
$prestudent->studiengang_kz = $studiengang_kz;
$prestudent->reihungstestangetreten = false;
$prestudent->bismelden = true;
$prestudent->insertamum = date('Y-m-d H:i:s');
$prestudent->insertvon = $user;
if($prestudent->save())
{
//Rolle anlegen
$prestudent->studiensemester_kurzbz = $preinteressent->studiensemester_kurzbz;
//$preinteressent1 = new preinteressent($conn);
//$preinteressent1->loadStudiengangszuteilung($preinteressent_id, $studiengang_kz);
$prestudent->ausbildungssemester = 1;
$prestudent->status_kurzbz = 'Interessent';
$prestudent->datum = date('Y-m-d');
$prestudent->insertamum = date('Y-m-d H:i:s');
$prestudent->inservon = $user;
if($prestudent->save_rolle(true))
{
//Uebernahme Datum setzen
$qry = "UPDATE public.tbl_preinteressentstudiengang SET
uebernahmedatum='".date('Y-m-d H:i:s')."',
updateamum='".date('Y-m-d H:i:s')."',
updatevon='".$user."'
WHERE studiengang_kz='$studiengang_kz' AND preinteressent_id='$id'";
if(pg_query($conn, $qry))
{
$anzahl_uebernommen++;
pg_query($conn, 'COMMIT');
}
else
{
echo "<br>Fehler beim Eintragen des Uebernahmedatums";
$anzahl_fehler++;
pg_query($conn, 'ROLLBACK');
}
}
else
{
echo "<br>Fehler beim Anlegen der Rolle: $prestudent->errormsg";
pg_query($conn, 'ROLLBACK');
$anzahl_fehler++;
}
}
else
{
echo "<br>Fehler beim Speichern des Prestudenteintrages: $prestudent->errormsg";
pg_query($conn, 'ROLLBACK');
$anzahl_fehler++;
}
}
else
{
echo "<br>PreInteressent mit der ID $id konnte nicht geladen werden";
pg_query($conn, 'ROLLBACK');
$anzahl_fehler++;
}
}
}
echo "<br>Es wurde(n) <b>$anzahl_uebernommen Person(en) uebernommen</b>";
if($anzahl_fehler>0)
echo "<br>Es sind <b>$anzahl_fehler Fehler aufgetreten</b>";
}
if(isset($_GET['type']) && $_GET['type']=='zusammenlegung')
{
if(isset($_GET['preinteressent_id']) && isset($_GET['personneu_id']))
{
$preinteressent_id = $_GET['preinteressent_id'];
$person_id_neu = $_GET['personneu_id'];
if(!is_numeric($preinteressent_id))
die('Preinteressent_id ist ungueltig');
if(!is_numeric($person_id_neu))
die('person_id ist ungueltig');
//Zusammenlegung
//- Kontaktdaten werden zusammengelegt
//- Personendatensatz des Preinteressenten wird verworfen
//- Uebernahmedatum wird gesetzt
pg_query($conn, 'BEGIN;');
$preinteressent=new preinteressent($conn);
$preinteressent->load($preinteressent_id);
$qry = "UPDATE public.tbl_kontakt SET person_id='$person_id_neu' WHERE person_id='$preinteressent->person_id';
UPDATE public.tbl_adresse SET person_id='$person_id_neu' WHERE person_id='$preinteressent->person_id';
UPDATE public.tbl_preinteressent SET person_id='$person_id_neu' WHERE preinteressent_id='$preinteressent_id';
";
if(!pg_query($conn, $qry))
{
pg_query($conn, 'ROLLBACK');
die('Fehler beim Zusammenlegen der Kontaktdaten');
}
$qry = "UPDATE public.tbl_preinteressentstudiengang SET uebernahmedatum='".date('Y-m-d H:i:s')."',
updateamum='".date('Y-m-d H:i:s')."', updatevon='$user'
WHERE preinteressent_id='$preinteressent_id' AND studiengang_kz='".addslashes($studiengang_kz)."'";
if(!pg_query($conn, $qry))
{
pg_query($conn, 'ROLLBACK');
die('Fehler beim Setzen des Uebernahmedatums');
}
pg_query($conn, 'COMMIT');
//Versuchen den Personendatensatz zu loeschen
//(Falls die Person noch irgendwohin referenziert (Firmenbetreuer, Preinteressent,...)
// wird das Loeschen von der DB verhindert, deshalb das @ vor dem pg_query)
$qry = "DELETE FROM public.tbl_person WHERE person_id='$preinteressent->person_id'";
@pg_query($conn, $qry);
echo "<b>Personen wurden zusammengelegt</b>";
}
else
die('Preinteressent_id und personneu_id muss uebergeben werden');
}
echo '<br><br>';
echo "<form action='".$_SERVER['PHP_SELF']."?studiengang_kz=$studiengang_kz' method='POST'>";
echo "<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th>&nbsp;</th>
<th class='table-sortable:default'>Nachname</th>
<th class='table-sortable:default'>Vorname</th>
<th class='table-sortable:default'>GebDatum</th>
<th class='table-sortable:default'>Studiensemester</th>
<th class='table-sortable:default'>Anmerkung</th>
<th class='table-sortable:default'>Zusammenlegung</th>
</tr>
</thead>
<tbody>";
$preinteressent = new preinteressent($conn);
$preinteressent->loadFreigegebene($studiengang_kz);
foreach ($preinteressent->result as $row)
{
echo '<tr>';
$person = new person($conn);
$person->load($row->person_id);
echo "<td><input type='checkbox' name='chk_$row->preinteressent_id' checked></td>";
echo "<td>$person->nachname</td>";
echo "<td>$person->vorname</td>";
echo "<td>$person->gebdatum</td>";
echo "<td>$row->studiensemester_kurzbz</td>";
echo "<td>$row->anmerkung</td>";
echo "<td>";
//Suchen ob diese Person schon existiert
$qry = "SELECT distinct * FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE
studiengang_kz='$studiengang_kz' AND (
(vorname='$person->vorname' AND nachname='$person->nachname') ";
if($person->gebdatum!='')
$qry.=" OR (nachname='$person->nachname' AND gebdatum='$person->gebdatum')";
$qry.=")";
if($result_double = pg_query($conn, $qry))
{
if(pg_num_rows($result_double)>0)
{
//wenn zu dieser Person bereits ein Prestudent oder Benutzer existiert,
//dann kann die zusammenlegung nur ueber die administration erfolgen
//(damit wird verhindert, dass unbeabsichtigt verschiedene Personen zusammengelegt werden)
$qry = "SELECT prestudent_id FROM public.tbl_prestudent WHERE person_id='$row->person_id'
UNION
SELECT person_id FROM public.tbl_benutzer WHERE person_id='$row->person_id'
";
if($result_anz = pg_query($conn, $qry))
{
if(pg_num_rows($result_anz)==0)
{
echo '<SELECT name="person_id" id="person_id_'.$row->preinteressent_id.'">';
while($row_double=pg_fetch_object($result_double))
{
echo "<OPTION value='$row_double->person_id'>$row_double->nachname $row_double->vorname $row_double->gebdatum ($row_double->person_id)</OPTION>";
}
echo '</SELECT>';
echo '<INPUT type="button" value="Zusammenlegen" onclick="window.location.href= \''.$_SERVER['PHP_SELF'].'?type=zusammenlegung&studiengang_kz='.$studiengang_kz.'&preinteressent_id='.$row->preinteressent_id.'&personneu_id=\'+document.getElementById(\'person_id_'.$row->preinteressent_id.'\').value;">';
}
else
{
echo 'nur durch Administrator möglich';
}
}
}
}
echo "</td>";
echo '</tr>';
}
echo '</tbody></table><br>';
echo '<input type="submit" value="Uebertragen" name="uebertragen"></form>';
?>
@@ -22,7 +22,7 @@
{
//Extension herausfiltern
$ext = explode('.',$_FILES['datei']['name']);
$ext = mb_strtolower($ext[count($ext)-1],'UTF-8');
$ext = mb_strtolower($ext[count($ext)-1]);
//--check if csv or txt
if ($ext=='csv' || $ext=='txt')
{
+1 -1
View File
@@ -152,7 +152,7 @@
//Mitarbeiter loeschen die nicht uebernommen werden
foreach($_POST as $key=>$wert)
{
if(strstr($key, 'check_'))
if(mb_strstr($key, 'check_'))
{
$arr = split('_',$key);
$qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$arr[1]' AND mitarbeiter_uid='$arr[2]'";
+283 -283
View File
@@ -1,283 +1,283 @@
<?php
// *****************************************
// * Script zum Zusammenlegen Doppelter LVs
// * Es werden zwei Listen mit LVs angezeigt
// * Links wird die LV markiert mit dem rechts
// * markierten zusammengelegt werden soll.
// * Die linke LV wird danach entfernt.
// ************************************
//DB Verbindung herstellen
require_once('../config.inc.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$msg='';
$outp='';
$smax=0;
/*if(!isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
{
echo substr(CONN_STRING,strpos(CONN_STRING,'dbname=')+7,strpos(CONN_STRING,'user=')-strpos(CONN_STRING,'dbname=')-7);
}*/
$s=new studiengang($conn);
$s->getAll('erhalter_kz,typ,kurzbzlang',false);
$studiengang=$s->result;
$user = get_uid();
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
{
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
}
else
{
$stg_kz=0;
}
if (isset($_GET['semester']) || isset($_POST['semester']))
{
$semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']);
if($semester>(isset($_GET['max'])?$_GET['max']:$_POST['max']))
{
$semester=(isset($_GET['max'])?$_GET['max']:$_POST['max']);
}
}
else
{
$semester=0;
}
if (isset($_GET['order_1']) || isset($_POST['order_1']))
{
$order_1=(isset($_GET['order_1'])?$_GET['order_1']:$_POST['order_1']);
}
else
{
$order_1='lehrveranstaltung_id';
}
if (isset($_GET['order_2']) || isset($_POST['order_2']))
{
$order_2=(isset($_GET['order_2'])?$_GET['order_2']:$_POST['order_2']);
}
else
{
$order_2='lehrveranstaltung_id';
}
if (isset($_GET['radio_1']) || isset($_POST['radio_1']))
{
$radio_1=(isset($_GET['radio_1'])?$_GET['radio_1']:$_POST['radio_1']);
}
else
{
$radio_1=-1;
}
if (isset($_GET['radio_2']) || isset($_POST['radio_2']))
{
$radio_2=(isset($_GET['radio_2'])?$_GET['radio_2']:$_POST['radio_2']);
}
else
{
$radio_2=-1;
}
if(!is_numeric($stg_kz))
{
$stg_kz=0;
}
if(!is_numeric($semester))
{
$semester=0;
}
$s=array();
foreach ($studiengang as $stg)
{
$s[$stg->studiengang_kz]->max_sem=$stg->max_semester;
$s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang;
$outp.= '<A href="lv_wartung.php?stg_kz='.$stg->studiengang_kz.'&semester='.$semester.'&max='.$stg->max_semester.'">'.$stg->kurzbzlang.' ('.strtoupper($stg->typ.$stg->kurzbz).') </A> - ';
}
$outp.= '<BR> -- ';
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
{
$outp.= '<A href="lv_wartung.php?stg_kz='.$stg_kz.'&semester='.$i.'&max='.$s[$stg_kz]->max_sem.'">'.$i.'</A> -- ';
}
//Initialisierung der Variablen
function kuerze($string)
{
if(strlen($string)>40)
{
return substr($string,0,35)."...";
}
else
{
return $string;
}
}
if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
{
if($radio_1==$radio_2)
{
$msg="Die Datensaetze duerfen nicht die gleiche ID haben";
}
else
{
$sql_query_upd1="BEGIN;";
$sql_query_upd1.="UPDATE lehre.tbl_lehreinheit SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_zeugnisnote SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE campus.tbl_benutzerlvstudiensemester SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE campus.tbl_feedback SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE campus.tbl_lvgesamtnote SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
//updateamum vergleichen - jüngeres Datum gewinnt
$qry1="SELECT updateamum FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
$qry2="SELECT updateamum FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
if($result1=pg_query($conn,$qry1))
{
if($result2=pg_query($conn,$qry2))
{
if($row1 = pg_fetch_object($result1))
{
if($row2 = pg_fetch_object($result2))
{
if($row2->updateamum>$row1->updateamum)
{
//wenn lvinfo neuer als die bestehende, ersetzt sie diese
$sql_query_upd1.="DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_2';";
$sql_query_upd1.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
}
else
{
//wenn lvinfo älter als die bestehende, wird sie gelöscht
$sql_query_upd1.="DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
}
}
}
}
}
$sql_query_upd1.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE sync.tbl_synclehrveranstaltung SET lva_vilesci='$radio_2' WHERE lva_vilesci='$radio_1';";
$sql_query_upd1.="DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$radio_1';";
if(pg_query($conn,$sql_query_upd1))
{
$msg = "Daten Erfolgreich gespeichert<br>";
pg_query($conn,"COMMIT;");
$msg .= "<br>".str_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
else
{
$msg = "Die Änderung konnte nicht durchgeführt werden!";
pg_query($conn,"ROLLBACK;");
$msg .= "<br>".str_replace(';',';<br><b>',$sql_query_upd1)."ROLLBACK</b>";
}
}
}
if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2)) || ($radio_1<0 || $radio_2<0))
{
$msg="Es muß je ein Radio-Button pro Tabelle angeklickt werden";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>LV-Zusammenlegung</title>
</head>
<body>
<H1>Zusammenlegen von Lehrveranstaltungen (<?php echo $s[$stg_kz]->kurzbz.' - '.$semester; ?>)</H1>
<?php
echo $outp;
$smax=$s[$stg_kz]->max_sem;
//aufruf
?>
<br>
<center><h2><?php echo $msg; ?></h2></center>
<br>
<?php
//Tabellen anzeigen
echo "<form name='form_table' action='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=$order_2' method='POST'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
echo "<td valign='top'>Das wird gelöscht:";
//Tabelle 1
echo "<table class='liste'><tr class='liste'>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=lehrveranstaltung_id&order_2=$order_2'>ID</a></th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=kurzbz&order_2=$order_2'>Kurzbz</a></th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=bezeichnung&order_2=$order_2'>Bezeichnung</a></th>";
echo "<th>ECTS</th>";
echo "<th>SS</th>";
echo "<th>&nbsp;</th></tr>";
$lf = new lehrveranstaltung($conn);
$lf->getTab($stg_kz,$semester, $order_1);
$i=0;
foreach($lf->lehrveranstaltungen as $l)
{
echo "<tr class='liste".($i%2)."'>";
echo "<td>$l->lehrveranstaltung_id</td>";
echo "<td>$l->kurzbz</td>";
echo "<td title='$l->bezeichnung'>".kuerze($l->bezeichnung)."</td>";
echo "<td>$l->ects</td>";
echo "<td>$l->semesterstunden</td>";
echo "<td><input type='radio' name='radio_1' value='$l->lehrveranstaltung_id' ".((isset($radio_1) && $radio_1==$l->lehrveranstaltung_id)?'checked':'')."></td>";
echo "</tr>";
$i++;
}
echo "</table>";
echo "</td>";
echo "<td valign='top'><input type='submit' value=' -> '></td>";
echo "<td valign='top'>Das bleibt:";
//Tabelle 2
echo "<table class='liste'><tr class='liste'>";
echo "<th>&nbsp;</th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=lehrveranstaltung_id'>ID</a></th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=kurzbz'>Kurzbz</a></th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=bezeichnung'>Bezeichnung</a></th>";
echo "<th>ECTS</th>";
echo "<th>SS</th></tr>";
$lf = new lehrveranstaltung($conn);
$lf->getTab($stg_kz,$semester, $order_2);
$i=0;
foreach($lf->lehrveranstaltungen as $l)
{
echo "<tr class='liste".($i%2)."'>";
echo "<td><input type='radio' name='radio_2' value='$l->lehrveranstaltung_id' ".((isset($radio_2) && $radio_2==$l->lehrveranstaltung_id)?'checked':'')."></td>";
echo "<td>$l->lehrveranstaltung_id</td>";
echo "<td>$l->kurzbz</td>";
echo "<td title='$l->bezeichnung'>".kuerze($l->bezeichnung)."</td>";
echo "<td>$l->ects</td>";
echo "<td>$l->semesterstunden</td>";
echo "</tr>";
$i++;
}
echo "</table>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</form>";
?>
</tr>
</table>
</body>
</html>
<?php
// *****************************************
// * Script zum Zusammenlegen Doppelter LVs
// * Es werden zwei Listen mit LVs angezeigt
// * Links wird die LV markiert mit dem rechts
// * markierten zusammengelegt werden soll.
// * Die linke LV wird danach entfernt.
// ************************************
//DB Verbindung herstellen
require_once('../config.inc.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$msg='';
$outp='';
$smax=0;
/*if(!isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
{
echo substr(CONN_STRING,strpos(CONN_STRING,'dbname=')+7,strpos(CONN_STRING,'user=')-strpos(CONN_STRING,'dbname=')-7);
}*/
$s=new studiengang($conn);
$s->getAll('erhalter_kz,typ,kurzbzlang',false);
$studiengang=$s->result;
$user = get_uid();
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
{
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
}
else
{
$stg_kz=0;
}
if (isset($_GET['semester']) || isset($_POST['semester']))
{
$semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']);
if($semester>(isset($_GET['max'])?$_GET['max']:$_POST['max']))
{
$semester=(isset($_GET['max'])?$_GET['max']:$_POST['max']);
}
}
else
{
$semester=0;
}
if (isset($_GET['order_1']) || isset($_POST['order_1']))
{
$order_1=(isset($_GET['order_1'])?$_GET['order_1']:$_POST['order_1']);
}
else
{
$order_1='lehrveranstaltung_id';
}
if (isset($_GET['order_2']) || isset($_POST['order_2']))
{
$order_2=(isset($_GET['order_2'])?$_GET['order_2']:$_POST['order_2']);
}
else
{
$order_2='lehrveranstaltung_id';
}
if (isset($_GET['radio_1']) || isset($_POST['radio_1']))
{
$radio_1=(isset($_GET['radio_1'])?$_GET['radio_1']:$_POST['radio_1']);
}
else
{
$radio_1=-1;
}
if (isset($_GET['radio_2']) || isset($_POST['radio_2']))
{
$radio_2=(isset($_GET['radio_2'])?$_GET['radio_2']:$_POST['radio_2']);
}
else
{
$radio_2=-1;
}
if(!is_numeric($stg_kz))
{
$stg_kz=0;
}
if(!is_numeric($semester))
{
$semester=0;
}
$s=array();
foreach ($studiengang as $stg)
{
$s[$stg->studiengang_kz]->max_sem=$stg->max_semester;
$s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang;
$outp.= '<A href="lv_wartung.php?stg_kz='.$stg->studiengang_kz.'&semester='.$semester.'&max='.$stg->max_semester.'">'.$stg->kurzbzlang.' ('.strtoupper($stg->typ.$stg->kurzbz).') </A> - ';
}
$outp.= '<BR> -- ';
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
{
$outp.= '<A href="lv_wartung.php?stg_kz='.$stg_kz.'&semester='.$i.'&max='.$s[$stg_kz]->max_sem.'">'.$i.'</A> -- ';
}
//Initialisierung der Variablen
function kuerze($string)
{
if(strlen($string)>40)
{
return substr($string,0,35)."...";
}
else
{
return $string;
}
}
if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
{
if($radio_1==$radio_2)
{
$msg="Die Datensaetze duerfen nicht die gleiche ID haben";
}
else
{
$sql_query_upd1="BEGIN;";
$sql_query_upd1.="UPDATE lehre.tbl_lehreinheit SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_zeugnisnote SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE campus.tbl_benutzerlvstudiensemester SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE campus.tbl_feedback SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE campus.tbl_lvgesamtnote SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
//updateamum vergleichen - jüngeres Datum gewinnt
$qry1="SELECT updateamum FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
$qry2="SELECT updateamum FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
if($result1=pg_query($conn,$qry1))
{
if($result2=pg_query($conn,$qry2))
{
if($row1 = pg_fetch_object($result1))
{
if($row2 = pg_fetch_object($result2))
{
if($row2->updateamum>$row1->updateamum)
{
//wenn lvinfo neuer als die bestehende, ersetzt sie diese
$sql_query_upd1.="DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_2';";
$sql_query_upd1.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
}
else
{
//wenn lvinfo älter als die bestehende, wird sie gelöscht
$sql_query_upd1.="DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
}
}
}
}
}
$sql_query_upd1.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
$sql_query_upd1.="UPDATE sync.tbl_synclehrveranstaltung SET lva_vilesci='$radio_2' WHERE lva_vilesci='$radio_1';";
$sql_query_upd1.="DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$radio_1';";
if(pg_query($conn,$sql_query_upd1))
{
$msg = "Daten Erfolgreich gespeichert<br>";
pg_query($conn,"COMMIT;");
$msg .= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
else
{
$msg = "Die Änderung konnte nicht durchgeführt werden!";
pg_query($conn,"ROLLBACK;");
$msg .= "<br>".mb_eregi_replace(';',';<br><b>',$sql_query_upd1)."ROLLBACK</b>";
}
}
}
if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2)) || ($radio_1<0 || $radio_2<0))
{
$msg="Es muß je ein Radio-Button pro Tabelle angeklickt werden";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>LV-Zusammenlegung</title>
</head>
<body>
<H1>Zusammenlegen von Lehrveranstaltungen (<?php echo $s[$stg_kz]->kurzbz.' - '.$semester; ?>)</H1>
<?php
echo $outp;
$smax=$s[$stg_kz]->max_sem;
//aufruf
?>
<br>
<center><h2><?php echo $msg; ?></h2></center>
<br>
<?php
//Tabellen anzeigen
echo "<form name='form_table' action='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=$order_2' method='POST'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
echo "<td valign='top'>Das wird gelöscht:";
//Tabelle 1
echo "<table class='liste'><tr class='liste'>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=lehrveranstaltung_id&order_2=$order_2'>ID</a></th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=kurzbz&order_2=$order_2'>Kurzbz</a></th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=bezeichnung&order_2=$order_2'>Bezeichnung</a></th>";
echo "<th>ECTS</th>";
echo "<th>SS</th>";
echo "<th>&nbsp;</th></tr>";
$lf = new lehrveranstaltung($conn);
$lf->getTab($stg_kz,$semester, $order_1);
$i=0;
foreach($lf->lehrveranstaltungen as $l)
{
echo "<tr class='liste".($i%2)."'>";
echo "<td>$l->lehrveranstaltung_id</td>";
echo "<td>$l->kurzbz</td>";
echo "<td title='$l->bezeichnung'>".kuerze($l->bezeichnung)."</td>";
echo "<td>$l->ects</td>";
echo "<td>$l->semesterstunden</td>";
echo "<td><input type='radio' name='radio_1' value='$l->lehrveranstaltung_id' ".((isset($radio_1) && $radio_1==$l->lehrveranstaltung_id)?'checked':'')."></td>";
echo "</tr>";
$i++;
}
echo "</table>";
echo "</td>";
echo "<td valign='top'><input type='submit' value=' -> '></td>";
echo "<td valign='top'>Das bleibt:";
//Tabelle 2
echo "<table class='liste'><tr class='liste'>";
echo "<th>&nbsp;</th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=lehrveranstaltung_id'>ID</a></th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=kurzbz'>Kurzbz</a></th>";
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=bezeichnung'>Bezeichnung</a></th>";
echo "<th>ECTS</th>";
echo "<th>SS</th></tr>";
$lf = new lehrveranstaltung($conn);
$lf->getTab($stg_kz,$semester, $order_2);
$i=0;
foreach($lf->lehrveranstaltungen as $l)
{
echo "<tr class='liste".($i%2)."'>";
echo "<td><input type='radio' name='radio_2' value='$l->lehrveranstaltung_id' ".((isset($radio_2) && $radio_2==$l->lehrveranstaltung_id)?'checked':'')."></td>";
echo "<td>$l->lehrveranstaltung_id</td>";
echo "<td>$l->kurzbz</td>";
echo "<td title='$l->bezeichnung'>".kuerze($l->bezeichnung)."</td>";
echo "<td>$l->ects</td>";
echo "<td>$l->semesterstunden</td>";
echo "</tr>";
$i++;
}
echo "</table>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</form>";
?>
</tr>
</table>
</body>
</html>
+152 -152
View File
@@ -1,153 +1,153 @@
<?php
// ***************************************************************
// * Script zum Anzeigen und Zusammenlegen von
// * doppelten Personen
// ***************************************************************
//DB Verbindung herstellen
require_once('../config.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$msg='';
$outp='';
$anfang='';
$ende='';
$person1='';
$person2='';
if ((isset($_GET['person2']) || isset($_POST['person2']))&&(isset($_GET['person1']) || isset($_POST['person1'])))
{
//zusammenlegen der personen
$person2=(isset($_GET['person2'])?$_GET['person2']:$_POST['person2']);
$person1=(isset($_GET['person1'])?$_GET['person1']:$_POST['person1']);
$sql_query_upd1="BEGIN;";
$sql_query_upd1.="UPDATE public.tbl_benutzer SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_konto SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_prestudent SET person_id='$person1' WHERE person_id='$person2';";
//$sql_query_upd1.="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer1='$person1' WHERE pruefer1='$person2';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer2='$person1' WHERE pruefer2='$person2';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer3='$person1' WHERE pruefer3='$person2';";
$sql_query_upd1.="UPDATE lehre.tbl_projektbetreuer SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_adresse SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_akte SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_bankverbindung SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_betriebsmittelperson SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id='$person2';";
if(pg_query($conn,$sql_query_upd1))
{
$msg = "Daten erfolgreich gespeichert<br>";
pg_query($conn,"COMMIT;");
$msg .= "<br>".str_replace(';',';<br>',$sql_query_upd1);
if(@pg_query($conn,'SELECT person_portal FROM sync.tbl_syncperson LIMIT 1'))
{
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_portal='$person1' WHERE person_portal='$person2';";
pg_query($conn,$sql_query_upd1);
$msg.= "<br>".str_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
if(@pg_query($conn,'SELECT person_id FROM sync.tbl_syncperson LIMIT 1'))
{
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
pg_query($conn,$sql_query_upd1);
$msg.= "<br>".str_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
}
else
{
$msg = "Die Änderung konnte nicht durchgeführt werden!";
pg_query($conn,"ROLLBACK;");
$msg.= "<br>".str_replace(';',';<br><b>',$sql_query_upd1)."ROLLBACK</b>";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>Personen-Auflistung von Mehrfacheinträgen</title>
</head>
<body>
<H1>Mehrfache Personendatensaetze</H1>
<?php
echo $outp;
//aufruf
if ($msg=='')
$msg="Diese Liste enth&auml;lt die ersten 50 Personendatens&auml;tze, die offenbar mehrfach vorkommen.
<br>Der Button in der erste Spalte gibt die Person_id des Datensatzes an, der entfernt werden soll.
<br>Wird dieser Button angeklickt, werden alle anh&auml;ngenden Daten dem Datensatz dieser Zeile (Person_id in Spalte 2) angeh&auml;ngt.
<br>Dadurch kann es in Folge zu Doppeleintr&auml;gen bei diesen Datens&auml;tzen kommen (z.B. Adresse).";
?>
<br>
<center><h2><?php echo "<span style=\"font-size:0.7em\">".$msg."</span>"; ?></h2></center>
<br>
<?php
//Tabellen anzeigen
//echo "<form name='form_table' action='personen_listedoppelte.php' method='POST'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
//Tabelle 1
echo "<table class='liste'><tr class='liste'>";
echo "<th>Alt.-ID</th>";
echo "<th>ID</th>";
echo "<th>Nachname</th>";
echo "<th>Vorname</th>";
echo "<th>Geburtsdatum</th>";
echo "<th>SVNr</th>";
echo "<th>Ersatzkennz.</th>";
echo "<th>Ext-ID</th>";
$qry="SELECT person.person_id as person2, tbl_person.person_id AS person1, tbl_person.nachname as nachname1, tbl_person.vorname as vorname1, tbl_person.gebdatum as gebdatum1,
tbl_person.svnr as svnr1, tbl_person.ersatzkennzeichen as ersatzkennzeichen1, tbl_person.ext_id as ext_id1, tbl_person.* FROM tbl_person person
JOIN tbl_person ON (person.vorname=tbl_person.vorname AND person.nachname=tbl_person.nachname AND person.gebdatum=tbl_person.gebdatum AND person.person_id!=tbl_person.person_id
AND person.person_id!=tbl_person.person_id) ORDER BY tbl_person.nachname
LIMIT 50 ;";
$i=0;
if($result = pg_query($conn,$qry))
{
while($l=pg_fetch_object($result))
{
echo "<tr class='liste".($i%2)."'>";
echo "<td align='center' ><form name='form_table' action='personen_listedoppelte.php' method='POST'>
<input type='hidden' name='person1' value='$l->person1'><input type='submit' name='person2' value='$l->person2'>
</form></td>";
echo "<td>$l->person1</td>";
echo "<td>$l->nachname1</td>";
echo "<td>$l->vorname1</td>";
echo "<td>$l->gebdatum1</td>";
echo "<td>$l->svnr1</td>";
echo "<td>$l->ersatzkennzeichen1</td>";
echo "<td>$l->ext_id1</td>";
echo "</tr>";
$i++;
}
}
echo "</table>";
echo "</td>";
//echo "<td valign='top'><input type='submit' value=' Weiter '></td>";
echo "</tr></table>";
//echo "</form>";
?>
</tr>
</table>
</body>
<?php
// ***************************************************************
// * Script zum Anzeigen und Zusammenlegen von
// * doppelten Personen
// ***************************************************************
//DB Verbindung herstellen
require_once('../config.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$msg='';
$outp='';
$anfang='';
$ende='';
$person1='';
$person2='';
if ((isset($_GET['person2']) || isset($_POST['person2']))&&(isset($_GET['person1']) || isset($_POST['person1'])))
{
//zusammenlegen der personen
$person2=(isset($_GET['person2'])?$_GET['person2']:$_POST['person2']);
$person1=(isset($_GET['person1'])?$_GET['person1']:$_POST['person1']);
$sql_query_upd1="BEGIN;";
$sql_query_upd1.="UPDATE public.tbl_benutzer SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_konto SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_prestudent SET person_id='$person1' WHERE person_id='$person2';";
//$sql_query_upd1.="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer1='$person1' WHERE pruefer1='$person2';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer2='$person1' WHERE pruefer2='$person2';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer3='$person1' WHERE pruefer3='$person2';";
$sql_query_upd1.="UPDATE lehre.tbl_projektbetreuer SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_adresse SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_akte SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_bankverbindung SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="UPDATE public.tbl_betriebsmittelperson SET person_id='$person1' WHERE person_id='$person2';";
$sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id='$person2';";
if(pg_query($conn,$sql_query_upd1))
{
$msg = "Daten erfolgreich gespeichert<br>";
pg_query($conn,"COMMIT;");
$msg .= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1);
if(@pg_query($conn,'SELECT person_portal FROM sync.tbl_syncperson LIMIT 1'))
{
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_portal='$person1' WHERE person_portal='$person2';";
pg_query($conn,$sql_query_upd1);
$msg.= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
if(@pg_query($conn,'SELECT person_id FROM sync.tbl_syncperson LIMIT 1'))
{
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
pg_query($conn,$sql_query_upd1);
$msg.= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
}
else
{
$msg = "Die Änderung konnte nicht durchgeführt werden!";
pg_query($conn,"ROLLBACK;");
$msg.= "<br>".mb_eregi_replace(';',';<br><b>',$sql_query_upd1)."ROLLBACK</b>";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>Personen-Auflistung von Mehrfacheinträgen</title>
</head>
<body>
<H1>Mehrfache Personendatensaetze</H1>
<?php
echo $outp;
//aufruf
if ($msg=='')
$msg="Diese Liste enth&auml;lt die ersten 50 Personendatens&auml;tze, die offenbar mehrfach vorkommen.
<br>Der Button in der erste Spalte gibt die Person_id des Datensatzes an, der entfernt werden soll.
<br>Wird dieser Button angeklickt, werden alle anh&auml;ngenden Daten dem Datensatz dieser Zeile (Person_id in Spalte 2) angeh&auml;ngt.
<br>Dadurch kann es in Folge zu Doppeleintr&auml;gen bei diesen Datens&auml;tzen kommen (z.B. Adresse).";
?>
<br>
<center><h2><?php echo "<span style=\"font-size:0.7em\">".$msg."</span>"; ?></h2></center>
<br>
<?php
//Tabellen anzeigen
//echo "<form name='form_table' action='personen_listedoppelte.php' method='POST'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
//Tabelle 1
echo "<table class='liste'><tr class='liste'>";
echo "<th>Alt.-ID</th>";
echo "<th>ID</th>";
echo "<th>Nachname</th>";
echo "<th>Vorname</th>";
echo "<th>Geburtsdatum</th>";
echo "<th>SVNr</th>";
echo "<th>Ersatzkennz.</th>";
echo "<th>Ext-ID</th>";
$qry="SELECT person.person_id as person2, tbl_person.person_id AS person1, tbl_person.nachname as nachname1, tbl_person.vorname as vorname1, tbl_person.gebdatum as gebdatum1,
tbl_person.svnr as svnr1, tbl_person.ersatzkennzeichen as ersatzkennzeichen1, tbl_person.ext_id as ext_id1, tbl_person.* FROM tbl_person person
JOIN tbl_person ON (person.vorname=tbl_person.vorname AND person.nachname=tbl_person.nachname AND person.gebdatum=tbl_person.gebdatum AND person.person_id!=tbl_person.person_id
AND person.person_id!=tbl_person.person_id) ORDER BY tbl_person.nachname
LIMIT 50 ;";
$i=0;
if($result = pg_query($conn,$qry))
{
while($l=pg_fetch_object($result))
{
echo "<tr class='liste".($i%2)."'>";
echo "<td align='center' ><form name='form_table' action='personen_listedoppelte.php' method='POST'>
<input type='hidden' name='person1' value='$l->person1'><input type='submit' name='person2' value='$l->person2'>
</form></td>";
echo "<td>$l->person1</td>";
echo "<td>$l->nachname1</td>";
echo "<td>$l->vorname1</td>";
echo "<td>$l->gebdatum1</td>";
echo "<td>$l->svnr1</td>";
echo "<td>$l->ersatzkennzeichen1</td>";
echo "<td>$l->ext_id1</td>";
echo "</tr>";
$i++;
}
}
echo "</table>";
echo "</td>";
//echo "<td valign='top'><input type='submit' value=' Weiter '></td>";
echo "</tr></table>";
//echo "</form>";
?>
</tr>
</table>
</body>
</html>
+247 -247
View File
@@ -1,247 +1,247 @@
<?php
// ***************************************************************
// * Script zum Zusammenlegen Doppelter Studenten
// * Es werden zwei Listen mit Studenten angezeigt
// * Links wird der Student markiert, der mit dem
// * rechts markierten zusammengelegt werden soll.
// * Der linke Student wird danach entfernt.
// ***************************************************************
//DB Verbindung herstellen
require_once('../config.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$msg='';
$outp='';
$filter = isset($_REQUEST['filter'])?$_REQUEST['filter']:'';
if (isset($_GET['person_id']) || isset($_POST['person_id']))
{
$person_id=(isset($_GET['person_id'])?$_GET['person_id']:$_POST['person_id']);
}
else
{
$person_id=NULL;
}
if (isset($_GET['order_1']) || isset($_POST['order_1']))
{
$order_1=(isset($_GET['order_1'])?$_GET['order_1']:$_POST['order_1']);
}
else
{
$order_1='person_id';
}
if (isset($_GET['order_2']) || isset($_POST['order_2']))
{
$order_2=(isset($_GET['order_2'])?$_GET['order_2']:$_POST['order_2']);
}
else
{
$order_2='person_id';
}
if (isset($_GET['radio_1']) || isset($_POST['radio_1']))
{
$radio_1=(isset($_GET['radio_1'])?$_GET['radio_1']:$_POST['radio_1']);
}
else
{
$radio_1=-1;
}
if (isset($_GET['radio_2']) || isset($_POST['radio_2']))
{
$radio_2=(isset($_GET['radio_2'])?$_GET['radio_2']:$_POST['radio_2']);
}
else
{
$radio_2=-1;
}
function kuerze($string)
{
if(strlen($string)>40)
{
return substr($string,0,35)."...";
}
else
{
return $string;
}
}
if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
{
if($radio_1==$radio_2)
{
$msg="Die Datensaetze duerfen nicht die gleiche ID haben";
}
else
{
$msg='';
$sql_query_upd1="BEGIN;";
$sql_query_upd1.="UPDATE public.tbl_benutzer SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_konto SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_prestudent SET person_id='$radio_2' WHERE person_id='$radio_1';";
//$sql_query_upd1.="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer1='$radio_2' WHERE pruefer1='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer2='$radio_2' WHERE pruefer2='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer3='$radio_2' WHERE pruefer3='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_projektbetreuer SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_adresse SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_akte SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_bankverbindung SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_betriebsmittelperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_preinteressent SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_personfunktionfirma SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id='$radio_1';";
if(pg_query($conn,$sql_query_upd1))
{
$msg = "Daten erfolgreich gespeichert<br>";
$msg .= "<br>".str_replace(';',';<br>',$sql_query_upd1);
pg_query($conn,"COMMIT;");
if(@pg_query($conn,'SELECT person_portal FROM sync.tbl_syncperson LIMIT 1'))
{
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
pg_query($conn,$sql_query_upd1);
$msg.= "<br>".str_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
if(@pg_query($conn,'SELECT person_id FROM sync.tbl_syncperson LIMIT 1'))
{
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
pg_query($conn,$sql_query_upd1);
$msg.= "<br>".str_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
}
else
{
$msg = "Die Änderung konnte nicht durchgeführt werden!";
pg_query($conn,"ROLLBACK;");
$msg.= "<br>".str_replace(';',';<br><b>',$sql_query_upd1)."ROLLBACK</b>";
}
$radio_1=0;
$radio_2=0;
}
}
if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2)) || ($radio_1<0 || $radio_2<0))
{
$msg="Es muß je ein Radio-Button pro Tabelle angeklickt werden";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>Personen-Zusammenlegung</title>
</head>
<body>
<H1>Zusammenlegen von Personendatensaetzen</H1>
<?php
echo $outp;
echo "<form name='suche' action='personen_wartung.php' method='POST'>";
echo "<input name=\"filter\" type=\"text\" value=\"$filter\" size=\"64\" maxlength=\"64\">";
echo "<input type='submit' value=' suchen '>";
echo "</form>";
//aufruf
?>
<br>
<center><h2><?php echo "<span style=\"font-size:0.7em\">".$msg."</span>"; ?></h2></center>
<br>
<?php
//Tabellen anzeigen
echo "<form name='form_table' action='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=$order_2&filter=$filter' method='POST'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
echo "<td valign='top'>Der wird gelöscht:";
//Tabelle 1
echo "<table class='liste'><tr class='liste'>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=person_id&order_2=$order_2&filter=$filter'>ID</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=nachname&order_2=$order_2&filter=$filter'>Nachname</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=vorname&order_2=$order_2&filter=$filter'>Vorname</a></th>";
echo "<th>Geburtsdatum</th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=svnr&order_2=$order_2&filter=$filter'>SVNr</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=ersatzkennzeichen&order_2=$order_2&filter=$filter'>Ersatzkennz.</a></th>";
echo "<th>Ext-ID</th>";
echo "<th>&nbsp;</th></tr>";
$lf = new person($conn);
$lf->getTab($filter, $order_1);
$i=0;
foreach($lf->personen as $l)
{
echo "<tr class='liste".($i%2)."'>";
echo "<td>$l->person_id</td>";
echo "<td>$l->nachname</td>";
echo "<td>$l->vorname</td>";
echo "<td>$l->gebdatum</td>";
echo "<td>$l->svnr</td>";
echo "<td>$l->ersatzkennzeichen</td>";
echo "<td>$l->ext_id</td>";
echo "<td><input type='radio' name='radio_1' value='$l->person_id' ".((isset($radio_1) && $radio_1==$l->person_id)?'checked':'')."></td>";
echo "</tr>";
$i++;
}
echo "</table>";
echo "</td>";
echo "<td valign='top'><input type='submit' value=' -> '></td>";
echo "<td valign='top'>Der bleibt:";
//Tabelle 2
echo "<table class='liste'><tr class='liste'>";
echo "<th>&nbsp;</th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=person_id&filter=$filter'>ID</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=nachname&filter=$filter'>Nachname</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=vorname&filter=$filter'>Vorname</a></th>";
echo "<th>Geburtsdatum</th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=svnr&filter=$filter'>SVNr</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=ersatzkennzeichen&filter=$filter'>Ersatzkennz.</a></th>";
echo "<th>Ext-ID</th>";
echo "</tr>";
$lf = new person($conn);
$lf->getTab($filter, $order_2);
$i=0;
foreach($lf->personen as $l)
{
echo "<tr class='liste".($i%2)."'>";
echo "<td><input type='radio' name='radio_2' value='$l->person_id' ".((isset($radio_2) && $radio_2==$l->person_id)?'checked':'')."></td>";
echo "<td>$l->person_id</td>";
echo "<td>$l->nachname</td>";
echo "<td>$l->vorname</td>";
echo "<td>$l->gebdatum</td>";
echo "<td>$l->svnr</td>";
echo "<td>$l->ersatzkennzeichen</td>";
echo "<td>$l->ext_id</td>";
echo "</tr>";
$i++;
}
echo "</table>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</form>";
?>
</tr>
</table>
</body>
</html>
<?php
// ***************************************************************
// * Script zum Zusammenlegen Doppelter Studenten
// * Es werden zwei Listen mit Studenten angezeigt
// * Links wird der Student markiert, der mit dem
// * rechts markierten zusammengelegt werden soll.
// * Der linke Student wird danach entfernt.
// ***************************************************************
//DB Verbindung herstellen
require_once('../config.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$msg='';
$outp='';
$filter = isset($_REQUEST['filter'])?$_REQUEST['filter']:'';
if (isset($_GET['person_id']) || isset($_POST['person_id']))
{
$person_id=(isset($_GET['person_id'])?$_GET['person_id']:$_POST['person_id']);
}
else
{
$person_id=NULL;
}
if (isset($_GET['order_1']) || isset($_POST['order_1']))
{
$order_1=(isset($_GET['order_1'])?$_GET['order_1']:$_POST['order_1']);
}
else
{
$order_1='person_id';
}
if (isset($_GET['order_2']) || isset($_POST['order_2']))
{
$order_2=(isset($_GET['order_2'])?$_GET['order_2']:$_POST['order_2']);
}
else
{
$order_2='person_id';
}
if (isset($_GET['radio_1']) || isset($_POST['radio_1']))
{
$radio_1=(isset($_GET['radio_1'])?$_GET['radio_1']:$_POST['radio_1']);
}
else
{
$radio_1=-1;
}
if (isset($_GET['radio_2']) || isset($_POST['radio_2']))
{
$radio_2=(isset($_GET['radio_2'])?$_GET['radio_2']:$_POST['radio_2']);
}
else
{
$radio_2=-1;
}
function kuerze($string)
{
if(strlen($string)>40)
{
return substr($string,0,35)."...";
}
else
{
return $string;
}
}
if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
{
if($radio_1==$radio_2)
{
$msg="Die Datensaetze duerfen nicht die gleiche ID haben";
}
else
{
$msg='';
$sql_query_upd1="BEGIN;";
$sql_query_upd1.="UPDATE public.tbl_benutzer SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_konto SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_prestudent SET person_id='$radio_2' WHERE person_id='$radio_1';";
//$sql_query_upd1.="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer1='$radio_2' WHERE pruefer1='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer2='$radio_2' WHERE pruefer2='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer3='$radio_2' WHERE pruefer3='$radio_1';";
$sql_query_upd1.="UPDATE lehre.tbl_projektbetreuer SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_adresse SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_akte SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_bankverbindung SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_betriebsmittelperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_preinteressent SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="UPDATE public.tbl_personfunktionfirma SET person_id='$radio_2' WHERE person_id='$radio_1';";
$sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id='$radio_1';";
if(pg_query($conn,$sql_query_upd1))
{
$msg = "Daten erfolgreich gespeichert<br>";
$msg .= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1);
pg_query($conn,"COMMIT;");
if(@pg_query($conn,'SELECT person_portal FROM sync.tbl_syncperson LIMIT 1'))
{
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
pg_query($conn,$sql_query_upd1);
$msg.= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
if(@pg_query($conn,'SELECT person_id FROM sync.tbl_syncperson LIMIT 1'))
{
$msg.= "<br><br>Sync-Tabelle wird aktualisiert";
$sql_query_upd1="UPDATE sync.tbl_syncperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
pg_query($conn,$sql_query_upd1);
$msg.= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1)."COMMIT";
}
}
else
{
$msg = "Die Änderung konnte nicht durchgeführt werden!";
pg_query($conn,"ROLLBACK;");
$msg.= "<br>".mb_eregi_replace(';',';<br><b>',$sql_query_upd1)."ROLLBACK</b>";
}
$radio_1=0;
$radio_2=0;
}
}
if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2)) || ($radio_1<0 || $radio_2<0))
{
$msg="Es muß je ein Radio-Button pro Tabelle angeklickt werden";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>Personen-Zusammenlegung</title>
</head>
<body>
<H1>Zusammenlegen von Personendatensaetzen</H1>
<?php
echo $outp;
echo "<form name='suche' action='personen_wartung.php' method='POST'>";
echo "<input name=\"filter\" type=\"text\" value=\"$filter\" size=\"64\" maxlength=\"64\">";
echo "<input type='submit' value=' suchen '>";
echo "</form>";
//aufruf
?>
<br>
<center><h2><?php echo "<span style=\"font-size:0.7em\">".$msg."</span>"; ?></h2></center>
<br>
<?php
//Tabellen anzeigen
echo "<form name='form_table' action='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=$order_2&filter=$filter' method='POST'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
echo "<td valign='top'>Der wird gelöscht:";
//Tabelle 1
echo "<table class='liste'><tr class='liste'>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=person_id&order_2=$order_2&filter=$filter'>ID</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=nachname&order_2=$order_2&filter=$filter'>Nachname</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=vorname&order_2=$order_2&filter=$filter'>Vorname</a></th>";
echo "<th>Geburtsdatum</th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=svnr&order_2=$order_2&filter=$filter'>SVNr</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=ersatzkennzeichen&order_2=$order_2&filter=$filter'>Ersatzkennz.</a></th>";
echo "<th>Ext-ID</th>";
echo "<th>&nbsp;</th></tr>";
$lf = new person($conn);
$lf->getTab($filter, $order_1);
$i=0;
foreach($lf->personen as $l)
{
echo "<tr class='liste".($i%2)."'>";
echo "<td>$l->person_id</td>";
echo "<td>$l->nachname</td>";
echo "<td>$l->vorname</td>";
echo "<td>$l->gebdatum</td>";
echo "<td>$l->svnr</td>";
echo "<td>$l->ersatzkennzeichen</td>";
echo "<td>$l->ext_id</td>";
echo "<td><input type='radio' name='radio_1' value='$l->person_id' ".((isset($radio_1) && $radio_1==$l->person_id)?'checked':'')."></td>";
echo "</tr>";
$i++;
}
echo "</table>";
echo "</td>";
echo "<td valign='top'><input type='submit' value=' -> '></td>";
echo "<td valign='top'>Der bleibt:";
//Tabelle 2
echo "<table class='liste'><tr class='liste'>";
echo "<th>&nbsp;</th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=person_id&filter=$filter'>ID</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=nachname&filter=$filter'>Nachname</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=vorname&filter=$filter'>Vorname</a></th>";
echo "<th>Geburtsdatum</th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=svnr&filter=$filter'>SVNr</a></th>";
echo "<th><a href='personen_wartung.php?uid=$person_id&order_1=$order_1&order_2=ersatzkennzeichen&filter=$filter'>Ersatzkennz.</a></th>";
echo "<th>Ext-ID</th>";
echo "</tr>";
$lf = new person($conn);
$lf->getTab($filter, $order_2);
$i=0;
foreach($lf->personen as $l)
{
echo "<tr class='liste".($i%2)."'>";
echo "<td><input type='radio' name='radio_2' value='$l->person_id' ".((isset($radio_2) && $radio_2==$l->person_id)?'checked':'')."></td>";
echo "<td>$l->person_id</td>";
echo "<td>$l->nachname</td>";
echo "<td>$l->vorname</td>";
echo "<td>$l->gebdatum</td>";
echo "<td>$l->svnr</td>";
echo "<td>$l->ersatzkennzeichen</td>";
echo "<td>$l->ext_id</td>";
echo "</tr>";
$i++;
}
echo "</table>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</form>";
?>
</tr>
</table>
</body>
</html>
+470 -470
View File
@@ -1,471 +1,471 @@
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/reihungstest.class.php');
require_once('../../include/ort.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/pruefling.class.php');
require_once('../../include/person.class.php');
require_once('../../include/prestudent.class.php');
require_once('../../include/Excel/excel.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user = get_uid();
$datum_obj = new datum();
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
$reihungstest_id = (isset($_GET['reihungstest_id'])?$_GET['reihungstest_id']:'');
$prestudent_id = (isset($_GET['prestudent_id'])?$_GET['prestudent_id']:'');
$rtpunkte = (isset($_GET['rtpunkte'])?$_GET['rtpunkte']:'');
$neu = (isset($_GET['neu'])?true:false);
$stg_arr = array();
$error = false;
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(isset($_GET['excel']))
{
$studiengang = new studiengang($conn);
$studiengang->getAll('typ, kurzbz', false);
foreach ($studiengang->result as $stg)
$stg_arr[$stg->studiengang_kz]=$stg->kuerzel;
$reihungstest = new reihungstest($conn);
if($reihungstest->load($_GET['reihungstest_id']))
{
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Anwesenheitsliste_Reihungstest_".$reihungstest->datum.".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Reihungstest");
//Formate Definieren
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$worksheet->write(0,0,'Anwesenheitsliste Reihungstest '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold);
//Ueberschriften
$i=0;
$worksheet->write(2,$i,"Vorname", $format_bold);
$maxlength[$i] = 7;
$worksheet->write(2,++$i,"Nachname", $format_bold);
$maxlength[$i] = 8;
$worksheet->write(2,++$i,"Geburtsdatum", $format_bold);
$maxlength[$i] = 12;
$worksheet->write(2,++$i,"Studiengang", $format_bold);
$maxlength[$i] = 11;
$worksheet->write(2,++$i,"EMail", $format_bold);
$maxlength[$i] = 5;
$worksheet->write(2,++$i,"STRASSE", $format_bold);
$maxlength[$i] = 6;
$worksheet->write(2,++$i,"PLZ", $format_bold);
$maxlength[$i] = 3;
$worksheet->write(2,++$i,"ORT", $format_bold);
$maxlength[$i] = 3;
$qry = "SELECT *, (SELECT kontakt FROM tbl_kontakt WHERE kontakttyp='email' AND person_id=tbl_prestudent.person_id AND zustellung=true LIMIT 1) as email FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE reihungstest_id='$reihungstest->reihungstest_id' ORDER BY nachname, vorname";
if($result = pg_query($conn, $qry))
{
$zeile=3;
while($row = pg_fetch_object($result))
{
$i=0;
$worksheet->write($zeile,$i, $row->vorname);
if(strlen($row->vorname)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->vorname,'UTF-8');
$worksheet->write($zeile,++$i,$row->nachname);
if(strlen($row->nachname)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->nachname,'UTF-8');
$worksheet->write($zeile,++$i,$datum_obj->convertISODate($row->gebdatum));
if(strlen($row->gebdatum)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->gebdatum,'UTF-8');
$worksheet->write($zeile,++$i,$stg_arr[$row->studiengang_kz]);
if(strlen($stg_arr[$row->studiengang_kz])>$maxlength[$i])
$maxlength[$i] = mb_strlen($stg_arr[$row->studiengang_kz]);
$worksheet->write($zeile,++$i,$row->email);
if(strlen($row->email)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->email,'UTF-8');
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND zustelladresse=true LIMIT 1";
if($result_adresse = pg_query($conn, $qry))
{
if($row_adresse = pg_fetch_object($result_adresse))
{
$worksheet->write($zeile,++$i,$row_adresse->strasse);
if(strlen($row_adresse->strasse)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row_adresse->strasse,'UTF-8');
$worksheet->write($zeile,++$i,$row_adresse->plz);
if(strlen($row_adresse->plz)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row_adresse->plz,'UTF-8');
$worksheet->write($zeile,++$i,$row_adresse->ort);
if(strlen($row_adresse->ort)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row_adresse->ort,'UTF-8');
}
}
$zeile++;
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
}
else
{
echo 'Reihungstest wurde nicht gefunden!';
}
}
else
{
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Reihungstest</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<h2>Reihungstest - Verwaltung</h2>';
// Speichern eines Reihungstesttermines
if(isset($_POST['speichern']))
{
$reihungstest = new reihungstest($conn);
if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='')
{
//Reihungstest laden
if(!$reihungstest->load($_POST['reihungstest_id']))
die($reihungstest->errormsg);
$reihungstest->new = false;
}
else
{
//Neuen Reihungstest anlegen
$reihungstest->new=true;
$reihungstest->insertvon = $user;
$reihungstest->insertamum = date('Y-m-d H:i:s');
}
//Datum und Uhrzeit pruefen
if($_POST['datum']!='' && !$datum_obj->checkDatum($_POST['datum']))
{
echo '<span class="input_error">Datum ist ungueltig. Das Datum muss im Format DD.MM.JJJJ eingegeben werden<br></span>';
$error = true;
}
if($_POST['uhrzeit']!='' && !$datum_obj->checkUhrzeit($_POST['uhrzeit']))
{
echo '<span class="input_error">Uhrzeit ist ungueltig:'.$_POST['uhrzeit'].'. Die Uhrzeit muss im Format HH:MM:SS angegeben werden!<br></span>';
$error = true;
}
if(!$error)
{
$reihungstest->studiengang_kz = $_POST['studiengang_kz'];
$reihungstest->ort_kurzbz = $_POST['ort_kurzbz'];
$reihungstest->anmerkung = $_POST['anmerkung'];
$reihungstest->datum = $_POST['datum'];
$reihungstest->uhrzeit = $_POST['uhrzeit'];
$reihungstest->updateamum = date('Y-m-d H:i:s');
$reihungstest->udpatevon = $user;
if($reihungstest->save())
{
echo '<b>Daten wurden erfolgreich gespeichert</b> <script>window.opener.StudentReihungstestDropDownRefresh();</script>';
$reihungstest_id = $reihungstest->reihungstest_id;
$stg_kz = $reihungstest->studiengang_kz;
}
else
{
echo '<span class="input_error">Fehler beim Speichern der Daten: '.$reihungstest->errormsg.'</span>';
}
}
$neu=false;
}
// Uebertraegt die Punkte eines Prestudenten ins FAS
if(isset($_GET['type']) && $_GET['type']=='savertpunkte')
{
$prestudent = new prestudent($conn);
$prestudent->load($prestudent_id);
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz', $prestudent->studiengang_kz, 'suid'))
{
$prestudent->rt_punkte1 = $rtpunkte;
$prestudent->punkte = $prestudent->rt_punkte1 + $prestudent->rt_punkte2;
$prestudent->save(false);
}
else
{
echo '<span class="input_error"><br>Sie haben keine Berechtigung zur Uebernahme der Punkte fuer '.$row->nachname.' '.$row->vorname.'</span>';
}
}
// Uebertraegt alle Punkte eines Reihungstests ins FAS
if(isset($_GET['type']) && $_GET['type']=='saveallrtpunkte')
{
$errormsg='';
$qry = "SELECT prestudent_id, studiengang_kz, nachname, vorname
FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id)
WHERE reihungstest_id='".addslashes($reihungstest_id)."'";
// AND (rt_punkte1='' OR rt_punkte1 is null)";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid'))
{
$prestudent = new prestudent($conn);
$prestudent->load($row->prestudent_id);
$pruefling = new pruefling($conn);
$rtpunkte = $pruefling->getReihungstestErgebnis($row->prestudent_id);
$prestudent->rt_punkte1 = $rtpunkte;
$prestudent->punkte = $prestudent->rt_punkte1 + $prestudent->rt_punkte2;
$prestudent->save(false);
}
else
{
$errormsg .= "<br>Sie haben keine Berechtigung zur Uebernahme der Punkte fuer $row->nachname $row->vorname";
}
}
if($errormsg!='')
{
echo '<span class="input_error">'.$errormsg.'</span>';
}
}
}
echo '<br><table width="100%"><tr><td>';
//Studiengang DropDown
$studiengang = new studiengang($conn);
$studiengang->getAll('typ, kurzbz', false);
echo "<SELECT name='studiengang' onchange='window.location.href=this.value'>";
if($stg_kz==-1)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=-1' $selected>Alle Studiengaenge</OPTION>";
foreach ($studiengang->result as $row)
{
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
if($stg_kz=='')
$stg_kz=$row->studiengang_kz;
if($row->studiengang_kz==$stg_kz)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$row->studiengang_kz' $selected>$row->kuerzel</OPTION>";
}
echo "</SELECT>";
//Reihungstest DropDown
$reihungstest = new reihungstest($conn);
if($stg_kz==-1)
$reihungstest->getAll(date('Y').'-01-01'); //Alle Reihungstests ab diesem Jahr laden
else
$reihungstest->getReihungstest($stg_kz);
echo "<SELECT name='reihungstest' id='reihungstest' onchange='window.location.href=this.value'>";
foreach ($reihungstest->result as $row)
{
if($reihungstest_id=='')
$reihungstest_id=$row->reihungstest_id;
if($row->reihungstest_id==$reihungstest_id)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&reihungstest_id=$row->reihungstest_id' $selected>$row->datum $row->uhrzeit $row->ort_kurzbz $row->anmerkung</OPTION>";
}
echo "</SELECT>";
echo "<INPUT type='button' value='Anzeigen' onclick='window.location.href=document.getElementById(\"reihungstest\").value;'>";
echo "</td>";
echo "<td align='right'><INPUT type='button' value='Neuen Reihungstesttermin anlegen' onclick='window.location.href=\"".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&neu=true\"' >";
echo "</td></tr></table><br>";
$reihungstest = new reihungstest($conn);
if(!$neu)
{
if(!$reihungstest->load($reihungstest_id))
die('Reihungstest existiert nicht: '.$reihungstest_id);
}
else
{
if($stg_kz!=-1 && $stg_kz!='')
$reihungstest->studiengang_kz = $stg_kz;
$reihungstest_id='';
$reihungstest->datum = date('Y-m-d');
$reihungstest->uhrzeit = date('H:i:s');
}
if($rechte->isBerechtigt('admin',0, 'suid'))
{
echo '<a href="reihungstest_administration.php">Administration</a>';
}
//Formular zum Bearbeiten des Reihungstests
echo '<HR>';
echo "<FORM method='POST'>";
echo "<input type='hidden' value='$reihungstest->reihungstest_id' name='reihungstest_id' />";
//Studiengang DropDown
echo "<table><tr><td>Studiengang</td><td><SELECT name='studiengang_kz'>";
if($reihungstest->studiengang_kz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
foreach ($studiengang->result as $row)
{
if($row->studiengang_kz==$reihungstest->studiengang_kz)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='$row->studiengang_kz' $selected>$row->kuerzel</OPTION>";
}
echo "</SELECT></TD></TR>";
//Ort DropDown
echo "<tr><td>Ort</td><td><SELECT name='ort_kurzbz'>";
if($reihungstest->ort_kurzbz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
$ort = new ort($conn);
$ort->getAll();
foreach ($ort->result as $row)
{
if($row->ort_kurzbz==$reihungstest->ort_kurzbz)
$selected='selected';
else
$selected='';
echo "<OPTION value='$row->ort_kurzbz' $selected>$row->ort_kurzbz</OPTION";
}
echo '</SELECT></td></tr>';
echo '<tr><td>Anmerkung</td><td><input type="input" name="anmerkung" value="'.$reihungstest->anmerkung.'"></td></tr>';
echo '<tr><td>Datum</td><td><input type="input" name="datum" value="'.$datum_obj->convertISODate($reihungstest->datum).'"></td></tr>';
echo '<tr><td>Uhrzeit</td><td><input type="input" name="uhrzeit" value="'.$reihungstest->uhrzeit.'"> (Format: HH:MM:SS)</td></tr>';
if(!$neu)
$val = 'Änderung Speichern';
else
$val = 'Neu anlegen';
echo '<tr><td></td><td><input type="submit" name="speichern" value="'.$val.'"></td></tr>';
echo '</table>';
echo '</FORM>';
echo '<HR>';
if($reihungstest_id!='')
{
echo '<table width="100%"><tr><td>';
echo "<a href='".$_SERVER['PHP_SELF']."?reihungstest_id=$reihungstest_id&excel=true'>Excel Export</a>";
echo '</td><td align="right">';
echo "<a href='".$_SERVER['PHP_SELF']."?reihungstest_id=$reihungstest_id&type=saveallrtpunkte'>alle Punkte ins FAS &uuml;bertragen</a>";
echo '</td></tr></table>';
//Liste der Interessenten die zum Reihungstest angemeldet sind
$qry = "SELECT *, (SELECT kontakt FROM tbl_kontakt WHERE kontakttyp='email' AND person_id=tbl_prestudent.person_id AND zustellung=true LIMIT 1) as email FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE reihungstest_id='$reihungstest_id' ORDER BY nachname, vorname";
$mailto = '';
if($result = pg_query($conn, $qry))
{
echo 'Anzahl: '.pg_num_rows($result);
$pruefling = new pruefling($conn);
echo "<table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'>
<thead>
<tr class='liste'>
<th class='table-sortable:default'>Vorname</th>
<th class='table-sortable:default'>Nachname</th>
<th class='table-sortable:default'>Studiengang</th>
<th class='table-sortable:default'>Geburtsdatum</th>
<th class='table-sortable:default'>EMail</th>
<th class='table-sortable:default'>Ergebnis</th>
<th class='table-sortable:default'>FAS</th>
</tr>
</thead>
<tbody>";
while($row = pg_fetch_object($result))
{
$rtergebnis = $pruefling->getReihungstestErgebnis($row->prestudent_id);
echo "
<tr>
<td>$row->vorname</td>
<td>$row->nachname</td>
<td>".$stg_arr[$row->studiengang_kz]."</td>
<td>".$datum_obj->convertISODate($row->gebdatum)."</td>
<td><a href='mailto:$row->email'>$row->email</a></td>
<td align='right'>".($rtergebnis==0?'-':number_format($rtergebnis,2,'.',''))."</td>
<td align='right'>".($rtergebnis>0 && $row->rt_punkte1==''?'<a href="'.$_SERVER['PHP_SELF'].'?reihungstest_id='.$reihungstest_id.'&stg_kz='.$stg_kz.'&type=savertpunkte&prestudent_id='.$row->prestudent_id.'&rtpunkte='.$rtergebnis.'" >&uuml;bertragen</a>':$row->rt_punkte1)."</td>
</tr>";
$mailto.= ($mailto!=''?',':'').$row->email;
}
echo "</tbody></table>";
echo "<br><a href='mailto:?bcc=$mailto'>Mail an alle senden</a>";
}
}
echo '
</body>
</html>';
}
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/reihungstest.class.php');
require_once('../../include/ort.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/pruefling.class.php');
require_once('../../include/person.class.php');
require_once('../../include/prestudent.class.php');
require_once('../../include/Excel/excel.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user = get_uid();
$datum_obj = new datum();
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
$reihungstest_id = (isset($_GET['reihungstest_id'])?$_GET['reihungstest_id']:'');
$prestudent_id = (isset($_GET['prestudent_id'])?$_GET['prestudent_id']:'');
$rtpunkte = (isset($_GET['rtpunkte'])?$_GET['rtpunkte']:'');
$neu = (isset($_GET['neu'])?true:false);
$stg_arr = array();
$error = false;
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(isset($_GET['excel']))
{
$studiengang = new studiengang($conn);
$studiengang->getAll('typ, kurzbz', false);
foreach ($studiengang->result as $stg)
$stg_arr[$stg->studiengang_kz]=$stg->kuerzel;
$reihungstest = new reihungstest($conn);
if($reihungstest->load($_GET['reihungstest_id']))
{
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Anwesenheitsliste_Reihungstest_".$reihungstest->datum.".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Reihungstest");
//Formate Definieren
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$worksheet->write(0,0,'Anwesenheitsliste Reihungstest '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold);
//Ueberschriften
$i=0;
$worksheet->write(2,$i,"Vorname", $format_bold);
$maxlength[$i] = 7;
$worksheet->write(2,++$i,"Nachname", $format_bold);
$maxlength[$i] = 8;
$worksheet->write(2,++$i,"Geburtsdatum", $format_bold);
$maxlength[$i] = 12;
$worksheet->write(2,++$i,"Studiengang", $format_bold);
$maxlength[$i] = 11;
$worksheet->write(2,++$i,"EMail", $format_bold);
$maxlength[$i] = 5;
$worksheet->write(2,++$i,"STRASSE", $format_bold);
$maxlength[$i] = 6;
$worksheet->write(2,++$i,"PLZ", $format_bold);
$maxlength[$i] = 3;
$worksheet->write(2,++$i,"ORT", $format_bold);
$maxlength[$i] = 3;
$qry = "SELECT *, (SELECT kontakt FROM tbl_kontakt WHERE kontakttyp='email' AND person_id=tbl_prestudent.person_id AND zustellung=true LIMIT 1) as email FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE reihungstest_id='$reihungstest->reihungstest_id' ORDER BY nachname, vorname";
if($result = pg_query($conn, $qry))
{
$zeile=3;
while($row = pg_fetch_object($result))
{
$i=0;
$worksheet->write($zeile,$i, $row->vorname);
if(strlen($row->vorname)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->vorname);
$worksheet->write($zeile,++$i,$row->nachname);
if(strlen($row->nachname)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->nachname);
$worksheet->write($zeile,++$i,$datum_obj->convertISODate($row->gebdatum));
if(strlen($row->gebdatum)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->gebdatum);
$worksheet->write($zeile,++$i,$stg_arr[$row->studiengang_kz]);
if(strlen($stg_arr[$row->studiengang_kz])>$maxlength[$i])
$maxlength[$i] = mb_strlen($stg_arr[$row->studiengang_kz]);
$worksheet->write($zeile,++$i,$row->email);
if(strlen($row->email)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row->email);
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND zustelladresse=true LIMIT 1";
if($result_adresse = pg_query($conn, $qry))
{
if($row_adresse = pg_fetch_object($result_adresse))
{
$worksheet->write($zeile,++$i,$row_adresse->strasse);
if(strlen($row_adresse->strasse)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row_adresse->strasse);
$worksheet->write($zeile,++$i,$row_adresse->plz);
if(strlen($row_adresse->plz)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row_adresse->plz);
$worksheet->write($zeile,++$i,$row_adresse->ort);
if(strlen($row_adresse->ort)>$maxlength[$i])
$maxlength[$i] = mb_strlen($row_adresse->ort);
}
}
$zeile++;
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
}
else
{
echo 'Reihungstest wurde nicht gefunden!';
}
}
else
{
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Reihungstest</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<h2>Reihungstest - Verwaltung</h2>';
// Speichern eines Reihungstesttermines
if(isset($_POST['speichern']))
{
$reihungstest = new reihungstest($conn);
if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='')
{
//Reihungstest laden
if(!$reihungstest->load($_POST['reihungstest_id']))
die($reihungstest->errormsg);
$reihungstest->new = false;
}
else
{
//Neuen Reihungstest anlegen
$reihungstest->new=true;
$reihungstest->insertvon = $user;
$reihungstest->insertamum = date('Y-m-d H:i:s');
}
//Datum und Uhrzeit pruefen
if($_POST['datum']!='' && !$datum_obj->checkDatum($_POST['datum']))
{
echo '<span class="input_error">Datum ist ungueltig. Das Datum muss im Format DD.MM.JJJJ eingegeben werden<br></span>';
$error = true;
}
if($_POST['uhrzeit']!='' && !$datum_obj->checkUhrzeit($_POST['uhrzeit']))
{
echo '<span class="input_error">Uhrzeit ist ungueltig:'.$_POST['uhrzeit'].'. Die Uhrzeit muss im Format HH:MM:SS angegeben werden!<br></span>';
$error = true;
}
if(!$error)
{
$reihungstest->studiengang_kz = $_POST['studiengang_kz'];
$reihungstest->ort_kurzbz = $_POST['ort_kurzbz'];
$reihungstest->anmerkung = $_POST['anmerkung'];
$reihungstest->datum = $_POST['datum'];
$reihungstest->uhrzeit = $_POST['uhrzeit'];
$reihungstest->updateamum = date('Y-m-d H:i:s');
$reihungstest->udpatevon = $user;
if($reihungstest->save())
{
echo '<b>Daten wurden erfolgreich gespeichert</b> <script>window.opener.StudentReihungstestDropDownRefresh();</script>';
$reihungstest_id = $reihungstest->reihungstest_id;
$stg_kz = $reihungstest->studiengang_kz;
}
else
{
echo '<span class="input_error">Fehler beim Speichern der Daten: '.$reihungstest->errormsg.'</span>';
}
}
$neu=false;
}
// Uebertraegt die Punkte eines Prestudenten ins FAS
if(isset($_GET['type']) && $_GET['type']=='savertpunkte')
{
$prestudent = new prestudent($conn);
$prestudent->load($prestudent_id);
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz', $prestudent->studiengang_kz, 'suid'))
{
$prestudent->rt_punkte1 = $rtpunkte;
$prestudent->punkte = $prestudent->rt_punkte1 + $prestudent->rt_punkte2;
$prestudent->save(false);
}
else
{
echo '<span class="input_error"><br>Sie haben keine Berechtigung zur Uebernahme der Punkte fuer '.$row->nachname.' '.$row->vorname.'</span>';
}
}
// Uebertraegt alle Punkte eines Reihungstests ins FAS
if(isset($_GET['type']) && $_GET['type']=='saveallrtpunkte')
{
$errormsg='';
$qry = "SELECT prestudent_id, studiengang_kz, nachname, vorname
FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id)
WHERE reihungstest_id='".addslashes($reihungstest_id)."'";
// AND (rt_punkte1='' OR rt_punkte1 is null)";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid'))
{
$prestudent = new prestudent($conn);
$prestudent->load($row->prestudent_id);
$pruefling = new pruefling($conn);
$rtpunkte = $pruefling->getReihungstestErgebnis($row->prestudent_id);
$prestudent->rt_punkte1 = $rtpunkte;
$prestudent->punkte = $prestudent->rt_punkte1 + $prestudent->rt_punkte2;
$prestudent->save(false);
}
else
{
$errormsg .= "<br>Sie haben keine Berechtigung zur Uebernahme der Punkte fuer $row->nachname $row->vorname";
}
}
if($errormsg!='')
{
echo '<span class="input_error">'.$errormsg.'</span>';
}
}
}
echo '<br><table width="100%"><tr><td>';
//Studiengang DropDown
$studiengang = new studiengang($conn);
$studiengang->getAll('typ, kurzbz', false);
echo "<SELECT name='studiengang' onchange='window.location.href=this.value'>";
if($stg_kz==-1)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=-1' $selected>Alle Studiengaenge</OPTION>";
foreach ($studiengang->result as $row)
{
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
if($stg_kz=='')
$stg_kz=$row->studiengang_kz;
if($row->studiengang_kz==$stg_kz)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$row->studiengang_kz' $selected>$row->kuerzel</OPTION>";
}
echo "</SELECT>";
//Reihungstest DropDown
$reihungstest = new reihungstest($conn);
if($stg_kz==-1)
$reihungstest->getAll(date('Y').'-01-01'); //Alle Reihungstests ab diesem Jahr laden
else
$reihungstest->getReihungstest($stg_kz);
echo "<SELECT name='reihungstest' id='reihungstest' onchange='window.location.href=this.value'>";
foreach ($reihungstest->result as $row)
{
if($reihungstest_id=='')
$reihungstest_id=$row->reihungstest_id;
if($row->reihungstest_id==$reihungstest_id)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&reihungstest_id=$row->reihungstest_id' $selected>$row->datum $row->uhrzeit $row->ort_kurzbz $row->anmerkung</OPTION>";
}
echo "</SELECT>";
echo "<INPUT type='button' value='Anzeigen' onclick='window.location.href=document.getElementById(\"reihungstest\").value;'>";
echo "</td>";
echo "<td align='right'><INPUT type='button' value='Neuen Reihungstesttermin anlegen' onclick='window.location.href=\"".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&neu=true\"' >";
echo "</td></tr></table><br>";
$reihungstest = new reihungstest($conn);
if(!$neu)
{
if(!$reihungstest->load($reihungstest_id))
die('Reihungstest existiert nicht: '.$reihungstest_id);
}
else
{
if($stg_kz!=-1 && $stg_kz!='')
$reihungstest->studiengang_kz = $stg_kz;
$reihungstest_id='';
$reihungstest->datum = date('Y-m-d');
$reihungstest->uhrzeit = date('H:i:s');
}
if($rechte->isBerechtigt('admin',0, 'suid'))
{
echo '<a href="reihungstest_administration.php">Administration</a>';
}
//Formular zum Bearbeiten des Reihungstests
echo '<HR>';
echo "<FORM method='POST'>";
echo "<input type='hidden' value='$reihungstest->reihungstest_id' name='reihungstest_id' />";
//Studiengang DropDown
echo "<table><tr><td>Studiengang</td><td><SELECT name='studiengang_kz'>";
if($reihungstest->studiengang_kz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
foreach ($studiengang->result as $row)
{
if($row->studiengang_kz==$reihungstest->studiengang_kz)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='$row->studiengang_kz' $selected>$row->kuerzel</OPTION>";
}
echo "</SELECT></TD></TR>";
//Ort DropDown
echo "<tr><td>Ort</td><td><SELECT name='ort_kurzbz'>";
if($reihungstest->ort_kurzbz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
$ort = new ort($conn);
$ort->getAll();
foreach ($ort->result as $row)
{
if($row->ort_kurzbz==$reihungstest->ort_kurzbz)
$selected='selected';
else
$selected='';
echo "<OPTION value='$row->ort_kurzbz' $selected>$row->ort_kurzbz</OPTION";
}
echo '</SELECT></td></tr>';
echo '<tr><td>Anmerkung</td><td><input type="input" name="anmerkung" value="'.$reihungstest->anmerkung.'"></td></tr>';
echo '<tr><td>Datum</td><td><input type="input" name="datum" value="'.$datum_obj->convertISODate($reihungstest->datum).'"></td></tr>';
echo '<tr><td>Uhrzeit</td><td><input type="input" name="uhrzeit" value="'.$reihungstest->uhrzeit.'"> (Format: HH:MM:SS)</td></tr>';
if(!$neu)
$val = 'Änderung Speichern';
else
$val = 'Neu anlegen';
echo '<tr><td></td><td><input type="submit" name="speichern" value="'.$val.'"></td></tr>';
echo '</table>';
echo '</FORM>';
echo '<HR>';
if($reihungstest_id!='')
{
echo '<table width="100%"><tr><td>';
echo "<a href='".$_SERVER['PHP_SELF']."?reihungstest_id=$reihungstest_id&excel=true'>Excel Export</a>";
echo '</td><td align="right">';
echo "<a href='".$_SERVER['PHP_SELF']."?reihungstest_id=$reihungstest_id&type=saveallrtpunkte'>alle Punkte ins FAS &uuml;bertragen</a>";
echo '</td></tr></table>';
//Liste der Interessenten die zum Reihungstest angemeldet sind
$qry = "SELECT *, (SELECT kontakt FROM tbl_kontakt WHERE kontakttyp='email' AND person_id=tbl_prestudent.person_id AND zustellung=true LIMIT 1) as email FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE reihungstest_id='$reihungstest_id' ORDER BY nachname, vorname";
$mailto = '';
if($result = pg_query($conn, $qry))
{
echo 'Anzahl: '.pg_num_rows($result);
$pruefling = new pruefling($conn);
echo "<table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'>
<thead>
<tr class='liste'>
<th class='table-sortable:default'>Vorname</th>
<th class='table-sortable:default'>Nachname</th>
<th class='table-sortable:default'>Studiengang</th>
<th class='table-sortable:default'>Geburtsdatum</th>
<th class='table-sortable:default'>EMail</th>
<th class='table-sortable:default'>Ergebnis</th>
<th class='table-sortable:default'>FAS</th>
</tr>
</thead>
<tbody>";
while($row = pg_fetch_object($result))
{
$rtergebnis = $pruefling->getReihungstestErgebnis($row->prestudent_id);
echo "
<tr>
<td>$row->vorname</td>
<td>$row->nachname</td>
<td>".$stg_arr[$row->studiengang_kz]."</td>
<td>".$datum_obj->convertISODate($row->gebdatum)."</td>
<td><a href='mailto:$row->email'>$row->email</a></td>
<td align='right'>".($rtergebnis==0?'-':number_format($rtergebnis,2,'.',''))."</td>
<td align='right'>".($rtergebnis>0 && $row->rt_punkte1==''?'<a href="'.$_SERVER['PHP_SELF'].'?reihungstest_id='.$reihungstest_id.'&stg_kz='.$stg_kz.'&type=savertpunkte&prestudent_id='.$row->prestudent_id.'&rtpunkte='.$rtergebnis.'" >&uuml;bertragen</a>':$row->rt_punkte1)."</td>
</tr>";
$mailto.= ($mailto!=''?',':'').$row->email;
}
echo "</tbody></table>";
echo "<br><a href='mailto:?bcc=$mailto'>Mail an alle senden</a>";
}
}
echo '
</body>
</html>';
}
?>