Lieferbedingungen zu Firma hinzugefügt

This commit is contained in:
Werner Masik
2016-07-28 11:56:43 +02:00
440 changed files with 45778 additions and 22005 deletions
+1
View File
@@ -7,3 +7,4 @@ documents/
.settings
.project
.buildpath
bin
-3
View File
@@ -1,6 +1,3 @@
[submodule "submodules/tablesorter"]
path = submodules/tablesorter
url = https://github.com/christianbach/tablesorter.git
[submodule "submodules/bootstrap"]
path = submodules/bootstrap
url = https://github.com/twbs/bootstrap.git
Executable
+68
View File
@@ -0,0 +1,68 @@
# Change Log
## [Unreleased]
### Added
- **[FAS]** Zusätzliches Feld für Uhrzeit bei Abschlussprüfung
- **[FAS]** Reihungstest Dropdown zeigt verfügbare/belegte Plätze an
- **[CORE]** Reihungstest Punkteübernahme oder Prozentpunkte ist konfigurierbar
- **[CIS]** LVPlan Export für Excel
- **[FAS]** Termine Karteireiter im FAS zeigt die Anmerkung aus dem LVPlan an
- **[CIS]** Onlinebewerbungstool greift auf mehrsprachige Statusbezeichnungen zu.
- **[CIS]** Config-Einträge für die Tabellenspalten beim Eintragen der Gesamtnote hinzugefügt.
- **[CIS]** Prüfungsverwaltung: Config-Eintrag hinzugefügt um die Accordion-Elemente ein- und auszublenden.
### Changed
- **[FAS]** Dokumente Menü im FAS neu sortiert um den Lebenszyklus des Studierenden abzubilden
- **[CORE]** LVPlan Update Mail ist nun zweisprachig Deutsch/Englisch
- **[FAS]** Prüfungen im FAS werden nur noch vom aktuell ausgewählten Studiensemester angezeigt. Umschalten auf volle Ansicht möglich
- **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben.
- **[CIS]** Im Menü 'Zeitsperren' Link zu Resturlaubsübersicht entfernt. Falls benötigt Verlinkung über CMS möglich.
- **[CORE]** Removed NOT NULL constraint on 'verfasser\_uid' from public.tbl\_notiz
- **[CIS]** Studienplanansicht: Wenn eine LV nicht benotet ist, aber eine kompatible LV mit vorhandener Anrechnung benotet ist wird diese Note angezeigt.
- **[FAS]** Die RDF-Schnittstelle für das Zeugnis prüft bei Anrechnungen ob, die ECTS-Punkte übereinstimmen und wählt bei ungleichen Werten jene der angerechneten LV.
- **[FAS]** Der Ausbildungsvertrag kann nun jederzeit erstellt werden, auch wenn eine Person noch kein Student ist. Wenn in der Vorlage des Ausbildungsvertrags ein Attribut des Studenten-Datensatzen (zB Personenkennzeichen) abgefragt wird und eine Person noch nicht Student ist, kann dieses nicht angedruckt werden und sollte aus der Vorlage entfernt werden.
### Updateinfo
- **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde.
- **[FAS]** Mehrsprachigkeitsspalte tbl_status.bezeichnung_mehrsprachig wird durch das Updatescript automatisch in den ersten beiden Sprachen mit der status_kurzbz vorbefüllt. Übersetzungen sind anzupassen.
## [3.1.0] - 2015-11-12
### Added
- **[FAS]** Bei Noten können zusätzlich Punkte gespeichert werden. Notenschlüssel für Gesamtnote kann hinterlegt werden
- **[FAS]** Anwesenheiten von Studierenden können erfasst werden
- **[FAS]** Vertragsverwaltung bei Mitarbeiter
- **[FAS]** Dokumente im FAS können mit SHIFT bzw STRG statt als PDF auch als DOC oder ODT erstellt werden
- **[BERECHTIGUNG]** system/changeoutputformat Legt fest ob Dokumente als DOC/ODT exportiert werden dürfen
- **[FAS]** Termine Karteireiter im FAS zeigt den LVPlan von Studierenden/Lehrveranstaltungen
- **[FAS]** Bereits verplante Lektoren können vom FAS aus, aus dem LVPlan gelöscht werden. Zusätzlich wird im FAS angezeigt ob dieser Lektor bereits verplant ist
- **[FAS]** Bereits verplante Gruppen können direkt vom FAS heraus aus dem LV-Plan gelöscht werden wenn diese bereits verplant wurden.
- **[TEMPUS]** Drop auf Lehrstunde Feature für 2 Gruppen die zur selben Zeit im gleichen Raum unterricht haben (Setzt UNR gleich damit es nicht als kollision angezeigt wird)
- **[TEMPUS]** Option zum Anzeigen von allen Einträgen damit auch Incominggruppen und Gruppen aus anderen Studiengängen sichtbar sind
- **[FAS]** Bei Notizen können jetzt zusätzlich Dokumente hochgeladen werden
- **[CORE]** Bei Dokumentenvorlagen können nun Style und content.xml auf einmal erfasst werden, Dokumente können deaktiviert werden, Eigene GUI im Vilesci zum Verwalten der Dokumentenvorlagen
- **[CORE]** Mehrsprachigkeit bei diversen Tabellen (Dokumente, ZGV, ...) hinzugefügt
### Fixed
- **[TEMPUS]** Kollisionsfreie User werden in Verbandsansicht nicht mehr als Kollision angezeigt
### Changed
- **[FAS]** Stundenobergrenze für Lektoren kann jetzt pro Organisationseinheit festgelegt werden. (warn_semesterstunden_frei/fix tbl_organisationseinheit)
- **[BERECHTIGUNG]** lv-plan/gruppenentfernen Lektorenänderung: Lektoren die bereits verplant sind können jetzt auch dann direkt im FAS geändert werden, wenn dadurch eine Kollision entsteht. Vorraussetzung dafür ist, dass ignore_kollision true ist. Wenn ignore_kollision false ist, dann ist die Lektorenänderung nicht mehr möglich. Vorher wurde der Lektor in diesem Fall nur im FAS geändert aber nicht im LVPlan.
- **[FAS]** Ausstellungsstaat der ZGV wird jetzt getrennt für Bachelor und Master erfasst
## [3.0.0] - 2015-02-13
### Added
- **[CORE]** Studienordnungen / Studienpläne
- **[CORE]** Module
- **[CIS]** CIS Redesign
- **[CORE]** Unterstützung für Addons
- **[FAS]** Notizsystem
### Fixed
- **[CORE]** Diverse Bugfixes
+3
View File
@@ -1,4 +1,7 @@
# FH-Complete
[![Build Status](http://phpci.fhcomplete.org/build-status/image/1)](http://phpci.fhcomplete.org/project/view/1)
* [FH-Complete Homepage](http://www.fhcomplete.org)
* [Wiki](http://fhcomplete.technikum-wien.at/dokuwiki/)
* [Changelog](CHANGELOG.md)
+44
View File
@@ -0,0 +1,44 @@
<?php
/* Copyright (C) 2015 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>
*/
/**
* Initialisierung des Addons
*/
?>
if(typeof addon =='undefined')
var addon=Array();
addon.push(
{
init: function(page, params)
{
// Diese Funktion wird nach dem Laden der Seite im CIS aufgerufen
/*
switch(page)
{
case 'cis/private/tools/zeitaufzeichnung.php':
break;
default:
break;
}
*/
}
});
+44
View File
@@ -0,0 +1,44 @@
<?php
/* Copyright (C) 2015 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>
*/
/**
* Initialisierung des Addons
*/
?>
if(typeof addon =='undefined')
var addon=Array();
addon.push(
{
init: function(page, params)
{
// Diese Funktion wird nach dem Laden der Seite im Vilesci aufgerufen
/*
switch(page)
{
case 'vilesci/lehre/lehrveranstaltung.php':
break;
default:
break;
}
*/
}
});
+1 -1
View File
@@ -119,4 +119,4 @@
}
?>
</body>
</html>
</html>
@@ -60,9 +60,9 @@
// Request Parameter
// ------------------------------------------------------------------------------------------
// Parameter Veranstaltungskategorie
$veranstaltungskategorie_kurzbz=trim((isset($_REQUEST['veranstaltungskategorie_kurzbz']) ? $_REQUEST['veranstaltungskategorie_kurzbz']:''));
$veranstaltungskategorie_kurzbz=trim((isset($_REQUEST['veranstaltungskategorie_kurzbz']) ? $_REQUEST['veranstaltungskategorie_kurzbz']:''));
// Parameter Veranstaltung
$veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:''));
$veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:''));
$work=trim((isset($_REQUEST['work']) ? $_REQUEST['work']:''));
// ------------------------------------------------------------------------------------------
@@ -78,7 +78,6 @@
$Jahresplan->freigabe=($is_wartungsberechtigt?false:true);
if ($work=='save')
{
$Jahresplan->new=false;
if (!isset($veranstaltung_id) || empty($veranstaltung_id) )
$Jahresplan->new=true;
@@ -88,22 +87,22 @@
$Jahresplan->veranstaltungskategorie_kurzbz=$_REQUEST["veranstaltungskategorie_kurzbz"];
$Jahresplan->beschreibung=$_REQUEST["beschreibung"];
$Jahresplan->inhalt=$_REQUEST["inhalt"];
$Jahresplan->start=date('Y-m-d H:i:s',$_REQUEST["start"]);
$Jahresplan->ende=date('Y-m-d H:i:s',$_REQUEST["ende"]);
$Jahresplan->insertamum=date('Y-m-d H:i:s');
$Jahresplan->insertvon=$user;
$Jahresplan->start=date('Y-m-d H:i:s',$_REQUEST["start"]);
$Jahresplan->ende=date('Y-m-d H:i:s',$_REQUEST["ende"]);
$Jahresplan->insertamum=date('Y-m-d H:i:s');
$Jahresplan->insertvon=$user;
$Jahresplan->updateamum=date('Y-m-d H:i:s');
$Jahresplan->updatevon=$user;
$Jahresplan->freigabeamum=(!empty($_REQUEST["freigabeamum"])?date('Y-m-d H:i:s',$_REQUEST["freigabeamum"]):null);
$Jahresplan->freigabevon=$_REQUEST["freigabevon"];
$Jahresplan->updatevon=$user;
$Jahresplan->freigabeamum=(!empty($_REQUEST["freigabeamum"])?date('Y-m-d H:i:s',$_REQUEST["freigabeamum"]):null);
$Jahresplan->freigabevon=$_REQUEST["freigabevon"];
if(!$veranstaltung=$Jahresplan->saveVeranstaltung())
{
$error='Fehler bei der '.($Jahresplan->new?' Neuanlage ':' &Auml;nderung ').' '.$Jahresplan->errormsg;
{
$error='Fehler bei der '.($Jahresplan->new?' Neuanlage ':' &Auml;nderung ').' '.$Jahresplan->errormsg;
}
else
{
@@ -117,7 +116,7 @@
}
}
-->
</script>
</script>
';
}
}
@@ -178,8 +177,10 @@
$veranstaltungen=jahresplan_funk_veranstaltung_extend($veranstaltungen);
while (list($key, $value) = each($veranstaltungen))
{
$veranstaltung[$key]=$value;
$veranstaltung[$key]=$value;
}
$veranstaltung["start_timestamp"] = strtotime($veranstaltung["start"]);
$veranstaltung["ende_timestamp"] = strtotime($veranstaltung["ende"]);
}
elseif (empty($work)) // Es gibt keine Veranstaltung oder Fehler beim Lesen - keine weitere Anzeige mehr moeglich
{
@@ -408,7 +409,7 @@
<td title="<?php echo $p->t("eventkalender/neuanlage")?> <?php echo date("d.m.Y",$veranstaltung['start_timestamp']);?>" class="cursor_hand" onclick="self.location.href='<?php echo $_SERVER['PHP_SELF'].'?start_timestamp='.(isset($veranstaltung['start_timestamp'])?$veranstaltung['start_timestamp']:$cTmpTimestampStart).'&amp;ende_timestamp='.(isset($veranstaltung['ende_timestamp'])?$veranstaltung['ende_timestamp']:$cTmpTimestampEnde) ;?>';" ><?php echo $p->t("eventkalender/neuanlage")?>&nbsp;<img border="0" alt="Neuanlage" src="../../../skin/images/date_add.png" ></td>
</tr>
</tr>
<tr>
<td><label for="veranstaltung_id"><?php echo $p->t("eventkalender/kategorie")?></label></td>
@@ -432,7 +433,7 @@
}
?>
</select></td>
</tr>
</tr>
<tr>
<td><label for="Datum1"><?php echo $p->t("eventkalender/datumVon")?></label></td>
<td>
@@ -443,21 +444,19 @@
<?php
$veranstaltung['start_zeit']=date("H:i",$veranstaltung['start_timestamp']);
$veranstaltung['start_zeit']=trim($veranstaltung['start_zeit']);
for ($timeIND=0;$timeIND<24;$timeIND++)
for ($i=0;$i<24;$i++)
{
$cTmpTime=$timeIND.':00';
echo '<option '. ($veranstaltung['start_zeit']==$cTmpTime || $veranstaltung['start_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':15';
echo '<option '. ($veranstaltung['start_zeit']==$cTmpTime || $veranstaltung['start_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':30';
echo '<option '. ($veranstaltung['start_zeit']==$cTmpTime || $veranstaltung['start_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':45';
echo '<option '. ($veranstaltung['start_zeit']==$cTmpTime || $veranstaltung['start_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
}
?>
for($j=0; $j <60; $j+=15)
{
$tmpTime = $i.":".(strlen($j)<2?'0'.$j:$j);
echo '<option '. ($veranstaltung['start_zeit']==$tmpTime || $veranstaltung['start_zeit']=='0'.$tmpTime?'selected="selected"':'') .' value="'.(strlen($tmpTime)==4?'0'.$tmpTime:$tmpTime).'">'.$tmpTime.'</option>';
}
}
?>
</select>
</td>
</tr>
</td>
</tr>
<tr>
@@ -470,19 +469,17 @@
<?php
$veranstaltung['ende_zeit']=date("H:i",$veranstaltung['ende_timestamp']);
$veranstaltung['ende_zeit']=trim($veranstaltung['ende_zeit']);
for ($timeIND=0;$timeIND<24;$timeIND++)
for ($i=0;$i<24;$i++)
{
$cTmpTime=$timeIND.':00';
echo '<option '. ($veranstaltung['ende_zeit']==$cTmpTime || $veranstaltung['ende_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':15';
echo '<option '. ($veranstaltung['ende_zeit']==$cTmpTime || $veranstaltung['ende_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':30';
echo '<option '. ($veranstaltung['ende_zeit']==$cTmpTime || $veranstaltung['ende_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
$cTmpTime=$timeIND.':45';
echo '<option '. ($veranstaltung['ende_zeit']==$cTmpTime || $veranstaltung['ende_zeit']=='0'.$cTmpTime?'selected="selected"':'') .' value="'.(strlen($cTmpTime)==4?'0'.$cTmpTime:$cTmpTime).'">'.$cTmpTime.'</option>';
}
?>
</select>
for($j=0; $j <60; $j+=15)
{
$tmpTime = $i.":".(strlen($j)<2?'0'.$j:$j);
echo '<option '. ($veranstaltung['ende_zeit']==$tmpTime || $veranstaltung['ende_zeit']=='0'.$tmpTime?'selected="selected"':'') .' value="'.(strlen($tmpTime)==4?'0'.$tmpTime:$tmpTime).'">'.$tmpTime.'</option>';
}
}
?>
</select>
&nbsp;<?php echo $p->t("eventkalender/ganztaegigeVeranstaltung")?>
&nbsp;<input <?php echo ( ($veranstaltung['start_zeit']=='00:00' && $veranstaltung['ende_zeit']=='23:45')?' checked="checked" ':'' ); ?> type="checkbox" value="1" onclick="if (this.checked!=false) {window.document.selVeranstaltung.Zeit1.options.selectedIndex=0;window.document.selVeranstaltung.Zeit2.options.selectedIndex=(window.document.selVeranstaltung.Zeit2.options.length - 1); }; var time_stamp=TimestampDatumZeit(window.document.selVeranstaltung.Datum1.value,window.document.selVeranstaltung.Zeit1.value); if (time_stamp) {window.document.selVeranstaltung.start.value=time_stamp; }; time_stamp=TimestampDatumZeit(window.document.selVeranstaltung.Datum2.value,window.document.selVeranstaltung.Zeit2.value); if (time_stamp) {window.document.selVeranstaltung.ende.value=time_stamp; };" name="tmpGanztag" >
</td>
@@ -563,6 +560,6 @@
{
echo '<hr><span class="footer_zeile">'.$p->t("eventkalender/reservierungenKoennenErstNachDemSpeichernZugeordnetWerden").'.</span>';
}
?>
?>
</body>
</html>
+9
View File
@@ -33,11 +33,20 @@ require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
$getuid=get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($getuid);
if (isset($_GET['user']))
{
if ($rechte->isBerechtigt('admin',null,'suid'))
$getuid = $_GET['user'];
}
$sprache = getSprache();
@@ -76,6 +76,13 @@ $stg_arr = array();
$error = false;
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if (isset($_GET['user']))
{
if ($rechte->isBerechtigt('admin',null,'suid'))
$user = $_GET['user'];
}
$htmlstr='';
if(!check_lektor($user))
+210 -79
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/* Copyright (C) 2015 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
@@ -15,91 +15,222 @@
* 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 >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Authors: Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
/**
* anwesenheitsliste.pdf.php
*
* Erstellt eine Anwesenheitsliste im PDF-Format
*
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/dokument_export.class.php');
require_once('../../../include/lehrveranstaltung.class.php');
require_once('../../../include/lehreinheitgruppe.class.php');
require_once('../../../include/lehreinheit.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/lehreinheitmitarbeiter.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/erhalter.class.php');
require_once('../../../config/cis.config.inc.php');
// ------------------------------------------------------------------------------------------
// Datenbankanbindung
// ------------------------------------------------------------------------------------------
require_once('../../../include/basis_db.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
// Pfad zu fpdf
define('FPDF_FONTPATH','../../../include/pdf/font/');
// library einbinden
require_once('../../../include/pdf/fpdf.php');
require_once('../../../include/person.class.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/lehrveranstaltung.class.php');
require_once('../../../include/pdf.inc.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
//Uebergabeparameter abpruefen
if(isset($_GET['stg'])) //Studiengang
{
if(is_numeric($_GET['stg']))
$stg=$_GET['stg'];
else
die('Fehler bei der Parameteruebergabe');
}
else
$stg='';
if(isset($_GET['sem'])) //Semester
{
if(is_numeric($_GET['sem']))
$sem=$_GET['sem'];
else
die('Fehler bei der Parameteruebergabe');
}
else
$sem='';
if(isset($_GET['verband'])) //Verband
$verband=$_GET['verband'];
else
$verband='';
if(isset($_GET['gruppe'])) //Gruppe
$gruppe=$_GET['gruppe'];
else
$gruppe='';
if(isset($_GET['gruppe_kurzbz'])) //Einheit
$gruppe_kurzbz = $_GET['gruppe_kurzbz'];
else
$gruppe_kurzbz='';
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
$lvid = $_GET['lvid'];
else
die('Fehler bei der Parameteruebergabe');
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
die('Studiensemester wurde nicht uebergeben');
$user=get_uid();
$lehreinheit_id = (isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:'');
/**
* liefert den groesseren der beiden werte
*
*/
function getmax($val1,$val2)
$berechtigung = new benutzerberechtigung();
$berechtigung->getBerechtigungen($user);
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
$lvid = $_GET['lvid'];
else
die('Eine gueltige LvID muss uebergeben werden');
if(isset($_GET['stsem']))
$studiensemester = $_GET['stsem'];
else
die('Eine Studiensemester muss uebergeben werden');
if(!$berechtigung->isBerechtigt('admin') && !$berechtigung->isBerechtigt('assistenz') && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester))
die('Sie muessen LektorIn der LV oder Admin sein, um diese Seite aufrufen zu koennen');
$output='pdf';
if(isset($_GET['output']) && ($output='odt' || $output='doc'))
$output=$_GET['output'];
isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL;
isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL;
$lv = new lehrveranstaltung();
$lv->load($lvid);
$doc = new dokument_export('Anwesenheitslist');
// Teilnehmende Gruppen laden
$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz)
UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
semester,
verband,
gruppe,
gruppe_kurzbz
FROM campus.vw_lehreinheit
WHERE lehrveranstaltung_id='".addslashes($lvid)."'
AND studiensemester_kurzbz='".addslashes($studiensemester)."'";
if($lehreinheit!='')
$qry.=" AND lehreinheit_id='".addslashes($lehreinheit)."'";
$gruppen_string = '';
if($result = $db->db_query($qry))
{
return ($val1>$val2)?$val1:$val2;
while($row = $db->db_fetch_object($result))
{
if($gruppen_string!='')
$gruppen_string.=', ';
if($row->gruppe_kurzbz=='')
$gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe);
else
$gruppen_string.=$row->gruppe_kurzbz;
}
}
require_once('../../../include/'.EXT_FKT_PATH.'/anwesenheitsliste.inc.php');
$stg = new studiengang();
$stg->load($lv->studiengang_kz);
$studiengang_bezeichnung=$stg->bezeichnung;
$stg->getAllTypes();
$data = array(
'gruppen'=>$gruppen_string,
'bezeichnung'=>$lv->bezeichnung,
'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id,
'studiengang'=>$studiengang_bezeichnung,
'studiengang_kz'=>$lv->studiengang_kz,
'typ'=>$stg->studiengang_typ_arr[$stg->typ],
'ects'=>$lv->ects,
'sprache'=>$lv->sprache,
'studiensemester'=>$studiensemester,
'semester'=>$lv->semester,
'orgform'=>$lv->orgform_kurzbz,
);
//Lehrende der LV laden und in ein Array schreiben
$lehrende = new lehreinheitmitarbeiter();
$lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit);
if (isset($lehrende->result))
{
foreach($lehrende->result AS $row)
$data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname));
}
//Studierende der LV laden und in ein Array schreiben
$qry = "SELECT
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr,
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student,
tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr
FROM
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($studiensemester)."'";
if($lehreinheit!='')
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit)."'";
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
$stsem_obj = new studiensemester();
$stsem_obj->load($studiensemester);
$stsemdatumvon = $stsem_obj->start;
$stsemdatumbis = $stsem_obj->ende;
$erhalter = new erhalter();
$erhalter->getAll();
$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW)
$anzahl_studierende = 0;
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
if($row->status!='Abbrecher' && $row->status!='Unterbrecher')
{
$anzahl_studierende++;
if($row->status=='Incoming') //Incoming
$zusatz='(i)';
else
$zusatz='';
if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing
$zusatz.='(o)';
if($row->note==6) //angerechnet
$zusatz.='(ar)';
if($row->mitarbeiter_uid!='') //mitarbeiter
$zusatz.='(ma)';
if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende
$zusatz.='(a.o.)';
$data[]=array('student'=>array(
'vorname'=>$row->vorname,
'nachname'=>$row->nachname,
'personenkennzeichen'=>trim($row->matrikelnr),
'matr_nr'=>$row->matr_nr,
'semester'=>$row->semester,
'verband'=>trim($row->verband),
'gruppe'=>trim($row->gruppe),
'zusatz'=>$zusatz
));
}
}
//Anzahl Studierende in Array $data (an erster Stelle) einfuegen
$data = array_reverse($data, true);
$data['anzahl_studierende'] = $anzahl_studierende;
$data = array_reverse($data, true);
}
//var_dump($data);
//$files=array();
/*
foreach($codes_obj->result as $code)
{
$filename='/tmp/fhc_lveval_code'.$code->lvevaluierung_code_id.'.png';
$files[]=$filename;
// QRCode ertellen und speichern
QRcode::png($url_detail.'?code='.$code->code, $filename);
// QRCode zu Dokument hinzufuegen
$doc->addImage($filename, $code->lvevaluierung_code_id.'.png', 'image/png');
$data[]=array('code'=>array('lvevaluierung_code_id'=>$code->lvevaluierung_code_id,'code'=>$code->code));
}*/
$doc->addDataArray($data,'anwesenheitsliste');
//header("Content-type: application/xhtml+xml");
//echo $doc->ConvertArrayToXML($data,'anwesenheitsliste');
//exit;
if(!$doc->create($output))
die($doc->errormsg);
$doc->output();
$doc->close();
/*
// QR Codes aus Temp Ordner entfernen
foreach($files as $file)
unlink($file);
*/
?>
+5 -1
View File
@@ -99,5 +99,9 @@ function getmax($val1,$val2)
return ($val1>$val2)?$val1:$val2;
}
require_once('../../../include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php');
if (file_exists('../../../addons/sfu-milano/include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php'))
require_once('../../../addons/sfu-milano/include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php');
else
require_once('../../../include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php');
?>
@@ -18,7 +18,7 @@
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
*/
/**
*
*
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
@@ -44,5 +44,5 @@ switch($work)
$note = $notenschluessel->getNote($punkte, $lehrveranstaltung_id, $studiensemester_kurzbz);
echo $note;
exit;
}
?>
}
?>
@@ -131,7 +131,8 @@ echo '<!DOCTYPE HTML>
</style>
<script language="JavaScript" type="text/javascript">
var notenrequests=0;
var notenrequests_arr=Array();
var noten_array=Array();
';
@@ -253,7 +254,7 @@ foreach($noten_obj->result as $row)
{
if(typeof(typ)=='undefined')
typ = 'Termin2';
var str = "<form name='nachpruefung_form'><center><table style='width:95%'><tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
var str = "<form name='nachpruefung_form'><table style='width:95%'><tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
var anlegendiv = document.getElementById("nachpruefung_div");
var y = getOffset('y');
@@ -290,8 +291,8 @@ foreach($noten_obj->result as $row)
}
echo '</select></td>';
?>';
str += "</tr><tr><td colspan='2' align='center'><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();'></td></tr>";
str += "</table></center></form>";
str += "</tr><tr><td colspan='2' align='center'><input id='pruefungsnotensave' type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();'></td></tr>";
str += "</table></form>";
anlegendiv.innerHTML = str;
anlegendiv.style.visibility = "visible";
$('#pruefungsdatum').datepicker();
@@ -411,6 +412,10 @@ foreach($noten_obj->result as $row)
// Request absetzen und Note zu den Punkten holen
if(punkte!='')
{
if(typeof(notenrequests_arr[idx])=='undefined')
notenrequests_arr[idx]=0;
notenrequests_arr[idx]=notenrequests_arr[idx]+1;
$('#button-note-save-'+idx).prop('disabled',true);
$.ajax({
type:"POST",
url:"lvgesamtnote_worker.php",
@@ -422,14 +427,21 @@ foreach($noten_obj->result as $row)
success:function(result)
{
note=result;
notenrequests_arr[idx]=notenrequests_arr[idx]-1;
var notendropdown = $('#dropdown-note-'+idx);
notendropdown.val(note);
notendropdown.prop('disabled',true);
if(notenrequests_arr[idx]==0)
{
$('#button-note-save-'+idx).prop('disabled',false);
}
},
error:function(result)
{
alert('Noten ermittlung fehlgeschlagen');
notenrequests_arr[idx]=notenrequests_arr[idx]-1;
alert('Notenermittlung fehlgeschlagen');
}
});
}
@@ -452,6 +464,8 @@ foreach($noten_obj->result as $row)
// Request absetzen und Note zu den Punkten holen
if(punkte!='')
{
notenrequests = notenrequests+1;
$('#pruefungsnotensave').prop('disabled',true);
$.ajax({
type:"POST",
url:"lvgesamtnote_worker.php",
@@ -462,14 +476,21 @@ foreach($noten_obj->result as $row)
},
success:function(result)
{
notenrequests = notenrequests-1;
note=result;
var notendropdown = $('#pruefungnoteselect');
notendropdown.val(note);
notendropdown.prop('disabled',true);
if(notenrequests==0)
$('#pruefungsnotensave').prop('disabled',false);
},
error:function(result)
{
notenrequests = notenrequests-1;
if(notenrequests==0)
$('#pruefungsnotensave').prop('disabled',false);
alert('Noten ermittlung fehlgeschlagen');
}
});
@@ -673,7 +694,8 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1))
{
$studlist.="<td><b>".$p->t('benotungstool/punkte')."</b></td>\n";
}
$studlist.="<td><b>".$p->t('benotungstool/note')."</b></td></tr>\n";
$studlist.="<td><b>".$p->t('benotungstool/note')."</b></td>\n";
$studlist.="<td><b>".$p->t('benotungstool/bearbeitetvon')."</b></td></tr>\n";
// studentenquery
$qry_stud = "SELECT
@@ -705,7 +727,8 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1))
{
$studlist.="<td>".($lvgesamtnote->punkte!=''?trim(number_format($lvgesamtnote->punkte,2)):'')."</td>\n";
}
$studlist.="<td>".$noten_array[trim($lvgesamtnote->note)]['bezeichnung']."</td></tr>\n";
$studlist.="<td>".$noten_array[trim($lvgesamtnote->note)]['bezeichnung']."</td>";
$studlist.="<td>".$lvgesamtnote->mitarbeiter_uid.($lvgesamtnote->updatevon!=''?" (".$lvgesamtnote->updatevon.")":'')."</td></tr>\n";
$neuenoten++;
}
}
@@ -733,7 +756,15 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1))
$freigeber = "<b>".mb_strtoupper($user)."</b>";
$mail = new mail($adressen, 'vilesci@'.DOMAIN, 'Notenfreigabe '.$lv->bezeichnung." ".$lv->orgform_kurzbz.' - '.$studienplan_bezeichnung,'');
$htmlcontent="<html><body><b>".$sg->kuerzel.' '.$lv->semester.'.Semester '.$lv->bezeichnung." ".$lv->orgform_kurzbz." - ".$stsem."</b> (".$lv->semester.". Sem.) <br><br>".$p->t('global/benutzer')." ".$freigeber." (".$mit->kurzbz.") ".$p->t('benotungstool/hatDieLvNotenFuerFolgendeStudenten').":<br><br>\n".$studlist."<br>".$p->t('abgabetool/mailVerschicktAn').": ".$adressen."</body></html>";
$htmlcontent="<html>
<body>
<b>".$sg->kuerzel.' '.$lv->semester.'.Semester '.$lv->bezeichnung." ".$lv->orgform_kurzbz." - ".$stsem."</b>
(".$lv->semester.". Sem.)
<br><br>".$p->t('global/benutzer')." ".$freigeber." (".$mit->kurzbz.") ".$p->t('benotungstool/hatDieLvNotenFuerFolgendeStudenten').":
<br><br>\n".$studlist."
<br>Anzahl der Noten:".$neuenoten."
<br>".$p->t('abgabetool/mailVerschicktAn').": ".$adressen."
</body></html>";
$mail->setHTMLContent($htmlcontent);
$mail->setReplyTo($lektor_adresse);
$mail->send();
@@ -809,9 +840,15 @@ echo "
<th></th>
<th>".$p->t('global/uid')."</th>
<th>".$p->t('global/nachname')."</th>
<th>".$p->t('global/vorname')."</th>
<th>".($grade_from_moodle?''.$p->t('benotungstool/moodleNote').'':''.$p->t('benotungstool/leNoten').' (LE-ID)')."</th>
<th>".$p->t('benotungstool/punkte').' / '.$p->t('benotungstool/note')."</th>
<th>".$p->t('global/vorname')."</th>";
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
{
echo "<th>".($grade_from_moodle?''.$p->t('benotungstool/moodleNote').'':''.$p->t('benotungstool/leNoten').' (LE-ID)')."</th>";
}
echo "<th>".$p->t('benotungstool/punkte').' / '.$p->t('benotungstool/note')."</th>
<th rowspan=2>".$p->t('benotungstool/lvNote')."<br>
<input type='button' onclick='GradeImport()' value='".$p->t('benotungstool/importieren')."'>
</th>
@@ -822,26 +859,38 @@ echo "
<br><input type='submit' name='frei' value='Freigabe'>
</form>
</th>
<th>".$p->t('benotungstool/zeugnisnote')."</th>
<th colspan='2'>".$p->t('benotungstool/nachpruefung')."</th>";
<th>".$p->t('benotungstool/zeugnisnote')."</th>";
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
{
echo "<th colspan='2'>".$p->t('benotungstool/nachpruefung')."</th>";
}
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
echo "<th colspan='2' nowrap>".$p->t('benotungstool/nachpruefung2')."</th>";
}
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
{
echo "<th colspan='2'>".$p->t('benotungstool/kommissionellePruefung')."</th>";
}
echo "
<th colspan='2'>".$p->t('benotungstool/kommissionellePruefung')."</th>
</tr>
<tr>
<th colspan='9'>&nbsp;</th>
<th colspan='2'>
<table>
<tr>
<td class='td_datum'>".$p->t('global/datum')."</td>
<td class='td_note'>".$p->t('benotungstool/note')."</td>
<td></td>
</tr>
</table>
</th>";
<th colspan='9'>&nbsp;</th>";
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
{
echo "<th colspan='2'>
<table>
<tr>
<td class='td_datum'>".$p->t('global/datum')."</td>
<td class='td_note'>".$p->t('benotungstool/note')."</td>
<td></td>
</tr>
</table>
</th>";
}
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
echo "<th colspan='2'>
@@ -854,66 +903,73 @@ echo "
</table>
</th>";
}
echo "
<th colspan='2'>
<table>
<tr>
<td class='td_datum'>".$p->t('global/datum')."</td>
<td class='td_note'>".$p->t('benotungstool/note')."</td>
<td></td>
</tr>
</table>
</th>
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
{
echo "
<th colspan='2'>
<table>
<tr>
<td class='td_datum'>".$p->t('global/datum')."</td>
<td class='td_note'>".$p->t('benotungstool/note')."</td>
<td></td>
</tr>
</table>
</th>";
}
echo "
</tr>
";
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
{
if($grade_from_moodle)
{
flush();
ob_flush();
if($grade_from_moodle)
{
flush();
ob_flush();
$moodle24 = new moodle24_course();
$moodle24->loadNoten($lvid, $stsem);
$moodle24 = new moodle24_course();
$moodle24->loadNoten($lvid, $stsem);
$moodle24_course_bezeichnung=array();
$moodle24_course_bezeichnung=array();
if(count($moodle24->result)>0)
{
// Bezeichnungen der Moodlekurse laden
foreach($moodle24->result as $obj)
{
if(!isset($moodle24_course_bezeichnung[$obj->mdl_course_id]))
{
$moodle24course = new moodle24_course();
$moodle24course->load($obj->mdl_course_id);
if(count($moodle24->result)>0)
{
// Bezeichnungen der Moodlekurse laden
foreach($moodle24->result as $obj)
{
if(!isset($moodle24_course_bezeichnung[$obj->mdl_course_id]))
{
$moodle24course = new moodle24_course();
$moodle24course->load($obj->mdl_course_id);
$moodle24_course_bezeichnung[$obj->mdl_course_id]=$moodle24course->mdl_shortname;
}
$moodle24_course_bezeichnung[$obj->mdl_course_id]=$moodle24course->mdl_shortname;
}
if(!isset($moodle24_course_gewicht[$obj->mdl_course_id]))
{
$mdl_obj = new moodle24_course();
$mdl_lehreinheiten=$mdl_obj->getLeFromCourse($obj->mdl_course_id);
if(!isset($moodle24_course_gewicht[$obj->mdl_course_id]))
{
$mdl_obj = new moodle24_course();
$mdl_lehreinheiten=$mdl_obj->getLeFromCourse($obj->mdl_course_id);
foreach($mdl_lehreinheiten as $row_mdl_lehreinheit)
{
if($row_mdl_lehreinheit!='')
{
$lehreinheit_gewicht_obj = new lehreinheit();
$lehreinheit_gewicht_obj->load($row_mdl_lehreinheit);
foreach($mdl_lehreinheiten as $row_mdl_lehreinheit)
{
if($row_mdl_lehreinheit!='')
{
$lehreinheit_gewicht_obj = new lehreinheit();
$lehreinheit_gewicht_obj->load($row_mdl_lehreinheit);
if($lehreinheit_gewicht_obj->gewicht!='')
{
$moodle24_course_gewicht[$obj->mdl_course_id]=$lehreinheit_gewicht_obj->gewicht;
break;
}
}
}
}
}
}
}
if($lehreinheit_gewicht_obj->gewicht!='')
{
$moodle24_course_gewicht[$obj->mdl_course_id]=$lehreinheit_gewicht_obj->gewicht;
break;
}
}
}
}
}
}
}
}
// studentenquery
$qry_stud = "SELECT
@@ -947,165 +1003,168 @@ echo "
$note_le_gewichtet=0;
$gewichtsumme=0;
$note=0;
if($grade_from_moodle)
{
//Moodle 1.9
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
{
if($grade_from_moodle)
{
//Moodle 1.9
// Alle Moodlekursdaten zu Lehreinheit und Semester lesen wenn noch nicht belegt.
if (is_null($mdldaten) && defined('CONN_STRING_MOODLE'))
{
//Noten aus Moodle
if (!isset($moodle_course))
$moodle_course = new moodle19_course();
// Alle Moodlekursdaten zu Lehreinheit und Semester lesen wenn noch nicht belegt.
if (is_null($mdldaten) && defined('CONN_STRING_MOODLE'))
{
//Noten aus Moodle
if (!isset($moodle_course))
$moodle_course = new moodle19_course();
if (!$mdldaten = $moodle_course->loadNoten($lvid, $stsem, '', true,$debg))
$mdldaten='';
}
// Verarbeitet die Kursdaten
if (!is_null($mdldaten) && is_array($mdldaten))
{
reset($mdldaten);
$title="";
$mdl_shortname='';
for ($imdldaten=0;$imdldaten<count($mdldaten) ;$imdldaten++)
{
if (!$mdldaten = $moodle_course->loadNoten($lvid, $stsem, '', true,$debg))
$mdldaten='';
}
// Verarbeitet die Kursdaten
if (!is_null($mdldaten) && is_array($mdldaten))
{
reset($mdldaten);
$title="";
$mdl_shortname='';
for ($imdldaten=0;$imdldaten<count($mdldaten) ;$imdldaten++)
{
$mdldata=$mdldaten[$imdldaten]->result;
$kursArr=(isset($mdldata[2])?$mdldata[2]:array());
$kursasObj=(isset($mdldata[3])?$mdldata[3]:array());
$kursname=(isset($mdldata[7])?$mdldata[7]:'');
$shortname=(isset($mdldata[8])?$mdldata[8]:'');
$mdldata=$mdldaten[$imdldaten]->result;
$kursArr=(isset($mdldata[2])?$mdldata[2]:array());
$kursasObj=(isset($mdldata[3])?$mdldata[3]:array());
$kursname=(isset($mdldata[7])?$mdldata[7]:'');
$shortname=(isset($mdldata[8])?$mdldata[8]:'');
$note=0;
$userGef=false;
$note=0;
$userGef=false;
reset($kursArr);
for ($iKurs=0;$iKurs<count($kursArr) ;$iKurs++)
{
if (isset($kursArr[$iKurs]) && isset($kursArr[$iKurs][2]) && isset($kursArr[$iKurs][6]) && strtolower(trim($row_stud->uid))==strtolower(trim($kursArr[$iKurs][2])) )
{
$note=trim($kursArr[$iKurs][6]);
$userGef=true;
reset($kursArr);
for ($iKurs=0;$iKurs<count($kursArr) ;$iKurs++)
{
if (isset($kursArr[$iKurs]) && isset($kursArr[$iKurs][2]) && isset($kursArr[$iKurs][6]) && strtolower(trim($row_stud->uid))==strtolower(trim($kursArr[$iKurs][2])) )
{
$note=trim($kursArr[$iKurs][6]);
$userGef=true;
if (is_numeric($note) || $debg)
{
if (is_numeric($note))
{
$note_le += $note;
$note_le_gewichtet +=$note*$gewichtung;
$gewichtsumme+=$gewichtung;
$le_anz += 1;
}
if ($note == 5)
$leneg = " style='color:red; font-weight:bold'";
else
$leneg = " style='font-weight:bold'";
if (is_numeric($note) || $debg)
{
if (is_numeric($note))
{
$note_le += $note;
$note_le_gewichtet +=$note*$gewichtung;
$gewichtsumme+=$gewichtung;
$le_anz += 1;
}
if ($note == 5)
$leneg = " style='color:red; font-weight:bold'";
else
$leneg = " style='font-weight:bold'";
$mdl_shortname=$mdldaten[$imdldaten]->mdl_shortname;
$title="\r\nMoodle 1.9 KursID: ".$mdldaten[$imdldaten]->mdl_course_id ."\r\n\r\n".$kursname.', '.$mdl_shortname."\r\n";
foreach ($kursasObj[$iKurs] as $key => $value)
{
$title.=$key."=>".$value."\r\n";
}
$mdl_shortname=$mdldaten[$imdldaten]->mdl_shortname;
$title="\r\nMoodle 1.9 KursID: ".$mdldaten[$imdldaten]->mdl_course_id ."\r\n\r\n".$kursname.', '.$mdl_shortname."\r\n";
foreach ($kursasObj[$iKurs] as $key => $value)
{
$title.=$key."=>".$value."\r\n";
}
$note_les_str .= "<span ".$leneg.">".$note."</span> <span title='".$title."' style='font-size:10px'>(".$mdl_shortname.")</span> ";
}
} // ende If Richtiger User
$note_les_str .= "<span ".$leneg.">".$note."</span> <span title='".$title."' style='font-size:10px'>(".$mdl_shortname.")</span> ";
}
} // ende If Richtiger User
if ($userGef)
{
$iKurs=count($kursArr)+1; // diesen USER for beenden - user wurde gefunden
}
if ($userGef)
{
$iKurs=count($kursArr)+1; // diesen USER for beenden - user wurde gefunden
}
} // ende Kursschleife
} // MoodleKurse abarbeiten
} // ende Kursschleife
} // MoodleKurse abarbeiten
#echo "<p><h1> $title Anzahl Noten gef. $le_anz $note_le </h1></p>";
}
else
{
if(defined('CONN_STRING_MOODLE'))
{
//den Error nur einmal anzeigen und nicht fuer jeden Studenten
$moodle_course->errormsg=trim($moodle_course->errormsg);
if(!$errorshown && !empty($moodle_course->errormsg) )
{
//echo '<br><b>'.$moodle_course->errormsg.'</b><br>';
$errorshown=true;
}
}
}
#echo "<p><h1> $title Anzahl Noten gef. $le_anz $note_le </h1></p>";
}
else
{
if(defined('CONN_STRING_MOODLE'))
{
//den Error nur einmal anzeigen und nicht fuer jeden Studenten
$moodle_course->errormsg=trim($moodle_course->errormsg);
if(!$errorshown && !empty($moodle_course->errormsg) )
{
//echo '<br><b>'.$moodle_course->errormsg.'</b><br>';
$errorshown=true;
}
}
}
// Moodle 2.4
if(isset($moodle24) && count($moodle24->result)>0)
{
foreach($moodle24->result as $moodle24_noten)
{
if($moodle24_noten->uid==$row_stud->uid)
{
$gewichtung=1;
$note_le+=$moodle24_noten->note;
if(isset($moodle24_course_gewicht[$moodle24_noten->mdl_course_id]))
$gewichtung=$moodle24_course_gewicht[$moodle24_noten->mdl_course_id];
// Moodle 2.4
if(isset($moodle24) && count($moodle24->result)>0)
{
foreach($moodle24->result as $moodle24_noten)
{
if($moodle24_noten->uid==$row_stud->uid)
{
$gewichtung=1;
$note_le+=$moodle24_noten->note;
if(isset($moodle24_course_gewicht[$moodle24_noten->mdl_course_id]))
$gewichtung=$moodle24_course_gewicht[$moodle24_noten->mdl_course_id];
if($gewichtung=='')
$gewichtung=1;
$note_le_gewichtet+=$moodle24_noten->note*$gewichtung;
$gewichtsumme+=$gewichtung;
$le_anz+=1;
//if ($moodle24_noten->note == 5)
// $leneg = " style='color:red; font-weight:bold'";
//else
$leneg = ' style="font-weight: bold;"';
$title="Moodle KursID: ".$moodle24_noten->mdl_course_id.
"\nKursbezeichnung: ".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].
"\nUser: ".$moodle24_noten->uid.
"\nNote: ".$moodle24_noten->note;
if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG)
$title.="\nGewichtung: ".$gewichtung;
$note_les_str .= "<br><span".$leneg.">".$moodle24_noten->note."</span><span title='".$title."' style='font-size:10px'> (".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].")</span> ";
if($gewichtung=='')
$gewichtung=1;
$note_le_gewichtet+=$moodle24_noten->note*$gewichtung;
$gewichtsumme+=$gewichtung;
$le_anz+=1;
//if ($moodle24_noten->note == 5)
// $leneg = " style='color:red; font-weight:bold'";
//else
$leneg = ' style="font-weight: bold;"';
$title="Moodle KursID: ".$moodle24_noten->mdl_course_id.
"\nKursbezeichnung: ".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].
"\nUser: ".$moodle24_noten->uid.
"\nNote: ".$moodle24_noten->note;
if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG)
$title.="\nGewichtung: ".$gewichtung;
$note_les_str .= "<br><span".$leneg.">".$moodle24_noten->note."</span><span title='".$title."' style='font-size:10px'> (".$moodle24_course_bezeichnung[$moodle24_noten->mdl_course_id].")</span> ";
}
}
}
}
else
{
//Noten aus Uebungstool
$le = new lehreinheit();
$le->load_lehreinheiten($lvid, $stsem);
foreach($le->lehreinheiten as $l)
{
$legesamtnote = new legesamtnote($l->lehreinheit_id);
}
}
}
}
else
{
//Noten aus Uebungstool
$le = new lehreinheit();
$le->load_lehreinheiten($lvid, $stsem);
foreach($le->lehreinheiten as $l)
{
$legesamtnote = new legesamtnote($l->lehreinheit_id);
if (!$legesamtnote->load($row_stud->uid,$l->lehreinheit_id))
{
//$note_les_str .= "- (".$l->lehreinheit_id.")";
}
else
{
$note_le += $legesamtnote->note;
if (!$legesamtnote->load($row_stud->uid,$l->lehreinheit_id))
{
//$note_les_str .= "- (".$l->lehreinheit_id.")";
}
else
{
$note_le += $legesamtnote->note;
$gewicht = $l->gewicht;
if($l->gewicht=='')
$gewicht = 1;
$note_le_gewichtet+=$legesamtnote->note*$gewicht;
$gewichtsumme+=$gewicht;
$gewicht = $l->gewicht;
if($l->gewicht=='')
$gewicht = 1;
$note_le_gewichtet+=$legesamtnote->note*$gewicht;
$gewichtsumme+=$gewicht;
$le_anz += 1;
if ($legesamtnote->note == 5)
$leneg = " style='color:red; font-weight:bold'";
else
$leneg = "";
if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG)
$title='Gewichtung: '.$l->gewicht;
else
$title='';
$note_les_str .= '<span title="'.$title.'"><span'.$leneg.'>'.$legesamtnote->note.'</span> ('.$l->lehreinheit_id.') </span>';
}
}
}
$le_anz += 1;
if ($legesamtnote->note == 5)
$leneg = " style='color:red; font-weight:bold'";
else
$leneg = "";
if(defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG)
$title='Gewichtung: '.$l->gewicht;
else
$title='';
$note_les_str .= '<span title="'.$title.'"><span'.$leneg.'>'.$legesamtnote->note.'</span> ('.$l->lehreinheit_id.') </span>';
}
}
}
}
if ($lvgesamtnote = new lvgesamtnote($lvid,$row_stud->uid,$stsem))
{
@@ -1159,8 +1218,10 @@ echo "
else
$znote = null;
echo "<td style='white-space: nowrap;'>".$note_les_str."&nbsp;</td>";
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
{
echo "<td style='white-space: nowrap;'>".$note_les_str."&nbsp;</td>";
}
if (key_exists($row_stud->uid,$studpruef_arr))
$hide = "style='display:none;visibility:hidden;'";
@@ -1201,7 +1262,7 @@ echo "
echo '</select>';
echo "
<input type='hidden' name='note_orig' value='$note_lv'>
<input type='button' value='->' onclick=\"saveLVNote('".$row_stud->uid."');\">
<input type='button' id='button-note-save-".$i."' value='->' onclick=\"saveLVNote('".$row_stud->uid."');\">
</span>
</form></td>";
}
@@ -1244,43 +1305,46 @@ echo "
if(isset($noten_array[$znote]) && $noten_array[$znote]['positiv']==false)
$summe_ng++;
// Pruefung 2. Termin
if (key_exists($row_stud->uid, $studpruef_arr))
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
{
echo "<td colspan='2'>";
echo "<span id='span_Termin2_".$row_stud->uid."'>";
echo "<table>";
$le_id_arr = array();
$le_id_arr = array_keys($studpruef_arr[$row_stud->uid]);
foreach ($le_id_arr as $le_id_stud)
{
$pr_note = $studpruef_arr[$row_stud->uid][$le_id_stud]["note"];
$pr_punkte = $studpruef_arr[$row_stud->uid][$le_id_stud]["punkte"];
$pr_datum = $studpruef_arr[$row_stud->uid][$le_id_stud]["datum"];
$pr_le_id = $le_id_stud;
// Pruefung 2. Termin
if (key_exists($row_stud->uid, $studpruef_arr))
{
echo "<td colspan='2'>";
echo "<span id='span_Termin2_".$row_stud->uid."'>";
echo "<table>";
$le_id_arr = array();
$le_id_arr = array_keys($studpruef_arr[$row_stud->uid]);
foreach ($le_id_arr as $le_id_stud)
{
$pr_note = $studpruef_arr[$row_stud->uid][$le_id_stud]["note"];
$pr_punkte = $studpruef_arr[$row_stud->uid][$le_id_stud]["punkte"];
$pr_datum = $studpruef_arr[$row_stud->uid][$le_id_stud]["datum"];
$pr_le_id = $le_id_stud;
if($pr_punkte!='')
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.number_format($pr_punkte,2).')';
else
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'];
if($pr_punkte!='')
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.number_format($pr_punkte,2).')';
else
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'];
echo '<tr>
<td class="td_datum">'.$pr_datum.'</td>
<td class="td_note">'.$pr_notenbezeichnung.'</td>
<td><input type="button" name="anlegen" value="'.$p->t('global/aendern').'" onclick="pruefungAnlegen(\''.$row_stud->uid.'\',\''.$pr_datum.'\',\''.$pr_note.'\',\''.$pr_le_id.'\',\''.$pr_punkte.'\')"><td>
</tr>';
}
echo "</table>";
echo "</span>";
echo "</td>";
}
else
{
if (!is_null($note_lv) || !is_null($znote))
echo "<td colspan='2'><span id='span_Termin2_".$row_stud->uid."'><input type='button' name='anlegen' value='".$p->t('benotungstool/anlegen')."' onclick='pruefungAnlegen(\"".$row_stud->uid."\",\"\",\"\",\"\",\"\")'></span></td>";
else
echo "<td colspan='2'></td>";
}
echo '<tr>
<td class="td_datum">'.$pr_datum.'</td>
<td class="td_note">'.$pr_notenbezeichnung.'</td>
<td><input type="button" name="anlegen" value="'.$p->t('global/aendern').'" onclick="pruefungAnlegen(\''.$row_stud->uid.'\',\''.$pr_datum.'\',\''.$pr_note.'\',\''.$pr_le_id.'\',\''.$pr_punkte.'\')"><td>
</tr>';
}
echo "</table>";
echo "</span>";
echo "</td>";
}
else
{
if (!is_null($note_lv) || !is_null($znote))
echo "<td colspan='2'><span id='span_Termin2_".$row_stud->uid."'><input type='button' name='anlegen' value='".$p->t('benotungstool/anlegen')."' onclick='pruefungAnlegen(\"".$row_stud->uid."\",\"\",\"\",\"\",\"\")'></span></td>";
else
echo "<td colspan='2'></td>";
}
}
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
@@ -1323,39 +1387,42 @@ echo "
}
}
// komm Pruefung
if (key_exists($row_stud->uid,$studpruef_komm))
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
{
echo "<td colspan='2'>";
echo "<span id='span_".$row_stud->uid."'>";
echo "<table>";
$le_id_arr = array();
$le_id_arr = array_keys($studpruef_komm[$row_stud->uid]);
foreach ($le_id_arr as $le_id_stud)
{
$pr_note = $studpruef_komm[$row_stud->uid][$le_id_stud]["note"];
$pr_punkte = $studpruef_komm[$row_stud->uid][$le_id_stud]["punkte"];
$pr_datum = $studpruef_komm[$row_stud->uid][$le_id_stud]["datum"];
$pr_le_id = $le_id_stud;
// komm Pruefung
if (key_exists($row_stud->uid,$studpruef_komm))
{
echo "<td colspan='2'>";
echo "<span id='span_".$row_stud->uid."'>";
echo "<table>";
$le_id_arr = array();
$le_id_arr = array_keys($studpruef_komm[$row_stud->uid]);
foreach ($le_id_arr as $le_id_stud)
{
$pr_note = $studpruef_komm[$row_stud->uid][$le_id_stud]["note"];
$pr_punkte = $studpruef_komm[$row_stud->uid][$le_id_stud]["punkte"];
$pr_datum = $studpruef_komm[$row_stud->uid][$le_id_stud]["datum"];
$pr_le_id = $le_id_stud;
if($pr_punkte!='')
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.number_format($pr_punkte,2).')';
else
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'];
if($pr_punkte!='')
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.number_format($pr_punkte,2).')';
else
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'];
echo '<tr>
<td class="td_datum">'.$pr_datum.'</td>
<td class="td_note">'.$pr_notenbezeichnung.'</td>
</tr>';
}
echo "</table>";
echo "</span>";
echo "</td>";
}
else
{
echo "<td colspan='2'></td>";
}
echo '<tr>
<td class="td_datum">'.$pr_datum.'</td>
<td class="td_note">'.$pr_notenbezeichnung.'</td>
</tr>';
}
echo "</table>";
echo "</span>";
echo "</td>";
}
else
{
echo "<td colspan='2'></td>";
}
}
echo "</tr>";
$i++;
@@ -1366,12 +1433,27 @@ echo "
echo "
<tr style='font-weight:bold;' align='center'>
<th style='font-weight:bold;'>&Sigma;</th>
<th style='font-weight:bold;' title='".$p->t('benotungstool/anzahlDerStudenten')."'>$summe_stud</th>
<th colspan='6'></td>
<th style='color:red; font-weight:bold;' title='".$p->t('benotungstool/anzahlNegativerBeurteilungen')."'>$summe_ng</th>
<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlNachpruefungen')."'>$summe_t2</th>
<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlNachpruefungen')."'>$summe_t3</th>
<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlKommisionellePruefungen')."'>$summe_komm</th>
<th style='font-weight:bold;' title='".$p->t('benotungstool/anzahlDerStudenten')."'>$summe_stud</th>";
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && (!CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE))
{
echo "<th colspan='5'></td>";
}
else
{
echo "<th colspan='6'></td>";
}
echo "<th style='color:red; font-weight:bold;' title='".$p->t('benotungstool/anzahlNegativerBeurteilungen')."'>$summe_ng</th>";
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2): ?>
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlNachpruefungen'); ?>"'>$summe_t2</th>;
<?php endif;
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3): ?>
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlNachpruefungen'); ?>"'>$summe_t3</th>";
<?php endif;
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF): ?>
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlKommisionellePruefungen'); ?>"'>$summe_komm</th>
<?php endif;
echo "
</tr>
</table>
</td></tr>
@@ -40,6 +40,7 @@ require_once('../../../../include/mail.class.php');
require_once('../../../../include/benutzerfunktion.class.php');
require_once('../../../../include/benutzer.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/notenschluessel.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
@@ -103,6 +104,18 @@ else
$punkte = str_replace(',','.',$punkte);
if($punkte!='')
{
// Bei Punkteeingabe wird die Note nochmals geprueft und ggf korrigiert
$notenschluessel = new notenschluessel();
$note_pruef = $notenschluessel->getNote($punkte, $lvid, $stsem);
if($note_pruef!=$note)
{
$note = $note_pruef;
$note_dirty=true;
}
}
if(!isset($_GET['typ']))
{
$typ='Termin2';
@@ -497,8 +497,17 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
if ($angabedatei_up)
{
$name_up = pathinfo($_FILES["angabedatei"]["name"]);
//Handle double file extensions (e.g.: .tar.gz)
//Array of possible double extensions
$ext_array = array('.tar.gz','.tar.bz2','.tar.xz','.tar.lzma','.tar.Z');
//Find occurence of extensions ending with ".tar."
if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array))
$extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.'));
else
$extension = $name_up["extension"];
$name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem);
$angabedatei = $name_neu.".".$name_up["extension"];
$angabedatei = $name_neu.".".$extension;
$angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei;
//$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei;
@@ -661,8 +670,16 @@ if(isset($_POST['uebung_edit']))
if ($angabedatei_up)
{
$name_up = pathinfo($_FILES["angabedatei"]["name"]);
//Handle double file extensions (e.g.: .tar.gz)
//Array of possible double extensions
$ext_array = array('.tar.gz','.tar.bz2','.tar.xz','.tar.lzma','.tar.Z');
//Find occurence of extensions ending with ".tar."
if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array))
$extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.'));
else
$extension = $name_up["extension"];
$name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem);
$angabedatei_neu = $name_neu.".".$name_up["extension"];
$angabedatei_neu = $name_neu.".".$extension;
$angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu;
//$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei;
+72 -71
View File
@@ -31,7 +31,7 @@
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../config/global.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
@@ -49,16 +49,16 @@ $user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$sprache1 = getSprache();
$sprache1 = getSprache();
$p=new phrasen($sprache1);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$output = '';
$errormsg = '';
$okmsg='';
$lv = '';
?>
@@ -93,6 +93,7 @@ textarea
</head>
<body style="padding: 10px">
<?php
$oe_kurzbz='';
function Cut($string)
{
if(strlen($string)>50)
@@ -126,7 +127,7 @@ textarea
if(!isset($sem))
$sem = $lv_obj->semester;
}
else
else
{
$stg = '';
}
@@ -143,9 +144,9 @@ textarea
}
if(!isset($sem) && isset($_POST['sem']))
$sem = $_POST['sem'];
$sem = $_POST['sem'];
if(isset($_POST['changed'])) //Gibt an welches der Auswahlfelder geaendert wurde
$changed = $_POST['changed'];
@@ -157,12 +158,12 @@ textarea
if(isset($_POST['sprache'])) //Sprache fuer dieses Lehrfach
$sprache = $_POST['sprache'];
// Berechtigungen ueberpruefen
$lektor_der_lv = false;
$lektor = new lehreinheitmitarbeiter();
$lektor_der_lv = $lektor->existsLV($lv, null, $user);
// Bearbeiten nur moeglich, wenn Lektor der LV und bearbeiten fuer Lektoren aktiviert ist
// Oder Berechtigung zum Bearbeiten eingetragen ist
$berechtigt = true;
@@ -189,7 +190,7 @@ textarea
$freig_de = (isset($_POST['freig_de'])?($_POST['freig_de']=='on' && ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$oe_kurzbz) || $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg))?true:false):'');
$methodik_de = (isset($_POST['methodik_de'])?$_POST['methodik_de']:'');
//$titel_de = (isset($_POST['titel_de'])?$_POST['titel_de']:'');
$parser = new SafeHTML();
$lehrziele_de = $parser->parse($lehrziele_de);
$parser = new SafeHTML();
@@ -210,7 +211,7 @@ textarea
$freig_de = $parser->parse($freig_de);
$parser = new SafeHTML();
$methodik_de = $parser->parse($methodik_de);
$lehrziele_en = (isset($_POST['lehrziele_en'])?$_POST['lehrziele_en']:'');
$lehrinhalte_en = (isset($_POST['lehrinhalte_en'])?$_POST['lehrinhalte_en']:'');
$voraussetzungen_en = (isset($_POST['voraussetzungen_en'])?$_POST['voraussetzungen_en']:'');
@@ -243,7 +244,7 @@ textarea
$freig_en = $parser->parse($freig_en);
$parser = new SafeHTML();
$methodik_en = $parser->parse($methodik_en);
/* WriteLog($qry,$uid)
* @brief Schreib die Querys im format: uid - datum - qry ins LogFile
* @param $qry Query anweisung
@@ -284,7 +285,7 @@ textarea
$lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "<br>", $anmerkungen_de);
$lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "<br>", $kurzbeschreibung_de);
$lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "<br>", $anwesenheit_de);
$lv_obj_sav->genehmigt = ($freig_de==true && ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$oe_kurzbz) || $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg))?true:false);
$lv_obj_sav->updateamum=date('Y-m-d H:i:s');
$lv_obj_sav->updatevon=$user;
@@ -344,7 +345,7 @@ textarea
$errormsg.= $p->t('courseInformation/achtungFehlerBeimSpeichern');
else
$okmsg.= $p->t('global/erfolgreichgespeichert');
if($save_log_error)
$errormsg.= $p->t('courseInformation/fehlerLogFile');
}
@@ -352,7 +353,7 @@ textarea
{
if ($berechtigt==false)
die($p->t('global/keineBerechtigungFuerDieseSeite'));
//Speichert die aenderungen in der Datenbank (de und en)
$lv_obj_sav= new lvinfo();
$save_error=false;
@@ -366,7 +367,7 @@ textarea
$lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "<br>", $anmerkungen_de);
$lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "<br>", $kurzbeschreibung_de);
$lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "<br>", $anwesenheit_de);
$lv_obj_sav->genehmigt = ($freig_de==true && ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$oe_kurzbz) || $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg))?true:false);
$lv_obj_sav->updateamum=date('Y-m-d H:i:s');
$lv_obj_sav->updatevon=$user;
@@ -375,21 +376,21 @@ textarea
$lv_obj_sav->lehrveranstaltung_id=$lv;
$lv_obj_sav->methodik = mb_eregi_replace("\r\n", "<br>", $methodik_de);
//$lv_obj_sav->titel = mb_eregi_replace("\r\n", "<br>", $titel_de);
$lv_obj1 = new lvinfo();
$vorhanden=$lv_obj1->exists($lv, ATTR_SPRACHE_DE);
if(!$vorhanden)
$lv_obj_sav->new=true;
else
$lv_obj_sav->new=false;
if(!$lv_obj_sav->save())
$save_error=true;
else
if(!WriteLog($lv_obj_sav->lastqry,$user))
$save_log_error=true;
//Englisch
$lv_obj_sav->lehrziele=mb_eregi_replace("\r\n", "<br>", $lehrziele_en);
$lv_obj_sav->lehrinhalte=mb_eregi_replace("\r\n", "<br>", $lehrinhalte_en);
@@ -407,33 +408,33 @@ textarea
$lv_obj_sav->lehrveranstaltung_id=$lv;
$lv_obj_sav->methodik = mb_eregi_replace("\r\n", "<br>", $methodik_en);
//$lv_obj_sav->titel = mb_eregi_replace("\r\n", "<br>", $titel_en);
$lv_obj1 = new lvinfo();
$vorhanden = $lv_obj1->exists($lv, ATTR_SPRACHE_EN);
if(!$vorhanden)
$lv_obj_sav->new=true;
else
$lv_obj_sav->new=false;
if(!$lv_obj_sav->save())
$save_error=true;
else
if(!WriteLog($lv_obj_sav->lastqry,$user))
$save_log_error=true;
if($save_error)
$errormsg.= $p->t('courseInformation/achtungFehlerBeimSpeichern');
else
$okmsg.= $p->t('global/erfolgreichgespeichert');
if($save_log_error)
$errormsg.= $p->t('courseInformation/fehlerLogFile');
//Mail an Studiengangsleiter
$studiengangsleiter = new studiengang();
$stgleiter = $studiengangsleiter->getLeitung($stg);
$stgleiter = $studiengangsleiter->getLeitung($stg);
if($stgleiter)
{
$to='';
@@ -448,19 +449,19 @@ textarea
$to.=$leiter.'@'.DOMAIN;
}
}
$benutzer = new benutzer();
$benutzer->load($user);
$bezeichnung = new lehrveranstaltung();
$bezeichnung->load($lv);
$bezeichnung->load($lv);
$message = $p->t('courseInformation/diesIstEineAutomatischeMail').".\n".
$p->t('courseInformation/lvinfoWurdeUeberarbeitet',array($benutzer->nachname.' '.$benutzer->vorname,$bezeichnung->bezeichnung)).":\n";
$message.="\n".$p->t('courseInformation/sieKoennenDieseUnterFolgenderAdresseFreigeben').":\n".
APP_ROOT."cis/private/lehre/ects/freigabe.php?stg=".$stg."&sem=".$sem."&lv=".$lv;
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('courseInformation/freigabeLvinfo'), $message);
if($mail->send())
{
@@ -475,7 +476,7 @@ textarea
{
$okmsg.="<br><span class='error'>".$p->t('courseInformation/konnteKeinFreigabemailVersendetWerden')."</span>";
}
}
}
@@ -523,8 +524,8 @@ textarea
{
$errormsg .= "$stg_obj->errormsg";
}
//Anzeigen des DropDown Menues mit Semester
if(isset($changed) && $changed=='stg')
@@ -630,7 +631,7 @@ textarea
//Kopfzeile hinausschreiben und $output ausgeben
echo "<h1>&nbsp;".$p->t('courseInformation/lvInfoSemester',array($stg_obj->kuerzel, $sem))."</h1>";
echo $output;
if ($berechtigt==false)
die($p->t('global/keineBerechtigungFuerDieseSeite'));
@@ -667,7 +668,7 @@ textarea
$freig_de = $lv_de->genehmigt;
$titel_de = $lv_de->titel;
$methodik_de = $lv_de->methodik;
//Fuegt den Satz "Nach erfolgreichem Abschluss sind die Studierenden in der Lage, " vor den Lehrzielen ein, falls noch nicht vorhanden
if (substr_count($lehrziele_de, 'Nach erfolgreichem Abschluss sind die Studierenden in der Lage')==0)
$lehrziele_de = 'Nach erfolgreichem Abschluss sind die Studierenden in der Lage, '.$lehrziele_de;
@@ -686,7 +687,7 @@ textarea
$freig_en = $lv_en->genehmigt;
$titel_en = $lv_en->titel;
$methodik_en = $lv_en->methodik;
//Fuegt den Satz "Nach erfolgreichem Abschluss sind die Studierenden in der Lage, " vor den Lehrzielen ein, falls noch nicht vorhanden
if (substr_count($lehrziele_en, 'After passing this course successfully students are able to')==0)
$lehrziele_en = 'After passing this course successfully students are able to '.$lehrziele_en;
@@ -702,14 +703,14 @@ textarea
$stsem_obj = new studiensemester();
$stsem = $stsem_obj->getaktorNext();
//Namen der Lehrenden Auslesen
$qry = "SELECT
*
FROM
campus.vw_mitarbeiter, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit
WHERE
lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)."
AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE lehrveranstaltung_id=".$db->db_add_param($lv)." ORDER BY ende DESC LIMIT 1)
$qry = "SELECT
*
FROM
campus.vw_mitarbeiter, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit
WHERE
lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)."
AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE lehrveranstaltung_id=".$db->db_add_param($lv)." ORDER BY ende DESC LIMIT 1)
AND mitarbeiter_uid=uid";
echo "<tr><td class='tdvertical' nowrap><b>".$p->t('courseInformation/lehrendeLautLehrauftrag')."</b></td><td nowrap>";
@@ -728,27 +729,27 @@ textarea
echo "</td></tr>";
//FB Leiter auslesen
$qry = " SELECT
distinct titelpre, titelpost, vorname, nachname
FROM
public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid)
WHERE
funktion_kurzbz='Leitung' AND
$qry = " SELECT
distinct titelpre, titelpost, vorname, nachname
FROM
public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid)
WHERE
funktion_kurzbz='Leitung' AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND
oe_kurzbz in (SELECT distinct lehrfach.oe_kurzbz
FROM
lehre.tbl_lehreinheit
oe_kurzbz in (SELECT distinct lehrfach.oe_kurzbz
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)." AND
studiensemester_kurzbz=(SELECT studiensemester_kurzbz
FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)." AND
studiensemester_kurzbz=(SELECT studiensemester_kurzbz
FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)."
ORDER BY ende DESC LIMIT 1
)
)
)";
echo "<tr><td class='tdvertical'><b>".$p->t('courseInformation/institutsleiter')."</b></td><td>";
if($result=$db->db_query($qry))
{
@@ -762,7 +763,7 @@ textarea
//FB Koordinator auslesen
//$qry = "SELECT distinct vorname, nachname FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in (SELECT fachbereich_kurzbz FROM lehre.tbl_lehrfach, lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lv' AND tbl_lehrfach.lehrfach_id=tbl_lehreinheit.lehrfach_id AND tbl_lehreinheit.studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehreinheit.lehrveranstaltung_id='$lv' ORDER BY ende DESC LIMIT 1))";
$qry = "SELECT
$qry = "SELECT
distinct titelpre, titelpost, vorname, nachname, tbl_fachbereich.fachbereich_kurzbz
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzerfunktion, campus.vw_mitarbeiter, public.tbl_fachbereich
@@ -772,12 +773,12 @@ textarea
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND
tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz AND
tbl_fachbereich.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND
vw_mitarbeiter.uid=COALESCE(tbl_lehrveranstaltung.koordinator, tbl_benutzerfunktion.uid) AND
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1)";
echo "<tr><td class='tdvertical'><b>".$p->t('courseInformation/institutskoordinator')."</b></td><td>";
if($result=$db->db_query($qry))
{
@@ -802,9 +803,9 @@ textarea
//Sprache ausgeben
echo "<tr><td><b>".$p->t('courseInformation/unterrichtssprache')."</b></td><td>$lv_obj->sprache";
echo "</td></tr>";
//Anz. Incoming ausgeben
if ($lv_obj->incoming > -1)
{
echo "<tr><td valign='top'><b>".$p->t('courseInformation/incomingplaetze')."</b></td><td valign='top'>$lv_obj->incoming";
@@ -831,7 +832,7 @@ textarea
echo '<tr>
<td colspan="5">&nbsp;</td>
</tr>';
echo '
<tr class="liste0">
<td><i>'.$p->t('lvinfo/kurzbeschreibung').' <font style="color:black">(Pflichtfeld)</font></i> </td>
@@ -893,7 +894,7 @@ textarea
<td align=center colspan=2><input type="checkbox" name="freig_en" '. (isset($freig_en) && ($freig_en==true || $freig_en=='1')?'checked':'').'/><i>'.$p->t('courseInformation/englischFreigeben').'</i> </td>
<td ></td>
</tr>';
echo "</table><br>";
echo "<div align='left'>";
echo "<input type='button' value='".$p->t('global/speichern')."' onClick='save();'>";
+23 -23
View File
@@ -61,7 +61,7 @@ function cmp($a, $b)
return 1;
}
return ($a->datum < $b->datum) ? -1 : 1;
}
function getLastStundeByDatum(Array $array, $filterDatum)
@@ -121,7 +121,7 @@ $anmerkungen_en = '';
if(isset($_REQUEST['lv']))
$lv = $_REQUEST['lv'];
$language='';
if(isset($_GET['language']))
$language=$_GET['language'];
@@ -170,7 +170,7 @@ $anmerkungen_en = '';
$anwesenheit_de = $parser->parse($anwesenheit_de);
$parser = new SafeHTML();
$methodik_de = $parser->parse($methodik_de);
// Englisch content variables
//$titel_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['titel_en']));
$methodik_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['methodik_en']));
@@ -182,7 +182,7 @@ $anmerkungen_en = '';
$unterlagen_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['unterlagen_en']));
$pruefungsordnung_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['pruefungsordnung_en']));
$anmerkungen_en = mb_eregi_replace("\r\n","<br>",stripslashes($_POST['anmerkungen_en']));
$parser = new SafeHTML();
$lehrziele_en = $parser->parse($lehrziele_en);
$parser = new SafeHTML();
@@ -260,8 +260,8 @@ $anmerkungen_en = '';
if (!isset($lv))
$lv=0;
//Zugeteilte Fachbereiche auslesen
$qry = "SELECT distinct tbl_fachbereich.bezeichnung as bezeichnung, tbl_fachbereich.fachbereich_kurzbz as fachbereich_kurzbz
FROM public.tbl_fachbereich, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
@@ -302,18 +302,18 @@ $anmerkungen_en = '';
$lehrform_kurzbz[] = $row->lehrform_kurzbz;
//Fachbereichsleiter fuer alle FB ermitteln
$qry="
SELECT
vorname, nachname, tbl_fachbereich.fachbereich_kurzbz
FROM
public.tbl_benutzerfunktion
SELECT
vorname, nachname, tbl_fachbereich.fachbereich_kurzbz
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_fachbereich USING(oe_kurzbz)
JOIN campus.vw_mitarbeiter USING(uid)
WHERE
JOIN campus.vw_mitarbeiter USING(uid)
WHERE
vw_mitarbeiter.aktiv AND
funktion_kurzbz='Leitung' AND tbl_fachbereich.fachbereich_kurzbz in($fachbereiche) AND
funktion_kurzbz='Leitung' AND tbl_fachbereich.fachbereich_kurzbz in($fachbereiche) AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())";
if(!$res=$db->db_query($qry))
die('Fehler '.$db->errormsg);
@@ -323,7 +323,7 @@ $anmerkungen_en = '';
//Fachbereichskoordinatoren fuer alle FB ermitteln
//$qry="SELECT * FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in($fachbereiche)";
$qry = "SELECT
$qry = "SELECT
distinct vorname, nachname, tbl_fachbereich.fachbereich_kurzbz
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzerfunktion, campus.vw_mitarbeiter, public.tbl_fachbereich
@@ -334,7 +334,7 @@ $anmerkungen_en = '';
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND
lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz AND
tbl_fachbereich.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
vw_mitarbeiter.uid=COALESCE(tbl_lehrveranstaltung.koordinator, tbl_benutzerfunktion.uid) AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND
@@ -392,7 +392,7 @@ $anmerkungen_en = '';
echo '<tr><td>&nbsp;</td><td>&nbsp;</td></tr>';
if(($anz=count($lehrendearray))>0)
{
echo "<tr valign='top'><td><nobr>".$phrasen->t('lehre/Lehrbeauftrager').": </nobr></td><td>";
echo "<tr valign='top'><td><nobr>".$phrasen->t('lehre/lehrbeauftragter').": </nobr></td><td>";
foreach($lehrendearray as $elem)
{
@@ -417,7 +417,7 @@ $anmerkungen_en = '';
if ($ects_points)
echo '<tr><td>ECTS:&nbsp;</td><td>'.number_format(stripslashes($ects_points),1,'.','').'</td></tr>';
if ($anz_incoming > -1)
{
echo '<tr><td>Incomingpl&auml;tze:&nbsp;</td><td>'.stripslashes($anz_incoming).'</td></tr>';
@@ -506,7 +506,7 @@ $anmerkungen_en = '';
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/literatur')."</h2></td></tr>";
echo "<tr><td>".stripslashes($unterlagen_de)."<br /><br /></td></tr>";
}
if ($anwesenheit_de)
{
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/anwesenheit')."</h2></td></tr>";
@@ -568,7 +568,7 @@ $anmerkungen_en = '';
if ($ects_points)
echo "<tr><td>ECTS Credits:&nbsp;</td><td>".number_format(stripslashes($ects_points),1,'.','')."</td></tr>";
if ($anz_incoming > -1)
{
echo '<tr><td>Places Available for Incoming Students:&nbsp;</td><td>'.stripslashes($anz_incoming).'</td></tr>';
@@ -659,7 +659,7 @@ $anmerkungen_en = '';
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/literaturEN')."</h2></td></tr>";
echo "<tr><td>".stripslashes($unterlagen_en)."<br /><br /></td></tr>";
}
if ($anwesenheit_en)
{
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/anwesenheitEN')."</h2></td></tr>";
@@ -674,7 +674,7 @@ $anmerkungen_en = '';
}
echo "</table>";
$lehreinheit = new lehreinheit();
$studiensemester = new studiensemester();
$lehreinheit->load_lehreinheiten($lv, $studiensemester->getaktorNext());
@@ -690,7 +690,7 @@ $anmerkungen_en = '';
$lehrstunde->load_lehrstunden_le($lehreinheit_temp->lehreinheit_id);
$i = 1;
echo "<tr><td><ul>";
$result = $lehrstunde->lehrstunden;
$last = "";
$bis = "";
Regular → Executable
+2 -2
View File
@@ -190,7 +190,7 @@ $( document ).ready(function()
<body>
<div id="semplanhelp" style="position:absolute; top:200px; left:200px; width:500px; height:250px; background-color:#cccccc; visibility:hidden; border-style:solid; border-width:1px; border-color:#333333;" class="transparent">
<table width="100%">
<tr><td valign="top"><h2>&nbsp;Erstellung des Semesterplanes</h2></td><td align="right" valign="top"><a href="#" onclick="hideSemPlanHelp();">X</a>&nbsp;</td></tr>
<tr><td valign="top"><h2>&nbsp;<?php echo $p->t('semesterplan/ErstellungDesSemesterplans');?></h2></td><td align="right" valign="top"><a href="#" onclick="hideSemPlanHelp();">X</a>&nbsp;</td></tr>
<tr>
<td colspan="2">
<ol style="font-size:8pt;">
@@ -203,7 +203,7 @@ $( document ).ready(function()
</ol>
</td>
</tr>
<tr><td colspan="2" align="center"><a href="#" onClick="hideSemPlanHelp();">schlie&szlig;en</a></td></tr>
<tr><td colspan="2" align="center"><a href="#" onClick="hideSemPlanHelp();"><?php echo $p->t('semesterplan/schliessen');?></a></td></tr>
</table>
</div>
<table class="tabcontent" height="100%" id="inhalt">
+10 -3
View File
@@ -209,13 +209,14 @@ else
</thead>
<tbody>";
$i=0;
$legende = false;
while($row=$db->db_fetch_object($result))
{
$lv_obj = new lehrveranstaltung();
$lv_obj->load($row->lehrveranstaltung_id);
$i++;
$tbl.= "<tr class='liste".($i%2)."'><td>".$lv_obj->bezeichnung_arr[$sprache]." (".$lv_obj->lehrform_kurzbz.")</td>";
$tbl.= "<tr class='liste".($i%2)."'><td>".$lv_obj->bezeichnung_arr[$sprache].($lv_obj->lehrform_kurzbz!="" && $lv_obj->lehrform_kurzbz!=" - "?" (".$lv_obj->lehrform_kurzbz.")":"")."</td>";
$tbl.= "<td>";
//Nur freigegebene Noten anzeigen
@@ -237,10 +238,13 @@ else
}
if ($row->note != $row->lvnote && $row->lvnote != NULL)
$markier = " style='border: 1px solid red;'";
{
$markier = " style='background-color: #FFD999;'";
$legende=true;
}
else
$markier = "";
$tbl .= "<td".$markier.">";
$tbl .= "<td ".$markier.">";
if(isset($notenarr[$row->note]))
$tbl.=$notenarr[$row->note];
@@ -288,6 +292,9 @@ else
$tbl.= "</tbody></table>";
if($legende)
$tbl.= "<table><tbody><tr><td width='50' style='background-color: #FFD999;'></td><td>".$p->t('tools/hinweistextMarkierung')."</td></tr></tbody></table>";
if($i==0)
echo $p->t('tools/nochKeineBeurteilungEingetragen');
else
+32 -23
View File
@@ -373,7 +373,7 @@ function showPruefungsDetails(prfId, lvId)
{
var p = e.pruefung;
var l = e.lehrveranstaltung
$("#prfTyp").html(p.pruefungstyp_kurzbz);
// $("#prfTyp").html(p.pruefungstyp_kurzbz);
$("#prfMethode").html(p.methode);
$("#prfBeschreibung").html(p.beschreibung);
if(p.einzeln === true)
@@ -436,9 +436,10 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t
error: loadError
}).success(function(data){
var html = "";
html += '<option id="'+lehrveranstaltung_id+'" value="'+lehrveranstaltung_id+'">';
html += lvBezeichnung;
html += "</option>";
data.result.forEach(function(v, i){
console.log(i);
console.log(v);
html += '<option id="'+v.lehrveranstaltung_id+'" value="'+v.lehrveranstaltung_id+'">';
html += v.bezeichnung;
html += "</option>";
@@ -486,8 +487,6 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
var studienverpflichtung_id = null;
if($("#studienverpflichtung").length)
studienverpflichtung_id = $("#studienverpflichtung option:selected").val();
console.log(studienverpflichtung_id);
$.ajax({
dataType: 'json',
@@ -590,6 +589,8 @@ function resetForm()
*/
function setTablesorter(tableId)
{
if($("#"+tableId).length != 0)
{
if($("#"+tableId)[0].hasInitialized !== true)
{
$("#"+tableId).tablesorter({
@@ -603,6 +604,7 @@ function setTablesorter(tableId)
var sorting = [[1,0],[0,0]];
$("#"+tableId).trigger("sorton",[sorting]);
}
}
}
/**
@@ -755,6 +757,7 @@ function writeAnmeldungen(data)
$("#kommentar").empty();
$("#kommentarSpeichernButton").empty();
$("#raumLink").empty();
$("#listeDrucken").empty();
messageBox("message", data.errormsg, "red", "highlight", 1000);
}
}
@@ -1091,7 +1094,7 @@ function savePruefungstermin()
unmarkMissingFormEntry();
var studiensemester_kurzbz = $("#studiensemester").val();
var pruefungsfenster_id = $("#pruefungsfenster").val();
var pruefungstyp_kurzbz = $("#pruefungsTyp").val();
// var pruefungstyp_kurzbz = $("#pruefungsTyp").val();
var titel = $("#titel").val();
var beschreibung = $("#beschreibung").val();
var methode = $("#methode").val();
@@ -1168,11 +1171,11 @@ function savePruefungstermin()
error = true;
markMissingFormEntry("pruefungsfenster");
}
if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert"))
{
error = true;
markMissingFormEntry("pruefungsTyp");
}
// if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert"))
// {
// error = true;
// markMissingFormEntry("pruefungsTyp");
// }
if(is_null(titel) || is_undefined(titel) || is_empty_String(titel))
{
error = true;
@@ -1188,12 +1191,18 @@ function savePruefungstermin()
error = true;
markMissingFormEntry("methode");
}
if(lehrveranstaltungen.length === 0)
{
error = true;
markMissingFormEntry("lvDropdowns");
}
if(is_null(termine) || is_undefined(termine) || is_empty_String(termine))
{
error = true;
markMissingFormEntry("prfTermin");
}
if(error)
{
@@ -1209,7 +1218,7 @@ function savePruefungstermin()
method: "savePruefungstermin",
studiensemester_kurzbz: studiensemester_kurzbz,
pruefungsfenster_id: pruefungsfenster_id,
pruefungstyp_kurzbz: pruefungstyp_kurzbz,
// pruefungstyp_kurzbz: pruefungstyp_kurzbz,
titel: titel,
beschreibung: beschreibung,
methode: methode,
@@ -1378,7 +1387,7 @@ function loadPruefungsDetails(prfId)
$("#beschreibung").val(result.pruefung.beschreibung);
$("#studiensemester").val(result.pruefung.studiensemester_kurzbz);
$("#pruefungsfenster").val(result.pruefung.pruefungsfenster_id);
$("#pruefungsTyp").val(result.pruefung.pruefungstyp_kurzbz);
// $("#pruefungsTyp").val(result.pruefung.pruefungstyp_kurzbz);
$("#methode").val(result.pruefung.methode);
var i = 0;
$("#termin1").closest("tr").remove();
@@ -1491,7 +1500,7 @@ function updatePruefung(prfId)
unmarkMissingFormEntry();
var studiensemester_kurzbz = $("#studiensemester").val();
var pruefungsfenster_id = $("#pruefungsfenster").val();
var pruefungstyp_kurzbz = $("#pruefungsTyp").val();
// var pruefungstyp_kurzbz = $("#pruefungsTyp").val();
var titel = $("#titel").val();
var beschreibung = $("#beschreibung").val();
var methode = $("#methode").val();
@@ -1602,11 +1611,11 @@ function updatePruefung(prfId)
error = true;
markMissingFormEntry("pruefungsfenster");
}
if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert"))
{
error = true;
markMissingFormEntry("pruefungsTyp");
}
// if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert"))
// {
// error = true;
// markMissingFormEntry("pruefungsTyp");
// }
if(is_null(titel) || is_undefined(titel) || is_empty_String(titel))
{
error = true;
@@ -1643,7 +1652,7 @@ function updatePruefung(prfId)
pruefung_id: prfId,
studiensemester_kurzbz: studiensemester_kurzbz,
pruefungsfenster_id: pruefungsfenster_id,
pruefungstyp_kurzbz: pruefungstyp_kurzbz,
// pruefungstyp_kurzbz: pruefungstyp_kurzbz,
titel: titel,
beschreibung: beschreibung,
methode: methode,
@@ -1807,7 +1816,7 @@ function loadAllPruefungen()
});
tableRow+="</td>";
tableRow += "<td>"+e.methode+"</td>";
tableRow += "<td>"+e.pruefungstyp_kurzbz+"</td>";
// tableRow += "<td>"+e.pruefungstyp_kurzbz+"</td>";
tableRow += "<td>"+e.einzeln+"</td>";
tableRow += "<td>"+e.mitarbeiter_uid+"</td>";
tableRow += "<td>"+e.storniert+"</td>";
@@ -1896,7 +1905,7 @@ function resetPruefungsverwaltung()
loadAllPruefungen();
$("#titel").val("");
$("#beschreibung").val("");
loadPruefungstypen("false");
// loadPruefungstypen("false");
loadStudiensemester();
$("#methode").val("");
resetLehrveranstaltungen();
File diff suppressed because it is too large Load Diff
+137 -91
View File
@@ -31,6 +31,14 @@ require_once('../../../../include/mail.class.php');
require_once('../../../../include/anrechnung.class.php');
require_once('../../../../include/prestudent.class.php');
require_once('../../../../include/person.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
@@ -49,7 +57,7 @@ switch($method)
$data = getPruefungByLv($studiensemester, $uid);
break;
case 'getPruefungByLvFromStudiengang':
$studiensemester = isset($_REQUEST['studiensemester']) ? $_REQUEST['studiensemester'] : NULL;
$studiensemester = isset($_REQUEST['studiensemester']) ? $_REQUEST['studiensemester'] : NULL;
$data = getPruefungByLvFromStudiengang($studiensemester, $uid);
break;
case 'loadPruefung':
@@ -64,7 +72,7 @@ switch($method)
{
$uid = $student_uid;
}
if($student_uid === "")
{
$data['result']="";
@@ -361,6 +369,7 @@ function loadTermine()
*/
function saveAnmeldung($aktStudiensemester = null, $uid = null)
{
global $p;
$termin = new pruefungstermin($_REQUEST["termin_id"]);
$pruefung = new pruefung();
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
@@ -368,19 +377,19 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$stdsem = $studiensemester->getLastOrAktSemester(0);
$lv_besucht = false;
$studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id");
//Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben)
$maxAnzahlVersuche = 0;
//Defaulteinstellung für Code Note "unetnschuldigt ferngeblieben" (wird durch Addon "ktu" überschrieben)
$noteCode_uef = -1;
$addon = new addon();
foreach ($addon->aktive_addons as $a)
{
if($a === "ktu")
if($a === "ku")
{
require '../../../../addons/ktu/cis/prfVerwaltung_array.php';
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
switch($lehrveranstaltung->oe_kurzbz)
{
case $fakultaeten[0]["fakultaet"]:
@@ -389,7 +398,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
case $fakultaeten[1]["fakultaet"]:
$semCounter = $fakultaeten[1]["sem"];
break;
default:
default:
$semCounter = 2;
break;
}
@@ -415,17 +424,33 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$i++;
}
while($i<=$semCounter && $lv_besucht === FALSE);
if(!$lv_besucht)
{
$data['error']='true';
$data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.';
return $data;
}
$pruefung->getPruefungen($uid, NULL, $lehrveranstaltung->lehrveranstaltung_id);
$anmeldung_moeglich = true;
$anzahlPruefungen = count($pruefung->result);
// Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen
if(!isset($pruefungstyp_kurzbzArray))
$pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef");
if(isset($pruefungstyp_kurzbzArray))
{
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
{
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
}
}
else
{
$pruefungstyp_kurzbz = null;
}
foreach($pruefung->result as $prf)
{
$note = new note($prf->note);
@@ -433,8 +458,8 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
{
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$p = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($p->pruefungsfenster_id);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
$i=0;
@@ -456,13 +481,13 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
}
}
}
if($anmeldung_moeglich)
{
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
{
$pruefung = new pruefungCis();
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
$pruefung = new pruefungCis();
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
$anmeldung = new pruefungsanmeldung();
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
@@ -470,16 +495,18 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$anmeldung->uid = $uid;
$anmeldung->reihung = $reihung+1;
$anmeldung->status_kurzbz = "angemeldet";
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$konto = new konto();
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
if($creditpoints !== false)
{
if($creditpoints < $lehrveranstaltung->ects)
{
$data['error'] = 'true';
$data['errormsg'] = 'Credit-Points-Guthaben ist zu gering.';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
}
@@ -493,7 +520,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
{
$data['result'][$temp->pruefungstermin_id] = "true";
$data['error'] = 'true';
$data['errormsg'] = 'Kollision mit anderer Anmeldung.';
$data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung');
}
}
if(isset($data['error']) && $data['error'] = 'true')
@@ -504,23 +531,27 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
else
{
$data['error']='true';
$data['errormsg']='Keine freien Plätze vorhanden.';
$data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']='Anmeldung auf Grund von Sperre nichtglich.';
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
return $data;
}
$anrechnung = new anrechnung();
$lv_komp = new lehrveranstaltung($studienverpflichtung_id);
$person = new person();
$person->getPersonFromBenutzer($uid);
$prestudent = new prestudent();
$prestudent->getPrestudenten($person->person_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
if ($aktStudiensemester)
$stdsem = $aktStudiensemester;
if(count($prestudent->result) > 0)
{
@@ -537,58 +568,65 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
}
if($prestudent_id != "")
{
$anrechungSaveResult = false;
if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true)
{
$anrechnung->lehrveranstaltung_id = $lehrveranstaltung->lehrveranstaltung_id;
$anrechnung->lehrveranstaltung_id_kompatibel = $lv_komp->lehrveranstaltung_id;
$anrechnung->prestudent_id = $prestudent_id;
$anrechnung->begruendung_id = "2";
$anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
$anrechnung->new = true;
$anrechungSaveResult = $anrechnung->save();
}
else
{
$anrechungSaveResult = true;
}
$anrechungSaveResult = false;
if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true)
{
if($lv_komp->lehrveranstaltung_id != null && ($lv_komp->lehrveranstaltung_id != $lehrveranstaltung->lehrveranstaltung_id))
{
$anrechnung->lehrveranstaltung_id = $lv_komp->lehrveranstaltung_id;
$anrechnung->lehrveranstaltung_id_kompatibel = $lehrveranstaltung->lehrveranstaltung_id;
$anrechnung->prestudent_id = $prestudent_id;
$anrechnung->begruendung_id = "2";
$anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
$anrechnung->new = true;
$anrechungSaveResult = $anrechnung->save();
}
else
{
$anrechungSaveResult = true;
}
}
else
{
$anrechungSaveResult = true;
}
if($anrechungSaveResult)
{
if($anrechnung->anrechnung_id == "")
$anmeldung->anrechnung_id = null;
else
$anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
if($anmeldung->save(true))
{
$pruefung = new pruefungCis($termin->pruefung_id);
if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== ""))
$to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN;
if($anrechnung->anrechnung_id == "")
$anmeldung->anrechnung_id = null;
else
$to = $pruefung->mitarbeiter_uid."@".DOMAIN;
$from = "noreply@".DOMAIN;
$subject = "Anmeldung zur Prüfung";
$mail = new mail($to, $from, $subject, "Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.");
$anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
$student = new student($uid);
$datum = new datum();
if($anmeldung->save(true))
{
$pruefung = new pruefungCis($termin->pruefung_id);
if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== ""))
$to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN;
else
$to = $pruefung->mitarbeiter_uid."@".DOMAIN;
$from = "noreply@".DOMAIN;
$subject = $p->t('pruefung/emailLektorSubjectAnmeldung');
$mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht'));
$lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
$student = new student($uid);
$datum = new datum();
$html = "StudentIn ".$student->vorname." ".$student->nachname." hat sich zur Prüfung ".$lv->bezeichnung." am ".$datum->formatDatum($termin->von, "m.d.Y")." von ".$datum->formatDatum($termin->von,"h:i")." Uhr bis ".$datum->formatDatum($termin->bis,"h:i")." Uhr angemeldet.";
$mail->setHTMLContent($html);
$mail->send();
$lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
$data['result'] = "Anmeldung erfolgreich!";
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$anmeldung->errormsg;
}
$html = $p->t('pruefung/emailLektorStudentIn')." ".$student->vorname." ".$student->nachname." ".$p->t('pruefung/emailLektorHatSichZurPruefung')." ".$lv->bezeichnung." ".$p->t('pruefung/emailLektorAm')." ".$datum->formatDatum($termin->von, "m.d.Y")." ".$p->t('pruefung/emailLektorVon')." ".$datum->formatDatum($termin->von,"h:i")." ".$p->t('pruefung/emailLektorUhrBis')." ".$datum->formatDatum($termin->bis,"h:i")." ".$p->t('pruefung/emailLektorUhrAngemeldet');
$mail->setHTMLContent($html);
$mail->send();
$data['result'] = $p->t('pruefung/anmeldungErfolgreich');
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$anmeldung->errormsg;
}
}
else
{
@@ -599,13 +637,13 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
else
{
$data['error']='true';
$data['errormsg']="Prestudent nicht gefunden.";
$data['errormsg']=$p->t('pruefung/prestudentNichtGefunden');
}
}
else
{
$data['error']='true';
$data['errormsg']="Prestudent nicht gefunden.";
$data['errormsg']=$p->t('pruefung/prestudentNichtGefunden');
}
return $data;
}
@@ -681,6 +719,7 @@ function getAllPruefungen($aktStudiensemester = null, $uid = null)
*/
function stornoAnmeldung($uid = null)
{
global $p;
$pruefungsanmeldung_id=$_REQUEST['pruefungsanmeldung_id'];
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$anrechnung = new anrechnung($pruefungsanmeldung->anrechnung_id);
@@ -688,7 +727,7 @@ function stornoAnmeldung($uid = null)
{
if($anrechnung->delete($anrechnung->anrechnung_id))
{
$data['result'] = 'Anmeldung erfolgreich gelöscht.';
$data['result'] = $p->t('pruefung/anmeldungErfolgreichGeloescht');
$data['error'] = 'false';
$data['errormsg'] = '';
}
@@ -709,11 +748,17 @@ function stornoAnmeldung($uid = null)
*/
function getAnmeldungenTermin()
{
global $p;
$lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$pruefungstermin_id = $_REQUEST["pruefungstermin_id"];
$pruefungstermin = new pruefungstermin($pruefungstermin_id);
$pruefungsanmeldung = new pruefungsanmeldung();
$pruefungstermin->anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
$lv = new lehrveranstaltung($lehrveranstaltung_id);
$pruefungstermin->lv_bezeichnung = $lv->bezeichnung;
$pruefungstermin->lv_lehrtyp = $lv->lehrtyp_kurzbz;
$datum = new DateTime($pruefungstermin->von);
$pruefungstermin->datum = $datum->format('d.m.Y');
foreach($pruefungstermin->anmeldungen as $a)
{
$student = new student($a->uid);
@@ -738,7 +783,7 @@ function getAnmeldungenTermin()
}
else
{
$data['errormsg']= 'Keine Anmeldungen vorhanden';
$data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden');
}
}
return $data;
@@ -772,6 +817,7 @@ function saveReihung()
*/
function anmeldungBestaetigen($uid)
{
global $p;
$pruefungsanmeldung_id = $_REQUEST["pruefungsanmeldung_id"];
$status = "bestaetigt";
$anmeldung = new pruefungsanmeldung();
@@ -784,33 +830,33 @@ function anmeldungBestaetigen($uid)
$datum = new datum();
$ort = new ort($termin->ort_kurzbz);
$pruefung = new pruefungCis($termin->pruefung_id);
$to = $anmeldung->uid."@".DOMAIN;
$from = "noreply@".DOMAIN;
$subject = "Anmeldungsbestätigung zur Prüfung";
$html = "Ihre Anmeldung zur Prüfung wurde von ".$ma->vorname." ".$ma->nachname." bestätigt.<br>";
$subject = $p->t('pruefung/emailSubjectAnmeldungBestaetigung');
$html = $p->t('pruefung/emailBody1')." ".$ma->vorname." ".$ma->nachname." ".$p->t('pruefung/emailBody2')."<br>";
$html .= "<br>";
$html .= "Prüfung: ".$lv->bezeichnung."<br>";
$html .= $p->t('pruefung/emailBodyPruefung')." ".$lv->bezeichnung."<br>";
if($pruefung->einzeln)
{
$date = $datum->formatDatum($termin->von, "Y-m-d h:i:s");
$date = strtotime($date);
$date = $date+(60*$pruefung->pruefungsintervall*($anmeldung->reihung-1));
$von = date("h:i",$date);
$html .= "Termin: ".$datum->formatDatum($termin->von, "d.m.Y")." um ".$von."<br>";
$html .= "Dauer: ".$pruefung->pruefungsintervall." Minuten</br>";
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$von."<br>";
$html .= $p->t('pruefung/emailBodyDauer')." ".$pruefung->pruefungsintervall." ".$p->t('pruefung/emailBodyMinuten')."</br>";
}
else
$html .= "Termin: ".$datum->formatDatum($termin->von, "d.m.Y")." um ".$datum->formatDatum($termin->von, "h:i")."<br>";
$html .= "Ort: ".$ort->bezeichnung."<br>";
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$datum->formatDatum($termin->von, "h:i")."<br>";
$html .= $p->t('pruefung/anmeldungErfolgreich')." ".$ort->bezeichnung."<br>";
$html .= "<br>";
$html .= "<a href='".APP_ROOT."cis/private/lehre/pruefung/pruefungsanmeldung.php'>Link zur Anmeldung</a><br>";
$html .= "<a href='".APP_ROOT."cis/private/lehre/pruefung/pruefungsanmeldung.php'>".$p->t('pruefung/emailBodyLinkZurAnmeldung')."</a><br>";
$html .= "<br>";
$mail = new mail($to, $from, $subject,"Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.");
$mail = new mail($to, $from, $subject,$p->t('pruefung/emailBodyBitteHtmlSicht'));
$mail->setHTMLContent($html);
$mail->send();
$data['result']=true;
$data['error']='false';
$data['errormsg']='';
@@ -896,18 +942,18 @@ function getPruefungenStudiengang($uid, $aktStudiensemester)
}
/**
*
*
* @return typespeichert ein Kommentar zu einer Prüfungsanmeldung
*/
function saveKommentar()
{
$kommentar = $_REQUEST["kommentar"];
$pruefungsanmeldung_id = $_REQUEST["pruefungsanmeldung_id"];
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungsanmeldung->kommentar = $kommentar;
if($pruefungsanmeldung->save())
{
{
$data['result']=true;
$data['error']='false';
$data['errormsg']='';
@@ -933,9 +979,9 @@ function getAllFreieRaeume($terminId)
$teilnehmer = $pruefungstermin->getNumberOfParticipants();
$teilnehmer = $teilnehmer !== false ? $teilnehmer : 0;
$pruefungstermin->getAll($pruefungstermin->von, $pruefungstermin->bis, TRUE);
if($ort->search($datum_von[0], $datum_von[1], $datum_bis[1], null, $teilnehmer, true))
{
{
foreach($pruefungstermin->result as $termin)
{
if($termin->pruefungstermin_id != $pruefungstermin->pruefungstermin_id && !is_null($termin->ort_kurzbz))
@@ -945,7 +991,7 @@ function getAllFreieRaeume($terminId)
array_push($ort->result, $o);
}
}
usort($ort->result, "compareRaeume");
$data['result']=$ort->result;
$data['error']='false';
@@ -985,7 +1031,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
$reserviert = true;
}
if(!$reserviert || $pruefungstermin->sammelklausur == TRUE)
{
{
$pruefung = new pruefungCis($pruefungstermin->pruefung_id);
$mitarbeiter = new mitarbeiter($pruefung->mitarbeiter_uid);
if($ort_kurzbz === "buero")
@@ -1018,7 +1064,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
$reservierung->insertamum = date('Y-m-d G:i:s');
$reservierung->insertvon = $uid;
$reservierungError = false;
foreach($stunden as $h)
{
$reservierung->stunde = $h;
@@ -1028,7 +1074,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
}
}
if(!$reservierungError)
{
{
$pruefungstermin->ort_kurzbz = $reservierung->ort_kurzbz;
if($pruefungstermin->save(false))
{
@@ -1074,4 +1120,4 @@ function getLvKompatibel($lvid)
}
return $data;
}
?>
?>
+64 -55
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -29,8 +29,15 @@ require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/konto.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
//TODO
$uid = get_uid();
$db = new basis_db();
@@ -50,7 +57,7 @@ $studiensemester->getAll();
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
@@ -59,12 +66,12 @@ $studiensemester->getAll();
#pruefungen, #prfTermine {
width: 50%;
}
#details {
width: 50%;
/* margin-left: 1.5em;*/
}
#lvDetails, #prfDetails {
min-width: 40%;
margin-bottom: 1em;
@@ -72,21 +79,21 @@ $studiensemester->getAll();
float:left;
/*border: 1px solid black;*/
}
/* #prfDetails {
float:right;
}*/
#accordion {
width: 60%;
clear: left;
clear: right;
}
.titel {
font-weight: bold;
}
#message {
position: fixed;
bottom: 0px;
@@ -95,7 +102,7 @@ $studiensemester->getAll();
font-size: 1.5em;
font-weight: bold;
}
.columnheader1 {
width: 30%;
}
@@ -108,13 +115,13 @@ $studiensemester->getAll();
.columnheader4 {
width: 5%;
}
#accordion p {
margin: 0;
height: 24px;
}
</style>
</head>
<body>
<script>
@@ -122,7 +129,7 @@ $studiensemester->getAll();
$(document).ajaxSend(function(event, xhr, options){
count++;
});
$(document).ajaxComplete(function(event, xhr, settings){
count--;
//Wenn alle AJAX-Request fertig sind
@@ -135,7 +142,7 @@ $studiensemester->getAll();
$("#accordion").attr("style", "visibility: visible;");
}
});
$(document).ready(function(){
loadPruefungen();
loadPruefungenOfStudiengang();
@@ -146,7 +153,7 @@ $studiensemester->getAll();
width: "auto"
});
$("#dialog").dialog({ autoOpen: false });
$("#details").dialog({
modal: true,
autoOpen: false,
@@ -169,10 +176,10 @@ $studiensemester->getAll();
;
?>
</script>
<h1>Prüfungsanmeldung für <?php echo $benutzer->vorname." ".$benutzer->nachname." (".$uid.")"; ?></h1>
<h1><?php echo $p->t('pruefung/anmeldungFuer'); ?> <?php echo $benutzer->vorname." ".$benutzer->nachname." (".$uid.")"; ?></h1>
<?php
echo '<h3>Filter</h3>';
echo '<p>Studiensemester: ';
echo '<h3>'.$p->t('pruefung/filter').'</h3>';
echo '<p>'.$p->t('global/studiensemester').': ';
echo '<select id="filter_studiensemester" onchange="refresh();">';
$aktuellesSemester = $studiensemester->getaktorNext();
foreach($studiensemester->studiensemester as $sem)
@@ -187,51 +194,52 @@ $studiensemester->getAll();
}
}
echo '</select></p>';
?>
<div id="details" title="Details">
<div id="details" title="<?php echo $p->t('pruefung/details'); ?>">
<div id="lvDetails">
<h1>LV-Details</h1>
<span class="titel">Bezeichnung: </span><span id="lvBez"></span><br/>
<span class="titel">ECTS: </span><span id="lvEcts"></span><br/>
<h1><?php echo $p->t('pruefung/lvDetails'); ?></h1>
<span class="titel"><?php echo $p->t('global/bezeichnung'); ?>: </span><span id="lvBez"></span><br/>
<span class="titel"><?php echo $p->t('global/ects'); ?>: </span><span id="lvEcts"></span><br/>
</div>
<div id="prfDetails">
<h1>Prüfungsdetails</h1>
<span class="titel">Typ: </span><span id="prfTyp"></span><br/>
<span class="titel">Methode: </span><span id="prfMethode"></span><br/>
<span class="titel">Beschreibung: </span><span id="prfBeschreibung"></span><br/>
<h1><?php echo $p->t('pruefung/pruefungsDetails'); ?></h1>
<span class="titel"><?php echo $p->t('pruefung/typ'); ?>: </span><span id="prfTyp"></span><br/>
<span class="titel"><?php echo $p->t('pruefung/pruefungMethode'); ?>: </span><span id="prfMethode"></span><br/>
<span class="titel"><?php echo $p->t('global/beschreibung'); ?>: </span><span id="prfBeschreibung"></span><br/>
<span id="prfEinzeln"></span><br/>
<span class="titel" style="visibility: hidden;">Intervall: </span><span id="prfIntervall"></span><br/>
<span class="titel" style="visibility: hidden;"><?php echo $p->t('pruefung/intervall'); ?>: </span><span id="prfIntervall"></span><br/>
</div>
</div>
<div id="message"></div>
<div id="accordion" style="visibility: hidden;">
<h2>Besuchte Lehrveranstaltungen</h2>
<h2><?php echo $p->t('pruefung/besuchteLehrveranstaltungen'); ?></h2>
<div>
<table id="table1" class="tablesorter">
<thead>
<tr>
<th class="columnheader1">Insitut</th>
<th class="columnheader2">Lehrveranstaltung</th>
<th class="columnheader3">Termin</th>
<th class="columnheader4">freie Plätze</th>
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
</tr>
</thead>
<tbody id="pruefungen">
</tbody>
</table>
</table>
</div>
<h2>Lehrveranstaltungen von Studiengang</h2>
<?php if(!defined('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG') || CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG == true): ?>
<h2><?php echo $p->t('pruefung/lvVonStudiengang'); ?></h2>
<div>
<table id="table2" class="tablesorter">
<thead>
<tr>
<th class="columnheader1">Insitut</th>
<th class="columnheader2">Lehrveranstaltung</th>
<th class="columnheader3">Termin</th>
<th class="columnheader4">freie Plätze</th>
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
</tr>
</thead>
<tbody id="pruefungenStudiengang">
@@ -239,15 +247,16 @@ $studiensemester->getAll();
</tbody>
</table>
</div>
<h2>Alle Lehrveranstaltungen</h2>
<?php endif; ?>
<h2><?php echo $p->t('pruefung/lvAlle'); ?></h2>
<div>
<table id="table3" class="tablesorter">
<thead>
<tr>
<th class="columnheader1">Insitut</th>
<th class="columnheader2">Lehrveranstaltung</th>
<th class="columnheader3">Termin</th>
<th class="columnheader4">freie Plätze</th>
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
</tr>
</thead>
<tbody id="pruefungenGesamt">
@@ -256,7 +265,7 @@ $studiensemester->getAll();
</table>
</div>
</div>
<div id="saveDialog" title="Anmeldung speichern">
<div id="saveDialog" title="<?php echo $p->t('pruefung/anmeldungSpeichern'); ?>">
<form id="saveAnmeldungForm">
<table id="neueAnmeldung">
<tr>
@@ -267,40 +276,40 @@ $studiensemester->getAll();
</td>
</tr>
<tr>
<td style="vertical-align: top; font-weight: bold;">Lehrveranstaltung: </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/lehrveranstaltung'); ?>: </td>
<td>
<span id="lehrveranstaltung"></span>
</td>
</tr>
<tr>
<td style="vertical-align: top; font-weight: bold;">Von: </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/von'); ?>: </td>
<td>
<span id="terminVon"></span>
</td>
</tr>
<tr>
<td style="vertical-align: top; font-weight: bold;">Bis: </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/bis'); ?>: </td>
<td>
<span type="text" id="terminBis" disabled="true"></span>
</td>
</tr>
<?php if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true): ?>
<tr>
<td style="vertical-align: top; font-weight: bold;">Studienverpflichtung:* </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('pruefung/studienverpflichtung'); ?>:* </td>
<td>
<select id="studienverpflichtung"></select>
</td>
</tr>
<?php endif; ?>
<tr>
<td style="vertical-align: top; font-weight: bold;">Bemerkung: </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/anmerkung'); ?>: </td>
<td>
<textarea id="anmeldungBemerkung" rows="10" cols="20"></textarea>
</td>
</tr>
<tr>
<td><input type="button" value="Anmelden" onclick="saveAnmeldung();"></td>
<td><input type="button" value="<?php echo $p->t('global/anmelden'); ?>" onclick="saveAnmeldung();"></td>
</tr>
</table>
</form>
+67 -33
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -33,6 +33,14 @@ require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$rechte = new benutzerberechtigung();
@@ -42,32 +50,32 @@ $rechte->getBerechtigungen($uid);
<head>
<meta charset="UTF-8">
<script src="../../../../include/js/jquery1.9.min.js"></script>
<style type="text/css">
<style type="text/css">
body {
margin: 0;
padding: 0;
}
* {
box-sizing: border-box;
-moz-box-sizing: border-box;
}
#page {
width: 210mm;
min-height: 297mm;
padding: 20mm;
margin: 10mm auto;
border: 1px #D3D3D3 solid;
border: 1px #ffffff solid;
border-radius: 5px;
background: white;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
font-family: Arial, Helvetica;
}
#subpage {
padding: 10mm;
border: 1px black solid;
border: 1px white solid;
height: 256mm;
outline: 20mm
}
@@ -109,12 +117,12 @@ $rechte->getBerechtigungen($uid);
line-height: 16pt;
font-size: 12pt;
}
@page {
size: A4;
margin: 0;
}
@media print {
html, body {
width: 210mm;
@@ -130,7 +138,7 @@ $rechte->getBerechtigungen($uid);
background: initial;
page-break-after: auto;
}
/*
* Workaround um beim Drucken jede zweite Zeile der Tabelle
* grau darzustellen. Standardmäßig werden von Browsern keine
@@ -139,14 +147,14 @@ $rechte->getBerechtigungen($uid);
tr:nth-child(odd) > td{
box-shadow: inset 0 0 0 1000px lightgrey;
}
//Veranlasst Chrome Hintergrundfarben zu drucken
body{
-webkit-print-color-adjust:exact;
background-color: #FFFFFF;
margin: 0;
}
//Anweisungen nur für Firefox
@-moz-document url-prefix() {
html, body {
@@ -169,26 +177,26 @@ $rechte->getBerechtigungen($uid);
</script>
<div id="page">
<div id="subpage">
<h1>Anmeldungsliste</h1>
<h1><?php echo $p->t('pruefung/anmeldungsliste'); ?></h1>
<?php
if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungAdmin'))
die('Sie haben keine Berechtigung für diese Seite');
$termin_id = filter_input(INPUT_GET,"termin_id");
$lehrveranstaltung_id = filter_input(INPUT_GET,"lehrveranstaltung_id");
$studiensemester = filter_input(INPUT_GET, "studiensemester");
if(is_null($lehrveranstaltung_id))
{
die('Fehlender Parameter lehrveranstaltung_id');
die($p->t('pruefung/fehlenderParam_lvid'));
}
else if(is_null($termin_id))
{
die('Fehlender Parameter termin_id');
die($p->t('pruefung/fehlenderParam_terminid'));
}
else if(is_null($studiensemester))
{
die('Fehlender Parameter studiensemester');
die($p->t('pruefung/fehlenderParam_studiensemester'));
}
else
{
@@ -208,19 +216,21 @@ $rechte->getBerechtigungen($uid);
$einzeln = TRUE;
$pruefungsintervall = $pruefung->pruefungsintervall;
}
}
?>
<span class="bold">Lehrveranstaltung: </span><span><?=$lehrveranstaltung->bezeichnung?></span><br/>
<span class="bold">Studiensemester: </span><span><?=$stdsem->bezeichnung?></span><br/>
<span class="bold">Prüfer: </span><span><?=$mitarbeiter->getFullName(FALSE)?></span><br/>
<span class="bold"><?php echo $p->t('global/lehrveranstaltung'); ?>: </span><span><?=$lehrveranstaltung->bezeichnung?></span><br/>
<span class="bold"><?php echo $p->t('global/studiensemester'); ?>: </span><span><?=$stdsem->bezeichnung?></span><br/>
<span class="bold"><?php echo $p->t('pruefung/pruefer'); ?>: </span><span><?=$mitarbeiter->getFullName(FALSE)?></span><br/>
<table id="liste">
<thead>
<tr>
<th>#</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Matrikelnummer</th>
<th>Datum</th>
<th><?php echo $p->t('global/vorname'); ?></th>
<th><?php echo $p->t('global/nachname'); ?></th>
<th><?php echo $p->t('global/matrikelnummer'); ?></th>
<th><?php echo $p->t('global/datum'); ?></th>
<th><?php echo $p->t('benotungstool/note'); ?></th>
<th><?php echo $p->t('global/anmerkung'); ?></th>
</tr>
</thead>
<tbody>
@@ -231,7 +241,7 @@ $rechte->getBerechtigungen($uid);
{
$student = new student($anmeldung->uid);
$prfTermin = new pruefungstermin($anmeldung->pruefungstermin_id);
if($einzeln)
{
$date = $datum->formatDatum($prfTermin->von, "Y-m-d H:i:s");
@@ -243,22 +253,46 @@ $rechte->getBerechtigungen($uid);
else
{
$date = $datum->formatDatum($prfTermin->von,"d.m.Y - H:i");
$count++;
}
echo '<tr>';
echo '<td>'.$anmeldung->reihung.'</td>';
echo '<td>'.$count.'</td>';
echo '<td>'.$student->vorname.'</td>';
echo '<td>'.$student->nachname.'</td>';
echo '<td>'.$student->matrikelnr.'</td>';
echo '<td>'.$student->matr_nr.'</td>';
echo '<td>'.$date.'</td>';
echo '<td></td>';
echo '<td></td>';
echo '</tr>';
}
?>
</tbody>
<?php
}
else
{
?>
<span><?php echo $p->t('pruefung/keineBestaetigtenAnmeldungenVorhanden'); ?></span><br/>
<?php
}
}
?>
</table>
<br>
<table width="100%" id="liste">
<tr>
<td width="26%"><?php echo $p->t('pruefung/derLektor'); ?></td>
<td width="37%"><?php echo $mitarbeiter->getFullName(FALSE); ?></td>
<td width="37%"></td>
</tr>
<tr>
<td><?php echo $p->t('pruefung/dieKommission'); ?></td>
<td></td>
<td></td>
</tr
</table>
</div>
</div>
</body>
</html>
</html>
+67 -59
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -27,6 +27,14 @@ require_once('../../../../include/functions.inc.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$db = new basis_db();
@@ -43,11 +51,11 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
<html>
<head>
<meta charset="UTF-8">
<title>Prüfungsanmeldung Verwaltung</title>
<title><?php echo $p->t('pruefung/anmeldungenVerwaltenTitle'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
@@ -57,17 +65,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
body {
padding: 10px 0 0 10px;
}
#stgWrapper {
position: absolute;
height: 70px;
width: 850px;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
/*border-radius: 25px;*/
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#studiengaenge {
/*border: 1px solid black;*/
width: 94%;
@@ -78,19 +86,19 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
overflow: auto;
overflow-x: hidden;
}
#prfWrapper {
position: absolute;
height: 70%;
width: 300px;
top: 180px;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
/*border-radius: 25px;*/
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#pruefungen {
/*border: 1px solid black;*/
width: 94%;
@@ -101,7 +109,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
overflow: auto;
overflow-x: hidden;
}
#anmWrapper {
position: absolute;
/*top: 45px;*/
@@ -110,25 +118,25 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
width: 500px;
height: 70%;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
/*border-radius: 25px;*/
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#anmeldungen {
height: 100%;
overflow: auto;
overflow-x: hidden;
}
#anmeldungen > * {
padding: 0.5em;
}
#raum > * {
margin-bottom: 0.5em;
}
#message {
position: fixed;
bottom: 0px;
@@ -137,51 +145,51 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
font-size: 1.5em;
font-weight: bold;
}
#sortable {
list-style-type: none;
margin: 0;
padding: 0;
#sortable {
list-style-type: none;
margin: 0;
padding: 0;
width: 100%;
}
#sortable li {
margin: 0 3px 3px 3px;
padding: 0.2em 0.4em 0.4em;
padding-left: 1.5em;
font-size: 1.4em;
#sortable li {
margin: 0 3px 3px 3px;
padding: 0.2em 0.4em 0.4em;
padding-left: 1.5em;
font-size: 1.4em;
height: 18px;
list-style-image: none;
display: block;
}
#sortable li span {
/*position: absolute;*/
margin-left: -1.3em;
/*position: absolute;*/
margin-left: -1.3em;
float:left;
}
.resultOK {
color: green;
}
.resultNotOK {
color: red;
}
#sortable li a {
float: left;
}
#sortable li div {
float: right;
margin-left: 5px;
font-size: 0.8em;
}
.anmerkungInfo {
text-align: right;
width: 10%;
}
#progressbar {
position: fixed;
width: 300px;
@@ -199,17 +207,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
left: 0px;
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
}
.studiengang {
font-size: 1em;
font-weight: bold;
}
#studiengaenge > div {
float: left;
width: 50%;
}
</style>
</head>
<body>
@@ -225,17 +233,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
});
});
</script>
<h1>Anmeldungen Verwalten</h1>
<h1><?php echo $p->t('pruefung/anmeldungenVerwalten'); ?></h1>
<div id='stgWrapper'>
<div id='studiengaenge'>
<div>
<h2>Studiengänge</h2>
<h2><?php echo $p->t('global/studiengang'); ?></h2>
<div id='stgListe'>
</div>
</div>
<div>
<h2>Studiensemester</h2>
<h2><?php echo $p->t('global/studiensemester'); ?></h2>
<?php
echo '<select id="filter_studiensemester" onchange="loadPruefungStudiengang();" style="visibility: hidden;">';
$aktuellesSemester = $studiensemester->getaktorNext();
@@ -259,7 +267,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
<div id='prfWrapper'>
<div id='pruefungen'>
<h2>Prüfungen</h2>
<h2><?php echo $p->t('pruefung/pruefungPruefungenTitle'); ?></h2>
<ul id="pruefungenListe">
</ul>
@@ -267,9 +275,9 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
<div id='anmWrapper'>
<div id="anmeldungen">
<h2>Anmeldungen</h2>
<h2><?php echo $p->t('pruefung/pruefungsbewertungAnmeldungen'); ?> <span id='lvdaten'></span></h2>
<div id="anmeldung_hinzufuegen">
</div>
<div id="anmeldeDaten">
@@ -278,20 +286,20 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
<div id="kommentar">
</div>
<div id="kommentarSpeichernButton">
</div>
<div id="raumLink">
</div>
<div id="listeDrucken">
</div>
<div id="raumDialog">
<div id="raum">
</div>
<div id="raumSpeichernButton">
@@ -299,7 +307,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
</div>
</div>
<div id="message"></div>
<div id="progressbar"></div>
</body>
+300
View File
@@ -0,0 +1,300 @@
<?php
/* Copyright (C) 2014 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: Stefan Puraner <puraner@technikum-wien.at>
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
?>
/**
* Error-Behandlung bei Ajax Requests
*/
function loadError(xhr, textStatus, errorThrown)
{
if(xhr.status==200)
alert('Fehler:'+xhr.responseText);
else
alert('Fehler beim Laden der Daten. ErrorNr:'+xhr.status);
}
/**
* Lädt alle Prüfungen eines Mitarbeiters
* @returns {undefined}
*/
function loadPruefungenMitarbeiter()
{
var uid = $("#mitarbeiter_uid").val();
$.ajax({
dataType: 'json',
url: "./pruefungsbewertung.json.php",
type: "POST",
data: {
method: "getPruefungMitarbeiter",
mitarbeiter_uid: uid
},
error: loadError
}).success(function(data){
$("#pruefungen").find("h2").first().text("<?php echo $p->t('pruefung/pruefungPruefungenTitle'); ?> ("+uid+")");
if(data.error === 'false')
{
var liste = "";
data.result.forEach(function(e){
liste += "<li>"+e.bezeichnung+"<ul>";
e.pruefung.lehrveranstaltungen.forEach(function(d)
{
d.pruefung.termine.forEach(function(f){
liste += "<li> <a onclick='showTeilnehmer(\""+f.pruefungstermin_id+"\", \""+e.lehrveranstaltung_id+"\", \""+e.bezeichnung+"\", \""+convertDateTime(f.von)+"\");'>"+convertDateTime(f.von)+"</a></li>";
});
})
liste += "</li></ul>";
});
$("#pruefungenListe").html(liste);
}
else
{
$("#pruefungenListe").html(data.errormsg);
}
});
}
/**
* Lädt die Anmeldungen zu einer Prüfung
* @param {type} pruefungstermin_id ID des Prüfungstermins
* @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
* @returns {undefined}
*/
function showTeilnehmer(pruefungstermin_id, lehrveranstaltung_id, lehrveranstaltung, datum)
{
$("#modalOverlay").addClass("modalOverlay");
$("#anmeldeDaten").empty();
$("#anmeldungen").children("h2").text("<?php echo $p->t('pruefung/bewertungenZu'); ?> "+lehrveranstaltung+" ("+datum+")");
var noten = "<select onchange='markAsUnsaved(this);'><option value='null'><?php echo $p->t('pruefung/keineAuswahl'); ?></option>";
$.ajax({
dataType: 'json',
url: "./pruefungsbewertung.json.php",
type: "POST",
data: {
method: "getNoten"
},
error: loadError
}).success(function(data){
if(data.error != 'true')
{
data.result.forEach(function(d)
{
noten += "<option value="+d.note+">"+d.bezeichnung+"</option>";
});
noten += "</select>";
}
else
{
messageBox("message",data.errormsg, "red", "highlight", 1000);
}
}).complete(function(event, xhr, settings){
var notenSelect = noten;
$.ajax({
dataType: 'json',
url: "./pruefungsbewertung.json.php",
type: "POST",
data: {
method: "getAnmeldungenTermin",
pruefungstermin_id: pruefungstermin_id,
lehrveranstaltung_id: lehrveranstaltung_id
},
error: loadError
}).success(function(data){
var entry = "";
if(data.error === "false")
{
data.result.forEach(function(d)
{
if(d.status_kurzbz === "bestaetigt")
{
var datum = d.von.split(" ");
if(d.pruefung.note===null)
{
entry = "<div class='anmeldung' id="+d.student.uid+"><div>"+d.student.vorname+" "+d.student.nachname+"</div>"+notenSelect+"<input type='button' onclick='saveBeurteilung(this,\""+datum[0]+"\",\""+d.pruefungsanmeldung_id+"\",\""+d.pruefung_id+"\",\""+d.lehrveranstaltung_id+"\");' value='<?php echo $p->t('global/speichern'); ?>'/></br><input id='note_anmerkung_"+d.student.uid+"' placeholder='<?php echo $p->t('global/anmerkung'); ?>' /></div>";
}
else
{
entry = "<div class='anmeldung' id="+d.student.uid+"><div>"+d.student.vorname+" "+d.student.nachname+"</div>"+notenSelect+"<input type='button' onclick='updateBeurteilung(this,\""+d.pruefung.pruefung_id+"\");' value='<?php echo $p->t('global/speichern'); ?>'/></br><input id='note_anmerkung_"+d.student.uid+"' placeholder='<?php echo $p->t('global/anmerkung'); ?>' value='"+d.pruefung.anmerkung+"' /></div>";
}
$("#anmeldeDaten").append(entry);
if(d.pruefung.note!==null)
{
markAsSaved(document.getElementById(d.student.uid).firstChild);
$("#"+d.student.uid).find("select").val(d.pruefung.note);
}
else
{
markAsUnsaved(document.getElementById(d.student.uid).firstChild);
}
var t = $("#note_anmerkung_"+d.student.uid).parent().find('select').first().width();
$("#note_anmerkung_"+d.student.uid).width(t);
}
});
if(entry === "")
{
entry = "<div><div>Keine Anmeldungen vorhanden.</div></div>";
$("#anmeldeDaten").html(entry);
}
}
else
{
entry = "<div><div>"+data.errormsg+"</div></div>";
$("#anmeldeDaten").html(entry);
}
}).complete(function(event, xhr, settings){
$("#modalOverlay").removeClass("modalOverlay");
});
});
}
/**
* Speichert eine Beurteilung
* @param {type} ele Element das die Funtkion aufruft
* @param {type} datum
* @param {type} pruefungsanmeldung_id ID der Anmeldung
* @param {type} pruefung_id ID der Prüfung
* @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
* @returns {void}
*/
function saveBeurteilung(ele, datum, pruefungsanmeldung_id, pruefung_id, lehrveranstaltung_id)
{
var student_uid = $(ele).parent().attr("id");
var mitarbeiter_uid = $("#mitarbeiter_uid").val();
var note = $(ele).parent().find("select").val();
if((note === "null") || (note===null))
{
messageBox("message", "Keine Note ausgewählt.", "red", "highlight", 1000);
return false;
}
var anmerkung = $("#note_anmerkung_"+student_uid).val();
$.ajax({
dataType: 'json',
url: "./pruefungsbewertung.json.php",
type: "POST",
data: {
method: "saveBeurteilung",
pruefung_id: pruefung_id,
lehrveranstaltung_id: lehrveranstaltung_id,
student_uid: student_uid,
mitarbeiter_uid: mitarbeiter_uid,
note: note,
//TODO Datum der Prüfung oder der Beurteilung?????
datum: datum,
anmerkung: anmerkung,
pruefungsanmeldung_id: pruefungsanmeldung_id
},
error: loadError
}).success(function(data){
if(data.error != 'true')
{
markAsSaved(ele);
$(ele).attr("onclick", "updateBeurteilung(this,\""+data.result+"\")");
}
else
{
messageBox("message",data.errormsg, "red", "highlight", 1000);
$(ele).parent().find("select").val(null);
}
}).complete(function(event, xhr, settings){
});
}
/**
* Aktualisiert eine Beurteilung
* @param {type} ele Element das die Funtkion aufruft
* @param {type} pruefung_id ID der Prüfung
* @returns {undefined}
*/
function updateBeurteilung(ele, pruefung_id)
{
var student_uid = $(ele).parent().attr("id");
var mitarbeiter_uid = $("#mitarbeiter_uid").val();
var note = $(ele).parent().find("select").val();
var anmerkung = $("#note_anmerkung_"+student_uid).val();
if((note === "null") || (note===null))
{
messageBox("message", "Keine Note ausgewählt.", "red", "highlight", 1000);
return false;
}
$.ajax({
dataType: 'json',
url: "./pruefungsbewertung.json.php",
type: "POST",
data: {
method: "updateBeurteilung",
pruefung_id: pruefung_id,
note: note,
anmerkung: anmerkung
},
error: loadError
}).success(function(data){
if(data.error != 'true')
{
markAsSaved(ele);
}
else
{
messageBox("message",data.errormsg, "red", "highlight", 1000);
}
}).complete(function(event, xhr, settings){
});
}
/**
* Markiert einen Datensatz als gespeichert
* @param {type} ele Element das die Funtkion aufruft
* @returns {undefined}
*/
function markAsSaved(ele)
{
$(ele).parent().removeClass("unsaved");
$(ele).parent().addClass("saved");
}
/**
* Markiert einen Datensatz als ungespeichert
* @param {type} ele Element das die Funtkion aufruft
* @returns {undefined}
*/
function markAsUnsaved(ele)
{
$(ele).parent().removeClass("saved");
$(ele).parent().addClass("unsaved");
}
+61 -20
View File
@@ -5,18 +5,32 @@ header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Pragma: no-cache' );
header('Content-Type: text/html;charset=UTF-8');
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../config/global.config.inc.php');
if (defined('CIS_PRUEFUNG_SET_ZEUGNISNOTE') && CIS_PRUEFUNG_SET_ZEUGNISNOTE)
require_once('../../../../config/vilesci.config.inc.php');
else
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/note.class.php');
require_once('../../../../include/zeugnisnote.class.php');
require_once('../../../../include/pruefung.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
@@ -43,7 +57,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$data = getPruefungMitarbeiter($mitarbeiter_uid);
@@ -53,7 +67,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$data = getNoten();
@@ -73,7 +87,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$note = filter_input(INPUT_POST, 'note');
@@ -96,7 +110,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
@@ -109,7 +123,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
@@ -120,7 +134,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
@@ -131,7 +145,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
@@ -150,7 +164,8 @@ echo json_encode($data);
* @return Array
*/
function getPruefungMitarbeiter($uid = null)
{
{
global $p;
$lehrveranstaltung = new lehrveranstaltung();
if($uid !== null)
{
@@ -183,7 +198,7 @@ function getPruefungMitarbeiter($uid = null)
else
{
$data['error']='true';
$data['errormsg']="Keine Prüfungen vorhanden.";
$data['errormsg']=$p->t('pruefung/keinePruefungenVorhanden');
}
return $data;
}
@@ -224,6 +239,7 @@ function getNoten()
*/
function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid)
{
global $p;
$pruefungCis = new pruefungCis($pruefung_id);
$lehrveranstaltung = new lehrveranstaltung();
$lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid);
@@ -231,20 +247,20 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid,
$pruefung->new = true;
if(!empty($lehreinheiten))
{
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pruefung->lehreinheit_id = $lehreinheiten[0];
$pruefung->student_uid = $student_uid;
$pruefung->mitarbeiter_uid = $mitarbeiter_uid;
$pruefung->note = $note;
$pruefung->pruefungstyp_kurzbz = $pruefungCis->pruefungstyp_kurzbz;
$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');
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$datum = new datum();
// var_dump(date("Y-m-d", time()));
// var_dump($pruefungstermin->von);
@@ -261,19 +277,42 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid,
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
if (defined('CIS_PRUEFUNG_SET_ZEUGNISNOTE') && CIS_PRUEFUNG_SET_ZEUGNISNOTE)
{
$zeugnisnote = new zeugnisnote();
$zeugnisnote->new = true;
$zeugnisnote->lehrveranstaltung_id = $lehrveranstaltung_id;
$zeugnisnote->student_uid = $student_uid;
$zeugnisnote->studiensemester_kurzbz = $pruefungCis->studiensemester_kurzbz;
$zeugnisnote->note = $note;
$zeugnisnote->benotungsdatum = $pruefung->datum;
$zeugnisnote->insertamum = date('Y-m-d H:i:s');
$zeugnisnote->insertvon = $uid;
$zeugnisnote_check = new zeugnisnote();
if (!$zeugnisnote_check->load($zeugnisnote->lehrveranstaltung_id, $zeugnisnote->student_uid, $zeugnisnote->studiensemester_kurzbz))
{
$zeugnisnote->save(true);
}
else
{
$data['error'] = 'true';
$data['errormsg'] = 'Existing Grade';
}
}
}
else
{
$data['error']='true';
$data['errormsg']="Prüfungstermin liegt nicht in der Vergangenheit.";
$data['errormsg']=$p->t('pruefung/terminNichtInDerVergangenheit');
//$data['errormsg']='Nicht in der Vergangenheit';
}
}
else
else
{
$data['error']='true';
$data['errormsg']="Keine Lehreinheiten vorhanden.";
$data['errormsg']=$p->t('pruefung/keineLehreinheitenVorhanden');
}
return $data;
}
@@ -286,6 +325,7 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid,
*/
function updateBeurteilung($pruefung_id, $note, $uid, $anmerkung)
{
global $p;
$pruefung = new pruefung($pruefung_id);
$pruefung->new = FALSE;
$pruefung->note = $note;
@@ -334,6 +374,7 @@ function getBeurteilung($pruefungsanmeldung_id)
*/
function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id)
{
global $p;
$pruefungsanmeldung = new pruefungsanmeldung();
$anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
foreach($anmeldungen as $a)
@@ -363,8 +404,8 @@ function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id)
}
else
{
$data['errormsg']= 'Keine Anmeldungen vorhanden';
$data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden');
}
}
return $data;
}
}
+40 -32
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -33,6 +33,14 @@ require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$db = new basis_db();
@@ -53,8 +61,8 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js"></script>
<script src="./pruefungsbewertung.js"></script>
<script src="./pruefung.js.php"></script>
<script src="./pruefungsbewertung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
@@ -63,17 +71,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
body {
padding: 10px 0 0 10px;
}
#prfWrapper {
position: absolute;
height: 80%;
width: 300px;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
//border-radius: 25px;
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#pruefungen {
/*border: 1px solid black;*/
width: 94%;
@@ -84,7 +92,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
overflow: auto;
overflow-x: hidden;
}
#anmWrapper {
position: absolute;
/*top: 45px;*/
@@ -92,21 +100,21 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
width: 600px;
height: 80%;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
/*border-radius: 25px;*/
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#anmeldungen {
height: 100%;
overflow: auto;
overflow-x: hidden;
}
#anmeldungen > div, h2 {
padding: 0.5em;
}
#message {
position: fixed;
top: 0px;
@@ -116,12 +124,12 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
font-size: 1.5em;
font-weight: bold;
}
.missingFormData {
border: 2px solid red;
outline: 2px solid red;
}
.modalOverlay {
position: fixed;
width: 100%;
@@ -130,7 +138,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
left: 0px;
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
}
.anmeldung {
font-size: 1.2em;
border-bottom: 1px solid black;
@@ -142,28 +150,28 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
margin: 0 1em 0 0;
float: left;
}
.anmeldung:last-child {
clear: both;
}
.anmeldung div:first-child {
width: 250px;
height: 100%;
}
.saved {
background-color: green;
}
.unsaved {
background-color: red;
}
#wrapper {
display: none;
}
#lektor {
margin: 0 0 1em 0;
}
@@ -209,7 +217,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
});
</script>
<div>
<h1>Prüfungsbewertung</h1>
<h1><?php echo $p->t('pruefung/pruefungsbewertungTitle'); ?></h1>
<div>
<?php
if(!$rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
@@ -224,7 +232,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
}
else
{
echo '<span width="116px">Lektor: </span>';
echo '<span width="116px">'.$p->t('pruefung/pruefungLektor').': </span>';
echo '<input placeholder="UID" type="text" id="lektor" value="" size="30"/>';
echo '<input type="hidden" id="uid" value="" />';
echo '<input type="hidden" id="mitarbeiter_uid" value="" />';
@@ -234,7 +242,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
<div id="wrapper">
<div id='prfWrapper'>
<div id='pruefungen'>
<h2>Prüfungen</h2>
<h2><?php echo $p->t('pruefung/pruefungPruefungenTitle'); ?></h2>
<ul id="pruefungenListe">
</ul>
@@ -242,14 +250,14 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
<div id='anmWrapper'>
<div id="anmeldungen">
<h2>Anmeldungen</h2>
<h2><?php echo $p->t('pruefung/pruefungsbewertungAnmeldungen'); ?></h2>
<div id="anmeldeDaten">
</div>
</div>
</div>
</div>
<div id="message"></div>
<div id="progressbar"></div>
+94 -86
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -29,6 +29,14 @@ require_once('../../../../include/organisationseinheit.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/pruefungsfenster.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$db = new basis_db();
@@ -42,7 +50,7 @@ function compareOe($a, $b)
{
if($a->organisationseinheittyp_kurzbz == $b->organisationseinheittyp_kurzbz)
return 0;
return ($a->organisationseinheittyp_kurzbz < $b->organisationseinheittyp_kurzbz) ? -1 : 1;
}
@@ -50,7 +58,7 @@ function compareOe($a, $b)
<html>
<head>
<meta charset="UTF-8">
<title>Prüfungsfenster anlegen</title>
<title><?php echo $p->t('pruefung/titlePruefungsfenster') ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
@@ -83,7 +91,7 @@ $oe = $rechte->getOEkurzbz("lehre/pruefungsfenster");
$studiensemester = new studiensemester();
$studiensemester->getAll();
if (isset($_POST["method"]) && $_POST["method"] == "save")
if (isset($_POST["method"]) && $_POST["method"] == "save")
{
$method = $_POST["method"];
$studiensemester_selected = (isset($_POST["studiensemester"]) ? $_POST["studiensemester"] : "");
@@ -107,30 +115,30 @@ if (isset($_POST["method"]) && $_POST["method"] == "save")
$pruefungsfenster->ende = $endDate;
if ($pruefungsfenster->save())
{
echo "Datensatz erfolgreich gespeichert";
echo $p->t('pruefung/erfolgreichgespeichert');
}
else {
echo "Fehler: ".$pruefungsfenster->errormsg;
echo $p->t('pruefung/fehler').$pruefungsfenster->errormsg;
}
// }
// else
// }
// else
// {
// echo "Fehler: Startdatum liegt in der Vergangenheit.";
// }
}
}
else
{
echo "Fehler: Enddatum liegt in der Vergangenheit.";
echo $p->t('pruefung/fehlerEndDatumInDerVergangenheit');
}
}
else
{
echo "Fehler: Enddatum liegt nicht nach dem Startdatum.";
}
}
else
else
{
echo $p->t('pruefung/fehlerEndDatumVorStartDatum');
}
}
else
{
echo "Fehler: Datumseingabe nicht korrekt.";
echo $p->t('pruefung/fehlerDatumNichtKorrekt');
}
}
else if(isset($_POST["method"]) && $_POST["method"] == "update")
@@ -151,44 +159,44 @@ else if(isset($_POST["method"]) && $_POST["method"] == "update")
$pruefungsfenster_id = $_POST["id"];
$pruefungsfenster = new pruefungsfenster();
$pruefungsfenster->load($pruefungsfenster_id);
if(in_array($pruefungsfenster->oe_kurzbz, $oe))
{
{
$pruefungsfenster->studiensemester_kurzbz = $studiensemester_selected;
$pruefungsfenster->oe_kurzbz = $oe_kurzbz;
$pruefungsfenster->start = $startDate;
$pruefungsfenster->ende = $endDate;
if ($pruefungsfenster->save())
{
echo "Datensatz erfolgreich geändert.";
echo $p->t('pruefung/erfolgreichgeaendert');
}
else {
echo "Fehler: ".$pruefungsfenster->errormsg;
echo $p->t('pruefung/fehler').$pruefungsfenster->errormsg;
}
}
else
{
echo "Keine Berechtigung zum Ändern dieses Datensatzes.";
echo $p->t('pruefung/keineBerechtigungZumAendernDesDatensatzes');
}
// }
// else
// }
// else
// {
// echo "Fehler: Startdatum liegt in der Vergangenheit.";
// }
}
}
else
{
echo "Fehler: Enddatum liegt in der Vergangenheit.";
echo $p->t('pruefung/fehlerEndDatumInDerVergangenheit');
}
}
else
{
echo "Fehler: Enddatum liegt nicht nach dem Startdatum.";
}
}
else
else
{
echo $p->t('pruefung/fehlerEndDatumVorStartDatum');
}
}
else
{
echo "Fehler: Datumseingabe nicht korrekt.";
echo $p->t('pruefung/fehlerDatumNichtKorrekt');
}
}
else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_GET["method"]=="update")
@@ -198,41 +206,41 @@ else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_
$pruefungsfenster->load($pruefungsfenster_id);
if(!in_array($pruefungsfenster->oe_kurzbz, $oe))
{
echo "Keine Berechtigung zum Anzeigen dieses Datensatzes.";
echo $p->t('pruefung/keineBerechtigungZumAnzeigenDesDatensatzes');
$pruefungsfenster = new pruefungsfenster();
}
$method = $_GET["method"];
}
}
else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_GET["method"]=="delete")
{
{
$pruefungsfenster_id = $_GET["id"];
$pruefungsfenster = new pruefungsfenster();
$pruefungsfenster->load($pruefungsfenster_id);
if(in_array($pruefungsfenster->oe_kurzbz, $oe))
{
if(!$pruefungsfenster->hasPruefungen($pruefungsfenster_id) && $pruefungsfenster->errormsg === null)
{
if($pruefungsfenster->delete($pruefungsfenster_id))
{
echo "Datensatz erfolgreich gelöscht.";
}
echo $p->t('pruefung/erfolgreichgeloescht');
}
else
{
echo "Fehler: ".$pruefungsfenster->errormsg;
}
}
else
{
echo "Prüfungsfenster konnte nicht gelöscht werden, da Prüfungen verknüpft sind.";
echo $p->t('pruefung/pruefungsfensterKonnteNichtGeloeschtWerdenDaPruefungen');
}
$method = $_GET["method"];
}
else
{
echo "Keine Berechtigung zum Löschen dieses Datensatzes.";
echo $p->t('pruefung/keineBerechtigungZumLoeschenDesDatensatzes');
}
}
@@ -240,9 +248,9 @@ $prfFenster = new pruefungsfenster();
$prfFenster->getAll("start");
if($method != "update")
{
?>
<h1>Prüfungsfenster-Verwaltung</h1>
<h2>Neues Prüfungsfenster anlegen</h2>
?>
<h1><?php echo $p->t('pruefung/pruefungsfensterVerwaltung'); ?></h1>
<h2><?php echo $p->t('pruefung/neuesPruefungsfensterAnlegen'); ?></h2>
<div>
<form method="POST" action="pruefungsfenster_anlegen.php">
<table>
@@ -250,12 +258,12 @@ if($method != "update")
<td><input type="hidden" name="method" value="save"></td>
</tr>
<tr>
<td>Studiensemester: </td>
<td><?php echo $p->t('global/studiensemester'); ?>: </td>
<td>
<select id="studiensemester" name="studiensemester">
<?php
$aktuellesSemester = $studiensemester->getSemesterFromDatum(date("Y-m-d"));
foreach ($studiensemester->studiensemester as $result)
foreach ($studiensemester->studiensemester as $result)
{
if($aktuellesSemester == $result->studiensemester_kurzbz)
{
@@ -271,23 +279,23 @@ if($method != "update")
</td>
</tr>
<tr>
<td>Organisationseinheit: </td>
<td><?php echo $p->t('global/organisationseinheit'); ?>: </td>
<td>
<select id="oe_kurzbz" name="oe_kurzbz">
<?php
$oe_array = array();
foreach ($oe as $result)
foreach ($oe as $result)
{
$organisationseinheit = new organisationseinheit();
$organisationseinheit->load($result);
array_push($oe_array, $organisationseinheit);
}
usort($oe_array, "compareOe");
foreach ($oe_array as $result)
foreach ($oe_array as $result)
{
echo '<option value="'.$result->oe_kurzbz.'">'.$result->organisationseinheittyp_kurzbz.' '.$result->bezeichnung.'</option>';
}
@@ -296,15 +304,15 @@ if($method != "update")
</td>
</tr>
<tr>
<td>Start: </td>
<td><?php echo $p->t('pruefung/start'); ?>: </td>
<td><input type="text" id="startDate" name="startDate"></td>
</tr>
<tr>
<td>Ende: </td>
<td><?php echo $p->t('pruefung/ende'); ?>: </td>
<td><input type="text" id="endDate" name="endDate"></td>
</tr>
<tr>
<td><input type="submit" value="speichern"></td>
<td><input type="submit" value="<?php echo $p->t('global/speichern'); ?>"></td>
</tr>
</table>
</form>
@@ -314,8 +322,8 @@ if($method != "update")
else
{
?>
<h1>Prüfungsfenster-Verwaltung</h1>
<h2>Prüfungsfenster bearbeiten</h2>
<h1><?php echo $p->t('pruefung/pruefungsfensterVerwaltung'); ?></h1>
<h2><?php echo $p->t('pruefung/pruefungsfensterBearbeiten'); ?></h2>
<div>
<form method="POST" action="pruefungsfenster_anlegen.php">
<table>
@@ -326,11 +334,11 @@ else
<td><input type="hidden" name="id" value="<?php echo $pruefungsfenster->pruefungsfenster_id; ?>"></td>
</tr>
<tr>
<td>Studiensemester: </td>
<td><?php echo $p->t('global/studiensemester'); ?>: </td>
<td>
<select id="studiensemester" name="studiensemester">
<?php
foreach ($studiensemester->studiensemester as $result)
foreach ($studiensemester->studiensemester as $result)
{
if($result->studiensemester_kurzbz == $pruefungsfenster->studiensemester_kurzbz)
{
@@ -346,11 +354,11 @@ else
</td>
</tr>
<tr>
<td>Organisationseinheit: </td>
<td><?php echo $p->t('global/organisationseinheit'); ?>: </td>
<td>
<select id="oe_kurzbz" name="oe_kurzbz">
<?php
foreach ($oe as $result)
foreach ($oe as $result)
{
if($result == $pruefungsfenster->oe_kurzbz)
{
@@ -366,16 +374,16 @@ else
</td>
</tr>
<tr>
<td>Start: </td>
<td><?php echo $p->t('pruefung/start'); ?>: </td>
<td><input type="text" id="startDate" name="startDate" value="<?php echo $pruefungsfenster->start; ?>"></td>
</tr>
<tr>
<td>Ende: </td>
<td><?php echo $p->t('pruefung/ende'); ?>: </td>
<td><input type="text" id="endDate" name="endDate" value="<?php echo $pruefungsfenster->ende; ?>"></td>
</tr>
<tr>
<td><input type="submit" value="Speichern"></td>
<td><a href="pruefungsfenster_anlegen.php"><input type="button" value="Abbrechen"></a></td>
<td><input type="submit" value="<?php echo $p->t('global/speichern'); ?>"></td>
<td><a href="pruefungsfenster_anlegen.php"><input type="button" value="<?php echo $p->t('global/abbrechen'); ?>"></a></td>
</tr>
</table>
</form>
@@ -390,21 +398,21 @@ else
if((isset($_GET["id"]) && $method!="update") || !isset($_GET["id"]))
{
?>
<h2>Prüfungsfenster bearbeiten</h2>
<h2><?php echo $p->t('pruefung/pruefungsfensterBearbeiten'); ?></h2>
<div style="width: 50%;">
<?php
<?php
if(!empty($prfFenster->result)){
?>
<table class="tablesorter" id="prfTable">
<thead>
<tr>
<th>Studiensemester</th>
<th>Organisationseinheit</th>
<th>Startdatum</th>
<th>Enddatum</th>
<th>Bearbeiten</th>
<th>Löschen</th>
<th><?php echo $p->t('global/studiensemester'); ?></th>
<th><?php echo $p->t('global/organisationseinheit'); ?></th>
<th><?php echo $p->t('pruefung/start'); ?></th>
<th><?php echo $p->t('pruefung/ende'); ?></th>
<th><?php echo $p->t('global/bearbeiten'); ?></th>
<th><?php echo $p->t('global/loeschen'); ?></th>
</tr>
</thead>
<tbody>
@@ -415,14 +423,14 @@ else
if(in_array($result->oe_kurzbz, $oe))
{
$organisationseinheit->load($result->oe_kurzbz);
echo
echo
'<tr>
<td>'.$result->studiensemester_kurzbz.'</td>
<td>'.$organisationseinheit->organisationseinheittyp_kurzbz." ".$organisationseinheit->bezeichnung.'</td>
<td>'.$result->start.'</td>
<td>'.$result->ende.'</td>
<td><a href="pruefungsfenster_anlegen.php?method=update&id='.$result->pruefungsfenster_id.'">bearbeiten</a></td>
<td><a href="pruefungsfenster_anlegen.php?method=delete&id='.$result->pruefungsfenster_id.'">schen</a></td>
<td><a href="pruefungsfenster_anlegen.php?method=update&id='.$result->pruefungsfenster_id.'">'.$p->t('global/bearbeiten').'</a></td>
<td><a href="pruefungsfenster_anlegen.php?method=delete&id='.$result->pruefungsfenster_id.'">'. $p->t('global/loeschen').'</a></td>
</tr>';
}
}
@@ -433,14 +441,14 @@ else
}
else
{
echo
echo
'<tr>
<td>Keine Prüfungsfenster gespeichert.</td>
<td>'.$p->t('pruefung/keinePruefungsfensterGespeichert').'</td>
</tr>';
}
?>
</div>
<?php
<?php
}
?>
</body>
+25 -15
View File
@@ -15,6 +15,14 @@ require_once('../../../../include/datum.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/pruefungsfenster.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
@@ -66,7 +74,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$data = savePruefungstermin($mitarbeiter_uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $pruefungsintervall);
@@ -105,7 +113,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$data = updatePruefungstermin($mitarbeiter_uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu, $pruefungsintervall);
@@ -115,7 +123,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$lvId = $_POST["lehrveranstaltung_id"];
@@ -127,7 +135,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefung_id = $_REQUEST["pruefung_id"];
@@ -138,7 +146,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefung_id = $_REQUEST["pruefung_id"];
@@ -158,7 +166,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
break;
@@ -255,10 +263,11 @@ function getPruefungsfensterByStudiensemester($studiensemester_kurzbz)
*/
function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $pruefungsintervall)
{
global $p;
if($lehrveranstaltungen === null)
{
$data['error']='true';
$data['errormsg']="Keine Lehrverantaltung angegeben.";
$data['errormsg']=$p->t('pruefung/keineLvAngegeben');
return $data;
}
$termineArray = array();
@@ -282,7 +291,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id
else
{
$data['error']='true';
$data['errormsg']="Kollision mit anderem Termin.";
$data['errormsg']=$p->t('pruefung/kollisionMitAnderemTermin');
return $data;
}
// }
@@ -292,7 +301,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id
// $data['errormsg']="Termin ist nicht innerhalb des Prüfungsfensters.";
// return $data;
// }
}
}
$pruefung = new pruefungCis();
$pruefung->termine = $termineArray;
@@ -313,7 +322,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id
array_push($pruefung->lehrveranstaltungen, $lv);
}
}
if($pruefung->save(true))
{
$data['result']="true";
@@ -397,12 +406,13 @@ function getLehrveranstaltungenByMitarbeiter($mitarbeiter_uid, $studiensemester_
*/
function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu, $pruefungsintervall)
{
global $p;
$pruefungsfenster = new pruefungsfenster();
$pruefungsfenster->load($pruefungsfenster_id);
$datum = new datum();
$pruefung = new pruefungCis();
$pruefung->load($pruefung_id);
if($termineNeu !== null)
{
$termineNeuArray = array();
@@ -426,7 +436,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
else
{
$data['error']='true';
$data['errormsg']="Kollision mit anderem Termin.";
$data['errormsg']=$p->t('pruefung/kollisionMitAnderemTermin');
return $data;
}
// }
@@ -442,7 +452,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
$pruefung->saveTerminPruefung($pruefung_id, $t->beginn, $t->ende, $t->max, $t->min, $t->sammelklausur);
}
}
if($termine !== null)
{
$termineArray = array();
@@ -474,7 +484,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
}
$pruefung->termine = $termineArray;
}
$pruefung->mitarbeiter_uid = $uid;
$pruefung->studiensemester_kurzbz = $studiensemester_kurzbz;
$pruefung->pruefungsfenster_id = $pruefungsfenster_id;
@@ -661,4 +671,4 @@ function checkCollision($uid, $beginn, $ende)
}
return false;
}
?>
?>
+51 -43
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -33,6 +33,14 @@ require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$db = new basis_db();
@@ -49,11 +57,11 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
<html>
<head>
<meta charset="UTF-8">
<title>Prüfungstermin festlegen</title>
<title><?php echo $p->t('pruefung/titlePruefungstermin'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
@@ -68,12 +76,12 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
font-size: 1.5em;
font-weight: bold;
}
.missingFormData {
border: 2px solid red;
outline: 2px solid red;
}
.modalOverlay {
position: fixed;
width: 100%;
@@ -82,7 +90,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
left: 0px;
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
}
#prfDetails, #prfVerwaltung {
margin: 1em;
}
@@ -142,7 +150,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
});
</script>
<div id="prfVerwaltung">
<h1>Prüfungen verwalten</h1>
<h1><?php echo $p->t('pruefung/pruefungenVerwalten'); ?></h1>
<table>
<tr>
<?php
@@ -160,7 +168,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
}
else
{
echo '<td width="116px">Lektor:</td>';
echo '<td width="116px">'.$p->t('pruefung/pruefungLektor').':</td>';
echo '<td width="250px"><input placeholder="UID" type="text" id="lektor" value="" size="30"/></td>';
echo '<input type="hidden" id="uid" value="" />';
echo '<input type="hidden" id="mitarbeiter_uid" value="" />';
@@ -169,54 +177,54 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
</tr>
</table>
<form method="post" action="pruefungstermin_festlegen.php" style="display: none;">
<input type="hidden" name="method" value="save">
<table>
<tr>
<td>Titel:</td>
<td><?php echo $p->t('pruefung/pruefungTitel'); ?>:</td>
<td>
<input id='titel' type="text" name="titel" size="30">
</td>
</tr>
<tr>
<td style="vertical-align: top;">Beschreibung:</td>
<td style="vertical-align: top;"><?php echo $p->t('global/beschreibung'); ?>:</td>
<td>
<textarea id='beschreibung' name="beschreibung" rows="5" cols="20"></textarea>
</td>
</tr>
<tr>
<td>Studiensemester:</td>
<td><?php echo $p->t('global/studiensemester'); ?>:</td>
<td>
<select id="studiensemester" name="studiensemester" onchange="loadPruefungsfenster();" onload="loadPruefungsfenster();">
<select id="studiensemester" name="studiensemester" onchange="loadPruefungsfenster(); loadLehrveranstaltungen();" onload="loadPruefungsfenster();">
</select>
</td>
</tr>
<tr>
<td>Prüfungsfenster:</td>
<td><?php echo $p->t('pruefung/pruefungsfenster'); ?>:</td>
<td>
<select id="pruefungsfenster" name="pruefungsfenster" onchange="setDatePicker(this);">
<!--Daten werden durch JavaScript geladen-->
</select>
</td>
</tr>
<tr>
<!--<tr>
<td>Prüfungstyp:</td>
<td>
<select id='pruefungsTyp' name="pruefungsTyp">
<!-- Daten werden per JavaScript geladen-->
</select>
</td>
</tr>
</tr>-->
<tr>
<td style="vertical-align: top;">Methode:</td>
<td style="vertical-align: top;"><?php echo $p->t('pruefung/pruefungMethode'); ?>:</td>
<td><textarea id='methode' placeholder="Multiple Choice, etc." rows="5" cols="20" name="methode"></textarea></td>
</tr>
<tr>
<td>Einzelprüfung:</td>
<td><?php echo $p->t('pruefung/pruefungEinzelpruefung'); ?>:</td>
<td><input id='einzeln' type="checkbox" name="einzelpruefung"></td>
</tr>
<tr style="visibility:hidden;">
<td>Prüfungsintervall:</td>
<td><?php echo $p->t('pruefung/pruefungIntervall'); ?>:</td>
<td>
<select id="pruefungsintervall">
<option value="15">15</option>
@@ -226,7 +234,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
</td>
</tr>
<tr>
<td style="vertical-align: top;">Lehrveranstaltungen:</td>
<td style="vertical-align: top;"><?php echo $p->t('global/lehrveranstaltung'); ?>:</td>
<td>
<div id="lvDropdowns">
<select id="lvDropdown1" onchange="lehrveranstaltungDropdownhinzufuegen(this, false);" name="lv[]">
@@ -236,18 +244,18 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a name="termin">Termin:</a></td>
<td style="vertical-align: top;"><a name="termin"><?php echo $p->t('pruefung/pruefungTermin'); ?>:</a></td>
<td>
<div>
<table width="500px" style="text-align: right;">
<thead>
<tr>
<th>Datum</th>
<th>Von</th>
<th>bis</th>
<th>min. Teilnehmer</th>
<th>max. Teilnehmer</th>
<th>Sammelklausur</th>
<th><?php echo $p->t('global/datum'); ?></th>
<th><?php echo $p->t('global/von'); ?></th>
<th><?php echo $p->t('global/bis'); ?></th>
<th><?php echo $p->t('pruefung/pruefungMinTeilnehmer'); ?></th>
<th><?php echo $p->t('pruefung/pruefungMaxTeilnehmer'); ?></th>
<th><?php echo $p->t('pruefung/pruefungSammelklausur'); ?></th>
<th></th>
</tr>
</thead>
@@ -278,30 +286,30 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
</tbody>
</table>
</div>
<a href="#termin" onclick="terminHinzufuegen();">Termin hinzufügen</a>
<a href="#termin" onclick="terminHinzufuegen();"><?php echo $p->t('pruefung/pruefungTerminHinzufuegen'); ?></a>
</td>
</tr>
<tr>
<td>&nbsp;</td><td><input id="buttonSave" type="button" value="Speichern" onclick='savePruefungstermin();'></td>
<td>&nbsp;</td><td><input id="buttonSave" type="button" value="<?php echo $p->t('global/speichern'); ?>" onclick='savePruefungstermin();'></td>
</tr>
</table>
</form>
</div>
<div id="prfDetails">
<h2>Prüfungen</h2>
<h2><?php echo $p->t('pruefung/pruefungPruefungenTitle'); ?></h2>
<div style="width: 75%;">
<table class="tablesorter" id="prfTable">
<thead>
<tr>
<th>Titel</th>
<th>Studiensemester</th>
<th>Lehrveranstaltungen</th>
<th>Termine</th>
<th>Methode</th>
<th>Prüfungstyp</th>
<th>Einzelprüfung</th>
<th>Mitarbeiter</th>
<th>storniert</th>
<th><?php echo $p->t('pruefung/pruefungTitel'); ?></th>
<th><?php echo $p->t('global/studiensemester'); ?></th>
<th><?php echo $p->t('global/lehrveranstaltung'); ?></th>
<th><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
<th><?php echo $p->t('pruefung/pruefungMethode'); ?></th>
<th><?php echo $p->t('pruefung/pruefungTyp'); ?></th>
<th><?php echo $p->t('pruefung/pruefungEinzelpruefung'); ?></th>
<th><?php echo $p->t('pruefung/pruefungMitarbeiter'); ?></th>
<th><?php echo $p->t('pruefung/storniert'); ?></th>
</tr>
</thead>
<tbody>
+123 -28
View File
@@ -34,20 +34,22 @@ require_once(dirname(__FILE__).'/../../../include/functions.inc.php');
require_once(dirname(__FILE__).'/../../../include/wochenplan.class.php');
require_once(dirname(__FILE__).'/../../../include/datum.class.php');
require_once(dirname(__FILE__).'/../../../include/studiensemester.class.php');
require_once(dirname(__FILE__).'/../../../include/phrasen.class.php');
require_once(dirname(__FILE__).'/../../../include/lehrveranstaltung.class.php');
require_once(dirname(__FILE__).'/../../../include/phrasen.class.php');
require_once(dirname(__FILE__).'/../../../include/Excel/excel.php');
if(!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$sprache = getSprache();
$p=new phrasen($sprache);
$sprache = getSprache();
$p=new phrasen($sprache);
//Startwerte setzen
if(!isset($_GET['db_stpl_table']))
$db_stpl_table='stundenplan';
else
$db_stpl_table=$_GET['db_stpl_table'];
if(!in_array($db_stpl_table,array('stundenplan','stundenplandev')))
die('db_stpl_table invalid');
if(isset($_GET['type']))
@@ -83,16 +85,16 @@ if(isset($_GET["cal"]))
// fuer Abonnierung im Google ueber /webdav/google.php
$cal = $_GET["cal"];
$uid=decryptData($cal,LVPLAN_CYPHER_KEY);
//Wenn der Key manuell geaendert wird koennen Fehlerhaft kodierte Zeichen
//Wenn der Key manuell geaendert wird koennen Fehlerhaft kodierte Zeichen
//entstehen und fuehren zu DB fehlern deshalb werden falsch kodierte uids hier aussortiert
if(!check_utf8($uid))
die('Fehlerhafter Parameter');
//Pruefen ob dieser Benutzer auch wirklich existiert
$benutzer = new benutzer();
if(!$benutzer->load($uid))
die('Ungueltiger Benutzername');
//Output-Format wird auf ical geaendert
$target='ical';
$format='ical';
@@ -114,11 +116,11 @@ if(!isset($begin))
$objSS->load($ss);
$datum_obj = new datum();
$begin = $datum_obj->mktime_fromdate($objSS->start);
// Ein Monat vor ende des Studiensemester soll zusaetzlich das kommende angezeigt werden
$datum_obj = new datum();
$diff = $datum_obj->DateDiff($objSS->ende, date('Y-m-d H:i:s'));
if($diff>=-30)
{
$objSS->getNextFrom($ss);
@@ -128,21 +130,6 @@ if(!isset($begin))
$ende = $datum_obj->mktime_fromdate($objSS->ende);
}
// for spezial friends
if($uid=='maderdon')
{
if(!isset($_GET['format']))
{
$format='ical';
$version=2;
$target='ical';
$begin=1188597600;
$ende=1202166000;
}
}
$jahr=date("Y",$begin);
$mon=date("m",$begin);
$name='FH-Kalender_'.$mon.'_'.$jahr;
@@ -194,6 +181,10 @@ TZOFFSETTO:+0100
END:STANDARD
END:VTIMEZONE';
}
elseif($format=='excel')
{
$exceldata=array();
}
// Print in HTML-File
else
{
@@ -240,7 +231,8 @@ if(!isset($begin) || !isset($ende))
}
}
if($ende-$begin>31536000)
if($ende-$begin>34560000) // = 400 Tage
{
die($p->t('lvplan/datumsbereichZuGross')."!");
}
@@ -299,7 +291,7 @@ while($begin<$ende)
$i++;
if(!date("w",$begin))
$begin=jump_day($begin,1);
$stdplan->init_stdplan();
$datum=$begin;
$begin+=604800; // eine Woche
@@ -312,9 +304,14 @@ while($begin<$ende)
// Stundenplan der Woche drucken
if($format=='csv' || $format=='ical')
{
{
$stdplan->draw_week_csv($target, LVPLAN_KATEGORIE);
}
elseif($format=='excel')
{
$data = $stdplan->draw_week_csv('return', LVPLAN_KATEGORIE);
$exceldata = array_merge($exceldata, $data);
}
else
{
$style='style="padding-top: 10px;" class="page-break-after"';
@@ -335,10 +332,108 @@ elseif($format=='ical')
{
echo $crlf.'END:VCALENDAR';
}
elseif($format=='excel')
{
OutputKalenderAsExcel($exceldata);
}
// Print in HTML-File
else
{
echo '<P class="dont-print">'.$p->t('lvplan/fehlerUndFeedback').' <A class="Item" href="mailto:'.MAIL_LVPLAN.'">'.$p->t('lvplan/lvKoordinationsstelle').'</A></P>';
echo '</body></html>';
}
/**
*
*/
function OutputKalenderAsExcel($exceldata)
{
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Termine". "_" . date("d_m_Y") . ".xls");
$workbook->setVersion(8);
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Termine");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
// let's merge
$format_title->setAlign('merge');
//Zeilenueberschriften ausgeben
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','Anmerkung','StundeVon','StundeBis');
$i=0;
foreach ($headline as $title)
{
$worksheet->write(0,$i,$title, $format_bold);
$maxlength[$i]=mb_strlen($title);
$i++;
}
$zeile=1;
if(is_array($exceldata))
{
foreach($exceldata as $row)
{
$i=0;
writecol($worksheet, $maxlength,$zeile, $i++, $row['start_date']);
writecol($worksheet, $maxlength,$zeile, $i++, $row['start_time']);
writecol($worksheet, $maxlength,$zeile, $i++, $row['end_time']);
writecol($worksheet, $maxlength,$zeile, $i++, $row['ort']);
$lkt='';
foreach($row['lektor_uid'] as $row_lkt)
{
$bn = new benutzer();
$bn->load($row_lkt);
$lkt.=$bn->vorname.' '.$bn->nachname.', ';
}
$lkt = mb_substr($lkt, 0, -2);
writecol($worksheet, $maxlength,$zeile, $i++, $lkt);
writecol($worksheet, $maxlength,$zeile, $i++, implode(',',$row['gruppen']));
if($row['lehrfach_id']!='')
{
$lv = new lehrveranstaltung();
$lv->load($row['lehrfach_id']);
$bezeichnung = $lv->bezeichnung;
}
else
$bezeichnung = $row['Summary'];
writecol($worksheet, $maxlength,$zeile, $i++, $bezeichnung);
writecol($worksheet, $maxlength,$zeile, $i++, $row['titel']);
writecol($worksheet, $maxlength,$zeile, $i++, min($row['stunden']));
writecol($worksheet, $maxlength,$zeile, $i++, max($row['stunden']));
$zeile++;
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
}
function writecol($worksheet, &$maxlength, $zeile, $i, $content)
{
$worksheet->write($zeile, $i, $content);
if(isset($maxlength[$i]))
if(mb_strlen($content)>$maxlength[$i])
$maxlength[$i]=mb_strlen($content);
}
?>
+107 -85
View File
@@ -37,6 +37,85 @@ if (!$db = new basis_db())
$uid=get_uid();
//$type='ort';
//$ort_kurzbz='EDV6.08';
//$datum=1102260015;
// Deutsche Umgebung
//$loc_de=setlocale(LC_ALL, 'de_AT@euro', 'de_AT','de_DE@euro', 'de_DE');
//setlocale(LC_ALL, $loc_de);
// Variablen uebernehmen
if (isset($_GET['type']))
$type=$_GET['type'];
if (isset($_POST['type']))
$type=$_POST['type'];
if (isset($_GET['datum']))
$datum=$_GET['datum'];
if (isset($_POST['datum']))
$datum=$_POST['datum'];
if (isset($_GET['ort_kurzbz']))
$ort_kurzbz=$_GET['ort_kurzbz'];
else if (isset($_POST['ort_kurzbz']))
$ort_kurzbz=$_POST['ort_kurzbz'];
else
$ort_kurzbz=null;
if (isset($_GET['pers_uid']))
$pers_uid=$_GET['pers_uid'];
if (isset($_GET['stg_kz']))
$stg_kz=$_GET['stg_kz'];
else if (isset($_POST['stg_kz']))
$stg_kz=$_POST['stg_kz'];
else
$stg_kz=null;
if (isset($_GET['lva']))
$lva=$_GET['lva'];
else if (isset($_POST['lva']))
$lva=$_POST['lva'];
else
$lva=null;
if (isset($_POST['sem']))
$sem=$_POST['sem'];
else if (isset($_GET['sem']))
$sem=$_GET['sem'];
else
$sem=null;
if (isset($_POST['ver']))
$ver=$_POST['ver'];
else if (isset($_GET['ver']))
$ver=$_GET['ver'];
else
$ver=null;
if (isset($_POST['grp']))
$grp=$_POST['grp'];
else if (isset($_GET['grp']))
$grp=$_GET['grp'];
else
$grp=null;
if (isset($_POST['gruppe_kurzbz']))
$gruppe_kurzbz=$_POST['gruppe_kurzbz'];
else if (isset($_GET['gruppe_kurzbz']))
$gruppe_kurzbz=$_GET['gruppe_kurzbz'];
else
$gruppe_kurzbz=null;
if (isset($_POST['user_uid']))
$user_uid=$_POST['user_uid'];
if (isset($_POST['reserve']))
$reserve=$_POST['reserve'];
if (isset($_POST['beschreibung']))
$beschreibung=$_POST['beschreibung'];
if (isset($_POST['titel']))
$titel=$_POST['titel'];
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
@@ -145,18 +224,41 @@ $uid=get_uid();
});
-->
</script>
<LINK rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link href="../../../skin/flexcrollstyles.css" rel="stylesheet" type="text/css" />
<script src="../../../include/js/flexcroll.js" type="text/javascript" ></script>
<?php
// ADDONS laden
$addon_obj = new addon();
$addon_obj->loadAddons();
foreach($addon_obj->result as $addon)
{
if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php'))
echo '<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
}
// Wenn Seite fertig geladen ist Addons aufrufen
echo '
<script>
$( document ).ready(function()
{
if(typeof addon !== \'undefined\')
{
for(i in addon)
{
addon[i].init("cis/private/lvplan/stpl_week.php", {ort_kurzbz:\''.$ort_kurzbz.'\'});
}
}
});
</script>
';
?>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
</HEAD>
<BODY id="inhalt">
<div class="flexcroll" style="outline: none;">
<h1><?php echo $p->t('lvplan/wochenplan');?></h1>
<table class="tabcontent">
<tr>
<td>
<a href="index.php"><?php echo $p->t('lvplan/hauptmenue');?></a><br>
<?php echo '<a href="../../../cms/content.php?content_id='.$p->t("dms_link/lvPlanFAQ").'" class="hilfe" target="_blank">'.$p->t("global/hilfe").'</a>'; ?>
<?php if ($p->t("dms_link/lvPlanFAQ")!='') echo '<a href="../../../cms/content.php?content_id='.$p->t("dms_link/lvPlanFAQ").'" class="hilfe" target="_blank">'.$p->t("global/hilfe").'</a>'; ?>
</td>
</tr>
</table>
@@ -173,85 +275,6 @@ $uid=get_uid();
* Update: 15.11.2004 von Christian Paminger
*****************************************************************************/
//$type='ort';
//$ort_kurzbz='EDV6.08';
//$datum=1102260015;
// Deutsche Umgebung
//$loc_de=setlocale(LC_ALL, 'de_AT@euro', 'de_AT','de_DE@euro', 'de_DE');
//setlocale(LC_ALL, $loc_de);
// Variablen uebernehmen
if (isset($_GET['type']))
$type=$_GET['type'];
if (isset($_POST['type']))
$type=$_POST['type'];
if (isset($_GET['datum']))
$datum=$_GET['datum'];
if (isset($_POST['datum']))
$datum=$_POST['datum'];
if (isset($_GET['ort_kurzbz']))
$ort_kurzbz=$_GET['ort_kurzbz'];
else if (isset($_POST['ort_kurzbz']))
$ort_kurzbz=$_POST['ort_kurzbz'];
else
$ort_kurzbz=null;
if (isset($_GET['pers_uid']))
$pers_uid=$_GET['pers_uid'];
if (isset($_GET['stg_kz']))
$stg_kz=$_GET['stg_kz'];
else if (isset($_POST['stg_kz']))
$stg_kz=$_POST['stg_kz'];
else
$stg_kz=null;
if (isset($_GET['lva']))
$lva=$_GET['lva'];
else if (isset($_POST['lva']))
$lva=$_POST['lva'];
else
$lva=null;
if (isset($_POST['sem']))
$sem=$_POST['sem'];
else if (isset($_GET['sem']))
$sem=$_GET['sem'];
else
$sem=null;
if (isset($_POST['ver']))
$ver=$_POST['ver'];
else if (isset($_GET['ver']))
$ver=$_GET['ver'];
else
$ver=null;
if (isset($_POST['grp']))
$grp=$_POST['grp'];
else if (isset($_GET['grp']))
$grp=$_GET['grp'];
else
$grp=null;
if (isset($_POST['gruppe_kurzbz']))
$gruppe_kurzbz=$_POST['gruppe_kurzbz'];
else if (isset($_GET['gruppe_kurzbz']))
$gruppe_kurzbz=$_GET['gruppe_kurzbz'];
else
$gruppe_kurzbz=null;
if (isset($_POST['user_uid']))
$user_uid=$_POST['user_uid'];
if (isset($_POST['reserve']))
$reserve=$_POST['reserve'];
if (isset($_POST['beschreibung']))
$beschreibung=$_POST['beschreibung'];
if (isset($_POST['titel']))
$titel=$_POST['titel'];
//Parameter pruefen
if($stg_kz!='' && !is_numeric($stg_kz))
die('Studiengang ist ungueltig');
@@ -411,6 +434,5 @@ if (isset($count))
?>
<P><br><?php echo $p->t('lvplan/fehlerUndFeedback');?> <A class="Item" href="mailto:<?php echo MAIL_LVPLAN?>"><?php echo $p->t('lvplan/lvKoordinationsstelle');?></A>.</P>
</div>
</BODY>
</HTML>
+61 -34
View File
@@ -34,10 +34,11 @@ require_once('../../include/konto.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/vorlage.class.php');
require_once('../../include/addon.class.php');
require_once('../../include/studiengang.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
$user = get_uid();
loadVariables($user);
@@ -60,9 +61,9 @@ else
if(isset($_GET['version']) && is_numeric($_GET['version']))
$version = $_GET['version'];
else
else
$version ='';
if(isset($_GET['xsl_oe_kurzbz']))
$xsl_oe_kurzbz=$_GET['xsl_oe_kurzbz'];
else
@@ -92,10 +93,35 @@ if(isset($_GET['typ']))
$params.='&typ='.$_GET['typ'];
if(isset($_GET['all']))
$params.='&all=1';
if(isset($_GET['output']))
$output=$_GET['output'];
//OE fuer Output ermitteln
if ($xsl_oe_kurzbz!='')
{
$oe_kurzbz = $xsl_oe_kurzbz;
}
else
$output='pdf';
{
if($xsl_stg_kz=='')
$xsl_stg_kz='0';
$oe = new studiengang();
$oe->load($xsl_stg_kz);
$oe_kurzbz = $oe->oe_kurzbz;
}
//Darf der User Dokumente in einem NICHT-PDF-Format exportieren?
if (isset($_GET['output']) && $_GET['output']!='pdf')
{
if (!$rechte->isBerechtigt('system/change_outputformat',$oe_kurzbz))
{
$output = 'pdf';
}
else
$output = $_GET['output'];
}
else
$output = 'pdf';
$konto = new konto();
if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
@@ -106,11 +132,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
}
$stsem_zahlung = $konto->getLastStSemBuchungstypen($user, $buchungstypen);
if(isset($_GET['ss']))
$stsem_zahlung = $konto->getLastStSemBuchungstypen($user, $buchungstypen, $_GET['ss']);
if((($xsl=='Inskription') || ($xsl == 'Studienblatt')) && ($_GET["ss"] != $stsem_zahlung))
{
die('Der Studienbeitrag wurde noch nicht bezahlt');
die('Der Studienbeitrag wurde noch nicht bezahlt');
}
if(isset($_GET['buchungsnummern']))
{
@@ -134,11 +161,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
//echo $xml_url;
// Load the XML source
$xml_doc = new DOMDocument;
if(!$xml_doc->load($xml_url))
die('unable to load xml');
//echo ':'.$xml_doc->saveXML().':';
//XSL aus der DB holen
$vorlage = new vorlage();
if($xsl_oe_kurzbz!='')
@@ -149,7 +176,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
{
if($xsl_stg_kz=='')
$xsl_stg_kz='0';
$vorlage->getAktuelleVorlage($xsl_stg_kz, $xsl, $version);
}
@@ -159,12 +186,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
{
case 'application/vnd.oasis.opendocument.text':
$endung = 'odt';
break;
break;
case 'application/vnd.oasis.opendocument.spreadsheet':
$endung = 'ods';
break;
$endung = 'ods';
break;
default:
$endung = 'pdf';
$endung = 'pdf';
}
// Load the XSL source
@@ -172,11 +199,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
if(!$xsl_doc->loadXML($vorlage->text))
die('unable to load xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
$buffer = $proc->transformToXml($xml_doc);
//echo $buffer;
//exit;
@@ -186,7 +213,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
file_put_contents('content.xml', $buffer);
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
if(isset($_GET['style_xsl']))
{
$style_xsl=$_GET['style_xsl'];
@@ -220,8 +247,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
}
if(!$vorlage_found)
$zipfile = DOC_ROOT.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
$tempname_zip = 'out.zip';
if(copy($zipfile, $tempname_zip))
{
@@ -229,10 +256,10 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
if(isset($_GET['style_xsl']))
exec("zip $tempname_zip styles.xml");
clearstatcache();
clearstatcache();
if($vorlage->bezeichnung!='')
$filename = $vorlage->bezeichnung;
else
else
$filename = $vorlage->vorlage_kurzbz;
if($output == 'pdf')
{
@@ -261,12 +288,12 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$filename = $filename.'.pdf';
}
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName");
$fsize = filesize($tempPdfName);
$fsize = filesize($tempPdfName);
$handle = fopen($tempPdfName,'r');
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.$fsize);
header('Content-Length: '.$fsize);
}
else if($output =='odt')
{
@@ -280,8 +307,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$handle = fopen($tempname_zip,'r');
header('Content-type: '.$vorlage->mimetype);
header('Content-Disposition: attachment; filename="'.$filename.'.'.$endung.'"');
header('Content-Length: '.$fsize);
}
header('Content-Length: '.$fsize);
}
else if($output =='doc')
{
$tempPdfName = $vorlage->vorlage_kurzbz.'.doc';
@@ -291,19 +318,19 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$studienordnung->loadStudienordnung($_GET['studienordnung_id']);
$filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.doc';
}
else
else
{
$filename = $filename.'.doc';
}
exec("unoconv -e IsSkipEmptyPages=false --stdout -f doc $tempname_zip > $tempPdfName");
$fsize = filesize($tempPdfName);
$fsize = filesize($tempPdfName);
$handle = fopen($tempPdfName,'r');
header('Content-type: application/vnd.ms-word');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.$fsize);
header('Content-Length: '.$fsize);
}
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 8192);
}
@@ -339,7 +366,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
//wenn uid gefunden wird, dann den Nachnamen zum Dateinamen dazuhaengen
$nachname='';
if(isset($_GET['uid']) && $_GET['uid']!='')
{
+31 -12
View File
@@ -26,6 +26,7 @@ require_once('../../../include/studiensemester.class.php');
require_once('../../../include/konto.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -38,7 +39,25 @@ if(isset($_GET['stsem']))
else
$stsem = '';
$uid=get_uid();
$uid=get_uid();
if(isset($_GET['uid']))
{
// Administratoren duerfen die UID als Parameter uebergeben um die Notenliste
// von anderen Personen anzuzeigen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
$getParam = "&uid=" . $uid;
}
else
$getParam = "";
}
else
$getParam='';
$student_studiengang = new student();
$student_studiengang->load($uid);
@@ -102,7 +121,7 @@ echo '
<script language="JavaScript" type="text/javascript">
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location=\'" + selObj.options[selObj.selectedIndex].value + "\'");
eval(targ + ".location=\'" + selObj.options[selObj.selectedIndex].value + "'.$getParam.'\'");
if(restore)
{
@@ -114,13 +133,13 @@ echo '
<body>
<h1>'.$p->t('tools/dokumente').'</h1>';
//Aktuelles Studiensemester oder gewaehltes Studiensemester
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
echo "<br><hr>";
@@ -133,7 +152,7 @@ echo $p->t('global/studiensemester')."</b> <SELECT name='stsem' onChange=\"MM_ju
echo "<OPTION value='dokumente.php?stsem=$semrow->studiensemester_kurzbz'>$semrow->studiensemester_kurzbz</OPTION>";
}
echo "</SELECT><br />";
$konto = new konto();
$buchungstypen = array();
@@ -142,11 +161,11 @@ if(defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN"))
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
}
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen);
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen, $stsem);
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
{
echo "<a href='../pdfExport.php?xsl=Inskription&xml=student.rdf.php&ss=".$stsem."&uid=".$uid."&xsl_stg_kz=".$xsl_stg_kz."'>".$p->t('tools/inskriptionsbestaetigung')."</a>";
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahltAmDatum',array($stsem, $konto->buchungsdatum));
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem));
}
else
echo $p->t('tools/inskriptionsbestaetigung')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem));
@@ -158,7 +177,7 @@ if(defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUC
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
{
echo "<a href='../pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&ss=".$stsem."&uid=".$uid."'>".$p->t('tools/studienbuchblatt')."</a>";
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahltAmDatum',array($stsem, $konto->buchungsdatum));
echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem));
}
else
echo $p->t('tools/studienbuchblatt')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem));
@@ -168,12 +187,12 @@ if(defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUC
if(defined('CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN') && CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN)
{
echo "<a href='studienerfolgsbestaetigung.php' class='Item'>".$p->t('tools/studienerfolgsbestaetigung')." Deutsch</a><br>";
echo "<a href='studienerfolgsbestaetigung.php?lang=en' class='Item'>".$p->t('tools/studienerfolgsbestaetigung')." Englisch</a>";
echo "<a href='studienerfolgsbestaetigung.php?".$getParam."' class='Item'>".$p->t('tools/studienerfolgsbestaetigung')." Deutsch</a><br>";
echo "<a href='studienerfolgsbestaetigung.php?lang=en".$getParam."' class='Item'>".$p->t('tools/studienerfolgsbestaetigung')." Englisch</a>";
echo "<hr>";
}
echo "<br>";
echo '</body>
</html>
';
+25
View File
@@ -35,6 +35,7 @@ require_once('../../../include/studiensemester.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/lvangebot.class.php');
require_once('../../../include/addon.class.php');
if (!$db = new basis_db())
@@ -57,6 +58,12 @@ require_once('../../../include/lvangebot.class.php');
$datum = new datum();
$addon = new addon();
if(in_array('lvinfo',$addon->aktive_addons))
$lvinfo=true;
else
$lvinfo=false;
//Studiensemester abfragen. Letzten 5, aktuelles und naechstes.
$sql_query='SELECT * FROM public.tbl_studiensemester WHERE (start<=(now()::date+240) AND ende>=(now()::date-900)) ORDER BY start';
$result_stdsem=$db->db_query($sql_query);
@@ -161,6 +168,11 @@ require_once('../../../include/lvangebot.class.php');
<tr>';
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
echo '<th>'.$p->t('lvaliste/gesamtnote').'</th>';
if($lvinfo)
echo '<th>'.$p->t('lvaliste/lvinfo').'</th>';
echo '
<th>'.$p->t('lvaliste/lehrfach').'</th>
<th>'.$p->t('lvaliste/lehrform').'</th>
@@ -192,6 +204,10 @@ require_once('../../../include/lvangebot.class.php');
echo '<tr>';
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
echo '<td nowrap><a href="../lehre/benotungstool/lvgesamtnoteverwalten.php?lvid='.$row->lehrveranstaltung_id.'&stsem='.$stdsem.'">'.$p->t('lvaliste/gesamtnote').'</a></td>';
if($lvinfo)
echo '<td><a href="../../../addons/lvinfo/cis/lvinfo.php?lv_id='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stdsem.'" target="_blank">'.$p->t('lvaliste/lvinfo').'</a></td>';
echo '<td>'.$row->lehrfach.'</td>';
echo '<td>'.$row->le_lehrform_kurzbz.'</td>';
if ($row->lehrfach_bez!=$row->lv_bezeichnung)
@@ -228,6 +244,11 @@ require_once('../../../include/lvangebot.class.php');
echo '<td>'.$datum->formatDatum($lvangebot->result[0]->anmeldefenster_start, "d.m.Y").'</td>';
echo '<td>'.$datum->formatDatum($lvangebot->result[0]->anmeldefenster_ende, "d.m.Y").'</td>';
}
else
{
echo '<td>&nbsp;</td>
<td>&nbsp;</td>';
}
//echo '<td>'.$row->le_anmerkung.'</td>'; Lektoren sollen die Anmerkung dzt. nicht sehen, da nur für intern gedacht
echo '</tr>';
@@ -238,8 +259,12 @@ require_once('../../../include/lvangebot.class.php');
echo '<tr>';
if(!defined('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN') || CIS_LVALISTE_NOTENEINGABE_ANZEIGEN)
echo '<td>&nbsp;</td>';
if($lvinfo)
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
echo '<td>&nbsp;</td>';
+728 -596
View File
File diff suppressed because it is too large Load Diff
+72 -32
View File
@@ -29,10 +29,30 @@
require_once('../../../include/datum.class.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$uid=get_uid();
if(isset($_GET['uid']))
{
// Administratoren duerfen die UID als Parameter uebergeben um die Zahlungen
// von anderen Personen anzuzeigen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
$getParam = "&uid=" . $uid;
}
else
$getParam = "";
}
else
$getParam='';
$datum_obj = new datum();
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
@@ -41,7 +61,25 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>'.$p->t('tools/zahlungen').'</title>
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
</head>
<style>
table.tablesorter
{
width: auto;
}
</style>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0],[1,0]],
widgets: ["zebra"]
});
});
</script>
<body>';
$studiengang = new studiengang();
@@ -68,22 +106,23 @@
$konto->getBuchungen($benutzer->person_id);
if(count($konto->result)>0)
{
echo '<br><br><table>';
echo '<tr class="liste">';
echo '<br><br><table class="tablesorter" id="t1"><thead>';
echo '<tr>';
echo '
<td>'.$p->t('global/datum').'</td>
<td>'.$p->t('tools/zahlungstyp').'</td>
<td>'.$p->t('lvplan/stg').'</td>
<td>'.$p->t('global/studiensemester').'</td>
<td>'.$p->t('tools/buchungstext').'</td>
<td>'.$p->t('tools/betrag').'</td>
<td>'.$p->t('tools/zahlungsbestaetigung').'</td>';
echo '</tr>';
$i=0;
<th>'.$p->t('global/datum').'</th>
<th>'.$p->t('tools/zahlungstyp').'</th>
<th>'.$p->t('lvplan/stg').'</th>
<th>'.$p->t('global/studiensemester').'</th>
<th>'.$p->t('tools/buchungstext').'</th>
<th>'.$p->t('tools/betrag').'</th>
<th>'.$p->t('tools/zahlungsbestaetigung').'</th>';
echo '</tr></thead><tbody>';
foreach ($konto->result as $row)
{
$i++;
$i=0; //Zaehler fuer Anzahl Gegenbuchungen
$buchungsnummern='';
if(!isset($row['parent']))
continue;
$betrag = $row['parent']->betrag;
@@ -91,49 +130,50 @@
if(isset($row['childs']))
{
foreach ($row['childs'] as $row_child)
foreach ($row['childs'] as $key => $row_child)
{
$betrag += $row_child->betrag;
$betrag = round($betrag, 2);
$betrag = round($betrag, 2);
$buchungsnummern .= ';'.$row['childs'][$key]->buchungsnr;
$i = $key; //Zaehler auf letzten Gegenbuchungseintrag setzen
}
}
else
$buchungsnummern = $row['parent']->buchungsnr;
if($betrag<0)
$style='style="background-color: #FF8888;"';
elseif($betrag>0)
$style='style="background-color: #88DD88;"';
else
{
$style='class="liste'.($i%2).'"';
}
$style='';
echo "<tr>";
echo '<td '.$style.'>'.date('d.m.Y',$datum_obj->mktime_fromdate(isset($row['childs'][$i])?$row['childs'][$i]->buchungsdatum:$row['parent']->buchungsdatum)).'</td>';
echo '<td '.$style.'>'.$buchungstyp[$row['parent']->buchungstyp_kurzbz].'</td>';
echo '<td '.$style.'>'.$stg_arr[$row['parent']->studiengang_kz].'</td>';
echo '<td '.$style.'>'.$row['parent']->studiensemester_kurzbz.'</td>';
echo "<tr $style>";
echo '<td>'.date('d.m.Y',$datum_obj->mktime_fromdate($row['parent']->buchungsdatum)).'</td>';
echo '<td>'.$buchungstyp[$row['parent']->buchungstyp_kurzbz].'</td>';
echo '<td>'.$stg_arr[$row['parent']->studiengang_kz].'</td>';
echo '<td>'.$row['parent']->studiensemester_kurzbz.'</td>';
echo '<td>'.$row['parent']->buchungstext.'</td>';
echo '<td align="right">'.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €</td>';
echo '<td align="center">';
echo '<td '.$style.'>'.$row['parent']->buchungstext.'</td>';
echo '<td align="right" '.$style.'>'.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).'</td>';
echo '<td align="center" '.$style.'>';
if($betrag==0 && $row['parent']->betrag<=0)
echo '<a href="../pdfExport.php?xml=konto.rdf.php&xsl=Zahlung&uid='.$uid.'&buchungsnummern='.$row['parent']->buchungsnr.'" title="'.$p->t('tools/bestaetigungDrucken').'"><img src="../../../skin/images/pdfpic.gif" alt="'.$p->t('tools/bestaetigungDrucken').'"></a>';
echo '<a href="../pdfExport.php?xml=konto.rdf.php&xsl=Zahlung&uid='.$uid.'&buchungsnummern='.$buchungsnummern.'" title="'.$p->t('tools/bestaetigungDrucken').'"><img src="../../../skin/images/pdfpic.gif" alt="'.$p->t('tools/bestaetigungDrucken').'"></a>';
elseif($row['parent']->betrag>0)
{
//Auszahlung
}
else
{
{
echo '<a onclick="window.open(';
echo "'zahlungen_details.php?buchungsnr=".$row['parent']->buchungsnr."','Zahlungsdetails','height=500,width=550,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=no,toolbar=no,location=no,menubar=no,dependent=yes');return false;";
echo "'zahlungen_details.php?buchungsnr=".$row['parent']->buchungsnr.$getParam."','Zahlungsdetails','height=500,width=550,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=no,toolbar=no,location=no,menubar=no,dependent=yes');return false;";
echo '" href="#">'.$p->t('tools/offen').'</a> ('.sprintf('%.2f',$betrag*-1).' €)';
}
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
echo '</tbody></table>';
}
else
{
+19
View File
@@ -25,8 +25,27 @@ require_once('../../../include/studiengang.class.php');
require_once('../../../include/organisationseinheit.class.php');
require_once('../../../include/addon.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$uid = get_uid();
if(isset($_GET['uid']))
{
// Administratoren duerfen die UID als Parameter uebergeben um die Zahlungsdetails
// von anderen Personen anzuzeigen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
$getParam = "&uid=" . $uid;
}
else
$getParam = "";
}
else
$getParam='';
$benutzer = new benutzer();
if(!$benutzer->load($uid))
+6 -2
View File
@@ -37,6 +37,7 @@ require_once('../../../include/phrasen.class.php');
require_once('../../../include/sprache.class.php');
require_once('../../../include/ferien.class.php');
require_once('../../../include/Excel/excel.php');
require_once('../../../include/benutzerberechtigung.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -46,8 +47,11 @@ require_once('../../../include/Excel/excel.php');
$uid = get_uid();
if(!check_lektor($uid))
die($p->t('global/keineBerechtigung'));
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!check_lektor($uid) && (!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('mitarbeiter')))
die($p->t('global/keineBerechtigung'));
if(isset($_GET['lektor']))
$lektor=$_GET['lektor'];
+6 -2
View File
@@ -36,6 +36,7 @@ require_once('../../../include/datum.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/sprache.class.php');
require_once('../../../include/Excel/excel.php');
require_once('../../../include/benutzerberechtigung.class.php');
$datum_obj = new datum();
$sprache = getSprache();
@@ -44,9 +45,12 @@ $sprache_obj = new sprache();
$sprache_obj->load($sprache);
$sprache_index=$sprache_obj->index;
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!check_lektor($uid))
die($p->t('global/keineBerechtigung'));
if(!check_lektor($uid) && (!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('mitarbeiter')))
die($p->t('global/keineBerechtigung'));
$days=trim((isset($_REQUEST['days']) && is_numeric($_REQUEST['days'])?$_REQUEST['days']:14));
-2
View File
@@ -724,8 +724,6 @@ if($projekt->getProjekteMitarbeiter($user, true))
echo '<SELECT style="width:200px;" name="oe_kurzbz_2">';
echo '<option value="">-- '.$p->t("zeitaufzeichnung/keineAuswahl").' --</option>';
$oe = new organisationseinheit();
$oe->getFrequent($user,'180','3',true);
$trennlinie = true;
foreach ($oe->result as $row)
Regular → Executable
+14 -14
View File
@@ -36,10 +36,10 @@ if(isset($_GET['sprache']))
}
$erfolgreichaktiviert=false;
$sprache = getSprache();
$sprache = getSprache();
$p = new phrasen($sprache);
$securimage = new Securimage();
$securimage = new Securimage();
$errormsg='';
$db = new basis_db();
@@ -55,9 +55,9 @@ else
if(isset($_POST['submit']))
{
// Captcha Pruefen
if ($securimage->check($_POST['captcha_code']) == true)
{
// Captcha Pruefen
if ($securimage->check($_POST['captcha_code']) == true)
{
// Benutzer laden
$benutzer = new benutzer();
@@ -68,7 +68,7 @@ if(isset($_POST['submit']))
{
$passwort = $_POST['passwort'];
$passwort2 = $_POST['passwort2'];
// Vergleichen ob beide Passwoerter gleich sind
if($passwort==$passwort2)
{
@@ -89,22 +89,22 @@ if(isset($_POST['submit']))
}
else
{
$errormsg='Passwoerter stimmen nicht ueberein';
$errormsg = $p->t('passwort/NichtUebereinstimmend');
}
}
else
{
$errormsg='Code oder Username falsch';
$errormsg = $p->t('passwort/CodeOderUsernameFalsch');
}
}
else
{
$errormsg='Code oder Username falsch';
$errormsg = $p->t('passwort/CodeOderUsernameFalsch');
}
}
else
{
$errormsg= 'Captcha Code falsch';
$errormsg= $p->t('passwort/CaptchaCodeFalsch');
}
}
@@ -118,7 +118,7 @@ echo '<!doctype html>
<script type="text/javascript">
function changeSprache(sprache)
{
{
window.location.href="accountactivation.php?sprache="+sprache;
}
</script>
@@ -132,8 +132,8 @@ echo '<!doctype html>
if($erfolgreichaktiviert)
{
echo '<br><br><h1>Ihr Account wurde erfolgreich aktiviert</h1><br><br>
<a href="'.APP_ROOT.'">&gt;&gt; Weiter zum Login</a>';
echo '<br><br><h1>'.$p->t('passwort/AccountErfolgreichAktiviert').'</h1><br><br>
<a href="'.APP_ROOT.'">&gt;&gt; '.$p->t('passwort/WeiterZumLogin').'</a>';
}
else
{
@@ -159,7 +159,7 @@ else
<br><br>';
if(!isset($_SERVER['HTTPS']) || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='off'))
{
$httpspath = str_replace('http://','https://',APP_ROOT).'cis/public/accountactivation.php';
echo '<div style="border: 2px solid red; text-align:center">'.$p->t('passwort/NoHttps').'<br>
<a href="'.$httpspath.'">'.$p->t('passwort/ZuHttpsWechseln').'</a></div><br>';
+1 -1
View File
@@ -90,7 +90,7 @@ $person = new person();
if(isset($_SESSION['prestudent/user']))
$person_id=$person->checkZugangscode($_SESSION['prestudent/user']);
if(isset($_SESSION['incoming/user']))
$person_id=$person->checkZugangscode($_SESSION['prestudent/user']);
$person_id=$person->checkZugangscode($_SESSION['incoming/user']);
if($person_id!=$_GET['person_id'])
die('Sie haben keine Berechtigung für diese Seite');
+2 -2
View File
@@ -165,12 +165,12 @@ if(isset($_GET['person_id']))
<SELECT name='dokumenttyp'>";
foreach ($dokument->result as $dok)
{
if($dok->dokument_kurzbz == 'Lebenslf' || $dok->dokument_kurzbz == 'Motivat' || $dok->dokument_kurzbz == 'Zeugnis' || $dok->dokument_kurzbz == 'Lichtbil' || $dok->dokument_kurzbz == 'LearnAgr')
if($dok->dokument_kurzbz == 'Lebenslf' || $dok->dokument_kurzbz == 'Motivat' || $dok->dokument_kurzbz == 'Maturaze' || $dok->dokument_kurzbz == 'LearnAgr')
{
$selected ="";
if($dok->dokument_kurzbz == $dokumenttyp)
$selected = "selected";
echo '<option '.$selected.' value="'.$dok->dokument_kurzbz.'" >'.$dok->bezeichnung."</option>\n";
echo '<option '.$selected.' value="'.$dok->dokument_kurzbz.'" >'.$dok->bezeichnung_mehrsprachig[$sprache]."</option>\n";
}
}
echo " </select>
File diff suppressed because it is too large Load Diff
+17 -17
View File
@@ -19,31 +19,31 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
require_once '../../../config/cis.config.inc.php';
require_once '../../../include/phrasen.class.php';
require_once '../../../include/person.class.php';
require_once '../../../include/person.class.php';
if(isset($_GET['lang']))
setSprache($_GET['lang']);
$sprache = getSprache();
$p=new phrasen($sprache);
$sprache = getSprache();
$p=new phrasen($sprache);
if (isset($_POST['userid']))
if (isset($_POST['userid']))
{
$login = $_REQUEST['userid'];
$person = new person();
$login = $_REQUEST['userid'];
$person = new person();
session_start();
$preincoming=$person->checkZugangscodeIncoming($login);
$preincoming=$person->checkZugangscodeIncoming($login);
//Zugangscode wird überprüft
if($preincoming != false)
{
$_SESSION['incoming/user'] = $login;
$_SESSION['incoming/preincomingid'] = $preincoming;
$_SESSION['incoming/preincomingid'] = $preincoming;
header('Location: incoming.php');
exit;
@@ -67,19 +67,19 @@ if (isset($_POST['userid']))
<table width="100%" border="0">
<tr>
<td align="left"></td>
<td align ="right"><?php
<td align ="right"><?php
echo $p->t("global/sprache")." ";
echo '<a href="'.$_SERVER['PHP_SELF'].'?lang=English">'.$p->t("global/englisch").'</a> |
echo '<a href="'.$_SERVER['PHP_SELF'].'?lang=English">'.$p->t("global/englisch").'</a> |
<a href="'.$_SERVER['PHP_SELF'].'?lang=German">'.$p->t("global/deutsch").'</a><br>';?></td>
</tr>
</table>
<form action ="index.php" method="POST">
<table border ="0" width ="100%" height="40%">
<tr height="50%">
<td align ="center" valign="center"><h3><?php echo $p->t('incoming/welcomeToUAS');?></h3><span style="font-size:1.2em"></span></td>
<td align ="center" valign="center"><h3><?php echo $p->t('incoming/welcomeToUAS',array(CAMPUS_NAME));?></h3><span style="font-size:1.2em"></span></td>
</tr>
<tr >
<td align="center" valign="bottom"> <img src="../../../skin/images/tw_logo_02.jpg"></td>
<td align="center" valign="bottom"> <img src="../../../skin/styles/<?php echo DEFAULT_STYLE ?>/logo.png"></td>
</tr>
</table>
<table border ="0" width ="100%">
@@ -110,7 +110,7 @@ if (isset($_POST['userid']))
</tr>
</table>
</form>
</body>
</html>
+145 -119
View File
@@ -26,25 +26,26 @@ require_once '../../../include/nation.class.php';
require_once '../../../include/functions.inc.php';
require_once '../../../include/phrasen.class.php';
require_once '../../../include/adresse.class.php';
require_once '../../../include/kontakt.class.php';
require_once '../../../include/preincoming.class.php';
require_once '../../../include/kontakt.class.php';
require_once '../../../include/preincoming.class.php';
require_once '../../../include/mail.class.php';
require_once '../../../include/securimage/securimage.php';
if(isset($_GET['lang']))
setSprache($_GET['lang']);
$sprache = getSprache();
$p=new phrasen($sprache);
$nation = new nation();
$sprache = getSprache();
$p=new phrasen($sprache);
$nation = new nation();
if($sprache == "German")
$nation->getAll($ohnesperre = true);
$nation->getAll($ohnesperre = true);
else if($sprache == "English")
$nation->getAll($ohnesperre = true, $orderEnglish= true);
$date = new datum();
$date = new datum();
?>
<html>
@@ -54,34 +55,34 @@ $date = new datum();
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../include/js/tablesort/table.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="F2F2F2">
<?php
<body>
<?php
echo ' <table width="100%" border="0">
<tr>
<td align="left"><a href="index.php">Login</a> &gt; Registration </td>
<td align ="right">
<td align ="right">
'.$p->t("global/sprache").'
<a href="'.$_SERVER['PHP_SELF'].'?lang=English">'.$p->t("global/englisch").'</a> |
<a href="'.$_SERVER['PHP_SELF'].'?lang=English">'.$p->t("global/englisch").'</a> |
<a href="'.$_SERVER['PHP_SELF'].'?lang=German">'.$p->t("global/deutsch").'</a><br> </td>
</tr>
</table>';
if(!isset($_POST['submit']))
{
{
echo ' <form action="registration.php" method="POST" name="RegistrationForm">
<table border = "0" style="margin-left:40%; margin-top:5%;">
<table border = "0" style="margin: auto; width: 60%; margin-top:5%;">
<tr>
<td>'.$p->t('global/titel').' Pre</td>
<td><input type="text" size="20" maxlength="64" name="titel_pre"></td>
</tr>
<tr>
<td>'.$p->t('global/vorname').'</td>
<td>'.$p->t('global/vorname').'*</td>
<td><input type="text" size="40" maxlength="32" name="vorname"></td>
</tr>
<tr>
<td>'.$p->t('global/nachname').'</td>
<td>'.$p->t('global/nachname').'*</td>
<td><input type="text" size="40" maxlength="64" name="nachname"></td>
</tr>
<tr>
@@ -90,13 +91,13 @@ echo ' <form action="registration.php" method="POST" name="RegistrationForm">
</tr>
<tr>
<td>'.$p->t('global/geburtsdatum').'</td>
<td><input type="text" size="20" name="geb_datum" value="" onfocus="this.value=""\"; > (dd.mm.yyyy)</td>
<td><input type="text" size="20" name="geb_datum" value="" onfocus="this.value=\'\';" > (dd.mm.yyyy)</td>
</tr>
<tr>
<td>'.$p->t('global/staatsbuergerschaft').'</td>
<td><SELECT name="staatsbuerger">\n
<option value="staat_auswahl">-- select --</option>\n';
<td>'.$p->t('global/staatsbuergerschaft').'*</td>
<td><SELECT name="staatsbuerger">
<option value="staat_auswahl">-- select --</option>';
foreach ($nation->nation as $nat)
{
if($sprache == 'English')
@@ -104,33 +105,36 @@ echo ' <form action="registration.php" method="POST" name="RegistrationForm">
else
echo '<option value="'.$nat->code.'" >'.$nat->langtext."</option>\n";
}
echo' </tr>
echo' </select>
</td>
</tr>
<tr>
<td>'.$p->t('global/geschlecht').'</td>
<td> <input type="radio" name="geschlecht" value="m" checked> '.$p->t('global/mann').'
<input type="radio" name="geschlecht" value="w"> '.$p->t('global/frau').'
<td>
<input type="radio" name="geschlecht" value="m" checked> '.$p->t('global/mann').'
<input type="radio" name="geschlecht" value="w"> '.$p->t('global/frau').'
</td>
</tr>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>'.$p->t('global/strasse').'</td>
<td><input type="text" size="40" maxlength="256" name="strasse"></td>
</tr>
</tr>
<tr>
<td>'.$p->t('global/plz').'</td>
<td><input type="text" size="20" maxlength="16" name="plz"></td>
</tr>
</tr>
<tr>
<td>'.$p->t('global/ort').'</td>
<td><input type="text" size="40" maxlength="256" name="ort"></td>
</tr>
</tr>
<tr>
<td>'.$p->t('incoming/nation').'</td>
<td><SELECT name="nation">\n
<option value="nat_auswahl">-- select --</option>\n';
<td><SELECT name="nation">
<option value="nat_auswahl">-- select --</option>';
foreach ($nation->nation as $nat)
{
if($sprache == 'English')
@@ -138,49 +142,63 @@ echo ' <form action="registration.php" method="POST" name="RegistrationForm">
else
echo '<option value="'.$nat->code.'" >'.$nat->langtext."</option>\n";
}
echo ' </tr>
echo ' </select>
</td>
</tr>
<tr>
<td>E-Mail</td>
<td>E-Mail*</td>
<td><input type="text" size="40" maxlength="128" name="email"></td>
</tr>
</tr>
<tr>
<td>'.$p->t('global/anmerkung').'</td>
<td><textarea name="anmerkung" cols="31" rows="5"></textarea></td>
</tr>
<tr>
<td colspan="2" align = "center"><input type="submit" name="submit" value="Registration" onclick="return checkRegistration()"></td>
</tr>
<tr><td><input type="hidden" name="zugangscode" value="'.uniqid().'"></td></tr>
<tr>
<td>
<img id="captcha" class="center-block img-responsive" src="'.APP_ROOT.'include/securimage/securimage_show.php" alt="CAPTCHA Image" />
<br>
<a href="#" onclick="document.getElementById(\'captcha\').src = \''.APP_ROOT.'include/securimage/securimage_show.php?\' + Math.random(); return false;">
'.$p->t('incoming/andereGrafik').'
</a>
</td>
<td>
'.$p->t('incoming/captcha').'<br>
<input type="text" name="captcha_code" maxlength="6" id="captcha" class="form-control">
</td>
</tr>
<tr>
<td colspan="2" align = "center"><input type="submit" name="submit" value="Registration" onclick="return checkRegistration()"></td>
</tr>
</table>
</form>
<script type="text/javascript">
function checkRegistration()
{
if(document.RegistrationForm.nachname.value == "")
{
alert("Kein Nachname angegeben.");
return false;
return false;
}
if(document.RegistrationForm.staatsbuerger.options[0].selected == true)
if(document.RegistrationForm.staatsbuerger.options[0].selected == true)
{
alert("Keine Staatsbürgerschaft ausgewählt.");
return false;
return false;
}
if(document.RegistrationForm.nation.options[0].selected == true)
if(document.RegistrationForm.nation.options[0].selected == true)
{
alert("Keine Nation ausgewählt.");
return false;
return false;
}
if(document.RegistrationForm.email.value == "")
{
alert("Keine E-Mail Adresse angegeben.");
return false;
return false;
}
return true;
return true;
}
</script>';
}
@@ -188,101 +206,109 @@ echo' </body>
</html>';
if(isset($_REQUEST['submit']))
{
$person = new person();
{
$securimage = new Securimage();
// Sicherheitscode wurde falsch eingegeben
if ($securimage->check($_POST['captcha_code']) == false)
{
echo '<p class="bg-danger padding-10">'.$p->t('bewerbung/sicherheitscodeFalsch').'</p>';
exit;
}
$person = new person();
$adresse = new adresse();
$kontakt = new kontakt();
$preincoming = new preincoming();
$preincoming = new preincoming();
$titel_pre = $_REQUEST['titel_pre'];
$vorname = $_REQUEST['vorname'];
$nachname =$_REQUEST['nachname'];
$vorname = $_REQUEST['vorname'];
$nachname =$_REQUEST['nachname'];
$titel_post = $_REQUEST['titel_post'];
$geb_datum = $date->formatDatum($_REQUEST['geb_datum'], 'Y-m-d');
$staatsbuerger = $_REQUEST['staatsbuerger'];
$geschlecht = $_REQUEST['geschlecht'];
$strasse = $_REQUEST['strasse'];
$plz = $_REQUEST['plz'];
$ort = $_REQUEST['ort'];
$nation_code = $_REQUEST['nation'];
$email = $_REQUEST['email'];
$anmerkung = $_REQUEST['anmerkung'];
$zugangscode = uniqid();
$person->staatsbuergerschaft = $staatsbuerger;
$person->titelpost = $titel_post;
$person->titelpre = $titel_pre;
$person->nachname = $nachname;
$person->vorname = $vorname;
$person->gebdatum = $geb_datum;
$person->geschlecht = $geschlecht;
$person->aktiv = true;
$person->zugangscode = $zugangscode;
$person->new = true;
$geb_datum = $date->formatDatum($_REQUEST['geb_datum'], 'Y-m-d');
$staatsbuerger = $_REQUEST['staatsbuerger'];
$geschlecht = $_REQUEST['geschlecht'];
$strasse = $_REQUEST['strasse'];
$plz = $_REQUEST['plz'];
$ort = $_REQUEST['ort'];
$nation_code = $_REQUEST['nation'];
$email = $_REQUEST['email'];
$anmerkung = $_REQUEST['anmerkung'];
$zugangscode = substr(md5(openssl_random_pseudo_bytes(20)), 0, 15);
$person->staatsbuergerschaft = $staatsbuerger;
$person->titelpost = $titel_post;
$person->titelpre = $titel_pre;
$person->nachname = $nachname;
$person->vorname = $vorname;
$person->gebdatum = $geb_datum;
$person->geschlecht = $geschlecht;
$person->aktiv = true;
$person->zugangscode = $zugangscode;
$person->new = true;
if(!$person->save())
die('Fehler beim Anlegen der Person aufgetreten.');
$adresse->person_id = $person->person_id;
$adresse->strasse = $strasse;
$adresse->plz = $plz;
$adresse->ort = $ort;
$adresse->nation = $nation_code;
die('Fehler beim Anlegen der Person aufgetreten.');
$adresse->person_id = $person->person_id;
$adresse->strasse = $strasse;
$adresse->plz = $plz;
$adresse->ort = $ort;
$adresse->nation = $nation_code;
$adresse->typ = 'h';
$adresse->heimatadresse = true;
$adresse->zustelladresse = true;
$adresse->new = true;
$adresse->heimatadresse = true;
$adresse->zustelladresse = true;
$adresse->new = true;
if(!$adresse->save())
die($p->t('incoming/fehlerAdresse'));
die($p->t('incoming/fehlerAdresse'));
$kontakt->person_id = $person->person_id;
$kontakt->kontakttyp = "email";
$kontakt->kontakt = $email;
$kontakt->new = true;
$kontakt->person_id = $person->person_id;
$kontakt->kontakttyp = "email";
$kontakt->kontakt = $email;
$kontakt->new = true;
if(!$kontakt->save())
die($p->t('incoming/fehlerKontakt'));
$preincoming->person_id = $person->person_id;
$preincoming->anmerkung = $anmerkung;
$preincoming->zweck_code = 1;
$preincoming->aktiv = true;
$preincoming->bachelorthesis = false;
$preincoming->masterthesis = false;
$preincoming->uebernommen = false;
$preincoming->new = true;
$preincoming->person_id = $person->person_id;
$preincoming->anmerkung = $anmerkung;
$preincoming->zweck_code = 1;
$preincoming->aktiv = true;
$preincoming->bachelorthesis = false;
$preincoming->masterthesis = false;
$preincoming->uebernommen = false;
$preincoming->new = true;
$preincoming->insertamum = date('Y-m-d H:i:s');
$preincoming->updateamum = date('Y-m-d H:i:s');
if(!$preincoming->save())
{
echo $preincoming->errormsg;
die($p->t('incoming/fehlerIncoming'));
}
echo sendMail($zugangscode, $email);
echo $preincoming->errormsg;
die($p->t('incoming/fehlerIncoming'));
}
echo sendMail($zugangscode, $email);
}
function sendMail($zugangscode, $email)
{
global $p, $vorname, $nachname;
$emailtext= $p->t('incoming/registrationEmail', array($zugangscode));
global $p, $vorname, $nachname;
$emailtext= $p->t('mail/incomingRegistrationEmail', array($zugangscode));
$mail = new mail($email, 'no-reply', 'Incoming-Registration', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
$mail->setHTMLContent($emailtext);
$mail->setHTMLContent($emailtext);
if(!$mail->send())
$msg= '<span class="error">Fehler beim Senden des Mails</span><br />';
else
$msg= $p->t('global/emailgesendetan')." $email!<br>";
// sende Nachricht an Assistenz
$emailtext= "Dies ist eine automatisch generierte E-Mail.<br><br>";
$emailtext.= "Es hat sich ein neuer Incoming am Campus International registriert.<br><br>Name: ".$vorname.' '.$nachname.'<br>E-Mail: '.$email;
$mail = new mail(MAIL_INTERNATIONAL, 'no-reply', 'New Incoming', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
$mail->setHTMLContent($emailtext);
$mail->send();
return $msg;
// sende Nachricht an Assistenz
$emailtext= "Dies ist eine automatisch generierte E-Mail.<br><br>";
$emailtext.= "Es hat sich ein neuer Incoming registriert.<br><br>Name: ".$vorname.' '.$nachname.'<br>E-Mail: '.$email;
$mail = new mail(MAIL_INTERNATIONAL, 'no-reply', 'New Incoming', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
$mail->setHTMLContent($emailtext);
$mail->send();
return $msg;
}
?>
+73 -4
View File
@@ -42,7 +42,75 @@ $rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/cms'))
die($rechte->errormsg);
$berechtigte_oe = $rechte->getOEkurzbz('basis/cms')
$berechtigte_oe = $rechte->getOEkurzbz('basis/cms');
// Speichern eines Contents per Ajax Request ,
// daher wird nach dem Speichern mittels exit beendet
if(isset($_POST['NewContent']))
{
if($rechte->isBerechtigt('basis/cms', null, 'sui'))
{
$templateContentId = isset($_POST['templateContent']) && $_POST['templateContent'] != 0?$_POST['templateContent']:'';
$titel = isset($_POST['titel'])?$_POST['titel']:'Neuer Eintrag';
if ($templateContentId != '')
{
$templateContent = new content();
$templateContent->getContent($templateContentId);
}
$template = new template();
$template->getAll();
if(!isset($template->result[0]))
exit('Es ist kein Template vorhanden');
if(in_array('etw',$berechtigte_oe))
$oe = 'etw';
else
$oe = $berechtigte_oe[0];
$content = new content();
$content->new = true;
$content->oe_kurzbz= $templateContentId != ''?$templateContent->oe_kurzbz:$oe;
$content->template_kurzbz=$templateContentId != ''?$templateContent->template_kurzbz:$template->result[0]->template_kurzbz;
$content->titel = $titel;
$content->aktiv=true;
$content->menu_open=false;
$content->content = $templateContentId != ''?$templateContent->content:'<?xml version="1.0" encoding="UTF-8" ?><content></content>';
$content->sichtbar=true;
$content->version='1';
$content->sprache=$templateContentId != ''?$templateContent->sprache:DEFAULT_LANGUAGE;
$content->insertvon = $user;
$content->insertamum = date('Y-m-d H:i:s');
$content->beschreibung = $templateContentId != ''?$templateContent->beschreibung:'';
if($content->save())
{
if($content->saveContentSprache())
{
if ($templateContentId!='')
{
$parent_content = new content();
$parent_content->content_id = $templateContentId;
$parent_content->child_content_id = $content->content_id;
$parent_content->insertamum = date('Y-m-d');
$parent_content->insertvon = $user;
$parent_content->sort=$parent_content->getMaxSort($templateContentId)+1;
if(!$parent_content->addChild())
exit('AddChild '.$content->errormsg);
}
exit($content->content_id);
}
else
exit('ContentSpracheSave '.$content->errormsg);
}
else
exit('ContentSave '.$content->errormsg);
}
else
exit('Sie haben keine Berechtigung fuer diese Aktion');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -96,12 +164,13 @@ $berechtigte_oe = $rechte->getOEkurzbz('basis/cms')
);
function FHCFileBrowser(field_name, url, type, win)
{
cmsURL = "<?php echo APP_ROOT;?>cms/tinymce_dms.php?type="+type;
dms_id = url.substring(url.indexOf("=") +1);
cmsURL = "<?php echo APP_ROOT;?>cms/tinymce_dms.php?type="+type+"&searchstring="+dms_id;
tinyMCE.activeEditor.windowManager.open({
file: cmsURL,
title : "FHComplete File Browser",
width: 800,
height: 600,
width: 1400,
height: 850,
resizable: "yes",
close_previous: "no",
scrollbars: "yes",
+46 -8
View File
@@ -23,10 +23,25 @@ require_once('../config/cis.config.inc.php');
require_once('../include/dms.class.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/akte.class.php');
require_once('../include/dokument.class.php');
session_cache_limiter('none'); //muss gesetzt werden sonst funktioniert der Download mit IE8 nicht
session_start();
if(!isset($_GET['id']))
die('ID muss uebergeben werden');
if(isset($_SESSION['bewerbung/personId']))
$person_id = $_SESSION['bewerbung/personId'];
else
$person_id ='';
if(isset($_GET['akte_id']))
$akte_id = $_GET['akte_id'];
else
$akte_id ='';
//if(!isset($_GET['version']))
// die('Version muss uebergeben werden');
@@ -45,16 +60,39 @@ if(!$doc->load($id,$version))
if($doc->isLocked($id))
{
//Dokument erfordert Authentifizierung
$user = get_uid();
if(!$doc->isBerechtigt($id, $user))
{
//Globales DMS recht pruefen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/dms'))
//Wenn person_id aus Session und akte_id uebergeben wurde
//und person_id Besitzer des Dokuments ist (person_id aus tbl_akte)
//und das Dokument in der Onlinebewerbung hochgeladen werden kann
//darf das Dokument heruntergeladen werden
if($person_id!='' && $akte_id!='')
{
$akte = new akte();
$akte->load($akte_id);
$akte_person = $akte->person_id;
$akte_dokument_kurzbz = $akte->dokument_kurzbz;
$dokumente_person = new dokument();
$dokumente_person->getAllDokumenteForPerson($person_id, true);
$dokumente_arr = array();
foreach ($dokumente_person->result AS $row)
$dokumente_arr[] .= $row->dokument_kurzbz;
if ($person_id!=$akte_person || !in_array($akte_dokument_kurzbz, $dokumente_arr))
die('Sie haben keinen Zugriff auf dieses Dokument');
}
else
{
//Dokument erfordert Authentifizierung
$user = get_uid();
if(!$doc->isBerechtigt($id, $user))
{
//Globales DMS recht pruefen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/dms'))
die('Sie haben keinen Zugriff auf dieses Dokument');
}
}
}
if(!isset($_GET['notimeupdate']))
+68 -24
View File
@@ -19,10 +19,10 @@
*/
/**
* Menue Addon zur Auswahl von LVs
*
*
* Dieses Addon erstellt ein Formular zur Auswahl von Studiengang und Semester und zeigt die
* zugehoerigen LVs an
*
*
* Parameter fuer das Params Array:
* - studiengang_kz
* - semester
@@ -44,9 +44,9 @@ class menu_addon_lehrveranstaltungen extends menu_addon
global $params;
parent::__construct();
$this->link=false;
$sprache = getSprache();
$user = get_uid();
$student = new student();
@@ -55,17 +55,17 @@ class menu_addon_lehrveranstaltungen extends menu_addon
$studiengang_kz=$student->studiengang_kz;
$semester=$student->semester;
}
$p = new phrasen($sprache);
$this->block.='
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location=\'" + selObj.options[selObj.selectedIndex].value + "\'");
if(restore)
{
selObj.selectedIndex = 0;
@@ -86,7 +86,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon
if(isset($params['studiengang_kz']) && is_numeric($params['studiengang_kz']))
$studiengang_kz=$params['studiengang_kz'];
if(isset($params['semester']) && is_numeric($params['semester']))
$semester=$params['semester'];
else
@@ -94,7 +94,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon
if(!isset($semester))
$semester=1;
}
$sel_kurzbzlang='';
foreach($stg_obj->result as $row)
{
@@ -115,7 +115,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon
}
}
}
$this->block.='
</select>
</td>
@@ -127,7 +127,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon
<td class="tdwrap">'.$p->t('global/semester').': </td>
<td class="tdwrap">
<select name="term" onChange="MM_jumpMenu(\'self\',this,0)">';
$short = 'Fehler Stg.Kz '.$studiengang_kz;
$max = 1;
if ($stg_obj=new studiengang($studiengang_kz))
@@ -137,12 +137,12 @@ class menu_addon_lehrveranstaltungen extends menu_addon
}
if($semester>$max)
$semester=1;
$params['studiengang_kz'] = $studiengang_kz;
$params['semester'] = $semester;
$params['studiengang_kurzbz_lo'] = strtolower($short);
$params['studiengang_kurzbz_hi'] = $short;
for($i=0;$i<$max;$i++)
{
if(($i+1)==$semester)
@@ -150,7 +150,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon
else
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.($i+1).'">'.($i+1).'. Semester</option>';
}
$this->block.='
</select>
</td>
@@ -165,24 +165,68 @@ class menu_addon_lehrveranstaltungen extends menu_addon
<td class="tdwrap">&nbsp;</td>
</tr>';
if (!$lv_obj = new lehrveranstaltung())
die('Fehler beim Oeffnen der Lehrveranstaltung');
die('Fehler beim Oeffnen der Lehrveranstaltung');
$lv_obj->lehrveranstaltungen=array();
if ($lv_obj->load_lva($studiengang_kz,$semester,null,TRUE,TRUE,'orgform_kurzbz DESC, bezeichnung'))
{
$db = new basis_db();
$qry = "SELECT * FROM lehre.tbl_studienordnung WHERE studiengang_kz=".$this->db_add_param($studiengang_kz)." AND status_kurzbz='approved'";
$genehmigte_sto_vorhanden=false;
if($result_sto = $db->db_query($qry))
{
if($db->db_num_rows($result_sto)>0)
{
$genehmigte_sto_vorhanden=true;
}
}
$lastform=null;
foreach ($lv_obj->lehrveranstaltungen as $row)
{
{
// Alle LVs herausfiltern die nicht in genehmigten Studienplaenen vorkommen
// Module werden auch herausgefiltert
if($genehmigte_sto_vorhanden)
{
$qry = "SELECT
count(*) as anzahl
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehrtyp USING(lehrtyp_kurzbz)
WHERE
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id)."
AND tbl_studienordnung.status_kurzbz='approved'
AND lehrtyp_kurzbz='lv'";
if($result_genehmigt = $db->db_query($qry))
{
if($row_genehmigt = $db->db_fetch_object($result_genehmigt))
{
if($row_genehmigt->anzahl==0)
continue;
}
}
}
else
{
// Wenn es in diesem Studiengang keine genehmigte Studienordnung gibt dann
// alle LVs anzeigen und nur die Module herausfiltern
if($row->lehrtyp_kurzbz!='lv')
continue;
}
if($row->orgform_kurzbz!=$lastform)
{
$orgform = new organisationsform();
$orgform->load($row->orgform_kurzbz);
$this->block.= "<tr><td><b>$orgform->bezeichnung</b></td></tr>";
$lastform=$row->orgform_kurzbz;
$this->block.= "<tr><td><b>$orgform->bezeichnung</b></td></tr>";
$lastform=$row->orgform_kurzbz;
}
$this->block.= '<tr>';
$this->block.= ' <td class="tdwrap"><ul style="margin: 0px; padding: 0px; ">';
@@ -194,7 +238,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon
$this->block.='</table>';
$this->output();
}
private function CutString($strVal, $limit)
{
if(mb_strlen($strVal) > $limit+3)
@@ -0,0 +1,352 @@
<?php
/* Copyright (C) 2016 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>
*/
/**
* Menue Addon zur Auswahl von LVs
*
* Dieses Addon erstellt ein Formular zur Auswahl von
* Studiensemester, Studiengang, Ausbildungssemester, Studienplan und zeigt die
* zugehoerigen LVs an
*
* Parameter fuer das Params Array:
* - studiengang_kz
* - semester
* - studiensemester_kurzbz
* - studienplan_id
* - studiengang_kurzbz_lo 3-stelliges Studiengangskuerzel kleingeschrieben
* - studiengang_kurzbz_hi 3-stelliges Studiengangskuerzel grossgeschrieben
*/
require_once(dirname(__FILE__).'/menu_addon.class.php');
require_once(dirname(__FILE__).'/../../include/studiengang.class.php');
require_once(dirname(__FILE__).'/../../include/studienordnung.class.php');
require_once(dirname(__FILE__).'/../../include/studienplan.class.php');
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
require_once(dirname(__FILE__).'/../../include/organisationsform.class.php');
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
require_once(dirname(__FILE__).'/../../include/phrasen.class.php');
require_once(dirname(__FILE__).'/../../include/student.class.php');
class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
{
public function __construct()
{
global $params;
parent::__construct();
$this->link=false;
$sprache = getSprache();
$user = get_uid();
$student = new student();
$studiengang_kz='';
$semester='';
$studienplan_id='';
$studienordnung_id='';
$db = new basis_db();
if($student->load($user))
{
$studiengang_kz=$student->studiengang_kz;
$semester=$student->semester;
}
$p = new phrasen($sprache);
$sprachen_obj = new sprache();
$sprachen_obj->getAll();
$sprachen_arr=array();
foreach($sprachen_obj->result as $row)
{
if(isset($row->bezeichnung_arr[$sprache]))
$sprachen_arr[$row->sprache]=$row->bezeichnung_arr[$sprache];
else
$sprachen_arr[$row->sprache]=$row->sprache;
}
$orgform_obj = new organisationsform();
$orgform_obj->getAll();
$orgform_arr=array();
foreach($orgform_obj->result as $row)
$orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung;
$stsem = new studiensemester();
$studiensemester_kurzbz=$stsem->getaktornext();
if(isset($params['studiensemester_kurzbz']))
$studiensemester_kurzbz=$params['studiensemester_kurzbz'];
if(isset($params['studiengang_kz']) && is_numeric($params['studiengang_kz']))
$studiengang_kz=$params['studiengang_kz'];
if(isset($params['semester']) && is_numeric($params['semester']))
$semester=$params['semester'];
else
{
if(!isset($semester))
$semester=1;
}
if(isset($params['studienplan_id']))
$studienplan_id=$params['studienplan_id'];
$this->block.='
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location=\'" + selObj.options[selObj.selectedIndex].value + "\'");
if(restore)
{
selObj.selectedIndex = 0;
}
}
//-->
</script>';
$this->block.='
<table class="tabcontent">';
// Studiensemester
$this->block.='
<tr>
<td class="tdwrap">
Studiensemester<br>
<select name="stsem" onChange="MM_jumpMenu(\'self\',this,0)" style="width:100%">';
//Anzeigen des DropDown Menues mit Studiensemester
$studiensemester = new studiensemester();
$akt_studiensemester = $studiensemester->getakt();
if($studiensemester->getPlusMinus(5,10))
{
foreach($studiensemester->studiensemester as $row)
{
$selected = '';
if($row->studiensemester_kurzbz==$studiensemester_kurzbz)
$selected = 'selected';
elseif ($studiensemester_kurzbz=='' && $row->studiensemester_kurzbz==$akt_studiensemester)
{
$selected = 'selected';
$studiensemester_kurzbz=$akt_studiensemester;
}
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.$semester.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz.'" '.$selected.'>'.$row->bezeichnung.'</option>';
}
$this->block.= '</SELECT>';
}
else
$errormsg .= $studiensemester->errormsg;
$this->block.='
</td>
</tr>';
// Studiengang
$this->block.='
<tr>
<td class="nowrap">
Studiengang<br>
<select name="course" onChange="MM_jumpMenu(\'self\',this,0)" style="width:100%">';
$stg_obj = new studiengang();
$stg_obj->loadStudiengangFromStudiensemester($studiensemester_kurzbz);
if(isset($params['studienplan_id']) && is_numeric($params['studienplan_id']))
$studienplan_id=$params['studienplan_id'];
$sel_kurzbzlang='';
foreach($stg_obj->result as $row)
{
if($row->studiengang_kz!=0)
{
if(isset($studiengang_kz) AND $studiengang_kz == $row->studiengang_kz)
{
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$row->studiengang_kz.'&semester='.$semester.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'" selected>'.$row->kuerzel .' ('.$row->bezeichnung.')</option>';
$sel_kurzbzlang=$row->kurzbzlang;
}
else
{
$this->block.='<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$row->studiengang_kz.'&semester='.$semester.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'">'.$row->kuerzel .' ('.$row->bezeichnung.')</option>';
}
if(!isset($studiengang_kz) || $studiengang_kz=='')
{
$studiengang_kz=$row->studiengang_kz;
}
}
}
$this->block.='
</select>
</td>
</tr>
<tr>
<td class="nowrap">
Semester<br>
<select name="term" onChange="MM_jumpMenu(\'self\',this,0)" style="width:100%">';
$vorhandenesemester=array();
$studienplan_obj = new studienplan();
$studienplan_obj->getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz);
foreach($studienplan_obj->result as $row_sto)
$vorhandenesemester[]=$row_sto->semester;
if(!in_array($semester, $vorhandenesemester))
$semester='';
$vorhandenesemester = array_unique($vorhandenesemester);
sort($vorhandenesemester);
$studiengang_obj = new studiengang();
$studiengang_obj->load($studiengang_kz);
$short = $studiengang_obj->kuerzel;
$params['studiengang_kz'] = $studiengang_kz;
$params['semester'] = $semester;
$params['studiengang_kurzbz_lo'] = strtolower($short);
$params['studiengang_kurzbz_hi'] = $short;
foreach($vorhandenesemester as $i)
{
if($semester=='')
$semester=$i;
if($i==$semester)
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.$i.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'" selected >'.$i.'. Semester</option>';
else
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.$i.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'">'.$i.'. Semester</option>';
}
$this->block.='
</select>
</td>
</tr>
<tr>
<td class="nowrap">
Studienplan<br>
<select name="studienplan_id" onChange="MM_jumpMenu(\'self\',this,0)" style="width:100%">';
// Studienplan
$studienplan_obj = new studienplan();
$studienplan_obj->getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $semester);
$studienordnung_arr = array();
$studienplan_arr = array();
foreach($studienplan_obj->result as $row_sto)
{
$studienordnung_arr[$row_sto->studienordnung_id]['bezeichnung']=$row_sto->bezeichnung_studienordnung;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['bezeichnung']=$row_sto->bezeichnung_studienplan;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['orgform_kurzbz']=$row_sto->orgform_kurzbz;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['sprache']=$sprachen_arr[$row_sto->sprache];
}
// Pruefen ob uebergebene StudienplanID in Auswahl enthalten
// ist und ggf auf leer setzen
if($studienplan_id!='')
{
$studienplan_found=false;
foreach($studienplan_arr as $stoid=>$row_sto)
{
if(array_key_exists($studienplan_id, $studienplan_arr[$stoid]))
{
$studienplan_found=true;
break;
}
}
if(!$studienplan_found)
{
$studienplan_id='';
}
}
foreach($studienordnung_arr as $stoid=>$row_sto)
{
$selected='';
if($studienordnung_id=='')
$studienordnung_id=$stoid;
$this->block.='<option value="" disabled>'.$p->t('lehre/studienordnung').': '.$db->convert_html_chars($row_sto['bezeichnung']).'</option>';
foreach($studienplan_arr[$stoid] as $stpid=>$row_stp)
{
$selected='';
if($studienplan_id=='')
$studienplan_id=$stpid;
if($stpid == $studienplan_id)
$selected='selected';
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.$semester.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'&studienplan_id='.$stpid.'" '.$selected.'>'.$db->convert_html_chars($row_stp['bezeichnung']).' ( '.$orgform_arr[$row_stp['orgform_kurzbz']].', '.$row_stp['sprache'].' ) </option>';
}
}
$this->block.='</select></td></tr>';
$this->block.='</table><br /><br />';
$this->block.= '<script language="JavaScript" type="text/javascript">';
$this->block.= ' parent.content.location.href="../cms/news.php?studiengang_kz='.$studiengang_kz.'&semester='.$semester.'"';
$this->block.= '</script>';
if (!$lv_obj = new lehrveranstaltung())
die('Fehler beim Oeffnen der Lehrveranstaltung');
$lv_obj->lehrveranstaltungen=array();
if($lv_obj->loadLehrveranstaltungStudienplan($studienplan_id, $semester,'bezeichnung'))
{
$tree = $lv_obj->getLehrveranstaltungTree();
$this->printTree($tree, $sprache, $studiensemester_kurzbz);
}
$this->output();
}
/**
* Stellt die Lehrveranstaltungen in einer Baumstruktur dar.
*/
private function printTree($tree, $sprache, $studiensemester_kurzbz)
{
$this->block.='<ul>';
foreach ($tree as $row)
{
if(!$row->lehre)
continue;
if($row->lehrtyp_kurzbz=='modul')
$bold='font-weight:bold;';
else
$bold='';
$this->block.= "<li style='display:inline-block;white-space: nowrap;padding: 0px; margin:0px; $bold'><a title=\"".$row->bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id&studiensemester_kurzbz=$studiensemester_kurzbz\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."</a></li>";
if(isset($row->childs))
$this->printTree($row->childs, $sprache, $studiensemester_kurzbz);
}
$this->block.="</ul>";
}
private function CutString($strVal, $limit)
{
if(mb_strlen($strVal) > $limit+3)
{
return mb_substr($strVal, 0, $limit) . "...";
}
else
{
return $strVal;
}
}
}
new menu_addon_lehrveranstaltungen_studienplan();
?>
+12 -10
View File
@@ -31,15 +31,15 @@ class menu_addon_zeitsperren extends menu_addon
public function __construct()
{
parent::__construct();
$sprache = getSprache();
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$p = new phrasen($sprache);
$fkt=new funktion();
$fkt->getAll($user);
@@ -50,7 +50,8 @@ class menu_addon_zeitsperren extends menu_addon
'link' => 'private/profile/zeitsperre_days.php?days=12',
'name' => $p->t('menu/zeitsperren')
);
/*
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter'))
{
$this->items[] = array('title' => $p->t('menu/resturlaub'),
@@ -59,8 +60,9 @@ class menu_addon_zeitsperren extends menu_addon
'name' => $p->t('menu/resturlaub')
);
}
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter')
*/
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter')
|| $fkt->checkFunktion('stvLtg')|| $fkt->checkFunktion('gLtg')
|| $fkt->checkFunktion('Leitung') || $fkt->checkFunktion('ass'))
{
@@ -85,7 +87,7 @@ class menu_addon_zeitsperren extends menu_addon
'name' => $p->t('menu/assistenz')
);
}
$stg_obj = new studiengang();
$stg_obj->loadArray($rechte->getStgKz('admin'), 'typ, kurzbz', true);
foreach($stg_obj->result as $row)
@@ -95,11 +97,11 @@ class menu_addon_zeitsperren extends menu_addon
'link' => 'private/profile/zeitsperre.php?funktion=lkt&stg_kz='.$row->studiengang_kz,
'name' => $p->t('menu/lektoren').' '.$row->kurzbzlang
);
}
}
}
$this->output();
}
}
new menu_addon_zeitsperren();
?>
?>
+41 -30
View File
@@ -270,7 +270,7 @@ if($importFile != '')
if($dms->save(true))
{
echo 'File wurde erfolgreich hochgeladen. Filename:'.$filename.' ID:'.$dms->dms_id;
echo 'File wurde erfolgreich hochgeladen. <br>Filename:'.$filename.' <br>ID: <a href="id://'.$dms->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$dms->dms_id.'); return false;" style="font-size: small">'.$dms->dms_id.'</a>';
$dms_id=$dms->dms_id;
if($projekt_kurzbz!='' || $projektphase_id!='')
@@ -282,10 +282,10 @@ if($importFile != '')
else
echo 'Fehler beim Speichern der Daten';
if(!chgrp(DMS_PATH.$filename,'dms'))
echo 'CHGRP failed';
if(!chmod(DMS_PATH.$filename, 0774))
echo 'CHMOD failed';
if(!@chgrp(DMS_PATH.$filename,'dms'))
echo '<br>CHGRP failed';
if(!@chmod(DMS_PATH.$filename, 0774))
echo '<br>CHMOD failed';
exec('sudo chown wwwrun '.$filename);
// Lösche File aus Verzeichnis nachdem es raufgeladen wurde
@@ -308,10 +308,10 @@ if(isset($_POST['fileupload']))
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
if(!chgrp($uploadfile,'dms'))
echo 'CHGRP failed<br>';
if(!chmod($uploadfile, 0774))
echo 'CHMOD failed<br>';
if(!@chgrp($uploadfile,'dms'))
echo '<br>CHGRP failed';
if(!@chmod($uploadfile, 0774))
echo '<br>CHMOD failed';
exec('sudo chown wwwrun '.$uploadfile);
$dms = new dms();
@@ -831,32 +831,43 @@ function drawFilesFromImport()
if ($handle = opendir(IMPORT_PATH))
{
echo '<script>
$(document).ready(function()
{
$("#t3").tablesorter(
{
sortList: [[0,0]], headers: {1:{sorter:false}},
widgets: ["zebra"]
});
});
</script>';
echo ' <h3>Files im Import Ordner</h3>
<table> <form action ="'.$_SERVER['PHP_SELF'].'" method="POST" name="import" >';
<table class="tablesorter" id="t3" style="width: auto"> <form action ="'.$_SERVER['PHP_SELF'].'" method="POST" name="import" >
<thead><th>File</th><th></th></thead><tbody>';
while (false !== ($file = readdir($handle)))
{
if($file != '.' && $file != '..')
{
echo'
<tr>
<td><img src="../skin/images/blank.png" style="height: 15px">
<span> '.$file.'</span>
</td>
<td>
| <a onclick="document.import.importFile.value=\''.$file.'\';document.import.submit();" style="font-size:small">Upload</a>
</td>
</tr>';
}
}
echo'
<input type="hidden" name="dms_id_import" id="dms_id_import" value="">
while (false !== ($file = readdir($handle)))
{
if($file != '.' && $file != '..')
{
echo'
<tr>
<td>
<span> '.$file.'</span>
</td>
<td>
<a onclick="window.location=\'#divupload\'; document.import.importFile.value=\''.$file.'\';document.import.submit();" style="font-size:small">Upload</a>
</td>
</tr>';
}
}
echo'
<input type="hidden" name="dms_id_import" id="dms_id_import" value="">
<input type="hidden" name="importFile" value="">
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'">
<input type="hidden" name="projekt_kurzbz" value="'.$projekt_kurzbz.'">
<input type="hidden" name="projektphase_id" value="'.$projektphase_id.'">
</form></table>';
closedir($handle);
</form></tbody></table>';
closedir($handle);
}
}
/**
@@ -1018,7 +1029,7 @@ function drawFilesList($rows)
<li><a href="dms.php?id='.$row->dms_id.'&version='.$row->version.'" style="font-size:small" target="_blank">Herunterladen</a></li>';
if($rechte->isberechtigt('basis/dms',null, 'sui', null))
{
echo ' <li><a href="id://'.$row->dms_id.'/Upload" onclick=" updateBeschreibung(\'';
echo ' <li><a href="id://'.$row->dms_id.'/Upload" onclick="window.location=\'#divupload\'; updateBeschreibung(\'';
$beschreibungstext = $row->beschreibung;
$beschreibungstext = str_replace("'","4nführungsze1ch3n",$beschreibungstext);
$beschreibungstext = str_replace('"',"D4n7ührung",$beschreibungstext);
Regular → Executable
+9
View File
@@ -5,5 +5,14 @@
"components/bootstrap": "3.3.5",
"michelf/php-markdown": "1.5.0"
},
"require-dev":
{
"squizlabs/php_codesniffer": "2.*",
"fzaninotto/faker": "1.*"
},
"config":
{
"bin-dir": "bin"
}
}
+3
View File
@@ -215,6 +215,9 @@ define('CIS_PRUEFUNGSANMELDUNG_USER','p.pruefungsanmeldung');
// Soll für die Prüfungsanmeldungen eine Anrechnung erstellt werden
define('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG', true);
//Gibt an, ob der Bereich zur Anmeldung zu Pruefungen des gesamten Studiengangs angezeigt werden soll
define('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG', true);
//Gibt an, wie viele Semester aus der Vergangenheit unter Meine LV angezeigt werden
define('CIS_MEINELV_ANZAHL_SEMESTER_PAST', 3);
+15
View File
@@ -59,9 +59,20 @@ define('CIS_GESAMTNOTE_UEBERSCHREIBEN',true);
// Gewichtung der Lehreinheiten bei Noteneintragung true|false
define('CIS_GESAMTNOTE_GEWICHTUNG', true);
// Bei Gesamtnote eine zusaetzliche Spalte fuer den 2. Termin anzeigen
define('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2',true);
// Bei Gesamtnote eine zusaetzliche Spalte fuer den 3. Termin anzeigen
define('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3',true);
// Bei Gesamtnote eine zusaetzliche Spalte fuer die kommissionelle Pruefung anlegen
define('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF', true);
// Bei Gesamtnote eine zusaetzliche Spalte fuer die kommissionelle Pruefung anlegen
define('CIS_GESAMTNOTE_PRUEFUNG_MOODLE_NOTE', true);
// Bei Gesamtnote die Spalte fuer die Quelle der Noten anzeigen (Moodle oder LE)
define('CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE', true);
// Gibt an ob im FAS bei den Lehrveranstaltungsnoten ein zusaetzliches Formular angezeigt wird um
// Vertraege fuer Pruefungshonorare anzulegen
@@ -74,6 +85,10 @@ define('FAS_ANWESENHEIT_GELB', 90);
// Legt einen Prüfungstermin an wenn eine neue Note erfasst wird
define('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN',false);
// Legt fest ob bei der Uebernahme der Reihungstestpunkte die Punkte
//oder Prozentpunkte uebernommen werden true=Punkte, false=Prozentpunkte
define('FAS_REIHUNGSTEST_PUNKTE', false);
// Anzeigeoptionen für LV-Plan Menü
define('CIS_LVPLAN_EXPORT_ANZEIGEN',true);
define('CIS_LVPLAN_PERSONENAUSWAHL_ANZEIGEN',true);
+4
View File
@@ -25,6 +25,10 @@ define("DB_USER","bla");
define("DB_PASSWORD","bla");
define("DB_CONNECT_PERSISTENT",TRUE);
define('CONN_CLIENT_ENCODING','UTF-8' );
//Connection String Infoscreen
define("INFOSCREEN_USER","");
define("INFOSCREEN_PASSWORD","");
// Name des Servers (benoetigt fuer Cronjobs
define('SERVER_NAME','vilesci.technikum-wien.at');
+1 -1
View File
@@ -188,7 +188,7 @@ if(isset($_POST['submitbild']))
if(isset($_GET['person_id']))
{
$dokument = new dokument();
$dokument->getAllDokumente();
$dokument->getAllDokumente('Zeugnis');
echo " <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
+960 -953
View File
File diff suppressed because it is too large Load Diff
+44 -3
View File
@@ -1300,6 +1300,27 @@ function ExtrasShowProjektarbeitsabgaben()
window.open('<?php echo APP_ROOT ?>vilesci/lehre/abgabe_assistenz_frameset.php?stg_kz='+studiengang_kz,'Projektarbeitsabgaben','');
}
// ****
// * Zeigt HTML Seite für die Aliquote Reduktion
// ****
function ExtrasShowAliquote_reduktion()
{
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);
var studiensemester_kurzbz = getStudiensemester();
window.open('<?php echo APP_ROOT ?>vilesci/personen/aliquote_reduktion.php?studiengang_kz='+studiengang_kz+'&studiensemester_kurzbz='+studiensemester_kurzbz,'Aliquote Reduktion','');
}
// ****
// * Zeigt HTML Seite zur Bearbeitung der Gruppen an
// ****
@@ -1745,10 +1766,21 @@ function PrintZutrittskarte()
function PrintStudienblatt(event)
{
var tree = document.getElementById('student-prestudent-tree-rolle');
var ss = document.getElementById('statusbarpanel-semester').label;
var items = tree.view.rowCount;
try
{
var studienplan_id = getTreeCellText(tree, "student-prestudent-tree-rolle-studienplan_id", 0);
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
}
}
}
catch(e)
{
@@ -1817,7 +1849,7 @@ function PrintStudienblatt(event)
{
if(error>0)
alert(error+' der ausgewaehlten Personen haben keinen Account');
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&&uid='+data;
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&&uid='+data+"&ss="+ss;
window.open(action,'Studienblatt','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
@@ -1832,10 +1864,19 @@ function PrintStudienblatt(event)
function PrintStudienblattEnglisch(event)
{
var tree = document.getElementById('student-prestudent-tree-rolle');
var items = tree.view.rowCount;
try
{
var studienplan_id = getTreeCellText(tree, "student-prestudent-tree-rolle-studienplan_id", 0);
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
}
}
}
catch(e)
{
@@ -1605,12 +1605,11 @@ function LehrveranstaltungGesamtNotenTreeSelectDifferent()
break;
}
//Wenn die Noten unterschiedlich sind, aber das benotungsdatum im Zeugnis
//Wenn das benotungsdatum im Zeugnis
//nach dem benotungsdatum des lektors liegt, dann wird die zeile auch nicht markiert.
//damit wird verhindert, dass pruefungsnoten die nur von der assistenz eingetragen wurden,
//durch den alten eintrag des lektors wieder ueberschrieben werden
if(zeugnisuid==lvgesamtuid
&& zeugnisnote!=lvgesamtnote
&& zeugnisbenotungsdatum>lvgesamtbenotungsdatum)
{
found=true;
@@ -1,305 +1,305 @@
<?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>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<!DOCTYPE overlay>
<overlay id="MitarbeiterDetailOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="mitarbeiter-detail-stammdaten" flex="1" style="overflow:auto">
<textbox id="mitarbeiter-detail-textbox-person_id" hidden="true" />
<groupbox id='groupbox-personendaten'>
<!--PersonenDaten-->
<caption label="Personendaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:4px;"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="UID" control="mitarbeiter-detail-textbox-uid"/>
<hbox><textbox id="mitarbeiter-detail-textbox-uid" disabled="true" maxlength="32" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<spacer />
<spacer />
<label value="Aktiv" control="mitarbeiter-detail-checkbox-aktiv"/>
<checkbox id="mitarbeiter-detail-checkbox-aktiv" checked="true" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Anrede" control="mitarbeiter-detail-textbox-anrede"/>
<hbox><textbox id="mitarbeiter-detail-textbox-anrede" disabled="true" maxlength="16" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<label value="TitelPre" control="mitarbeiter-detail-textbox-titelpre"/>
<textbox id="mitarbeiter-detail-textbox-titelpre" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="TitelPost" control="mitarbeiter-detail-textbox-titelpost"/>
<textbox id="mitarbeiter-detail-textbox-titelpost" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Nachname" control="mitarbeiter-detail-textbox-nachname"/>
<textbox id="mitarbeiter-detail-textbox-nachname" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vorname" control="mitarbeiter-detail-textbox-vorname"/>
<textbox id="mitarbeiter-detail-textbox-vorname" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vornamen" control="mitarbeiter-detail-textbox-vornamen"/>
<textbox id="mitarbeiter-detail-textbox-vornamen" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="Geburtsdatum" control="mitarbeiter-detail-textbox-geburtsdatum" />
<hbox>
<box class="Datum" id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</hbox>
<label value="Geburtsort" control="mitarbeiter-detail-textbox-geburtsort"/>
<textbox id="mitarbeiter-detail-textbox-geburtsort" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
<label value="Geburtszeit" control="mitarbeiter-detail-textbox-geburtszeit" hidden="true"/>
<hbox><textbox id="mitarbeiter-detail-textbox-geburtszeit" disabled="true" maxlength="5" size="5" tooltiptext="Format: hh:mm Beispiel: 10:30" oninput="MitarbeiterDetailValueChange()" hidden="true"/></hbox>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="SVNR" control="mitarbeiter-detail-textbox-svnr"/>
<hbox><textbox id="mitarbeiter-detail-textbox-svnr" disabled="true" maxlength="10" size="10" oninput="MitarbeiterGenerateGebDatFromSVNR(); MitarbeiterDetailValueChange()"/></hbox>
<label value="Ersatzkennzeichen" control="mitarbeiter-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="mitarbeiter-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="10" oninput="MitarbeiterDetailValueChange()"/></hbox>
</row>
<row>
<label value="Staatsbuergerschaft" control="mitarbeiter-detail-menulist-staatsbuergerschaft" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>/>
<menulist id="mitarbeiter-detail-menulist-staatsbuergerschaft" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Geburtsnation" control="mitarbeiter-detail-menulist-geburtsnation" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-geburtsnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Sprache" control="mitarbeiter-detail-menulist-sprache" />
<menulist id="mitarbeiter-detail-menulist-sprache" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/sprache.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true" oncommand="MitarbeiterDetailValueChange()">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
<menuitem value="u" label="unbekannt"/>
</menupopup>
</menulist>
<label value="Familienstand" control="mitarbeiter-detail-menulist-familienstand" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true" oncommand="MitarbeiterDetailValueChange()" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<menupopup>
<menuitem value="" label="--keine Auswahl--"/>
<menuitem value="g" label="geschieden"/>
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
<menuitem value="w" label="verwitwet"/>
</menupopup>
</menulist>
<label value="Anzahl der Kinder" control="mitarbeiter-detail-textbox-anzahlderkinder" hidden="true"/>
<textbox id="mitarbeiter-detail-textbox-anzahlderkinder" disabled="true" maxlength="2" oninput="MitarbeiterDetailValueChange()" hidden="true"/>
</row>
<row>
<vbox>
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<button id="mitarbeiter-detail-button-image-delete" label="Delete" oncommand="MitarbeiterImageDelete();" disabled="true"/>
<spacer flex="1" />
</hbox>
<button id="mitarbeiter-detail-button-image-infomail" label="Infomail" oncommand="MitarbeiterImageInfomail();" disabled="true"/>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" style="margin-left:5px; width:90px; height:120px"/> <!-- width="60" height="60" -->
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
<textbox id="mitarbeiter-detail-textbox-anmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<label value="Homepage" control="mitarbeiter-detail-textbox-homepage"/>
<vbox><textbox id="mitarbeiter-detail-textbox-homepage" disabled="true" maxlength="256" oninput="MitarbeiterDetailValueChange()"/></vbox>
</row>
</rows>
</grid>
</groupbox>
<!-- MITARBEITER DATEN -->
<hbox>
<groupbox flex="8">
<caption label="Mitarbeiterdaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="mitarbeiter-detail-textbox-personalnummer" value="Personalnummer"/>
<textbox id="mitarbeiter-detail-textbox-personalnummer" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-kurzbezeichnung" value="Kurzbezeichnung"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-kurzbezeichnung" class="pflichtfeld" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<spacer />
</hbox>
<checkbox label="Lektor" id="mitarbeiter-detail-checkbox-lektor" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<checkbox label="Kleriker" id="mitarbeiter-detail-checkbox-kleriker" checked="false" disabled="true" hidden="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-textbox-stundensatz" value="Stundensatz"/>
<textbox id="mitarbeiter-detail-textbox-stundensatz" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-telefonklappe" value="Telefonklappe"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-telefonklappe" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<spacer />
</hbox>
<checkbox label="Fixangestellt" id="mitarbeiter-detail-checkbox-fixangestellt" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<spacer />
</row>
<row>
<label align="end" control="mitarbeiter-detail-menulist-ort_kurzbz" value="Buero"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ort_kurzbz" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/orte.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ort/rdf#anzeigename"
value="rdf:http://www.technikum-wien.at/ort/rdf#ort_kurzbz"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true&amp;firmentyp_kurzbz=Intern"
ref="http://www.technikum-wien.at/standort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<checkbox label="Bismelden" id="mitarbeiter-detail-checkbox-bismelden" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<spacer />
</row>
<row>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-mitarbeiteranmerkung"/>
<textbox id="mitarbeiter-detail-textbox-mitarbeiteranmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<vbox>
<label value="Alias" control="mitarbeiter-detail-textbox-alias"/>
<label value="Urlaubsanspruch" control="mitarbeiter-detail-textbox-urlaubsanspruch" style="margin-top: 10px;" />
</vbox>
<vbox>
<textbox id="mitarbeiter-detail-textbox-alias" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<textbox id="mitarbeiter-detail-textbox-urlaubsanspruch" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
<vbox>
<label align="end" control="mitarbeiter-detail-menulist-ausbildung" value="Ausbildung"/>
<label control="mitarbeiter-detail-textbox-resturlaubstage" value="Resturlaubstage" style="margin-top: 10px;"/>
</vbox>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ausbildung" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/ausbildung.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ausbildung/alle" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausbildung/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/ausbildung/rdf#code"/>
</menupopup>
</template>
</menulist>
<textbox id="mitarbeiter-detail-textbox-resturlaubstage" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
</row>
</rows>
</grid>
<hbox class="style-groupbox">
</hbox>
</groupbox>
</hbox>
<hbox>
<spacer flex="1"/>
<button id="mitarbeiter-detail-button-speichern" disabled="true" label="Speichern" oncommand="MitarbeiterSave();"/>
</hbox>
</vbox>
</overlay>
<?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>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<!DOCTYPE overlay>
<overlay id="MitarbeiterDetailOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="mitarbeiter-detail-stammdaten" flex="1" style="overflow:auto">
<textbox id="mitarbeiter-detail-textbox-person_id" hidden="true" />
<groupbox id='groupbox-personendaten'>
<!--PersonenDaten-->
<caption label="Personendaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:4px;"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="UID" control="mitarbeiter-detail-textbox-uid"/>
<hbox><textbox id="mitarbeiter-detail-textbox-uid" disabled="true" maxlength="32" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<spacer />
<spacer />
<label value="Aktiv" control="mitarbeiter-detail-checkbox-aktiv"/>
<checkbox id="mitarbeiter-detail-checkbox-aktiv" checked="true" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Anrede" control="mitarbeiter-detail-textbox-anrede"/>
<hbox><textbox id="mitarbeiter-detail-textbox-anrede" disabled="true" maxlength="16" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<label value="TitelPre" control="mitarbeiter-detail-textbox-titelpre"/>
<textbox id="mitarbeiter-detail-textbox-titelpre" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="TitelPost" control="mitarbeiter-detail-textbox-titelpost"/>
<textbox id="mitarbeiter-detail-textbox-titelpost" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Nachname" control="mitarbeiter-detail-textbox-nachname"/>
<textbox id="mitarbeiter-detail-textbox-nachname" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vorname" control="mitarbeiter-detail-textbox-vorname"/>
<textbox id="mitarbeiter-detail-textbox-vorname" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vornamen" control="mitarbeiter-detail-textbox-vornamen"/>
<textbox id="mitarbeiter-detail-textbox-vornamen" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="Geburtsdatum" control="mitarbeiter-detail-textbox-geburtsdatum" />
<hbox>
<box class="Datum" id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</hbox>
<label value="Geburtsort" control="mitarbeiter-detail-textbox-geburtsort"/>
<textbox id="mitarbeiter-detail-textbox-geburtsort" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
<label value="Geburtszeit" control="mitarbeiter-detail-textbox-geburtszeit" hidden="true"/>
<hbox><textbox id="mitarbeiter-detail-textbox-geburtszeit" disabled="true" maxlength="5" size="5" tooltiptext="Format: hh:mm Beispiel: 10:30" oninput="MitarbeiterDetailValueChange()" hidden="true"/></hbox>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="SVNR" control="mitarbeiter-detail-textbox-svnr"/>
<hbox><textbox id="mitarbeiter-detail-textbox-svnr" disabled="true" maxlength="16" size="10" oninput="MitarbeiterDetailValueChange()"/></hbox><!-- oninput="MitarbeiterGenerateGebDatFromSVNR(); fuer automatisches eintragen der SVNR anhand des Geburtsdatums -->
<label value="Ersatzkennzeichen" control="mitarbeiter-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="mitarbeiter-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="10" oninput="MitarbeiterDetailValueChange()"/></hbox>
</row>
<row>
<label value="Staatsbuergerschaft" control="mitarbeiter-detail-menulist-staatsbuergerschaft" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>/>
<menulist id="mitarbeiter-detail-menulist-staatsbuergerschaft" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Geburtsnation" control="mitarbeiter-detail-menulist-geburtsnation" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-geburtsnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Sprache" control="mitarbeiter-detail-menulist-sprache" />
<menulist id="mitarbeiter-detail-menulist-sprache" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/sprache.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true" oncommand="MitarbeiterDetailValueChange()">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
<menuitem value="u" label="unbekannt"/>
</menupopup>
</menulist>
<label value="Familienstand" control="mitarbeiter-detail-menulist-familienstand" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true" oncommand="MitarbeiterDetailValueChange()" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<menupopup>
<menuitem value="" label="--keine Auswahl--"/>
<menuitem value="g" label="geschieden"/>
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
<menuitem value="w" label="verwitwet"/>
</menupopup>
</menulist>
<label value="Anzahl der Kinder" control="mitarbeiter-detail-textbox-anzahlderkinder" hidden="true"/>
<textbox id="mitarbeiter-detail-textbox-anzahlderkinder" disabled="true" maxlength="2" oninput="MitarbeiterDetailValueChange()" hidden="true"/>
</row>
<row>
<vbox>
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<button id="mitarbeiter-detail-button-image-delete" label="Delete" oncommand="MitarbeiterImageDelete();" disabled="true"/>
<spacer flex="1" />
</hbox>
<button id="mitarbeiter-detail-button-image-infomail" label="Infomail" oncommand="MitarbeiterImageInfomail();" disabled="true"/>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" style="margin-left:5px; width:90px; height:120px"/> <!-- width="60" height="60" -->
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
<textbox id="mitarbeiter-detail-textbox-anmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<label value="Homepage" control="mitarbeiter-detail-textbox-homepage"/>
<vbox><textbox id="mitarbeiter-detail-textbox-homepage" disabled="true" maxlength="256" oninput="MitarbeiterDetailValueChange()"/></vbox>
</row>
</rows>
</grid>
</groupbox>
<!-- MITARBEITER DATEN -->
<hbox>
<groupbox flex="8">
<caption label="Mitarbeiterdaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="mitarbeiter-detail-textbox-personalnummer" value="Personalnummer"/>
<textbox id="mitarbeiter-detail-textbox-personalnummer" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-kurzbezeichnung" value="Kurzbezeichnung"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-kurzbezeichnung" class="pflichtfeld" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<spacer />
</hbox>
<checkbox label="Lektor" id="mitarbeiter-detail-checkbox-lektor" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<checkbox label="Kleriker" id="mitarbeiter-detail-checkbox-kleriker" checked="false" disabled="true" hidden="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-textbox-stundensatz" value="Stundensatz"/>
<textbox id="mitarbeiter-detail-textbox-stundensatz" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-telefonklappe" value="Telefonklappe"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-telefonklappe" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<spacer />
</hbox>
<checkbox label="Fixangestellt" id="mitarbeiter-detail-checkbox-fixangestellt" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<spacer />
</row>
<row>
<label align="end" control="mitarbeiter-detail-menulist-ort_kurzbz" value="Buero"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ort_kurzbz" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/orte.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ort/rdf#anzeigename"
value="rdf:http://www.technikum-wien.at/ort/rdf#ort_kurzbz"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true&amp;firmentyp_kurzbz=Intern"
ref="http://www.technikum-wien.at/standort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<checkbox label="Bismelden" id="mitarbeiter-detail-checkbox-bismelden" checked="false" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
<spacer />
</row>
<row>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-mitarbeiteranmerkung"/>
<textbox id="mitarbeiter-detail-textbox-mitarbeiteranmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<vbox>
<label value="Alias" control="mitarbeiter-detail-textbox-alias"/>
<label value="Urlaubsanspruch" control="mitarbeiter-detail-textbox-urlaubsanspruch" style="margin-top: 10px;" />
</vbox>
<vbox>
<textbox id="mitarbeiter-detail-textbox-alias" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<textbox id="mitarbeiter-detail-textbox-urlaubsanspruch" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
<vbox>
<label align="end" control="mitarbeiter-detail-menulist-ausbildung" value="Ausbildung"/>
<label control="mitarbeiter-detail-textbox-resturlaubstage" value="Resturlaubstage" style="margin-top: 10px;"/>
</vbox>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ausbildung" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/ausbildung.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ausbildung/alle" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausbildung/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/ausbildung/rdf#code"/>
</menupopup>
</template>
</menulist>
<textbox id="mitarbeiter-detail-textbox-resturlaubstage" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</vbox>
</row>
</rows>
</grid>
<hbox class="style-groupbox">
</hbox>
</groupbox>
</hbox>
<hbox>
<spacer flex="1"/>
<button id="mitarbeiter-detail-button-speichern" disabled="true" label="Speichern" oncommand="MitarbeiterSave();"/>
</hbox>
</vbox>
</overlay>
File diff suppressed because it is too large Load Diff
+282 -281
View File
@@ -1,281 +1,282 @@
<?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>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterdetailoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterfunktionoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterbuchungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
<overlay id="MitarbeiterOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiteroverlay.js.php" />
<!-- **************** -->
<!-- * MITARBEITER * -->
<!-- **************** -->
<vbox id="MitarbeiterEditor" persist="height" flex="1">
<popupset>
<menupopup id="mitarbeiter-tree-popup">
<menuitem label="EMail senden (intern)" oncommand="MitarbeiterSendMail();" id="mitarbeiter-tree-popup-mail" hidden="false"/>
<menuitem label="EMail senden (privat)" oncommand="MitarbeiterSendMailPrivat();" id="mitarbeiter-tree-popup-mail" hidden="false"/>
<menuitem label="Personendetails anzeigen" oncommand="MitarbeiterShowPersonendetails()" id="mitarbeiter-tree-popup-personendetails" hidden="false"/>
</menupopup>
</popupset>
<hbox>
<toolbox flex="1">
<toolbar id="mitarbeiter-nav-toolbar">
<toolbarbutton id="mitarbeiter-toolbar-neu" label="Neu" oncommand="MitarbeiterNeu()" disabled="false" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Mitarbeiter anlegen"/>
<toolbarbutton id="mitarbeiter-toolbar-export" label="Export" oncommand="MitarbeiterExport()" disabled="false" image="../skin/images/ExcelIcon.png" tooltiptext="Daten ins Excel Exportieren"/>
<toolbarbutton id="mitarbeiter-toolbar-refresh" label="Aktualisieren" oncommand="MitarbeiterTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<textbox id="mitarbeiter-toolbar-textbox-suche" control="mitarbeiter-toolbar-button-search" onkeypress="MitarbeiterSearchFieldKeyPress(event)" />
<button id="mitarbeiter-toolbar-button-search" oncommand="MitarbeiterSuche()" label="Suchen"/>
<spacer flex="1"/>
<label id="mitarbeiter-toolbar-label-anzahl"/>
</toolbar>
</toolbox>
</hbox>
<box style="height: 100px;">
<!-- ************ -->
<!-- * TREE * -->
<!-- ************ -->
<tree id="mitarbeiter-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/alle"
onselect="MitarbeiterAuswahl();"
flags="dont-build-content"
enableColumnDrag="true"
persist="hidden, height"
context="mitarbeiter-tree-popup"
>
<treecols>
<treecol id="mitarbeiter-treecol-uid" label="UID" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-anrede" label="Anrede" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpre" label="TitelPre" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-nachname" label="Nachname" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vorname" label="Vorname" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vornamen" label="Vornamen" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpost" label="TitelPost" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecol id="mitarbeiter-treecol-geburtsdatum" label="Geburtsdatum" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-geburtsdatum_iso" label="GeburtsdatumISO" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-svnr" label="SVNR" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>';
?>
<treecol id="mitarbeiter-treecol-aktiv" label="Aktiv" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-personalnummer" label="PNr" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-kurzbz" label="Kurzbz" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-lektor" label="Lektor" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-fixangestellt" label="Fix" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-telefonklappe" label="Klappe" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ort_kurzbz" label="Buero" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-person_id" label="Person_id" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum" label="Angelegt am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertvon" label="Angelegt von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum_iso" label="Angelegt am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true" ignoreincolumnpicker="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updateamum" label="Geaendert am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updatevon" label="Geaendert von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updateamum_iso" label="Geaendert am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true" ignoreincolumnpicker="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" />';
?>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</box>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * TABS * -->
<!-- ************ -->
<vbox persist="height" flex="1">
<tabbox id="mitarbeiter-tabbox" orient="vertical" flex="1">
<tabs orient="horizontal" id="mitarbeiter-tabs">
<tab id="mitarbeiter-tab-detail" label="Stammdaten" />
<tab id="mitarbeiter-tab-kontakt" label="Kontaktdaten" />
<tab id="mitarbeiter-tab-bis" label="BIS-Daten" />
<tab id="mitarbeiter-tab-betriebsmittel" label="Betriebsmittel" />
<tab id="mitarbeiter-tab-funktionen" label="Funktionen" oncommand="MitarbeiterFunktionIFrameLoad()"/>
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-buchung" label="Buchungen" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-vertrag" label="Verträge" />';
?>
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
</tabs>
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
<iframe id="mitarbeiter-kontakt" src="" style="margin-top:10px;" />
<vbox id="mitarbeiter-detail-funktionen" style="margin-top:10px;" />
<iframe id="mitarbeiter-betriebsmittel" src="" style="margin-top:10px;" />
<iframe id="mitarbeiter-funktionen" src="" style="margin-top:10px;"/>
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<vbox id="mitarbeiter-buchung" style="margin-top:10px;" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<vbox id="mitarbeiter-vertrag" style="margin-top:10px;" />';
?>
<iframe id="mitarbeiter-termine" src="" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
</vbox>
</overlay>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas moik <moik@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterdetailoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterfunktionoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterbuchungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
<overlay id="MitarbeiterOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiteroverlay.js.php" />
<!-- **************** -->
<!-- * MITARBEITER * -->
<!-- **************** -->
<vbox id="MitarbeiterEditor" persist="height" flex="1">
<popupset>
<menupopup id="mitarbeiter-tree-popup">
<menuitem label="EMail senden (intern)" oncommand="MitarbeiterSendMail();" id="mitarbeiter-tree-popup-mail" hidden="false"/>
<menuitem label="EMail senden (privat)" oncommand="MitarbeiterSendMailPrivat();" id="mitarbeiter-tree-popup-mail" hidden="false"/>
<menuitem label="Personendetails anzeigen" oncommand="MitarbeiterShowPersonendetails()" id="mitarbeiter-tree-popup-personendetails" hidden="false"/>
</menupopup>
</popupset>
<hbox>
<toolbox flex="1">
<toolbar id="mitarbeiter-nav-toolbar">
<toolbarbutton id="mitarbeiter-toolbar-neu" label="Neu" oncommand="MitarbeiterNeu()" disabled="false" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Mitarbeiter anlegen"/>
<toolbarbutton id="mitarbeiter-toolbar-export" label="Export" oncommand="MitarbeiterExport()" disabled="false" image="../skin/images/ExcelIcon.png" tooltiptext="Daten ins Excel Exportieren"/>
<toolbarbutton id="mitarbeiter-toolbar-refresh" label="Aktualisieren" oncommand="MitarbeiterTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<textbox id="mitarbeiter-toolbar-textbox-suche" control="mitarbeiter-toolbar-button-search" onkeypress="MitarbeiterSearchFieldKeyPress(event)" />
<button id="mitarbeiter-toolbar-button-search" oncommand="MitarbeiterSuche()" label="Suchen"/>
<spacer flex="1"/>
<label id="mitarbeiter-toolbar-label-anzahl"/>
</toolbar>
</toolbox>
</hbox>
<box style="height: 100px;">
<!-- ************ -->
<!-- * TREE * -->
<!-- ************ -->
<tree id="mitarbeiter-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/alle"
onselect="MitarbeiterAuswahl();"
flags="dont-build-content"
enableColumnDrag="true"
persist="hidden, height"
context="mitarbeiter-tree-popup"
>
<treecols>
<treecol id="mitarbeiter-treecol-uid" label="UID" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-anrede" label="Anrede" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpre" label="TitelPre" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-nachname" label="Nachname" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vorname" label="Vorname" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vornamen" label="Vornamen" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpost" label="TitelPost" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecol id="mitarbeiter-treecol-geburtsdatum" label="Geburtsdatum" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-geburtsdatum_iso" label="GeburtsdatumISO" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-svnr" label="SVNR" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>';
?>
<treecol id="mitarbeiter-treecol-aktiv" label="Aktiv" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-personalnummer" label="PNr" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-kurzbz" label="Kurzbz" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-lektor" label="Lektor" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-fixangestellt" label="Fix" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-telefonklappe" label="Klappe" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ort_kurzbz" label="Buero" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-person_id" label="Person_id" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum" label="Angelegt am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertvon" label="Angelegt von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum_iso" label="Angelegt am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true" ignoreincolumnpicker="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updateamum" label="Geaendert am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updatevon" label="Geaendert von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updateamum_iso" label="Geaendert am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true" ignoreincolumnpicker="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" />';
?>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</box>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * TABS * -->
<!-- ************ -->
<vbox persist="height" flex="1">
<tabbox id="mitarbeiter-tabbox" orient="vertical" flex="1">
<tabs orient="horizontal" id="mitarbeiter-tabs">
<tab id="mitarbeiter-tab-detail" label="Stammdaten" />
<tab id="mitarbeiter-tab-kontakt" label="Kontaktdaten" />
<tab id="mitarbeiter-tab-bis" label="BIS-Daten" />
<tab id="mitarbeiter-tab-betriebsmittel" label="Betriebsmittel" />
<tab id="mitarbeiter-tab-funktionen" label="Funktionen" oncommand="MitarbeiterFunktionIFrameLoad()"/>
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-buchung" label="Buchungen" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-vertrag" label="Verträge" />';
?>
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
</tabs>
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
<iframe id="mitarbeiter-kontakt" src="" style="margin-top:10px;" />
<vbox id="mitarbeiter-detail-funktionen" style="margin-top:10px;" />
<iframe id="mitarbeiter-betriebsmittel" src="" style="margin-top:10px;" />
<iframe id="mitarbeiter-funktionen" src="" style="margin-top:10px;"/>
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<vbox id="mitarbeiter-buchung" style="margin-top:10px;" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<vbox id="mitarbeiter-vertrag" style="margin-top:10px;" />';
?>
<iframe id="mitarbeiter-termine" src="" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
</vbox>
</overlay>
Regular → Executable
+17 -4
View File
@@ -70,7 +70,7 @@ else
$xsl_stg_kz=$_GET['stg_kz'];
else
{
// Werden UIDs uebergeben, wird die Vorlage des Studiengangs genommen
// Werden UIDs oder Prestudent_IDs uebergeben, wird die Vorlage des Studiengangs genommen
// in dem der 1. Studierende in der Liste ist
if(isset($_GET['uid']) && $_GET['uid']!='')
{
@@ -85,6 +85,19 @@ else
$xsl_stg_kz=$student_obj->studiengang_kz;
}
}
elseif(isset($_GET['prestudent_id']) && $_GET['prestudent_id']!='')
{
if(strstr($_GET['prestudent_id'],';'))
$prestudent_ids = explode(';',$_GET['prestudent_id']);
else
$prestudent_ids[1] = $_GET['prestudent_id'];
$prestudent_obj = new prestudent();
if($prestudent_obj->load($prestudent_ids[1]))
{
$xsl_stg_kz=$prestudent_obj->studiengang_kz;
}
}
}
}
if(isset($_GET['xsl_oe_kurzbz']))
@@ -185,7 +198,7 @@ if (isset($_GET['output']) && $_GET['output']!='pdf')
else
$output = $_GET['output'];
}
else
else
$output = 'pdf';
@@ -277,7 +290,7 @@ elseif(in_array($xsl,array('Ressource')))
exit;
}
}
elseif(in_array($xsl,array('Inskription','Studienerfolg','OutgoingLearning','OutgoingChangeL','LearningAgree','Zahlung')))
elseif(in_array($xsl,array('Inskription','Studienerfolg','OutgoingLearning','OutgoingChangeL','LearningAgree','Zahlung','DichiaSost')))
{
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz'))
{
@@ -662,7 +675,7 @@ else
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
if(isset($_GET['style_xsl']))
if(isset($_GET['style_xsl']) || $vorlage->style!='')
{
//Wenn die Spalte style in der DB befuellt ist, wird dieses verwendet
if($vorlage->style!='')
+56 -36
View File
@@ -22,22 +22,27 @@ require_once('../../config/vilesci.config.inc.php');
?>
var global_year;
var global_url;
var global_year;
var global_url;
function getProperties()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('tree-projektmenue');
// Wenn auf die Ueberschrift geklickt wird, soll nix passieren
if(tree.currentIndex==-1)
{
alert("Kein gültiges Projekt ausgewählt!");
return;
}
projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
if(typeof(ProjektSelectKurzbz)!='undefined')
projekt_kurzbz = ProjektSelectKurzbz;
else
{
alert("Kein gültiges Projekt ausgewählt!");
return;
}
}
else
projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
}
function showStudienjahr()
@@ -47,27 +52,35 @@ function showStudienjahr()
{
var datumAktuell = new Date();
var jahrAktuell = datumAktuell.getFullYear();
global_year = jahrAktuell;
global_year = jahrAktuell;
}
var tree=document.getElementById('tree-projektmenue');
// Wenn auf die Ueberschrift geklickt wird, soll nix passieren
if(tree.currentIndex==-1)
{
alert("Kein gültiges Projekt ausgewählt!");
return;
}
projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
if(typeof(ProjektSelectKurzbz)!='undefined')
projekt_kurzbz = ProjektSelectKurzbz;
else
{
alert("Kein gültiges Projekt ausgewählt!");
return;
}
}
else
{
projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
}
if(projekt_kurzbz == '')
{
oe_kurzbz = getTreeCellText(tree, "treecol-projektmenue-oe", tree.currentIndex);
oe_kurzbz = getTreeCellText(tree, "treecol-projektmenue-oe", tree.currentIndex);
var url = 'projekt/gantt.svg.php?oe='+oe_kurzbz+'&studienjahr='+(global_year-1)+'&ansicht=studienjahr';
global_url=url;
global_url=url;
}
else
{
var url = 'projekt/gantt.svg.php?projekt='+projekt_kurzbz+'&studienjahr='+(global_year-1)+'&ansicht=studienjahr';
global_url = url;
global_url = url;
}
document.getElementById('iframe-gant-projekt').contentWindow.location.href=url;
@@ -79,33 +92,40 @@ function showKalenderjahr()
{
var datumAktuell = new Date();
var jahrAktuell = datumAktuell.getFullYear();
global_year = jahrAktuell;
global_year = jahrAktuell;
}
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('tree-projektmenue');
// Wenn auf die Ueberschrift geklickt wird, soll nix passieren
if(tree.currentIndex==-1)
{
alert("Kein gültiges Projekt ausgewählt!");
return;
}
projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
if(typeof(ProjektSelectKurzbz)!='undefined')
projekt_kurzbz = ProjektSelectKurzbz;
else
{
alert("Kein gültiges Projekt ausgewählt!");
return;
}
}
else
projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
if(projekt_kurzbz == '')
{
oe_kurzbz = getTreeCellText(tree, "treecol-projektmenue-oe", tree.currentIndex);
oe_kurzbz = getTreeCellText(tree, "treecol-projektmenue-oe", tree.currentIndex);
var url = 'projekt/gantt.svg.php?oe='+oe_kurzbz+'&studienjahr='+global_year+'&ansicht=kalenderjahr';
global_url = url;
global_url = url;
}
else
{
var url = 'projekt/gantt.svg.php?projekt='+projekt_kurzbz+'&studienjahr='+global_year+'&ansicht=kalenderjahr';
global_url = url;
global_url = url;
}
global_url = url;
document.getElementById('iframe-gant-projekt').contentWindow.location.href=url;
document.getElementById('iframe-gant-projekt').contentWindow.location.href=url;
}
function showZeitraum(beginn, ende)
@@ -114,36 +134,36 @@ function showZeitraum(beginn, ende)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('tree-projektmenue');
// Wenn auf die Ueberschrift geklickt wird, soll nix passieren
if(tree.currentIndex==-1)
{
alert("Kein gültiges Projekt ausgewählt!");
return;
}
}
projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
if(projekt_kurzbz == '')
{
oe_kurzbz = getTreeCellText(tree, "treecol-projektmenue-oe", tree.currentIndex);
oe_kurzbz = getTreeCellText(tree, "treecol-projektmenue-oe", tree.currentIndex);
var url = 'projekt/gantt.svg.php?oe='+oe_kurzbz+'&beginn='+beginn+'&ende='+ende;
global_url = url;
global_url = url;
}
global_url = url;
document.getElementById('iframe-gant-projekt').contentWindow.location.href=url;
document.getElementById('iframe-gant-projekt').contentWindow.location.href=url;
}
else
alert('kein gültiges Datum eingetragen');
}
function showYear()
{
var datumAktuell = new Date();
var jahrAktuell = datumAktuell.getFullYear();
global_year = jahrAktuell;
global_year = jahrAktuell;
foo = document.getElementById('toolbarbutton-menuitem-gantt-kalenderjahr');
checked=foo.getAttribute('checked');
// kalenderjahr checked
@@ -207,7 +227,7 @@ function showYearPlus()
}
function printGantt()
{
{
foo = window.open(global_url);
foo.onload = function ()
{
Regular → Executable
View File
+77 -10
View File
@@ -149,7 +149,9 @@ function onselectProjekt()
var beginn=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beginn" ));
var ende=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" ));
var budget=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#budget" ));
var farbe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#farbe" ));
var farbe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#farbe" ));
var aufwand_pt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufwand_pt" ));
var anzahl_ma=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahl_ma" ));
var aufwandstyp_kurzbz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufwandstyp_kurzbz" ));
//Daten den Feldern zuweisen
@@ -164,7 +166,9 @@ function onselectProjekt()
document.getElementById('textbox-projekt-detail-ende').value=ende;
document.getElementById('textbox-projekt-detail-budget').value=budget;
document.getElementById('textbox-projekt-detail-farbe').value=farbe;
document.getElementById('checkbox-projekt-detail-neu').checked=false;
document.getElementById('checkbox-projekt-detail-neu').checked=false;
document.getElementById('textbox-projekt-anzahl_ma').value=anzahl_ma;
document.getElementById('textbox-projekt-aufwand_pt').value=aufwand_pt;
MenulistSelectItemOnValue('menulist-projekt-detail-aufwandstyp', aufwandstyp_kurzbz);
@@ -174,7 +178,7 @@ function onselectProjekt()
ressource = document.getElementById('box-projekt-ressourcen');
ressource.LoadRessourceTree(projekt_kurzbz,'');
makeProjektAnalyse()
}
// ****
@@ -193,9 +197,11 @@ function saveProjektDetail()
beginn = document.getElementById('textbox-projekt-detail-beginn').iso;
ende = document.getElementById('textbox-projekt-detail-ende').iso;
budget = document.getElementById('textbox-projekt-detail-budget').value;
farbe = document.getElementById('textbox-projekt-detail-farbe').value;
farbe = document.getElementById('textbox-projekt-detail-farbe').value;
neu = document.getElementById('checkbox-projekt-detail-neu').checked;
aufwandstyp_kurzbz = MenulistGetSelectedValue('menulist-projekt-detail-aufwandstyp');
aufwandstyp_kurzbz = MenulistGetSelectedValue('menulist-projekt-detail-aufwandstyp');
anzahl_ma = document.getElementById('textbox-projekt-anzahl_ma').value;
aufwand_pt = document.getElementById('textbox-projekt-aufwand_pt').value;
var soapBody = new SOAPObject("saveProjekt");
//soapBody.appendChild(new SOAPObject("username")).val('joe');
@@ -211,7 +217,9 @@ function saveProjektDetail()
projekt.appendChild(new SOAPObject("ende")).val(ende);
projekt.appendChild(new SOAPObject("budget")).val(budget);
projekt.appendChild(new SOAPObject("farbe")).val(farbe);
projekt.appendChild(new SOAPObject("aufwandstyp_kurzbz")).val(aufwandstyp_kurzbz);
projekt.appendChild(new SOAPObject("aufwandstyp_kurzbz")).val(aufwandstyp_kurzbz);
projekt.appendChild(new SOAPObject("anzahl_ma")).val(anzahl_ma);
projekt.appendChild(new SOAPObject("aufwand_pt")).val(aufwand_pt);
if(neu)
projekt.appendChild(new SOAPObject("neu")).val('true');
@@ -334,7 +342,10 @@ function ProjektDetailReset()
document.getElementById('textbox-projekt-detail-beschreibung').value='';
document.getElementById('textbox-projekt-detail-beginn').value='';
document.getElementById('textbox-projekt-detail-ende').value='';
document.getElementById('textbox-projekt-detail-budget').value='';
document.getElementById('textbox-projekt-detail-budget').value='';
document.getElementById('textbox-projekt-anzahl_ma').value='';
document.getElementById('textbox-projekt-aufwand_pt').value='';
document.getElementById('textbox-projekt-detail-projektwuerdigkeit').value='';
}
// ****
@@ -349,9 +360,11 @@ function ProjektDisableFields(val)
document.getElementById('textbox-projekt-detail-beginn').disabled=val;
document.getElementById('textbox-projekt-detail-ende').disabled=val;
document.getElementById('textbox-projekt-detail-budget').disabled=val;
document.getElementById('textbox-projekt-detail-farbe').disabled=val;
document.getElementById('textbox-projekt-detail-farbe').disabled=val;
document.getElementById('button-projekt-detail-speichern').disabled=val;
document.getElementById('menulist-projekt-detail-aufwandstyp').disabled=val;
document.getElementById('menulist-projekt-detail-aufwandstyp').disabled=val;
document.getElementById('textbox-projekt-anzahl_ma').disabled=val;
document.getElementById('textbox-projekt-aufwand_pt').disabled=val;
}
@@ -372,11 +385,65 @@ function ProjektNeu()
document.getElementById('textbox-projekt-detail-projekt_kurzbz').disabled=false;
document.getElementById('checkbox-projekt-detail-neu').checked=true;
document.getElementById('caption-projekt-detail').label='Neues Projekt';
document.getElementById('textbox-projekt-detail-farbe').value='#FF0000';
document.getElementById('textbox-projekt-detail-farbe').value='#FF0000';
document.getElementById('textbox-projekt-anzahl_ma').disabled=false;
document.getElementById('textbox-projekt-aufwand_pt').disabled=false;
//Detail Tab auswaehlen
document.getElementById('tabs-projekt-main').selectedItem=document.getElementById('tab-projekt-detail');
}
function makeProjektAnalyse(){
var ergebnis_el = document.getElementById('textbox-projekt-detail-projektwuerdigkeit');
ergebnis_el.value="";
var anzahl_ma = document.getElementById('textbox-projekt-anzahl_ma').value;
var aufwand_pt = document.getElementById('textbox-projekt-aufwand_pt').value;
var budget = document.getElementById('textbox-projekt-detail-budget').value;
var beginn = document.getElementById('textbox-projekt-detail-beginn').value;
var ende = document.getElementById('textbox-projekt-detail-ende').value;
if (!anzahl_ma || !aufwand_pt || !budget || !beginn || !ende)
{
ergebnis_el.value = 'Angaben unvollständig';
}
else
{
var beginn_arr = beginn.split(".");
var ende_arr = ende.split(".");
var date1 = new Date(beginn_arr[2],beginn_arr[1],beginn_arr[0]);
var date2 = new Date(ende_arr[2],ende_arr[1],ende_arr[0]);
var dauerTage = parseInt((date2 - date1) / (1000 * 60 * 60 * 24));
var punkte_gesamt = 0;
var projekttyp = '';
if (aufwand_pt < 10) punkte_gesamt += 1;
else if (aufwand_pt <= 50) punkte_gesamt += 4;
else if (aufwand_pt <= 250) punkte_gesamt += 8;
else punkte_gesamt += 8;
if (anzahl_ma < 3) punkte_gesamt += 1;
else if (anzahl_ma <= 5) punkte_gesamt += 3;
else if (anzahl_ma <= 20) punkte_gesamt += 6;
else punkte_gesamt += 9;
if (budget < 5000) punkte_gesamt += 1;
else if (budget <= 25000) punkte_gesamt += 2;
else if (budget <= 500000) punkte_gesamt += 4;
else punkte_gesamt += 6;
if (dauerTage < 30) punkte_gesamt += 0;
else if (dauerTage <= 90) punkte_gesamt += 4;
else if (dauerTage <= 360) punkte_gesamt += 5;
else punkte_gesamt += 7;
if (punkte_gesamt <= 8) projekttyp = 'Vorhaben';
else if (punkte_gesamt <= 15) projekttyp = 'Kleinprojekt';
else if (punkte_gesamt <= 30) projekttyp = 'Projekt';
else projekttyp = 'Großrojekt';
ergebnis_el.value = projekttyp;
}
}
function ProjektPrintStatusbericht()
{
+2 -2
View File
@@ -63,7 +63,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/projektdetail.overlay.xul.
<!-- ************* -->
<!-- Bem.: style="visibility:collapse" versteckt eine Spalte -->
<tree id="tree-projekt" seltype="single" hidecolumnpicker="false" flex="1"
datasources="../../rdf/projekt.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/projekt/alle-projekte"
datasources="../rdf/projekt.rdf.php?nocache=<?php echo time(); ?>" ref="http://www.technikum-wien.at/projekt/alle-projekte"
style="margin:0px;height:250px" enableColumnDrag="true"
onselect="onselectProjekt(this);"
persist="height"
@@ -154,5 +154,5 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/projektdetail.overlay.xul.
</tabpanels>
</tabbox>
</vbox>
</vbox>
</vbox>
</overlay>
+81
View File
@@ -0,0 +1,81 @@
<?php
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
?>
function updateProjektRessource()
{
if(projekt_ressource_id!='')
{
aufwand = document.getElementById("textbox-ressource-aufwand").value;
if (document.getElementById("leitung").selected)
funktion_kurzbz = 'Leitung';
else
funktion_kurzbz = 'Mitarbeiter';
try
{
var soapBody = new SOAPObject("saveProjektRessource");
var projektRessource = new SOAPObject("projektRessource");
projektRessource.appendChild(new SOAPObject("projekt_ressource_id")).val(projekt_ressource_id);
if(projekt_kurzbz != '')
{
projektRessource.appendChild(new SOAPObject("projektphase_id")).val('');
projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val(projekt_kurzbz);
}
else if(projektphase_id != '')
{
projektRessource.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id);
projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val('');
}
projektRessource.appendChild(new SOAPObject("ressource_id")).val(ressource_id);
projektRessource.appendChild(new SOAPObject("funktion_kurzbz")).val(funktion_kurzbz);
projektRessource.appendChild(new SOAPObject("beschreibung")).val(beschreibung);
projektRessource.appendChild(new SOAPObject("aufwand")).val(aufwand);
soapBody.appendChild(projektRessource);
var sr = new SOAPRequest("saveProjektRessource",soapBody);
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/ressource_projekt.soap.php?"+gettimestamp();
function mycallb(obj)
{
var me=obj;
this.invoke=function (respObj)
{
try
{
var id = respObj.Body[0].saveProjektRessourceResponse[0].message[0].Text;
}
catch(e)
{
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert('Fehler: '+fehler);
return;
}
me.RefreshRessource();
}
}
var cb=new mycallb(this);
//SOAPClient.SendRequest(sr,cb.invoke);
SOAPClient.SendRequest(sr);
}
catch(e)
{
debug("Ressource load failed with exception: "+e);
}
}
//window.opener.location.reload(false);
window.close();
}
+117
View File
@@ -0,0 +1,117 @@
<?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
* Gerald Raab <erald.raab@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
$projekt_ressource_id = $_GET["id"];
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/ressource.class.php');
$ressource = new ressource();
$ressource->getSingleProjektRessource($projekt_ressource_id);
$aufwand = $ressource->aufwand;
$funktion_kurzbz = $ressource->funktion_kurzbz;
$ressource_id = $ressource->ressource_id;
$projektphase_id = $ressource->projektphase_id;
$beschreibung = $ressource->beschreibung;
$projekt_kurzbz = $ressource->projekt_kurzbz;
if ($funktion_kurzbz == "Leitung")
{
$leitung_sel = ' selected="true"';
$mitarbeiter_sel = '';
}
else
{
$leitung_sel = '';
$mitarbeiter_sel = ' selected="true"';
}
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
?>
<window id="window-ressource-neu" title="Projektressource verwalten"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jquery.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jqSOAPClient.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jqXMLUtils.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>content/functions.js.php"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>content/projekt/projekt_ressource.window.js.php"></script>
<script type="text/javascript">
var projekt_ressource_id = '<?php echo $projekt_ressource_id ?>';
var aufwand = '<?php echo $aufwand; ?>';
var funktion_kurzbz = '<?php echo $funktion_kurzbz; ?>';
var projekt_kurzbz = '<?php echo $projekt_kurzbz; ?>';
var projektphase_id = '<?php echo $projektphase_id; ?>';
var ressource_id = '<?php echo $ressource_id; ?>';
var funktion_kurzbz = '<?php echo $funktion_kurzbz; ?>';
var beschreibung = '<?php echo $beschreibung; ?>';
</script>
<vbox>
<checkbox id="checkbox-ressource-neu" hidden="true"/>
<groupbox id="groupbox-ressource" flex="1">
<caption label="Details"/>
<grid id="grid-ressource-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="ProjektRessourceID" control="textbox-ressource-projekt_ressource_id"/>
<textbox id="textbox-ressource-projekt_ressource_id" value="<?php echo $projekt_ressource_id; ?>" disabled="true" />
</row>
<row>
<label value="Funktion" control="textbox-ressource-funktionradio"/>
<radiogroup>
<radio id="leitung" label="Leitung" <?php echo $leitung_sel; ?>/>
<radio id="mitarbeiter" label="Mitarbeiter" <?php echo $mitarbeiter_sel; ?>/>
</radiogroup>
</row>
<row>
<label value="Aufwand" control="textbox-ressource-aufwand"/>
<textbox id="textbox-ressource-aufwand" value="<?php echo $aufwand; ?>" maxlength="256"/>
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="button-ressource-speichern" oncommand="updateProjektRessource()" label="Speichern" />
</hbox>
</groupbox>
</vbox>
</window>
+30 -6
View File
@@ -58,6 +58,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<spacer />
</hbox>
</row>
<row>
<label value="OE (Organisationseinheit)" control="textbox-projekt-detail-oe_kurzbz"/>
<hbox>
@@ -100,21 +101,43 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Beschreibung" control="textbox-projekt-detail-beschreibung"/>
<textbox id="textbox-projekt-detail-beschreibung" multiline="true" disabled="true" rows="10"/>
</row>
<row>
<row style="background-color:#eeeeee">
<label value="Projektwürdigkeit" control="textbox-projekt-detail-projektwuerdigkeit" style="font-weight:bold;"/>
<hbox>
<textbox id="textbox-projekt-detail-projektwuerdigkeit" size="16" maxlength="16" readonly="true" style="font-weight:bold;"/>
<spacer />
</hbox>
</row>
<row style="background-color:#eeeeee">
<label value="Beginn" control="textbox-projekt-detail-beginn"/>
<box class="Datum" id="textbox-projekt-detail-beginn" disabled="true"/>
<box class="Datum" id="textbox-projekt-detail-beginn" disabled="true" onchange="makeProjektAnalyse()"/>
</row>
<row>
<row style="background-color:#eeeeee">
<label value="Ende" control="textbox-projekt-detail-ende"/>
<box class="Datum" id="textbox-projekt-detail-ende" disabled="true"/>
<box class="Datum" id="textbox-projekt-detail-ende" disabled="true" onchange="makeProjektAnalyse()"/>
</row>
<row>
<row style="background-color:#eeeeee">
<label value="Budget" control="textbox-projekt-detail-budget"/>
<hbox>
<textbox id="textbox-projekt-detail-budget" size="12" maxlength="13" disabled="true"/>
<textbox id="textbox-projekt-detail-budget" size="12" maxlength="13" disabled="true" onchange="makeProjektAnalyse()"/>
<spacer />
</hbox>
</row>
<row style="background-color:#eeeeee">
<label value="Anzahl MA" control="textbox-projekt-anzahl_ma"/>
<hbox>
<textbox id="textbox-projekt-anzahl_ma" size="7" maxlength="7" disabled="true" onchange="makeProjektAnalyse()"/>
</hbox>
<spacer />
</row>
<row style="background-color:#eeeeee">
<label value="Aufwand PT" control="textbox-projekt-aufwand_pt" />
<hbox>
<textbox id="textbox-projekt-aufwand_pt" size="7" maxlength="7" disabled="true" onchange="makeProjektAnalyse()"/>
</hbox>
<spacer />
</row>
<row>
<label value="Farbe" control="textbox-projekt-detail-farbe"/>
<hbox>
@@ -122,6 +145,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<spacer />
</hbox>
</row>
<row>
<label value="Aufwandstyp" control="textbox-projekt-detail-aufwandstyp"/>
<hbox>
Regular → Executable
+1
View File
@@ -224,6 +224,7 @@ function saveRessource()
SOAPClient.SendRequest(sr, clb_saveRessource);
}
}
// ****
+601 -581
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -127,7 +127,7 @@ if($studiengang_kz!='')
$worksheet->write($zeile,++$spalte, $row->status);
if(mb_strlen($row->status)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->status);
$worksheet->write($zeile,++$spalte, $row->semester, $format_center);
if(mb_strlen($row->semester)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->semester);
@@ -142,11 +142,11 @@ if($studiengang_kz!='')
}
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
}
else
@@ -166,4 +166,4 @@ else
</html>
';
}
?>
?>
+1 -1
View File
@@ -114,7 +114,7 @@ FROM
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_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 public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz)
WHERE
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
+99 -23
View File
@@ -92,7 +92,7 @@ if($stsem!='')
<th>Studiengänge</th>
<th>Absolut / %</th>
<th>In / Out</th>
<th>BB / VZ / DL</th>
<th>BB / VZ / DL / DDP / PT</th>
<th>m</th>
<th>w</th>
<th>&Ouml;sterreich</th>
@@ -101,7 +101,7 @@ if($stsem!='')
</tr>
";
//Bachelor
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz, mischform,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='$stsem'
) a) AS gesamt_stg,
@@ -124,6 +124,12 @@ if($stsem!='')
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DL'
) a) AS fs,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DDP'
) a) AS ddp,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='PT'
) a) AS pt,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w'
) a) AS w,
@@ -154,6 +160,8 @@ if($stsem!='')
$gesamt_bb=0;
$gesamt_vz=0;
$gesamt_fs=0;
$gesamt_ddp=0;
$gesamt_pt=0;
$gesamt_m=0;
$gesamt_w=0;
$gesamt_at=0;
@@ -169,36 +177,64 @@ if($stsem!='')
$prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0);
echo "<td align='center'>$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %</td>";
echo "<td align='center'>$row->inc / $row->out</td>";
if($row->orgform_kurzbz=='BB')
if($row->orgform_kurzbz=='BB' && $db->db_parse_bool($row->mischform)==false)
{
//berufsbegleitend: gesamtzahl in spalte bb
echo "<td align='center'>$row->gesamt_stg / $row->vz / $row->fs</td>";
echo "<td align='center'>$row->gesamt_stg / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->gesamt_stg;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='VZ')
else if($row->orgform_kurzbz=='VZ' && $db->db_parse_bool($row->mischform)==false)
{
//vollzeit: gesamtzahl in spalte vz
echo "<td align='center'>$row->bb / $row->gesamt_stg / $row->fs</td>";
echo "<td align='center'>$row->bb / $row->gesamt_stg / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->gesamt_stg;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DL')
else if($row->orgform_kurzbz=='DL' && $db->db_parse_bool($row->mischform)==false)
{
//fernlehre: gesamtzahl in spalte DL
echo "<td align='center'>$row->bb / $row->vz / $row->gesamt_stg</td>";
echo "<td align='center'>$row->bb / $row->vz / $row->gesamt_stg / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->gesamt_stg;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else
else if($row->orgform_kurzbz=='DDP' && $db->db_parse_bool($row->mischform)==false)
{
echo "<td align='center'>$row->bb / $row->vz / $row->fs</td>";
//doubledegree: gesamtzahl in spalte DDP
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->gesamt_stg / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_pt += $row->gesamt_stg;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='PT' && $db->db_parse_bool($row->mischform)==false)
{
//parttime: gesamtzahl in spalte PT
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->gesamt_stg</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->gesamt_stg;
}
else
{
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
echo "<td align='center'>$row->m</td>";
echo "<td align='center'>$row->w</td>";
@@ -221,7 +257,7 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamt_inc / $gesamt_out</b></td>";
echo "<td align='center'><b>$gesamt_bb / $gesamt_vz / $gesamt_fs</b></td>";
echo "<td align='center'><b>$gesamt_bb / $gesamt_vz / $gesamt_fs / $gesamt_ddp / $gesamt_pt</b></td>";
echo "<td align='center'><b>$gesamt_m</b></td>";
echo "<td align='center'><b>$gesamt_w</b></td>";
echo "<td align='center'><b>$gesamt_at</b></td>";
@@ -236,6 +272,8 @@ if($stsem!='')
$gesamtsumme_bb = $gesamt_bb;
$gesamtsumme_vz = $gesamt_vz;
$gesamtsumme_fs = $gesamt_fs;
$gesamtsumme_ddp = $gesamt_ddp;
$gesamtsumme_pt = $gesamt_pt;
$gesamtsumme_m = $gesamt_m;
$gesamtsumme_w = $gesamt_w;
$gesamtsumme_at = $gesamt_at;
@@ -251,14 +289,14 @@ if($stsem!='')
<th>Studiengänge</th>
<th>Absolut / %</th>
<th>In / Out</th>
<th>BB / VZ / DL</th>
<th>BB / VZ / DL / DDP / PT</th>
<th>m</th>
<th>w</th>
<th>&Ouml;sterreich</th>
<th>EU</th>
<th>Nicht-EU</th>
</tr>';
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,mischform,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."'
) AS gesamt_stg,
@@ -281,6 +319,12 @@ if($stsem!='')
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DL'
) a) AS fs,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DDP'
) a) AS ddp,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='PT'
) a) AS pt,
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w'
) a) AS w,
@@ -311,6 +355,8 @@ if($stsem!='')
$gesamt_bb=0;
$gesamt_vz=0;
$gesamt_fs=0;
$gesamt_ddp=0;
$gesamt_pt=0;
$gesamt_m=0;
$gesamt_w=0;
$gesamt_at=0;
@@ -326,36 +372,64 @@ if($stsem!='')
$prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0);
echo "<td align='center'>$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %</td>";
echo "<td align='center'>$row->inc / $row->out</td>";
if($row->orgform_kurzbz=='BB')
if($row->orgform_kurzbz=='BB' && $db->db_parse_bool($row->mischform)==false)
{
//berufsbegleitend: gesamtzahl in spalte bb
echo "<td align='center'>$row->gesamt_stg / $row->vz / $row->fs</td>";
echo "<td align='center'>$row->gesamt_stg / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->gesamt_stg;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='VZ')
else if($row->orgform_kurzbz=='VZ' && $db->db_parse_bool($row->mischform)==false)
{
//vollzeit: gesamtzahl in spalte vz
echo "<td align='center'>$row->bb / $row->gesamt_stg / $row->fs</td>";
echo "<td align='center'>$row->bb / $row->gesamt_stg / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->gesamt_stg;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DL')
else if($row->orgform_kurzbz=='DL' && $db->db_parse_bool($row->mischform)==false)
{
//fernlehre: gesamtzahl in spalte DL
echo "<td align='center'>$row->bb / $row->vz / $row->gesamt_stg</td>";
echo "<td align='center'>$row->bb / $row->vz / $row->gesamt_stg / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->gesamt_stg;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else
else if($row->orgform_kurzbz=='DDP' && $db->db_parse_bool($row->mischform)==false)
{
echo "<td align='center'>$row->bb / $row->vz / $row->fs</td>";
//doubledegree: gesamtzahl in spalte DDP
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->gesamt_stg / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_pt += $row->gesamt_stg;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='PT' && $db->db_parse_bool($row->mischform)==false)
{
//parttime: gesamtzahl in spalte PT
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->gesamt_stg</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->gesamt_stg;
}
else
{
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
echo "<td align='center'>$row->m</td>";
echo "<td align='center'>$row->w</td>";
@@ -378,7 +452,7 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamt_inc / $gesamt_out</b></td>";
echo "<td align='center'><b>$gesamt_bb / $gesamt_vz / $gesamt_fs</b></td>";
echo "<td align='center'><b>$gesamt_bb / $gesamt_vz / $gesamt_fs / $gesamt_ddp / $gesamt_pt</b></td>";
echo "<td align='center'><b>$gesamt_m</b></td>";
echo "<td align='center'><b>$gesamt_w</b></td>";
echo "<td align='center'><b>$gesamt_at</b></td>";
@@ -392,6 +466,8 @@ if($stsem!='')
$gesamtsumme_bb += $gesamt_bb;
$gesamtsumme_vz += $gesamt_vz;
$gesamtsumme_fs += $gesamt_fs;
$gesamtsumme_ddp += $gesamt_ddp;
$gesamtsumme_pt += $gesamt_pt;
$gesamtsumme_m += $gesamt_m;
$gesamtsumme_w += $gesamt_w;
$gesamtsumme_at += $gesamt_at;
@@ -404,7 +480,7 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamtsumme / ".sprintf('%0.2f', $gesamtsumme_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamtsumme_inc / $gesamtsumme_out</b></td>";
echo "<td align='center'><b>$gesamtsumme_bb / $gesamtsumme_vz / $gesamtsumme_fs</b></td>";
echo "<td align='center'><b>$gesamtsumme_bb / $gesamtsumme_vz / $gesamtsumme_fs / $gesamtsumme_ddp / $gesamtsumme_pt</b></td>";
echo "<td align='center'><b>$gesamtsumme_m</b></td>";
echo "<td align='center'><b>$gesamtsumme_w</b></td>";
echo "<td align='center'><b>$gesamtsumme_at</b></td>";
+2 -1
View File
@@ -97,7 +97,7 @@ $lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable
$format_title->setAlign('merge');
//Zeilenueberschriften ausgeben
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','StundeVon','StundeBis');
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','Anmerkung','StundeVon','StundeBis');
$i=0;
foreach ($headline as $title)
@@ -133,6 +133,7 @@ $lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable
writecol($zeile, $i++, $lektoren);
writecol($zeile, $i++, implode(',',$row->gruppen));
writecol($zeile, $i++, $row->lehrfach_bezeichnung);
writecol($zeile, $i++, implode(',',$row->titel));
writecol($zeile, $i++, $row->stundevon);
writecol($zeile, $i++, $row->stundebis);
@@ -55,8 +55,19 @@ function InteressentDokumenteDialogInit(prestudent_id, akte_id)
var anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
var nachgereicht = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachgereicht" ));
var dokument_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dokument_kurzbz" ));
var dokument_bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dokument_bezeichnung" ));
}
//Wenn eine Akte geladen wird, deren Dokumenttyp nicht im Dropdown der Dokumenttypen aufscheint, wird der Typ hinzugefuegt
var vorhanden = document.getElementById('interessent-dokumente-dialog-menulist-dokument_kurzbz').getElementsByAttribute('value',dokument_kurzbz);
if(typeof(vorhanden[0])=='undefined')
{
dokumentemenue = document.getElementById("interessent-dokumente-dialog-menulist-dokument_kurzbz").children[1];
var menuentry = document.createElement("menuitem");
menuentry.setAttribute("value",dokument_kurzbz);
menuentry.setAttribute("label",dokument_bezeichnung);
dokumentemenue.appendChild(menuentry);
}
document.getElementById('interessent-dokumente-dialog-textbox-titel').value=titel_intern;
document.getElementById('interessent-dokumente-dialog-textbox-anmerkung').value=anmerkung_intern;
@@ -79,7 +79,7 @@ $db = new basis_db();
<row>
<label value="Dokumenttyp" />
<menulist id="interessent-dokumente-dialog-menulist-dokument_kurzbz"
datasources="<?php echo APP_ROOT; ?>rdf/dokumenttyp.rdf.php" flex="1"
datasources="<?php echo APP_ROOT; ?>rdf/dokumenttyp.rdf.php?ohne_dok=Zeugnis" flex="1"
ref="http://www.technikum-wien.at/dokumenttyp"
>
<template>
@@ -515,7 +515,10 @@ function InteressentDokumenteNichtabgegebenEntfernen()
var akte_id = getTreeCellText(tree, 'interessent-dokumente-tree-nichtabgegeben-akte_id', tree.currentIndex);
prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value;
InteressentDokumentEntfernen(akte_id, prestudent_id);
if(confirm('Dieses Dokument wirklich loeschen?'))
{
InteressentDokumentEntfernen(akte_id, prestudent_id);
}
}
function InteressentDokumenteAbgegebenBearbeiten()
@@ -546,8 +549,11 @@ function InteressentDokumenteAbgegebenEntfernen()
var tree = document.getElementById('interessent-dokumente-tree-abgegeben');
var akte_id = getTreeCellText(tree, 'interessent-dokumente-tree-abgegeben-akte_id', tree.currentIndex);
prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value;
InteressentDokumentEntfernen(akte_id, prestudent_id);
if(confirm('Dieses Dokument wirklich loeschen?'))
{
InteressentDokumentEntfernen(akte_id, prestudent_id);
}
}
function InteressentDokumentEntfernen(akte_id, prestudent_id)
+9 -5
View File
@@ -932,10 +932,10 @@ if(!$error)
{
if($row = $db->db_fetch_object($result))
{
if($row->anzahl<=1)
if($row->anzahl<=1 && !$rechte->isBerechtigt('admin', null, 'suid'))
{
$return = false;
$errormsg = 'Die letzte Rolle darf nicht geloescht werden';
$errormsg = 'Die letzte Rolle kann nur durch den Administrator geloescht werden';
$error = true;
}
}
@@ -1149,7 +1149,7 @@ if(!$error)
$rolle->bestaetigtam = $_POST['bestaetigtam'];
if($_POST['bestaetigtam']=='')
$rolle->bestaetigtvon = null;
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
$rolle->studienplan_id = $_POST['studienplan_id'];
$rolle->anmerkung_status = $_POST['anmerkung'];
@@ -1370,7 +1370,7 @@ if(!$error)
$stg_obj->load(ltrim($stg,'0'));
$uid = generateUID($stg_obj->kurzbz,$jahr,$stg_obj->typ,$matrikelnr);
$matrikelnummer = generateMatrikelnr($stg_obj->oe_kurzbz);
if($matrikelnummer != null)
{
$qry = "UPDATE public.tbl_person SET matr_nr=".$db->db_add_param($matrikelnummer)." WHERE person_id=".$db->db_add_param($prestd->person_id, FHC_INTEGER).' AND matr_nr is null';
@@ -3395,6 +3395,7 @@ if(!$error)
$pruefung->akadgrad_id = $_POST['akadgrad_id'];
$pruefung->pruefungstyp_kurzbz = $_POST['pruefungstyp_kurzbz'];
$pruefung->datum = $_POST['datum'];
$pruefung->uhrzeit = $_POST['uhrzeit'];
$pruefung->sponsion = $_POST['sponsion'];
$pruefung->anmerkung = $_POST['anmerkung'];
$pruefung->updateamum = date('Y-m-d H:i:s');
@@ -3745,7 +3746,10 @@ if(!$error)
if(isset($_POST['prestudent_id']))
{
$pruefling = new pruefling();
$data = $pruefling->getReihungstestErgebnis($_POST['prestudent_id']);
if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE)
$data = $pruefling->getReihungstestErgebnis($_POST['prestudent_id'], true);
else
$data = $pruefling->getReihungstestErgebnis($_POST['prestudent_id']);
$return = true;
}
}
+36 -28
View File
@@ -167,6 +167,7 @@ function StudentAbschlusspruefungDetailDisableFields(val)
document.getElementById('student-abschlusspruefung-menulist-akadgrad').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-typ').disabled=val;
document.getElementById('student-abschlusspruefung-datum-datum').disabled=val;
document.getElementById('student-abschlusspruefung-datum-uhrzeit').disabled=val;
document.getElementById('student-abschlusspruefung-datum-sponsion').disabled=val;
document.getElementById('student-abschlusspruefung-textbox-anmerkung').disabled=val;
document.getElementById('student-abschlusspruefung-button-speichern').disabled=val;
@@ -189,6 +190,7 @@ function StudentAbschlusspruefungResetFields()
//document.getElementById('student-abschlusspruefung-menulist-akadgrad').value='';
//document.getElementById('student-abschlusspruefung-menulist-typ').value='Bachelor';
document.getElementById('student-abschlusspruefung-datum-datum').value='';
document.getElementById('student-abschlusspruefung-datum-uhrzeit').value='00:00';
document.getElementById('student-abschlusspruefung-datum-sponsion').value='';
document.getElementById('student-abschlusspruefung-textbox-anmerkung').value='';
}
@@ -343,6 +345,7 @@ function StudentAbschlusspruefungAuswahl()
notekommpruef = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#notekommpruef" ));
akadgrad_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#akadgrad_id" ));
datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
uhrzeit = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uhrzeit" ));
sponsion = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sponsion" ));
pruefungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefungstyp_kurzbz" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
@@ -395,6 +398,9 @@ function StudentAbschlusspruefungAuswahl()
document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value=notekommpruef;
document.getElementById('student-abschlusspruefung-menulist-akadgrad').value=akadgrad_id;
document.getElementById('student-abschlusspruefung-datum-datum').value=datum;
if(uhrzeit=='')
uhrzeit='00:00';
document.getElementById('student-abschlusspruefung-datum-uhrzeit').value=uhrzeit;
document.getElementById('student-abschlusspruefung-datum-sponsion').value=sponsion;
document.getElementById('student-abschlusspruefung-menulist-typ').value=pruefungstyp_kurzbz;
document.getElementById('student-abschlusspruefung-textbox-anmerkung').value=anmerkung;
@@ -413,19 +419,20 @@ function StudentAbschlusspruefungSpeichern()
//der Value einer Editable Menulist muss mittels dieser Funktion geholt werden
//da sonst der Text der Menulist geliefert wird und nicht der dahinterliegene Wert
vorsitz = MenulistGetSelectedValue('student-abschlusspruefung-menulist-vorsitz');
pruefer1 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer1');
pruefer2 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer2');
pruefer3 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer3');
abschlussbeurteilung_kurzbz = document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value;
notekommpruef = document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value;
akadgrad_id = document.getElementById('student-abschlusspruefung-menulist-akadgrad').value;
datum = document.getElementById('student-abschlusspruefung-datum-datum').value;
sponsion = document.getElementById('student-abschlusspruefung-datum-sponsion').value;
pruefungstyp_kurzbz = document.getElementById('student-abschlusspruefung-menulist-typ').value;
anmerkung = document.getElementById('student-abschlusspruefung-textbox-anmerkung').value;
abschlusspruefung_id = document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value;
neu = document.getElementById('student-abschlusspruefung-checkbox-neu').checked;
var vorsitz = MenulistGetSelectedValue('student-abschlusspruefung-menulist-vorsitz');
var pruefer1 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer1');
var pruefer2 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer2');
var pruefer3 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer3');
var abschlussbeurteilung_kurzbz = document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value;
var notekommpruef = document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value;
var akadgrad_id = document.getElementById('student-abschlusspruefung-menulist-akadgrad').value;
var datum = document.getElementById('student-abschlusspruefung-datum-datum').value;
var uhrzeit = document.getElementById('student-abschlusspruefung-datum-uhrzeit').value;
var sponsion = document.getElementById('student-abschlusspruefung-datum-sponsion').value;
var pruefungstyp_kurzbz = document.getElementById('student-abschlusspruefung-menulist-typ').value;
var anmerkung = document.getElementById('student-abschlusspruefung-textbox-anmerkung').value;
var abschlusspruefung_id = document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value;
var neu = document.getElementById('student-abschlusspruefung-checkbox-neu').checked;
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
@@ -478,6 +485,7 @@ function StudentAbschlusspruefungSpeichern()
req.add('notekommpruef', notekommpruef);
req.add('akadgrad_id', akadgrad_id);
req.add('datum', ConvertDateToISO(datum));
req.add('uhrzeit', uhrzeit);
req.add('sponsion', ConvertDateToISO(sponsion));
req.add('pruefungstyp_kurzbz', pruefungstyp_kurzbz);
req.add('anmerkung', anmerkung);
@@ -657,7 +665,7 @@ function StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event, lang)
if(lang=='en2')
xsl='PrProtMAEng';
}
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
@@ -682,10 +690,10 @@ function StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event, lang)
}
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -720,7 +728,7 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll(event, lang)
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
if(pruefungstyp_kurzbz=='Bachelor')
{
if(lang=='de')
@@ -731,7 +739,7 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll(event, lang)
xsl='PrProtBA';
if(lang=='en2')
xsl='PrProtBAEng';
}
}
else
{
if(lang=='de')
@@ -744,10 +752,10 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll(event, lang)
xsl='PrProtMAEng';
}
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -827,10 +835,10 @@ function StudentAbschlusspruefungPrintPruefungszeugnisMultiple(event, sprache)
}
}
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -866,10 +874,10 @@ function StudentAbschlusspruefungPrintPruefungszeugnis(event)
else
xsl='Diplomzeugnis';
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -944,10 +952,10 @@ function StudentAbschlusspruefungPrintUrkundeMultiple(event, sprache)
}
}
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
@@ -995,10 +1003,10 @@ function StudentAbschlusspruefungPrintUrkunde(event, sprache)
else if(pruefungstyp_kurzbz=='Abschluss' && sprache=='deutsch')
xsl='Magisterurkunde';
if (event.shiftKey)
if (event.shiftKey)
{
var output='odt';
}
}
else if (event.ctrlKey)
{
var output='doc';
+331 -313
View File
@@ -1,313 +1,331 @@
<?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>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="StudentProjektarbeitOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/student/studentabschlusspruefung.js.php" />
<!-- Abschlusspruefung DETAILS -->
<vbox id="student-abschlusspruefung" style="overflow:auto;margin:10px;" flex="1">
<popupset>
<menupopup id="student-abschlusspruefung-tree-popup">
<menuitem label="Entfernen" oncommand="StudentAbschlusspruefungLoeschen();" id="student-abschlusspruefung-tree-popup-delete" hidden="false"/>
<menu id="student-abschlusspruefung-tree-popup-dokumente" label="Dokumente">
<menupopup id="menu-file-popup">
<menuitem label="Pruefungsprotokoll (Alte Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('de')"/>
<menuitem label="Pruefungsprotokoll Englisch (Alte Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('en')"/>
<menuitem label="Pruefungsprotokoll 2 (Neue Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('de2')"/>
<menuitem label="Pruefungsprotokoll Englisch 2 (Neue Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('en2')"/>
<menuitem label="Pruefungszeugnis" oncommand="StudentAbschlusspruefungPrintPruefungszeugnis()"/>
<menuitem label="Urkunde" oncommand="StudentAbschlusspruefungPrintUrkunde('deutsch')"/>
<menuitem label="Urkunde Englisch" oncommand="StudentAbschlusspruefungPrintUrkunde('englisch')"/>
</menupopup>
</menu>
</menupopup>
</popupset>
<hbox>
<tree id="student-abschlusspruefung-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/abschlusspruefung/liste"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
persist="hidden, height"
context="student-abschlusspruefung-tree-popup"
>
<!-- onselect="StudentAbschlusspruefungAuswahl();" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-abschlusspruefung-treecol-student_uid" label="UID" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#student_uid" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-vorsitz" label="Vorsitz" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#vorsitz_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer1" label="Pruefer1" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer2" label="Pruefer2" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer3" label="Pruefer3" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-abschlussbeurteilung_kurzbz" label="Abschlussbeurteilung" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-datum" label="Datum" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum_iso" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-sponsion" label="Sponsion" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#sponsion_iso" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-anmerkung" label="Anmerkung" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#anmerkung" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-abschlusspruefung_id" label="Abschlusspruefung_id" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlusspruefung_id" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefungstyp_kurzbz" label="Typ" flex="1" persist="hidden, width"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefungstyp_kurzbz" onclick="StudentAbschlusspruefungTreeSort()" hidden="true" ignoreincolumnpicker="true"/><!-- Spalte ist im columnpicker nicht auswählbar, wird aber im Hintergrund für die Erstellung der Diplomurkunde benötigt -->
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-beschreibung" label="Typ" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#beschreibung" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#student_uid" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#vorsitz_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#sponsion" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#anmerkung" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlusspruefung_id" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefungstyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#beschreibung"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="student-abschlusspruefung-button-neu" label="Neu" oncommand="StudentAbschlusspruefungNeu()" disabled="true" />
<button id="student-abschlusspruefung-button-loeschen" label="Loeschen" oncommand="StudentAbschlusspruefungLoeschen()" disabled="true" />
</vbox>
</hbox>
<textbox id="student-abschlusspruefung-textbox-abschlusspruefung_id" hidden="true" />
<checkbox id="student-abschlusspruefung-checkbox-neu" hidden="true" />
<groupbox>
<caption label="Details" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Typ" control="student-abschlusspruefung-menulist-typ" />
<menulist id="student-abschlusspruefung-menulist-typ"
disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/pruefungstyp.rdf.php?abschluss=true" flex="1"
ref="http://www.technikum-wien.at/pruefungstyp/liste"
oncommand="StudentAbschlusspruefungTypChange()"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#pruefungstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Note komm. Pruefung" control="student-abschlusspruefung-menulist-notekommpruef" />
<menulist id="student-abschlusspruefung-menulist-notekommpruef"
disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Vorsitz" control="student-abschlusspruefung-menulist-vorsitz" />
<menulist id="student-abschlusspruefung-menulist-vorsitz"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/mitarbeiter/liste"
oninput="StudentAbschlusspruefungMenulistMitarbeiterLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost"
myvalue="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 1" id="student-abschlusspruefung-label-pruefer1" control="student-abschlusspruefung-menulist-pruefer1" />
<menulist id="student-abschlusspruefung-menulist-pruefer1"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Abschlussbeurteilung" control="student-abschlusspruefung-menulist-abschlussbeurteilung" />
<menulist id="student-abschlusspruefung-menulist-abschlussbeurteilung"
disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/abschlussbeurteilung.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/abschlussbeurteilung/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/abschlussbeurteilung/rdf#abschlussbeurteilung_kurzbz"
label="rdf:http://www.technikum-wien.at/abschlussbeurteilung/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 2" id="student-abschlusspruefung-label-pruefer2" control="student-abschlusspruefung-menulist-pruefer2" />
<menulist id="student-abschlusspruefung-menulist-pruefer2"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Akademischer Grad" control="student-abschlusspruefung-menulist-akadgrad" />
<menulist id="student-abschlusspruefung-menulist-akadgrad"
disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/akadgrad/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/akadgrad/rdf#akadgrad_id"
label="rdf:http://www.technikum-wien.at/akadgrad/rdf#titel"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 3" id="student-abschlusspruefung-label-pruefer3" control="student-abschlusspruefung-menulist-pruefer3" />
<menulist id="student-abschlusspruefung-menulist-pruefer3"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<vbox>
<label value="Datum" control="student-abschlusspruefung-datum-datum" />
<label id="student-abschlusspruefung-datum-sponsion-label" value="Sponsion" control="student-abschlusspruefung-datum-sponsion" />
</vbox>
<vbox>
<box class="Datum" id="student-abschlusspruefung-datum-datum" disabled="true"/>
<box class="Datum" id="student-abschlusspruefung-datum-sponsion" disabled="true"/>
</vbox>
<label value="Anmerkung" control="student-abschlusspruefung-textbox-anmerkung" />
<textbox id="student-abschlusspruefung-textbox-anmerkung" multiline="true" maxlength="256" disabled="true"/>
</row>
<row>
<spacer />
<spacer />
<spacer />
<hbox>
<spacer flex="1" />
<button id="student-abschlusspruefung-button-speichern" label="Speichern" oncommand="StudentAbschlusspruefungSpeichern()" disabled="true"/>
</hbox>
</row>
</rows>
</grid>
</groupbox>
<spacer flex="1" />
</vbox>
</overlay>
<?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>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="StudentProjektarbeitOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/student/studentabschlusspruefung.js.php" />
<!-- Abschlusspruefung DETAILS -->
<vbox id="student-abschlusspruefung" style="overflow:auto;margin:10px;" flex="1">
<popupset>
<menupopup id="student-abschlusspruefung-tree-popup">
<menuitem label="Entfernen" oncommand="StudentAbschlusspruefungLoeschen();" id="student-abschlusspruefung-tree-popup-delete" hidden="false"/>
<menu id="student-abschlusspruefung-tree-popup-dokumente" label="Dokumente">
<menupopup id="menu-file-popup">
<menuitem label="Pruefungsprotokoll (Alte Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('de')"/>
<menuitem label="Pruefungsprotokoll Englisch (Alte Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('en')"/>
<menuitem label="Pruefungsprotokoll 2 (Neue Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('de2')"/>
<menuitem label="Pruefungsprotokoll Englisch 2 (Neue Version)" oncommand="StudentAbschlusspruefungPrintPruefungsprotokoll('en2')"/>
<menuitem label="Pruefungszeugnis" oncommand="StudentAbschlusspruefungPrintPruefungszeugnis()"/>
<menuitem label="Urkunde" oncommand="StudentAbschlusspruefungPrintUrkunde('deutsch')"/>
<menuitem label="Urkunde Englisch" oncommand="StudentAbschlusspruefungPrintUrkunde('englisch')"/>
</menupopup>
</menu>
</menupopup>
</popupset>
<hbox>
<tree id="student-abschlusspruefung-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/abschlusspruefung/liste"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
persist="hidden, height"
context="student-abschlusspruefung-tree-popup"
>
<!-- onselect="StudentAbschlusspruefungAuswahl();" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-abschlusspruefung-treecol-student_uid" label="UID" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#student_uid" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-vorsitz" label="Vorsitz" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#vorsitz_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer1" label="Pruefer1" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer2" label="Pruefer2" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefer3" label="Pruefer3" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-abschlussbeurteilung_kurzbz" label="Abschlussbeurteilung" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-datum" label="Datum" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum_iso" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-uhrzeit" label="Uhrzeit" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#uhrzeit" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-sponsion" label="Sponsion" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#sponsion_iso" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-anmerkung" label="Anmerkung" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#anmerkung" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-abschlusspruefung_id" label="Abschlusspruefung_id" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlusspruefung_id" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-pruefungstyp_kurzbz" label="Typ" flex="1" persist="hidden, width"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefungstyp_kurzbz" onclick="StudentAbschlusspruefungTreeSort()" hidden="true" ignoreincolumnpicker="true"/><!-- Spalte ist im columnpicker nicht auswählbar, wird aber im Hintergrund für die Erstellung der Diplomurkunde benötigt -->
<splitter class="tree-splitter"/>
<treecol id="student-abschlusspruefung-treecol-beschreibung" label="Typ" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#beschreibung" onclick="StudentAbschlusspruefungTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#student_uid" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#vorsitz_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#uhrzeit" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#sponsion" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#anmerkung" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlusspruefung_id" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefungstyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#beschreibung"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="student-abschlusspruefung-button-neu" label="Neu" oncommand="StudentAbschlusspruefungNeu()" disabled="true" />
<button id="student-abschlusspruefung-button-loeschen" label="Loeschen" oncommand="StudentAbschlusspruefungLoeschen()" disabled="true" />
</vbox>
</hbox>
<textbox id="student-abschlusspruefung-textbox-abschlusspruefung_id" hidden="true" />
<checkbox id="student-abschlusspruefung-checkbox-neu" hidden="true" />
<groupbox>
<caption label="Details" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Typ" control="student-abschlusspruefung-menulist-typ" />
<menulist id="student-abschlusspruefung-menulist-typ"
disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/pruefungstyp.rdf.php?abschluss=true" flex="1"
ref="http://www.technikum-wien.at/pruefungstyp/liste"
oncommand="StudentAbschlusspruefungTypChange()"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#pruefungstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Note komm. Pruefung" control="student-abschlusspruefung-menulist-notekommpruef" />
<menulist id="student-abschlusspruefung-menulist-notekommpruef"
disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Vorsitz" control="student-abschlusspruefung-menulist-vorsitz" />
<menulist id="student-abschlusspruefung-menulist-vorsitz"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/mitarbeiter/liste"
oninput="StudentAbschlusspruefungMenulistMitarbeiterLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost"
myvalue="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 1" id="student-abschlusspruefung-label-pruefer1" control="student-abschlusspruefung-menulist-pruefer1" />
<menulist id="student-abschlusspruefung-menulist-pruefer1"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Abschlussbeurteilung" control="student-abschlusspruefung-menulist-abschlussbeurteilung" />
<menulist id="student-abschlusspruefung-menulist-abschlussbeurteilung"
disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/abschlussbeurteilung.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/abschlussbeurteilung/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/abschlussbeurteilung/rdf#abschlussbeurteilung_kurzbz"
label="rdf:http://www.technikum-wien.at/abschlussbeurteilung/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 2" id="student-abschlusspruefung-label-pruefer2" control="student-abschlusspruefung-menulist-pruefer2" />
<menulist id="student-abschlusspruefung-menulist-pruefer2"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Akademischer Grad" control="student-abschlusspruefung-menulist-akadgrad" />
<menulist id="student-abschlusspruefung-menulist-akadgrad"
disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/akadgrad/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/akadgrad/rdf#akadgrad_id"
label="rdf:http://www.technikum-wien.at/akadgrad/rdf#titel"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Pruefer 3" id="student-abschlusspruefung-label-pruefer3" control="student-abschlusspruefung-menulist-pruefer3" />
<menulist id="student-abschlusspruefung-menulist-pruefer3"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentAbschlusspruefungMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<vbox>
<label value="Datum" control="student-abschlusspruefung-datum-datum" />
</vbox>
<vbox>
<box class="Datum" id="student-abschlusspruefung-datum-datum" disabled="true"/>
</vbox>
</row>
<row>
<vbox>
<label value="Uhrzeit" control="student-abschlusspruefung-datum-uhrzeit" />
</vbox>
<vbox>
<timepicker id="student-abschlusspruefung-datum-uhrzeit" hideseconds="true" disabled="true"/>
</vbox>
<label value="Anmerkung" control="student-abschlusspruefung-textbox-anmerkung" />
<textbox id="student-abschlusspruefung-textbox-anmerkung" multiline="true" maxlength="256" disabled="true"/>
</row>
<row>
<vbox>
<label id="student-abschlusspruefung-datum-sponsion-label" value="Sponsion" control="student-abschlusspruefung-datum-sponsion" />
</vbox>
<vbox>
<box class="Datum" id="student-abschlusspruefung-datum-sponsion" disabled="true"/>
</vbox>
</row>
<row>
<spacer />
<spacer />
<spacer />
<hbox>
<spacer flex="1" />
<button id="student-abschlusspruefung-button-speichern" label="Speichern" oncommand="StudentAbschlusspruefungSpeichern()" disabled="true"/>
</hbox>
</row>
</rows>
</grid>
</groupbox>
<spacer flex="1" />
</vbox>
</overlay>
+1 -1
View File
@@ -104,7 +104,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
<row>
<label value="SVNR" control="student-detail-textbox-svnr"/>
<hbox><textbox id="student-detail-textbox-svnr" disabled="true" maxlength="10" size="10"/></hbox>
<hbox><textbox id="student-detail-textbox-svnr" disabled="true" maxlength="16" size="10"/></hbox>
<label value="Ersatzkennzeichen" control="student-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="student-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="15"/></hbox>
<label value="Geburtszeit" control="student-detail-textbox-geburtszeit" hidden="true"/>
+10
View File
@@ -284,6 +284,14 @@ else
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#punkte3" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-rt_datum" label="RT Datum" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#rt_datum" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-rt_anmeldung" label="RT Anmeldung" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#rt_anmeldung" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-dual" label="Dual" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#dual_bezeichnung" onclick="StudentTreeSort()"/>
@@ -344,6 +352,8 @@ else
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#punkte1" />
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#punkte2" />
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#punkte3" />
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#rt_datum" />
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#rt_anmeldung" />
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#dual_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#matr_nr" />
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#studienplan_bezeichnung" />
File diff suppressed because it is too large Load Diff
@@ -57,13 +57,18 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</columns>
<rows>
<row>
<vbox>
<hbox>
<spacer flex="1"/>
<button type="checkbox" id="student-pruefung-button-filterstsem" label="Alle Studiensemester anzeigen" oncommand="StudentPruefungFilterStsem();" disabled="true"/>
</hbox>
<tree id="student-pruefung-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/pruefung/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
context="student-pruefung-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="student-pruefung-tree-datum" label="Datum" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
@@ -110,7 +115,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#punkte" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
@@ -131,6 +136,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</treechildren>
</template>
</tree>
</vbox>
<vbox>
<hbox>
<button id="student-pruefung-button-neu" label="Neu" oncommand="StudentPruefungNeu();" disabled="true"/>
@@ -154,7 +160,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Lehrveranstaltung" control="student-pruefung-menulist-lehrveranstaltung"/>
<menulist id="student-pruefung-menulist-lehrveranstaltung" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/lehrveranstaltung/liste"
ref="http://www.technikum-wien.at/lehrveranstaltung/liste"
oncommand="StudentPruefungLVAChange()">
<template>
<menupopup>
@@ -90,7 +90,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</template>
</tree>
</groupbox>
<vbox>
<vbox id="student-zeugnis-buttons">
<spacer flex="1"/>
<button id="student-zeugnis-button-archivieren" label="aktuelles Zeugnis archivieren" disabled="false" oncommand="StudentZeugnisArchivieren()"/>
<button id="student-zeugnis-button-archivieren-englisch" label="aktuelles Zeugnis archivieren (englisch)" disabled="false" oncommand="StudentZeugnisArchivieren('eng')"/>
+5
View File
@@ -105,6 +105,10 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/termine/rdf#anwesend" onclick="termineTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="termine-treecol-titel" label="Titel" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/termine/rdf#titel" onclick="termineTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="termine-treecol-datum_iso" label="DatumISO" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/termine/rdf#datum_iso" onclick="termineTreeSort()"/>
@@ -131,6 +135,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lehrfach" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#anwesend" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#titel" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#datum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#lehreinheit_id" />
</treerow>
+171 -171
View File
@@ -1,171 +1,171 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td colspan="7">&nbsp;</td>
</tr>
<tr>
<td colspan="7">
<img title="FAS" height="60" alt="FAS-Logo" src="skin/images/fas_logo_weiss.png">
</td>
</tr>
<tr>
<td colspan="7">
<p>
<br/><br/>
Das FAS ist ein freies Administrations-System, welches die
gesamte Verwaltung von Studierenden und MitarbeiterInnen
speziell für Hochschulen unterstützt. Vom Eintritt eines/einer
MitarbeiterIn bis zum Ausscheiden und vom Interessenten
bis zum/zur Absolventen/Absolventin verwaltet das Programm
alle relevanten Daten rund um den Lehrbetrieb einer
Hochschule.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td colspan="7">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>STUDIERENDE</b><br/>
Der komplette Lebenszyklus vom Interessentenstatus über
die BewerberInnen zu den Studierenden bis zu den AbsolventInnen
wird im FAS abgebildet. Es werden Lehrverbände
und Gruppen definiert und den Studierenden zugewiesen.
Kontaktdaten und Dokumente werden erfasst. Noten, Prüfungen,
Funktionen und Projektarbeiten werden organisiert.<br/><br/>
<b>PERSONAL</b><br/>
Nicht nur Kontaktdaten oder Personaldaten, sondern auch
alle meldungspflichtigen Informationen werden hier erfasst
und gewartet. Die MitarbeiterInnen werden Organisationseinheiten
zugeteilt und somit lässt sich auf Knopfdruck ein
detailliertes Organigramm erstellen. Zusätzlich werden den
MitarbeiterInnen noch Funktionen innerhalb des Organisationsbaumes
zugeteilt.<br/><br/>
<b>Kommunikation</b><br/>
Hier haben Sie alle Infos zur internen Kommunikation
auf einen Blick. Personensuche, Mailgruppen, Telefonnummern...
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>LEHRAUFTRÄGE</b><br/>
Per Drag&Drop können schnell LektorInnen den Lehrveranstaltungen
zugewiesen werden und daraus Lehraufträge
erstellt werden. Die Gesamtkosten sind automatisch und
übersichtlich aufgestellt. Auch das nachträgliche Ändern
von LektorInnen ist mit einem Klick erledigt.<br/><br/>
<b>MELDUNG</b><br/>
Die gesamte BIS-Meldung wird hier automatisiert erstellt.
Plausibilitätsprüfungen säubern die Daten schon im Vorfeld,
damit bei der Meldung selbst der Aufwand so gering wie
möglich bleibt. Sie können hier praktisch nichts mehr falsch
machen. Das Zittern vor der BIS-Meldung war gestern!<br/><br/>
<b>EXTRAS</b><br/>
</p>
<ul style="padding-left:30px; padding-right:30px;">
<li>Firmenverwaltung</li>
<li>Reihungstestverwaltung</li>
<li>Diverse Statistiken</li>
<li>Zeugnisarchivierung</li>
<li>Kontoführung der Studierenden</li>
<li>Entlehnsystem für Betriebsmittel</li>
<li>Schnittstellen zum Zutrittskartensystem</li>
<li>Verwaltung und Abrechung der Projektarbeiten<br/>
(Master Thesen etc.)</li>
<li>Incoming- und Outgoingverwaltung</li>
<li>Abschlussprüfungen</li>
<li>und vieles mehr!</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="7">
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.org/demo/content/fas.xul.php" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="FAS-Screenshot" width="266" alt="FAS-Screenshot" src="skin/images/fas-screenshot.png">
</a>
<br/><br/>
</td>
</tr>
<tr height="60">
<td colspan="7"></td>
</tr>
<tr>
<td colspan="7">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td colspan="7">&nbsp;</td>
</tr>
<tr>
<td colspan="7">
<img title="FAS" height="60" alt="FAS-Logo" src="skin/images/fas_logo_weiss.png">
</td>
</tr>
<tr>
<td colspan="7">
<p>
<br/><br/>
Das FAS ist ein freies Administrations-System, welches die
gesamte Verwaltung von Studierenden und MitarbeiterInnen
speziell für Hochschulen unterstützt. Vom Eintritt eines/einer
MitarbeiterIn bis zum Ausscheiden und vom Interessenten
bis zum/zur Absolventen/Absolventin verwaltet das Programm
alle relevanten Daten rund um den Lehrbetrieb einer
Hochschule.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td colspan="7">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>STUDIERENDE</b><br/>
Der komplette Lebenszyklus vom Interessentenstatus über
die BewerberInnen zu den Studierenden bis zu den AbsolventInnen
wird im FAS abgebildet. Es werden Lehrverbände
und Gruppen definiert und den Studierenden zugewiesen.
Kontaktdaten und Dokumente werden erfasst. Noten, Prüfungen,
Funktionen und Projektarbeiten werden organisiert.<br/><br/>
<b>PERSONAL</b><br/>
Nicht nur Kontaktdaten oder Personaldaten, sondern auch
alle meldungspflichtigen Informationen werden hier erfasst
und gewartet. Die MitarbeiterInnen werden Organisationseinheiten
zugeteilt und somit lässt sich auf Knopfdruck ein
detailliertes Organigramm erstellen. Zusätzlich werden den
MitarbeiterInnen noch Funktionen innerhalb des Organisationsbaumes
zugeteilt.<br/><br/>
<b>Kommunikation</b><br/>
Hier haben Sie alle Infos zur internen Kommunikation
auf einen Blick. Personensuche, Mailgruppen, Telefonnummern...
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>LEHRAUFTRÄGE</b><br/>
Per Drag&Drop können schnell LektorInnen den Lehrveranstaltungen
zugewiesen werden und daraus Lehraufträge
erstellt werden. Die Gesamtkosten sind automatisch und
übersichtlich aufgestellt. Auch das nachträgliche Ändern
von LektorInnen ist mit einem Klick erledigt.<br/><br/>
<b>MELDUNG</b><br/>
Die gesamte BIS-Meldung wird hier automatisiert erstellt.
Plausibilitätsprüfungen säubern die Daten schon im Vorfeld,
damit bei der Meldung selbst der Aufwand so gering wie
möglich bleibt. Sie können hier praktisch nichts mehr falsch
machen. Das Zittern vor der BIS-Meldung war gestern!<br/><br/>
<b>EXTRAS</b><br/>
</p>
<ul style="padding-left:30px; padding-right:30px;">
<li>Firmenverwaltung</li>
<li>Reihungstestverwaltung</li>
<li>Diverse Statistiken</li>
<li>Zeugnisarchivierung</li>
<li>Kontoführung der Studierenden</li>
<li>Entlehnsystem für Betriebsmittel</li>
<li>Schnittstellen zum Zutrittskartensystem</li>
<li>Verwaltung und Abrechung der Projektarbeiten<br/>
(Master Thesen etc.)</li>
<li>Incoming- und Outgoingverwaltung</li>
<li>Abschlussprüfungen</li>
<li>und vieles mehr!</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="7">
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.org/demo/content/fas.xul.php" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="FAS-Screenshot" width="266" alt="FAS-Screenshot" src="skin/images/fas-screenshot.png">
</a>
<br/><br/>
</td>
</tr>
<tr height="60">
<td colspan="7"></td>
</tr>
<tr>
<td colspan="7">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
+379 -375
View File
@@ -1,375 +1,379 @@
<?php
/* Copyright (C) 2006 FH 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>.
*/
/**
* Klasse zur Verwaltung der Abschlusspruefungen
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class abschlusspruefung extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $abschlusspruefung_id;
public $student_uid;
public $vorsitz;
public $pruefer1;
public $pruefer2;
public $pruefer3;
public $abschlussbeurteilung_kurzbz;
public $note;
public $akadgrad_id;
public $datum;
public $sponsion;
public $pruefungstyp_kurzbz;
public $anmerkung;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
/**
* Konstruktor
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function __construct($abschlusspruefung_id=null)
{
parent::__construct();
if(!is_null($abschlusspruefung_id))
$this->load($abschlusspruefung_id);
}
/**
* Laedt einen Datensatz
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function load($abschlusspruefung_id)
{
//id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
{
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
$this->pruefer3 = $row->pruefer3;
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$this->note = $row->note;
$this->akadgrad_id = $row->akadgrad_id;
$this->datum = $row->datum;
$this->sponsion = $row->sponsion;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$this->beschreibung = $row->beschreibung;
$this->anmerkung = $row->anmerkung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Loescht einen Datensatz
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($abschlusspruefung_id)
{
//abschlusspruefung_id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
{
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_abschlusspruefung
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
*
* @return true wenn ok, false wenn Fehler
*/
protected function validate()
{
if($this->akadgrad_id=='')
{
$this->errormsg = 'AkadGrad muss eingegeben werden';
return false;
}
if($this->pruefungstyp_kurzbz=='')
{
$this->errormsg = 'Pruefungstyp muss eingetragen werden';
return false;
}
if($this->student_uid=='')
{
$this->errormsg = 'UID muss eingetragen werden';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion,
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
note) VALUES (".
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->vorsitz).', '.
$this->db_add_param($this->pruefer1).', '.
$this->db_add_param($this->pruefer2).', '.
$this->db_add_param($this->pruefer3).', '.
$this->db_add_param($this->abschlussbeurteilung_kurzbz).', '.
$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->sponsion).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->note, FHC_INTEGER).');';
}
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE lehre.tbl_abschlusspruefung SET".
" student_uid=".$this->db_add_param($this->student_uid).",".
" vorsitz=".$this->db_add_param($this->vorsitz).",".
" pruefer1=".$this->db_add_param($this->pruefer1).",".
" pruefer2=".$this->db_add_param($this->pruefer2).",".
" pruefer3=".$this->db_add_param($this->pruefer3).",".
" abschlussbeurteilung_kurzbz=".$this->db_add_param($this->abschlussbeurteilung_kurzbz).",".
" note=".$this->db_add_param($this->note, FHC_INTEGER).",".
" akadgrad_id=".$this->db_add_param($this->akadgrad_id, FHC_INTEGER).",".
" datum=".$this->db_add_param($this->datum).",".
" sponsion=".$this->db_add_param($this->sponsion).",".
" pruefungstyp_kurzbz=".$this->db_add_param($this->pruefungstyp_kurzbz).",".
" anmerkung=".$this->db_add_param($this->anmerkung).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE abschlusspruefung_id=".$this->db_add_param($this->abschlusspruefung_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('lehre.tbl_abschlusspruefung_abschlusspruefung_id') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->id;
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Laedt alle Abschlusspruefungen eines Studenten
* @param student_uid UID des Studenten
* @return true wenn ok, false wenn Fehler
*/
public function getAbschlusspruefungen($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new abschlusspruefung();
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
$obj->student_uid = $row->student_uid;
$obj->vorsitz = $row->vorsitz;
$obj->pruefer1 = $row->pruefer1;
$obj->pruefer2 = $row->pruefer2;
$obj->pruefer3 = $row->pruefer3;
$obj->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$obj->note = $row->note;
$obj->akadgrad_id = $row->akadgrad_id;
$obj->datum = $row->datum;
$obj->sponsion = $row->sponsion;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->beschreibung = $row->beschreibung;
$obj->anmerkung = $row->anmerkung;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert die letzte Abschlussprüfung eines Studenten
* @param type $student_uid
*/
public function getLastAbschlusspruefung($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
$this->pruefer3 = $row->pruefer3;
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$this->note = $row->note;
$this->akadgrad_id = $row->akadgrad_id;
$this->datum = $row->datum;
$this->sponsion = $row->sponsion;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$this->beschreibung = $row->beschreibung;
$this->anmerkung = $row->anmerkung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
<?php
/* Copyright (C) 2006 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/**
* Klasse zur Verwaltung der Abschlusspruefungen
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class abschlusspruefung extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $abschlusspruefung_id;
public $student_uid;
public $vorsitz;
public $pruefer1;
public $pruefer2;
public $pruefer3;
public $abschlussbeurteilung_kurzbz;
public $note;
public $akadgrad_id;
public $datum;
public $uhrzeit;
public $sponsion;
public $pruefungstyp_kurzbz;
public $anmerkung;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $ext_id;
/**
* Konstruktor
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function __construct($abschlusspruefung_id=null)
{
parent::__construct();
if(!is_null($abschlusspruefung_id))
$this->load($abschlusspruefung_id);
}
/**
* Laedt einen Datensatz
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function load($abschlusspruefung_id)
{
//id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
{
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
$this->pruefer3 = $row->pruefer3;
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$this->note = $row->note;
$this->akadgrad_id = $row->akadgrad_id;
$this->datum = $row->datum;
$this->uhrzeit = $row->uhrzeit;
$this->sponsion = $row->sponsion;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$this->beschreibung = $row->beschreibung;
$this->anmerkung = $row->anmerkung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Loescht einen Datensatz
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($abschlusspruefung_id)
{
//abschlusspruefung_id auf Gueltigkeit pruefen
if(!is_numeric($abschlusspruefung_id))
{
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_abschlusspruefung
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
*
* @return true wenn ok, false wenn Fehler
*/
protected function validate()
{
if($this->akadgrad_id=='')
{
$this->errormsg = 'AkadGrad muss eingegeben werden';
return false;
}
if($this->pruefungstyp_kurzbz=='')
{
$this->errormsg = 'Pruefungstyp muss eingetragen werden';
return false;
}
if($this->student_uid=='')
{
$this->errormsg = 'UID muss eingetragen werden';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, uhrzeit, sponsion,
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
note) VALUES (".
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->vorsitz).', '.
$this->db_add_param($this->pruefer1).', '.
$this->db_add_param($this->pruefer2).', '.
$this->db_add_param($this->pruefer3).', '.
$this->db_add_param($this->abschlussbeurteilung_kurzbz).', '.
$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->uhrzeit, FHC_STRING, false).', '.
$this->db_add_param($this->sponsion).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->note, FHC_INTEGER).');';
}
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE lehre.tbl_abschlusspruefung SET".
" student_uid=".$this->db_add_param($this->student_uid).",".
" vorsitz=".$this->db_add_param($this->vorsitz).",".
" pruefer1=".$this->db_add_param($this->pruefer1).",".
" pruefer2=".$this->db_add_param($this->pruefer2).",".
" pruefer3=".$this->db_add_param($this->pruefer3).",".
" abschlussbeurteilung_kurzbz=".$this->db_add_param($this->abschlussbeurteilung_kurzbz).",".
" note=".$this->db_add_param($this->note, FHC_INTEGER).",".
" akadgrad_id=".$this->db_add_param($this->akadgrad_id, FHC_INTEGER).",".
" datum=".$this->db_add_param($this->datum).",".
" uhrzeit=".$this->db_add_param($this->uhrzeit, FHC_STRING, false).",".
" sponsion=".$this->db_add_param($this->sponsion).",".
" pruefungstyp_kurzbz=".$this->db_add_param($this->pruefungstyp_kurzbz).",".
" anmerkung=".$this->db_add_param($this->anmerkung).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE abschlusspruefung_id=".$this->db_add_param($this->abschlusspruefung_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('lehre.tbl_abschlusspruefung_abschlusspruefung_id') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->id;
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Laedt alle Abschlusspruefungen eines Studenten
* @param student_uid UID des Studenten
* @return true wenn ok, false wenn Fehler
*/
public function getAbschlusspruefungen($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new abschlusspruefung();
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
$obj->student_uid = $row->student_uid;
$obj->vorsitz = $row->vorsitz;
$obj->pruefer1 = $row->pruefer1;
$obj->pruefer2 = $row->pruefer2;
$obj->pruefer3 = $row->pruefer3;
$obj->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$obj->note = $row->note;
$obj->akadgrad_id = $row->akadgrad_id;
$obj->datum = $row->datum;
$obj->uhrzeit = $row->uhrzeit;
$obj->sponsion = $row->sponsion;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->beschreibung = $row->beschreibung;
$obj->anmerkung = $row->anmerkung;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert die letzte Abschlussprüfung eines Studenten
* @param type $student_uid
*/
public function getLastAbschlusspruefung($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
$this->pruefer3 = $row->pruefer3;
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
$this->note = $row->note;
$this->akadgrad_id = $row->akadgrad_id;
$this->datum = $row->datum;
$this->uhrzeit = $row->uhrzeit;
$this->sponsion = $row->sponsion;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$this->beschreibung = $row->beschreibung;
$this->anmerkung = $row->anmerkung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+28 -27
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>.
*/
/**
* Klasse Adresse
@@ -128,6 +129,7 @@ class adresse extends basis_db
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false);
$qry.=" ORDER BY zustelladresse DESC";
if(!$this->db_query($qry))
{
@@ -279,20 +281,20 @@ class adresse extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->strasse).', '.
$this->db_add_param($this->plz).', '.
$this->db_add_param(trim($this->typ)).', '.
$this->db_add_param($this->ort).', '.
$this->db_add_param($this->nation).', now(), '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->gemeinde).', '.
$this->db_add_param($this->heimatadresse,FHC_BOOLEAN, false).', '.
$this->db_add_param($this->zustelladresse,FHC_BOOLEAN, false).', '.
$this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '.
$this->db_add_param($this->updatevon).');';
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->strasse).', '.
$this->db_add_param($this->plz).', '.
$this->db_add_param(trim($this->typ)).', '.
$this->db_add_param($this->ort).', '.
$this->db_add_param($this->nation).', now(), '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->gemeinde).', '.
$this->db_add_param($this->heimatadresse,FHC_BOOLEAN, false).', '.
$this->db_add_param($this->zustelladresse,FHC_BOOLEAN, false).', '.
$this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '.
$this->db_add_param($this->updatevon).');';
}
else
{
@@ -307,16 +309,16 @@ class adresse extends basis_db
' name='.$this->db_add_param($this->name).', '.
' strasse='.$this->db_add_param($this->strasse).', '.
' plz='.$this->db_add_param($this->plz).', '.
' typ='.$this->db_add_param(trim($this->typ)).', '.
' ort='.$this->db_add_param($this->ort).', '.
' nation='.$this->db_add_param($this->nation).', '.
' gemeinde='.$this->db_add_param($this->gemeinde).', '.
' firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).','.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).', '.
' heimatadresse='.$this->db_add_param($this->heimatadresse, FHC_BOOLEAN, false).', '.
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).' '.
'WHERE adresse_id='.$this->db_add_param($this->adresse_id, FHC_INTEGER, false).';';
' typ='.$this->db_add_param(trim($this->typ)).', '.
' ort='.$this->db_add_param($this->ort).', '.
' nation='.$this->db_add_param($this->nation).', '.
' gemeinde='.$this->db_add_param($this->gemeinde).', '.
' firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).','.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).', '.
' heimatadresse='.$this->db_add_param($this->heimatadresse, FHC_BOOLEAN, false).', '.
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).' '.
'WHERE adresse_id='.$this->db_add_param($this->adresse_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
@@ -432,7 +434,6 @@ class adresse extends basis_db
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
}
+7 -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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Authors: Christian Paminger <christian.paminger@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(dirname(__FILE__).'/basis_db.class.php');
@@ -156,8 +157,9 @@ class akadgrad extends basis_db
}
}
public function __toString(){
return $this->akadgrad_kurzbz;
public function __toString()
{
return $this->akadgrad_kurzbz;
}
}
?>
+439 -388
View File
@@ -1,388 +1,439 @@
<?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(dirname(__FILE__).'/basis_db.class.php');
class akte extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $akte_id;
public $person_id;
public $dokument_kurzbz;
public $inhalt;
public $mimetype;
public $erstelltam;
public $gedruckt;
public $titel;
public $bezeichnung;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $uid;
public $ext_id;
public $dms_id;
public $nachgereicht;
public $anmerkung;
public $titel_intern;
public $anmerkung_intern;
/**
* Konstruktor
* @param akte_id ID des zu ladenden Datensatzes
*/
public function __construct($akte_id=null)
{
parent::__construct();
if(!is_null($akte_id))
$this->load($akte_id);
}
/**
* Laedt einen Datensatz
* @param akte_id ID des zu ladenden Datensatzes
*/
public function load($akte_id)
{
//akte_id auf gueltigkeit pruefen
if(!is_numeric($akte_id) || $akte_id == '')
{
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT * FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->akte_id = $row->akte_id;
$this->person_id = $row->person_id;
$this->dokument_kurzbz = $row->dokument_kurzbz;
$this->inhalt = $row->inhalt;
$this->mimetype = $row->mimetype;
$this->erstelltam = $row->erstelltam;
$this->gedruckt = $this->db_parse_bool($row->gedruckt);
$this->titel = $row->titel;
$this->bezeichnung = $row->bezeichnung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->uid = $row->uid;
$this->dms_id = $row->dms_id;
$this->anmerkung = $row->anmerkung;
$this->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$this->titel_intern = $row->titel_intern;
$this->anmerkung_intern = $row->anmerkung_intern;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Loescht einen Datensatz
* @param akte_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($akte_id)
{
//akte_id auf gueltigkeit pruefen
if(!is_numeric($akte_id) || $akte_id == '')
{
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen';
return false;
}
}
/**
* Prueft die Variablen vor dem Speichern
*
* @return true wenn ok, sonst false
*/
protected function validate()
{
if($this->person_id=='')
{
$this->errormsg = 'Person ID muss angegeben werden';
return false;
}
if($this->dokument_kurzbz=='')
{
$this->errormsg = 'DokumentKurzbz muss angegeben werden';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO public.tbl_akte (person_id, dokument_kurzbz, inhalt, mimetype, erstelltam, gedruckt, titel,
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung, titel_intern, anmerkung_intern ) VALUES (".
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->dokument_kurzbz).', '.
$this->db_add_param($this->inhalt).', '.
$this->db_add_param($this->mimetype).', '.
$this->db_add_param($this->erstelltam).', '.
$this->db_add_param($this->gedruckt, FHC_BOOLEAN).', '.
$this->db_add_param($this->titel).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->uid).','.
$this->db_add_param($this->dms_id, FHC_INTEGER).','.
$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).','.
$this->db_add_param($this->anmerkung).','.
$this->db_add_param($this->titel_intern).','.
$this->db_add_param($this->anmerkung_intern).');';
}
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE public.tbl_akte SET".
" person_id=".$this->db_add_param($this->person_id, FHC_INTEGER).",".
" dokument_kurzbz=".$this->db_add_param($this->dokument_kurzbz).",".
" inhalt=".$this->db_add_param($this->inhalt).",".
" mimetype=".$this->db_add_param($this->mimetype).",".
" erstelltam=".$this->db_add_param($this->erstelltam).",".
" gedruckt=".$this->db_add_param($this->gedruckt,FHC_BOOLEAN).",".
" titel=".$this->db_add_param($this->titel).",".
" bezeichnung=".$this->db_add_param($this->bezeichnung).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).",".
" uid=".$this->db_add_param($this->uid).",".
" dms_id=".$this->db_add_param($this->dms_id, FHC_INTEGER).",".
" nachgereicht=".$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).",".
" anmerkung=".$this->db_add_param($this->anmerkung).",".
" titel_intern=".$this->db_add_param($this->titel_intern).",".
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).
" WHERE akte_id=".$this->db_add_param($this->akte_id, FHC_INTEGER);
}
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('public.tbl_akte_akte_id_seq') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->akte_id = $row->id;
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Liefert die Akten einer Person
*
* @param $person_id
* @param $dokument_kurzbz
* @param $stg_kz -> wenn gesetzt werden nur Akten angezeigt die ZUSÄTZLICH zum Studiengang abgegeben worden sind ohne Zeugnis
* @param $prestudent_id -> gesetzt wenn auch stg_kz gesetzt ist um sicherzugehen, dass Akten, die er schon für seinen Studiengang abgegeben hat,
* nicht mehr angezeigt werden
* @return true wenn ok, sonst false
*/
public function getAkten($person_id, $dokument_kurzbz=null, $stg_kz = null, $prestudent_id= null)
{
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel_intern, anmerkung_intern,
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid, dms_id, anmerkung, nachgereicht,
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
if($dokument_kurzbz!=null)
$qry.=" AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
if($stg_kz != null && $prestudent_id != null)
$qry.=" AND dokument_kurzbz not in (SELECT dokument_kurzbz FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
WHERE studiengang_kz= ".$this->db_add_param($stg_kz).") AND dokument_kurzbz NOT IN ('Zeugnis') AND dokument_kurzbz NOT IN
(SELECT dokument_kurzbz FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz)
WHERE prestudent_id=".$this->db_add_param($prestudent_id).")";
$qry.=" ORDER BY erstelltam";
$this->errormsg = $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$akten = new akte();
$akten->akte_id = $row->akte_id;
$akten->person_id = $row->person_id;
$akten->dokument_kurzbz = $row->dokument_kurzbz;
//$akte->inhalt = $row->inhalt;
$akten->inhalt_vorhanden = $this->db_parse_bool($row->inhalt_vorhanden);
$akten->mimetype = $row->mimetype;
$akten->erstelltam = $row->erstelltam;
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
$akten->titel = $row->titel;
$akten->bezeichnung = $row->bezeichnung;
$akten->updateamum = $row->updateamum;
$akten->updatevon = $row->updatevon;
$akten->insertamum = $row->insertamum;
$akten->insertvon = $row->insertvon;
$akten->uid = $row->uid;
$akten->dms_id = $row->dms_id;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$this->result[] = $akten;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert die Akten die ein Outgoing sehen darf
*
* @param $person_id
* @return true wenn ok, sonst false
*/
public function getAktenOutgoing($person_id)
{
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
$qry.=" AND dokument_kurzbz IN ('Lebenslf','Motivat','LearnAgr')";
$qry.=" ORDER BY erstelltam";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$akten = new akte();
$akten->akte_id = $row->akte_id;
$akten->person_id = $row->person_id;
$akten->dokument_kurzbz = $row->dokument_kurzbz;
//$akte->inhalt = $row->inhalt;
$akten->mimetype = $row->mimetype;
$akten->erstelltam = $row->erstelltam;
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
$akten->titel = $row->titel;
$akten->bezeichnung = $row->bezeichnung;
$akten->updateamum = $row->updateamum;
$akten->updatevon = $row->updatevon;
$akten->insertamum = $row->insertamum;
$akten->insertvon = $row->insertvon;
$akten->uid = $row->uid;
$akten->dms_id = $row->dms_id;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$this->result[] = $akten;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class akte extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $akte_id;
public $person_id;
public $dokument_kurzbz;
public $inhalt;
public $mimetype;
public $erstelltam;
public $gedruckt;
public $titel;
public $bezeichnung;
public $updateamum;
public $updatevon;
public $insertamum;
public $insertvon;
public $uid;
public $ext_id;
public $dms_id;
public $nachgereicht;
public $anmerkung;
public $titel_intern;
public $anmerkung_intern;
/**
* Konstruktor
* @param akte_id ID des zu ladenden Datensatzes
*/
public function __construct($akte_id=null)
{
parent::__construct();
if(!is_null($akte_id))
$this->load($akte_id);
}
/**
* Laedt einen Datensatz
* @param akte_id ID des zu ladenden Datensatzes
*/
public function load($akte_id)
{
//akte_id auf gueltigkeit pruefen
if(!is_numeric($akte_id) || $akte_id == '')
{
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT * FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->akte_id = $row->akte_id;
$this->person_id = $row->person_id;
$this->dokument_kurzbz = $row->dokument_kurzbz;
$this->inhalt = $row->inhalt;
$this->mimetype = $row->mimetype;
$this->erstelltam = $row->erstelltam;
$this->gedruckt = $this->db_parse_bool($row->gedruckt);
$this->titel = $row->titel;
$this->bezeichnung = $row->bezeichnung;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->uid = $row->uid;
$this->dms_id = $row->dms_id;
$this->anmerkung = $row->anmerkung;
$this->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$this->titel_intern = $row->titel_intern;
$this->anmerkung_intern = $row->anmerkung_intern;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Loescht einen Datensatz
* @param akte_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($akte_id)
{
//akte_id auf gueltigkeit pruefen
if(!is_numeric($akte_id) || $akte_id == '')
{
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen';
return false;
}
}
/**
* Prueft die Variablen vor dem Speichern
*
* @return true wenn ok, sonst false
*/
protected function validate()
{
if($this->person_id=='')
{
$this->errormsg = 'Person ID muss angegeben werden';
return false;
}
if($this->dokument_kurzbz=='')
{
$this->errormsg = 'DokumentKurzbz muss angegeben werden';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO public.tbl_akte (person_id, dokument_kurzbz, inhalt, mimetype, erstelltam, gedruckt, titel,
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung, titel_intern, anmerkung_intern ) VALUES (".
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->dokument_kurzbz).', '.
$this->db_add_param($this->inhalt).', '.
$this->db_add_param($this->mimetype).', '.
$this->db_add_param($this->erstelltam).', '.
$this->db_add_param($this->gedruckt, FHC_BOOLEAN).', '.
$this->db_add_param($this->titel).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->uid).','.
$this->db_add_param($this->dms_id, FHC_INTEGER).','.
$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).','.
$this->db_add_param($this->anmerkung).','.
$this->db_add_param($this->titel_intern).','.
$this->db_add_param($this->anmerkung_intern).');';
}
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE public.tbl_akte SET".
" person_id=".$this->db_add_param($this->person_id, FHC_INTEGER).",".
" dokument_kurzbz=".$this->db_add_param($this->dokument_kurzbz).",".
" inhalt=".$this->db_add_param($this->inhalt).",".
" mimetype=".$this->db_add_param($this->mimetype).",".
" erstelltam=".$this->db_add_param($this->erstelltam).",".
" gedruckt=".$this->db_add_param($this->gedruckt,FHC_BOOLEAN).",".
" titel=".$this->db_add_param($this->titel).",".
" bezeichnung=".$this->db_add_param($this->bezeichnung).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).",".
" uid=".$this->db_add_param($this->uid).",".
" dms_id=".$this->db_add_param($this->dms_id, FHC_INTEGER).",".
" nachgereicht=".$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).",".
" anmerkung=".$this->db_add_param($this->anmerkung).",".
" titel_intern=".$this->db_add_param($this->titel_intern).",".
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).
" WHERE akte_id=".$this->db_add_param($this->akte_id, FHC_INTEGER);
}
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('public.tbl_akte_akte_id_seq') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->akte_id = $row->id;
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Liefert die Akten einer Person
*
* @param $person_id
* @param $dokument_kurzbz
* @param $stg_kz -> wenn gesetzt werden nur Akten angezeigt die ZUSÄTZLICH zum Studiengang abgegeben worden sind ohne Zeugnis
* @param $prestudent_id -> gesetzt wenn auch stg_kz gesetzt ist um sicherzugehen, dass Akten, die er schon für seinen Studiengang abgegeben hat,
* nicht mehr angezeigt werden
* @return true wenn ok, sonst false
*/
public function getAkten($person_id, $dokument_kurzbz=null, $stg_kz = null, $prestudent_id= null)
{
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel_intern, anmerkung_intern,
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid, dms_id, anmerkung, nachgereicht,
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
if($dokument_kurzbz!=null)
$qry.=" AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
if($stg_kz != null && $prestudent_id != null)
$qry.=" AND dokument_kurzbz not in (SELECT dokument_kurzbz FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
WHERE studiengang_kz= ".$this->db_add_param($stg_kz).") AND dokument_kurzbz NOT IN ('Zeugnis') AND dokument_kurzbz NOT IN
(SELECT dokument_kurzbz FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz)
WHERE prestudent_id=".$this->db_add_param($prestudent_id).")";
$qry.=" ORDER BY erstelltam";
$this->errormsg = $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$akten = new akte();
$akten->akte_id = $row->akte_id;
$akten->person_id = $row->person_id;
$akten->dokument_kurzbz = $row->dokument_kurzbz;
//$akte->inhalt = $row->inhalt;
$akten->inhalt_vorhanden = $this->db_parse_bool($row->inhalt_vorhanden);
$akten->mimetype = $row->mimetype;
$akten->erstelltam = $row->erstelltam;
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
$akten->titel = $row->titel;
$akten->bezeichnung = $row->bezeichnung;
$akten->updateamum = $row->updateamum;
$akten->updatevon = $row->updatevon;
$akten->insertamum = $row->insertamum;
$akten->insertvon = $row->insertvon;
$akten->uid = $row->uid;
$akten->dms_id = $row->dms_id;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$this->result[] = $akten;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert die Akten die ein Outgoing sehen darf
*
* @param $person_id
* @return true wenn ok, sonst false
*/
public function getAktenOutgoing($person_id)
{
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
$qry.=" AND dokument_kurzbz IN ('Lebenslf','Motivat','LearnAgr')";
$qry.=" ORDER BY erstelltam";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$akten = new akte();
$akten->akte_id = $row->akte_id;
$akten->person_id = $row->person_id;
$akten->dokument_kurzbz = $row->dokument_kurzbz;
//$akte->inhalt = $row->inhalt;
$akten->mimetype = $row->mimetype;
$akten->erstelltam = $row->erstelltam;
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
$akten->titel = $row->titel;
$akten->bezeichnung = $row->bezeichnung;
$akten->updateamum = $row->updateamum;
$akten->updatevon = $row->updatevon;
$akten->insertamum = $row->insertamum;
$akten->insertvon = $row->insertvon;
$akten->uid = $row->uid;
$akten->dms_id = $row->dms_id;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$this->result[] = $akten;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert die Akten anhand der dms_id
*
* @param $person_id
* @return true wenn ok, sonst false
*/
public function getAktenDms($dms_id)
{
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
FROM public.tbl_akte WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER)."
ORDER BY erstelltam";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$akten = new akte();
$akten->akte_id = $row->akte_id;
$akten->person_id = $row->person_id;
$akten->dokument_kurzbz = $row->dokument_kurzbz;
//$akte->inhalt = $row->inhalt;
$akten->mimetype = $row->mimetype;
$akten->erstelltam = $row->erstelltam;
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
$akten->titel = $row->titel;
$akten->bezeichnung = $row->bezeichnung;
$akten->updateamum = $row->updateamum;
$akten->updatevon = $row->updatevon;
$akten->insertamum = $row->insertamum;
$akten->insertvon = $row->insertvon;
$akten->uid = $row->uid;
$akten->dms_id = $row->dms_id;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$this->result[] = $akten;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+530 -530
View File
File diff suppressed because it is too large Load Diff
+315 -247
View File
@@ -16,282 +16,350 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at>
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once(dirname(__FILE__) . '/basis_db.class.php');
require_once(dirname(__FILE__) . '/datum.class.php');
require_once(dirname(__FILE__) . '/lehrveranstaltung.class.php');
class anrechnung extends basis_db {
class anrechnung extends basis_db
{
public $errormsg;
public $new;
public $result;
// Tabellenspalten
public $anrechnung_id; // integer
public $prestudent_id; // integer
public $lehrveranstaltung_id; // integer
public $begruendung_id; // integer
public $lehrveranstaltung_id_kompatibel; // integer
public $genehmigt_von; // varchar(32)
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $updateamum; // timestamp
public $updatevon; // varchar(32)
public $begruendungen = array();
public $errormsg;
public $new;
public $result;
// Tabellenspalten
public $anrechnung_id; // integer
public $prestudent_id; // integer
public $lehrveranstaltung_id; // integer
public $begruendung_id; // integer
public $lehrveranstaltung_id_kompatibel; // integer
public $genehmigt_von; // varchar(32)
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $updateamum; // timestamp
public $updatevon; // varchar(32)
public $begruendungen = array();
/**
* Konstruktor - Laedt optional eine Anrechnung
* @param $anrechnung_id
*/
public function __construct($anrechnung_id = null) {
parent::__construct();
if ($anrechnung_id != null)
$this->load($anrechnung_id);
}
public function validate() {
if (!is_numeric($this->prestudent_id)) {
$this->errormsg = "Prestudent_id ist ungueltig";
return false;
/**
* Konstruktor - Laedt optional eine Anrechnung
* @param $anrechnung_id
*/
public function __construct($anrechnung_id = null)
{
parent::__construct();
if ($anrechnung_id != null)
$this->load($anrechnung_id);
}
if (!is_numeric($this->lehrveranstaltung_id)) {
$this->errormsg = "Wählen Sie eine Lehrveranstaltung aus";
return false;
public function validate()
{
if (!is_numeric($this->prestudent_id))
{
$this->errormsg = "Prestudent_id ist ungueltig";
return false;
}
if (!is_numeric($this->lehrveranstaltung_id))
{
$this->errormsg = "Wählen Sie eine Lehrveranstaltung aus";
return false;
}
if (!is_numeric($this->begruendung_id))
{
$this->errormsg = "Wählen Sie eine Begründung aus";
return false;
}
if ($this->begruendung_id == "2" && !is_numeric($this->lehrveranstaltung_id_kompatibel))
{
$this->errormsg = "Wählen Sie eine kompatible Lehrveranstaltung aus";
return false;
}
if (empty($this->genehmigt_von))
{
$this->errormsg = "Wählen Sie die Person aus, die die Anrechnung genehmigt hat";
return false;
}
return true;
}
if (!is_numeric($this->begruendung_id)) {
$this->errormsg = "Wählen Sie eine Begründung aus";
return false;
/**
* Lädt eine Anrechnung
* @param $anrechnung_id ID der Anrechnung
* @return true wenn ok, false im Fehlerfall
*/
public function getAnrechnung($anrechnung_id)
{
$qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
. "lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon "
. "FROM lehre.tbl_anrechnung "
. "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
. "WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
if ($result = $this->db_query($qry))
{
if ($row = $this->db_fetch_object($result))
{
$datum = new datum();
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
$row->insertamum = $datum->convertISODate($row->insertamum);
$row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
if ($row->lehrveranstaltung_id_kompatibel != '')
{
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
$row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
}
else
$row->lehrveranstaltung_bez_kompatibel = null;
$this->result[] = $row;
}
else
{
$this->errormsg = 'Es wurde kein Datensatz mit dieser ID gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert eine Anrechnung
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
if (!$this->validate())
return false;
if ($this->new == "1")
{
// Neuen Datensatz anlegen
$qry = 'INSERT INTO lehre.tbl_anrechnung (prestudent_id, lehrveranstaltung_id, begruendung_id, lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon) VALUES (' .
$this->db_add_param($this->prestudent_id) . ', ' .
$this->db_add_param($this->lehrveranstaltung_id) . ', ' .
$this->db_add_param($this->begruendung_id) . ', ' .
$this->db_add_param($this->lehrveranstaltung_id_kompatibel) . ', ' .
$this->db_add_param($this->genehmigt_von) . ', ' .
'NOW(),' .
$this->db_add_param($this->insertvon) . ', ' .
'NOW(),' .
$this->db_add_param($this->updatevon) . ') RETURNING anrechnung_id;';
}
else
{
// Datensatz aktualisieren
$qry = 'UPDATE lehre.tbl_anrechnung SET '
. 'lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id) . ', '
. 'begruendung_id = ' . $this->db_add_param($this->begruendung_id) . ', '
. 'lehrveranstaltung_id_kompatibel = ' . $this->db_add_param($this->lehrveranstaltung_id_kompatibel) . ', '
. 'genehmigt_von = ' . $this->db_add_param($this->genehmigt_von) . ', '
. 'updateamum = NOW(), '
. 'updatevon = ' . $this->db_add_param($this->updatevon) . ' '
. 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id);
}
if ($this->db_query($qry))
{
$this->anrechnung_id = $this->db_fetch_object()->anrechnung_id;
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Anrechnung: ' . $this->db_last_error();
return false;
}
}
if ($this->begruendung_id == "2" && !is_numeric($this->lehrveranstaltung_id_kompatibel)) {
$this->errormsg = "Wählen Sie eine kompatible Lehrveranstaltung aus";
return false;
/**
* Gibt alle Anrechnungen eines Prestudenten zurück
* @param $prestudent_id
* @return true wenn ok, false im Fehlerfall
*/
public function getAnrechnungPrestudent($prestudent_id, $lehrveranstaltung_id=null, $lehrveranstaltung_id_kompatibel=null)
{
$qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
. "lehrveranstaltung_id_kompatibel, genehmigt_von , insertamum, insertvon, updateamum, updatevon "
. "FROM lehre.tbl_anrechnung "
. "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
. "WHERE prestudent_id = " . $this->db_add_param($prestudent_id);
if($lehrveranstaltung_id != NULL)
{
$qry .= " AND lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id);
}
if($lehrveranstaltung_id_kompatibel != NULL)
{
$qry .= " AND lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id_kompatibel);
}
$qry .= ";";
if ($this->db_query($qry))
{
$datum = new datum();
while ($row = $this->db_fetch_object())
{
$row->insertamum = $datum->convertISODate($row->insertamum);
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
$row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
if ($row->lehrveranstaltung_id_kompatibel != '')
{
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
$row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
}
else
$row->lehrveranstaltung_bez_kompatibel = null;
$this->result[] = $row;
}
return true;
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
}
if (empty($this->genehmigt_von)) {
$this->errormsg = "Wählen Sie die Person aus, die die Anrechnung genehmigt hat";
return false;
/**
* Loescht eine Anrechnung
* @param $anrechnung_id
* @return true wenn ok, false im Fehlerfall
*/
public function delete($anrechnung_id)
{
$qry = "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
if ($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Datensatz konnte nicht geloescht werden';
return false;
}
}
return true;
}
/**
* Lädt eine Anrechnung
* @param $anrechnung_id ID der Anrechnung
* @return true wenn ok, false im Fehlerfall
*/
public function getAnrechnung($anrechnung_id) {
$qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
. "lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon "
. "FROM lehre.tbl_anrechnung "
. "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
. "WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
if ($result = $this->db_query($qry)) {
if ($row = $this->db_fetch_object($result)) {
$datum = new datum();
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
$row->insertamum = $datum->convertISODate($row->insertamum);
$row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
if ($row->lehrveranstaltung_id_kompatibel != '') {
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
$row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
} else
$row->lehrveranstaltung_bez_kompatibel = null;
$this->result[] = $row;
}
else {
$this->errormsg = 'Es wurde kein Datensatz mit dieser ID gefunden';
return false;
}
} else {
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert eine Anrechnung
* @return true wenn ok, false im Fehlerfall
*/
public function save() {
if (!$this->validate())
return false;
if ($this->new == "1") {
// Neuen Datensatz anlegen
$qry = 'INSERT INTO lehre.tbl_anrechnung (prestudent_id, lehrveranstaltung_id, begruendung_id, lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon) VALUES (' .
$this->db_add_param($this->prestudent_id) . ', ' .
$this->db_add_param($this->lehrveranstaltung_id) . ', ' .
$this->db_add_param($this->begruendung_id) . ', ' .
$this->db_add_param($this->lehrveranstaltung_id_kompatibel) . ', ' .
$this->db_add_param($this->genehmigt_von) . ', ' .
'NOW(),' .
$this->db_add_param($this->insertvon) . ', ' .
'NOW(),' .
$this->db_add_param($this->updatevon) . ') RETURNING anrechnung_id;';
} else {
// Datensatz aktualisieren
$qry = 'UPDATE lehre.tbl_anrechnung SET '
. 'lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id) . ', '
. 'begruendung_id = ' . $this->db_add_param($this->begruendung_id) . ', '
. 'lehrveranstaltung_id_kompatibel = ' . $this->db_add_param($this->lehrveranstaltung_id_kompatibel) . ', '
. 'genehmigt_von = ' . $this->db_add_param($this->genehmigt_von) . ', '
. 'updateamum = NOW(), '
. 'updatevon = ' . $this->db_add_param($this->updatevon) . ' '
. 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id);
}
if ($this->db_query($qry)) {
$this->anrechnung_id = $this->db_fetch_object()->anrechnung_id;
return true;
} else {
$this->errormsg = 'Fehler beim Speichern der Anrechnung: ' . $this->db_last_error();
return false;
}
}
/**
* Gibt alle Anrechnungen eines Prestudenten zurück
* @param $prestudent_id
* @return true wenn ok, false im Fehlerfall
*/
public function getAnrechnungPrestudent($prestudent_id) {
$qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
. "lehrveranstaltung_id_kompatibel, genehmigt_von , insertamum, insertvon, updateamum, updatevon "
. "FROM lehre.tbl_anrechnung "
. "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
. "WHERE prestudent_id = " . $this->db_add_param($prestudent_id);
if ($this->db_query($qry)) {
$datum = new datum();
while ($row = $this->db_fetch_object()) {
$row->insertamum = $datum->convertISODate($row->insertamum);
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
$row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
if ($row->lehrveranstaltung_id_kompatibel != '') {
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
$row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
} else
$row->lehrveranstaltung_bez_kompatibel = null;
$this->result[] = $row;
}
return true;
}
else {
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
}
/**
* Loescht eine Anrechnung
* @param $anrechnung_id
* @return true wenn ok, false im Fehlerfall
*/
public function delete($anrechnung_id) {
$qry = "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
if ($this->db_query($qry)) {
return true;
} else {
$this->errormsg = 'Datensatz konnte nicht geloescht werden';
return false;
}
}
/**
* Gibt die Anzahl der Notizen für eine Anrechnung zurück
* @param $anrechung_id
* @return Anzahl der Notizen, false im Fehlerfall
*/
public function getAnzahlNotizen($anrechung_id) {
$qry = "SELECT COUNT(*) AS anzahl "
/**
* Gibt die Anzahl der Notizen für eine Anrechnung zurück
* @param $anrechung_id
* @return Anzahl der Notizen, false im Fehlerfall
*/
public function getAnzahlNotizen($anrechung_id)
{
$qry = "SELECT COUNT(*) AS anzahl "
. "FROM public.tbl_notizzuordnung "
. "WHERE anrechnung_id = " . $this->db_add_param($anrechung_id);
if ($result = $this->db_query($qry)) {
if ($row = $this->db_fetch_object($result)) {
return $row->anzahl;
} else {
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
}
} else {
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
if ($result = $this->db_query($qry))
{
if ($row = $this->db_fetch_object($result))
{
return $row->anzahl;
}
else
{
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
}
}
else
{
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
}
}
}
/**
* Gibt alle möglichen Begründungen zurück
* @return array Array der Begründungen
*/
public function getAllBegruendung() {
$qry = 'SELECT * FROM lehre.tbl_anrechnung_begruendung';
/**
* Gibt alle möglichen Begründungen zurück
* @return array Array der Begründungen
*/
public function getAllBegruendung()
{
$qry = 'SELECT * FROM lehre.tbl_anrechnung_begruendung';
if ($this->db_query($qry)) {
while ($row = $this->db_fetch_object()) {
$stdobj = new stdClass();
$stdobj->begruendung_id = $row->begruendung_id;
$stdobj->bezeichnung = $row->bezeichnung;
array_push($this->begruendungen, $stdobj);
}
return true;
} else {
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
if ($this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
$stdobj = new stdClass();
$stdobj->begruendung_id = $row->begruendung_id;
$stdobj->bezeichnung = $row->bezeichnung;
array_push($this->begruendungen, $stdobj);
}
return true;
}
else
{
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
}
}
}
/**
* Lädt eine Anrechnung
* @param $anrechnung_id ID der Anrechnung
* @return true wenn ok, false im Fehlerfall
*/
public function load($anrechnung_id) {
$qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
/**
* Lädt eine Anrechnung
* @param $anrechnung_id ID der Anrechnung
* @return true wenn ok, false im Fehlerfall
*/
public function load($anrechnung_id)
{
$qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
. "lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon "
. "FROM lehre.tbl_anrechnung "
. "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
. "WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
if ($result = $this->db_query($qry)) {
if ($row = $this->db_fetch_object($result)) {
$this->anrechnung_id = $row->anrechnung_id;
$this->prestudent_id = $row->prestudent_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->lehrveranstaltung_id_kompatibel = $row->lehrveranstaltung_id_kompatibel;
$this->begruendung_id = $row->begruendung_id;
$this->begruendung = $row->begruendung;
$this->genehmigt_von = $row->genehmigt_von;
$datum = new datum();
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
$this->insertamum = $datum->convertISODate($row->insertamum);
$this->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
if ($row->lehrveranstaltung_id_kompatibel != '') {
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
$this->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
} else
$this->lehrveranstaltung_bez_kompatibel = null;
}
else {
$this->errormsg = 'Es wurde kein Datensatz mit dieser ID gefunden';
return false;
}
} else {
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
if ($result = $this->db_query($qry))
{
if ($row = $this->db_fetch_object($result))
{
$this->anrechnung_id = $row->anrechnung_id;
$this->prestudent_id = $row->prestudent_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->lehrveranstaltung_id_kompatibel = $row->lehrveranstaltung_id_kompatibel;
$this->begruendung_id = $row->begruendung_id;
$this->begruendung = $row->begruendung;
$this->genehmigt_von = $row->genehmigt_von;
$datum = new datum();
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
$this->insertamum = $datum->convertISODate($row->insertamum);
$this->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
if ($row->lehrveranstaltung_id_kompatibel != '')
{
$lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
$this->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
}
else
$this->lehrveranstaltung_bez_kompatibel = null;
}
else
{
$this->errormsg = 'Es wurde kein Datensatz mit dieser ID gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
}
+1 -1
View File
@@ -144,7 +144,7 @@ class authentication extends auth
{
header('WWW-Authenticate: Basic realm="'.AUTH_NAME.'"');
header('HTTP/1.0 401 Unauthorized');
echo "Ihre Zugangsdaten sind ungueltig!";
echo "Invalid Credentials";
exit;
}
else

Some files were not shown because too many files have changed in this diff Show More