This commit is contained in:
Andreas Österreicher
2009-05-27 11:46:01 +00:00
parent 840764540a
commit ded7ddd20a
10 changed files with 808 additions and 271 deletions
+112 -75
View File
@@ -97,11 +97,13 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<command id="menu-statistic-substatistik-lvplanunggesamtsj-excel:command" oncommand="StatistikPrintLvPlanungGesamtSJ();"/>
<command id="menu-statistic-absolventenstatistik:command" oncommand="StatistikPrintAbsolventenstatistik();"/>
<command id="menu-statistic-studentenstatistik:command" oncommand="StatistikPrintStudentenstatistik();"/>
<command id="menu-statistic-oehbeitraege:command" oncommand="StatistikPrintOehBeitrag();"/>
<command id="menu-statistic-mitarbeiterstatistik:command" oncommand="StatistikPrintMitarbeiterstatistik();"/>
<command id="menu-statistic-studentendetails:command" oncommand="StatistikPrintStudentExportExtended();"/>
<command id="menu-statistic-lektorenstatistik:command" oncommand="StatistikPrintLektorenstatistik();"/>
<command id="menu-dokumente-inskriptionsbestaetigung:command" oncommand="StudentPrintInskriptionsbestaetigung();"/>
<command id="menu-dokumente-zeugnis:command" oncommand="StudentCreateZeugnis();"/>
<command id="menu-dokumente-zeugnis:command" oncommand="StudentCreateZeugnis('Zeugnis');"/>
<command id="menu-dokumente-zeugniseng:command" oncommand="StudentCreateZeugnis('ZeugnisEng');"/>
<command id="menu-dokumente-diplsupplement:command" oncommand="StudentCreateDiplSupplement();"/>
<command id="menu-dokumente-studienerfolg-normal:command" oncommand="StudentCreateStudienerfolg();"/>
<command id="menu-dokumente-studienerfolg-finanzamt:command" oncommand="StudentCreateStudienerfolg('finanzamt');"/>
@@ -120,6 +122,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<command id="menu-extras-lehrfachverwaltung:command" oncommand="ExtrasShowLehrfachverwaltung();"/>
<command id="menu-extras-lektorenzuordnunginstitute:command" oncommand="ExtrasShowLektorenzuordnunginstitute();"/>
<command id="menu-extras-preinteressentenuebernahme:command" oncommand="ExtrasShowPreinteressentenuebernahme();"/>
<command id="menu-extras-projektarbeitsabgaben:command" oncommand="ExtrasShowProjektarbeitsabgaben();"/>
<command id="menu-bis-mitarbeiter-import:command" oncommand="BISMitarbeiterImport();"/>
<command id="menu-bis-mitarbeiter-export:command" oncommand="BISMitarbeiterExport();"/>
<command id="menu-bis-mitarbeiter-checkverwendung:command" oncommand="BISMitarbeiterCheckVerwendung();"/>
@@ -226,81 +229,97 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
</menu>
<!-- ********** BERICHTE ********** -->
<menu id="menu-statistic" label="&menu-statistic.label;" accesskey="&menu-statistic.accesskey;">
<menupopup id="menu-statistic-popup">
<menuitem
id = "menu-statistic-koordinatorstunden"
key = "menu-statistic-koordinatorstunden:key"
label = "&menu-statistic-koordinatorstunden.label;"
command = "menu-statistic-koordinatorstunden:command"
accesskey = "&menu-statistic-koordinatorstunden.accesskey;"/>
<menuitem
id = "menu-statistic-lehrauftraege"
key = "menu-statistic-lehrauftraege:key"
label = "&menu-statistic-lehrauftraege.label;"
command = "menu-statistic-lehrauftraege:command"
accesskey = "&menu-statistic-lehrauftraege.accesskey;"/>
<menu id="menu-statistic-sublvplanung" label="&menu-statistic-sublvplanung.label;" accesskey="&menu-statistic-sublvplanung.accesskey;">
<menupopup id="menu-statistic-substatistik-popup">
<menupopup id="menu-statistic-popup">
<!-- *** LEHRE *** -->
<menu id="menu-statistic-lehre" label="&menu-statistic-lehre.label;" accesskey="&menu-statistic-lehre.accesskey;">
<menupopup id="menu-statistic-lehre-popup">
<menu id="menu-statistic-sublvplanung" label="&menu-statistic-sublvplanung.label;" accesskey="&menu-statistic-sublvplanung.accesskey;">
<menupopup id="menu-statistic-substatistik-popup">
<menuitem
id = "menu-statistic-lvplanung"
key = "menu-statistic-lvplanung:key"
label = "&menu-statistic-lvplanung.label;"
command = "menu-statistic-lvplanung:command"
accesskey = "&menu-statistic-lvplanung.accesskey;"/>
<menuitem
id = "menu-statistic-lvplanungexcel"
key = "menu-statistic-lvplanungexcel:key"
label = "&menu-statistic-lvplanungexcel.label;"
command = "menu-statistic-lvplanungexcel:command"
accesskey = "&menu-statistic-lvplanungexcel.accesskey;"/>
</menupopup>
</menu>
<menuitem
id = "menu-statistic-projektarbeit"
key = "menu-statistic-projektarbeit:key"
label = "&menu-statistic-projektarbeit.label;"
command = "menu-statistic-projektarbeit:command"
accesskey = "&menu-statistic-projektarbeit.accesskey;"/>
<menuitem
id = "menu-statistic-abschlusspruefung"
key = "menu-statistic-abschlusspruefung:key"
label = "&menu-statistic-abschlusspruefung.label;"
command = "menu-statistic-abschlusspruefung:command"
accesskey = "&menu-statistic-abschlusspruefung.accesskey;"/>
</menupopup>
</menu>
<!-- *** Mitarbeiter *** -->
<menu id="menu-statistic-mitarbeiter" label="&menu-statistic-mitarbeiter.label;" accesskey="&menu-statistic-mitarbeiter.accesskey;">
<menupopup id="menu-statistic-mitarbeiter-popup">
<menuitem
id = "menu-statistic-koordinatorstunden"
key = "menu-statistic-koordinatorstunden:key"
label = "&menu-statistic-koordinatorstunden.label;"
command = "menu-statistic-koordinatorstunden:command"
accesskey = "&menu-statistic-koordinatorstunden.accesskey;"/>
<menuitem
id = "menu-statistic-lvplanung"
key = "menu-statistic-lvplanung:key"
label = "&menu-statistic-lvplanung.label;"
command = "menu-statistic-lvplanung:command"
accesskey = "&menu-statistic-lvplanung.accesskey;"/>
<menuitem
id = "menu-statistic-lvplanungexcel"
key = "menu-statistic-lvplanungexcel:key"
label = "&menu-statistic-lvplanungexcel.label;"
command = "menu-statistic-lvplanungexcel:command"
accesskey = "&menu-statistic-lvplanungexcel.accesskey;"/>
</menupopup>
</menu>
<menuitem
id = "menu-statistic-lehrauftragsliste"
key = "menu-statistic-lehrauftragsliste:key"
label = "&menu-statistic-lehrauftragsliste.label;"
command = "menu-statistic-lehrauftragsliste:command"
accesskey = "&menu-statistic-lehrauftragsliste.accesskey;"/>
<menuitem
id = "menu-statistic-projektarbeit"
key = "menu-statistic-projektarbeit:key"
label = "&menu-statistic-projektarbeit.label;"
command = "menu-statistic-projektarbeit:command"
accesskey = "&menu-statistic-projektarbeit.accesskey;"/>
<menuitem
id = "menu-statistic-abschlusspruefung"
key = "menu-statistic-abschlusspruefung:key"
label = "&menu-statistic-abschlusspruefung.label;"
command = "menu-statistic-abschlusspruefung:command"
accesskey = "&menu-statistic-abschlusspruefung.accesskey;"/>
<menuitem
id = "menu-statistic-fehlendedokumente"
key = "menu-statistic-fehlendedokumente:key"
label = "&menu-statistic-fehlendedokumente.label;"
command = "menu-statistic-fehlendedokumente:command"
accesskey = "&menu-statistic-fehlendedokumente.accesskey;"/>
<menuitem
id = "menu-statistic-studentendetails"
key = "menu-statistic-studentendetails:key"
label = "&menu-statistic-studentendetails.label;"
command = "menu-statistic-studentendetails:command"
accesskey = "&menu-statistic-studentendetails.accesskey;"/>
<menu id="menu-statistic-subnotenspiegel" label="&menu-statistic-subnotenspiegel.label;" accesskey="&menu-statistic-subnotenspiegel.accesskey;">
<menupopup id="menu-statistic-subnotenspiegel-popup">
<menuitem
id = "menu-statistic-notenspiegel-excel"
key = "menu-statistic-notenspiegel-excel:key"
label = "&menu-statistic-notenspiegel-excel.label;"
command = "menu-statistic-notenspiegel-excel:command"
accesskey = "&menu-statistic-notenspiegel-excel.accesskey;"/>
<menuitem
id = "menu-statistic-notenspiegel"
key = "menu-statistic-notenspiegel:key"
label = "&menu-statistic-notenspiegel.label;"
command = "menu-statistic-notenspiegel:command"
accesskey = "&menu-statistic-notenspiegel.accesskey;"/>
id = "menu-statistic-lehrauftragsliste"
key = "menu-statistic-lehrauftragsliste:key"
label = "&menu-statistic-lehrauftragsliste.label;"
command = "menu-statistic-lehrauftragsliste:command"
accesskey = "&menu-statistic-lehrauftragsliste.accesskey;"/>
</menupopup>
</menu>
</menu>
<!-- *** Student *** -->
<menu id="menu-statistic-student" label="&menu-statistic-student.label;" accesskey="&menu-statistic-student.accesskey;">
<menupopup id="menu-statistic-student-popup">
<menuitem
id = "menu-statistic-fehlendedokumente"
key = "menu-statistic-fehlendedokumente:key"
label = "&menu-statistic-fehlendedokumente.label;"
command = "menu-statistic-fehlendedokumente:command"
accesskey = "&menu-statistic-fehlendedokumente.accesskey;"/>
<menuitem
id = "menu-statistic-studentendetails"
key = "menu-statistic-studentendetails:key"
label = "&menu-statistic-studentendetails.label;"
command = "menu-statistic-studentendetails:command"
accesskey = "&menu-statistic-studentendetails.accesskey;"/>
<menuitem
id = "menu-statistic-oehbeitraege"
key = "menu-statistic-oehbeitraege:key"
label = "&menu-statistic-oehbeitraege.label;"
command = "menu-statistic-oehbeitraege:command"
accesskey = "&menu-statistic-oehbeitraege.accesskey;"/>
<menu id="menu-statistic-subnotenspiegel" label="&menu-statistic-subnotenspiegel.label;" accesskey="&menu-statistic-subnotenspiegel.accesskey;">
<menupopup id="menu-statistic-subnotenspiegel-popup">
<menuitem
id = "menu-statistic-notenspiegel-excel"
key = "menu-statistic-notenspiegel-excel:key"
label = "&menu-statistic-notenspiegel-excel.label;"
command = "menu-statistic-notenspiegel-excel:command"
accesskey = "&menu-statistic-notenspiegel-excel.accesskey;"/>
<menuitem
id = "menu-statistic-notenspiegel"
key = "menu-statistic-notenspiegel:key"
label = "&menu-statistic-notenspiegel.label;"
command = "menu-statistic-notenspiegel:command"
accesskey = "&menu-statistic-notenspiegel.accesskey;"/>
</menupopup>
</menu>
</menupopup>
</menu>
<!-- *** Statistik *** -->
<menu id="menu-statistic-substatistik" label="&menu-statistic-substatistik.label;" accesskey="&menu-statistic-substatistik.accesskey;">
<menupopup id="menu-statistic-substatistik-popup">
<menu id="menu-statistic-substatistik-studentenprosemester" label="&menu-statistic-substatistik-studentenprosemester.label;" accesskey="&menu-statistic-substatistik-studentenprosemester.accesskey;">
@@ -395,6 +414,12 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<!-- ********** DOKUMENTE ********** -->
<menu id="menu-dokumente" label="&menu-dokumente.label;" accesskey="&menu-dokumente.accesskey;">
<menupopup id="menu-dokumente-popup">
<menuitem
id = "menu-statistic-lehrauftraege"
key = "menu-statistic-lehrauftraege:key"
label = "&menu-statistic-lehrauftraege.label;"
command = "menu-statistic-lehrauftraege:command"
accesskey = "&menu-statistic-lehrauftraege.accesskey;"/>
<menuitem
id = "menu-dokumente-inskriptionsbestaetigung"
key = "menu-dokumente-inskriptionsbestaetigung:key"
@@ -407,6 +432,12 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
label = "&menu-dokumente-zeugnis.label;"
command = "menu-dokumente-zeugnis:command"
accesskey = "&menu-dokumente-zeugnis.accesskey;"/>
<menuitem
id = "menu-dokumente-zeugniseng"
key = "&menu-dokumente-zeugniseng.key;"
label = "&menu-dokumente-zeugniseng.label;"
command = "menu-dokumente-zeugniseng:command"
accesskey = "&menu-dokumente-zeugniseng.accesskey;"/>
<menuitem
id = "menu-dokumente-diplsupplement"
key = "menu-dokumente-diplsupplement:key"
@@ -531,7 +562,13 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
key = "menu-extras-lvverwaltung:key"
label = "&menu-extras-lvverwaltung.label;"
command = "menu-extras-lvverwaltung:command"
accesskey = "&menu-extras-lvverwaltung.accesskey;"/>
accesskey = "&menu-extras-lvverwaltung.accesskey;"/>
<menuitem
id = "menu-extras-projektarbeitsabgaben"
key = "menu-extras-projektarbeitsabgaben:key"
label = "&menu-extras-projektarbeitsabgaben.label;"
command = "menu-extras-projektarbeitsabgaben:command"
accesskey = "&menu-extras-projektarbeitsabgaben.accesskey;"/>
<menuitem
id = "menu-extras-projektarbeitsbenotung"
key = "menu-extras-projektarbeitsbenotung:key"
+31
View File
@@ -955,6 +955,17 @@ function StatistikPrintAbgaengerstatistik()
window.open('<?php echo APP_ROOT ?>content/statistik/abgaengerstatistik.php?stsem='+stsem,'Abgaengerstatistik');
}
// ****
// * Liefert eine Liste mit den Studenten die den OEH-Beitrag zahlen muessen / gezahlt haben
// ****
function StatistikPrintOehBeitrag()
{
var stsem = getStudiensemester();
window.open('<?php echo APP_ROOT ?>content/statistik/oeh_beitraege.xls.php?studiensemester_kurzbz='+stsem,'OEHBeitraege');
}
// ****
// * Liefert eine statistik ueber die Anzahl der Absolventen pro Studiengang
// ****
@@ -1098,6 +1109,26 @@ function ExtrasShowProjektarbeitsBenotung()
window.open('<?php echo APP_ROOT ?>vilesci/lehre/projektarbeitsbenotung.php?stg_kz='+studiengang_kz,'Projektarbeitsbenotung','');
}
// ****
// * Zeigt HTML Seite zum Eintragen von Abgabeterminen fuer Projektarbeit an
// ****
function ExtrasShowProjektarbeitsabgaben()
{
tree = document.getElementById('tree-verband');
if(tree.currentIndex==-1)
{
alert('Bitte zuerst einen Studiengang auswaehlen');
return;
}
//Studiengang holen
var col;
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
var studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
window.open('<?php echo APP_ROOT ?>vilesci/lehre/abgabe_assistenz_frameset.php?stg_kz='+studiengang_kz,'Projektarbeitsabgaben','');
}
// ****
// * Zeigt HTML Seite zur Bearbeitung der Gruppen an
+2 -2
View File
@@ -2452,7 +2452,7 @@ function StudentKontoZahlungsbestaetigung()
// ****
// * Erstellt das Zeugnis fuer einen oder mehrere Studenten
// ****
function StudentCreateZeugnis()
function StudentCreateZeugnis(xsl)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
@@ -2484,7 +2484,7 @@ function StudentCreateZeugnis()
}
//PDF erzeugen
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zeugnis.rdf.php&xsl=Zeugnis&uid='+paramList+'&ss='+ss+'&xsl_stg_kz='+xsl_stg_kz,'Zeugnis', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zeugnis.rdf.php&xsl='+xsl+'&uid='+paramList+'&ss='+ss+'&xsl_stg_kz='+xsl_stg_kz,'Zeugnis', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
+13
View File
@@ -1180,5 +1180,18 @@ class basis {
$result = @($regs[2] == $regs[1]) ? $regs[1] : '<br />';
return $result;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
protected function addslashes($var)
{
//TODO: diese Funktion gehoert ausgelagert in die BasisKlasse
return ($var!=''?"'".addslashes($var)."'":'null');
}
}
?>
+273 -186
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/* Copyright (C) 2009 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
@@ -16,56 +16,51 @@
* 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
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
require_once('basis_db.class.php');
require_once('organisationseinheit.class.php');
class benutzerberechtigung
class benutzerberechtigung extends basis_db
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $berechtigungen = array(); // benutzerberechtigung Objekt
public $errormsg; // string
public $new; // boolean
public $berechtigungen = array(); // benutzerberechtigung Objekt
//Tabellenspalten
var $benutzerberechtigung_id; // int
var $art; // varchar(16)
var $fachbereich_kurzbz; // int
var $studiengang_kz; // int
var $berechtigung_kurzbz; // varchar(16)
var $uid; // varchar(32)
var $studiensemester_kurzbz; // varchar(16)
var $start; // date
var $ende; // date
var $starttimestamp;
var $endetimestamp;
public $benutzerberechtigung_id; // serial
public $uid; // varchar(32)
public $funktion_kurzbz; // varchar(16)
public $rolle_kurzbz; // varchar(32)
public $berechtigung_kurzbz; // varchar(16)
public $art; // varchar(5)
public $oe_kurzbz; // varchar(32)
public $studiensemester_kurzbz; // varchar(16)
public $start; // date
public $ende; // date
public $negativ; // boolean
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $starttimestamp;
public $endetimestamp;
//Attribute des Mitarbeiters
var $fix;
var $lektor;
public $fix;
public $lektor;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
// * @param $conn Datenbank-Connection
// * $benutzerberechtigung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// * @param $benutzerberechtigung_id
// *************************************************************************
function benutzerberechtigung($conn, $benutzerberechtigung_id=null, $unicode=false)
public function __construct($benutzerberechtigung_id=null)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
parent::__construct();
if($benutzerberechtigung_id!=null)
$this->load($benutzerberechtigung_id);
}
@@ -74,7 +69,7 @@ class benutzerberechtigung
// * Laedt eine Benutzerberechtigung
// * @param benutzerberechtigung_id
// *********************************************************
function load($benutzerberechtigung_id)
public function load($benutzerberechtigung_id)
{
return true;
}
@@ -84,7 +79,7 @@ class benutzerberechtigung
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
protected function validate()
{
if(strlen($this->art)>16)
{
@@ -125,30 +120,20 @@ class benutzerberechtigung
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Benutzerberechtigung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
/*
if($this->new)
{
$qry = 'INSERT INTO public.tbl_benutzerberechtigung (art, fachbereich_kurzbz, studiengang_kz, berechtigung_kurzbz,
@@ -186,6 +171,8 @@ class benutzerberechtigung
$this->errormsg = 'Fehler beim Speichern der Benutzerberechtigung:'.$qry;
return false;
}
*/
return false;
}
// ************************************************************
@@ -196,6 +183,7 @@ class benutzerberechtigung
// ************************************************************
function delete($benutzerberechtigung_id)
{
/*
// Berechtigungen holen
$sql_query="DELETE from tbl_benutzerberechtigung where benutzerberechtigung_id = '".$benutzerberechtigung_id."'";
@@ -203,63 +191,116 @@ class benutzerberechtigung
{
$this->errormsg='Fehler beim l&ouml;schen';
return false;
}
return true;
}*/
return false;
}
//****************************************************************************
// * Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die
// * Fehlermeldung liegt in errormsg.
// * Wenn der Parameter stg_kz NULL ist tritt einheit_kurzbzb in Kraft.
// * @param string $uid UserID
// * @return variable Array mit LVA, false bei Fehler
// ***************************************************************************
function getBerechtigungen($uid,$all=false)
// *******************************************************************************
// * Laedt die Berechtigungen eines Users
// * @param $uid
// * @param $all wenn $all auf true gesetzt wird, werden auch bereits abgelaufene
//* berechtigungen geladen.
// *******************************************************************************
public function getBerechtigungen($uid,$all=false)
{
// Berechtigungen holen
$sql_query="SELECT * FROM public.tbl_benutzerberechtigung WHERE uid='$uid'";
if (!$all)
$sql_query .= " AND (start<now() OR start IS NULL) AND (ende>now() OR ende IS NULL)";
$sql_query .= " order by benutzerberechtigung_id";
if(!$erg=pg_query($this->conn, $sql_query))
$qry = "SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon
FROM
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
WHERE uid='".addslashes($uid)."'
UNION
SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon
FROM
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
JOIN system.tbl_berechtigung ON(tbl_rolleberechtigung.berechtigung_kurzbz=tbl_berechtigung.berechtigung_kurzbz)
WHERE uid='".addslashes($uid)."'
UNION
SELECT
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon
FROM
system.tbl_benutzerrolle JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
WHERE tbl_benutzerfunktion.uid='".addslashes($uid)."'
ORDER BY negativ DESC";
if(!$this->db_query($qry))
{
$this->errormsg='Fehler beim laden der Berechtigungen';
$this->errormsg='Fehler beim Laden der Berechtigungen';
return false;
}
while($row=pg_fetch_object($erg))
while($row=$this->db_fetch_object())
{
$b=new benutzerberechtigung($this->conn);
$b->benutzerberechtigung_id = $row->benutzerberechtigung_id;
$b->art=$row->art;
$b->fachbereich_kurzbz=$row->fachbereich_kurzbz;
$b->studiengang_kz=$row->studiengang_kz;
$b->berechtigung_kurzbz=$row->berechtigung_kurzbz;
$b->uid=$row->uid;
$b->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$b->start=$row->start;
if ($row->start!=null)
$b->starttimestamp=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8),substr($row->start,0,4));
else
$b->starttimestamp=null;
$b->ende=$row->ende;
if ($row->ende!=null)
$b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4));
$this->berechtigungen[]=$b;
//wenn die Berechtigung an einer Organisationseinheit haengt, dann werden
//auch die Berechtigungen fuer die darunterliegenden Organisationseinheiten angelegt
if($row->oe_kurzbz!='')
{
$organisationseinheit = new organisationseinheit();
$oes = $organisationseinheit->getChilds($row->oe_kurzbz);
}
else
{
$oes[]=$row->oe_kurzbz;
}
foreach ($oes as $oe_kurzbz)
{
$b=new benutzerberechtigung();
$b->benutzerberechtigung_id = $row->benutzerberechtigung_id;
$b->uid=$row->uid;
$b->funktion_kurzbz=$row->funktion_kurzbz;
$b->rolle_kurzbz = $row->rolle_kurzbz;
$b->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$b->art=$row->art;
$b->oe_kurzbz = $oe_kurzbz;
$b->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$b->start=$row->start;
if ($row->start!=null)
$b->starttimestamp=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8),substr($row->start,0,4));
else
$b->starttimestamp=null;
$b->ende=$row->ende;
if ($row->ende!=null)
$b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4));
$b->negativ = ($row->negativ=='t'?true:false);
$b->updateamum = $row->updateamum;
$b->updatevon = $row->updatevon;
$b->insertamum = $row->insertamum;
$b->insertvon = $row->insertvon;
$this->berechtigungen[]=$b;
}
}
// Attribute des Mitarbeiters holen
$sql_query="SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$uid'";
if(!$erg=pg_query($this->conn, $sql_query))
$sql_query="SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='".addslashes($uid)."'";
if(!$this->db_query($sql_query))
{
$this->errormsg='Fehler beim laden der Berechtigungen';
$this->errormsg='Fehler beim Laden der Berechtigungen';
return false;
}
while($row=pg_fetch_object($erg))
while($row=$this->db_fetch_object())
{
if ($row->fixangestellt=='t')
$this->fix=true;
@@ -275,20 +316,36 @@ class benutzerberechtigung
}
//****************************************************************************
// * Rueckgabewert ist TRUE wenn eine Berechtigung entspricht.
// * Wenn der Parameter stg_kz NULL ist tritt einheit_kurzbzb in Kraft.
// * @param string $uid UserID
// * @return variable Array mit LVA, false bei Fehler
// * Prueft ob die Berechtigung vorhanden ist. Vor der Verwendung muss die
// * Funktion getBerechtigungen aufgerufen werden.
// *
// * @param $berechtigung
// * @param $oe_kurzbz
// * @param $art
// * @return true wenn eine Berechtigung entspricht.
// ***************************************************************************
function isBerechtigt($berechtigung,$studiengang_kz=null,$art=null, $fachbereich_kurzbz=null)
public function isBerechtigt($berechtigung_kurzbz,$oe_kurzbz=null,$art=null)
{
$timestamp=time();
foreach ($this->berechtigungen as $b)
{
//echo 'Admin<BR>';
//Admin auf alles ist immer TRUE
if ($b->berechtigung_kurzbz=='admin' && is_null($b->fachbereich_kurzbz) && is_null($b->studiengang_kz) )
//if ($b->berechtigung_kurzbz=='admin' && $b->fachbereich_kurzbz===NULL && $b->studiengang_kz===NULL )
//Pruefen ob eine negativ-Berechtigung vorhanden ist
if($b->berechtigung_kurzbz==$berechtigung_kurzbz && $b->negativ && $oe_kurzbz==$b->oe_kurzbz)
{
if (!is_null($b->starttimestamp) && !is_null($b->endetimestamp))
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return false;
}
else
return false;
}
if($b->berechtigung_kurzbz==$berechtigung_kurzbz
&& (is_null($art) || strstr($b->art, $art))
&& (is_null($oe_kurzbz) || $oe_kurzbz==$b->oe_kurzbz))
{
if (!is_null($b->starttimestamp) && !is_null($b->endetimestamp))
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
@@ -296,73 +353,17 @@ class benutzerberechtigung
}
else
return true;
//echo 'Fachbereich<BR>';
//Fachbereichsberechtigung
if($fachbereich_kurzbz!=null)
{
//Wenn Fachbereichs oder Adminberechtigung
if(($berechtigung == $b->berechtigung_kurzbz || $b->berechtigung_kurzbz == 'admin')
&& ($b->fachbereich_kurzbz==$fachbereich_kurzbz || is_null($b->fachbereich_kurzbz))
&& (is_null($b->studiengang_kz) || $b->studiengang_kz==$studiengang_kz)
&& ($art==null || strstr($b->art, $art)))
{
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
else
return true;
}
}
//echo 'Klasse<BR>';
//Wenn Berechtigung fuer Bestimmte Klasse vorhanden ist
if ( ($berechtigung==$b->berechtigung_kurzbz && is_null($studiengang_kz) && is_null($art) && is_null($fachbereich_kurzbz))
||
($b->berechtigung_kurzbz=='admin'
&& (is_null($studiengang_kz) && (is_null($b->studiengang_kz) || $b->studiengang_kz==$studiengang_kz) )
&& (is_null($fachbereich_kurzbz) && (is_null($b->fachbereich_kurzbz) || $b->fachbereich_kurzbz==$fachbereich_kurzbz) )
)
)
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
else
return true;
//echo 'Studiengang<BR>';
//Wenn Berechtigung fuer Bestimmten Studiengang vorhanden ist
if ($berechtigung==$b->berechtigung_kurzbz && ($studiengang_kz==$b->studiengang_kz || is_null($b->studiengang_kz)) && $art==null && $b->fachbereich_kurzbz==null)
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
else
return true;
//Wenn Berechtigung mit Studiengang und der richtigen BerechtigungsArt (suid) vorhanden ist
if ($berechtigung==$b->berechtigung_kurzbz
&& ($studiengang_kz==$b->studiengang_kz || is_null($b->studiengang_kz))
&& strstr($b->art,$art)
&& is_null($b->fachbereich_kurzbz))
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
else
return true;
}
return false;
}
function isFix()
// ******************************************************
// * Prueft ob die Person Fixangestellt ist
// * @return true wenn ja, false wenn nein
// ******************************************************
public function isFix()
{
if ($this->fix)
return true;
@@ -371,42 +372,128 @@ class benutzerberechtigung
}
// ********************************************************************
// * Gibt Array mit Kennzahlen der Studiengaenge sortiert zurueck.
// * Gibt Array mit den Studiengangskennzahlen zurueck fuer welche die
// * Person eine Berechtigung besitzt.
// * Optional wird auf Berechtigung eingeschraenkt.
// * Wenn Berechtigung ueber alle Studiengaenge steht im ersten Feld 0.
// ********************************************************************
function getStgKz($berechtigung=null)
public function getStgKz($berechtigung_kurzbz=null)
{
$studiengang_kz=array();
$timestamp=time();
$in='';
$not='';
$all=false;
foreach ($this->berechtigungen as $b)
if ($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
if($b->fachbereich_kurzbz==null)
$studiengang_kz[]=$b->studiengang_kz;
{
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null)
&& (($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) || ($b->starttimestamp==null && $b->endetimestamp==null)))
{
if($b->negativ)
{
//Negativ-Recht
if(!is_null($b->oe_kurzbz))
$not .="'".addslashes($b->oe_kurzbz)."',";
else
return array();
}
else
{
if(!is_null($b->oe_kurzbz))
$in .= "'".addslashes($b->oe_kurzbz)."',";
else
{
//Wenn NULL dann berechtigung auf alles
$all = true;
break;
}
}
}
}
if(!$all)
{
if($in=='')
return array();
else
$in = ' AND oe_kurzbz IN('.substr($in,0, strlen($in)-1).')';
}
if($not!='')
$not = ' AND oe_kurzbz NOT IN('.substr($not,0, strlen($not)-1).')';
$qry = "SELECT studiengang_kz FROM public.tbl_studiengang WHERE 1=1 $in $not";
if($this->db_query($qry))
while($row = $this->db_fetch_object())
$studiengang_kz[]=$row->studiengang_kz;
$studiengang_kz=array_unique($studiengang_kz);
sort($studiengang_kz);
return $studiengang_kz;
}
function getFbKz($berechtigung=null)
/**
* Gibt eine Array mit den Fachbereichen/Instituten zurueck
*
* @param $berechtigung
* @return array mit fachbereichen
*/
public function getFbKz($berechtigung_kurzbz=null)
{
$fachbereichs_kz=array();
$fachbereich_kurzbz=array();
$timestamp=time();
foreach($this->berechtigungen as $b)
$in='';
$not='';
$all=false;
foreach ($this->berechtigungen as $b)
{
if(($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null)
&& (($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) || ($b->starttimestamp==null && $b->endetimestamp==null)))
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null)
&& (($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) || ($b->starttimestamp==null && $b->endetimestamp==null)))
{
if($b->fachbereich_kurzbz!='' && !in_array($b->fachbereich_kurzbz,$fachbereichs_kz))
$fachbereichs_kz[] = $b->fachbereich_kurzbz;
if($b->fachbereich_kurzbz=='' && ($b->studiengang_kz==0 || $b->studiengang_kz==''))
$fachbereichs_kz[] = '0';
if($b->negativ)
{
//Negativ-Recht
if(!is_null($b->oe_kurzbz))
$not .="'".addslashes($b->oe_kurzbz)."',";
else
return array();
}
else
{
if(!is_null($b->oe_kurzbz))
$in .= "'".addslashes($b->oe_kurzbz)."',";
else
{
//Wenn NULL dann berechtigung auf alles
$all = true;
break;
}
}
}
}
sort($fachbereichs_kz);
return $fachbereichs_kz;
if(!$all)
{
if($in=='')
return array();
else
$in = ' AND oe_kurzbz IN('.substr($in,0, strlen($in)-1).')';
}
if($not!='')
$not = ' AND oe_kurzbz NOT IN('.substr($not,0, strlen($not)-1).')';
$qry = "SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE 1=1 $in $not";
if($this->db_query($qry))
while($row = $this->db_fetch_object())
$fachbereich_kurzbz[]=$row->fachbereich_kurzbz;
$fachbereich_kurzbz=array_unique($fachbereich_kurzbz);
sort($fachbereich_kurzbz);
return $fachbereich_kurzbz;
}
}
?>
+3 -1
View File
@@ -292,6 +292,7 @@ class zeugnisnote
tbl_zeugnisnote.updateamum, tbl_zeugnisnote.updatevon, tbl_zeugnisnote.insertamum,
tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id,
vw_student_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung,
vw_student_lehrveranstaltung.bezeichnung_english as lehrveranstaltung_bezeichnung_english,
tbl_note.bezeichnung as note_bezeichnung,
tbl_zeugnisnote.bemerkung as bemerkung,
vw_student_lehrveranstaltung.sort,
@@ -310,7 +311,7 @@ class zeugnisnote
UNION
SELECT lehre.tbl_lehrveranstaltung.lehrveranstaltung_id,student_uid AS uid,studiensemester_kurzbz, note,
uebernahmedatum, benotungsdatum,lehre.tbl_lehrveranstaltung.ects,lehre.tbl_lehrveranstaltung.semesterstunden, tbl_zeugnisnote.updateamum, tbl_zeugnisnote.updatevon, tbl_zeugnisnote.insertamum,
tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id, lehre.tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung,
tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id, lehre.tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, lehre.tbl_lehrveranstaltung.bezeichnung_english as lehrveranstaltung_bezeichnung_english,
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung as bemerkung, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.studiengang_kz,
tbl_lehrveranstaltung.lehrform_kurzbz as lv_lehrform_kurzbz
FROM
@@ -339,6 +340,7 @@ class zeugnisnote
$obj->ext_id = $row->ext_id;
$obj->note_bezeichnung = $row->note_bezeichnung;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$obj->lehrveranstaltung_bezeichnung_english = $row->lehrveranstaltung_bezeichnung_english;
$obj->bemerkung = $row->bemerkung;
$obj->semesterstunden = $row->semesterstunden;
$obj->ects = $row->ects;
+24
View File
@@ -46,6 +46,22 @@
<!ENTITY menu-statistic-koordinatorstunden.label "Koordinatorstunden">
<!ENTITY menu-statistic-koordinatorstunden.accesskey "K">
<!ENTITY menu-statistic-lehre.key "L">
<!ENTITY menu-statistic-lehre.label "Lehre">
<!ENTITY menu-statistic-lehre.accesskey "L">
<!ENTITY menu-statistic-mitarbeiter.key "M">
<!ENTITY menu-statistic-mitarbeiter.label "Mitarbeiter">
<!ENTITY menu-statistic-mitarbeiter.accesskey "M">
<!ENTITY menu-statistic-student.key "S">
<!ENTITY menu-statistic-student.label "Student">
<!ENTITY menu-statistic-student.accesskey "S">
<!ENTITY menu-statistic-oehbeitraege.key "O">
<!ENTITY menu-statistic-oehbeitraege.label "OEH-Beitraege">
<!ENTITY menu-statistic-oehbeitraege.accesskey "O">
<!ENTITY menu-statistic-lehrauftraege.key "L">
<!ENTITY menu-statistic-lehrauftraege.label "Lehrauftraege">
<!ENTITY menu-statistic-lehrauftraege.accesskey "L">
@@ -164,6 +180,10 @@
<!ENTITY menu-dokumente-zeugnis.label "Zeugnis">
<!ENTITY menu-dokumente-zeugnis.accesskey "Z">
<!ENTITY menu-dokumente-zeugniseng.key "E">
<!ENTITY menu-dokumente-zeugniseng.label "Zeugnis Englisch">
<!ENTITY menu-dokumente-zeugniseng.accesskey "E">
<!ENTITY menu-dokumente-diplsupplement.key "S">
<!ENTITY menu-dokumente-diplsupplement.label "Diploma Supplement">
<!ENTITY menu-dokumente-diplsupplement.accesskey "S">
@@ -236,6 +256,10 @@
<!ENTITY menu-extras-preinteressentenuebernahme.label "Preinteressenten uebernehmen">
<!ENTITY menu-extras-preinteressentenuebernahme.accesskey "I">
<!ENTITY menu-extras-projektarbeitsabgaben.key "A">
<!ENTITY menu-extras-projektarbeitsabgaben.label "Projektarbeitstermine">
<!ENTITY menu-extras-projektarbeitsabgaben.accesskey "A">
<!-- BIS -->
<!ENTITY menu-bis.label "BIS">
<!ENTITY menu-bis.accesskey "I">
+12 -6
View File
@@ -108,7 +108,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml_fussnote='';
$projektarbeit=array();
$query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.bezeichnung, tbl_studentlehrverband.semester, tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, tbl_person.titelpost, tbl_studiensemester.bezeichnung as sembezeichnung, tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_student.student_uid = tbl_benutzer.uid and tbl_benutzer.person_id = tbl_person.person_id and tbl_student.student_uid = '".$uid_arr[$i]."' and tbl_studentlehrverband.student_uid=tbl_student.student_uid and tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz and tbl_studentlehrverband.studiensemester_kurzbz = '".$studiensemester_kurzbz."'";
$query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester, tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, tbl_person.titelpost, tbl_studiensemester.bezeichnung as sembezeichnung, tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_student.student_uid = tbl_benutzer.uid and tbl_benutzer.person_id = tbl_person.person_id and tbl_student.student_uid = '".$uid_arr[$i]."' and tbl_studentlehrverband.student_uid=tbl_student.student_uid and tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz and tbl_studentlehrverband.studiensemester_kurzbz = '".$studiensemester_kurzbz."'";
//echo $query;
if($result = pg_query($conn, $query))
{
@@ -166,14 +166,15 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= " <semester>".$row->semester."</semester>";
$xml .= " <semester_bezeichnung>".$bezeichnung."</semester_bezeichnung>";
$xml .= " <studiengang>".$row->bezeichnung."</studiengang>";
$xml .= " <studiengang_englisch>".$row->english."</studiengang_englisch>";
if($row->typ=='b')
$bezeichnung='Bachelor-Studiengang';
$bezeichnung='Bachelor';
elseif($row->typ=='m')
$bezeichnung='Master-Studiengang';
$bezeichnung='Master';
elseif($row->typ=='d')
$bezeichnung='Diplom-Studiengang';
$bezeichnung='Diplom';
else
$bezeichnung='Studiengang';
$bezeichnung='';
$studiengang_typ=$row->typ;
$semester = $row->semester;
@@ -187,7 +188,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= " <matrikelnr>".$row->matrikelnr."</matrikelnr>";
$xml .= " <studiengangsleiter>".$stgl_row->titelpre." ".$stgl_row->vorname." ".$stgl_row->nachname.($stgl_row->titelpost!=''?", ".$stgl_row->titelpost:'')."</studiengangsleiter>";
$datum_aktuell = date('d.m.Y');
$xml .= " <ort_datum>Wien, am ".$datum_aktuell."</ort_datum>";
$xml .= " <ort_datum>".$datum_aktuell."</ort_datum>";
$qry_proj = "SELECT lehrveranstaltung_id, titel, themenbereich, note FROM lehre.tbl_projektarbeit JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE student_uid='".$uid_arr[$i]."' AND studiensemester_kurzbz='$studiensemester_kurzbz' AND projekttyp_kurzbz in('Bachelor', 'Diplom')";
if($result_proj = pg_query($conn, $qry_proj))
@@ -240,6 +241,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
if(array_key_exists($row->lehrveranstaltung_id, $projektarbeit))
{
$bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten];
$bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten];
$xml_fussnote .="\n <fussnote>";
$xml_fussnote .=" <fussnotenzeichen>".$fussnotenzeichen[$anzahl_fussnoten]."</fussnotenzeichen>";
@@ -279,7 +281,10 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$anzahl_fussnoten++;
}
else
{
$bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma;
$bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma;
}
$bisio_von = '';
@@ -314,6 +319,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
$xml .= "\n <unterrichtsfach>";
$xml .= " <bezeichnung><![CDATA[".$bezeichnung."]]></bezeichnung>";
$xml .= " <bezeichnung_englisch><![CDATA[".$bezeichnung_englisch."]]></bezeichnung_englisch>";
$xml .= " <note>".$note2."</note>";
$xml .= " <sws>".($row->semesterstunden==0?'':sprintf('%.1f',$row->semesterstunden/$wochen))."</sws>";
$xml .= " <ects>".($row->ects==0 || $row->ects==''?'':number_format($row->ects,1))."</ects>";
+11 -1
View File
@@ -130,6 +130,8 @@ if(!$result = @pg_query($conn, "SELECT * FROM system.tbl_berechtigung LIMIT 1;")
CREATE INDEX idx_userberechtigung_uid ON system.tbl_benutzerrolle (uid);
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT pk_tbl_benutzerberechtigung PRIMARY KEY (benutzerberechtigung_id);
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_benutzer FOREIGN KEY (uid) REFERENCES public.tbl_benutzer (uid) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_funktion FOREIGN KEY (funktion_kurzbz) REFERENCES public.tbl_funktion (funktion_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE TABLE system.tbl_berechtigung
(
@@ -155,6 +157,14 @@ if(!$result = @pg_query($conn, "SELECT * FROM system.tbl_berechtigung LIMIT 1;")
WITH (OIDS=FALSE);
ALTER TABLE system.tbl_rolleberechtigung ADD CONSTRAINT pk_tbl_rolleberechtigung PRIMARY KEY (berechtigung_kurzbz,rolle_kurzbz);
ALTER TABLE system.tbl_rolleberechtigung ADD CONSTRAINT rolleberechtigung_berechtigung FOREIGN KEY (berechtigung_kurzbz) REFERENCES system.tbl_berechtigung (berechtigung_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_rolleberechtigung ADD CONSTRAINT rolleberechtigung_rolle FOREIGN KEY (rolle_kurzbz) REFERENCES system.tbl_rolle (rolle_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_rolle FOREIGN KEY (rolle_kurzbz) REFERENCES system.tbl_rolle (rolle_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_berechtigung FOREIGN KEY (berechtigung_kurzbz) REFERENCES system.tbl_berechtigung (berechtigung_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_organisationseinheit FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_studienseemster FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
GRANT SELECT ON system.tbl_benutzerrolle TO GROUP ".DB_CIS_USER_GROUP.";
GRANT SELECT ON system.tbl_berechtigung TO GROUP ".DB_CIS_USER_GROUP.";
@@ -170,7 +180,7 @@ if(!$result = @pg_query($conn, "SELECT * FROM system.tbl_berechtigung LIMIT 1;")
if(!pg_query($conn, $qry))
echo '<strong>system schema: '.pg_last_error($conn).' </strong><br>';
else
echo 'system schema: Berechtigunstabellen wurden hinzugefügt!<br>';
echo 'system schema: Berechtigungstabellen wurden hinzugefügt!<br>';
}
?>
+327
View File
@@ -0,0 +1,327 @@
<?xml version="1.0" encoding="ISO-8859-15"?>
<xsl:stylesheet version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" indent="yes"/>
<xsl:template match="zeugnisse">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master page-height="297mm" page-width="210mm" margin="5mm 25mm 5mm 25mm" master-name="PageMaster">
<fo:region-body margin="20mm 0mm 20mm 0mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<xsl:apply-templates select="zeugnis"/>
</fo:root>
</xsl:template>
<xsl:template match="zeugnis">
<fo:page-sequence master-reference="PageMaster">
<fo:flow flow-name="xsl-region-body">
<fo:block-container position="absolute" top="30mm" left="30mm" height="20mm">
<fo:block text-align="left" line-height="18pt" font-family="sans-serif" font-size="16pt">
<fo:inline font-weight="900">
<xsl:text>Transcript of Records \n </xsl:text>
<xsl:choose>
<xsl:when test="string-length(semester_bezeichnung)=0">
<xsl:value-of select="stsem"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="semester"/>
<xsl:choose>
<xsl:when test="semester=1">
<xsl:text>st</xsl:text>
</xsl:when>
<xsl:when test="semester=2">
<xsl:text>nd</xsl:text>
</xsl:when>
<xsl:when test="semester=3">
<xsl:text>rd</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>th</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text> Semester (</xsl:text>
<xsl:value-of select="stsem"/>
<xsl:text>)</xsl:text>
</xsl:otherwise>
</xsl:choose>
</fo:inline>
</fo:block>
</fo:block-container>
<fo:block-container position="absolute" top="47mm" left="31.5mm" height="20mm">
<fo:block text-align="left" line-height="18pt" font-family="sans-serif" font-size="16pt">
<xsl:value-of select="studiengang_art"/> Degree Program
</fo:block>
</fo:block-container>
<fo:block-container position="absolute" top="54mm" left="30mm" height="20mm">
<fo:block text-align="left" line-height="18pt" font-family="sans-serif" font-size="16pt">
<fo:inline font-weight="900">
<xsl:value-of select="studiengang_englisch"/>
</fo:inline>
</fo:block>
</fo:block-container>
<fo:block-container position="absolute" top="75mm" left="158mm">
<fo:block line-height="14pt" font-family="sans-serif" font-size="10pt">
<xsl:text>Student ID: </xsl:text>
</fo:block>
</fo:block-container>
<fo:block-container position="absolute" top="75mm" left="177mm">
<fo:block content-width="80mm" line-height="14pt" font-family="sans-serif" font-size="10pt" font-weight="bold">
<xsl:value-of select="matrikelnr" />
</fo:block>
</fo:block-container>
<fo:block-container position="absolute" top="80mm" left="164mm">
<fo:block line-height="14pt" font-family="sans-serif" font-size="10pt">
<xsl:text>Program Code: </xsl:text>
</fo:block>
</fo:block-container>
<fo:block-container position="absolute" top="80mm" left="189mm">
<fo:block content-width="80mm" line-height="14pt" font-family="sans-serif" font-size="10pt" font-weight="bold">
<xsl:value-of select="studiengang_kz" />
</fo:block>
</fo:block-container>
<fo:block-container position="absolute" top="100mm" left="30mm" height="10mm">
<fo:table table-layout="fixed" border-collapse="collapse">
<fo:table-column column-width="45mm"/>
<fo:table-column column-width="100mm"/>
<fo:table-body>
<fo:table-row line-height="15pt">
<fo:table-cell>
<fo:block font-family="sans-serif" font-size="10pt" content-width="45mm" text-align="left">
<xsl:text>First Name/Last Name: </xsl:text>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-family="sans-serif" font-size="12pt" content-width="100mm" text-align="left">
<fo:inline font-weight="900">
<xsl:value-of select="name"/>
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="15pt">
<fo:table-cell>
<fo:block font-family="sans-serif" font-size="10pt" content-width="45mm" text-align="left">
<xsl:text>Date of Birth: </xsl:text>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-family="sans-serif" font-size="10pt" content-width="45mm" text-align="left">
<xsl:text> </xsl:text>
<xsl:value-of select="gebdatum"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block-container>
<fo:block-container position="absolute" top="116mm" left="30mm">
<fo:table table-layout="fixed" border-collapse="collapse" border-width="0.2pt" border-style="solid">
<fo:table-column column-width="100mm"/>
<fo:table-column column-width="20mm"/>
<fo:table-column column-width="25mm"/>
<fo:table-column column-width="20mm"/>
<fo:table-body>
<fo:table-row line-height="14pt">
<fo:table-cell border-width="0.2mm" border-style="solid" display-align="center">
<fo:block font-size="12pt" font-weight="bold">
Subject
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" display-align="center">
<fo:block font-size="12pt" font-weight="bold" content-width="20mm" text-align="center">
Grade
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" display-align="center">
<fo:block font-size="10pt" font-weight="bold" content-width="25mm" text-align="center">
Hours/Week/ Semester
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" display-align="center">
<fo:block font-size="12pt" font-weight="bold" content-width="20mm" text-align="center">
ECTS Points
</fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:apply-templates select="unterrichtsfach"/>
<!--<fo:table-row line-height="0pt">
<fo:table-cell border-width="0.2mm" border-style="solid" ></fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" ></fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" ></fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" ></fo:table-cell>
</fo:table-row>-->
<xsl:apply-templates select="fussnote"/>
</fo:table-body>
</fo:table>
<fo:block font-size="7pt">\n</fo:block>
<fo:table>
<fo:table-column column-width="20mm"/>
<fo:table-column column-width="160mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block font-size="7pt">Grades: </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="7pt">excellent (1), very good (2), good (3), satisfactory (4), fail (5), not graded (nb), Credit based on previous experience/work (ar)</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block font-size="7pt"></fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="7pt">non-credit participation (na), participated(t), bestanden (b), approbiert (ap), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea)</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block-container>
<fo:block-container position="absolute" top="250mm" left="30mm" height="10mm">
<fo:table table-layout="fixed" border-collapse="collapse">
<fo:table-column column-width="75mm"/>
<fo:table-column column-width="15mm"/>
<fo:table-column column-width="75mm"/>
<fo:table-body>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block font-size="8pt" content-width="75mm" text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="10pt" content-width="75mm" text-align="center">
Vienna, <xsl:value-of select="ort_datum"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="8pt">
<fo:table-cell>
<fo:block font-size="8pt" font-weight="bold" content-width="75mm" text-align="center">
______________________________________
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block/>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="8pt" font-weight="bold" content-width="75mm" text-align="center">
______________________________________
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="10pt">
<fo:table-cell>
<fo:block font-size="8pt" content-width="75mm" text-align="center">
<xsl:value-of select="studiengangsleiter"/>
<xsl:text>\nDirector of Academic Degree Program</xsl:text>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="8pt" content-width="75mm" text-align="center">
Place, Date
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block-container>
<fo:block-container position="absolute" top="290mm" left="30mm" height="10mm">
<fo:table table-layout="fixed" border-collapse="collapse">
<fo:table-column column-width="185mm"/>
<fo:table-body>
<fo:table-row line-height="10pt" >
<fo:table-cell>
<fo:block font-size="8pt" content-width="185mm" text-align="left">
<xsl:text>Fachhochschule Technikum Wien, Hoechstaedtplatz 5, 1200 Vienna, AUSTRIA, ZVR-Nr.: 074476426, DVR-Nr.:0928381</xsl:text>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block-container>
</fo:flow>
</fo:page-sequence>
</xsl:template>
<xsl:template match="unterrichtsfach">
<fo:table-row line-height="12pt">
<fo:table-cell display-align="center" border-width="0.2mm" border-style="solid">
<fo:block font-size="10pt" content-width="85mm">
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="bisio_von">
Auslandsaufenthalt: <xsl:value-of select="bisio_von"/>-<xsl:value-of select="bisio_bis"/>, <xsl:value-of select="bisio_ort"/>, <xsl:value-of select="bisio_universitaet"/>
\n Die im Ausland absolvierten Lehrveranstaltungen werden für das <xsl:value-of select="../semester"/>. Semester des Studiums an der Fachhochschule Technikum Wien angerechnet (Details siehe Transcript of Records der Gasthochschule).
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="bezeichnung_englisch"/>
</xsl:otherwise>
</xsl:choose>
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" display-align="center">
<fo:block font-size="10pt" content-width="20mm" text-align="center">
<xsl:text> </xsl:text>
<xsl:value-of select="note"/>
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" display-align="center">
<fo:block font-size="10pt" content-width="25mm" text-align="center">
<xsl:text> </xsl:text>
<xsl:value-of select="sws"/>
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" display-align="center">
<fo:block font-size="10pt" content-width="20mm" text-align="center">
<xsl:text> </xsl:text>
<xsl:value-of select="ects"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
<xsl:template match="fussnote">
<fo:table-row line-height="11pt">
<fo:table-cell border-width="0.2mm" border-style="solid">
<fo:block font-size="9pt" content-width="58mm">
<xsl:value-of select="fussnotenzeichen"/>
<xsl:text> </xsl:text>
<fo:inline font-weight="bold">
<xsl:value-of select="themenbereich_bezeichnung"/>
<xsl:text> </xsl:text>
</fo:inline>
<xsl:value-of select="themenbereich"/>
<xsl:text> </xsl:text>
<fo:inline font-weight="bold">
<xsl:value-of select="titel_bezeichnung"/>
<xsl:text> </xsl:text>
</fo:inline>
<xsl:value-of select="titel"/>
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid">
<fo:block font-size="9pt" content-width="20mm" text-align="center">
<xsl:text> </xsl:text>
<xsl:value-of select="note"/>
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid">
<fo:block font-size="9pt" content-width="25mm" text-align="center">
<xsl:text> </xsl:text>
<xsl:value-of select="sws"/>
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid">
<fo:block font-size="9pt" content-width="20mm" text-align="center">
<xsl:text> </xsl:text>
<xsl:value-of select="ects"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
</xsl:stylesheet>