diff --git a/.gitignore b/.gitignore index 599468937..b7cf21913 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ documents/ .settings .project .buildpath +bin diff --git a/.gitmodules b/.gitmodules index d2bd62ca4..41511b610 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100755 index 000000000..ad9601ddb --- /dev/null +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index 1a417b114..8874b5778 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/addons/template/cis/init.js.php b/addons/template/cis/init.js.php new file mode 100644 index 000000000..174f620ed --- /dev/null +++ b/addons/template/cis/init.js.php @@ -0,0 +1,44 @@ + + */ +/** + * 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; + } + */ + } +}); diff --git a/addons/template/vilesci/init.js.php b/addons/template/vilesci/init.js.php new file mode 100644 index 000000000..5ac9310ca --- /dev/null +++ b/addons/template/vilesci/init.js.php @@ -0,0 +1,44 @@ + + */ +/** + * 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; + } + */ + } +}); diff --git a/cis/private/jahresplan/jahresplan_detail.php b/cis/private/jahresplan/jahresplan_detail.php index df8d62bdd..17ca31e67 100644 --- a/cis/private/jahresplan/jahresplan_detail.php +++ b/cis/private/jahresplan/jahresplan_detail.php @@ -119,4 +119,4 @@ } ?> - \ No newline at end of file + diff --git a/cis/private/jahresplan/jahresplan_veranstaltung.php b/cis/private/jahresplan/jahresplan_veranstaltung.php index 4a7435430..1d74153c5 100644 --- a/cis/private/jahresplan/jahresplan_veranstaltung.php +++ b/cis/private/jahresplan/jahresplan_veranstaltung.php @@ -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 ':' Änderung ').' '.$Jahresplan->errormsg; + { + $error='Fehler bei der '.($Jahresplan->new?' Neuanlage ':' Änderung ').' '.$Jahresplan->errormsg; } else { @@ -117,7 +116,7 @@ } } --> - + '; } } @@ -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 @@ " class="cursor_hand" onclick="self.location.href='';" >t("eventkalender/neuanlage")?> Neuanlage - + @@ -432,7 +433,7 @@ } ?> - + @@ -443,21 +444,19 @@ '.$cTmpTime.''; - $cTmpTime=$timeIND.':15'; - echo ''; - $cTmpTime=$timeIND.':30'; - echo ''; - $cTmpTime=$timeIND.':45'; - echo ''; - } - ?> + for($j=0; $j <60; $j+=15) + { + $tmpTime = $i.":".(strlen($j)<2?'0'.$j:$j); + echo ''; + } + } + ?> - - + + @@ -470,19 +469,17 @@ '.$cTmpTime.''; - $cTmpTime=$timeIND.':15'; - echo ''; - $cTmpTime=$timeIND.':30'; - echo ''; - $cTmpTime=$timeIND.':45'; - echo ''; - } - ?> - + for($j=0; $j <60; $j+=15) + { + $tmpTime = $i.":".(strlen($j)<2?'0'.$j:$j); + echo ''; + } + } + ?> +  t("eventkalender/ganztaegigeVeranstaltung")?>   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" > @@ -563,6 +560,6 @@ { echo '
'.$p->t("eventkalender/reservierungenKoennenErstNachDemSpeichernZugeordnetWerden").'.'; } - ?> + ?> diff --git a/cis/private/lehre/abgabe_lektor.php b/cis/private/lehre/abgabe_lektor.php index 0e84bb5e9..2e6dd28b0 100644 --- a/cis/private/lehre/abgabe_lektor.php +++ b/cis/private/lehre/abgabe_lektor.php @@ -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(); diff --git a/cis/private/lehre/abgabe_lektor_details.php b/cis/private/lehre/abgabe_lektor_details.php index e46d40dd2..abf17fc8c 100644 --- a/cis/private/lehre/abgabe_lektor_details.php +++ b/cis/private/lehre/abgabe_lektor_details.php @@ -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)) diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php old mode 100644 new mode 100755 index 34540a2b2..5a352cd18 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -1,5 +1,5 @@ , - * Andreas Oesterreicher and - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Authors: Manfred Kindl */ - /** - * 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); +*/ ?> diff --git a/cis/private/lehre/anwesenheitsliste_bilder.pdf.php b/cis/private/lehre/anwesenheitsliste_bilder.pdf.php old mode 100644 new mode 100755 index bec92f46f..6a44d8daf --- a/cis/private/lehre/anwesenheitsliste_bilder.pdf.php +++ b/cis/private/lehre/anwesenheitsliste_bilder.pdf.php @@ -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'); + ?> diff --git a/cis/private/lehre/benotungstool/lvgesamtnote_worker.php b/cis/private/lehre/benotungstool/lvgesamtnote_worker.php index e64e2fe2d..250f65cde 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnote_worker.php +++ b/cis/private/lehre/benotungstool/lvgesamtnote_worker.php @@ -18,7 +18,7 @@ * Authors: Andreas Oesterreicher 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; -} -?> +} +?> diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 284a7dfb3..b91eb180d 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -131,7 +131,8 @@ echo ' - + @@ -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; } - + -

Prüfungsanmeldung für vorname." ".$benutzer->nachname." (".$uid.")"; ?>

+

t('pruefung/anmeldungFuer'); ?> vorname." ".$benutzer->nachname." (".$uid.")"; ?>

Filter'; - echo '

Studiensemester: '; + echo '

'.$p->t('pruefung/filter').'

'; + echo '

'.$p->t('global/studiensemester').': '; echo '

'; - + ?> -
+
-

LV-Details

- Bezeichnung:
- ECTS:
+

t('pruefung/lvDetails'); ?>

+ t('global/bezeichnung'); ?>:
+ t('global/ects'); ?>:
- +
-

Prüfungsdetails

- Typ:
- Methode:
- Beschreibung:
+

t('pruefung/pruefungsDetails'); ?>

+ t('pruefung/typ'); ?>:
+ t('pruefung/pruefungMethode'); ?>:
+ t('global/beschreibung'); ?>:

-
+
-
+
@@ -267,40 +276,40 @@ $studiensemester->getAll(); - + - + - + - + - + - +
Lehrveranstaltung: t('global/lehrveranstaltung'); ?>:
Von: t('global/von'); ?>:
Bis: t('global/bis'); ?>:
Studienverpflichtung:* t('pruefung/studienverpflichtung'); ?>:*
Bemerkung: t('global/anmerkung'); ?>:
diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php old mode 100644 new mode 100755 index 43d750df5..d01bada61 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php @@ -2,22 +2,22 @@ */ @@ -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); - @@ -225,17 +233,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA }); }); -

Anmeldungen Verwalten

+

t('pruefung/anmeldungenVerwalten'); ?>

-

Studiengänge

+

t('global/studiengang'); ?>

-

Studiensemester

+

t('global/studiensemester'); ?>

'; $aktuellesSemester = $studiensemester->getaktorNext(); @@ -259,7 +267,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
-

Prüfungen

+

t('pruefung/pruefungPruefungenTitle'); ?>

@@ -267,9 +275,9 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
-

Anmeldungen

+

t('pruefung/pruefungsbewertungAnmeldungen'); ?>

- +
@@ -278,20 +286,20 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
- +
- +
- +
- +
@@ -299,7 +307,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
- +
diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.js.php b/cis/private/lehre/pruefung/pruefungsbewertung.js.php new file mode 100755 index 000000000..f5871cd9c --- /dev/null +++ b/cis/private/lehre/pruefung/pruefungsbewertung.js.php @@ -0,0 +1,300 @@ + + */ + + +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("t('pruefung/pruefungPruefungenTitle'); ?> ("+uid+")"); + if(data.error === 'false') + { + var liste = ""; + data.result.forEach(function(e){ + liste += "
  • "+e.bezeichnung+"
      "; + e.pruefung.lehrveranstaltungen.forEach(function(d) + { + d.pruefung.termine.forEach(function(f){ + liste += "
    • "+convertDateTime(f.von)+"
    • "; + }); + }) + liste += "
    "; + }); + $("#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("t('pruefung/bewertungenZu'); ?> "+lehrveranstaltung+" ("+datum+")"); + var noten = ""; + } + 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 = "
    "+d.student.vorname+" "+d.student.nachname+"
    "+notenSelect+"'/>
    ' />
    "; + } + else + { + entry = "
    "+d.student.vorname+" "+d.student.nachname+"
    "+notenSelect+"'/>
    ' value='"+d.pruefung.anmerkung+"' />
    "; + } + $("#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 = "
    Keine Anmeldungen vorhanden.
    "; + $("#anmeldeDaten").html(entry); + } + } + else + { + entry = "
    "+data.errormsg+"
    "; + $("#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"); +} diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.json.php b/cis/private/lehre/pruefung/pruefungsbewertung.json.php old mode 100644 new mode 100755 index 750628aff..6e5aad377 --- a/cis/private/lehre/pruefung/pruefungsbewertung.json.php +++ b/cis/private/lehre/pruefung/pruefungsbewertung.json.php @@ -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; -} \ No newline at end of file +} diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.php b/cis/private/lehre/pruefung/pruefungsbewertung.php old mode 100644 new mode 100755 index 4a16ac6cd..7137e0a35 --- a/cis/private/lehre/pruefung/pruefungsbewertung.php +++ b/cis/private/lehre/pruefung/pruefungsbewertung.php @@ -2,22 +2,22 @@ */ @@ -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 - - + + @@ -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 });
    -

    Prüfungsbewertung

    +

    t('pruefung/pruefungsbewertungTitle'); ?>

    isBerechtigt('lehre/pruefungsbeurteilungAdmin')) @@ -224,7 +232,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA } else { - echo 'Lektor: '; + echo ''.$p->t('pruefung/pruefungLektor').': '; echo ''; echo ''; echo ''; @@ -234,7 +242,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
    -

    Prüfungen

    +

    t('pruefung/pruefungPruefungenTitle'); ?>

    @@ -242,14 +250,14 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
    -

    Anmeldungen

    +

    t('pruefung/pruefungsbewertungAnmeldungen'); ?>

    - +
    diff --git a/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php b/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php old mode 100644 new mode 100755 index 63a095df7..1338d3af9 --- a/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php +++ b/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php @@ -2,22 +2,22 @@ */ @@ -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) - Prüfungsfenster anlegen + <?php echo $p->t('pruefung/titlePruefungsfenster') ?> @@ -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") { -?> -

    Prüfungsfenster-Verwaltung

    -

    Neues Prüfungsfenster anlegen

    +?> +

    t('pruefung/pruefungsfensterVerwaltung'); ?>

    +

    t('pruefung/neuesPruefungsfensterAnlegen'); ?>

    @@ -250,12 +258,12 @@ if($method != "update") - + - + - + - + - +
    Studiensemester: t('global/studiensemester'); ?>:
    Organisationseinheit: t('global/organisationseinheit'); ?>:
    Start: t('pruefung/start'); ?>:
    Ende: t('pruefung/ende'); ?>:
    @@ -314,8 +322,8 @@ if($method != "update") else { ?> -

    Prüfungsfenster-Verwaltung

    -

    Prüfungsfenster bearbeiten

    +

    t('pruefung/pruefungsfensterVerwaltung'); ?>

    +

    t('pruefung/pruefungsfensterBearbeiten'); ?>

    @@ -326,11 +334,11 @@ else - + - + - + - + - - + +
    Studiensemester: t('global/studiensemester'); ?>:
    Organisationseinheit: t('global/organisationseinheit'); ?>:
    Start: t('pruefung/start'); ?>:
    Ende: t('pruefung/ende'); ?>:
    @@ -390,21 +398,21 @@ else if((isset($_GET["id"]) && $method!="update") || !isset($_GET["id"])) { ?> -

    Prüfungsfenster bearbeiten

    +

    t('pruefung/pruefungsfensterBearbeiten'); ?>

    - result)){ - + ?> - - - - - - + + + + + + @@ -415,14 +423,14 @@ else if(in_array($result->oe_kurzbz, $oe)) { $organisationseinheit->load($result->oe_kurzbz); - echo + echo ' - - + + '; } } @@ -433,14 +441,14 @@ else } else { - echo + echo ' - + '; } ?> - diff --git a/cis/private/lehre/pruefung/pruefungstermin.json.php b/cis/private/lehre/pruefung/pruefungstermin.json.php old mode 100644 new mode 100755 index ee2d39f76..5960fe5c2 --- a/cis/private/lehre/pruefung/pruefungstermin.json.php +++ b/cis/private/lehre/pruefung/pruefungstermin.json.php @@ -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; } -?> \ No newline at end of file +?> diff --git a/cis/private/lehre/pruefung/pruefungstermin_festlegen.php b/cis/private/lehre/pruefung/pruefungstermin_festlegen.php old mode 100644 new mode 100755 index bfc11ec1f..31428cdaf --- a/cis/private/lehre/pruefung/pruefungstermin_festlegen.php +++ b/cis/private/lehre/pruefung/pruefungstermin_festlegen.php @@ -2,22 +2,22 @@ */ @@ -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 - Prüfungstermin festlegen + <?php echo $p->t('pruefung/titlePruefungstermin'); ?> - + @@ -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 });
    -

    Prüfungen verwalten

    +

    t('pruefung/pruefungenVerwalten'); ?>

    StudiensemesterOrganisationseinheitStartdatumEnddatumBearbeitenLöschent('global/studiensemester'); ?>t('global/organisationseinheit'); ?>t('pruefung/start'); ?>t('pruefung/ende'); ?>t('global/bearbeiten'); ?>t('global/loeschen'); ?>
    '.$result->studiensemester_kurzbz.' '.$organisationseinheit->organisationseinheittyp_kurzbz." ".$organisationseinheit->bezeichnung.' '.$result->start.' '.$result->ende.'bearbeitenlöschen'.$p->t('global/bearbeiten').''. $p->t('global/loeschen').'
    Keine Prüfungsfenster gespeichert.'.$p->t('pruefung/keinePruefungsfensterGespeichert').'
    lehrveranstaltungen) && !$rechte->isBerechtigt('leh } else { - echo ''; + echo ''; echo ''; echo ''; echo ''; @@ -169,54 +177,54 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
    Lektor:'.$p->t('pruefung/pruefungLektor').':
    - + - + - + - + - + - + + - + --> - + - + - + - + - + - +
    Titel:t('pruefung/pruefungTitel'); ?>:
    Beschreibung:t('global/beschreibung'); ?>:
    Studiensemester:t('global/studiensemester'); ?>: -
    Prüfungsfenster:t('pruefung/pruefungsfenster'); ?>:
    Methode:t('pruefung/pruefungMethode'); ?>:
    Einzelprüfung:t('pruefung/pruefungEinzelpruefung'); ?>:
    Prüfungsintervall:t('pruefung/pruefungIntervall'); ?>:
    Lehrveranstaltungen:t('global/lehrveranstaltung'); ?>:
    Termin:t('pruefung/pruefungTermin'); ?>:
    - - - - - - + + + + + + @@ -278,30 +286,30 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
    DatumVonbismin. Teilnehmermax. TeilnehmerSammelklausurt('global/datum'); ?>t('global/von'); ?>t('global/bis'); ?>t('pruefung/pruefungMinTeilnehmer'); ?>t('pruefung/pruefungMaxTeilnehmer'); ?>t('pruefung/pruefungSammelklausur'); ?>
    - Termin hinzufügen + t('pruefung/pruefungTerminHinzufuegen'); ?>
      
    -

    Prüfungen

    +

    t('pruefung/pruefungPruefungenTitle'); ?>

    - - - - - - - - - + + + + + + + + + diff --git a/cis/private/lvplan/stpl_kalender.php b/cis/private/lvplan/stpl_kalender.php index 6d1d2f42e..bae1b5795 100644 --- a/cis/private/lvplan/stpl_kalender.php +++ b/cis/private/lvplan/stpl_kalender.php @@ -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->t('lvplan/fehlerUndFeedback').' '.$p->t('lvplan/lvKoordinationsstelle').'

    '; echo ''; } + + +/** + * + */ +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); +} + ?> diff --git a/cis/private/lvplan/stpl_week.php b/cis/private/lvplan/stpl_week.php index 35611a8fe..478d08eab 100644 --- a/cis/private/lvplan/stpl_week.php +++ b/cis/private/lvplan/stpl_week.php @@ -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']; + ?> @@ -145,18 +224,41 @@ $uid=get_uid(); }); --> - - - + loadAddons(); + foreach($addon_obj->result as $addon) + { + if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) + echo ''; + } + + // Wenn Seite fertig geladen ist Addons aufrufen + echo ' + + '; + ?> + -

    t('lvplan/wochenplan');?>

    TitelStudiensemesterLehrveranstaltungenTermineMethodePrüfungstypEinzelprüfungMitarbeiterstorniertt('pruefung/pruefungTitel'); ?>t('global/studiensemester'); ?>t('global/lehrveranstaltung'); ?>t('pruefung/pruefungTermin'); ?>t('pruefung/pruefungMethode'); ?>t('pruefung/pruefungTyp'); ?>t('pruefung/pruefungEinzelpruefung'); ?>t('pruefung/pruefungMitarbeiter'); ?>t('pruefung/storniert'); ?>
    t('lvplan/hauptmenue');?>
    -t("dms_link/lvPlanFAQ").'" class="hilfe" target="_blank">'.$p->t("global/hilfe").''; ?> +t("dms_link/lvPlanFAQ")!='') echo ''.$p->t("global/hilfe").''; ?>
    @@ -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)) ?>


    t('lvplan/fehlerUndFeedback');?> t('lvplan/lvKoordinationsstelle');?>.

    -
    diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php index c89e929da..fa818838e 100644 --- a/cis/private/pdfExport.php +++ b/cis/private/pdfExport.php @@ -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']!='') { diff --git a/cis/private/profile/dokumente.php b/cis/private/profile/dokumente.php index 022dc4522..7a5c16f73 100755 --- a/cis/private/profile/dokumente.php +++ b/cis/private/profile/dokumente.php @@ -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 ' - - - - -
    '.$p->t('studienplan/Anmeldung').'
    -'; - -if(isset($_POST['action']) && $_POST['action']=='anmeldung') -{ - $lehrveranstaltung_id = $_POST['lv']; - $stsem = $_POST['stsem']; - - $lvangebot = new lvangebot(); - $lvangebot->getAllFromLvId($lehrveranstaltung_id, $stsem); - - if(isset($lvangebot->result[0])) - { - if($lvangebot->result[0]->AnmeldungMoeglich()) - { - // Benutzer einschreiben - $bngruppe = new benutzergruppe(); - - if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) - { - - // Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind - $konto = new konto(); - $cp = $konto->getCreditPoints($uid, $stsem); - if($cp===false || $cp>=$lv->ects) - { - $bngruppe->uid = $uid; - $bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz; - $bngruppe->studiensemester_kurzbz = $stsem; - $bngruppe->new=true; - if($bngruppe->save()) - { - echo ''.$p->t('studienplan/einschreibungErfolgreich').''; - // Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird - echo ''; - } - } - else - echo ''.$p->t('studienplan/zuWenigCP').''; - } - else - { - echo ''.$p->t('studienplan/bereitsAngemeldet').''; - } - } - else - echo $lvangebot->result[0]->errormsg; - } - else - echo $p->t('studienplan/AnmeldungNichtMoeglich'); -} - -$db = new basis_db(); -$datum_obj = new datum(); -// Student Laden -$student = new student(); -$student->load($uid); - -// ersten Status holen -$prestudent = new prestudent(); -$prestudent->getFirstStatus($student->prestudent_id, 'Student'); - -$studiensemester_start = $prestudent->studiensemester_kurzbz; -$ausbildungssemester_start = $prestudent->ausbildungssemester; -$orgform_kurzbz = $prestudent->orgform_kurzbz; - -$prestudent->getLastStatus($student->prestudent_id, 'Student'); -$studienplan_id = $prestudent->studienplan_id; - -$studienplan = new studienplan(); -$studienplan->loadStudienplan($studienplan_id); - -// Studienplan laden -$lehrveranstaltung = new lehrveranstaltung(); -$lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id); -$tree = $lehrveranstaltung->getLehrveranstaltungTree(); - - -/* - Vom Semesterstart des Studierenden ausgehend werden die Studiensemester geladen. - Es werden mindestens so viele Studiensemester geladen wie die Regelstudiendauer des - Studienplanes angibt. -*/ -// Angezeigte Studiensemester holen -$stsem = new studiensemester(); -$stsem_arr[0]=$studiensemester_start; -$studiensemester_prev=$studiensemester_start; -for($i=1;$i<$studienplan->regelstudiendauer;$i++) -{ - $stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev); - $studiensemester_prev=$stsem_arr[$i]; -} - -/* - Wenn Studierende ueber der Regelstudiendauer hinaus studierenen, wird das aktuelle Studiensemester - nicht angezeigt. Deshalb wird in solchen faellen immer bis zum aktuellen+2 Studiensemester geladen. -*/ -$stsem_obj = new studiensemester(); -$aktornext = $stsem_obj->getaktorNext(); -$stsemToShow = $stsem_obj->jump($aktornext,2); - -if(!in_array($stsemToShow,$stsem_arr)) -{ - for($i=count($stsem_arr);$i<50;$i++) - { - $stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev); - $studiensemester_prev=$stsem_arr[$i]; - if($stsemToShow==$studiensemester_prev) - { - break; - } - } -} - -// Noten des Studierenden holen -$noten_arr=array(); -$zeugnisnote = new zeugnisnote(); -if($zeugnisnote->getZeugnisnoten('',$uid,'')) -{ - foreach($zeugnisnote->result as $row_note) - { - if($row_note->note!='') - $noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note; - } -} - -$note_pruef_arr = array(); -$note = new note(); -$note->getAll(); -foreach($note->result as $row_note) - $note_pruef_arr[$row_note->note]=$row_note; - -// LV Angebot holen -$lvangebot_arr = array(); -$lvangebot = new lvangebot(); -$lvangebot->getLVAngebotFromStudienplan($studienplan_id, $stsem_arr,true); -foreach($lvangebot->result as $row_lvangebot) - $lvangebot_arr[$row_lvangebot->lehrveranstaltung_id][$row_lvangebot->studiensemester_kurzbz]=$row_lvangebot; - -// LVs des Studienplans laden -$lv_arr = array(); -$lv = new lehrveranstaltung(); -$lv->loadLehrveranstaltungStudienplan($studienplan_id); -foreach($lv->lehrveranstaltungen as $row_lva) - $lv_arr[$row_lva->lehrveranstaltung_id]=$row_lva; - -echo '

    '.$p->t('studienplan/studienplan').": $studienplan->bezeichnung ($studienplan_id) - $student->vorname $student->nachname ( $student->uid )

    "; - -echo ' - - - '; - -if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) - echo ''; - -echo ' - '; - -foreach($stsem_arr as $stsem) -{ - echo ''; -} -echo ' - - - '; - -// Lehrveranstaltungen anzeigen -drawTree($tree,0); - -function drawTree($tree, $depth) -{ - global $uid, $stsem_arr, $noten_arr, $lvangebot_arr; - global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr; - - foreach($tree as $row_tree) - { - $style=''; - if(!empty($row_tree->childs)) - { - $bstart='';$bende=''; - $style=' style="background-color:#EEEEEE"'; - } - else - { - $bstart='';$bende=''; - } - - switch($row_tree->lehrtyp_kurzbz) - { - case 'modul': - $icon=' '; - $style=' style="background-color:#CCCCCC"'; - $termine=''; - break; - case 'lv': - $icon=' '; - $termine="Termine"; - break; - default: - $icon=''; - } - - - echo ' - '; - - // Semester - if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) - echo ''; - - // ECTS Punkte - echo ''; - - // Status der LV (absolviert, offen) - echo ''; - - // Spalten für die einzelnen Studiensemester - foreach($stsem_arr as $key=>$stsem) - { - $semester=$key+1; - - $tdclass=array(); - //Empfehlung holen -// if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) -// { -// $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; -// if($semester==$empfohlenesSemester) -// $tdclass[]='empfehlung'; -// } - - $tdinhalt=''; - - // Ist bereits eine Note für diese LV in diesem Stsem vorhanden? - if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem])) - { - if($note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->positiv) - $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; - else - $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; - } - else - { - // Angebot der LV und der Kompatiblen pruefen - $anmeldungmoeglich=false; - $angemeldet=false; - $semesterlock=false; - $regelerfuellt=true; - $anmeldeinformation=''; - $angebot_vorhanden=false; - - // Regeln Pruefen - $lvregel = new lvregel(); - - // Pruefen ob Semestersperre vorhanden ist - if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester)) - { - $semesterlock=true; - } - else - { - if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem)) - { - $regelerfuellt=false; - } - } - - foreach($lvkompatibel_arr as $row_lvid) - { - // Angebot der LV pruefen - if(isset($lvangebot_arr[$row_lvid]) - && isset($lvangebot_arr[$row_lvid][$stsem])) - { - $angebot_vorhanden=true; - // LV findet statt - $angebot = $lvangebot_arr[$row_lvid][$stsem]; - - if($angebot->gruppe_kurzbz!='') - { - // Pruefen ob bereits angemeldet - $bngruppe = new benutzergruppe(); - if($bngruppe->load($uid, $angebot->gruppe_kurzbz, $stsem)) - { - // Bereits angemeldet - $angemeldet=true; - } - } - - // Pruefen ob eine Anmeldung möglich ist - if($angebot->AnmeldungMoeglich()) - { - if(!$angemeldet) - $anmeldungmoeglich=true; - } - else - $anmeldeinformation.=$angebot->errormsg; - } - } - - if($semesterlock) - { - $tdinhalt.= ''; - } - else - { - if($angebot_vorhanden) - { - $tdclass[]='angebot'; - if($angemeldet) - { - $tdinhalt.= ''; - } - else - { - if($anmeldungmoeglich) - $tdinhalt.= ''; - else - $tdinhalt.= '-'; - - if(!$regelerfuellt) - $tdinhalt.= 'X'; - } - } - else - { - // LV wird nicht angeboten - $tdinhalt.= '-'; - } - } - } - $class=implode(' ',$tdclass); - echo ''; - } - echo ''; - - // Wenn Subtree vorhanden, dann anzeigen - if(!empty($row_tree->childs)) - drawTree($row_tree->childs, $depth+1); - } -} -echo '
    '.$p->t('global/lehrveranstaltung').''.$p->t('global/semester').''.$p->t('studienplan/ects').''.$p->t('studienplan/status').''; - - echo $stsem; - $konto = new konto(); - $cp = $konto->getCreditPoints($uid, $stsem); - if($cp!==false) - echo '
    Information
    '; - echo '
    '.$bstart; - - // Einrückung für Subtree - for($i=0;$i<$depth;$i++) - echo '    '; - - $lvkompatibel = new lehrveranstaltung(); - $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); - $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id; - - $abgeschlossen=false; - $lvregel = new lvregel(); - if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id)) - { - if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id)) - $abgeschlossen=true; - else - $abgeschlossen=false; - } - $lvinfo = new lvinfo(); - switch(getSprache()) - { - case 'German': - $sprache = 'de'; - break; - case 'English': - $sprach = 'en'; - break; - default: - $sprache = 'de'; - } - if($lvinfo->exists($row_tree->lehrveranstaltung_id, getSprache())) - echo $icon." ".$termine." lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.""; - else - // Bezeichnung der Lehrveranstaltung - echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung; - echo $bende.''.$row_tree->semester.''.$row_tree->ects.''; - - // Note zu dieser LV vorhanden? - if(isset($noten_arr[$row_tree->lehrveranstaltung_id])) - { - // Positive Note fuer diese LV vorhanden? - $positiv=false; - foreach($noten_arr[$row_tree->lehrveranstaltung_id] as $note) - { - if($note_pruef_arr[$note]->positiv) - $positiv=true; - } - - if($positiv) - echo ''.$p->t('studienplan/abgeschlossen').''; - else - echo ''.$p->t('studienplan/negativ').''; - } - else - { - if($abgeschlossen) - echo ''.$p->t('studienplan/regelabgeschlossen'),''; - elseif(!$row_tree->stpllv_pflicht) - echo ''.$p->t('studienplan/optional').''; - else - echo ''.$p->t('studienplan/offen').''; - } - echo ''; - echo $tdinhalt; - echo '
    '; -echo '

    '.$p->t('studienplan/legende').':
    - - - - - - - - - - - - - - - - - - -
          '.$p->t('studienplan/legendeLVwirdAngeboten').'
    '.$p->t('studienplan/Anmeldung').'
    '.$p->t('studienplan/legendeLock').'
    -'; - -echo ' -'; -?> + + * + * Zeigt den Studienplan eines Studierenden an + * und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen. + * Dabei werden Regeln und Anmeldezeiträume der Lehrveranstaltungen berücksichtigt. + */ +require_once('../../../config/cis.config.inc.php'); +require_once('../../../config/global.config.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/studienordnung.class.php'); +require_once('../../../include/studienplan.class.php'); +require_once('../../../include/lvregel.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/prestudent.class.php'); +require_once('../../../include/zeugnisnote.class.php'); +require_once('../../../include/lvangebot.class.php'); +require_once('../../../include/datum.class.php'); +require_once('../../../include/phrasen.class.php'); +require_once('../../../include/note.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/benutzergruppe.class.php'); +require_once('../../../include/konto.class.php'); +require_once('../../../include/lvinfo.class.php'); +require_once('../../../include/addon.class.php'); +require_once('../../../include/anrechnung.class.php'); + +$uid = get_uid(); + +if(isset($_GET['uid'])) +{ + // Administratoren duerfen die UID als Parameter uebergeben um den Studienplan + // von anderen Personen anzuzeigen + + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($uid); + if($rechte->isBerechtigt('admin')) + $uid=$_GET['uid']; +} + +$p = new phrasen(getSprache()); +$datum_obj = new datum(); +$db = new basis_db(); + +if(isset($_GET['getAnmeldung'])) +{ + // Liefert das Formular zur Anmeldung zu Lehrveranstaltungen zurueck + + $lehrveranstaltung_id=$_GET['lehrveranstaltung_id']; + $stsem = $_GET['stsem']; + + echo $p->t('studienplan/LehrveranstalungWaehlen').' +
    + + '; + $lehrveranstaltung = new lehrveranstaltung(); + $anzahl=0; + + // Die Anmeldung ist zur Lehrveranstaltung selbst und zu den dazu kompatiblen Lehrveranstaltungen moeglich + $kompatibel = $lehrveranstaltung->loadLVkompatibel($lehrveranstaltung_id); + + $datum = new datum(); + $kompatibel[]=$lehrveranstaltung_id; + $kompatibel = array_unique($kompatibel); + foreach($kompatibel as $lvid) + { + $lvangebot = new lvangebot(); + $lvangebot->getAllFromLvId($lvid, $stsem); + if(isset($lvangebot->result[0])) + { + $lv = new lehrveranstaltung(); + $lv->load($lvid); + + $angebot = $lvangebot->result[0]; + if($angebot->AnmeldungMoeglich()) + { + $anzahl++; + // LV wird angeboten und Anmeldefenster ist offen + + $bngruppe = new benutzergruppe(); + if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) + { + // User ist noch nicht angemeldet + //Pruefen ob genug Credit Points zur Verfuegung stehen zur Anmeldung + + $konto = new konto(); + $cp = $konto->getCreditPoints($uid, $stsem); + if($cp===false || $cp>=$lv->ects) + echo '
    '.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')'; + else + echo '
    '.$lv->bezeichnung.''; + } + else + { + // Bereits angemeldet + echo '
    '.$lv->bezeichnung.''; + } + } +/* else + { + // LV wird angeboten, Anmeldefenster ist aber nicht offen oder keine Gruppe zugeteilt + echo '
    '.$lv->bezeichnung.''; + }*/ + } + } + + if($anzahl>0) + echo '

    '; + else + echo '

    '.$p->t('studienplan/AnmeldungDerzeitNichtMoeglich'); + exit(); +} +echo ' + + + + '.$p->t('studienplan/studienplan').' + + + + + '; + + // 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 ''; + } + + // Wenn Seite fertig geladen ist Addons aufrufen + echo ' + + '; + +echo ' + + + +
    '.$p->t('studienplan/Anmeldung').'
    +'; + +if(isset($_POST['action']) && $_POST['action']=='anmeldung') +{ + $lehrveranstaltung_id = $_POST['lv']; + $stsem = $_POST['stsem']; + + $lvangebot = new lvangebot(); + $lvangebot->getAllFromLvId($lehrveranstaltung_id, $stsem); + + if(isset($lvangebot->result[0])) + { + if($lvangebot->result[0]->AnmeldungMoeglich()) + { + // Benutzer einschreiben + $bngruppe = new benutzergruppe(); + + if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) + { + + // Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind + $konto = new konto(); + $cp = $konto->getCreditPoints($uid, $stsem); + if($cp===false || $cp>=$lv->ects) + { + $bngruppe->uid = $uid; + $bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz; + $bngruppe->studiensemester_kurzbz = $stsem; + $bngruppe->new=true; + if($bngruppe->save()) + { + echo ''.$p->t('studienplan/einschreibungErfolgreich').''; + // Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird + echo ''; + } + } + else + echo ''.$p->t('studienplan/zuWenigCP').''; + } + else + { + echo ''.$p->t('studienplan/bereitsAngemeldet').''; + } + } + else + echo $lvangebot->result[0]->errormsg; + } + else + echo $p->t('studienplan/AnmeldungNichtMoeglich'); +} + +$db = new basis_db(); +$datum_obj = new datum(); +// Student Laden +$student = new student(); +$student->load($uid); + +// ersten Status holen +$prestudent = new prestudent(); +$prestudent->getFirstStatus($student->prestudent_id, 'Student'); + +$studiensemester_start = $prestudent->studiensemester_kurzbz; +$ausbildungssemester_start = $prestudent->ausbildungssemester; +$orgform_kurzbz = $prestudent->orgform_kurzbz; + +$prestudent->getLastStatus($student->prestudent_id, 'Student'); +$studienplan_id = $prestudent->studienplan_id; + +$studienplan = new studienplan(); +$studienplan->loadStudienplan($studienplan_id); + +// Studienplan laden +$lehrveranstaltung = new lehrveranstaltung(); +$lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id); +$tree = $lehrveranstaltung->getLehrveranstaltungTree(); + + +/* + Vom Semesterstart des Studierenden ausgehend werden die Studiensemester geladen. + Es werden mindestens so viele Studiensemester geladen wie die Regelstudiendauer des + Studienplanes angibt. +*/ +// Angezeigte Studiensemester holen +$stsem = new studiensemester(); +$stsem_arr[0]=$studiensemester_start; +$studiensemester_prev=$studiensemester_start; +for($i=1;$i<$studienplan->regelstudiendauer;$i++) +{ + $stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev); + $studiensemester_prev=$stsem_arr[$i]; +} + +/* + Wenn Studierende ueber der Regelstudiendauer hinaus studierenen, wird das aktuelle Studiensemester + nicht angezeigt. Deshalb wird in solchen faellen immer bis zum aktuellen+2 Studiensemester geladen. +*/ +$stsem_obj = new studiensemester(); +$aktornext = $stsem_obj->getaktorNext(); +$stsemToShow = $stsem_obj->jump($aktornext,2); + +if(!in_array($stsemToShow,$stsem_arr)) +{ + for($i=count($stsem_arr);$i<50;$i++) + { + if(!$stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev)) + { + unset($stsem_arr[$i]); + break; + } + $studiensemester_prev=$stsem_arr[$i]; + if($stsemToShow==$studiensemester_prev) + { + break; + } + } +} + +// Noten des Studierenden holen +$noten_arr=array(); +$zeugnisnote = new zeugnisnote(); +if($zeugnisnote->getZeugnisnoten('',$uid,'')) +{ + foreach($zeugnisnote->result as $row_note) + { + if($row_note->note!='') + { + $noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note; + } + } +} + +$note_pruef_arr = array(); +$note = new note(); +$note->getAll(); +foreach($note->result as $row_note) + $note_pruef_arr[$row_note->note]=$row_note; + +// LV Angebot holen +$lvangebot_arr = array(); +$lvangebot = new lvangebot(); +$lvangebot->getLVAngebotFromStudienplan($studienplan_id, $stsem_arr,true); +foreach($lvangebot->result as $row_lvangebot) + $lvangebot_arr[$row_lvangebot->lehrveranstaltung_id][$row_lvangebot->studiensemester_kurzbz]=$row_lvangebot; + +// LVs des Studienplans laden +$lv_arr = array(); +$lv = new lehrveranstaltung(); +$lv->loadLehrveranstaltungStudienplan($studienplan_id); +foreach($lv->lehrveranstaltungen as $row_lva) + $lv_arr[$row_lva->lehrveranstaltung_id]=$row_lva; + +echo '

    '.$p->t('studienplan/studienplan').": $studienplan->bezeichnung ($studienplan_id) - $student->vorname $student->nachname ( $student->uid )

    "; + +echo ' + + + '; + +if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) + echo ''; + +echo ' + '; + +foreach($stsem_arr as $stsem) +{ + echo ''; +} +echo ' + + + '; + +// Lehrveranstaltungen anzeigen +drawTree($tree,0); + +function drawTree($tree, $depth) +{ + global $uid, $stsem_arr, $noten_arr, $lvangebot_arr; + global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student; + + foreach($tree as $row_tree) + { + $style=''; + if(!empty($row_tree->childs)) + { + $bstart='';$bende=''; + $style=' style="background-color:#EEEEEE"'; + } + else + { + $bstart='';$bende=''; + } + + switch($row_tree->lehrtyp_kurzbz) + { + case 'modul': + $icon=' '; + $style=' style="background-color:#CCCCCC"'; + $termine=''; + break; + case 'lv': + $icon=' '; + $termine="Termine"; + break; + default: + $icon=''; + } + + + echo ' + '; + + // Semester + if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) + echo ''; + + // ECTS Punkte + echo ''; + + // Status der LV (absolviert, offen) + echo ''; + + // Spalten für die einzelnen Studiensemester + foreach($stsem_arr as $key=>$stsem) + { + $semester=$key+1; + + $tdclass=array(); + //Empfehlung holen +// if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) +// { +// $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; +// if($semester==$empfohlenesSemester) +// $tdclass[]='empfehlung'; +// } + + $tdinhalt=''; + + // Ist bereits eine Note für diese LV in diesem Stsem vorhanden? + if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem])) + { + if($note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->positiv) + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; + else + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; + } + elseif(count($kompatibleLVs) > 0) + { + $found = false; + $i = 0; + while(!$found && $i < count($kompatibleLVs)) + { + foreach($kompatibleLVs as $komp) + { + $anrechnung = new anrechnung(); + $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp); + + if(count($anrechnung->result) == 1) + { + $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel; + if(isset($noten_arr[$lv][$stsem])) + { + $found = true; + if($note_pruef_arr[$noten_arr[$lv][$stsem]]->positiv) + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.''; + else + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.''; + } + } + $i++; + } + + if(!$found) + { + $tdinhalt.= '-'; + } + } + } + else + { + // Angebot der LV und der Kompatiblen pruefen + $anmeldungmoeglich=false; + $angemeldet=false; + $semesterlock=false; + $regelerfuellt=true; + $anmeldeinformation=''; + $angebot_vorhanden=false; + + // Regeln Pruefen + $lvregel = new lvregel(); + + // Pruefen ob Semestersperre vorhanden ist + if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester)) + { + $semesterlock=true; + } + else + { + if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem)) + { + $regelerfuellt=false; + } + } + + foreach($lvkompatibel_arr as $row_lvid) + { + // Angebot der LV pruefen + if(isset($lvangebot_arr[$row_lvid]) + && isset($lvangebot_arr[$row_lvid][$stsem])) + { + $angebot_vorhanden=true; + // LV findet statt + $angebot = $lvangebot_arr[$row_lvid][$stsem]; + + if($angebot->gruppe_kurzbz!='') + { + // Pruefen ob bereits angemeldet + $bngruppe = new benutzergruppe(); + if($bngruppe->load($uid, $angebot->gruppe_kurzbz, $stsem)) + { + // Bereits angemeldet + $angemeldet=true; + } + } + + // Pruefen ob eine Anmeldung möglich ist + if($angebot->AnmeldungMoeglich()) + { + if(!$angemeldet) + $anmeldungmoeglich=true; + } + else + $anmeldeinformation.=$angebot->errormsg; + } + } + + if($semesterlock) + { + $tdinhalt.= ''; + } + else + { + if($angebot_vorhanden) + { + $tdclass[]='angebot'; + if($angemeldet) + { + $tdinhalt.= ''; + } + else + { + if($anmeldungmoeglich) + $tdinhalt.= ''; + else + $tdinhalt.= '-'; + + if(!$regelerfuellt) + $tdinhalt.= 'X'; + } + } + else + { + // LV wird nicht angeboten + $tdinhalt.= '-'; + } + } + } + $class=implode(' ',$tdclass); + echo ''; + } + echo ''; + + // Wenn Subtree vorhanden, dann anzeigen + if(!empty($row_tree->childs)) + drawTree($row_tree->childs, $depth+1); + } +} +echo '
    '.$p->t('global/lehrveranstaltung').''.$p->t('global/semester').''.$p->t('studienplan/ects').''.$p->t('studienplan/status').''; + + echo $stsem; + $konto = new konto(); + $cp = $konto->getCreditPoints($uid, $stsem); + if($cp!==false) + echo '
    Information
    '; + echo '
    '.$bstart; + + // Einrückung für Subtree + for($i=0;$i<$depth;$i++) + echo '    '; + + $lvkompatibel = new lehrveranstaltung(); + $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); + $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id; + + $abgeschlossen=false; + $lvregel = new lvregel(); + if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id)) + { + if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id)) + $abgeschlossen=true; + else + $abgeschlossen=false; + } + $lvinfo = new lvinfo(); + switch(getSprache()) + { + case 'German': + $sprache = 'de'; + break; + case 'English': + $sprache = 'en'; + break; + default: + $sprache = 'de'; + } + if($lvinfo->exists($row_tree->lehrveranstaltung_id, getSprache())) + echo $icon." ".$termine." lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.""; + else + // Bezeichnung der Lehrveranstaltung + echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.'('.$row_tree->lehrveranstaltung_id.')'; + echo $bende.''.$row_tree->semester.''.$row_tree->ects.''; + + // Note zu dieser LV vorhanden? + + $lv_kompatibel = new lehrveranstaltung(); + $kompatibleLVs = $lv_kompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); + + if(isset($noten_arr[$row_tree->lehrveranstaltung_id])) + { + // Positive Note fuer diese LV vorhanden? + $positiv=false; + foreach($noten_arr[$row_tree->lehrveranstaltung_id] as $note) + { + if($note_pruef_arr[$note]->positiv) + $positiv=true; + } + + if($positiv) + echo ''.$p->t('studienplan/abgeschlossen').''; + else + echo ''.$p->t('studienplan/negativ').''; + } + //check if compatible course has grade + elseif(count($kompatibleLVs) > 0) + { + $positiv = false; + $found = false; + $i = 0; + while(!$found && $i < count($kompatibleLVs)) + { + foreach($kompatibleLVs as $komp) + { + + $anrechnung = new anrechnung(); + $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp); + + if(count($anrechnung->result) == 1) + { + $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel; + if(isset($noten_arr[$lv])) + { + $positiv=false; + foreach($noten_arr[$lv] as $note) + { + if($note_pruef_arr[$note]->positiv) + $positiv=true; + } + + $found = true; + } + else + { + /* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert + * darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde + */ + if(!$found) + $found = false; + } + } + $i++; + } + } + + if($found) + { + if($positiv) + echo ''.$p->t('studienplan/abgeschlossen').''; + else + echo ''.$p->t('studienplan/negativ').''; + } + elseif(!$found) + { + if($abgeschlossen) + echo ''.$p->t('studienplan/regelabgeschlossen'),''; + elseif(!$row_tree->stpllv_pflicht) + echo ''.$p->t('studienplan/optional').''; + else + echo ''.$p->t('studienplan/offen').''; + } + } + else + { + if($abgeschlossen) + echo ''.$p->t('studienplan/regelabgeschlossen'),''; + elseif(!$row_tree->stpllv_pflicht) + echo ''.$p->t('studienplan/optional').''; + else + echo ''.$p->t('studienplan/offen').''; + } + echo ''; + echo $tdinhalt; + echo '
    '; +echo '

    '.$p->t('studienplan/legende').':
    + + + + + + + + + + + + + + + + + + + + + + +
          '.$p->t('studienplan/legendeLVwirdAngeboten').'
    '.$p->t('studienplan/Anmeldung').'
    '.$p->t('studienplan/legendeAngemeldet').'
    '.$p->t('studienplan/legendeLock').'
    +'; + +echo ' +'; +?> diff --git a/cis/private/profile/zahlungen.php b/cis/private/profile/zahlungen.php index d2330e066..c1ab84f38 100644 --- a/cis/private/profile/zahlungen.php +++ b/cis/private/profile/zahlungen.php @@ -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 ' @@ -41,7 +61,25 @@ '.$p->t('tools/zahlungen').' + + + + '; $studiengang = new studiengang(); @@ -68,22 +106,23 @@ $konto->getBuchungen($benutzer->person_id); if(count($konto->result)>0) { - echo '

    '; - echo ''; + echo '

    '; + echo ''; echo ' - - - - - - - '; - echo ''; - $i=0; + + + + + + + '; + echo ''; + 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 ""; + echo ''; + echo ''; + echo ''; + echo ''; - echo ""; - echo ''; - echo ''; - echo ''; - echo ''; - - echo ''; - echo ''; - echo ''; + echo ''; + echo ''; } echo ''; } - echo '
    '.$p->t('global/datum').''.$p->t('tools/zahlungstyp').''.$p->t('lvplan/stg').''.$p->t('global/studiensemester').''.$p->t('tools/buchungstext').''.$p->t('tools/betrag').''.$p->t('tools/zahlungsbestaetigung').'
    '.$p->t('global/datum').''.$p->t('tools/zahlungstyp').''.$p->t('lvplan/stg').''.$p->t('global/studiensemester').''.$p->t('tools/buchungstext').''.$p->t('tools/betrag').''.$p->t('tools/zahlungsbestaetigung').'
    '.date('d.m.Y',$datum_obj->mktime_fromdate(isset($row['childs'][$i])?$row['childs'][$i]->buchungsdatum:$row['parent']->buchungsdatum)).''.$buchungstyp[$row['parent']->buchungstyp_kurzbz].''.$stg_arr[$row['parent']->studiengang_kz].''.$row['parent']->studiensemester_kurzbz.'
    '.date('d.m.Y',$datum_obj->mktime_fromdate($row['parent']->buchungsdatum)).''.$buchungstyp[$row['parent']->buchungstyp_kurzbz].''.$stg_arr[$row['parent']->studiengang_kz].''.$row['parent']->studiensemester_kurzbz.''.$row['parent']->buchungstext.''.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €'; + echo ''.$row['parent']->buchungstext.''.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €'; if($betrag==0 && $row['parent']->betrag<=0) - echo ''.$p->t('tools/bestaetigungDrucken').''; + echo ''.$p->t('tools/bestaetigungDrucken').''; elseif($row['parent']->betrag>0) { //Auszahlung } else - { { echo ''.$p->t('tools/offen').' ('.sprintf('%.2f',$betrag*-1).' €)'; - } + echo '
    '; + echo ''; } else { diff --git a/cis/private/profile/zahlungen_details.php b/cis/private/profile/zahlungen_details.php index 621c98c41..a6d35cc72 100644 --- a/cis/private/profile/zahlungen_details.php +++ b/cis/private/profile/zahlungen_details.php @@ -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)) diff --git a/cis/private/profile/zeitsperre.php b/cis/private/profile/zeitsperre.php index 9e486d651..00b131129 100644 --- a/cis/private/profile/zeitsperre.php +++ b/cis/private/profile/zeitsperre.php @@ -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']; diff --git a/cis/private/profile/zeitsperre_days.php b/cis/private/profile/zeitsperre_days.php index 8d9eead97..302d625c4 100644 --- a/cis/private/profile/zeitsperre_days.php +++ b/cis/private/profile/zeitsperre_days.php @@ -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)); diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index b3f3fdb68..b093f8ea8 100755 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -724,8 +724,6 @@ if($projekt->getProjekteMitarbeiter($user, true)) echo '"; 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 '\n"; + echo '\n"; } } echo " diff --git a/cis/public/incoming/incoming.php b/cis/public/incoming/incoming.php index 52666ae88..01d57cfdf 100644 --- a/cis/public/incoming/incoming.php +++ b/cis/public/incoming/incoming.php @@ -19,16 +19,14 @@ * Andreas Oesterreicher and * Karl Burkhart . */ - - require_once '../../../config/cis.config.inc.php'; require_once 'auth.php'; require_once '../../../include/mobilitaetsprogramm.class.php'; -require_once '../../../include/person.class.php'; +require_once '../../../include/person.class.php'; require_once '../../../include/functions.inc.php'; require_once '../../../include/phrasen.class.php'; require_once '../../../include/preincoming.class.php'; -require_once '../../../include/nation.class.php'; +require_once '../../../include/nation.class.php'; require_once '../../../include/adresse.class.php'; require_once '../../../include/kontakt.class.php'; require_once '../../../include/studiensemester.class.php'; @@ -36,55 +34,56 @@ require_once '../../../include/studiengang.class.php'; require_once '../../../include/lehrveranstaltung.class.php'; require_once '../../../include/studiengang.class.php'; require_once '../../../include/akte.class.php'; -require_once '../../../include/datum.class.php'; -require_once '../../../include/firma.class.php'; +require_once '../../../include/datum.class.php'; +require_once '../../../include/firma.class.php'; +require_once '../../../include/addon.class.php'; if(isset($_GET['lang'])) setSprache($_GET['lang']); - -$sprache = getSprache(); -$p=new phrasen($sprache); - -$method =""; -$breadcrumb = ""; + +$sprache = getSprache(); +$p=new phrasen($sprache); + +$method =""; +$breadcrumb = ""; if(isset($_GET['method'])) { - $method = htmlspecialchars($_GET['method']); + $method = htmlspecialchars($_GET['method']); if($method == 'austauschprogram') $breadcrumb = "> ".$p->t('incoming/austauschprogram'); - elseif($method == 'profil') + elseif($method == 'profil') $breadcrumb = "> ".$p->t('incoming/profil'); elseif($method == 'university') - $breadcrumb = "> ".$p->t('incoming/universitaet'); + $breadcrumb = "> ".$p->t('incoming/universitaet'); elseif($method == 'lehrveranstaltungen') - $breadcrumb = "> ".$p->t('incoming/lehrveranstaltungen'); + $breadcrumb = "> ".$p->t('incoming/lehrveranstaltungen'); elseif($method == 'files') $breadcrumb = "> ".$p->t('incoming/dateien'); } -$zugangscode = $_SESSION['incoming/user']; +$zugangscode = $_SESSION['incoming/user']; -$nation = new nation(); +$nation = new nation(); if($sprache == "German") - $nation->getAll($ohnesperre = true); + $nation->getAll($ohnesperre = true); else if($sprache == "English") $nation->getAll($ohnesperre = true, $orderEnglish= true); - -$mobility = new mobilitaetsprogramm(); -$mobility->getAll(true); -$person = new person(); -$person->getPersonFromZugangscode($zugangscode); +$mobility = new mobilitaetsprogramm(); +$mobility->getAll(true); -$preincoming = new preincoming(); -$preincoming->load($_SESSION['incoming/preincomingid']); +$person = new person(); +$person->getPersonFromZugangscode($zugangscode); -$adresse = new adresse(); -$adresse->load_pers($preincoming->person_id); +$preincoming = new preincoming(); +$preincoming->load($_SESSION['incoming/preincomingid']); -$kontakt = new kontakt(); -$kontakt->load_pers($preincoming->person_id); +$adresse = new adresse(); +$adresse->load_pers($preincoming->person_id); + +$kontakt = new kontakt(); +$kontakt->load_pers($preincoming->person_id); $db = new basis_db(); @@ -94,9 +93,9 @@ $stsem->getNextStudiensemester(); $stg = new studiengang(); $stg->getAll(); -$date = new datum(); +$date = new datum(); -$firma = new firma(); +$firma = new firma(); $firma->getFirmen('Partneruniversität'); ?> @@ -108,6 +107,32 @@ $firma->getFirmen('Partneruniversität'); +loadAddons(); +foreach($addon_obj->result as $addon) +{ + if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) + echo ''; +} + +// Wenn Seite fertig geladen ist Addons aufrufen +echo ' + +'; +?> - +
    Administration titelpre." ".$person->vorname." ".$person->nachname." ".$person->titelpost?> - t("global/sprache")." "; - echo ''.$p->t("global/englisch").' | + echo ''.$p->t("global/englisch").' | '.$p->t("global/deutsch").'
    ';?>
    -von = $date->formatDatum($_REQUEST['von'],'Y-m-d'); - $preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d'); - $preincoming->code = $_REQUEST['code']; + $preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d'); + $preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d'); + $preincoming->code = $_REQUEST['code']; if($_REQUEST['austausch_kz']== "austausch_auswahl") - $preincoming->mobilitaetsprogramm_code = ''; + $preincoming->mobilitaetsprogramm_code = ''; else - $preincoming->mobilitaetsprogramm_code = $_REQUEST['austausch_kz']; + $preincoming->mobilitaetsprogramm_code = $_REQUEST['austausch_kz']; $preincoming->updateamum = date('Y-m-d H:i:s'); if(!$preincoming->save()) - echo $preincoming->errormsg; - else - echo $p->t('global/erfolgreichgespeichert'); - } + echo $preincoming->errormsg; + else + echo $p->t('global/erfolgreichgespeichert'); + } // Ausgabe Austauschprogram Formular echo '
    @@ -171,15 +196,22 @@ if($method =="austauschprogram") - @@ -209,10 +241,10 @@ if($method =="austauschprogram") - +
    '.$p->t('incoming/austauschprgramwählen').'
    * '.$p->t('incoming/wennVorhanden').'
    -'; +'; } else if($method=="lehrveranstaltungen") { @@ -220,22 +252,22 @@ else if($method=="lehrveranstaltungen") { // speichern der LV-ID if($_GET['mode']=="add") { - $id= $_GET['id']; - + $id= $_GET['id']; + if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s'))) - echo $p->t('global/erfolgreichgespeichert'); + echo $p->t('global/erfolgreichgespeichert'); else - echo $p->t('global/fehleraufgetreten'); + echo $p->t('global/fehleraufgetreten'); } // löschen der LV-ID if($_GET['mode'] == "delete") { - $id= $_GET['id']; - + $id= $_GET['id']; + if($preincoming->deleteLehrveranstaltung($preincoming->preincoming_id, $_GET['id'])) - echo $p->t('global/erfolgreichgelöscht'); + echo $p->t('global/erfolgreichgelöscht'); else - echo $p->t('global/fehleraufgetreten'); + echo $p->t('global/fehleraufgetreten'); } } if(isset($_GET['mode']) && $_GET['mode'] == "thesis") @@ -285,7 +317,7 @@ else if($method=="lehrveranstaltungen") if($_GET['type']=='deutschkurs2') $preincoming->deutschkurs2=false; if($_GET['type']=='deutschkurs3') - $preincoming->deutschkurs3=false; + $preincoming->deutschkurs3=false; if(!$preincoming->save(false)) echo $preincoming->errormsg; } @@ -295,7 +327,7 @@ else if($method=="lehrveranstaltungen") { if($_GET['view']=="own") { - $lvs = $preincoming->getLehrveranstaltungen($preincoming->preincoming_id); + $lvs = $preincoming->getLehrveranstaltungen($preincoming->preincoming_id); echo '


    @@ -305,8 +337,8 @@ else if($method=="lehrveranstaltungen") -
     
    '; - + '; + /* Wird laut Telefonat mit Giedre Jukneviciute am 14.10.2015 derzeit nicht benötigt und soll daher ausgeblendet werden. if($preincoming->deutschkurs1 || $preincoming->deutschkurs2 || $preincoming->deutschkurs3) { @@ -328,7 +360,7 @@ else if($method=="lehrveranstaltungen") echo ''.$p->t('incoming/deutschkurs3').''; echo ''; } - + //Deutschkurs1 if($preincoming->deutschkurs1) { @@ -348,8 +380,8 @@ else if($method=="lehrveranstaltungen") echo '

    '; }*/ - - + + echo ' @@ -366,17 +398,18 @@ else if($method=="lehrveranstaltungen") '; foreach($lvs as $lv) { - $lehrveranstaltung = new lehrveranstaltung(); - $lehrveranstaltung->load($lv); - $studiengang = new studiengang(); + $lehrveranstaltung = new lehrveranstaltung(); + $lehrveranstaltung->load($lv); + $studiengang = new studiengang(); $studiengang->load($lehrveranstaltung->studiengang_kz); - $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; - $typ = $studiengang->typ; + $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; + $typ = $studiengang->typ; if ($studiengang->typ == 'b') $typ = 'BA'; else if ($studiengang->typ == 'm') - $typ = 'MA'; + $typ = 'MA'; echo ''; + echo ''; echo ''; echo ''; echo ''; @@ -392,9 +425,9 @@ else if($method=="lehrveranstaltungen") } } // Übersicht aller LVs - else + else { - echo '


    + echo '


    '.$lehrveranstaltung->lehrveranstaltung_id.' '.$p->t('global/löschen').'',$studiengang_language,'',$typ,'
    @@ -403,7 +436,7 @@ else if($method=="lehrveranstaltungen")


    '; - + /* Wird laut Telefonat mit Giedre Jukneviciute am 14.10.2015 derzeit nicht benötigt und soll daher ausgeblendet werden. //Uebersicht Deutschkurse echo ' @@ -439,11 +472,11 @@ else if($method=="lehrveranstaltungen") echo ''; echo ''; - - + + echo '
    '.$p->t('incoming/deutschkurs2').'


    ';*/ - - + + /*echo ' @@ -481,7 +514,7 @@ else if($method=="lehrveranstaltungen")


    ';*/ - + echo '
    @@ -493,19 +526,19 @@ else if($method=="lehrveranstaltungen")
    '.$p->t('incoming/filter').': - '; - + // Vorauswahl der Übergebenen Filter $WSemesterSelected = ''; $SSemesterSelected = ''; - + if(isset($_GET['filter'])) if($_GET['filter'] == 'WSemester') $WSemesterSelected ='selected'; elseif($_GET['filter']=='SSemester') $SSemesterSelected='selected'; - + echo ''; echo ''; @@ -513,46 +546,47 @@ else if($method=="lehrveranstaltungen") echo'
    '; echo $p->t('courseInformation/unterrichtssprache').':
    '; echo $p->t('global/studiengang').':'; echo '
    - + - + +


    '; - + // Filter für Semester setzen $filterqry = ''; - + if(isset($_GET['filter'])) if($_GET['filter'] == "WSemester") $filterqry= " AND tbl_lehrveranstaltung.semester IN (1,3,5)"; elseif($_GET['filter'] == "SSemester") $filterqry= " AND tbl_lehrveranstaltung.semester IN (2,4,6)"; - + if(isset($_GET['unterrichtssprache']) && $_GET['unterrichtssprache']!='') $filterqry .= " AND tbl_lehrveranstaltung.sprache='".$_GET['unterrichtssprache']."'"; - + //Uebersicht LVs - $qry = "SELECT - tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects, + /* Erklaerung der Datumszeitraeume ab Zeile 650: + * |=============== Studiensemester ===============| + * |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS + * |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS + * |------------------------------| Incoming ist innerhalb oder GENAU SS da + * |------------------------------------------------------| Incoming ist VOR SS-Anfang und NACH SS-Ende da, jedoch ueberwiegend ueberlappend mit SS + * --------------------------------------------------------- Von und Bis ist NULL + * -------------------| Von ist NULL und bis innerhalb SS + * |----------------------- Bis ist NULL und von innerhalb SS + */ + + $qry = "SELECT + tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache, tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz, ( - Select count(*) + Select count(*) FROM ( SELECT person_id - FROM - campus.vw_student_lehrveranstaltung + FROM + campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer using(uid) - JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_student ON(uid=student_uid) JOIN public.tbl_prestudentstatus USING(prestudent_id) WHERE - lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND + lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit - WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') AND tbl_prestudentstatus.status_kurzbz='Incoming' AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' UNION - SELECT - person_id - FROM - public.tbl_preincoming_lehrveranstaltung - JOIN public.tbl_preincoming using(preincoming_id) - WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND - (von is null OR von <= '$stsem->start') - AND - (bis is null OR bis >= (DATE '$stsem->ende')) - AND aktiv = true - )a ) as anzahl - FROM - lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz) - WHERE + SELECT + person_id + FROM + public.tbl_preincoming_lehrveranstaltung + JOIN public.tbl_preincoming using(preincoming_id) + WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND + ( + (bis - '$stsem->start' > '$stsem->start' - von) OR + ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR + (von >= '$stsem->start' AND bis <= '$stsem->ende') OR + (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (von IS NULL AND bis IS NULL) OR + (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR + (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + ) + AND aktiv = true + )a ) as anzahl + FROM + lehre.tbl_lehrveranstaltung + JOIN + public.tbl_studiengang USING(studiengang_kz) + WHERE tbl_lehrveranstaltung.incoming>0 AND tbl_lehrveranstaltung.aktiv AND - tbl_lehrveranstaltung.lehre - AND tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000"; - + tbl_lehrveranstaltung.lehre AND + tbl_lehrveranstaltung.lehrveranstaltung_id IN ( + SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan USING (studienplan_id) + JOIN lehre.tbl_studienordnung USING (studienordnung_id) + WHERE tbl_studienordnung.status_kurzbz='approved' + AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id) AND + ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)"; + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') $qry .= "AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; - + $qry .= "AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz "; @@ -653,19 +712,24 @@ else if($method=="lehrveranstaltungen") while($row = $db->db_fetch_object($result)) { $freieplaetze = $row->incoming - $row->anzahl; - if($freieplaetze>0) - { - $studiengang = new studiengang(); + //if($freieplaetze>0) + //{ + $studiengang = new studiengang(); $studiengang->load($row->studiengang_kz); - $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; - $typ = $studiengang->typ; + $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; + $typ = $studiengang->typ; if ($studiengang->typ == 'b') $typ = 'BA'; else if ($studiengang->typ == 'm') - $typ = 'MA'; + $typ = 'MA'; + else + $typ = '-'; echo ''; - if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id)) + echo ''.$row->lehrveranstaltung_id.''; + if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0) echo ''.$p->t('global/anmelden').''; + elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze==0) + echo ''.$p->t('incoming/noVacancies').''; else echo ''.$p->t('global/angemeldet').''; echo '',$studiengang_language,''; @@ -682,124 +746,124 @@ else if($method=="lehrveranstaltungen") '; echo '',($freieplaetze<$row->incoming?''.$freieplaetze.'/'.$row->incoming.'':$freieplaetze.'/'.$row->incoming),''; echo ''; - } + //} } } echo ''; } } else if ($method == "university") -{ +{ // Wenn Coordinatoren gespeichert sind, gleich laden - $depCoordinator = new person(); + $depCoordinator = new person(); if($preincoming->person_id_coordinator_dep != "") - $depCoordinator->load($preincoming->person_id_coordinator_dep); + $depCoordinator->load($preincoming->person_id_coordinator_dep); - $intCoordinator = new person(); + $intCoordinator = new person(); if($preincoming->person_id_coordinator_int != "") - $intCoordinator->load($preincoming->person_id_coordinator_int); - + $intCoordinator->load($preincoming->person_id_coordinator_int); + // Speichern des Formulares if(isset($_POST['submit_program'])) { if(isset($_REQUEST['universitaet'])) { // Textfeld speichern - $preincoming->universitaet = $_REQUEST['universitaet']; + $preincoming->universitaet = $_REQUEST['universitaet']; $preincoming->updateamum = date('Y-m-d H:i:s'); } if($_REQUEST['firma'] != 'firma_auswahl') { // Firma aus DropDownliste speichern - $preincoming->firma_id = $_REQUEST['firma']; + $preincoming->firma_id = $_REQUEST['firma']; $preincoming->updateamum = date('Y-m-d H:i:s'); } else { // Firma aus DropDownliste löschen - $preincoming->firma_id = ""; + $preincoming->firma_id = ""; $preincoming->updateamum = date('Y-m-d H:i:s'); } - - $preincoming->program_name = $_REQUEST['name_of_program']; - $preincoming->jahre = $_REQUEST['jahre']; + + $preincoming->program_name = $_REQUEST['name_of_program']; + $preincoming->jahre = $_REQUEST['jahre']; if(isset($_REQUEST['bachelor'])) - $preincoming->bachelor = true; + $preincoming->bachelor = true; else - $preincoming->bachelor = false; + $preincoming->bachelor = false; if(isset($_REQUEST['master'])) - $preincoming->master = true; + $preincoming->master = true; else - $preincoming->master = false; - + $preincoming->master = false; + if(!$preincoming->save()) - echo $preincoming->errormsg; - + echo $preincoming->errormsg; + // Department Coordinator bearbeiten if($_REQUEST['dep_coordinator_id'] == "" && $_REQUEST['nachname_coordinator'] != "") { // Department Coordinator Person neu anlegen - $depCoordinator->vorname = $_REQUEST['vorname_coordinator']; - $depCoordinator->nachname = $_REQUEST['nachname_coordinator']; - $depCoordinator->geschlecht = "u"; - $depCoordinator->new = true; - $depCoordinator->aktiv = true; + $depCoordinator->vorname = $_REQUEST['vorname_coordinator']; + $depCoordinator->nachname = $_REQUEST['nachname_coordinator']; + $depCoordinator->geschlecht = "u"; + $depCoordinator->new = true; + $depCoordinator->aktiv = true; $depCoordinator->updateamum = date('Y-m-d H:i:s'); $depCoordinator->insertamum = date('Y-m-d H:i:s'); - + if(!$depCoordinator->save()) { - echo $depCoordinator->errormsg; + echo $depCoordinator->errormsg; die($p->t('global/fehleraufgetreten')); } - + // in preincoming speichern - $preincoming->person_id_coordinator_dep = $depCoordinator->person_id; + $preincoming->person_id_coordinator_dep = $depCoordinator->person_id; $preincoming->updateamum = date('Y-m-d H:i:s'); - $preincoming->save(); + $preincoming->save(); } else if ($_REQUEST['dep_coordinator_id'] != "" && $_REQUEST['nachname_coordinator'] == "" && $_REQUEST['vorname_coordinator'] == "") { // löscht die Department Coordinator Person $preincoming->person_id_coordinator_dep = ""; if(!$preincoming->save()) - die($preincoming->errormsg); - + die($preincoming->errormsg); + if(!$depCoordinator->delete($_REQUEST['dep_coordinator_id'])) { - echo $depCoordinator->errormsg; + echo $depCoordinator->errormsg; die($p->t('global/fehleraufgetreten')); - } + } } else if($_REQUEST['dep_coordinator_id'] != "") { // Department Coordinator Person updaten - $depCoordinator->load($_REQUEST['dep_coordinator_id']); - $depCoordinator->vorname = $_REQUEST['vorname_coordinator']; - $depCoordinator->nachname = $_REQUEST['nachname_coordinator']; + $depCoordinator->load($_REQUEST['dep_coordinator_id']); + $depCoordinator->vorname = $_REQUEST['vorname_coordinator']; + $depCoordinator->nachname = $_REQUEST['nachname_coordinator']; $depCoordinator->updateamum = date('Y-m-d H:i:s'); - $depCoordinator->new = false; + $depCoordinator->new = false; if(!$depCoordinator->save()) { - echo $depCoordinator->errormsg; - die($p->t('global/fehleraufgetreten')); - } + echo $depCoordinator->errormsg; + die($p->t('global/fehleraufgetreten')); + } } // Department Coordinator Kontakt - $kontakt = new kontakt(); - // wenn textbox != "" hidden_id == "" + $kontakt = new kontakt(); + // wenn textbox != "" hidden_id == "" if($_REQUEST['email_coordinator'] != "" && $_REQUEST['dep_coordinator_emailId']== "") { { // Email-Kontakt neu anlegen - $kontakt->person_id = $depCoordinator->person_id; - $kontakt->kontakttyp = "email"; - $kontakt->kontakt = $_REQUEST['email_coordinator']; - $kontakt->new = true; - + $kontakt->person_id = $depCoordinator->person_id; + $kontakt->kontakttyp = "email"; + $kontakt->kontakt = $_REQUEST['email_coordinator']; + $kontakt->new = true; + if(!$kontakt->save()) { - echo $kontakt->errormsg; + echo $kontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } @@ -809,21 +873,21 @@ else if ($method == "university") // lösche Email-Kontakt if(!$kontakt->delete($_REQUEST['dep_coordinator_emailId'])) { - die($kontakt->errormsg); + die($kontakt->errormsg); } } else if($_REQUEST['dep_coordinator_emailId']!= "") { // Update Email-Kontakt - $kontakt->person_id = $depCoordinator->person_id; - $kontakt->kontakttyp = "email"; - $kontakt->kontakt = $_REQUEST['email_coordinator']; - $kontakt->kontakt_id = $_REQUEST['dep_coordinator_emailId']; - $kontakt->new = false; - + $kontakt->person_id = $depCoordinator->person_id; + $kontakt->kontakttyp = "email"; + $kontakt->kontakt = $_REQUEST['email_coordinator']; + $kontakt->kontakt_id = $_REQUEST['dep_coordinator_emailId']; + $kontakt->new = false; + if(!$kontakt->save()) { - echo $kontakt->errormsg; + echo $kontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } @@ -831,51 +895,51 @@ else if ($method == "university") if($_REQUEST['fax_coordinator'] != "" && $_REQUEST['dep_coordinator_faxId']== "") { // Neu anlegen - $kontakt->person_id = $depCoordinator->person_id; - $kontakt->kontakttyp = "fax"; - $kontakt->kontakt = $_REQUEST['fax_coordinator']; - $kontakt->new = true; - + $kontakt->person_id = $depCoordinator->person_id; + $kontakt->kontakttyp = "fax"; + $kontakt->kontakt = $_REQUEST['fax_coordinator']; + $kontakt->new = true; + if(!$kontakt->save()) { - echo $kontakt->errormsg; + echo $kontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } - // wenn id vorhanden und Textbox == "" löschen + // wenn id vorhanden und Textbox == "" löschen else if(($_REQUEST['fax_coordinator'] == "" && $_REQUEST['dep_coordinator_faxId']!= "")) { // lösche Kontakt if(!$kontakt->delete($_REQUEST['dep_coordinator_faxId'])) - die("$kontakt->errormsg"); + die("$kontakt->errormsg"); } else if($_REQUEST['dep_coordinator_faxId']!= "") { // Update - $kontakt->person_id = $depCoordinator->person_id; - $kontakt->kontakttyp = "fax"; - $kontakt->kontakt = $_REQUEST['fax_coordinator']; - $kontakt->kontakt_id = $_REQUEST['dep_coordinator_faxId']; - $kontakt->new = false; - + $kontakt->person_id = $depCoordinator->person_id; + $kontakt->kontakttyp = "fax"; + $kontakt->kontakt = $_REQUEST['fax_coordinator']; + $kontakt->kontakt_id = $_REQUEST['dep_coordinator_faxId']; + $kontakt->new = false; + if(!$kontakt->save()) { - echo $kontakt->errormsg; + echo $kontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } - + if($_REQUEST['telefon_coordinator'] != "" && $_REQUEST['dep_coordinator_telefonId']== "") { // Neu anlegen - $kontakt->person_id = $depCoordinator->person_id; - $kontakt->kontakttyp = "telefon"; - $kontakt->kontakt = $_REQUEST['telefon_coordinator']; - $kontakt->new = true; - + $kontakt->person_id = $depCoordinator->person_id; + $kontakt->kontakttyp = "telefon"; + $kontakt->kontakt = $_REQUEST['telefon_coordinator']; + $kontakt->new = true; + if(!$kontakt->save()) { - echo $kontakt->errormsg; + echo $kontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } @@ -884,85 +948,85 @@ else if ($method == "university") // lösche Kontakt if(!$kontakt->delete($_REQUEST['dep_coordinator_telefonId'])) { - die("$kontakt->errormsg"); + die("$kontakt->errormsg"); } }else if($_REQUEST['dep_coordinator_telefonId']!= "") { // Update - $kontakt->person_id = $depCoordinator->person_id; - $kontakt->kontakttyp = "telefon"; - $kontakt->kontakt = $_REQUEST['telefon_coordinator']; - $kontakt->kontakt_id = $_REQUEST['dep_coordinator_telefonId']; - $kontakt->new = false; - + $kontakt->person_id = $depCoordinator->person_id; + $kontakt->kontakttyp = "telefon"; + $kontakt->kontakt = $_REQUEST['telefon_coordinator']; + $kontakt->kontakt_id = $_REQUEST['dep_coordinator_telefonId']; + $kontakt->new = false; + if(!$kontakt->save()) { - echo $kontakt->errormsg; + echo $kontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } - + // International Coordinator bearbeiten if($_REQUEST['int_coordinator_id'] == "" && $_REQUEST['nachname_intcoordinator'] != "") { // Department Coordinator Person - $intCoordinator->vorname = $_REQUEST['vorname_intcoordinator']; - $intCoordinator->nachname = $_REQUEST['nachname_intcoordinator']; - $intCoordinator->geschlecht = "u"; - $intCoordinator->new = true; - $intCoordinator->aktiv = true; - + $intCoordinator->vorname = $_REQUEST['vorname_intcoordinator']; + $intCoordinator->nachname = $_REQUEST['nachname_intcoordinator']; + $intCoordinator->geschlecht = "u"; + $intCoordinator->new = true; + $intCoordinator->aktiv = true; + if(!$intCoordinator->save()) { - echo $intCoordinator->errormsg; + echo $intCoordinator->errormsg; die($p->t('global/fehleraufgetreten')); } - + // in preincoming speichern - $preincoming->person_id_coordinator_int = $intCoordinator->person_id; - $preincoming->save(); + $preincoming->person_id_coordinator_int = $intCoordinator->person_id; + $preincoming->save(); } else if ($_REQUEST['int_coordinator_id'] != "" && $_REQUEST['nachname_intcoordinator'] == "" && $_REQUEST['vorname_intcoordinator'] == "") { // löscht die Department Coordinator Person $preincoming->person_id_coordinator_int = ""; if(!$preincoming->save()) - echo $preincoming->errormsg; + echo $preincoming->errormsg; if(!$intCoordinator->delete($_REQUEST['int_coordinator_id'])) { - echo $intCoordinator->errormsg; + echo $intCoordinator->errormsg; die($p->t('global/fehleraufgetreten')); } - + } else if($_REQUEST['int_coordinator_id'] != "") { // Person updaten - $intCoordinator->load($_REQUEST['int_coordinator_id']); - $intCoordinator->vorname = $_REQUEST['vorname_intcoordinator']; - $intCoordinator->nachname = $_REQUEST['nachname_intcoordinator']; - $intCoordinator->new = false; + $intCoordinator->load($_REQUEST['int_coordinator_id']); + $intCoordinator->vorname = $_REQUEST['vorname_intcoordinator']; + $intCoordinator->nachname = $_REQUEST['nachname_intcoordinator']; + $intCoordinator->new = false; if(!$intCoordinator->save()) { - echo $intCoordinator->errormsg; - die($p->t('global/fehleraufgetreten')); - } + echo $intCoordinator->errormsg; + die($p->t('global/fehleraufgetreten')); + } } - - $intkontakt = new kontakt(); - // wenn textbox != "" hidden_id == "" + + $intkontakt = new kontakt(); + // wenn textbox != "" hidden_id == "" if($_REQUEST['email_intcoordinator'] != "" && $_REQUEST['int_coordinator_emailId']== "") { { // Neu anlegen - $intkontakt->person_id = $intCoordinator->person_id; - $intkontakt->kontakttyp = "email"; - $intkontakt->kontakt = $_REQUEST['email_intcoordinator']; - $intkontakt->new = true; - + $intkontakt->person_id = $intCoordinator->person_id; + $intkontakt->kontakttyp = "email"; + $intkontakt->kontakt = $_REQUEST['email_intcoordinator']; + $intkontakt->new = true; + if(!$intkontakt->save()) { - echo $intkontakt->errormsg; + echo $intkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } @@ -972,37 +1036,37 @@ else if ($method == "university") // lösche Kontakt if(!$intkontakt->delete($_REQUEST['int_coordinator_emailId'])) { - die("$intkontakt->errormsg"); + die("$intkontakt->errormsg"); } } else if($_REQUEST['int_coordinator_emailId']!= "") { // Update - $intkontakt->person_id = $intCoordinator->person_id; - $intkontakt->kontakttyp = "email"; - $intkontakt->kontakt = $_REQUEST['email_intcoordinator']; - $intkontakt->kontakt_id = $_REQUEST['int_coordinator_emailId']; - $intkontakt->new = false; - + $intkontakt->person_id = $intCoordinator->person_id; + $intkontakt->kontakttyp = "email"; + $intkontakt->kontakt = $_REQUEST['email_intcoordinator']; + $intkontakt->kontakt_id = $_REQUEST['int_coordinator_emailId']; + $intkontakt->new = false; + if(!$intkontakt->save()) { - echo $intkontakt->errormsg; + echo $intkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } - + if($_REQUEST['telefon_intcoordinator'] != "" && $_REQUEST['int_coordinator_telefonId']== "") { { // Neu anlegen - $intkontakt->person_id = $intCoordinator->person_id; - $intkontakt->kontakttyp = "telefon"; - $intkontakt->kontakt = $_REQUEST['telefon_intcoordinator']; - $intkontakt->new = true; - + $intkontakt->person_id = $intCoordinator->person_id; + $intkontakt->kontakttyp = "telefon"; + $intkontakt->kontakt = $_REQUEST['telefon_intcoordinator']; + $intkontakt->new = true; + if(!$intkontakt->save()) { - echo $intkontakt->errormsg; + echo $intkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } @@ -1012,37 +1076,37 @@ else if ($method == "university") // lösche Kontakt if(!$intkontakt->delete($_REQUEST['int_coordinator_telefonId'])) { - die("$intkontakt->errormsg"); + die("$intkontakt->errormsg"); } } else if($_REQUEST['int_coordinator_telefonId']!= "") { // Update - $intkontakt->person_id = $intCoordinator->person_id; - $intkontakt->kontakttyp = "telefon"; - $intkontakt->kontakt = $_REQUEST['telefon_intcoordinator']; - $intkontakt->kontakt_id = $_REQUEST['int_coordinator_telefonId']; - $intkontakt->new = false; - + $intkontakt->person_id = $intCoordinator->person_id; + $intkontakt->kontakttyp = "telefon"; + $intkontakt->kontakt = $_REQUEST['telefon_intcoordinator']; + $intkontakt->kontakt_id = $_REQUEST['int_coordinator_telefonId']; + $intkontakt->new = false; + if(!$intkontakt->save()) { - echo $intkontakt->errormsg; + echo $intkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } - + if($_REQUEST['fax_intcoordinator'] != "" && $_REQUEST['int_coordinator_faxId']== "") { { // Neu anlegen - $intkontakt->person_id = $intCoordinator->person_id; - $intkontakt->kontakttyp = "fax"; - $intkontakt->kontakt = $_REQUEST['fax_intcoordinator']; - $intkontakt->new = true; - + $intkontakt->person_id = $intCoordinator->person_id; + $intkontakt->kontakttyp = "fax"; + $intkontakt->kontakt = $_REQUEST['fax_intcoordinator']; + $intkontakt->new = true; + if(!$intkontakt->save()) { - echo $intkontakt->errormsg; + echo $intkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } @@ -1052,95 +1116,95 @@ else if ($method == "university") // lösche Kontakt if(!$intkontakt->delete($_REQUEST['int_coordinator_faxId'])) { - die("$intkontakt->errormsg"); + die("$intkontakt->errormsg"); } } else if($_REQUEST['int_coordinator_faxId']!= "") { // Update - $intkontakt->person_id = $intCoordinator->person_id; - $intkontakt->kontakttyp = "fax"; - $intkontakt->kontakt = $_REQUEST['fax_intcoordinator']; - $intkontakt->kontakt_id = $_REQUEST['int_coordinator_faxId']; - $intkontakt->new = false; - + $intkontakt->person_id = $intCoordinator->person_id; + $intkontakt->kontakttyp = "fax"; + $intkontakt->kontakt = $_REQUEST['fax_intcoordinator']; + $intkontakt->kontakt_id = $_REQUEST['int_coordinator_faxId']; + $intkontakt->new = false; + if(!$intkontakt->save()) { - echo $intkontakt->errormsg; + echo $intkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } - - echo $p->t('global/erfolgreichgespeichert'); + + echo $p->t('global/erfolgreichgespeichert'); } // Department Coordinator Kontakt - $depCoordinatorKontakt = new kontakt(); - $depCoordinatorKontakt->load_pers($preincoming->person_id_coordinator_dep); - $depTelefon = ""; - $depTelefonId = ""; - $depFax = ""; - $depFaxId = ""; - $depEmail = ""; - $depEmailId = ""; + $depCoordinatorKontakt = new kontakt(); + $depCoordinatorKontakt->load_pers($preincoming->person_id_coordinator_dep); + $depTelefon = ""; + $depTelefonId = ""; + $depFax = ""; + $depFaxId = ""; + $depEmail = ""; + $depEmailId = ""; foreach ($depCoordinatorKontakt->result as $depKontakt) { if($depKontakt->kontakttyp == "telefon") { - $depTelefon = $depKontakt->kontakt; - $depTelefonId = $depKontakt->kontakt_id; + $depTelefon = $depKontakt->kontakt; + $depTelefonId = $depKontakt->kontakt_id; } if($depKontakt->kontakttyp == "fax") { - $depFax = $depKontakt->kontakt; - $depFaxId = $depKontakt->kontakt_id; + $depFax = $depKontakt->kontakt; + $depFaxId = $depKontakt->kontakt_id; } if($depKontakt->kontakttyp == "email") { - $depEmail = $depKontakt->kontakt; - $depEmailId = $depKontakt->kontakt_id; + $depEmail = $depKontakt->kontakt; + $depEmailId = $depKontakt->kontakt_id; } } - + // International Coordinator Kontakt - $intCoordinatorKontakt = new kontakt(); - $intCoordinatorKontakt->load_pers($intCoordinator->person_id); - $intTelefon = ""; - $intTelefonId = ""; - $intFax = ""; - $intFaxId = ""; - $intEmail = ""; - $intEmailId = ""; + $intCoordinatorKontakt = new kontakt(); + $intCoordinatorKontakt->load_pers($intCoordinator->person_id); + $intTelefon = ""; + $intTelefonId = ""; + $intFax = ""; + $intFaxId = ""; + $intEmail = ""; + $intEmailId = ""; foreach ($intCoordinatorKontakt->result as $intKontakt) { if($intKontakt->kontakttyp == "telefon") { - $intTelefon = $intKontakt->kontakt; - $intTelefonId = $intKontakt->kontakt_id; + $intTelefon = $intKontakt->kontakt; + $intTelefonId = $intKontakt->kontakt_id; } if($intKontakt->kontakttyp == "fax") { - $intFax = $intKontakt->kontakt; - $intFaxId = $intKontakt->kontakt_id; + $intFax = $intKontakt->kontakt; + $intFaxId = $intKontakt->kontakt_id; } if($intKontakt->kontakttyp == "email") { - $intEmail = $intKontakt->kontakt; - $intEmailId = $intKontakt->kontakt_id; + $intEmail = $intKontakt->kontakt; + $intEmailId = $intKontakt->kontakt_id; } } // Wenn die Person gerade gelöscht wurde zeige sie nicht mehr an if($preincoming->person_id_coordinator_dep == "") { - $depCoordinator->vorname = ""; + $depCoordinator->vorname = ""; $depCoordinator->nachname =""; - } + } if($preincoming->person_id_coordinator_int == "") { - $intCoordinator->vorname = ""; + $intCoordinator->vorname = ""; $intCoordinator->nachname = ""; - } + } echo '
    @@ -1150,17 +1214,17 @@ else if ($method == "university") - - + @@ -1171,16 +1235,16 @@ echo ' '; - $checked = ''; + $checked = ''; if($preincoming->bachelor == true) - $checked = 'checked'; + $checked = 'checked'; echo ' '; - $checked = ''; + $checked = ''; if($preincoming->master == true) - $checked = 'checked'; + $checked = 'checked'; echo' @@ -1188,11 +1252,11 @@ echo' - + - - + + @@ -1224,7 +1288,7 @@ echo' + @@ -1249,89 +1313,89 @@ echo'
    '.$p->t('incoming/heimatuniversitaet').'
    '.$p->t('incoming/universitätsname').'
    '.$p->t('incoming/universitätsnameerweitert').'
    '.$p->t('incoming/bachelorstudiengang').'
    '.$p->t('incoming/masterstudiengang').'
    '.$p->t('incoming/masterstudiengang').' '.$p->t('incoming/jahrestudiert').'
       
    Department Coordinator International Coordinator
    '.$p->t('incoming/masterstudiengang').' '.$p->t('global/fax').' -
    E-Mail '.$p->t('incoming/masterstudiengang').'
    - + '; } // Benutzerprofil bearbeiten else if ($method == "profil") -{ +{ // Profil speichern if(isset($_POST['submit_profil'])) { - $save = true; - $emergencyPerson = new person(); - + $save = true; + $emergencyPerson = new person(); + if($_REQUEST['emergency_name_id'] == "" && $_REQUEST['emergency_nachname'] != "") { // Emergency Person - $emergencyPerson->vorname = $_REQUEST['emergency_vorname']; - $emergencyPerson->nachname = $_REQUEST['emergency_nachname']; - $emergencyPerson->geschlecht = "u"; - $emergencyPerson->new = true; - $emergencyPerson->aktiv = true; + $emergencyPerson->vorname = $_REQUEST['emergency_vorname']; + $emergencyPerson->nachname = $_REQUEST['emergency_nachname']; + $emergencyPerson->geschlecht = "u"; + $emergencyPerson->new = true; + $emergencyPerson->aktiv = true; $emergencyPerson->updateamum = date('Y-m-d H:i:s'); $emergencyPerson->insertamum = date('Y-m-d H:i:s'); - + if(!$emergencyPerson->save()) { - echo $emergencyPerson->errormsg; - die($p->t('global/fehleraufgetreten')); + echo $emergencyPerson->errormsg; + die($p->t('global/fehleraufgetreten')); } - + // in preincoming speichern - $preincoming->person_id_emergency = $emergencyPerson->person_id; - $preincoming->updateamum = date('Y-m-d H:i:s'); + $preincoming->person_id_emergency = $emergencyPerson->person_id; + $preincoming->updateamum = date('Y-m-d H:i:s'); } else if ($_REQUEST['emergency_name_id'] != "" && $_REQUEST['emergency_nachname'] == "" && $_REQUEST['emergency_vorname'] == "") { // löscht die Person - $preincoming->person_id_emergency = ""; + $preincoming->person_id_emergency = ""; if(!$preincoming->save()) - die($p->t('global/fehleraufgetreten')); - + die($p->t('global/fehleraufgetreten')); + if(!$emergencyPerson->delete($_REQUEST['emergency_name_id'])) { - echo $emergencyPerson->errormsg; - die($p->t('global/fehleraufgetreten')); + echo $emergencyPerson->errormsg; + die($p->t('global/fehleraufgetreten')); } } else if($_REQUEST['emergency_name_id'] != "") { // Person updaten - $emergencyPerson->load($_REQUEST['emergency_name_id']); - $emergencyPerson->vorname = $_REQUEST['emergency_vorname']; - $emergencyPerson->nachname = $_REQUEST['emergency_nachname']; + $emergencyPerson->load($_REQUEST['emergency_name_id']); + $emergencyPerson->vorname = $_REQUEST['emergency_vorname']; + $emergencyPerson->nachname = $_REQUEST['emergency_nachname']; $emergencyPerson->updateamum = date('Y-m-d H:i:s'); - $emergencyPerson->new = false; + $emergencyPerson->new = false; if(!$emergencyPerson->save()) { - echo $emergencyPerson->errormsg; - die($p->t('global/fehleraufgetreten')); - } + echo $emergencyPerson->errormsg; + die($p->t('global/fehleraufgetreten')); + } } - $emkontakt = new kontakt(); + $emkontakt = new kontakt(); if($_REQUEST['emergency_email'] != "" && $_REQUEST['emergency_emailId']== "") { { // Neu anlegen - $emkontakt->person_id = $emergencyPerson->person_id; - $emkontakt->kontakttyp = "email"; - $emkontakt->kontakt = $_REQUEST['emergency_email']; - $emkontakt->new = true; - + $emkontakt->person_id = $emergencyPerson->person_id; + $emkontakt->kontakttyp = "email"; + $emkontakt->kontakt = $_REQUEST['emergency_email']; + $emkontakt->new = true; + if(!$emkontakt->save()) { - echo $emkontakt->errormsg; + echo $emkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } @@ -1347,31 +1411,31 @@ else if ($method == "profil") else if($_REQUEST['emergency_emailId']!= "") { // Update - $emkontakt->person_id = $_REQUEST['emergency_name_id']; - $emkontakt->kontakttyp = "email"; - $emkontakt->kontakt = $_REQUEST['emergency_email']; - $emkontakt->kontakt_id = $_REQUEST['emergency_emailId']; - $emkontakt->new = false; - + $emkontakt->person_id = $_REQUEST['emergency_name_id']; + $emkontakt->kontakttyp = "email"; + $emkontakt->kontakt = $_REQUEST['emergency_email']; + $emkontakt->kontakt_id = $_REQUEST['emergency_emailId']; + $emkontakt->new = false; + if(!$emkontakt->save()) { - echo $emkontakt->errormsg; + echo $emkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } - + if($_REQUEST['emergency_telefon'] != "" && $_REQUEST['emergency_telefonId']== "") { { // Neu anlegen - $emkontakt->person_id = $emergencyPerson->person_id; - $emkontakt->kontakttyp = "telefon"; - $emkontakt->kontakt = $_REQUEST['emergency_telefon']; - $emkontakt->new = true; - + $emkontakt->person_id = $emergencyPerson->person_id; + $emkontakt->kontakttyp = "telefon"; + $emkontakt->kontakt = $_REQUEST['emergency_telefon']; + $emkontakt->new = true; + if(!$emkontakt->save()) { - echo $emkontakt->errormsg; + echo $emkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } @@ -1381,105 +1445,105 @@ else if ($method == "profil") // lösche Kontakt if(!$emkontakt->delete($_REQUEST['emergency_telefonId'])) { - die("$emkontakt->errormsg"); + die("$emkontakt->errormsg"); } } else if($_REQUEST['emergency_telefonId']!= "") { // Update - $emkontakt->person_id = $_REQUEST['emergency_name_id']; - $emkontakt->kontakttyp = "telefon"; - $emkontakt->kontakt = $_REQUEST['emergency_telefon']; - $emkontakt->kontakt_id = $_REQUEST['emergency_telefonId']; - $emkontakt->new = false; - + $emkontakt->person_id = $_REQUEST['emergency_name_id']; + $emkontakt->kontakttyp = "telefon"; + $emkontakt->kontakt = $_REQUEST['emergency_telefon']; + $emkontakt->kontakt_id = $_REQUEST['emergency_telefonId']; + $emkontakt->new = false; + if(!$emkontakt->save()) { - echo $emkontakt->errormsg; + echo $emkontakt->errormsg; die($p->t('global/fehleraufgetreten')); } } - - $person->titelpost = $_REQUEST['titel_post']; - $person->vorname = $_REQUEST['vorname']; - $person->nachname = $_REQUEST['nachname']; - $person->titelpre = $_REQUEST['titel_pre']; - $person->gebdatum = $date->formatDatum($_REQUEST['geb_datum'],'Y-m-d'); - $person->staatsbuergerschaft = $_REQUEST['staatsbuerger']; - $person->geschlecht = $_REQUEST['geschlecht']; - $person->aktiv = true; - $person->new = false; + + $person->titelpost = $_REQUEST['titel_post']; + $person->vorname = $_REQUEST['vorname']; + $person->nachname = $_REQUEST['nachname']; + $person->titelpre = $_REQUEST['titel_pre']; + $person->gebdatum = $date->formatDatum($_REQUEST['geb_datum'],'Y-m-d'); + $person->staatsbuergerschaft = $_REQUEST['staatsbuerger']; + $person->geschlecht = $_REQUEST['geschlecht']; + $person->aktiv = true; + $person->new = false; if(!$person->save()) { - echo $person->errormsg; - $save = false; + echo $person->errormsg; + $save = false; } - - $adresse->result[0]->strasse = $_REQUEST['strasse']; - $adresse->result[0]->plz = $_REQUEST['plz']; - $adresse->result[0]->ort = $_REQUEST['ort']; - $adresse->result[0]->nation = $_REQUEST['nation']; - $adresse->result[0]->heimatadresse = true; - $adresse->result[0]->zustelladresse = true; - $adresse->result[0]->new = false; + + $adresse->result[0]->strasse = $_REQUEST['strasse']; + $adresse->result[0]->plz = $_REQUEST['plz']; + $adresse->result[0]->ort = $_REQUEST['ort']; + $adresse->result[0]->nation = $_REQUEST['nation']; + $adresse->result[0]->heimatadresse = true; + $adresse->result[0]->zustelladresse = true; + $adresse->result[0]->new = false; if(!$adresse->result[0]->save()) { echo $adresse->errormsg; - $save = false; - } + $save = false; + } foreach($kontakt->result as $kon) { if($kon->kontakttyp=="email") { - $kon->kontakt = $_REQUEST['email']; - $kontakt->new = false; + $kon->kontakt = $_REQUEST['email']; + $kontakt->new = false; if(!$kon->save()) { - echo $p->t('global/fehleraufgetreten'); - $save = false; + echo $p->t('global/fehleraufgetreten'); + $save = false; } } } $preincoming->zgv = $_REQUEST['zgv']; - $preincoming->zgv_name = $_REQUEST['zgv_name']; - $preincoming->zgv_ort = $_REQUEST['zgv_ort']; - $preincoming->anmerkung = $_REQUEST['anmerkung']; + $preincoming->zgv_name = $_REQUEST['zgv_name']; + $preincoming->zgv_ort = $_REQUEST['zgv_ort']; + $preincoming->anmerkung = $_REQUEST['anmerkung']; $preincoming->zgv_datum = $date->formatDatum($_REQUEST['zgv_datum'],'Y-m-d'); - $preincoming->zgvmaster = $_REQUEST['zgv_master']; - $preincoming->zgvmaster_datum = $date->formatDatum($_REQUEST['zgv_master_datum'],'Y-m-d'); - $preincoming->zgvmaster_ort = $_REQUEST['zgv_master_ort']; - $preincoming->zgvmaster_name = $_REQUEST['zgv_master_name']; + $preincoming->zgvmaster = $_REQUEST['zgv_master']; + $preincoming->zgvmaster_datum = $date->formatDatum($_REQUEST['zgv_master_datum'],'Y-m-d'); + $preincoming->zgvmaster_ort = $_REQUEST['zgv_master_ort']; + $preincoming->zgvmaster_name = $_REQUEST['zgv_master_name']; if(!$preincoming->save()) - $save = false; - + $save = false; + if($save) - echo $p->t('global/erfolgreichgespeichert'); + echo $p->t('global/erfolgreichgespeichert'); } - - $personEmergency = new person(); - $personEmergencyKontakt = new kontakt(); - $emTelefon = ""; - $emTelefonId = ""; - $emEmail = ""; - $emEmailId = ""; - + + $personEmergency = new person(); + $personEmergencyKontakt = new kontakt(); + $emTelefon = ""; + $emTelefonId = ""; + $emEmail = ""; + $emEmailId = ""; + if($preincoming->person_id_emergency != "") { - $personEmergency->load($preincoming->person_id_emergency); - $personEmergencyKontakt->load_pers($preincoming->person_id_emergency); - + $personEmergency->load($preincoming->person_id_emergency); + $personEmergencyKontakt->load_pers($preincoming->person_id_emergency); + foreach ($personEmergencyKontakt->result as $emKontakt) { if($emKontakt->kontakttyp == "telefon") { - $emTelefon = $emKontakt->kontakt; - $emTelefonId = $emKontakt->kontakt_id; + $emTelefon = $emKontakt->kontakt; + $emTelefonId = $emKontakt->kontakt_id; } if($emKontakt->kontakttyp == "email") { - $emEmail = $emKontakt->kontakt; - $emEmailId = $emKontakt->kontakt_id; + $emEmail = $emKontakt->kontakt; + $emEmailId = $emKontakt->kontakt_id; } } } @@ -1492,9 +1556,9 @@ else if ($method == "profil") '.$preincoming->person_id.''; - + echo "".$p->t('profil/bildHochladen')." "; - + echo ' '.$p->t('incoming/zugangsvoraussetzung').'¹ @@ -1525,13 +1589,13 @@ else if ($method == "profil") '.$p->t('incoming/zugangsvoraussetzungmaster').' - + '.$p->t('global/vorname').' '.$p->t('incoming/abgelegtin').' - + '.$p->t('global/nachname').' @@ -1543,13 +1607,13 @@ else if ($method == "profil") '.$p->t('incoming/abgelegtam').' - + '.$p->t('global/geburtsdatum').' (dd.mm.yyyy)   - + '.$p->t('global/staatsbuergerschaft').' + +echo' '.$p->t('incoming/personimernstfall').': - + '.$p->t('global/geschlecht').''; if($person->geschlecht == "m") @@ -1576,22 +1640,22 @@ echo' '.$p->t('global/mann').' '.$p->t('global/frau').' '; - else + else echo ' '.$p->t('global/mann').' '.$p->t('global/frau').' '; - + echo ''.$p->t('global/vorname').' - + '.$p->t('global/nachname').' - + '.$p->t('global/strasse').' @@ -1605,7 +1669,7 @@ echo' Email - + '.$p->t('global/ort').' @@ -1618,18 +1682,18 @@ echo' { $selected=""; if($adresse->result[0]->nation == $nat->code) - $selected = "selected"; + $selected = "selected"; if($sprache == 'English') echo '\n"; else echo '\n"; - } - echo ' + } + echo ' '.$p->t('global/anmerkung').' - E-Mail'; + E-Mail'; $email =''; foreach($kontakt->result as $kon) { @@ -1652,7 +1716,7 @@ echo' - + @@ -1672,40 +1736,40 @@ echo' - + '; } else if($method == 'files') { - $akte = new akte(); - + $akte = new akte(); + if(isset($_GET['id'])) { if($_GET['mode']=="delete") @@ -1717,19 +1781,19 @@ else if($method == 'files') } } echo ' -


    + +


    ',$p->t('incoming/fileupload'),'


    '; - - $akte->getAkten($person->person_id); - + + $akte->getAkten($person->person_id); + if(count($akte->result)>0) { echo ' @@ -1737,39 +1801,39 @@ else if($method == 'files') - '; + '; foreach ($akte->result as $ak) - { + { echo ''; } - echo '
    '.$p->t('incoming/name').' '.$p->t('global/bezeichnung').'
    '.$ak->titel.' '.$ak->bezeichnung.'
    '; + echo ''; } } // Ausgabe Menü -else +else { echo '



    - + - - + + - + @@ -1783,9 +1847,9 @@ else
    1. '.$p->t('incoming/persönlichedateneditieren').'
    2. '.$p->t("incoming/eigeneuniversitaet").'
    3. '.$p->t('incoming/austauschprogram').'
    3. '.$p->t('incoming/austauschprogram').'
    4. '.$p->t('incoming/lehrveranstaltungenauswählen').'
    5. '.$p->t('incoming/learningagreementerstellen').'5. '.$p->t('incoming/downloadLearningAgreement').'
    6. '.$p->t("incoming/uploadLearningAgreement").'Logout
    '; - + echo ''; } @@ -188,101 +206,109 @@ echo' '; if(isset($_REQUEST['submit'])) -{ - $person = new person(); +{ + $securimage = new Securimage(); + // Sicherheitscode wurde falsch eingegeben + if ($securimage->check($_POST['captcha_code']) == false) + { + echo '

    '.$p->t('bewerbung/sicherheitscodeFalsch').'

    '; + 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= 'Fehler beim Senden des Mails
    '; else $msg= $p->t('global/emailgesendetan')." $email!
    "; - - // sende Nachricht an Assistenz - $emailtext= "Dies ist eine automatisch generierte E-Mail.

    "; - $emailtext.= "Es hat sich ein neuer Incoming am Campus International registriert.

    Name: ".$vorname.' '.$nachname.'
    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.

    "; + $emailtext.= "Es hat sich ein neuer Incoming registriert.

    Name: ".$vorname.' '.$nachname.'
    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; } ?> \ No newline at end of file diff --git a/cms/admin.php b/cms/admin.php index f2c2786f3..0ff56de25 100644 --- a/cms/admin.php +++ b/cms/admin.php @@ -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:''; + $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'); +} ?> @@ -96,12 +164,13 @@ $berechtigte_oe = $rechte->getOEkurzbz('basis/cms') ); function FHCFileBrowser(field_name, url, type, win) { - cmsURL = "cms/tinymce_dms.php?type="+type; + dms_id = url.substring(url.indexOf("=") +1); + cmsURL = "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", diff --git a/cms/dms.php b/cms/dms.php index 320f5b455..20d738dbf 100644 --- a/cms/dms.php +++ b/cms/dms.php @@ -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'])) diff --git a/cms/menu/menu_addon_lehrveranstaltungen.inc.php b/cms/menu/menu_addon_lehrveranstaltungen.inc.php index f87ca1c62..9100f6a2b 100755 --- a/cms/menu/menu_addon_lehrveranstaltungen.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen.inc.php @@ -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.=' '; + + $this->block.=' + '; + + // Studiensemester + + $this->block.=' + + + '; + + // Studiengang + $this->block.=' + + + + + + + + '; + + $this->block.='
    + Studiensemester
    + '; + } + else + + $errormsg .= $studiensemester->errormsg; + $this->block.=' +
    + Studiengang
    + +
    + Semester
    + +
    + Studienplan
    +


    '; + + $this->block.= ''; + + 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.='"; + } + + 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(); +?> diff --git a/cms/menu/menu_addon_zeitsperren.inc.php b/cms/menu/menu_addon_zeitsperren.inc.php index 4dd07e137..7fef792b8 100755 --- a/cms/menu/menu_addon_zeitsperren.inc.php +++ b/cms/menu/menu_addon_zeitsperren.inc.php @@ -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(); -?> \ No newline at end of file +?> diff --git a/cms/tinymce_dms.php b/cms/tinymce_dms.php index f32c4a107..e8fa17656 100644 --- a/cms/tinymce_dms.php +++ b/cms/tinymce_dms.php @@ -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.
    Filename:'.$filename.'
    ID: '.$dms->dms_id.''; $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 '
    CHGRP failed'; + if(!@chmod(DMS_PATH.$filename, 0774)) + echo '
    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
    '; - if(!chmod($uploadfile, 0774)) - echo 'CHMOD failed
    '; + if(!@chgrp($uploadfile,'dms')) + echo '
    CHGRP failed'; + if(!@chmod($uploadfile, 0774)) + echo '
    CHMOD failed'; exec('sudo chown wwwrun '.$uploadfile); $dms = new dms(); @@ -831,32 +831,43 @@ function drawFilesFromImport() if ($handle = opendir(IMPORT_PATH)) { + echo ''; echo '

    Files im Import Ordner

    - '; +
    + '; - while (false !== ($file = readdir($handle))) - { - if($file != '.' && $file != '..') - { - echo' - - - - '; - } - } - echo' - + while (false !== ($file = readdir($handle))) + { + if($file != '.' && $file != '..') + { + echo' + + + + '; + } + } + echo' + -
    File
    - '.$file.' - - | Upload -
    + '.$file.' + + Upload +
    '; - closedir($handle); + '; + closedir($handle); } } /** @@ -1018,7 +1029,7 @@ function drawFilesList($rows)
  • Herunterladen
  • '; if($rechte->isberechtigt('basis/dms',null, 'sui', null)) { - echo '
  • dms_id.'/Upload" onclick="window.location=\'#divupload\'; updateBeschreibung(\''; $beschreibungstext = $row->beschreibung; $beschreibungstext = str_replace("'","4nführungsze1ch3n",$beschreibungstext); $beschreibungstext = str_replace('"',"D4n7ührung",$beschreibungstext); diff --git a/composer.json b/composer.json old mode 100644 new mode 100755 index 32278e8dc..a64b8607b --- a/composer.json +++ b/composer.json @@ -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" } } diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php index 0ec57fc77..84d4613fe 100644 --- a/config/cis.config-default.inc.php +++ b/config/cis.config-default.inc.php @@ -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); diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index e4236697a..75a31a31c 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -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); diff --git a/config/vilesci.config-default.inc.php b/config/vilesci.config-default.inc.php index 129c9c4fe..f9416b6ce 100644 --- a/config/vilesci.config-default.inc.php +++ b/config/vilesci.config-default.inc.php @@ -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'); diff --git a/content/akteupload.php b/content/akteupload.php index 26dc0bce9..8dd49850e 100644 --- a/content/akteupload.php +++ b/content/akteupload.php @@ -188,7 +188,7 @@ if(isset($_POST['submitbild'])) if(isset($_GET['person_id'])) { $dokument = new dokument(); - $dokument->getAllDokumente(); + $dokument->getAllDokumente('Zeugnis'); echo " diff --git a/content/fas.xul.php b/content/fas.xul.php index 506be6799..40d21ceaa 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -1,953 +1,960 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -require_once('../config/vilesci.config.inc.php'); -require_once('../include/functions.inc.php'); -require_once('../include/benutzerberechtigung.class.php'); -require_once('../include/studiensemester.class.php'); -require_once('../include/variable.class.php'); -require_once('../include/addon.class.php'); - -$user=get_uid(); - -$error_msg=''; - -//$error_msg.=loadVariables($user); -$variable = new variable(); -if(!$variable->loadVariables($user)) -{ - die('Fehler beim Laden der Variablen:'.$variable->errormsg); -} - -//$benutzer = new benutzer($conn); -//if(!$benutzer->loadVariables($user)) -// $error_msg = $benutzer->errormsg; - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('basis/fas')) - die('Sie haben keine Berechtigung für diese Seite'); - -header("Content-type: application/vnd.mozilla.xul+xml"); -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -?> -variable->locale.'/fas.dtd'); ?> -]> - - - - - - - -loadAddons(); -foreach($addon_obj->result as $addon) -{ - echo ' + + + +loadAddons(); +foreach($addon_obj->result as $addon) +{ + echo ' + + + + + + + + +