pruefungsanmeldung.json.php changed for eine_uid

This commit is contained in:
Andreas Moik
2016-05-30 14:03:13 +02:00
parent 6214ad3a66
commit d136937aa0
27 changed files with 2466 additions and 2385 deletions
@@ -16,9 +16,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@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 > and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once('../../../../config/cis.config.inc.php');
@@ -165,9 +166,10 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') )
$pr = new Pruefung();
$student = new student($student_uid);//TODO EINE
// Wenn eine Pruefung angelegt wird, wird zuerst eine Pruefung mit 1. Termin angelegt
// und dort die Zeugnisnote gespeichert
if($pr->getPruefungen($student_uid, "Termin1", $lvid, $stsem))
if($pr->getPruefungen($student->prestudent_id, "Termin1", $lvid, $stsem))
{
if ($pr->result)
$termin1 = 1;
@@ -210,8 +212,9 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') )
$prTermin2 = new Pruefung();
$pr_2 = new Pruefung();
$student = new student($student_uid);//TODO EINE
// Die Pruefung wird als Termin2 eingetragen
if ($prTermin2->getPruefungen($student_uid, $typ, $lvid, $stsem))
if ($prTermin2->getPruefungen($student->prestudent_id, $typ, $lvid, $stsem))
{
if ($prTermin2->result)
{
File diff suppressed because it is too large Load Diff
@@ -236,58 +236,58 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid,
$student = new student($student_uid);
global $p;
$pruefungCis = new pruefungCis($pruefung_id);
$lehrveranstaltung = new lehrveranstaltung();
$lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid);
$pruefung = new pruefung();
$pruefung->new = true;
if(!empty($lehreinheiten))
{
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pruefung->lehreinheit_id = $lehreinheiten[0];
$pruefung->prestudent_id = $student->prestudent_id;
$pruefung->mitarbeiter_uid = $mitarbeiter_uid;
$pruefung->note = $note;
$pruefung->pruefungstyp_kurzbz = $pruefungsanmeldung->pruefungstyp_kurzbz;
$pruefung->datum = $datum;
$pruefung->anmerkung = $anmerkung;
$pruefung->pruefungsanmeldung_id = $pruefungsanmeldung_id;
$pruefung->insertvon = $uid;
$pruefung->insertamum = date('Y-m-d H:i:s');
$datum = new datum();
// var_dump(date("Y-m-d", time()));
// var_dump($pruefungstermin->von);
if($datum->between("", date("Y-m-d", time()), $pruefungstermin->von))
$pruefungCis = new pruefungCis($pruefung_id);
$lehrveranstaltung = new lehrveranstaltung();
$lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid);
$pruefung = new pruefung();
$pruefung->new = true;
if(!empty($lehreinheiten))
{
if($pruefung->save())
{
$data['result']=$pruefung->pruefung_id;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pruefung->lehreinheit_id = $lehreinheiten[0];
$pruefung->prestudent_id = $student->prestudent_id;
$pruefung->mitarbeiter_uid = $mitarbeiter_uid;
$pruefung->note = $note;
$pruefung->pruefungstyp_kurzbz = $pruefungsanmeldung->pruefungstyp_kurzbz;
$pruefung->datum = $datum;
$pruefung->anmerkung = $anmerkung;
$pruefung->pruefungsanmeldung_id = $pruefungsanmeldung_id;
$pruefung->insertvon = $uid;
$pruefung->insertamum = date('Y-m-d H:i:s');
$datum = new datum();
// var_dump(date("Y-m-d", time()));
// var_dump($pruefungstermin->von);
if($datum->between("", date("Y-m-d", time()), $pruefungstermin->von))
{
if($pruefung->save())
{
$data['result']=$pruefung->pruefung_id;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/terminNichtInDerVergangenheit');
//$data['errormsg']='Nicht in der Vergangenheit';
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/terminNichtInDerVergangenheit');
//$data['errormsg']='Nicht in der Vergangenheit';
$data['error']='true';
$data['errormsg']=$p->t('pruefung/keineLehreinheitenVorhanden');
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/keineLehreinheitenVorhanden');
}
return $data;
return $data;
}
/**
+7 -3
View File
@@ -34,6 +34,7 @@ require_once('../../../include/lvregel.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/lehrveranstaltung.class.php');
require_once('../../../include/prestudent.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/zeugnisnote.class.php');
require_once('../../../include/lvangebot.class.php');
require_once('../../../include/datum.class.php');
@@ -104,7 +105,8 @@ if(isset($_GET['getAnmeldung']))
//Pruefen ob genug Credit Points zur Verfuegung stehen zur Anmeldung
$konto = new konto();
$cp = $konto->getCreditPoints($uid, $stsem);
$student = new student($uid); // TODO EINE
$cp = $konto->getCreditPoints($student->prestudent_id, $stsem);
if($cp===false || $cp>=$lv->ects)
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
else
@@ -203,7 +205,8 @@ if(isset($_POST['action']) && $_POST['action']=='anmeldung')
// Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind
$konto = new konto();
$cp = $konto->getCreditPoints($uid, $stsem);
$student = new student($uid); // TODO EINE
$cp = $konto->getCreditPoints($student->prestudent_id, $stsem);
if($cp===false || $cp>=$lv->ects)
{
$bngruppe->uid = $uid;
@@ -349,7 +352,8 @@ foreach($stsem_arr as $stsem)
echo $stsem;
$konto = new konto();
$cp = $konto->getCreditPoints($uid, $stsem);
$student = new student($uid); // TODO EINE
$cp = $konto->getCreditPoints($student->prestudent_id, $stsem);
if($cp!==false)
echo '<span title="'.$p->t('studienplan/reduzierteCP',array($cp)).'" ><br><img src="../../../skin/images/information.png" alt="Information"/></span>';
echo '</th>';
+3 -2
View File
@@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>,
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
+3 -2
View File
@@ -17,8 +17,9 @@
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
+473 -473
View File
@@ -1,473 +1,473 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php');
$user = get_uid();
loadVariables($user);
?>
// ********** GLOBALE VARIABLEN ********** //
var FunktionenTreeDatasource=''; // Datasource des Adressen Trees
var FunktionenSelectID='';
var FunktionenUID=null;
var FunktionBezeichnungChanged=false;
<?php
// JS-Variable anlegen mit einer Uebersetzungstabellle
// Studiengang zu Organisationseinheit
$stg_obj = new studiengang();
$stg_obj->getAll();
echo 'var organisationseinheit = {';
$content = '';
foreach ($stg_obj->result as $stg)
$content .= '"'.$stg->studiengang_kz.'":"'.$stg->oe_kurzbz.'",';
echo substr($content, 0, mb_strlen($content)-1).'};';
?>
// ********** LISTENER UND OBSERVER ********** //
// ****
// * Observer fuer Adressen Tree
// * startet Rebuild nachdem das Refresh
// * der Datasource fertig ist
// ****
var FunktionenTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('funktion-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var FunktionenTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(FunktionenTreeSelectID,10);
}
};
// ********** FUNKTIONEN ********** //
// ****
// * Laedt die Trees
// ****
function loadFunktionen(uid)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
FunktionenUID = uid;
//Adressen laden
url = "<?php echo APP_ROOT; ?>rdf/benutzerfunktion.rdf.php?uid="+uid+"&"+gettimestamp();
var tree=document.getElementById('funktion-tree');
try
{
FunktionenTreeDatasource.removeXMLSinkObserver(FunktionenTreeSinkObserver);
tree.builder.removeListener(FunktionenTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
FunktionenTreeDatasource = rdfService.GetDataSource(url);
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(FunktionenTreeDatasource);
FunktionenTreeDatasource.addXMLSinkObserver(FunktionenTreeSinkObserver);
tree.builder.addListener(FunktionenTreeListener);
FunktionDisableFields(false);
}
// ****
// * Selectiert eine Funktion nachdem der Tree
// * rebuildet wurde.
// ****
function FunktionenTreeSelectID()
{
var tree=document.getElementById('funktion-tree');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist die zu selektierende Adresse gespeichert
if(FunktionenSelectID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
id=tree.view.getCellText(i,col);
if(id == FunktionenSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
FunktionenSelectID=null;
}
}
// ****
// * Deaktiviert die Felder und setzt den Neu status
// ****
function FunktionNeu()
{
FunktionDetailResetFields();
FunktionDetailDisableFields(false);
document.getElementById('funktion-checkbox-neu').checked=true;
document.getElementById('funktion-textbox-benutzerfunktion_id').value='';
//Wenn die aktuelle Person ein Student ist,
//dann wird Studiengang und 'Studentenvertreter' vorausgewaehlt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
oe_kurzbz='';
else
oe_kurzbz = organisationseinheit[ window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value ];
if(oe_kurzbz!='')
{
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
document.getElementById('funktion-menulist-funktion').value='stdv';
}
var Datum = new Date()
var Jahr = Datum.getFullYear()
var Tag = Datum.getDate()
var Monat = Datum.getMonth()+1
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
document.getElementById('funktion-box-datum_bis').value='';
document.getElementById('funktion-textbox-bezeichnung').value='';
document.getElementById('funktion-textbox-wochenstunden').value='';
FunktionToggleFachbereich();
}
// ****
// * Loescht eine Funktion
// ****
function FunktionDelete()
{
tree = document.getElementById('funktion-tree');
if (tree.currentIndex==-1)
{
alert('Bitte zuerst eine Funktion auswaehlen');
return;
}
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
if(confirm('Soll diese Funktion wirklich geloescht werden?'))
{
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'funktiondelete');
req.add('benutzerfunktion_id', benutzerfunktion_id);
req.add('studiengang_kz', studiengang_kz);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
FunktionenTreeDatasource.Refresh(false);
FunktionDetailResetFields();
FunktionDetailDisableFields(true);
return true;
}
}
}
// ****
// * Speichert die Daten
// ****
function FunktionDetailSpeichern()
{
var funktion_kurzbz = document.getElementById('funktion-menulist-funktion').value;
var oe_kurzbz = document.getElementById('funktion-menulist-oe_kurzbz').value;
var semester = document.getElementById('funktion-menulist-semester').value;
var fachbereich_kurzbz = document.getElementById('funktion-menulist-fachbereich').value;
var neu = document.getElementById('funktion-checkbox-neu').checked;
var benutzerfunktion_id = document.getElementById('funktion-textbox-benutzerfunktion_id').value;
var datum_von = document.getElementById('funktion-box-datum_von').value;
var datum_bis = document.getElementById('funktion-box-datum_bis').value;
var bezeichnung = document.getElementById('funktion-textbox-bezeichnung').value;
var wochenstunden = document.getElementById('funktion-textbox-wochenstunden').value;
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz_berecht='';
else
studiengang_kz_berecht = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
//Wenn Fachbereich ausgeblendet ist, dann sicherheitshalber auf '' setzen
if(document.getElementById('funktion-menulist-fachbereich').hidden==true)
fachbereich_kurzbz='';
req.add('type', 'funktionsave');
req.add('funktion_kurzbz', funktion_kurzbz);
req.add('oe_kurzbz', oe_kurzbz);
req.add('semester', semester);
req.add('studiengang_kz_berecht', studiengang_kz_berecht);
req.add('fachbereich_kurzbz', fachbereich_kurzbz);
req.add('uid', FunktionenUID);
req.add('neu', neu);
req.add('benutzerfunktion_id', benutzerfunktion_id);
req.add('datum_von', ConvertDateToISO(datum_von));
req.add('datum_bis', ConvertDateToISO(datum_bis));
req.add('bezeichnung', bezeichnung);
req.add('wochenstunden', wochenstunden);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
FunktionBezeichnungChanged=false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
FunktionenSelectID=val.dbdml_data;
FunktionenTreeDatasource.Refresh(false);
document.getElementById('funktion-checkbox-neu').checked=false;
document.getElementById('funktion-textbox-benutzerfunktion_id').value=FunktionenSelectID;
return true;
}
}
// ****
// * Daten zum Bearbeiten laden
// ****
function FunktionBearbeiten()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
tree = document.getElementById('funktion-tree');
if (tree.currentIndex==-1)
return;
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/benutzerfunktion.rdf.php?benutzerfunktion_id='+benutzerfunktion_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/bnfunktion/"+benutzerfunktion_id);
var predicateNS = "http://www.technikum-wien.at/bnfunktion/rdf";
//Daten holen
var fachbereich_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_kurzbz" ));
var uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" ));
var oe_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
var semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
var funktion_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#funktion_kurzbz" ));
var datum_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_von" ));
var datum_bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_bis" ));
var bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" ));
var wochenstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenstunden" ));
document.getElementById('funktion-menulist-fachbereich').value=fachbereich_kurzbz;
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
document.getElementById('funktion-menulist-semester').value=semester;
document.getElementById('funktion-menulist-funktion').value=funktion_kurzbz;
document.getElementById('funktion-textbox-benutzerfunktion_id').value=benutzerfunktion_id;
document.getElementById('funktion-checkbox-neu').checked = false;
document.getElementById('funktion-box-datum_von').value=datum_von;
document.getElementById('funktion-box-datum_bis').value=datum_bis;
document.getElementById('funktion-textbox-bezeichnung').value=bezeichnung;
document.getElementById('funktion-textbox-wochenstunden').value=wochenstunden;
FunktionBezeichnungChanged=true;
FunktionDetailDisableFields(false);
FunktionToggleFachbereich();
}
// ****
// * De-/Aktiviert die Buttons
// ****
function FunktionDisableFields(val)
{
document.getElementById('funktion-button-neu').disabled=val;
document.getElementById('funktion-button-loeschen').disabled=val;
if(val)
FunktionDetailDisableFields(val);
}
// ****
// * De-/Aktiviert die DetailFelder
// ****
function FunktionDetailDisableFields(val)
{
document.getElementById('funktion-menulist-fachbereich').disabled=val;
document.getElementById('funktion-menulist-oe_kurzbz').disabled=val;
document.getElementById('funktion-menulist-semester').disabled=val;
document.getElementById('funktion-menulist-funktion').disabled=val;
document.getElementById('funktion-button-speichern').disabled=val;
document.getElementById('funktion-box-datum_von').disabled=val;
document.getElementById('funktion-box-datum_bis').disabled=val;
document.getElementById('funktion-textbox-bezeichnung').disabled=val;
document.getElementById('funktion-textbox-wochenstunden').disabled=val;
}
// ****
// * Setzt Defaultwerte fuer die Felder
// ****
function FunktionDetailResetFields()
{
document.getElementById('funktion-menulist-fachbereich').value='';
document.getElementById('funktion-menulist-oe_kurzbz').selectedIndex=0;
document.getElementById('funktion-menulist-semester').value='';
document.getElementById('funktion-menulist-funktion').value='ass';
var Datum = new Date();
var Jahr = Datum.getFullYear();
var Tag = Datum.getDate();
var Monat = Datum.getMonth()+1;
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
document.getElementById('funktion-box-datum_bis').value='';
document.getElementById('funktion-textbox-bezeichnung').value='';
document.getElementById('funktion-textbox-wochenstunden').value='';
FunktionBezeichnungChanged=false;
}
// ****
// * Fachbereichs und Semester DropDown nur Anzeigen, wenn die entsprechenden Attribute
// * der Funktion auf true gesetzt sind
// ****
function FunktionToggleFachbereich()
{
var menulist = document.getElementById('funktion-menulist-funktion');
//ersten selektierten Eintrag holen
var children = menulist.getElementsByAttribute('selected','true');
children = children[0];
//Attribute semester und fachbereich auslesen
var semester = children.getAttribute('semester');
var fachbereich = children.getAttribute('fachbereich');
var bezeichnung = children.label;
//wenn in der Bezeichung noch nichts drinnen steht, dann die Funktion in die Bezeichnung schreiben
var tbbezeichnung = document.getElementById('funktion-textbox-bezeichnung')
if(!FunktionBezeichnungChanged)
{
tbbezeichnung.value=bezeichnung;
}
//Felder sichtbar/unsichtbar setzen
var semesterhidden=false;
var fachbereichhidden=false;
if(semester=='true')
semesterhidden=false;
else
semesterhidden=true;
if(fachbereich=='true')
fachbereichhidden=false;
else
fachbereichhidden=true;
document.getElementById('funktion-menulist-fachbereich').hidden=fachbereichhidden;
document.getElementById('funktion-label-fachbereich').hidden=fachbereichhidden;
document.getElementById('funktion-menulist-semester').hidden=semesterhidden;
document.getElementById('funktion-label-semester').hidden=semesterhidden;
}
function FunktionBezeichnungChange()
{
FunktionBezeichnungChanged=true;
}
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php');
$user = get_uid();
loadVariables($user);
?>
// ********** GLOBALE VARIABLEN ********** //
var FunktionenTreeDatasource=''; // Datasource des Adressen Trees
var FunktionenSelectID='';
var FunktionenUID=null;
var FunktionBezeichnungChanged=false;
<?php
// JS-Variable anlegen mit einer Uebersetzungstabellle
// Studiengang zu Organisationseinheit
$stg_obj = new studiengang();
$stg_obj->getAll();
echo 'var organisationseinheit = {';
$content = '';
foreach ($stg_obj->result as $stg)
$content .= '"'.$stg->studiengang_kz.'":"'.$stg->oe_kurzbz.'",';
echo substr($content, 0, mb_strlen($content)-1).'};';
?>
// ********** LISTENER UND OBSERVER ********** //
// ****
// * Observer fuer Adressen Tree
// * startet Rebuild nachdem das Refresh
// * der Datasource fertig ist
// ****
var FunktionenTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('funktion-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var FunktionenTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(FunktionenTreeSelectID,10);
}
};
// ********** FUNKTIONEN ********** //
// ****
// * Laedt die Trees
// ****
function loadFunktionen(uid)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
FunktionenUID = uid;
//Adressen laden
url = "<?php echo APP_ROOT; ?>rdf/benutzerfunktion.rdf.php?uid="+uid+"&"+gettimestamp();
var tree=document.getElementById('funktion-tree');
try
{
FunktionenTreeDatasource.removeXMLSinkObserver(FunktionenTreeSinkObserver);
tree.builder.removeListener(FunktionenTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
FunktionenTreeDatasource = rdfService.GetDataSource(url);
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(FunktionenTreeDatasource);
FunktionenTreeDatasource.addXMLSinkObserver(FunktionenTreeSinkObserver);
tree.builder.addListener(FunktionenTreeListener);
FunktionDisableFields(false);
}
// ****
// * Selectiert eine Funktion nachdem der Tree
// * rebuildet wurde.
// ****
function FunktionenTreeSelectID()
{
var tree=document.getElementById('funktion-tree');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist die zu selektierende Adresse gespeichert
if(FunktionenSelectID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
id=tree.view.getCellText(i,col);
if(id == FunktionenSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
FunktionenSelectID=null;
}
}
// ****
// * Deaktiviert die Felder und setzt den Neu status
// ****
function FunktionNeu()
{
FunktionDetailResetFields();
FunktionDetailDisableFields(false);
document.getElementById('funktion-checkbox-neu').checked=true;
document.getElementById('funktion-textbox-benutzerfunktion_id').value='';
//Wenn die aktuelle Person ein Student ist,
//dann wird Studiengang und 'Studentenvertreter' vorausgewaehlt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
oe_kurzbz='';
else
oe_kurzbz = organisationseinheit[ window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value ];
if(oe_kurzbz!='')
{
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
document.getElementById('funktion-menulist-funktion').value='stdv';
}
var Datum = new Date()
var Jahr = Datum.getFullYear()
var Tag = Datum.getDate()
var Monat = Datum.getMonth()+1
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
document.getElementById('funktion-box-datum_bis').value='';
document.getElementById('funktion-textbox-bezeichnung').value='';
document.getElementById('funktion-textbox-wochenstunden').value='';
FunktionToggleFachbereich();
}
// ****
// * Loescht eine Funktion
// ****
function FunktionDelete()
{
tree = document.getElementById('funktion-tree');
if (tree.currentIndex==-1)
{
alert('Bitte zuerst eine Funktion auswaehlen');
return;
}
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
if(confirm('Soll diese Funktion wirklich geloescht werden?'))
{
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'funktiondelete');
req.add('benutzerfunktion_id', benutzerfunktion_id);
req.add('studiengang_kz', studiengang_kz);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
FunktionenTreeDatasource.Refresh(false);
FunktionDetailResetFields();
FunktionDetailDisableFields(true);
return true;
}
}
}
// ****
// * Speichert die Daten
// ****
function FunktionDetailSpeichern()
{
var funktion_kurzbz = document.getElementById('funktion-menulist-funktion').value;
var oe_kurzbz = document.getElementById('funktion-menulist-oe_kurzbz').value;
var semester = document.getElementById('funktion-menulist-semester').value;
var fachbereich_kurzbz = document.getElementById('funktion-menulist-fachbereich').value;
var neu = document.getElementById('funktion-checkbox-neu').checked;
var benutzerfunktion_id = document.getElementById('funktion-textbox-benutzerfunktion_id').value;
var datum_von = document.getElementById('funktion-box-datum_von').value;
var datum_bis = document.getElementById('funktion-box-datum_bis').value;
var bezeichnung = document.getElementById('funktion-textbox-bezeichnung').value;
var wochenstunden = document.getElementById('funktion-textbox-wochenstunden').value;
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz_berecht='';
else
studiengang_kz_berecht = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
//Wenn Fachbereich ausgeblendet ist, dann sicherheitshalber auf '' setzen
if(document.getElementById('funktion-menulist-fachbereich').hidden==true)
fachbereich_kurzbz='';
req.add('type', 'funktionsave');
req.add('funktion_kurzbz', funktion_kurzbz);
req.add('oe_kurzbz', oe_kurzbz);
req.add('semester', semester);
req.add('studiengang_kz_berecht', studiengang_kz_berecht);
req.add('fachbereich_kurzbz', fachbereich_kurzbz);
req.add('uid', FunktionenUID);
req.add('neu', neu);
req.add('benutzerfunktion_id', benutzerfunktion_id);
req.add('datum_von', ConvertDateToISO(datum_von));
req.add('datum_bis', ConvertDateToISO(datum_bis));
req.add('bezeichnung', bezeichnung);
req.add('wochenstunden', wochenstunden);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
FunktionBezeichnungChanged=false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
FunktionenSelectID=val.dbdml_data;
FunktionenTreeDatasource.Refresh(false);
document.getElementById('funktion-checkbox-neu').checked=false;
document.getElementById('funktion-textbox-benutzerfunktion_id').value=FunktionenSelectID;
return true;
}
}
// ****
// * Daten zum Bearbeiten laden
// ****
function FunktionBearbeiten()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
tree = document.getElementById('funktion-tree');
if (tree.currentIndex==-1)
return;
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/benutzerfunktion.rdf.php?benutzerfunktion_id='+benutzerfunktion_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/bnfunktion/"+benutzerfunktion_id);
var predicateNS = "http://www.technikum-wien.at/bnfunktion/rdf";
//Daten holen
var fachbereich_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_kurzbz" ));
var uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" ));
var oe_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
var semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
var funktion_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#funktion_kurzbz" ));
var datum_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_von" ));
var datum_bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_bis" ));
var bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" ));
var wochenstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenstunden" ));
document.getElementById('funktion-menulist-fachbereich').value=fachbereich_kurzbz;
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
document.getElementById('funktion-menulist-semester').value=semester;
document.getElementById('funktion-menulist-funktion').value=funktion_kurzbz;
document.getElementById('funktion-textbox-benutzerfunktion_id').value=benutzerfunktion_id;
document.getElementById('funktion-checkbox-neu').checked = false;
document.getElementById('funktion-box-datum_von').value=datum_von;
document.getElementById('funktion-box-datum_bis').value=datum_bis;
document.getElementById('funktion-textbox-bezeichnung').value=bezeichnung;
document.getElementById('funktion-textbox-wochenstunden').value=wochenstunden;
FunktionBezeichnungChanged=true;
FunktionDetailDisableFields(false);
FunktionToggleFachbereich();
}
// ****
// * De-/Aktiviert die Buttons
// ****
function FunktionDisableFields(val)
{
document.getElementById('funktion-button-neu').disabled=val;
document.getElementById('funktion-button-loeschen').disabled=val;
if(val)
FunktionDetailDisableFields(val);
}
// ****
// * De-/Aktiviert die DetailFelder
// ****
function FunktionDetailDisableFields(val)
{
document.getElementById('funktion-menulist-fachbereich').disabled=val;
document.getElementById('funktion-menulist-oe_kurzbz').disabled=val;
document.getElementById('funktion-menulist-semester').disabled=val;
document.getElementById('funktion-menulist-funktion').disabled=val;
document.getElementById('funktion-button-speichern').disabled=val;
document.getElementById('funktion-box-datum_von').disabled=val;
document.getElementById('funktion-box-datum_bis').disabled=val;
document.getElementById('funktion-textbox-bezeichnung').disabled=val;
document.getElementById('funktion-textbox-wochenstunden').disabled=val;
}
// ****
// * Setzt Defaultwerte fuer die Felder
// ****
function FunktionDetailResetFields()
{
document.getElementById('funktion-menulist-fachbereich').value='';
document.getElementById('funktion-menulist-oe_kurzbz').selectedIndex=0;
document.getElementById('funktion-menulist-semester').value='';
document.getElementById('funktion-menulist-funktion').value='ass';
var Datum = new Date();
var Jahr = Datum.getFullYear();
var Tag = Datum.getDate();
var Monat = Datum.getMonth()+1;
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
document.getElementById('funktion-box-datum_bis').value='';
document.getElementById('funktion-textbox-bezeichnung').value='';
document.getElementById('funktion-textbox-wochenstunden').value='';
FunktionBezeichnungChanged=false;
}
// ****
// * Fachbereichs und Semester DropDown nur Anzeigen, wenn die entsprechenden Attribute
// * der Funktion auf true gesetzt sind
// ****
function FunktionToggleFachbereich()
{
var menulist = document.getElementById('funktion-menulist-funktion');
//ersten selektierten Eintrag holen
var children = menulist.getElementsByAttribute('selected','true');
children = children[0];
//Attribute semester und fachbereich auslesen
var semester = children.getAttribute('semester');
var fachbereich = children.getAttribute('fachbereich');
var bezeichnung = children.label;
//wenn in der Bezeichung noch nichts drinnen steht, dann die Funktion in die Bezeichnung schreiben
var tbbezeichnung = document.getElementById('funktion-textbox-bezeichnung')
if(!FunktionBezeichnungChanged)
{
tbbezeichnung.value=bezeichnung;
}
//Felder sichtbar/unsichtbar setzen
var semesterhidden=false;
var fachbereichhidden=false;
if(semester=='true')
semesterhidden=false;
else
semesterhidden=true;
if(fachbereich=='true')
fachbereichhidden=false;
else
fachbereichhidden=true;
document.getElementById('funktion-menulist-fachbereich').hidden=fachbereichhidden;
document.getElementById('funktion-label-fachbereich').hidden=fachbereichhidden;
document.getElementById('funktion-menulist-semester').hidden=semesterhidden;
document.getElementById('funktion-label-semester').hidden=semesterhidden;
}
function FunktionBezeichnungChange()
{
FunktionBezeichnungChanged=true;
}
@@ -469,9 +469,9 @@ function draw_content($row)
//Spezialgruppen
$grps='';
$qry_1 = "SELECT gruppe_kurzbz FROM public.tbl_student JOIN public.tbl_benutzergruppe ON (student_uid=uid)
WHERE tbl_student.prestudent_id='".addslashes($row->prestudent_id)."'
AND tbl_benutzergruppe.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
$qry_1 = "SELECT gruppe_kurzbz FROM public.tbl_prestudent JOIN public.tbl_benutzergruppe USING(prestudent_id)
WHERE tbl_prestudent.prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)."
AND tbl_benutzergruppe.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
if($db->db_query($qry_1))
{
while($row_1 = $db->db_fetch_object())
+2 -3
View File
@@ -3199,7 +3199,6 @@ if(!$error)
if($_POST['pruefungstyp_kurzbz']=='Termin2')
{
//Wenn ein 2. Termin angelegt wird, und kein 1. Termin vorhanden ist,
//dann wird auch ein 1. Termin angelegt mit der derzeitigen Zeugnisnote
$qry = "SELECT * FROM lehre.tbl_pruefung WHERE
@@ -3211,7 +3210,7 @@ if(!$error)
if($db->db_num_rows($result)==0)
{
$qry = "SELECT note,punkte, benotungsdatum FROM lehre.tbl_zeugnisnote JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) WHERE
prestudent_id=".$db->db_add_param($student->prestudent_id, FHC_INTEGER)." AND
prestudent_id=".$db->db_add_param($_POST["prestudent_id"], FHC_INTEGER)." AND
tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER)." AND
tbl_lehreinheit.studiensemester_kurzbz = tbl_zeugnisnote.studiensemester_kurzbz";
if($result = $db->db_query($qry))
@@ -3225,7 +3224,7 @@ if(!$error)
$ersttermin->insertamum = date('Y-m-d H:i:s');
$ersttermin->insertvon = $user;
$ersttermin->lehreinheit_id = $_POST['lehreinheit_id'];
$ersttermin->prestudent_id = $student->prestudent_id;
$ersttermin->prestudent_id = $_POST["prestudent_id"];
$ersttermin->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
$ersttermin->note = $row->note;
$ersttermin->punkte = $row->punkte;
+2 -2
View File
@@ -1378,7 +1378,7 @@ function StudentAuswahl()
}
if(parseInt(prestudent_id))
{alert(prestudent_id + " zeugnisnote/lvgesamtnote"); // TODO EINE
{
// *** ZeugnisNoten ***
notentree = document.getElementById('student-noten-tree');
@@ -4307,7 +4307,7 @@ function StudentPruefungAuswahl()
StudentPruefungDetailDisableFields(false);
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-pruefung-tree-pruefung_id"] : "student-pruefung-tree-pruefung_id";
var col = tree.columns ? tree.columns["student-pruefung-tree-pruefung_id"] : "student-pruefung-tree-pruefung_id";
var pruefung_id=tree.view.getCellText(tree.currentIndex,col);
//Daten holen
+485 -485
View File
@@ -1,485 +1,485 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
?>
var menuUndoDatasource=0;
var STPLlastDetailUrl='leer';
var addon = Array();
//Speichert die Position der Scrollbalken in der Wochenuebersicht
TimeTableWeekPositionX=0;
TimeTableWeekPositionY=0;
// ----------------------------------------------------------
// ------- CLASS Progressmeter ------------------------------
function Progressmeter(progress_id)
{
var id=progress_id;
var runningprogress=0;
this.StopPM=StopPM;
this.StartPM=StartPM;
function StartPM()
{
// Progressmeter starten.
document.getElementById(id).setAttribute('mode','undetermined');
runningprogress++;
}
function StopPM()
{
runningprogress--;
if(runningprogress<0)
runningprogress=0;
// Progressmeter stoppen wenn alle fertig sind
if(runningprogress==0)
document.getElementById(id).setAttribute('mode','determined');
}
}
// ------ EndOf CLASS Progressmeter ------------------------------
var globalProgressmeter=new Progressmeter('statusbar-progressmeter');
//globalProgressmeter.StartPM();
function closeWindow()
{
//Warnung wenn Daten veraendert aber noch nicht gespeichert wurden
if(MitarbeiterDetailValueChanged)
{
if(!confirm('Achtung! Mitarbeiterdaten wurden veraendert aber noch nicht gespeichert. Programm wirklich beenden? \n(Die geaenderten Daten gehen dabei verloren)'))
return false;
}
MitarbeiterDetailValueChanged=false;
window.close();
}
function onLoad()
{
try
{
initLektorTree();
//Studenten Tab beim starten markieren
//document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten');
for(i in addon)
{
addon[i].init();
}
//Funktion ueberschreiben damit sie nicht nochmal aufgerufen wird
//wenn zb ein IFrame geladen wird
onLoad=function() {return false};
if(document.getElementById('statusbarpanel-ignore_kollision'))
{
// Anzeige von DBTable und Ignorekoll. aktualisieren
window.setTimeout(updateignorekollision,20);
window.setTimeout(updatedbstpltable,20);
}
//Notizen des Users laden
notiz = document.getElementById('box-notizen');
if(notiz)
notiz.LoadNotizTree('','','','','','','', getUsername(),'');
}
catch(e)
{
debug('catched'+e);
onLoad=function() {return false};
}
}
function loadRightFrame()
{
}
function loadURL(event)
{
var contentFrame = document.getElementById('contentFrame');
var url = event.target.getAttribute('value');
if (url) contentFrame.setAttribute('src', url);
}
// ****
// * Aendert die Stundenplantabelle
// ****
function stpltableChange(db_stpl_table)
{
variableChange('db_stpl_table', null, db_stpl_table);
return true;
}
// ****
// * Wechselt von Studiensemester 'stsem' um 'wert' Studiensemester vor bzw zurueck
// ****
function studiensemesterChange(stsem, wert)
{
if(typeof(wert)=='undefined')
{
wert=0;
if(typeof(stsem)=='undefined')
{
var items = document.getElementsByTagName('menuitem');
for(i in items)
{
if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true')
stsem = items[i].label;
}
}
}
else
stsem = getStudiensemester();
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'variablechange');
req.add('stsem', stsem);
req.add('wert', wert);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
//Statusbar setzen
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
document.getElementById("statusbarpanel-semester").label = val.dbdml_data;
//Menue setzen
var items = document.getElementsByTagName('menuitem');
for(i in items)
{
if(items[i].label==val.dbdml_data && items[i].id=='menu-properies-studiensemester-name')
{
items[i].setAttribute('checked',true);
break;
}
}
//MitarbeiterDetailStudiensemester_id = dbdml_errormsg;
//Ansichten Refreshen
try
{
StudentTreeRefresh();
}
catch(e)
{}
try
{
LvTreeRefresh();
}
catch(e)
{}
}
return true;
}
// ****
// * Oeffnet ein Fenster zum Aendern eines Variablenwertes
// ****
function variableChangeValue(variable)
{
var variablevalue = getvariable(variable);
if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue))
{
variableChange(variable, '', variablevalue);
}
}
// ****
// * Aendert den Wert der Variable IgnoreKollision
// ****
function toggleIgnoreKollision()
{
if(getvariable('ignore_kollision')=='true')
variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'false');
else
variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'true');
}
// ****
// * Sendet einen Request zum Aendern einer Variable
// ****
function variableChange(variable, id, wert)
{
if(id!=null)
item = document.getElementById(id);
if(typeof(wert)==='undefined')
{
if(item.getAttribute('checked')=='true')
checked='true';
else
checked='false';
}
else
checked=wert;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'variablechange');
req.add('name', variable);
req.add('wert', checked);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
if(variable=='ignore_kollision')
updateignorekollision();
if(variable=='db_stpl_table')
{
document.getElementById("statusbarpanel-db_table").label = wert;
updatedbstpltable();
}
//Statusbar setzen
document.getElementById("statusbarpanel-text").label = "Variable erfolgreich geaendert";
}
}
// ****
// * Aktualisiert die IngnoreKollision Anzeige
// * sowohl in der Toolbar als auch im Menue
// ****
function updateignorekollision()
{
var panel = document.getElementById('statusbarpanel-ignore_kollision');
if(getvariable('ignore_kollision')=='true')
{
panel.label='Kollisionscheck AUS';
panel.style.backgroundColor='#FF0000';
panel.style.MozAppearance = "none"
document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','true');
}
else
{
panel.label='Kollisionscheck AN';
panel.style.backgroundColor='';
panel.style.MozAppearance = "none"
document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','false');
}
}
// ****
// * Markiert den Eintrag in der Statusleiste rot wenn auf die
// * echte stpl tabelle zugegriffen wird
// ****
function updatedbstpltable()
{
var panel = document.getElementById('statusbarpanel-db_table');
if(panel.label=='stundenplan')
{
panel.style.backgroundColor='#FF0000';
panel.style.MozAppearance = "none"
}
else
{
panel.style.backgroundColor='';
panel.style.MozAppearance = "none"
}
}
// ****
// * Liefert das eingestellte Studiensemester
// ****
function getStudiensemesterVariable()
{
if(stsem = getvariable('semester_aktuell'))
{
//Statusbar setzen
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
document.getElementById("statusbarpanel-semester").label = stsem;
//Menue setzen
var items = document.getElementsByTagName('menuitem');
for(i in items)
{
if(items[i].label==stsem && items[i].id=='menu-properies-studiensemester-name')
{
items[i].setAttribute('checked',true);
break;
}
}
//Ansichten Refreshen
try
{
StudentTreeRefresh();
}
catch(e)
{}
try
{
LvTreeRefresh();
}
catch(e)
{}
}
}
// ****
// * Laedt das Undo Menue Neu
// ****
function loadUndoList()
{
menu = document.getElementById('menu-edit-undo');
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(menuUndoDatasource==0)
{
//Wenn noch keine Datasource angegeben ist, dann wird eine neue hinzugefuegt
var url = '<?php echo APP_ROOT; ?>rdf/undo.rdf.php?'+gettimestamp();
//Alte DS entfernen
var oldDatasources = menu.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menu.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
menuUndoDatasource = rdfService.GetDataSource(url);
menuUndoDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
menu.database.AddDataSource(menuUndoDatasource);
}
else
{
//Wenn die Datasource bereits geladen wurde dann nur neu laden
menuUndoDatasource.Refresh(true); //blocking
menu.builder.rebuild();
}
return true;
}
// ****
// * Fuehrt den Undo Befehl aus
// ****
function UnDo(log_id, bezeichnung)
{
if(confirm('Wollen Sie folgenden Befehl wirklich Rueckgaengig machen: '+bezeichnung))
{
//Request absetzen
var req = new phpRequest('tempusDBDML.php','','');
req.add('type','undo');
req.add('log_id',log_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
alert(val.dbdml_errormsg)
}
else
{
LvTreeRefresh();
onJumpDate(0);
}
}
}
// ****
// * Zeigt das Fenster zur Kollisionspruefung auf Studentenebene an
// ****
function KollisionStudentShow()
{
window.open('<?php echo APP_ROOT;?>vilesci/lehre/stpl_benutzer_kollision_frameset.html', 'Kollision Student');
}
// ****
// * Zeigt das Fenster zur LVPlanWartung
// ****
function LVPlanWartungShow()
{
window.open('<?php echo APP_ROOT;?>vilesci/lehre/lvplanwartung.php', 'LVPLanWartung');
}
// ****
// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen
// ****
function ResCheckShow()
{
window.open('<?php echo APP_ROOT;?>vilesci/lehre/check/res_check.php', 'KollisionReservierung');
}
// ****
// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen
// ****
function SyncLVPlan()
{
window.open('<?php echo APP_ROOT;?>vilesci/lehre/lvplan_custom_sync.php', 'LVPlan Sync');
}
// ****
// * Oeffnet das Handbuch
// ****
function OpenManualTempus()
{
window.open('<?php echo APP_ROOT ?>content/Tempus.pdf','Manual');
}
// ****
// * Oeffnet den About Dialog
// ****
function OpenAboutDialog()
{
window.open('<?php echo APP_ROOT ?>content/about.xul.php','About','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
?>
var menuUndoDatasource=0;
var STPLlastDetailUrl='leer';
var addon = Array();
//Speichert die Position der Scrollbalken in der Wochenuebersicht
TimeTableWeekPositionX=0;
TimeTableWeekPositionY=0;
// ----------------------------------------------------------
// ------- CLASS Progressmeter ------------------------------
function Progressmeter(progress_id)
{
var id=progress_id;
var runningprogress=0;
this.StopPM=StopPM;
this.StartPM=StartPM;
function StartPM()
{
// Progressmeter starten.
document.getElementById(id).setAttribute('mode','undetermined');
runningprogress++;
}
function StopPM()
{
runningprogress--;
if(runningprogress<0)
runningprogress=0;
// Progressmeter stoppen wenn alle fertig sind
if(runningprogress==0)
document.getElementById(id).setAttribute('mode','determined');
}
}
// ------ EndOf CLASS Progressmeter ------------------------------
var globalProgressmeter=new Progressmeter('statusbar-progressmeter');
//globalProgressmeter.StartPM();
function closeWindow()
{
//Warnung wenn Daten veraendert aber noch nicht gespeichert wurden
if(MitarbeiterDetailValueChanged)
{
if(!confirm('Achtung! Mitarbeiterdaten wurden veraendert aber noch nicht gespeichert. Programm wirklich beenden? \n(Die geaenderten Daten gehen dabei verloren)'))
return false;
}
MitarbeiterDetailValueChanged=false;
window.close();
}
function onLoad()
{
try
{
initLektorTree();
//Studenten Tab beim starten markieren
//document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten');
for(i in addon)
{
addon[i].init();
}
//Funktion ueberschreiben damit sie nicht nochmal aufgerufen wird
//wenn zb ein IFrame geladen wird
onLoad=function() {return false};
if(document.getElementById('statusbarpanel-ignore_kollision'))
{
// Anzeige von DBTable und Ignorekoll. aktualisieren
window.setTimeout(updateignorekollision,20);
window.setTimeout(updatedbstpltable,20);
}
//Notizen des Users laden
notiz = document.getElementById('box-notizen');
if(notiz)
notiz.LoadNotizTree('','','','','','','', getUsername(),'');
}
catch(e)
{
debug('catched'+e);
onLoad=function() {return false};
}
}
function loadRightFrame()
{
}
function loadURL(event)
{
var contentFrame = document.getElementById('contentFrame');
var url = event.target.getAttribute('value');
if (url) contentFrame.setAttribute('src', url);
}
// ****
// * Aendert die Stundenplantabelle
// ****
function stpltableChange(db_stpl_table)
{
variableChange('db_stpl_table', null, db_stpl_table);
return true;
}
// ****
// * Wechselt von Studiensemester 'stsem' um 'wert' Studiensemester vor bzw zurueck
// ****
function studiensemesterChange(stsem, wert)
{
if(typeof(wert)=='undefined')
{
wert=0;
if(typeof(stsem)=='undefined')
{
var items = document.getElementsByTagName('menuitem');
for(i in items)
{
if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true')
stsem = items[i].label;
}
}
}
else
stsem = getStudiensemester();
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'variablechange');
req.add('stsem', stsem);
req.add('wert', wert);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
//Statusbar setzen
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
document.getElementById("statusbarpanel-semester").label = val.dbdml_data;
//Menue setzen
var items = document.getElementsByTagName('menuitem');
for(i in items)
{
if(items[i].label==val.dbdml_data && items[i].id=='menu-properies-studiensemester-name')
{
items[i].setAttribute('checked',true);
break;
}
}
//MitarbeiterDetailStudiensemester_id = dbdml_errormsg;
//Ansichten Refreshen
try
{
StudentTreeRefresh();
}
catch(e)
{}
try
{
LvTreeRefresh();
}
catch(e)
{}
}
return true;
}
// ****
// * Oeffnet ein Fenster zum Aendern eines Variablenwertes
// ****
function variableChangeValue(variable)
{
var variablevalue = getvariable(variable);
if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue))
{
variableChange(variable, '', variablevalue);
}
}
// ****
// * Aendert den Wert der Variable IgnoreKollision
// ****
function toggleIgnoreKollision()
{
if(getvariable('ignore_kollision')=='true')
variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'false');
else
variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'true');
}
// ****
// * Sendet einen Request zum Aendern einer Variable
// ****
function variableChange(variable, id, wert)
{
if(id!=null)
item = document.getElementById(id);
if(typeof(wert)==='undefined')
{
if(item.getAttribute('checked')=='true')
checked='true';
else
checked='false';
}
else
checked=wert;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'variablechange');
req.add('name', variable);
req.add('wert', checked);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
if(variable=='ignore_kollision')
updateignorekollision();
if(variable=='db_stpl_table')
{
document.getElementById("statusbarpanel-db_table").label = wert;
updatedbstpltable();
}
//Statusbar setzen
document.getElementById("statusbarpanel-text").label = "Variable erfolgreich geaendert";
}
}
// ****
// * Aktualisiert die IngnoreKollision Anzeige
// * sowohl in der Toolbar als auch im Menue
// ****
function updateignorekollision()
{
var panel = document.getElementById('statusbarpanel-ignore_kollision');
if(getvariable('ignore_kollision')=='true')
{
panel.label='Kollisionscheck AUS';
panel.style.backgroundColor='#FF0000';
panel.style.MozAppearance = "none"
document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','true');
}
else
{
panel.label='Kollisionscheck AN';
panel.style.backgroundColor='';
panel.style.MozAppearance = "none"
document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','false');
}
}
// ****
// * Markiert den Eintrag in der Statusleiste rot wenn auf die
// * echte stpl tabelle zugegriffen wird
// ****
function updatedbstpltable()
{
var panel = document.getElementById('statusbarpanel-db_table');
if(panel.label=='stundenplan')
{
panel.style.backgroundColor='#FF0000';
panel.style.MozAppearance = "none"
}
else
{
panel.style.backgroundColor='';
panel.style.MozAppearance = "none"
}
}
// ****
// * Liefert das eingestellte Studiensemester
// ****
function getStudiensemesterVariable()
{
if(stsem = getvariable('semester_aktuell'))
{
//Statusbar setzen
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
document.getElementById("statusbarpanel-semester").label = stsem;
//Menue setzen
var items = document.getElementsByTagName('menuitem');
for(i in items)
{
if(items[i].label==stsem && items[i].id=='menu-properies-studiensemester-name')
{
items[i].setAttribute('checked',true);
break;
}
}
//Ansichten Refreshen
try
{
StudentTreeRefresh();
}
catch(e)
{}
try
{
LvTreeRefresh();
}
catch(e)
{}
}
}
// ****
// * Laedt das Undo Menue Neu
// ****
function loadUndoList()
{
menu = document.getElementById('menu-edit-undo');
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(menuUndoDatasource==0)
{
//Wenn noch keine Datasource angegeben ist, dann wird eine neue hinzugefuegt
var url = '<?php echo APP_ROOT; ?>rdf/undo.rdf.php?'+gettimestamp();
//Alte DS entfernen
var oldDatasources = menu.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menu.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
menuUndoDatasource = rdfService.GetDataSource(url);
menuUndoDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
menu.database.AddDataSource(menuUndoDatasource);
}
else
{
//Wenn die Datasource bereits geladen wurde dann nur neu laden
menuUndoDatasource.Refresh(true); //blocking
menu.builder.rebuild();
}
return true;
}
// ****
// * Fuehrt den Undo Befehl aus
// ****
function UnDo(log_id, bezeichnung)
{
if(confirm('Wollen Sie folgenden Befehl wirklich Rueckgaengig machen: '+bezeichnung))
{
//Request absetzen
var req = new phpRequest('tempusDBDML.php','','');
req.add('type','undo');
req.add('log_id',log_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
alert(val.dbdml_errormsg)
}
else
{
LvTreeRefresh();
onJumpDate(0);
}
}
}
// ****
// * Zeigt das Fenster zur Kollisionspruefung auf Studentenebene an
// ****
function KollisionStudentShow()
{
window.open('<?php echo APP_ROOT;?>vilesci/lehre/stpl_benutzer_kollision_frameset.html', 'Kollision Student');
}
// ****
// * Zeigt das Fenster zur LVPlanWartung
// ****
function LVPlanWartungShow()
{
window.open('<?php echo APP_ROOT;?>vilesci/lehre/lvplanwartung.php', 'LVPLanWartung');
}
// ****
// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen
// ****
function ResCheckShow()
{
window.open('<?php echo APP_ROOT;?>vilesci/lehre/check/res_check.php', 'KollisionReservierung');
}
// ****
// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen
// ****
function SyncLVPlan()
{
window.open('<?php echo APP_ROOT;?>vilesci/lehre/lvplan_custom_sync.php', 'LVPlan Sync');
}
// ****
// * Oeffnet das Handbuch
// ****
function OpenManualTempus()
{
window.open('<?php echo APP_ROOT ?>content/Tempus.pdf','Manual');
}
// ****
// * Oeffnet den About Dialog
// ****
function OpenAboutDialog()
{
window.open('<?php echo APP_ROOT ?>content/about.xul.php','About','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
+4 -3
View File
@@ -761,14 +761,15 @@ class konto extends basis_db
* Die Gegenbuchung wird nicht beruecksichtigt.
* @return Anzahl der Verfuegbaren CreditPoints oder false falls unbeschraenkt
*/
public function getCreditPoints($uid, $studiensemester_kurzbz)
public function getCreditPoints($prestudent_id, $studiensemester_kurzbz)
{
$qry = "SELECT sum(credit_points) as cp
FROM
public.tbl_konto
JOIN public.tbl_benutzer USING(person_id)
JOIN public.tbl_prestudent USING(uid)
WHERE
uid=".$this->db_add_param($uid)."
prestudent_id=".$this->db_add_param($prestudent_id)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND buchungsnr_verweis is null
AND credit_points is not null";
@@ -783,7 +784,7 @@ class konto extends basis_db
{
// Bereits verwendete CreditPoints ermitteln
$lehrveranstaltung = new lehrveranstaltung();
$verwendet = $lehrveranstaltung->getUsedECTS($uid, $studiensemester_kurzbz);
$verwendet = $lehrveranstaltung->getUsedECTS($prestudent_id, $studiensemester_kurzbz);
return ($creditpoints-($verwendet));
}
else
+74 -77
View File
@@ -527,7 +527,7 @@ class lehrveranstaltung extends basis_db
WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung
WHERE prestudent_id=" . $this->db_add_param($prestudent_id);
if($studiensemester_kurzbz !== NULL)
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= ") OR lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM lehre.tbl_zeugnisnote WHERE prestudent_id=" . $this->db_add_param($prestudent_id);
if($studiensemester_kurzbz !== NULL)
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz);
@@ -1907,7 +1907,7 @@ class lehrveranstaltung extends basis_db
FROM
campus.vw_student_lehrveranstaltung
WHERE
uid=".$this->db_add_param($uid)."
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
UNION
SELECT
@@ -1939,86 +1939,83 @@ class lehrveranstaltung extends basis_db
}
}
/**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
mitarbeiter_uid='.$this->db_add_param($uid);
/**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
mitarbeiter_uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null)
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
}
if($studiensemester_kurzbz != null)
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
}
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
else
{
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
}
}
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
return false;
}
/**
* Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester)
+45
View File
@@ -26,6 +26,7 @@ require_once(dirname(__FILE__).'/log.class.php');
require_once(dirname(__FILE__).'/phrasen.class.php');
require_once(dirname(__FILE__).'/globals.inc.php');
require_once(dirname(__FILE__).'/sprache.class.php');
require_once(dirname(__FILE__).'/authentication.class.php');
$sprache = getSprache();
$lang = new sprache();
@@ -1866,4 +1867,48 @@ class prestudent extends person
return false;
}
}
/**
* Laedt die Rolle
*
* @param $studiengang_kz
* @return boolean
*/
public function loadActualFromStg($studiengang_kz)
{
if(!is_numeric($studiengang_kz))
{
$this->errormsg = 'studiengang_kz ist ungueltig';
return false;
}
$auth = new authentication();
$uid = $auth->getUser();
$qry = "SELECT prestudent_id FROM tbl_prestudent WHERE uid=".$this->db_add_param($uid)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
$result = $this->db_query($qry);
$count = $this->db_num_rows($result);
switch($count)
{
case 0:
$this->errormsg = 'es wurde kein Prestudent gefunden';
break;
case 1:
if(!$row = $this->db_fetch_object($result))
{
$this->errormsg = 'Fehler beim Ermitteln des Prestudenten';
break;
}
$this->load($row->prestudent_id);
return true;
default:
$this->errormsg = 'der Prestudent ist nicht eindeutig';
break;
}
return false;
}
}
+29 -29
View File
@@ -217,36 +217,36 @@ class pruefung extends basis_db
return false;
}
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, prestudent_id, mitarbeiter_uid, note, pruefungstyp_kurzbz,
datum, anmerkung, insertamum, insertvon, updateamum, updatevon, pruefungsanmeldung_id, vertrag_id, punkte) VALUES ('.
$this->db_add_param($this->lehreinheit_id).', '.
$this->db_add_param($this->prestudent_id).', '.
$this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->pruefungsanmeldung_id).','.
$this->db_add_param($this->vertrag_id).','.
$this->db_add_param($this->punkte).');';
}
else
{
//bestehenden Datensatz akualisieren
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, prestudent_id, mitarbeiter_uid, note, pruefungstyp_kurzbz,
datum, anmerkung, insertamum, insertvon, updateamum, updatevon, pruefungsanmeldung_id, vertrag_id, punkte) VALUES ('.
$this->db_add_param($this->lehreinheit_id).', '.
$this->db_add_param($this->prestudent_id).', '.
$this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->pruefungsanmeldung_id).','.
$this->db_add_param($this->vertrag_id).','.
$this->db_add_param($this->punkte).');';
}
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob pruefung_id gueltig ist
if(!is_numeric($this->pruefung_id))
{
$this->errormsg = 'pruefung_id ist ungueltig.';
return false;
}
//Pruefen ob pruefung_id gueltig ist
if(!is_numeric($this->pruefung_id))
{
$this->errormsg = 'pruefung_id ist ungueltig.';
return false;
}
$qry = 'UPDATE lehre.tbl_pruefung SET '.
'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
+1 -1
View File
@@ -583,7 +583,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* Lädt alle Prüfungen zur angebenen Lehrveranstaltung
* @param String|Array $lehrveranstaltung_IDs einzelne ID einer Lehrveranstaltung oder ein Array von IDs
+111 -109
View File
@@ -19,28 +19,30 @@
* MA 02110-1301, USA.
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
* Authors: Stefan Puraner <puraner@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once(dirname(__FILE__) . '/basis_db.class.php');
class pruefungsanmeldung extends basis_db {
public $new;
public $result = array();
public $pruefungsanmeldung_id; //bigint
public $uid; //varchar(32)
public $pruefungstermin_id; //bigint
public $lehrveranstaltung_id; //bigint
public $status_kurzbz; //varchar(32)
public $wuensche; //text
public $reihung; //smallint
public $kommentar; //text
public $statusupdatevon; //varchar(32)
public $statusupdateamum; //timestamp
public $anrechnung_id; //integer
public $pruefungstyp_kurzbz; //varchar(32)
class pruefungsanmeldung extends basis_db
{
public $new;
public $result = array();
public $pruefungsanmeldung_id; //bigint
public $uid; //varchar(32)
public $pruefungstermin_id; //bigint
public $lehrveranstaltung_id; //bigint
public $status_kurzbz; //varchar(32)
public $wuensche; //text
public $reihung; //smallint
public $kommentar; //text
public $statusupdatevon; //varchar(32)
public $statusupdateamum; //timestamp
public $anrechnung_id; //integer
public $pruefungstyp_kurzbz; //varchar(32)
/**
* Konstruktor
* @param pruefung_id ID der zu ladenden Prüfung
@@ -170,52 +172,52 @@ class pruefungsanmeldung extends basis_db {
return true;
}
}
/**
* Lädt alle Prüfungsanmeldungen eines Studenten
* @param type $uid UID eines Studenten
* @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
* @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
* @return boolean|array false, bei Fehler; Array mit Anmeldungen
*/
public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
{
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
. 'WHERE uid='.$this->db_add_param($uid).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Anmeldungen konnten nicht geladen werden.';
return false;
}
else
{
$anmeldungen = array();
while($row = $this->db_fetch_object())
{
$anmeldung = new stdClass();
$anmeldung->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
$anmeldung->uid = $row->uid;
$anmeldung->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$anmeldung->status_kurzbz = $row->status_kurzbz;
$anmeldung->pruefungstermin_id = $row->pruefungstermin_id;
$anmeldung->pruefung_id = $row->pruefung_id;
$anmeldung->von = $row->von;
$anmeldung->bis = $row->bis;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
}
}
/**
* Lädt alle Prüfungsanmeldungen eines Studenten
* @param type $uid UID eines Studenten
* @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
* @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
* @return boolean|array false, bei Fehler; Array mit Anmeldungen
*/
public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
{
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
. 'WHERE uid='.$this->db_add_param($uid).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Anmeldungen konnten nicht geladen werden.';
return false;
}
else
{
$anmeldungen = array();
while($row = $this->db_fetch_object())
{
$anmeldung = new stdClass();
$anmeldung->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
$anmeldung->uid = $row->uid;
$anmeldung->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$anmeldung->status_kurzbz = $row->status_kurzbz;
$anmeldung->pruefungstermin_id = $row->pruefungstermin_id;
$anmeldung->pruefung_id = $row->pruefung_id;
$anmeldung->von = $row->von;
$anmeldung->bis = $row->bis;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
}
}
/**
* Lädt alle Anmeldungen eines Prüfungstermins
@@ -276,33 +278,33 @@ class pruefungsanmeldung extends basis_db {
}
}
/**
* Löscht eine Prüfungsanmeldung
* @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
* @param type $uid UID eines Studenten
* @return boolean true, wenn ok; false im Fehlerfall
*/
public function delete($pruefungsanmeldung_id, $uid=null)
{
$qry = 'DELETE FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id);
if(!is_null($uid))
/**
* Löscht eine Prüfungsanmeldung
* @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
* @param type $uid UID eines Studenten
* @return boolean true, wenn ok; false im Fehlerfall
*/
public function delete($pruefungsanmeldung_id, $uid=null)
{
$qry .= ' AND uid='.$this->db_add_param($uid);
$qry = 'DELETE FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id);
if(!is_null($uid))
{
$qry .= ' AND uid='.$this->db_add_param($uid);
}
$qry .= ' ;';
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Anmeldung konnte nicht gelöscht werden.';
return false;
}
}
$qry .= ' ;';
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Anmeldung konnte nicht gelöscht werden.';
return false;
}
}
/**
* speichert die Reihung eines Anmeldungstermins
@@ -342,26 +344,26 @@ class pruefungsanmeldung extends basis_db {
return false;
}
/**
* Ändert den Status einer Prüfungsanmeldung
* @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
* @param type $status Status auf den geändert werden soll
* @return boolean true, wenn ok; false, im Fehlerfall
*/
public function changeState($pruefungsanmeldung_id, $status, $user)
{
$qry = 'UPDATE campus.tbl_pruefungsanmeldung SET '
. 'status_kurzbz='.$this->db_add_param($status).', '
. 'statusupdatevon='.$this->db_add_param($user).', '
. 'statusupdateamum=NOW() '
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
if(!$this->db_query($qry))
/**
* Ändert den Status einer Prüfungsanmeldung
* @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
* @param type $status Status auf den geändert werden soll
* @return boolean true, wenn ok; false, im Fehlerfall
*/
public function changeState($pruefungsanmeldung_id, $status, $user)
{
$this->errormsg = 'Status konnte nicht geändert werden.';
return false;
$qry = 'UPDATE campus.tbl_pruefungsanmeldung SET '
. 'status_kurzbz='.$this->db_add_param($status).', '
. 'statusupdatevon='.$this->db_add_param($user).', '
. 'statusupdateamum=NOW() '
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Status konnte nicht geändert werden.';
return false;
}
return true;
}
return true;
}
}
+6
View File
@@ -46,6 +46,12 @@ require_once('../../include/pdf/fpdf.php');
require_once('../../include/pdf.inc.php');
$getuid=get_uid();
/*TODO EINE
auf etwa zeile 720: public.tbl_prestudent.uid
sollte wohl eher auf die prestudent_id eingeschränkt werden!
dazu müsste diese hier mit perstudent->loadActualFromStg($stg_kz) geladen werden
hierfür wiederum müsste man hier die stg_kz übergeben
*/
$datum_obj = new datum();
$htmlstr = "";
$qualitaet='';
+1 -1
View File
@@ -323,7 +323,7 @@ if ($xmlformat=='rdf')
<RDF:li>
<RDF:Description id="'.$row->abschlusspruefung_id.'" about="'.$rdf_url.'/'.$row->abschlusspruefung_id.'" >
<ABSCHLUSSPRUEFUNG:abschlusspruefung_id><![CDATA['.$row->abschlusspruefung_id.']]></ABSCHLUSSPRUEFUNG:abschlusspruefung_id>
<ABSCHLUSSPRUEFUNG:student_uid><![CDATA['.$row->student_uid.']]></ABSCHLUSSPRUEFUNG:student_uid>
<ABSCHLUSSPRUEFUNG:prestudent_id><![CDATA['.$row->prestudent_id.']]></ABSCHLUSSPRUEFUNG:prestudent_id>
<ABSCHLUSSPRUEFUNG:vorsitz><![CDATA['.$row->vorsitz.']]></ABSCHLUSSPRUEFUNG:vorsitz>
<ABSCHLUSSPRUEFUNG:vorsitz_nachname><![CDATA['.$vorsitz.']]></ABSCHLUSSPRUEFUNG:vorsitz_nachname>
<ABSCHLUSSPRUEFUNG:pruefer1><![CDATA['.$row->pruefer1.']]></ABSCHLUSSPRUEFUNG:pruefer1>
+392 -391
View File
@@ -1,391 +1,392 @@
<?php
/* Copyright (C) 2013 FH fhcomplete.org
*
* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
header("Content-type: application/xhtml+xml");
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php');
require_once('../include/student.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/adresse.class.php');
require_once('../include/lehrveranstaltung.class.php');
require_once('../include/akadgrad.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/nation.class.php');
require_once('../include/prestudent.class.php');
$uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null);
$prestudent_arr = (isset($_REQUEST['prestudent_id'])?$_REQUEST['prestudent_id']:null);
$uid_arr = explode(";",$uid_arr);
$prestudent_arr = explode(";",$prestudent_arr);
$db = new basis_db();
echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
echo "<ausbildungsvertraege>\n";
$uid = isset($uid_arr[1])?$uid_arr[1]:$uid_arr[0];
$student_help = new student();
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
if($student_help->load($uid))
{
$studiengang = new studiengang();
$studiengang->load($student_help->studiengang_kz);
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
}
foreach($uid_arr as $uid)
{
if($uid=='')
continue;
echo "\t<ausbildungsvertrag>\n";
$student = new student();
if($student->load($uid))
{
$datum_aktuell = date('d.m.Y');
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
$studiengang = new studiengang();
$studiengang->load($student->studiengang_kz);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($student->staatsbuergerschaft);
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studiengang->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studiengang->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studiengang->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studiengang->studiengang_kz));
echo "\t\t<quote>1</quote>\n";
echo "\t\t<anrede>".$student->anrede."</anrede>\n";
echo "\t\t<vorname>".$student->vorname." ".$student->vornamen."</vorname>\n";
echo "\t\t<vornamen>".$student->vornamen."</vornamen>\n";
echo "\t\t<nachname>".$student->nachname."</nachname>\n";
echo "\t\t<titelpre>".$student->titelpre."</titelpre>\n";
echo "\t\t<titelpost>".$student->titelpost."</titelpost>\n";
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebort>".$student->gebort."</gebort>\n";
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
echo "\t\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
// check ob Quereinsteiger
$prestudent = new prestudent();
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'1';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
$studiensemester_beginn = new studiensemester();
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
$studiensemester_beginn->load($studienbeginn);
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
$studiensemester_endedatum = new studiensemester();
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t\t<studiengang_sprache>".$studiengang->sprache."</studiengang_sprache>\n";
echo "\t\t<studiengang_maxsemester>".$studiengang->max_semester."</studiengang_maxsemester>\n";
echo "\t\t<studiengang_anzahljahre>".($studiengang->max_semester/2)."</studiengang_anzahljahre>\n";
//Wenn Quereinsteiger stimmt studiengang_maxsemester nicht mit der tatsaechlichen Ausbildungsdauer ueberein
$student_maxsemester = ($studiengang->max_semester-$ausbildungssemester)+1;
echo "\t\t<student_maxsemester>".$student_maxsemester."</student_maxsemester>\n";
echo "\t\t<student_anzahljahre>".($student_maxsemester/2)."</student_anzahljahre>\n";
$akadgrad = new akadgrad();
$akadgrad->getAkadgradStudent($student->uid);
echo "\t\t<akadgrad>".$akadgrad->titel."</akadgrad>\n";
echo "\t\t<akadgrad_kurzbz>".$akadgrad->akadgrad_kurzbz."</akadgrad_kurzbz>\n";
//für ao. Studierende wird die StgKz der Lehrveranstaltungen benötigt, die sie besuchen
$lv_studiengang_kz='';
$lv_studiengang_bezeichnung='';
$lv_studiengang_typ='';
$stg_typ=new studiengang();
$lv=new lehrveranstaltung();
$lv->load_lva_student($student->uid);
if(count($lv->lehrveranstaltungen)>0)
{
$lv_studiengang_kz=$lv->lehrveranstaltungen[0]->studiengang_kz;
$lv_studiengang=new studiengang();
$lv_studiengang->load($lv_studiengang_kz);
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$lv_studiengang_typ=$stg_typ->bezeichnung;
}
echo "\t\t<lv_studiengang_kz>".sprintf('%04s', $lv_studiengang_kz)."</lv_studiengang_kz>";
echo "\t\t<lv_studiengang_typ>$lv_studiengang_typ</lv_studiengang_typ>";
echo "\t\t<lv_studiengang_bezeichnung>$lv_studiengang_bezeichnung</lv_studiengang_bezeichnung>";
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
$adresse = new adresse();
$adresse->load_pers($student->person_id);
foreach($adresse->result as $row_adresse)
{
if($row_adresse->zustelladresse)
{
echo "\t\t<strasse>".$row_adresse->strasse."</strasse>\n";
echo "\t\t<plz>".$row_adresse->plz." ".$row_adresse->ort."</plz>\n";
echo "\t\t<nation>".$row_adresse->nation."</nation>\n";
break;
}
}
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id, null, 'Student');
if($prestudent->orgform_kurzbz!='')
$orgform = $prestudent->orgform_kurzbz;
else
$orgform = $studiengang->orgform_kurzbz;
echo "\t\t<orgform>".$orgform."</orgform>\n";
}
echo "\t</ausbildungsvertrag>\n";
}
/////
// Wenn auch PrestudentIDs uebergeben werden
/////
$prest_id = isset($prestudent_arr[1])?$prestudent_arr[1]:$prestudent_arr[0];
$prestudent_help = new prestudent();
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
if($prestudent_help->load($prest_id))
{
$studiengang = new studiengang();
$studiengang->load($prestudent_help->studiengang_kz);
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
}
foreach($prestudent_arr as $prest_id)
{
if($prest_id=='')
continue;
echo "\t<ausbildungsvertrag>\n";
$prestudent = new prestudent();
if($prestudent->load($prest_id))
{
$person = new person();
if($person->load($prestudent->person_id))
{
$datum_aktuell = date('d.m.Y');
$gebdatum = date('d.m.Y',strtotime($person->gebdatum));
$studiengang = new studiengang();
$studiengang->load($prestudent->studiengang_kz);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($person->staatsbuergerschaft);
$svnr = ($person->svnr == '')?($person->ersatzkennzeichen != ''?'Ersatzkennzeichen: '.$person->ersatzkennzeichen:''):$person->svnr;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studiengang->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studiengang->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studiengang->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studiengang->studiengang_kz));
echo "\t\t<quote>1</quote>\n";
echo "\t\t<anrede>".$person->anrede."</anrede>\n";
echo "\t\t<vorname>".$person->vorname." ".$person->vornamen."</vorname>\n";
echo "\t\t<vornamen>".$person->vornamen."</vornamen>\n";
echo "\t\t<nachname>".$person->nachname."</nachname>\n";
echo "\t\t<titelpre>".$person->titelpre."</titelpre>\n";
echo "\t\t<titelpost>".$person->titelpost."</titelpost>\n";
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebort>".$person->gebort."</gebort>\n";
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t\t<studiengang_sprache>".$studiengang->sprache."</studiengang_sprache>\n";
echo "\t\t<studiengang_maxsemester>".$studiengang->max_semester."</studiengang_maxsemester>\n";
echo "\t\t<studiengang_anzahljahre>".($studiengang->max_semester/2)."</studiengang_anzahljahre>\n";
//Bis die Akadgrad-Tabelle an die Studienordnung angepasst ist, wird der Akadgrad hier ermittelt
$akadgrad_titel = '';
$akadgrad_kurzbz = '';
$qry = "SELECT * FROM lehre.tbl_akadgrad
WHERE studiengang_kz=".$db->db_add_param($studiengang->studiengang_kz, FHC_INTEGER)."
AND (geschlecht=".$db->db_add_param($person->geschlecht, FHC_STRING)." OR geschlecht IS NULL)
LIMIT 1";
if($db->db_query($qry))
{
if($row = $db->db_fetch_object())
{
$akadgrad_titel = $row->titel;
$akadgrad_kurzbz = $row->akadgrad_kurzbz;
}
}
echo "\t\t<akadgrad>".$akadgrad_titel."</akadgrad>\n";
echo "\t\t<akadgrad_kurzbz>".$akadgrad_kurzbz."</akadgrad_kurzbz>\n";
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
$adresse = new adresse();
$adresse->load_pers($person->person_id);
foreach($adresse->result as $row_adresse)
{
if($row_adresse->zustelladresse)
{
echo "\t\t<strasse>".$row_adresse->strasse."</strasse>\n";
echo "\t\t<plz>".$row_adresse->plz." ".$row_adresse->ort."</plz>\n";
echo "\t\t<nation>".$row_adresse->nation."</nation>\n";
break;
}
}
$prestudent_orgform = new prestudent();
$prestudent_orgform->getLastStatus($prest_id, null, null);
if($prestudent_orgform->orgform_kurzbz!='')
$orgform = $prestudent_orgform->orgform_kurzbz;
else
$orgform = $studiengang->orgform_kurzbz;
echo "\t\t<orgform>".$orgform."</orgform>\n";
$ausbildungssemester = ($prestudent_orgform->ausbildungssemester!='')?$prestudent_orgform->ausbildungssemester:'1';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
}
}
echo "\t</ausbildungsvertrag>\n";
}
echo "</ausbildungsvertraege>";
?>
<?php
/* Copyright (C) 2013 FH fhcomplete.org
*
* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Karl Burkhart <burkhart@technikum-wien.at>,
* Manfred Kindl <manfred.kindl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
header("Content-type: application/xhtml+xml");
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php');
require_once('../include/student.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/adresse.class.php');
require_once('../include/lehrveranstaltung.class.php');
require_once('../include/akadgrad.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/nation.class.php');
require_once('../include/prestudent.class.php');
$uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null);
$prestudent_arr = (isset($_REQUEST['prestudent_id'])?$_REQUEST['prestudent_id']:null);
$uid_arr = explode(";",$uid_arr);
$prestudent_arr = explode(";",$prestudent_arr);
$db = new basis_db();
echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
echo "<ausbildungsvertraege>\n";
$uid = isset($uid_arr[1])?$uid_arr[1]:$uid_arr[0];
$student_help = new student();
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
if($student_help->load($uid))
{
$studiengang = new studiengang();
$studiengang->load($student_help->studiengang_kz);
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
}
foreach($uid_arr as $uid)
{
if($uid=='')
continue;
echo "\t<ausbildungsvertrag>\n";
$student = new student();
if($student->load($uid))
{
$datum_aktuell = date('d.m.Y');
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
$studiengang = new studiengang();
$studiengang->load($student->studiengang_kz);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($student->staatsbuergerschaft);
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studiengang->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studiengang->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studiengang->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studiengang->studiengang_kz));
echo "\t\t<quote>1</quote>\n";
echo "\t\t<anrede>".$student->anrede."</anrede>\n";
echo "\t\t<vorname>".$student->vorname." ".$student->vornamen."</vorname>\n";
echo "\t\t<vornamen>".$student->vornamen."</vornamen>\n";
echo "\t\t<nachname>".$student->nachname."</nachname>\n";
echo "\t\t<titelpre>".$student->titelpre."</titelpre>\n";
echo "\t\t<titelpost>".$student->titelpost."</titelpost>\n";
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebort>".$student->gebort."</gebort>\n";
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
echo "\t\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
// check ob Quereinsteiger
$prestudent = new prestudent();
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'1';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
$studiensemester_beginn = new studiensemester();
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
$studiensemester_beginn->load($studienbeginn);
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
$studiensemester_endedatum = new studiensemester();
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t\t<studiengang_sprache>".$studiengang->sprache."</studiengang_sprache>\n";
echo "\t\t<studiengang_maxsemester>".$studiengang->max_semester."</studiengang_maxsemester>\n";
echo "\t\t<studiengang_anzahljahre>".($studiengang->max_semester/2)."</studiengang_anzahljahre>\n";
//Wenn Quereinsteiger stimmt studiengang_maxsemester nicht mit der tatsaechlichen Ausbildungsdauer ueberein
$student_maxsemester = ($studiengang->max_semester-$ausbildungssemester)+1;
echo "\t\t<student_maxsemester>".$student_maxsemester."</student_maxsemester>\n";
echo "\t\t<student_anzahljahre>".($student_maxsemester/2)."</student_anzahljahre>\n";
$akadgrad = new akadgrad();
$akadgrad->getAkadgradStudent($student->uid);
echo "\t\t<akadgrad>".$akadgrad->titel."</akadgrad>\n";
echo "\t\t<akadgrad_kurzbz>".$akadgrad->akadgrad_kurzbz."</akadgrad_kurzbz>\n";
//für ao. Studierende wird die StgKz der Lehrveranstaltungen benötigt, die sie besuchen
$lv_studiengang_kz='';
$lv_studiengang_bezeichnung='';
$lv_studiengang_typ='';
$stg_typ=new studiengang();
$lv=new lehrveranstaltung();
$lv->load_lva_student($student->prestudent_id);
if(count($lv->lehrveranstaltungen)>0)
{
$lv_studiengang_kz=$lv->lehrveranstaltungen[0]->studiengang_kz;
$lv_studiengang=new studiengang();
$lv_studiengang->load($lv_studiengang_kz);
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$lv_studiengang_typ=$stg_typ->bezeichnung;
}
echo "\t\t<lv_studiengang_kz>".sprintf('%04s', $lv_studiengang_kz)."</lv_studiengang_kz>";
echo "\t\t<lv_studiengang_typ>$lv_studiengang_typ</lv_studiengang_typ>";
echo "\t\t<lv_studiengang_bezeichnung>$lv_studiengang_bezeichnung</lv_studiengang_bezeichnung>";
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
$adresse = new adresse();
$adresse->load_pers($student->person_id);
foreach($adresse->result as $row_adresse)
{
if($row_adresse->zustelladresse)
{
echo "\t\t<strasse>".$row_adresse->strasse."</strasse>\n";
echo "\t\t<plz>".$row_adresse->plz." ".$row_adresse->ort."</plz>\n";
echo "\t\t<nation>".$row_adresse->nation."</nation>\n";
break;
}
}
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id, null, 'Student');
if($prestudent->orgform_kurzbz!='')
$orgform = $prestudent->orgform_kurzbz;
else
$orgform = $studiengang->orgform_kurzbz;
echo "\t\t<orgform>".$orgform."</orgform>\n";
}
echo "\t</ausbildungsvertrag>\n";
}
/////
// Wenn auch PrestudentIDs uebergeben werden
/////
$prest_id = isset($prestudent_arr[1])?$prestudent_arr[1]:$prestudent_arr[0];
$prestudent_help = new prestudent();
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
if($prestudent_help->load($prest_id))
{
$studiengang = new studiengang();
$studiengang->load($prestudent_help->studiengang_kz);
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
}
foreach($prestudent_arr as $prest_id)
{
if($prest_id=='')
continue;
echo "\t<ausbildungsvertrag>\n";
$prestudent = new prestudent();
if($prestudent->load($prest_id))
{
$person = new person();
if($person->load($prestudent->person_id))
{
$datum_aktuell = date('d.m.Y');
$gebdatum = date('d.m.Y',strtotime($person->gebdatum));
$studiengang = new studiengang();
$studiengang->load($prestudent->studiengang_kz);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($person->staatsbuergerschaft);
$svnr = ($person->svnr == '')?($person->ersatzkennzeichen != ''?'Ersatzkennzeichen: '.$person->ersatzkennzeichen:''):$person->svnr;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studiengang->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studiengang->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studiengang->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studiengang->studiengang_kz));
echo "\t\t<quote>1</quote>\n";
echo "\t\t<anrede>".$person->anrede."</anrede>\n";
echo "\t\t<vorname>".$person->vorname." ".$person->vornamen."</vorname>\n";
echo "\t\t<vornamen>".$person->vornamen."</vornamen>\n";
echo "\t\t<nachname>".$person->nachname."</nachname>\n";
echo "\t\t<titelpre>".$person->titelpre."</titelpre>\n";
echo "\t\t<titelpost>".$person->titelpost."</titelpost>\n";
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebort>".$person->gebort."</gebort>\n";
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t\t<studiengang_sprache>".$studiengang->sprache."</studiengang_sprache>\n";
echo "\t\t<studiengang_maxsemester>".$studiengang->max_semester."</studiengang_maxsemester>\n";
echo "\t\t<studiengang_anzahljahre>".($studiengang->max_semester/2)."</studiengang_anzahljahre>\n";
//Bis die Akadgrad-Tabelle an die Studienordnung angepasst ist, wird der Akadgrad hier ermittelt
$akadgrad_titel = '';
$akadgrad_kurzbz = '';
$qry = "SELECT * FROM lehre.tbl_akadgrad
WHERE studiengang_kz=".$db->db_add_param($studiengang->studiengang_kz, FHC_INTEGER)."
AND (geschlecht=".$db->db_add_param($person->geschlecht, FHC_STRING)." OR geschlecht IS NULL)
LIMIT 1";
if($db->db_query($qry))
{
if($row = $db->db_fetch_object())
{
$akadgrad_titel = $row->titel;
$akadgrad_kurzbz = $row->akadgrad_kurzbz;
}
}
echo "\t\t<akadgrad>".$akadgrad_titel."</akadgrad>\n";
echo "\t\t<akadgrad_kurzbz>".$akadgrad_kurzbz."</akadgrad_kurzbz>\n";
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
$adresse = new adresse();
$adresse->load_pers($person->person_id);
foreach($adresse->result as $row_adresse)
{
if($row_adresse->zustelladresse)
{
echo "\t\t<strasse>".$row_adresse->strasse."</strasse>\n";
echo "\t\t<plz>".$row_adresse->plz." ".$row_adresse->ort."</plz>\n";
echo "\t\t<nation>".$row_adresse->nation."</nation>\n";
break;
}
}
$prestudent_orgform = new prestudent();
$prestudent_orgform->getLastStatus($prest_id, null, null);
if($prestudent_orgform->orgform_kurzbz!='')
$orgform = $prestudent_orgform->orgform_kurzbz;
else
$orgform = $studiengang->orgform_kurzbz;
echo "\t\t<orgform>".$orgform."</orgform>\n";
$ausbildungssemester = ($prestudent_orgform->ausbildungssemester!='')?$prestudent_orgform->ausbildungssemester:'1';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
}
}
echo "\t</ausbildungsvertrag>\n";
}
echo "</ausbildungsvertraege>";
?>
+4 -3
View File
@@ -17,8 +17,9 @@
*
* 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>.
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Gerald Raab <gerald.raab@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
// header für no cache
header("Cache-Control: no-cache");
@@ -160,4 +161,4 @@ function draw_row($row)
}
?>
</RDF:Seq>
</RDF:RDF>
</RDF:RDF>
+6 -1
View File
@@ -36,6 +36,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/lehrveranstaltung.class.php');
require_once('../include/student.class.php');
$uid=get_uid();
@@ -73,7 +74,11 @@ else
$lehrveranstaltung=new lehrveranstaltung();
if($student_uid!='')
$lehrveranstaltung->load_lva_student($student_uid);
{
//TODO EINE
$student = new student($student_uid);
$lehrveranstaltung->load_lva_student($student->prestudent_id);
}
elseif($lehrveranstaltung_kompatibel_id!='')
{
// Laedt die Lehrveranstaltung und alle die dazu kompatibel sind
+3 -3
View File
@@ -42,9 +42,9 @@ if(!$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('admin'))
die('Sie haben keine Berechtigung für diese Seite');
if(!isset($_GET['prestudent_id']))
die('Es wurde keine prestudent_id übergeben!');
$prestudent_id = $_GET["prestudent_id"];
$prestudent_id = "";
else
$prestudent_id = $_GET["prestudent_id"];
if(isset($_GET['pruefung_id']))
+1 -1
View File
@@ -760,7 +760,7 @@ else
$lv_studiengang_art='';
$lv=new lehrveranstaltung();
$lv->load_lva_student($student->uid);
$lv->load_lva_student($student->prestudent_id);
if(count($lv->lehrveranstaltungen)>0)
{
$lv_studiengang_kz=$lv->lehrveranstaltungen[0]->studiengang_kz;
+6 -5
View File
@@ -15,9 +15,10 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
* Manfred Kindl <kindlm@technikum-wien.at>
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Karl Burkhart <burkhart@technikum-wien.at>,
* Manfred Kindl <manfred.kindl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
header("Content-type: application/xhtml+xml");
require_once('../config/vilesci.config.inc.php');
@@ -264,7 +265,7 @@ foreach($uid_arr as $uid)
$stg_typ=new studiengang();
$lv=new lehrveranstaltung();
$lv->load_lva_student($student->uid);
$lv->load_lva_student($student->prestudent_id);
if(count($lv->lehrveranstaltungen)>0)
{
$lv_studiengang_kz=$lv->lehrveranstaltungen[0]->studiengang_kz;
@@ -337,4 +338,4 @@ foreach($uid_arr as $uid)
}
echo "</studienblaetter>";
?>
?>
+1 -1
View File
@@ -1163,7 +1163,7 @@ $qry="SELECT *, tbl_lehreinheit.studiensemester_kurzbz, tbl_projektarbeit.prestu
JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz)
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz AND tbl_projektarbeit.student_uid=tbl_zeugnisnote.student_uid)
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz AND tbl_projektarbeit.prestudent_id=tbl_zeugnisnote.prestudent_id)
WHERE ((tbl_projektarbeit.note>0 AND tbl_projektarbeit.note<5) OR (tbl_zeugnisnote.note>0 AND tbl_zeugnisnote.note<5)) AND projekttyp_kurzbz='Diplom'
AND to_char(tbl_projektarbeit.abgabedatum,'YYYYMMDD')>'".date('Ymd',mktime(0, 0, 0, date('m')-6, date('d'), date('Y')))."'
AND (tbl_projektarbeit.freigegeben OR (to_char(tbl_projektarbeit.gesperrtbis,'YYYYMMDD')<'".date('Ymd',mktime(0, 0, 0, date('m'), date('d'), date('Y')))."'))";
+2 -2
View File
@@ -64,7 +64,7 @@ if(!$rechte->isBerechtigt('admin', $stg_kz, 'suid') && !$rechte->isBerechtigt('a
function showFarbcodes()
{
$farbcodes = '';
$farbcodes = '';
$farbcodes.= "<table>";
$farbcodes.="<tr><td style=\"background-color:#FFFFFF; width:35px;\"></td><td style=\"padding-left:5px;\">Termin noch mehr als 12 Tage entfernt</tr>";
@@ -75,7 +75,7 @@ function showFarbcodes()
$farbcodes.="</table>";
return $farbcodes;
}
$trenner = new variable();
$trenner->loadVariables($getuid);