From 99cf96d9b150c9f8fe63bd7f177a0e70c9a9760d Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 22 Nov 2016 14:06:27 +0100 Subject: [PATCH 01/74] =?UTF-8?q?Studiensemester=20wird=20bei=20Freif?= =?UTF-8?q?=C3=A4chern=20mit=C3=BCbergeben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cms/menu/menu_addon_freifaecher.inc.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cms/menu/menu_addon_freifaecher.inc.php b/cms/menu/menu_addon_freifaecher.inc.php index 33e04abc4..1e34b05a3 100755 --- a/cms/menu/menu_addon_freifaecher.inc.php +++ b/cms/menu/menu_addon_freifaecher.inc.php @@ -25,6 +25,7 @@ require_once(dirname(__FILE__).'/menu_addon.class.php'); require_once(dirname(__FILE__).'/../../include/functions.inc.php'); require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php'); +require_once(dirname(__FILE__).'/../../include/studiensemester.class.php'); class menu_addon_freifaecher extends menu_addon { @@ -35,6 +36,8 @@ class menu_addon_freifaecher extends menu_addon $this->link=false; $sprache = getSprache(); + $stsem = new studiensemester(); + $stsem = $stsem->getAktOrNext(); $lv_obj = new lehrveranstaltung(); if(!$lv_obj->load_lva('0',null, null,true,false,'bezeichnung')) @@ -44,7 +47,7 @@ class menu_addon_freifaecher extends menu_addon { $this->items[] = array('title'=>$row->bezeichnung_arr[$sprache], 'target'=>'content', - 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id, + 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem, 'name'=>'aktiv?' style="" ':' style=""').'>'.(!$row->aktiv?' ':' ').' '.$this->CutString($row->bezeichnung_arr[$sprache], 21).'' ); } @@ -70,4 +73,4 @@ class menu_addon_freifaecher extends menu_addon } new menu_addon_freifaecher(); -?> \ No newline at end of file +?> From e08b399456292d096cfb6bf8e83dcbc1c9dad621 Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 22 Nov 2016 14:22:36 +0100 Subject: [PATCH 02/74] Partnercode wird nicht mehr 4stellig gemeldet da dies nicht immer funktioniert --- vilesci/bis/studentenmeldung.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index b51a8b0ad..4693f1c55 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -927,7 +927,7 @@ function GenerateXMLStudentBlock($row) $gsblock.=" ".$rowgs->mobilitaetsprogramm_code." - ".sprintf('%04s',$rowgs->programm_code)." + ".$rowgs->programm_code." ".$studtyp." ".$rowgs->partner_code." ".$rowgs->ausbildungssemester." From 4dcec21c9f1a18fd2297fe02e7815ec250ca6b92 Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 22 Nov 2016 15:47:21 +0100 Subject: [PATCH 03/74] Fehler behoben wodurch eine leere Fehlermeldung angezeigt wurde wenn die Lektorenzuordnung zu einem Studiengang entfernt wurde. --- include/benutzerfunktion.class.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/include/benutzerfunktion.class.php b/include/benutzerfunktion.class.php index 9a08a1b0b..08270da67 100644 --- a/include/benutzerfunktion.class.php +++ b/include/benutzerfunktion.class.php @@ -131,9 +131,15 @@ class benutzerfunktion extends basis_db */ public function getBenutzerFunktion($uid, $funktion_kurzbz, $oe_kurzbz) { - $qry = "SELECT * FROM public.tbl_benutzerfunktion - WHERE uid=".$this->db_add_param($uid)." AND funktion_kurzbz=".$this->db_add_param($funktion_kurzbz)." - AND oe_kurzbz=".$this->db_add_param($oe_kurzbz); + $qry = "SELECT + bfunk.*, stg.studiengang_kz + FROM + public.tbl_benutzerfunktion AS bfunk + INNER JOIN public.tbl_studiengang AS stg ON(stg.oe_kurzbz = bfunk.oe_kurzbz) + WHERE + bfunk.uid=".$this->db_add_param($uid)." + AND bfunk.funktion_kurzbz=".$this->db_add_param($funktion_kurzbz)." + AND bfunk.oe_kurzbz=".$this->db_add_param($oe_kurzbz); if($result = $this->db_query($qry)) { From da1aedabcff4ed2872ab062b8d2bbb603d9e6585 Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 23 Nov 2016 10:32:55 +0100 Subject: [PATCH 04/74] Fixed SQL Injection Problem --- cis/private/tools/projektabgabe.php | 148 ++++++++++++++-------------- 1 file changed, 72 insertions(+), 76 deletions(-) diff --git a/cis/private/tools/projektabgabe.php b/cis/private/tools/projektabgabe.php index 7e2e7aaab..afbdf3bd7 100644 --- a/cis/private/tools/projektabgabe.php +++ b/cis/private/tools/projektabgabe.php @@ -22,7 +22,7 @@ */ /******************************************************************************************************* * projektabgabe - * projektabgabe ermöglicht den Download aller Abgaben eines Stg. + * projektabgabe ermöglicht den Download aller Abgaben eines Stg. * fuer Diplom- und Bachelorarbeiten *******************************************************************************************************/ @@ -53,12 +53,12 @@ if(!is_numeric($stg_kz) && $stg_kz!='') $abgabetyp=(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:''); $termin=(isset($_REQUEST['termin'])?$_REQUEST['termin']:''); - + $htmlstr=''; $datum_obj = new datum(); $user = get_uid(); $rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); +$rechte->getBerechtigungen($user); $berechtigung_kurzbz = 'lehre/abgabetool:download'; if(isset($_GET['id']) && isset($_GET['uid'])) @@ -67,14 +67,14 @@ if(isset($_GET['id']) && isset($_GET['uid'])) { if(!is_numeric($_GET['id']) || $_GET['id']=='') die($p->t('global/fehlerBeiDerParameteruebergabe')); - + $file = $_GET['id'].'_'.$_GET['uid'].'.pdf'; $filename = PAABGABE_PATH.$file; header('Content-Type: application/octet-stream'); header('Content-disposition: attachment; filename="'.$file.'"'); readfile($filename); } - else + else { die($p->t('global/keineBerechtigungFuerDieseSeite')); } @@ -84,8 +84,7 @@ if(isset($_GET['id']) && isset($_GET['uid'])) if($aktion!='zip') { - echo ' - + echo ' '.$p->t('abgabetool/projektabgabeUebersicht').' @@ -97,22 +96,22 @@ if($aktion!='zip')

'.$p->t('abgabetool/projektabgabeUebersicht').'

'; - + $s = new studiengang(); $s->loadArray($rechte->getStgKz($berechtigung_kurzbz),'typ,kurzbz'); - + echo'
'; echo $p->t('global/studiengang').": "; - - - $qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD-MM-YYYY') as termin_anzeige - FROM lehre.tbl_projektarbeit - JOIN campus.tbl_paabgabe USING(projektarbeit_id) - LEFT JOIN public.tbl_benutzer ON(uid=student_uid) - LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) - LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - LEFT JOIN public.tbl_studiengang USING(studiengang_kz) - WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') - - "; - //AND public.tbl_benutzer.aktiv - if ($stg_kz!='') - $qry_termin.=" AND public.tbl_studiengang.studiengang_kz='$stg_kz'"; - if ($abgabetyp!='') - $qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz='$abgabetyp'"; - $qry_termin.=" ORDER BY termin desc"; - + $qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD-MM-YYYY') as termin_anzeige + FROM lehre.tbl_projektarbeit + JOIN campus.tbl_paabgabe USING(projektarbeit_id) + LEFT JOIN public.tbl_benutzer ON(uid=student_uid) + LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) + LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + LEFT JOIN public.tbl_studiengang USING(studiengang_kz) + WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') + "; + //AND public.tbl_benutzer.aktiv + if ($stg_kz!='') + $qry_termin.=" AND public.tbl_studiengang.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER); + if ($abgabetyp!='') + $qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz=".$db->db_add_param($abgabetyp); + $qry_termin.=" ORDER BY termin desc"; + echo ' '.$p->t('abgabetool/termin').' '; - + ?> - + $('#termin').html(output); + $('#termin').result(function(event, data, formatted) {}).focus(); + } + } + ); + } + t('global/anzeigen')."' onclick=\"f=document.abgabeFrm;f.aktion.value='';\"> 

"; } - + ##if($stg_kz!='' || $abgabetyp!='' || $termin!='') if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=='zip')) @@ -207,20 +203,20 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']= { die($p->t('global/studiengangKonnteNichtGefundenWerden')); } - + if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt($berechtigung_kurzbz, $s->oe_kurzbz)) { $qry=""; - - $qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit + + $qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit JOIN campus.tbl_paabgabe USING(projektarbeit_id) - LEFT JOIN public.tbl_benutzer ON(uid=student_uid) + LEFT JOIN public.tbl_benutzer ON(uid=student_uid) LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) - LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) LEFT JOIN public.tbl_studiengang USING(studiengang_kz) - WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') - + WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') + "; if ($stg_kz!='') @@ -233,7 +229,7 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']= if($stg_kz=='' && $abgabetyp=='' && $termin=='') { - $qry.=" limit 100 "; + $qry.=" limit 100 "; } if(!$erg=$db->db_query($qry)) @@ -261,7 +257,7 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']= { $htmlstr .= " uid' target='_blank'>PDF"; } - else + else { $htmlstr .= "     "; } @@ -279,16 +275,16 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']= { $zipfile = $row->paabgabe_id.'_'.$row->uid.'.pdf'; } - else + else { $zipfile .= " ".$row->paabgabe_id.'_'.$row->uid.'.pdf'; - } + } } } $htmlstr .= ""; } - } - else + } + else { die($p->t('global/keineBerechtigungFuerDieseSeite')); } @@ -317,18 +313,18 @@ else header('Content-Type: application/octet-stream'); header('Content-disposition: attachment; filename="Abgabe_'.$s->kuerzel.'.zip"'); $handle = fopen($zipausgabe, "rb"); - - while (!feof($handle)) + + while (!feof($handle)) { echo fread($handle, 1024); } - + fclose($handle); //echo file_get_contents($zipausgabe); - unlink($zipausgabe); + unlink($zipausgabe); } - else + else { echo $p->t('global/dateiExistiertNicht'); } From 53dc0f5771e05ccd16268155488f2f1319300fc0 Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Wed, 23 Nov 2016 13:46:43 +0100 Subject: [PATCH 05/74] new reporting icons --- include/vendor_custom/easyui/icon.css | 6 +- skin/images/Chart.svg | 165 ++++++++ skin/images/Filter.svg | 125 ++++++ skin/images/Report.svg | 480 ++++++++++++++++++++++ skin/images/Statistik.svg | 571 ++++++++++++++++++++++++++ vilesci/statistik/filter_overview.php | 2 +- 6 files changed, 1345 insertions(+), 4 deletions(-) create mode 100644 skin/images/Chart.svg create mode 100644 skin/images/Filter.svg create mode 100644 skin/images/Report.svg create mode 100644 skin/images/Statistik.svg diff --git a/include/vendor_custom/easyui/icon.css b/include/vendor_custom/easyui/icon.css index 0b15469c2..38967a835 100755 --- a/include/vendor_custom/easyui/icon.css +++ b/include/vendor_custom/easyui/icon.css @@ -1,12 +1,12 @@ .icon-fhc-chart{ - background:url('../../../skin/images/Graphs_clip_art.svg') no-repeat center center; + background:url('../../../skin/images/Chart.svg') no-repeat center center; background-size: 16px 16px; } .icon-fhc-report{ - background:url('../../../skin/images/x-office-presentation.svg') no-repeat center center; + background:url('../../../skin/images/Report.svg') no-repeat center center; background-size: 16px 16px; } .icon-fhc-statistik{ - background:url('../../../skin/images/x-office-spreadsheet.svg') no-repeat center center; + background:url('../../../skin/images/Statistik.svg') no-repeat center center; background-size: 16px 16px; } diff --git a/skin/images/Chart.svg b/skin/images/Chart.svg new file mode 100644 index 000000000..91beaf369 --- /dev/null +++ b/skin/images/Chart.svg @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/skin/images/Filter.svg b/skin/images/Filter.svg new file mode 100644 index 000000000..7667ca554 --- /dev/null +++ b/skin/images/Filter.svg @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/skin/images/Report.svg b/skin/images/Report.svg new file mode 100644 index 000000000..422faa343 --- /dev/null +++ b/skin/images/Report.svg @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skin/images/Statistik.svg b/skin/images/Statistik.svg new file mode 100644 index 000000000..8df81c229 --- /dev/null +++ b/skin/images/Statistik.svg @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vilesci/statistik/filter_overview.php b/vilesci/statistik/filter_overview.php index eda34f67c..fa716399f 100644 --- a/vilesci/statistik/filter_overview.php +++ b/vilesci/statistik/filter_overview.php @@ -117,7 +117,7 @@ if (!$filter->loadAll()) filter_id ?> - + From 6fabc46a486db2e0a6f440004d66fc09972f1e74 Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 23 Nov 2016 15:12:57 +0100 Subject: [PATCH 06/74] Problem beim Dateidownload behoben wenn im Kreuzerltool Listen mit Sonderzeichen erstellt werden --- .../lehre/benotungstool/functions.inc.php | 6 +- .../lehre/benotungstool/studentenansicht.php | 353 +++++++++--------- .../studentenpunkteverwalten.php | 218 +++++------ .../lehre/benotungstool/verwaltung_listen.php | 111 +++--- .../zipdownload_benotungstool.php | 40 +- 5 files changed, 374 insertions(+), 354 deletions(-) diff --git a/cis/private/lehre/benotungstool/functions.inc.php b/cis/private/lehre/benotungstool/functions.inc.php index e4fc4d60e..2e42e33f0 100755 --- a/cis/private/lehre/benotungstool/functions.inc.php +++ b/cis/private/lehre/benotungstool/functions.inc.php @@ -17,13 +17,13 @@ function makeUploadName($db, $which, $lehreinheit_id=null, $uebung_id=null, $ss= { $query = "SELECT nachname, vorname from tbl_person, tbl_benutzer where tbl_benutzer.person_id = tbl_person.person_id and tbl_benutzer.uid = ".$db->db_add_param($uid); $result = $db->db_query($query); - $row = $db->db_fetch_object($result); + $row = $db->db_fetch_object($result); $name .= "_".$uebung_id."_".$row->nachname."_".$row->vorname."_".$uid."_".$date; } else if ($which == "zip") { - - $name .= "_".$uebung_id."_".$date; + + $name .= "_".$uebung_id."_".$date; } $name = str_replace(":","-",$name); return $name; diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php index be203d8d7..d13f24aa0 100644 --- a/cis/private/lehre/benotungstool/studentenansicht.php +++ b/cis/private/lehre/benotungstool/studentenansicht.php @@ -24,7 +24,7 @@ // ******************** require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); +require_once('../../../../include/basis_db.class.php'); require_once('../../../../include/functions.inc.php'); require_once('../../../../include/lehrveranstaltung.class.php'); require_once('../../../../include/studiengang.class.php'); @@ -41,14 +41,13 @@ require_once('../../../../include/zeugnisnote.class.php'); require_once('../../../../include/phrasen.class.php'); include('functions.inc.php'); -$sprache = getSprache(); -$p = new phrasen($sprache); +$sprache = getSprache(); +$p = new phrasen($sprache); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); $user = get_uid(); -//$user = 'if06b172'; -//$user = 'if06b144'; + $lektorenansicht = 0; if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id @@ -62,12 +61,10 @@ else $lehreinheit_id = ''; $uid = (isset($_GET['uid'])?$_GET['uid']:''); //Uid - - if(check_lektor($user) && (isset($_GET['uid']) && $_GET["uid"] != "")) { $rights = new benutzerberechtigung(); - $rights->getBerechtigungen($user); + $rights->getBerechtigungen($user); $lehreinheit=new lehreinheit($_GET["lehreinheit_id"]); if(!check_lektor_lehrveranstaltung($user, $lehreinheit->lehrveranstaltung_id, $lehreinheit->studiensemester_kurzbz) && !$rights->isBerechtigt('admin',0)) die($p->t('global/keineBerechtigungFuerDieseSeite')); @@ -94,17 +91,29 @@ $datum_obj = new datum(); $uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); //Abgabedatei ausliefern -if (isset($_GET["download_abgabe"])){ +if (isset($_GET["download_abgabe"])) +{ $file=$_GET["download_abgabe"]; + $file = preg_replace('/[^A-Za-z0-9\-_.]/', '',$file); $uebung_id = $_GET["uebung_id"]; $ueb = new uebung(); - $ueb->load_studentuebung($user, $uebung_id); - $ueb->load_abgabe($ueb->abgabe_id); - $filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; + if($ueb->load_studentuebung($user, $uebung_id)) + { + if($ueb->load_abgabe($ueb->abgabe_id)) + { + $filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei; + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename="'.$file.'"'); + readfile($filename); + exit; + } + else + { + die($ueb->errormsg); + } + } + else + die($ueb->errormsg); } //Angabedatei ausliefern @@ -162,20 +171,21 @@ if (isset($_POST["abgabe"])) { $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; $abgabe_anmerkung = (isset($_POST["abgabe_anmerkung"])?$_POST["abgabe_anmerkung"]:''); - + if ($abgabedatei_up) { //echo $abgabedatei_up; $datum = date('Y-m-d H:i:s'); - $datumstr = ereg_replace(" ","_",$datum); + $datumstr = str_replace(" ","_",$datum); $name_up = pathinfo($_FILES["abgabedatei"]["name"]); $name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$user, $date=$datumstr); + $name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu); $abgabedatei = $name_neu.".".$name_up["extension"]; - $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; - + $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; + $uebung_obj = new uebung(); $uebung_obj->load_studentuebung($user, $uebung_id); - + if ($uebung_obj->errormsg != "") { $uebung_obj->student_uid = $user; @@ -194,12 +204,12 @@ if (isset($_POST["abgabe"])) $uebung_obj->new = true; $uebung_obj->studentuebung_save($new=true); //echo $uebung_obj->errormsg; - + } if ($uebung_obj->abgabe_id != null) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); $uebung_obj->abgabedatei = $abgabedatei; $uebung_obj->abgabezeit = $datum; $uebung_obj->abgabe_anmerkung = $abgabe_anmerkung; @@ -213,10 +223,10 @@ if (isset($_POST["abgabe"])) $uebung_obj->abgabe_save(true); } $uebung_obj->studentuebung_save(false); - //Abgabedatei ablegen + //Abgabedatei ablegen move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad); } - + else { $abgabe_anmerkung = $_POST["abgabe_anmerkung"]; @@ -225,7 +235,7 @@ if (isset($_POST["abgabe"])) if ($uebung_obj2->errormsg == "") { if ($uebung_obj2->abgabe_id != null) - { + { $uebung_obj2->load_abgabe($uebung_obj2->abgabe_id); $uebung_obj2->abgabe_anmerkung = $abgabe_anmerkung; $uebung_obj2->abgabe_save(false); @@ -259,11 +269,11 @@ $qry = "SELECT distinct lehreinheit_id, lehrfach.kurzbz FROM lehre.tbl_lehreinhe SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem).") UNION - SELECT - lehreinheit_id - FROM + SELECT + lehreinheit_id + FROM public.tbl_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband - WHERE + WHERE tbl_student.student_uid=".$db->db_add_param($user)." AND tbl_studentlehrverband.student_uid=tbl_student.student_uid AND tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND @@ -370,7 +380,7 @@ echo ' '; echo "\n"; echo "
".$lv_obj->bezeichnung_arr[$sprache]."".$p->t('benotungstool/downloadverzeichnisAnzeigen')."

"; -if($lehreinheit_id=='') +if($lehreinheit_id=='') die($p->t('benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung')); $qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid=".$db->db_add_param($user); @@ -383,7 +393,7 @@ if($result = $db->db_query($qry)) if (!isset($_GET["notenuebersicht"])) { - $l = 0; + $l = 0; $ueb_check = new uebung(); $ueb_check->load_uebung($lehreinheit_id,1); if (count($ueb_check->uebungen > 0)) @@ -396,7 +406,7 @@ if (!isset($_GET["notenuebersicht"])) $l = 1; } } - + if ($l > 0) { echo "
".$p->t('lehre/leistungsuebersicht')." / ".$p->t('benotungstool/notenuebersichtFuer')." $name

"; @@ -409,12 +419,12 @@ if (!isset($_GET["notenuebersicht"])) echo ""; foreach ($uebung_obj->uebungen as $row) { - + if($uebung_id == $row->uebung_id) $selected = 'selected'; else - $selected = ''; - + $selected = ''; + $subuebung_obj = new uebung(); $subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id); if(count($subuebung_obj->uebungen)>0) @@ -427,41 +437,41 @@ if (!isset($_GET["notenuebersicht"])) } else $disabled = ''; - - - + + + if(count($subuebung_obj->uebungen)>0) { foreach ($subuebung_obj->uebungen as $subrow) { if($uebung_id=='') $uebung_id=$subrow->uebung_id; - + if($uebung_id == $subrow->uebung_id) $selected = 'selected'; else $selected = ''; - + echo "'; - + } } } - + echo ''; echo ''; - + echo " @@ -482,21 +492,21 @@ if (!isset($_GET["notenuebersicht"])) else { $callURL="studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id¬enuebersicht=1&uid=$user"; - #header("Location:$callURL"); + #header("Location:$callURL"); echo ""; - exit; - //echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt"; + exit; + //echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt"; } - - - + + + //******SPEICHERN DER DATEN************* if(isset($_POST['submit'])) { $error=false; - + $ueb_hlp_obj = new uebung(); $ueb_hlp_obj->load($uebung_id); //Wenn Kreuzerlliste Freigegeben ist @@ -504,21 +514,21 @@ if (!isset($_GET["notenuebersicht"])) $datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time()) { $bsp_obj = new beispiel(); - + if($bsp_obj->load_beispiel($uebung_id)) { - $anzahl_solved = 0; + $anzahl_solved = 0; foreach ($bsp_obj->beispiele as $row) { if (isset($_POST['solved_'.$row->beispiel_id]) && ($_POST['solved_'.$row->beispiel_id]==1)) $anzahl_solved++; } if (($anzahl_solved <= $ueb_hlp_obj->maxbsp) || ($ueb_hlp_obj->maxbsp == 0)) - { + { foreach ($bsp_obj->beispiele as $row) { $stud_bsp_obj = new beispiel(); - + if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) { $stud_bsp_obj->new=false; @@ -530,18 +540,18 @@ if (!isset($_GET["notenuebersicht"])) $stud_bsp_obj->insertvon = $user; $stud_bsp_obj->vorbereitet = false; } - if (isset($_POST['solved_'.$row->beispiel_id])) + if (isset($_POST['solved_'.$row->beispiel_id])) $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); - + $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); $stud_bsp_obj->updatevon = $user; $stud_bsp_obj->student_uid = $user; $stud_bsp_obj->beispiel_id = $row->beispiel_id; - + if(!$row->check_anzahl_studentbeispiel($row->beispiel_id)) die('Fehler beim Ermitteln der Beispiele'); - if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new || + if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new || { $hlp = new beispiel(); if($hlp->load_studentbeispiel($user, $row->beispiel_id)) @@ -552,7 +562,7 @@ if (!isset($_GET["notenuebersicht"])) $error = true; } } - } + } else { if(!$stud_bsp_obj->studentbeispiel_save()) @@ -565,11 +575,11 @@ if (!isset($_GET["notenuebersicht"])) } else { - $error=true; + $error=true; echo $p->t('benotungstool/zuVieleBeispieleAngekreuzt')."!
"; } } - + if($error) echo "".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."
"; else @@ -578,19 +588,20 @@ if (!isset($_GET["notenuebersicht"])) else echo "".$p->t('benotungstool/nichtGespeichertKreuzerllisteNichtFreigegeben')."!"; } - + //********ANZEIGE DER EINGETRAGENEN KREUZERL*********** if ($l > 0) - { + { $uebung_obj = new uebung(); $uebung_obj->load($uebung_id); $downloadname = mb_ereg_replace($uebung_id,mb_ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); + $downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname); echo $p->t('benotungstool/freigegebenVon')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." ".$p->t('global/bis')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); echo "

$uebung_obj->bezeichnung

"; if ($uebung_obj->angabedatei) echo $p->t('benotungstool/angabe').": ".$downloadname."

"; - - + + $ueb_obj = new uebung(); if($ueb_obj->load_studentuebung($user, $uebung_id)) { @@ -608,39 +619,39 @@ if (!isset($_GET["notenuebersicht"])) $anmerkung = mb_str_replace("\n", "
", $anmerkung); if ($uebung_obj->beispiele) { - + $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id =".$db->db_add_param($uebung_id, FHC_INTEGER).") AND vorbereitet=true and student_uid = ".$db->db_add_param($user); if($result_cnt = $db->db_query($qry_cnt)) if($row_cnt = $db->db_fetch_object($result_cnt)) $anzahl = $row_cnt->anzahl; - + echo ""; - + $bsp_obj = new beispiel(); - $bsp_obj->load_beispiel($uebung_id); + $bsp_obj->load_beispiel($uebung_id); if ($bsp_obj->beispiele) { echo "
"; @@ -648,7 +659,7 @@ if (!isset($_GET["notenuebersicht"])) echo ""; if ($uebung_obj->maxstd > 0) echo ""; - echo "
".$p->t('benotungstool/maxBeispieleStudent').":".$uebung_obj->maxbsp."
".$p->t('benotungstool/maxStudentenBeispiel').":".$uebung_obj->maxstd."
"; + echo ""; echo "
@@ -664,12 +675,12 @@ if (!isset($_GET["notenuebersicht"])) "; - - - + + + foreach ($bsp_obj->beispiele as $row) { - $bsp_voll = false; + $bsp_voll = false; $stud_bsp_obj = new beispiel(); if ($uebung_obj->maxstd > 0) { @@ -690,7 +701,7 @@ if (!isset($_GET["notenuebersicht"])) if ($bsp_voll) { $ro = " disabled"; - $markiert = " style='background-color:#dddddd;'"; + $markiert = " style='background-color:#dddddd;'"; } else { @@ -704,64 +715,64 @@ if (!isset($_GET["notenuebersicht"])) "; - - + + } - + //Speichern button nur Anzeigen wenn die Uebung Freigegeben ist if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) echo ""; - + echo "
".$p->t('benotungstool/probleme')." ".$p->t('benotungstool/punkte')."
$row->punkte
"; } else echo "
".$p->t('benotungstool/keineBeispieleAngelegt')."
- +
 
"; - + if ($uebung_obj->abgabe) { - + echo "
\n"; $uebung_obj->load_studentuebung($user, $uebung_id); if ($uebung_obj->abgabe_id) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); echo " "; echo" "; echo ""; - } - + } + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) { echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo "\n"; - + } echo "
".$p->t('benotungstool/abgabedatei').":
".$uebung_obj->abgabedatei.""; - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) echo " [del]
\n"; echo " "; - echo "
"; } - + echo "
"; - + //Gesamtpunkte diese Kreuzerlliste $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER); $punkte_gesamt=0; if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $punkte_gesamt = $row->punktegesamt; - + //Eingetragen diese Kreuzerlliste $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND vorbereitet=true"; $punkte_eingetragen=0; if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - + //Gesamtpunkte alle Kreuzerllisten in dieser Übung $ueb_help = new uebung($uebung_id); $liste_id = $ueb_help->liste_id; @@ -772,19 +783,19 @@ if (!isset($_GET["notenuebersicht"])) if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $punkte_gesamt_alle = $row->punktegesamt_alle; - + //Eingetragen alle Kreuzerllisten $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND - tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND + tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND tbl_studentbeispiel.student_uid=".$db->db_add_param($user)." AND vorbereitet=true"; $punkte_eingetragen_alle=0; if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - + //Mitarbeitspunkte $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER); @@ -792,7 +803,7 @@ if (!isset($_GET["notenuebersicht"])) if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - + //Mitarbeitspunkte $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user); @@ -801,7 +812,7 @@ if (!isset($_GET["notenuebersicht"])) if($row = $db->db_fetch_object($result)) $mitarbeit = $row->mitarbeitspunkte; echo " - + @@ -844,16 +855,16 @@ if (!isset($_GET["notenuebersicht"]))
".$p->t('benotungstool/dieseKreuzerlliste').":
"; - - + + echo "
- + "; - + //**********STATISTIK*************** if($uebung_obj->statistik) { @@ -878,7 +889,7 @@ if (!isset($_GET["notenuebersicht"])) $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id)." GROUP BY student_uid"; if($result_cnt = $db->db_query($qry_cnt)) $gesamt=$db->db_num_rows($result_cnt); - + foreach ($beispiel_obj->beispiele as $row) { $i++; @@ -888,12 +899,12 @@ if (!isset($_GET["notenuebersicht"])) if($result_cnt = $db->db_query($qry_cnt)) if($row_cnt = $db->db_fetch_object($result_cnt)) $solved = $row_cnt->anzahl; - - - + + + if($solved>0) $psolved = $solved/$gesamt*100; - + echo ' '.$row->bezeichnung.' @@ -928,24 +939,24 @@ if (!isset($_GET["notenuebersicht"])) } else if ($uebung_obj->abgabe) { - + echo "\n"; echo "\n"; - echo" + echo" "; echo "\n"; - + echo "\n"; $uebung_obj->load_studentuebung($user, $uebung_id); if ($uebung_obj->abgabe_id) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); echo " "; echo" "; echo ""; } @@ -954,14 +965,14 @@ if (!isset($_GET["notenuebersicht"])) echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo "\n"; } echo "
".($note!=''?''.$p->t('benotungstool/note').': '.$note.'

':'')."
".($anmerkung!=''?''.$p->t('global/anmerkungen').':
'.$anmerkung.'

':'')."

".$p->t('benotungstool/abgabedatei').": ".$uebung_obj->abgabedatei.""; - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) echo " [del]
\n"; - echo "
".$p->t('global/anmerkung').":

"; + echo "
".$p->t('global/anmerkung').":

"; echo "
".$p->t('global/datei').":
"; - echo "
\n"; - + } } @@ -974,7 +985,7 @@ else $uid_arr = Array(); $vorname_arr = Array(); $nachname_arr = Array(); - + $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname"; if($result_stud_dd = $db->db_query($qry_stud_dd)) { @@ -983,43 +994,43 @@ else { $uid_arr[] = $row_stud_dd->uid; $vorname_arr[] = $row_stud_dd->vorname; - $nachname_arr[] = $row_stud_dd->nachname; + $nachname_arr[] = $row_stud_dd->nachname; } } - echo "


"; + echo "


"; echo $p->t('benotungstool/studentenAuswaehlen').": "; $key = array_search($uid,$uid_arr); $prev = $key-1; $next = $key+1; if ($key > 0) - echo " << "; - echo "\n"; for ($j = 0; $j < count($uid_arr); $j++) - { + { if ($uid_arr[$j] == $uid) $selected = " selected"; else $selected = ""; - + echo ""; } echo ""; if ($key < count($uid_arr)-1) - echo " >> "; - + echo " >> "; + echo "


"; } - - echo "
".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name

"; + + echo "
".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name

"; echo "
"; - + $uebung_obj = new uebung(); $uebung_obj->load_uebung($lehreinheit_id,1); if(count($uebung_obj->uebungen)>0) { - + echo ""; echo " \n"; echo " \n"; @@ -1029,21 +1040,21 @@ else echo " "; echo " \n"; foreach ($uebung_obj->uebungen as $row) - { - + { + $subuebung_obj = new uebung(); $subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id); $l1note = new studentnote(); if(count($subuebung_obj->uebungen) >= 0) { - - + + $l1note->calc_l1_note($row->uebung_id, $user, $lehreinheit_id); if ($l1note->negativ) $l1_note = 5; else - $l1_note = $l1note->l1_note; - echo " \n"; + $l1_note = $l1note->l1_note; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo ""; echo "\n"; echo " \n"; - + } - + if(count($subuebung_obj->uebungen) > 0) { - + foreach ($subuebung_obj->uebungen as $subrow) { - + echo " \n"; - echo " "; + echo " "; echo " "; - echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; } else if ($subrow->abgabe) { $l1note->calc_note($subrow->uebung_id, $user); - echo " \n"; - echo " "; - echo " \n"; + echo " \n"; + echo " "; + echo " \n"; } echo " \n"; /* if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)mktime_fromtimestamp($subrow->freigabebis)>time()) @@ -1097,9 +1108,9 @@ else else echo ' - '; */ - + } - + } } $l1note->calc_gesamtnote($lehreinheit_id, $stsem, $user); @@ -1108,24 +1119,24 @@ else else $gesamtnote = $l1note->studentgesamtnote; echo ""; - - + + echo "
".$p->t('benotungstool/aufgabe')."".$p->t('benotungstool/note')."
"; echo $row->bezeichnung; if ($row->positiv) @@ -1051,23 +1062,23 @@ else echo " ".$row->gewicht.""; - if ($l1note->punkte_gesamt_l1 >0) + if ($l1note->punkte_gesamt_l1 >0) echo $l1note->punkte_gesamt_l1; echo "".$l1_note."
- - \n"; echo $subrow->bezeichnung; if ($subrow->positiv) @@ -1081,15 +1092,15 @@ else { $l1note->calc_punkte($subrow->uebung_id, $user); echo " ".$l1note->punkte_gesamt."".$l1note->note."".$l1note->note."
".$p->t('benotungstool/errechneteGesamtnote').": ".$gesamtnote."
"; echo "".$p->t('benotungstool/mussPositivSein').""; } - + echo "
"; - + $legesamtnote = new legesamtnote($lehreinheit_id); - + if (!$legesamtnote->load($user, $lehreinheit_id)) - { + { $lenote = null; } else { $lenote = $legesamtnote->note; - } + } if ($lvgesamtnote = new lvgesamtnote($lvid,$user,$stsem)) { $lvnote = $lvgesamtnote->note; @@ -1138,7 +1149,7 @@ else } else $znote = null; - + echo "\n"; echo " "; echo "\n"; @@ -1154,7 +1165,7 @@ else echo ""; echo "\n"; echo "
".$p->t('benotungstool/eingetrageneNoten')."
".$znote."
"; - + echo "
"; } ?> diff --git a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php index 3ddbfee9a..199b3a841 100644 --- a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php +++ b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php @@ -21,7 +21,7 @@ */ require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); +require_once('../../../../include/basis_db.class.php'); require_once('../../../../include/functions.inc.php'); require_once('../../../../include/lehrveranstaltung.class.php'); require_once('../../../../include/studiengang.class.php'); @@ -34,9 +34,9 @@ require_once('../../../../include/studentnote.class.php'); require_once('../../../../include/datum.class.php'); require_once('functions.inc.php'); require_once('../../../../include/phrasen.class.php'); - -$sprache = getSprache(); -$p = new phrasen($sprache); + +$sprache = getSprache(); +$p = new phrasen($sprache); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); $user = get_uid(); @@ -102,9 +102,9 @@ if (isset($_GET["handbuch"])){ if (isset($_FILES["abgabedatei"])) { - //echo $_FILES["abgabedatei"]; + //echo $_FILES["abgabedatei"]; $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; - + if ($abgabedatei_up) { $student_uid = $uid; @@ -112,13 +112,14 @@ if (isset($_FILES["abgabedatei"])) $datumstr = ereg_replace(" ","_",$datum); $name_up = pathinfo($_FILES["abgabedatei"]["name"]); $name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr); + $name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu); $abgabedatei = $name_neu.".".$name_up["extension"]; - $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; - + $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; + $uebung_obj = new uebung(); $uebung_obj->load_studentuebung($student_uid, $uebung_id); - - + + if ($uebung_obj->errormsg != "") { $uebung_obj->student_uid = $student_uid; @@ -137,12 +138,12 @@ if (isset($_FILES["abgabedatei"])) $uebung_obj->new = true; $uebung_obj->studentuebung_save($new=true); echo $uebung_obj->errormsg; - + } if ($uebung_obj->abgabe_id != null) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); $uebung_obj->abgabedatei = $abgabedatei; $uebung_obj->abgabezeit = $datum; $uebung_obj->abgabe_anmerkung = ""; @@ -156,7 +157,7 @@ if (isset($_FILES["abgabedatei"])) $uebung_obj->abgabe_save(true); } $uebung_obj->studentuebung_save(false); - //Abgabedatei ablegen + //Abgabedatei ablegen move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad); } } @@ -217,11 +218,11 @@ $stsem_content.= "\n"; //Lehreinheiten laden if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) { - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM + $qry = "SELECT + distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz + FROM lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE + WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND @@ -229,11 +230,11 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st } else { - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM + $qry = "SELECT + distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz + FROM lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE + WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND @@ -440,14 +441,14 @@ if(isset($_GET['uid']) && $_GET['uid']!='') die($p->t('benotungstool/studentWurdeNichtGefunden')); //echo "$row_stud->vorname $row_stud->nachname
\n"; - - + + $uid_arr = Array(); $vorname_arr = Array(); $nachname_arr = Array(); - // studentenquery + // studentenquery $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname"; if($result_stud_dd = $db->db_query($qry_stud_dd)) { @@ -456,7 +457,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='') { $uid_arr[] = $row_stud_dd->uid; $vorname_arr[] = $row_stud_dd->vorname; - $nachname_arr[] = $row_stud_dd->nachname; + $nachname_arr[] = $row_stud_dd->nachname; } } @@ -467,22 +468,22 @@ if(isset($_GET['uid']) && $_GET['uid']!='') $prev = $key-1; $next = $key+1; if ($key > 0) - echo "
<< "; - echo "\n"; for ($j = 0; $j < count($uid_arr); $j++) - { + { if ($uid_arr[$j] == $uid) $selected = " selected"; else $selected = ""; - + echo ""; } echo ""; if ($key < count($uid_arr)-1) - echo " >> "; - - + echo " >> "; + + $uebung_obj = new uebung(); $uebung_obj->load_uebung($lehreinheit_id,1); if(count($uebung_obj->uebungen)>0) @@ -492,15 +493,15 @@ if(isset($_GET['uid']) && $_GET['uid']!='') echo ""; foreach ($uebung_obj->uebungen as $row) { - + if($uebung_id == $row->uebung_id) $selected = 'selected'; else - $selected = ''; - + $selected = ''; + if($uebung_id=='') $uebung_id=$row->uebung_id; - + $subuebung_obj = new uebung(); $subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id); if(count($subuebung_obj->uebungen)>0) @@ -510,46 +511,46 @@ if(isset($_GET['uid']) && $_GET['uid']!='') } else $disabled = ''; - + echo "'; - + if(count($subuebung_obj->uebungen)>0) { foreach ($subuebung_obj->uebungen as $subrow) { if($uebung_id=='') $uebung_id=$subrow->uebung_id; - + if($uebung_id == $subrow->uebung_id) $selected = 'selected'; else $selected = ''; - + echo "'; - + } } } - + echo ''; - + echo ''; - + echo " @@ -581,7 +582,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='') $mitarbeit = 0; $note = ''; } - + if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id'])) { echo " @@ -598,10 +599,10 @@ if(isset($_GET['uid']) && $_GET['uid']!='') "; - + $bsp_obj = new beispiel(); $bsp_obj->load_beispiel($uebung_id); - + foreach ($bsp_obj->beispiele as $row) { $stud_bsp_obj = new beispiel(); @@ -623,14 +624,14 @@ if(isset($_GET['uid']) && $_GET['uid']!='') "; } - + echo "
".$p->t('benotungstool/probleme')." ".$p->t('benotungstool/punkte')."
$row->punkte
"; - - - + + + $ueb_obj->load_studentuebung($uid, $uebung_id); - if ($ueb_obj->abgabe_id) - { + if ($ueb_obj->abgabe_id) + { $ueb_obj->load_abgabe($ueb_obj->abgabe_id); $filename = $ueb_obj->abgabedatei; } @@ -639,27 +640,27 @@ if(isset($_GET['uid']) && $_GET['uid']!='') if ($filename != '') echo "
".$p->t('benotungstool/abgabedatei').": ".$filename."

"; - - + + echo " "; - + //Gesamtpunkte diese Kreuzerlliste $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER); $punkte_gesamt=0; if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $punkte_gesamt = $row->punktegesamt; - + //Eingetragen diese Kreuzerlliste $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." AND vorbereitet=true"; $punkte_eingetragen=0; if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - - + + //Gesamtpunkte alle Kreuzerllisten in dieser Übung $ueb_help = new uebung($uebung_id); $liste_id = $ueb_help->liste_id; @@ -670,19 +671,19 @@ if(isset($_GET['uid']) && $_GET['uid']!='') if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $punkte_gesamt_alle = $row->punktegesamt_alle; - + //Eingetragen alle Kreuzerllisten $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND - tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND + tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND tbl_studentbeispiel.student_uid=".$db->db_add_param($uid)." AND vorbereitet=true"; $punkte_eingetragen_alle=0; if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - + //Mitarbeitspunkte $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." and liste_id=".$db->db_add_param($liste_id); @@ -690,7 +691,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='') if($result=$db->db_query($qry)) if($row = $db->db_fetch_object($result)) $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - + //Mitarbeitspunkte $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid); @@ -742,8 +743,8 @@ if(isset($_GET['uid']) && $_GET['uid']!='') "; - - + + echo " @@ -752,18 +753,18 @@ if(isset($_GET['uid']) && $_GET['uid']!='') - + - + "; } else if (is_numeric($_GET['uebung_id'])) { $ueb_obj->load_studentuebung($uid, $uebung_id); - if ($ueb_obj->abgabe_id) - { + if ($ueb_obj->abgabe_id) + { $ueb_obj->load_abgabe($ueb_obj->abgabe_id); $filename = $ueb_obj->abgabedatei; } @@ -790,28 +791,28 @@ if(isset($_GET['uid']) && $_GET['uid']!='') - + - + "; } - echo ""; - echo "\n"; + echo "
"; + echo "\n"; echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo "\n"; echo "
\n"; echo " ".$p->t('benotungstool/studentenabgabedatei').":
"; - echo "
"; } else { - + //Übungen benoten $uebung_obj = new uebung(); $uebung_obj->load_uebung($lehreinheit_id,1); @@ -822,15 +823,15 @@ else echo ""; foreach ($uebung_obj->uebungen as $row) { - + if($uebung_id == $row->uebung_id) $selected = 'selected'; else - $selected = ''; - + $selected = ''; + if($uebung_id=='') $uebung_id=$row->uebung_id; - + $subuebung_obj = new uebung(); $subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id); if(count($subuebung_obj->uebungen)>0) @@ -840,61 +841,62 @@ else } else $disabled = ''; - + echo "'; - + if(count($subuebung_obj->uebungen)>0) { foreach ($subuebung_obj->uebungen as $subrow) { if($uebung_id=='') $uebung_id=$subrow->uebung_id; - + if($uebung_id == $subrow->uebung_id) $selected = 'selected'; else $selected = ''; - + echo "'; - + } } } - + echo ''; echo " [".$p->t('benotungstool/benoten')."]"; $abgabe_obj = new uebung($uebung_id); if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*")) { - $date = date('Y-m-d_H:i:s'); + $date = date('Y-m-d_H:i:s'); $downloadname = makeUploadName($db, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date); - $downloadname = mb_ereg_replace($uebung_id, ereg_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname); + $downloadname = str_replace($uebung_id, str_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname); + $downloadname = preg_replace('/[^A-Za-z0-9\-_]/', '',$downloadname); echo " [".$p->t('benotungstool/abgabenDownloaden')."]"; } else echo "[".$p->t('benotungstool/keineAbgabenVerfuegbar')."]"; - + echo ''; } - - - - + + + + echo "


"; //Studentenliste echo $p->t('benotungstool/bitteWaehlenSieDenStudentenAus')."
"; @@ -907,14 +909,14 @@ else       - + ".$p->t('global/uid')." ".$p->t('global/nachname')." ".$p->t('global/vorname')." ".$p->t('benotungstool/studentenansicht')." - +   @@ -922,7 +924,7 @@ else     "; - /* + /* if($row_grp->gruppe_kurzbz!='') { echo " @@ -945,16 +947,16 @@ else " ORDER BY nachname, vorname"; } */ - // studentenquery + // studentenquery $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; if($result_stud = $db->db_query($qry_stud)) { $i=1; while($row_stud = $db->db_fetch_object($result_stud)) { - - + + echo " $row_stud->uid diff --git a/cis/private/lehre/benotungstool/verwaltung_listen.php b/cis/private/lehre/benotungstool/verwaltung_listen.php index 57a149caa..85b1c016e 100644 --- a/cis/private/lehre/benotungstool/verwaltung_listen.php +++ b/cis/private/lehre/benotungstool/verwaltung_listen.php @@ -36,11 +36,11 @@ require_once('functions.inc.php'); require_once('../../../../include/phrasen.class.php'); $sprache = getSprache(); -$p = new phrasen($sprache); +$p = new phrasen($sprache); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); - + function microtime_float() { list($usec, $sec) = explode(" ", microtime()); @@ -64,7 +64,7 @@ if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehr $lehreinheit_id = $_GET['lehreinheit_id']; else $lehreinheit_id = ''; - + //Angabedatei ausliefern if (isset($_GET["download"])){ $file=$_GET["download"]; @@ -100,7 +100,7 @@ if (isset($_GET["download"])){ { return confirm('t('gesamtnote/wollenSieWirklichLoeschen');?>'); } - + function set_notenschluessel_prozent() { document.ns.schluessel_punkte_1.value=89; @@ -156,7 +156,7 @@ if (isset($_FILES["angabedatei"])) $angabedatei_up = $_FILES["angabedatei"]["tmp_name"]; else $angabedatei_up = null; - + $beispiel_id = (isset($_GET['beispiel_id'])?$_GET['beispiel_id']:''); $uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); @@ -223,11 +223,11 @@ $stsem_content.= "\n"; //Lehreinheiten laden if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) { - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM + $qry = "SELECT + distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz + FROM lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE + WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND @@ -235,11 +235,11 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st } else { - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM + $qry = "SELECT + distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz + FROM lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE + WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND @@ -384,7 +384,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) $error_anzahlderbeispiele = "".$p->t('benotungstool/anzahlDerBeispieleKleiner100').""; $error=true; } - + if ($maxstd != '') { if(!is_numeric($maxstd)) @@ -405,7 +405,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) } else $maxstd = null; - + if ($maxbsp != '') { if(!is_numeric($maxbsp)) @@ -427,7 +427,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) else $maxbsp = null; } - + $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); @@ -462,7 +462,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); if (isset($_POST["uebung_neu"])) { - if (isset($_POST["kl_abgabe"])) + if (isset($_POST["kl_abgabe"])) $uebung_obj->abgabe=true; else $uebung_obj->abgabe=false; @@ -487,12 +487,12 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) $uebung_obj->maxbsp = $maxbsp; $uebung_obj->gewicht = $gewicht; $uebung_obj->get_next_nummer(); - $uebung_obj->nummer = $uebung_obj->next_nummer; + $uebung_obj->nummer = $uebung_obj->next_nummer; if($uebung_obj->save(true)) { $uebung_id = $uebung_obj->uebung_id; - + //Angabedatei ablegen if ($angabedatei_up) { @@ -503,12 +503,12 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) //Find occurence of extensions ending with ".tar." if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array)) $extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.')); - else + else $extension = $name_up["extension"]; $name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); $angabedatei = $name_neu.".".$extension; - + $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei; //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; //unlink($angabepfad); @@ -518,7 +518,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) $uebung_obj->save(false); } //Beispiele anlegen - + $error_msg=''; for($i=0;$i<$anzahlderbeispiele;$i++) { @@ -625,7 +625,7 @@ if(isset($_POST['uebung_edit'])) } else $maxstd = null; - + if ($maxbsp != '') { if(!is_numeric($maxbsp)) @@ -646,7 +646,7 @@ if(isset($_POST['uebung_edit'])) } else $maxbsp = null; - + if($freigabevon_sav>$freigabebis_sav) { echo "".$p->t('benotungstool/vonDatumNichtGroesserAlsBisDatum').""; @@ -680,7 +680,7 @@ if(isset($_POST['uebung_edit'])) $extension = $name_up["extension"]; $name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); $angabedatei_neu = $name_neu.".".$extension; - + $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu; //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; //unlink($angabepfad); @@ -690,7 +690,7 @@ if(isset($_POST['uebung_edit'])) move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); } else - { + { $uebung_akt = new uebung(); $uebung_akt->load($uebung_id); $angabedatei_neu = $uebung_akt->angabedatei; @@ -702,7 +702,7 @@ if(isset($_POST['uebung_edit'])) $uebung_obj->angabedatei=$angabedatei_neu; $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); - if ($uebung_obj->beispiele) + if ($uebung_obj->beispiele) $uebung_obj->abgabe = (isset($_POST['kl_abgabe'])?true:false); //$uebung_obj->beispiele=true; $uebung_obj->bezeichnung=$thema; @@ -749,11 +749,11 @@ if(isset($_POST['liste_edit'])) echo "".$p->t('benotungstool/gewichtMussEineZahlSein').""; $error = true; } - + if(!$error) { - + $uebung_obj = new uebung(); $uebung_obj->load($_GET['liste_id']); $uebung_obj->gewicht=$gewicht; @@ -804,7 +804,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) $beispiel_obj = new beispiel(); if(isset($_POST['beispiel_edit'])) { - $beispiel_obj->load($beispiel_id); + $beispiel_obj->load($beispiel_id); $beispiel_obj->beispiel_id= $beispiel_id; $beispiel_obj->new=false; } @@ -845,7 +845,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) //Uebersichtstabelle if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='') { - + echo ""; - + if ($uebung_obj->beispiele){ echo ""; echo""; echo ""; - } + } else if ($uebung_obj->abgabe) { echo ""; echo ""; } - if ($uebung_obj->beispiele) + if ($uebung_obj->beispiele) echo""; echo ""; echo ""; @@ -900,25 +901,25 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='') echo "\n"; echo "
"; //Bearbeiten der ausgewaehlten Uebung echo "
\n"; @@ -857,23 +857,24 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='') //$downloadname = mb_ereg_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); $downloadname = mb_str_replace(' ', '_', $uebung_obj->bezeichnung); $downloadname = mb_str_replace($uebung_id, $downloadname, $uebung_obj->angabedatei); + $downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname); echo "
".$p->t('benotungstool/thema')."$error_thema
".$p->t('benotungstool/freigabe')."von mktime_fromtimestamp($uebung_obj->freigabevon))."'>
".$p->t('benotungstool/format')."bis mktime_fromtimestamp($uebung_obj->freigabebis))."'>
".$p->t('benotungstool/maxStudentenBeispiel')."$error_maxstd
".$p->t('benotungstool/maxBeispieleStudent')."$error_maxbsp
".$p->t('benotungstool/abgabe')." abgabe?'checked':'').">
".$p->t('benotungstool/gewicht')."$error_gewicht
".$p->t('benotungstool/positiv')." positiv?'checked':'').">
".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." statistik?'checked':'').">
".$p->t('benotungstool/angabeidatei')."
\n"; echo "\n\n"; - + echo ""; echo ""; - + echo "
".$p->t('benotungstool/neuesBeispielAnlegen')."
 
".$p->t('global/bezeichnung')." "; echo " ".$p->t('benotungstool/punkte')."
"; } - + echo ""; - - + + //Uebersicht der Beispiele if ($uebung_obj->beispiele) { echo "
\n"; echo "\n"; echo "\n\n"; - + if($anzahl>0) { echo "\n"; @@ -932,7 +933,7 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='') } else echo ""; - + echo "
".$p->t('benotungstool/vorhandeneBeispiele')."
 
".$p->t('benotungstool/beispiel')."".$p->t('benotungstool/punkte')."".$p->t('benotungstool/auswahl')."
".$p->t('benotungstool/keineBeispieleAngelegt')."
"; } echo ""; @@ -969,10 +970,10 @@ else echo "
\n"; echo "\n"; echo ""; - + $liste_obj = new uebung(); $liste_obj->load($liste_id); - + echo " @@ -980,13 +981,13 @@ else
".$p->t('benotungstool/uebungBearbeiten')." 
 
".$p->t('benotungstool/thema')."$error_thema
".$p->t('benotungstool/gewicht')."$error_gewicht
".$p->t('benotungstool/positiv')." positiv?'checked':'').">
"; } - + //Gesamtuebersicht ueber alle Listen innerhalb der Uebung echo "'; - elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze==0) + elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze<=0) echo ''; else echo ''; diff --git a/locale/de-AT/incoming.php b/locale/de-AT/incoming.php index e491bac46..c2a83a3b2 100755 --- a/locale/de-AT/incoming.php +++ b/locale/de-AT/incoming.php @@ -132,6 +132,10 @@ $this->phrasen['incoming/tabelleSortierinformation']='Sie können die Spalten du $this->phrasen['incoming/waehlenSieAusDenOptionen']='Bitte wählen Sie die gewünschen Optionen aus dem DropDown und klicken Sie auf "Filter"'; $this->phrasen['incoming/lvInfo']='LV-Info'; $this->phrasen['incoming/erfolgreichAbgeschickt']='Ihre Bewerbung wurde erfolgreich abgeschickt. Die zuständige Assistenz wird sich in Kürze mit Ihnen in Verbindung setzen'; -$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim senden der Bewerbung. Bitte kontaktieren Sie '.MAIL_INTERNATIONAL.''; -$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='Das Feld "Jahre studiert" muss eine ganze Zahl sein'; +$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim Senden der Bewerbung. Bitte kontaktieren Sie '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='Das Feld "Jahre studiert" muss eine ganze Zahl sein'; +$this->phrasen['incoming/lvVollBelegt']='Es sind mittlerweile keine freien Plätze mehr für diese Lehrveranstaltung verfügbar. Bei Rückfragen kontaktieren Sie bitte '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/beginnNichtInVergangenheit']='Das Beginndatum darf nicht in der Vergangenheit liegen'; +$this->phrasen['incoming/endeGroesserStart']='Das Endedatum darf nicht vor dem Beginndatum liegen'; +$this->phrasen['incoming/bitteGueltigesDatumEingeben']='Das Start- oder Endedatum muss im Format TT.MM.YYYY vorliegen'; ?> \ No newline at end of file diff --git a/locale/en-US/incoming.php b/locale/en-US/incoming.php index b2e833177..411b962df 100755 --- a/locale/en-US/incoming.php +++ b/locale/en-US/incoming.php @@ -134,5 +134,9 @@ $this->phrasen['incoming/waehlenSieAusDenOptionen']='Please choose your options $this->phrasen['incoming/lvInfo']='Course-Info'; $this->phrasen['incoming/erfolgreichAbgeschickt']='Admission sent successfully. The administrative assistant responsible will contact you soon'; $this->phrasen['incoming/fehlerBeimSenden']='An error occured while sending the application. Please contact '.MAIL_INTERNATIONAL.''; -$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='"Years completed" must be a positive integer'; +$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='"Years completed" must be a positive integer'; +$this->phrasen['incoming/lvVollBelegt']='By now there are no vacancies for this course. For further questions please contact '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/beginnNichtInVergangenheit']='The "From"-date may not be in the past'; +$this->phrasen['incoming/endeGroesserStart']='The "To"-date may not be before the start'; +$this->phrasen['incoming/bitteGueltigesDatumEingeben']='The date for the begin and end must be entered in the DD.MM.YYYY format'; ?> \ No newline at end of file From afe0334e052246ee18d8089dbd1395c6641d0236 Mon Sep 17 00:00:00 2001 From: kindlm Date: Mon, 5 Dec 2016 12:16:00 +0100 Subject: [PATCH 33/74] =?UTF-8?q?Incoming-Adminseite=20=C3=9Cbersicht=20LV?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - An neue Berechnung des Tools angepasst - Anzeige der Anmeldungen - Es werden auch LVs mit Anmeldungen gezeigt, deren Incomingplätze 0 sind oder die nicht in der Studienordnung sind --- .../personen/incoming_lehrveranstaltungen.php | 593 +++++++++++++----- 1 file changed, 424 insertions(+), 169 deletions(-) diff --git a/vilesci/personen/incoming_lehrveranstaltungen.php b/vilesci/personen/incoming_lehrveranstaltungen.php index 70523a9b3..b1b6fe76d 100644 --- a/vilesci/personen/incoming_lehrveranstaltungen.php +++ b/vilesci/personen/incoming_lehrveranstaltungen.php @@ -52,6 +52,12 @@ $stsem->getNextStudiensemester(); $stg = new studiengang(); $stg->getAll(); +$message = ''; + +$filter_url = ''; +if (isset($_GET['filter']) || isset($_GET['unterrichtssprache']) || isset($_GET['studiengang'])) + $filter_url = 'filter='.$_GET['filter'].'&unterrichtssprache='.$_GET['unterrichtssprache'].'&studiengang='.$_GET['studiengang'].'&go=Filter&'; + ?> @@ -66,14 +72,20 @@ $stg->getAll(); $(document).ready(function() { $("#t1").tablesorter( - { - sortList: [[0,0],[2,0],[3,0],[4,0]], - widgets: ["zebra"] - }); + { + sortList: [[1,0],[3,0],[4,0],[5,0]], + widgets: ["zebra"], + headers: {10: {sorter: false}, 11: {sorter: false}} + }); + $("#t2").tablesorter( + { + sortList: [[0,0],[1,0]], + widgets: ["zebra"] + }); }); function conf(val1) { - return confirm("Incomingplätze von '"+val1+"' auf 0 setzen?"); + return confirm("Incomingplätze der LV '"+val1+"' auf 0 setzen?"); } @@ -96,88 +108,101 @@ if($method=="lehrveranstaltungen") $lehrveranstaltung->incoming = 0; if($lehrveranstaltung->save()) - echo $p->t('global/erfolgreichgespeichert'); + $message = $p->t('global/erfolgreichgespeichert'); else - echo $p->t('global/fehleraufgetreten'); + $message = $p->t('global/fehleraufgetreten'); } // Übersicht aller LVs echo '

Lehrveranstaltungs-Verwaltung

'; echo ' -
-
"; echo "
"; echo ""; $studentuebung = new uebung(); - if (!$studentuebung->check_studentuebung($liste_id)) + if (!$studentuebung->check_studentuebung($liste_id)) echo ""; $uebung_obj = new uebung(); @@ -1138,10 +1139,10 @@ else $maxstudentenprobeispiel = ''; $maxbeispieleprostudent = ''; $gewicht = 1; - + } echo "
".$p->t('benotungstool/vorhandeneAufgabeBearbeiten')."
"; - + if ($anzeigen != 'abgabe' && $anzeigen != 'nada') { echo " @@ -1181,27 +1182,27 @@ else } } } - + if ($anzeigen != "beide") - { + { if ($liste_obj->prozent == 't') { $einheit = " %"; $einheit_link = $p->t('benotungstool/notenschluesselInProzent')." / ".$p->t('benotungstool/punkten').""; - } + } else { $einheit=" ".$p->t('benotungstool/punkte'); $einheit_link = $p->t('benotungstool/notenschluesselIn')." ".$p->t('benotungstool/prozentPunkten'); } - + echo "\n"; echo "\n"; echo ""; echo ""; - echo ""; + echo ""; + echo ""; echo "\n"; echo ""; echo ""; @@ -1215,14 +1216,14 @@ else echo "
"; echo ""; echo ""; - + echo "
".$p->t('benotungstool/notenschluesselDefinieren')."
"; echo $einheit_link; - echo "
 
".$p->t('benotungstool/note')."".$p->t('benotungstool/minimum')."
$einheit
"; } } if(!isset($_POST['uebung_neu'])) $thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); - + if ($anzeigen != 'beispiele' && $anzeigen != 'nada') { echo " diff --git a/cis/private/lehre/benotungstool/zipdownload_benotungstool.php b/cis/private/lehre/benotungstool/zipdownload_benotungstool.php index e3b9a9f27..9e177dba7 100755 --- a/cis/private/lehre/benotungstool/zipdownload_benotungstool.php +++ b/cis/private/lehre/benotungstool/zipdownload_benotungstool.php @@ -15,7 +15,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Christian Paminger , + * Authors: Christian Paminger , * Andreas Oesterreicher * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > @@ -28,12 +28,12 @@ require_once('../../../../config/cis.config.inc.php'); require_once('../../../../include/functions.inc.php'); -$user = get_uid(); +$user = get_uid(); if(!check_lektor($user)) die('Sie haben keine Berechtigung fuer diese Seite'); -//Gueltigkeit der Parameter pruefen +//Gueltigkeit der Parameter pruefen if(!isset($_GET['uebung_id']) || !is_numeric($_GET['uebung_id'])) { die('Fehler bei der Parameteruebergabe'); @@ -62,24 +62,30 @@ if(mb_strstr($downloadname,'..')) //Pfade bauen $pfad = BENOTUNGSTOOL_PATH.'abgabe/'; $filename = 'download_'.$user.'_'.$downloadname.'.zip'; +$filename_tmp = 'download_'.$user.'_'.$uebung_id.'.zip'; -if(!check_filename($filename)) +if(!check_filename($filename) || !check_filename($filename_tmp)) die('Ungueltiger Parameter gefunden'); //Pfad wechseln -chdir($pfad); +if(chdir($pfad)) +{ + //File loeschen falls es existiert + //if(file_exists("download_".$user."*")) + exec('rm download_'.$user.'*'); -//File loeschen falls es existiert -//if(file_exists("download_".$user."*")) -exec('rm download_'.$user.'*'); - -//Zip File erstellen -exec("zip -r ".escapeshellarg($filename).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*'); + //Zip File erstellen + exec("zip -r ".escapeshellarg($filename_tmp).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*'); -//Auf Zip File Verweisen -//header("Location: $pfad$filename"); -header('Content-Type: application/octet-stream'); -header('Content-disposition: attachment; filename="'.$filename.'"'); -readfile($filename); -unlink($filename); + //Auf Zip File Verweisen + //header("Location: $pfad$filename"); + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename="'.$filename.'"'); + readfile($filename_tmp); + unlink($filename_tmp); +} +else +{ + die('Path change failed'); +} ?> From b97aac7c4b5dcb38a67c11d85869a433ed7c2d3f Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Thu, 24 Nov 2016 17:04:46 +0100 Subject: [PATCH 07/74] Fixed XSS issues --- cis/menu.php | 6 ++++-- cis/private/lehre/lesson.php | 3 ++- cis/private/lvplan/stpl_week.php | 5 +++-- cis/private/tools/suche.php | 5 ++++- cis/private/tools/zeitaufzeichnung.php | 3 ++- include/functions.inc.php | 5 +++-- 6 files changed, 18 insertions(+), 9 deletions(-) diff --git a/cis/menu.php b/cis/menu.php index 089271e44..09859c413 100644 --- a/cis/menu.php +++ b/cis/menu.php @@ -103,12 +103,14 @@ ob_start(); if(isset($_GET['content_id']) && $_GET['content_id'] != '') { - $content_id = $_GET['content_id']; + // Uses urlencode to avoid XSS issues + $content_id = urlencode($_GET['content_id']); } else { $content_id = CIS_MENU_ENTRY_CONTENT; - } ?> + } + ?>
'; echo '

'.$p->t('studienplan/legende').':
From 29fda74f454169533a81489fc67d59091213f484 Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Tue, 29 Nov 2016 08:19:02 +0100 Subject: [PATCH 11/74] =?UTF-8?q?anmeldung=20f=C3=BCr=20studenten=20mit=20?= =?UTF-8?q?beschr=C3=A4nkten=20CP=20gefixt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pruefung/pruefungsanmeldung.json.php | 15 ++++++++--- include/pruefungsanmeldung.class.php | 27 ++++++++++++------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 3b69bba8f..2e306de94 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -539,11 +539,20 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $konto = new konto(); $creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz); - if(($creditPoints != false) && ($lehrveranstaltung->ects > ($creditPoints - $ects_verwendet))) + if(($creditPoints != false)) + { + $cpVerbleibend = $creditPoints - $ects_verwendet; + if(($lehrveranstaltung->ects > $cpVerbleibend)) + { + $data['error'] = 'true'; + $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints'); + return $data; + } + } + else { $data['error'] = 'true'; - $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints'); - return $data; + $data['errormsg'] = 'Fehler beim Laden der Credit Points.'; } if(isset($data['error']) && $data['error'] = 'true') diff --git a/include/pruefungsanmeldung.class.php b/include/pruefungsanmeldung.class.php index 67b32e65a..fa7798a1c 100644 --- a/include/pruefungsanmeldung.class.php +++ b/include/pruefungsanmeldung.class.php @@ -174,16 +174,23 @@ class pruefungsanmeldung extends basis_db { /** * Lädt alle Prüfungsanmeldungen eines Studenten * @param type $uid UID eines Studenten - * @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013') + * @param type $studiensemester_kurzbz Filter nach Studiensemester (zB 'WS2013') * @param type $status_kurzbz Filter nach Status (zB 'angemeldet') * @return boolean|array false, bei Fehler; Array mit Anmeldungen */ - public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null) + public function getAnmeldungenByStudent($uid, $studiensemester_kurzbz=null, $status_kurzbz=null) { $qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa ' . 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id ' . 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id ' - . 'WHERE uid='.$this->db_add_param($uid).';'; + . 'WHERE uid='.$this->db_add_param($uid); + + if($studiensemester_kurzbz != null) + { + $qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz); + } + + $qry .= ';'; if(!$this->db_query($qry)) { @@ -204,13 +211,13 @@ class pruefungsanmeldung extends basis_db { $anmeldung->pruefung_id = $row->pruefung_id; $anmeldung->von = $row->von; $anmeldung->bis = $row->bis; - $anmeldung->reihung = $row->reihung; - $anmeldung->wuensche = $row->wuensche; - $anmeldung->kommentar = $row->kommentar; - $anmeldung->statusupdateamum = $row->statusupdateamum; - $anmeldung->statusupdatevon = $row->statusupdatevon; - $anmeldung->anrechnung_id = $row->anrechnung_id; - $anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz; + $anmeldung->reihung = $row->reihung; + $anmeldung->wuensche = $row->wuensche; + $anmeldung->kommentar = $row->kommentar; + $anmeldung->statusupdateamum = $row->statusupdateamum; + $anmeldung->statusupdatevon = $row->statusupdatevon; + $anmeldung->anrechnung_id = $row->anrechnung_id; + $anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz; array_push($anmeldungen, $anmeldung); } return $anmeldungen; From 37fb5278c40c4b27bed37eab4955579a74430744 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 11:43:54 +0100 Subject: [PATCH 12/74] phpci --- phpci.yml | 44 +- tests/codeception/_data/dump.sql | 966 +++++++++++++++++- .../tests/acceptance.suite.dist.yml | 2 +- .../tests/acceptance/CISLoginPageCept.php | 12 +- 4 files changed, 1016 insertions(+), 8 deletions(-) diff --git a/phpci.yml b/phpci.yml index f945cf6e3..f84df9b3d 100644 --- a/phpci.yml +++ b/phpci.yml @@ -4,12 +4,54 @@ build_settings: ignore: - "vendor" - "tests" + pgsql: + host: 'localhost;dbname=template1' + user: 'fhcomplete' + pass: 'fhcomplete' setup: - + composer: + action: "install" + prefer_dist: true + no_dev: true + pgsql: + - "UPDATE pg_database SET datallowconn = 'false' WHERE datname = 'fhctest';" # Stops connections to database + - "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'fhctest';" # Close previous connections to database + - "DROP DATABASE IF EXISTS fhctest;" # Drops database + - "CREATE DATABASE fhctest OWNER fhcomplete;" # Creates database + shell: + - "rm -f /var/www/html/build" # Remove the previous soft link, if exists, to the build directory + - "ln -s %BUILD_PATH% /var/www/html/build" # Create a new soft link to the actual build directory + # Rename configuration files + - "cd %BUILD_PATH% && cp ./config/global.config-default.inc.php ./config/global.config.inc.php" + - "cd %BUILD_PATH% && cp ./config/cis.config-default.inc.php ./config/cis.config.inc.php" + - "cd %BUILD_PATH% && cp ./config/vilesci.config-default.inc.php ./config/vilesci.config.inc.php" + - "cd %BUILD_PATH% && cp ./config/system.config-default.inc.php ./config/system.config.inc.php" + - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" # Install Database test: + lint: + directories: + - "application/" + recursive: true codeception: config: "tests/codeception/" path: "tests/codeception/_output/" +# php_docblock_checker: +# path: "application/controllers/" +# allowed_warnings: 100 +# skip_classes: false +# php_code_sniffer: +# path: "application/controllers/" +# standard: "tests/codesniffer/FHComplete" +# allowed_errors: 200 +# allowed_warnings: 200 +# php_unit: +# directory: "tests/phpunit/" complete: + pgsql: + - "UPDATE pg_database SET datallowconn = 'false' WHERE datname = 'fhctest';" # Stops connections to database + - "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'fhctest';" # Close previous connections to database + - "DROP DATABASE IF EXISTS fhctest;" # Drops database + shell: + - "rm -f /var/www/html/build" # Remove the previous soft link, if exists, to the build directory \ No newline at end of file diff --git a/tests/codeception/_data/dump.sql b/tests/codeception/_data/dump.sql index 4bc742ce6..4d7859c44 100644 --- a/tests/codeception/_data/dump.sql +++ b/tests/codeception/_data/dump.sql @@ -1 +1,965 @@ -/* Replace this file with actual dump of your database */ \ No newline at end of file +-- Workaround +GRANT SELECT ON TABLE wawi.tbl_konto TO vilesci; +GRANT SELECT ON TABLE campus.tbl_pruefungsstatus TO vilesci; +GRANT SELECT ON TABLE fue.tbl_scrumsprint TO vilesci; +GRANT SELECT ON TABLE fue.tbl_scrumteam TO vilesci; + +-- INSERT INTO ci_apikey +INSERT INTO public.ci_apikey (key, level, ignore_limits, date_created) VALUES ('testapikey@fhcomplete.org', NULL, NULL, NOW()); + +-- DELETE FROM system.tbl_rolleberechtigung +DELETE FROM system.tbl_rolleberechtigung WHERE berechtigung_kurzbz IN ( + 'basis/archiv', + 'basis/ausbildung', + 'basis/berufstaetigkeit', + 'basis/beschaeftigungsausmass', + 'basis/besqual', + 'basis/bisfunktion', + 'basis/bisio', + 'basis/bisorgform', + 'basis/bisverwendung', + 'basis/bundesland', + 'basis/entwicklungsteam', + 'basis/gemeinde', + 'basis/hauptberuf', + 'basis/lgartcode', + 'basis/mobilitaetsprogramm', + 'basis/nation', + 'basis/orgform', + 'basis/verwendung', + 'basis/zgv', + 'basis/zgvdoktor', + 'basis/zgvgruppe', + 'basis/zgvmaster', + 'basis/zweck', + 'basis/abgabe', + 'basis/anwesenheit', + 'basis/beispiel', + 'basis/content', + 'basis/contentchild', + 'basis/contentgruppe', + 'basis/contentlog', + 'basis/contentsprache', + 'basis/coodle', + 'basis/dms', + 'basis/erreichbarkeit', + 'basis/feedback', + 'basis/freebusy', + 'basis/freebusytyp', + 'basis/infoscreen', + 'basis/legesamtnote', + 'basis/lvgesamtnote', + 'basis/lvinfo', + 'basis/news', + 'basis/notenschluessel', + 'basis/notenschluesseluebung', + 'basis/paabgabe', + 'basis/paabgabetyp', + 'basis/pruefung', + 'basis/pruefungsanmeldung', + 'basis/pruefungsfenster', + 'basis/pruefungsstatus', + 'basis/pruefungstermin', + 'basis/reservierung', + 'basis/resturlaub', + 'basis/studentbeispiel', + 'basis/studentuebung', + 'basis/template', + 'basis/uebung', + 'basis/veranstaltung', + 'basis/veranstaltungskategorie', + 'basis/zeitaufzeichnung', + 'basis/zeitsperre', + 'basis/zeitsperretyp', + 'basis/zeitwunsch', + 'basis/aktivitaet', + 'basis/aufwandstyp', + 'basis/projekt', + 'basis/projekt_ressource', + 'basis/projektphase', + 'basis/projekttask', + 'basis/ressource', + 'basis/scrumsprint', + 'basis/scrumteam', + 'basis/abschlussbeurteilung', + 'basis/abschlusspruefung', + 'basis/akadgrad', + 'basis/anrechnung', + 'basis/betreuerart', + 'basis/ferien', + 'basis/lehreinheit', + 'basis/lehreinheitgruppe', + 'basis/lehreinheitmitarbeiter', + 'basis/lehrfach', + 'basis/lehrform', + 'basis/lehrfunktion', + 'basis/lehrmittel', + 'basis/lehrtyp', + 'basis/lehrveranstaltung', + 'basis/lvangebot', + 'basis/lvregel', + 'basis/lvregeltyp', + 'basis/moodle', + 'basis/note', + 'basis/notenschluesselaufteilung', + 'basis/notenschluesselzuordnung', + 'basis/projektarbeit', + 'basis/projektbetreuer', + 'basis/projekttyp', + 'basis/pruefungstyp', + 'lehre/studienordnung', + 'lehre/studienordnungstatus', + 'lehre/studienplan', + 'basis/studienplatz', + 'basis/stunde', + 'basis/stundenplan', + 'basis/stundenplandev', + 'basis/vertrag', + 'basis/vertragsstatus', + 'basis/vertragstyp', + 'basis/zeitfenster', + 'basis/zeugnis', + 'basis/zeugnisnote', + 'basis/adresse', + 'basis/akte', + 'basis/ampel', + 'basis/aufmerksamdurch', + 'basis/aufnahmeschluessel', + 'basis/aufnahmetermin', + 'basis/aufnahmetermintyp', + 'basis/bankverbindung', + 'basis/benutzer', + 'basis/benutzerfunktion', + 'basis/benutzergruppe', + 'basis/bewerbungstermine', + 'basis/buchungstyp', + 'basis/dokument', + 'basis/dokumentprestudent', + 'basis/dokumentstudiengang', + 'basis/erhalter', + 'basis/fachbereich', + 'basis/filter', + 'basis/firma', + 'basis/firmatag', + 'basis/firmentyp', + 'basis/fotostatus', + 'basis/funktion', + 'basis/geschaeftsjahr', + 'basis/gruppe', + 'basis/kontakt', + 'basis/kontaktmedium', + 'basis/kontakttyp', + 'basis/konto', + 'basis/lehrverband', + 'basis/log', + 'basis/mitarbeiter', + 'basis/msg_message', + 'basis/message', + 'basis/msg_thread', + 'basis/notiz', + 'basis/notizzuordnung', + 'basis/organisationseinheit', + 'basis/organisationseinheittyp', + 'basis/ort', + 'basis/ortraumtyp', + 'basis/person', + 'basis/personfunktionstandort', + 'basis/preincoming', + 'basis/preinteressent', + 'basis/preinteressentstudiengang', + 'basis/preoutgoing', + 'basis/prestudent', + 'basis/prestudentstatus', + 'basis/raumtyp', + 'basis/reihungstest', + 'basis/semesterwochen', + 'basis/service', + 'basis/sprache', + 'basis/standort', + 'basis/statistik', + 'basis/status', + 'basis/student', + 'basis/studentlehrverband', + 'basis/studiengang', + 'basis/studiengangstyp', + 'basis/studienjahr', + 'basis/studiensemester', + 'basis/tag', + 'basis/variable', + 'basis/vorlage', + 'basis/vorlagestudiengang', + 'basis/appdaten', + 'basis/benutzerrolle', + 'basis/berechtigung', + 'basis/cronjob', + 'basis/rolle', + 'basis/rolleberechtigung', + 'basis/server', + 'basis/webservicelog', + 'basis/webservicerecht', + 'basis/webservicetyp', + 'basis/ablauf', + 'basis/antwort', + 'basis/frage', + 'basis/gebiet', + 'basis/kategorie', + 'basis/kriterien', + 'basis/pruefling', + 'basis/vorschlag', + 'basis/aufteilung', + 'basis/bestelldetail', + 'basis/bestelldetailtag', + 'basis/bestellstatus', + 'basis/bestellung', + 'basis/bestellungtag', + 'basis/betriebsmittel', + 'basis/betriebsmittelperson', + 'basis/betriebsmittelstatus', + 'basis/betriebsmitteltyp', + 'basis/buchung', + 'basis/budget', + 'basis/kostenstelle', + 'basis/rechnung', + 'basis/rechnungsbetrag', + 'basis/rechnungstyp', + 'basis/zahlungstyp', + 'lehre/studienplan_semester', + 'basis/dms_version', + 'student/stammdaten', + 'mitarbeiter/stammdaten', + 'lehre/vw_studiensemester', + 'lehre/reservierung', + 'lehre/reihungstest', + 'wawi/inventar:begrenzt', + 'fs/dms', + 'system/phrase', + 'system/vorlagestudiengang', + 'system/vorlage', + 'system/appdaten', + 'system/PhrasesLib' +); + +-- DELETE FROM system.tbl_berechtigung +DELETE FROM system.tbl_berechtigung WHERE berechtigung_kurzbz IN ( + 'basis/archiv', + 'basis/ausbildung', + 'basis/berufstaetigkeit', + 'basis/beschaeftigungsausmass', + 'basis/besqual', + 'basis/bisfunktion', + 'basis/bisio', + 'basis/bisorgform', + 'basis/bisverwendung', + 'basis/bundesland', + 'basis/entwicklungsteam', + 'basis/gemeinde', + 'basis/hauptberuf', + 'basis/lgartcode', + 'basis/mobilitaetsprogramm', + 'basis/nation', + 'basis/orgform', + 'basis/verwendung', + 'basis/zgv', + 'basis/zgvdoktor', + 'basis/zgvgruppe', + 'basis/zgvmaster', + 'basis/zweck', + 'basis/abgabe', + 'basis/anwesenheit', + 'basis/beispiel', + 'basis/content', + 'basis/contentchild', + 'basis/contentgruppe', + 'basis/contentlog', + 'basis/contentsprache', + 'basis/coodle', + 'basis/dms', + 'basis/erreichbarkeit', + 'basis/feedback', + 'basis/freebusy', + 'basis/freebusytyp', + 'basis/infoscreen', + 'basis/legesamtnote', + 'basis/lvgesamtnote', + 'basis/lvinfo', + 'basis/news', + 'basis/notenschluessel', + 'basis/notenschluesseluebung', + 'basis/paabgabe', + 'basis/paabgabetyp', + 'basis/pruefung', + 'basis/pruefungsanmeldung', + 'basis/pruefungsfenster', + 'basis/pruefungsstatus', + 'basis/pruefungstermin', + 'basis/reservierung', + 'basis/resturlaub', + 'basis/studentbeispiel', + 'basis/studentuebung', + 'basis/template', + 'basis/uebung', + 'basis/veranstaltung', + 'basis/veranstaltungskategorie', + 'basis/zeitaufzeichnung', + 'basis/zeitsperre', + 'basis/zeitsperretyp', + 'basis/zeitwunsch', + 'basis/aktivitaet', + 'basis/aufwandstyp', + 'basis/projekt', + 'basis/projekt_ressource', + 'basis/projektphase', + 'basis/projekttask', + 'basis/ressource', + 'basis/scrumsprint', + 'basis/scrumteam', + 'basis/abschlussbeurteilung', + 'basis/abschlusspruefung', + 'basis/akadgrad', + 'basis/anrechnung', + 'basis/betreuerart', + 'basis/ferien', + 'basis/lehreinheit', + 'basis/lehreinheitgruppe', + 'basis/lehreinheitmitarbeiter', + 'basis/lehrfach', + 'basis/lehrform', + 'basis/lehrfunktion', + 'basis/lehrmittel', + 'basis/lehrtyp', + 'basis/lehrveranstaltung', + 'basis/lvangebot', + 'basis/lvregel', + 'basis/lvregeltyp', + 'basis/moodle', + 'basis/note', + 'basis/notenschluesselaufteilung', + 'basis/notenschluesselzuordnung', + 'basis/projektarbeit', + 'basis/projektbetreuer', + 'basis/projekttyp', + 'basis/pruefungstyp', + 'lehre/studienordnung', + 'lehre/studienordnungstatus', + 'lehre/studienplan', + 'basis/studienplatz', + 'basis/stunde', + 'basis/stundenplan', + 'basis/stundenplandev', + 'basis/vertrag', + 'basis/vertragsstatus', + 'basis/vertragstyp', + 'basis/zeitfenster', + 'basis/zeugnis', + 'basis/zeugnisnote', + 'basis/adresse', + 'basis/akte', + 'basis/ampel', + 'basis/aufmerksamdurch', + 'basis/aufnahmeschluessel', + 'basis/aufnahmetermin', + 'basis/aufnahmetermintyp', + 'basis/bankverbindung', + 'basis/benutzer', + 'basis/benutzerfunktion', + 'basis/benutzergruppe', + 'basis/bewerbungstermine', + 'basis/buchungstyp', + 'basis/dokument', + 'basis/dokumentprestudent', + 'basis/dokumentstudiengang', + 'basis/erhalter', + 'basis/fachbereich', + 'basis/filter', + 'basis/firma', + 'basis/firmatag', + 'basis/firmentyp', + 'basis/fotostatus', + 'basis/funktion', + 'basis/geschaeftsjahr', + 'basis/gruppe', + 'basis/kontakt', + 'basis/kontaktmedium', + 'basis/kontakttyp', + 'basis/konto', + 'basis/lehrverband', + 'basis/log', + 'basis/mitarbeiter', + 'basis/msg_message', + 'basis/message', + 'basis/msg_thread', + 'basis/notiz', + 'basis/notizzuordnung', + 'basis/organisationseinheit', + 'basis/organisationseinheittyp', + 'basis/ort', + 'basis/ortraumtyp', + 'basis/person', + 'basis/personfunktionstandort', + 'basis/preincoming', + 'basis/preinteressent', + 'basis/preinteressentstudiengang', + 'basis/preoutgoing', + 'basis/prestudent', + 'basis/prestudentstatus', + 'basis/raumtyp', + 'basis/reihungstest', + 'basis/semesterwochen', + 'basis/service', + 'basis/sprache', + 'basis/standort', + 'basis/statistik', + 'basis/status', + 'basis/student', + 'basis/studentlehrverband', + 'basis/studiengang', + 'basis/studiengangstyp', + 'basis/studienjahr', + 'basis/studiensemester', + 'basis/tag', + 'basis/variable', + 'basis/vorlage', + 'basis/vorlagestudiengang', + 'basis/appdaten', + 'basis/benutzerrolle', + 'basis/berechtigung', + 'basis/cronjob', + 'basis/rolle', + 'basis/rolleberechtigung', + 'basis/server', + 'basis/webservicelog', + 'basis/webservicerecht', + 'basis/webservicetyp', + 'basis/ablauf', + 'basis/antwort', + 'basis/frage', + 'basis/gebiet', + 'basis/kategorie', + 'basis/kriterien', + 'basis/pruefling', + 'basis/vorschlag', + 'basis/aufteilung', + 'basis/bestelldetail', + 'basis/bestelldetailtag', + 'basis/bestellstatus', + 'basis/bestellung', + 'basis/bestellungtag', + 'basis/betriebsmittel', + 'basis/betriebsmittelperson', + 'basis/betriebsmittelstatus', + 'basis/betriebsmitteltyp', + 'basis/buchung', + 'basis/budget', + 'basis/kostenstelle', + 'basis/rechnung', + 'basis/rechnungsbetrag', + 'basis/rechnungstyp', + 'basis/zahlungstyp', + 'lehre/studienplan_semester', + 'basis/dms_version', + 'student/stammdaten', + 'mitarbeiter/stammdaten', + 'lehre/vw_studiensemester', + 'lehre/reservierung', + 'lehre/reihungstest', + 'wawi/inventar:begrenzt', + 'fs/dms', + 'system/phrase', + 'system/vorlagestudiengang', + 'system/vorlage', + 'system/appdaten', + 'system/PhrasesLib' +); + +-- INSERT Permissions +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/archiv', 'Tbl_archiv'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/ausbildung', 'Tbl_ausbildung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/berufstaetigkeit', 'Tbl_berufstaetigkeit'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/beschaeftigungsausmass', 'Tbl_beschaeftigungsausmass'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/besqual', 'Tbl_besqual'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bisfunktion', 'Tbl_bisfunktion'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bisio', 'Tbl_bisio'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bisorgform', 'Tbl_bisorgform'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bisverwendung', 'Tbl_bisverwendung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bundesland', 'Tbl_bundesland'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/entwicklungsteam', 'Tbl_entwicklungsteam'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/gemeinde', 'Tbl_gemeinde'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/hauptberuf', 'Tbl_hauptberuf'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lgartcode', 'Tbl_lgartcode'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/mobilitaetsprogramm', 'Tbl_mobilitaetsprogramm'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/nation', 'Tbl_nation'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/orgform', 'Tbl_orgform'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/verwendung', 'Tbl_verwendung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zgv', 'Tbl_zgv'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zgvdoktor', 'Tbl_zgvdoktor'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zgvgruppe', 'Tbl_zgvgruppe'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zgvmaster', 'Tbl_zgvmaster'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zweck', 'Tbl_zweck'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/abgabe', 'Tbl_abgabe'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/anwesenheit', 'Tbl_anwesenheit'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/beispiel', 'Tbl_beispiel'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/content', 'Tbl_content'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/contentchild', 'Tbl_contentchild'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/contentgruppe', 'Tbl_contentgruppe'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/contentlog', 'Tbl_contentlog'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/contentsprache', 'Tbl_contentsprache'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/coodle', 'Tbl_coodle'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/dms', 'Tbl_dms'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/erreichbarkeit', 'Tbl_erreichbarkeit'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/feedback', 'Tbl_feedback'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/freebusy', 'Tbl_freebusy'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/freebusytyp', 'Tbl_freebusytyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/infoscreen', 'Tbl_infoscreen'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/legesamtnote', 'Tbl_legesamtnote'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lvgesamtnote', 'Tbl_lvgesamtnote'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lvinfo', 'Tbl_lvinfo'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/news', 'Tbl_news'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/notenschluessel', 'Tbl_notenschluessel'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/notenschluesseluebung', 'Tbl_notenschluesseluebung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/paabgabe', 'Tbl_paabgabe'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/paabgabetyp', 'Tbl_paabgabetyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefung', 'Tbl_pruefung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungsanmeldung', 'Tbl_pruefungsanmeldung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungsfenster', 'Tbl_pruefungsfenster'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungsstatus', 'Tbl_pruefungsstatus'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungstermin', 'Tbl_pruefungstermin'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/reservierung', 'Tbl_reservierung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/resturlaub', 'Tbl_resturlaub'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studentbeispiel', 'Tbl_studentbeispiel'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studentuebung', 'Tbl_studentuebung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/template', 'Tbl_template'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/uebung', 'Tbl_uebung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/veranstaltung', 'Tbl_veranstaltung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/veranstaltungskategorie', 'Tbl_veranstaltungskategorie'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zeitaufzeichnung', 'Tbl_zeitaufzeichnung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zeitsperre', 'Tbl_zeitsperre'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zeitsperretyp', 'Tbl_zeitsperretyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zeitwunsch', 'Tbl_zeitwunsch'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/aktivitaet', 'Tbl_aktivitaet'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/aufwandstyp', 'Tbl_aufwandstyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/projekt', 'Tbl_projekt'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/projekt_ressource', 'Tbl_projekt_ressource'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/projektphase', 'Tbl_projektphase'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/projekttask', 'Tbl_projekttask'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/ressource', 'Tbl_ressource'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/scrumsprint', 'Tbl_scrumsprint'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/scrumteam', 'Tbl_scrumteam'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/abschlussbeurteilung', 'Tbl_abschlussbeurteilung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/abschlusspruefung', 'Tbl_abschlusspruefung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/akadgrad', 'Tbl_akadgrad'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/anrechnung', 'Tbl_anrechnung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/betreuerart', 'Tbl_betreuerart'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/ferien', 'Tbl_ferien'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehreinheit', 'Tbl_lehreinheit'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehreinheitgruppe', 'Tbl_lehreinheitgruppe'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehreinheitmitarbeiter', 'Tbl_lehreinheitmitarbeiter'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehrfach', 'Tbl_lehrfach'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehrform', 'Tbl_lehrform'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehrfunktion', 'Tbl_lehrfunktion'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehrmittel', 'Tbl_lehrmittel'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehrtyp', 'Tbl_lehrtyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehrveranstaltung', 'Tbl_lehrveranstaltung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lvangebot', 'Tbl_lvangebot'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lvregel', 'Tbl_lvregel'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lvregeltyp', 'Tbl_lvregeltyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/moodle', 'Tbl_moodle'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/note', 'Tbl_note'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/notenschluesselaufteilung', 'Tbl_notenschluesselaufteilung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/notenschluesselzuordnung', 'Tbl_notenschluesselzuordnung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/projektarbeit', 'Tbl_projektarbeit'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/projektbetreuer', 'Tbl_projektbetreuer'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/projekttyp', 'Tbl_projekttyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungstyp', 'Tbl_pruefungstyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/studienordnung', 'Tbl_studienordnung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/studienordnungstatus', 'Tbl_studienordnungstatus'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/studienplan', 'Tbl_studienplan'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studienplatz', 'Tbl_studienplatz'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/stunde', 'Tbl_stunde'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/stundenplan', 'Tbl_stundenplan'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/stundenplandev', 'Tbl_stundenplandev'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/vertrag', 'Tbl_vertrag'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/vertragsstatus', 'Tbl_vertragsstatus'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/vertragstyp', 'Tbl_vertragstyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zeitfenster', 'Tbl_zeitfenster'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zeugnis', 'Tbl_zeugnis'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zeugnisnote', 'Tbl_zeugnisnote'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/adresse', 'Tbl_adresse'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/akte', 'Tbl_akte'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/ampel', 'Tbl_ampel'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/aufmerksamdurch', 'Tbl_aufmerksamdurch'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/aufnahmeschluessel', 'Tbl_aufnahmeschluessel'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/aufnahmetermin', 'Tbl_aufnahmetermin'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/aufnahmetermintyp', 'Tbl_aufnahmetermintyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bankverbindung', 'Tbl_bankverbindung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/benutzer', 'Tbl_benutzer'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/benutzerfunktion', 'Tbl_benutzerfunktion'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/benutzergruppe', 'Tbl_benutzergruppe'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bewerbungstermine', 'Tbl_bewerbungstermine'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/buchungstyp', 'Tbl_buchungstyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/dokument', 'Tbl_dokument'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/dokumentprestudent', 'Tbl_dokumentprestudent'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/dokumentstudiengang', 'Tbl_dokumentstudiengang'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/erhalter', 'Tbl_erhalter'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/fachbereich', 'Tbl_fachbereich'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/filter', 'Tbl_filter'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/firma', 'Tbl_firma'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/firmatag', 'Tbl_firmatag'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/firmentyp', 'Tbl_firmentyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/fotostatus', 'Tbl_fotostatus'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/funktion', 'Tbl_funktion'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/geschaeftsjahr', 'Tbl_geschaeftsjahr'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/gruppe', 'Tbl_gruppe'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/kontakt', 'Tbl_kontakt'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/kontaktmedium', 'Tbl_kontaktmedium'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/kontakttyp', 'Tbl_kontakttyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/konto', 'Tbl_konto'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/lehrverband', 'Tbl_lehrverband'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/log', 'Tbl_log'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/mitarbeiter', 'Tbl_mitarbeiter'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/msg_message', 'Tbl_msg_message'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/msg_thread', 'Tbl_msg_thread'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/notiz', 'Tbl_notiz'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/notizzuordnung', 'Tbl_notizzuordnung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/organisationseinheit', 'Tbl_organisationseinheit'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/organisationseinheittyp', 'Tbl_organisationseinheittyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/ort', 'Tbl_ort'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/ortraumtyp', 'Tbl_ortraumtyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/person', 'Tbl_person'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/personfunktionstandort', 'Tbl_personfunktionstandort'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/preincoming', 'Tbl_preincoming'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/preinteressent', 'Tbl_preinteressent'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/preinteressentstudiengang', 'Tbl_preinteressentstudiengang'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/preoutgoing', 'Tbl_preoutgoing'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/prestudent', 'Tbl_prestudent'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/prestudentstatus', 'Tbl_prestudentstatus'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/raumtyp', 'Tbl_raumtyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/reihungstest', 'Tbl_reihungstest'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/semesterwochen', 'Tbl_semesterwochen'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/service', 'Tbl_service'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/sprache', 'Tbl_sprache'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/standort', 'Tbl_standort'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/statistik', 'Tbl_statistik'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/status', 'Tbl_status'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/student', 'Tbl_student'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studentlehrverband', 'Tbl_studentlehrverband'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studiengang', 'Tbl_studiengang'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studiengangstyp', 'Tbl_studiengangstyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studienjahr', 'Tbl_studienjahr'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studiensemester', 'Tbl_studiensemester'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/tag', 'Tbl_tag'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/variable', 'Tbl_variable'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/vorlage', 'Tbl_vorlage'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/vorlagestudiengang', 'Tbl_vorlagestudiengang'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/appdaten', 'Tbl_appdaten'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/benutzerrolle', 'Tbl_benutzerrolle'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/berechtigung', 'Tbl_berechtigung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/cronjob', 'Tbl_cronjob'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/rolle', 'Tbl_rolle'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/rolleberechtigung', 'Tbl_rolleberechtigung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/server', 'Tbl_server'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/webservicelog', 'Tbl_webservicelog'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/webservicerecht', 'Tbl_webservicerecht'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/webservicetyp', 'Tbl_webservicetyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/ablauf', 'Tbl_ablauf'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/antwort', 'Tbl_antwort'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/frage', 'Tbl_frage'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/gebiet', 'Tbl_gebiet'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/kategorie', 'Tbl_kategorie'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/kriterien', 'Tbl_kriterien'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefling', 'Tbl_pruefling'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/vorschlag', 'Tbl_vorschlag'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/aufteilung', 'Tbl_aufteilung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bestelldetail', 'Tbl_bestelldetail'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bestelldetailtag', 'Tbl_bestelldetailtag'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bestellstatus', 'Tbl_bestellstatus'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bestellung', 'Tbl_bestellung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/bestellungtag', 'Tbl_bestellungtag'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/betriebsmittel', 'Tbl_betriebsmittel'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/betriebsmittelperson', 'Tbl_betriebsmittelperson'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/betriebsmittelstatus', 'Tbl_betriebsmittelstatus'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/betriebsmitteltyp', 'Tbl_betriebsmitteltyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/buchung', 'Tbl_buchung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/budget', 'Tbl_budget'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/kostenstelle', 'Tbl_kostenstelle'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/rechnung', 'Tbl_rechnung'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/rechnungsbetrag', 'Tbl_rechnungsbetrag'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/rechnungstyp', 'Tbl_rechnungstyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/zahlungstyp', 'Tbl_zahlungstyp'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/studienplan_semester', 'Tbl_studienplan_semester'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/dms_version', 'Tbl_dms_version'); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('student/stammdaten', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('mitarbeiter/stammdaten', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/vw_studiensemester', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/reservierung', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('lehre/reihungstest', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('wawi/inventar:begrenzt', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('fs/dms', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/message', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('system/phrase', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('system/vorlagestudiengang', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('system/vorlage', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('system/appdaten', ''); +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('system/PhrasesLib', ''); + +-- INSERT link between user admin and permissions +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/archiv', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/ausbildung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/berufstaetigkeit', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/beschaeftigungsausmass', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/besqual', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bisfunktion', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bisio', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bisorgform', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bisverwendung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bundesland', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/entwicklungsteam', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/gemeinde', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/hauptberuf', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lgartcode', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/mobilitaetsprogramm', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/nation', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/orgform', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/verwendung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zgv', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zgvdoktor', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zgvgruppe', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zgvmaster', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zweck', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/abgabe', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/anwesenheit', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/beispiel', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/content', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/contentchild', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/contentgruppe', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/contentlog', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/contentsprache', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/coodle', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/dms', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/erreichbarkeit', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/feedback', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/freebusy', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/freebusytyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/infoscreen', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/legesamtnote', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lvgesamtnote', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lvinfo', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/news', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/notenschluessel', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/notenschluesseluebung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/paabgabe', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/paabgabetyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungsanmeldung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungsfenster', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungsstatus', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungstermin', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/reservierung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/resturlaub', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studentbeispiel', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studentuebung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/template', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/uebung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/veranstaltung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/veranstaltungskategorie', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zeitaufzeichnung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zeitsperre', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zeitsperretyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zeitwunsch', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/aktivitaet', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/aufwandstyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/projekt', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/projekt_ressource', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/projektphase', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/projekttask', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/ressource', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/scrumsprint', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/scrumteam', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/abschlussbeurteilung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/abschlusspruefung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/akadgrad', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/anrechnung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/betreuerart', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/ferien', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehreinheit', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehreinheitgruppe', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehreinheitmitarbeiter', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehrfach', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehrform', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehrfunktion', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehrmittel', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehrtyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehrveranstaltung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lvangebot', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lvregel', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lvregeltyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/moodle', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/note', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/notenschluesselaufteilung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/notenschluesselzuordnung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/projektarbeit', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/projektbetreuer', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/projekttyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungstyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/studienordnung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/studienordnungstatus', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/studienplan', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studienplatz', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/stunde', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/stundenplan', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/stundenplandev', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/vertrag', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/vertragsstatus', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/vertragstyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zeitfenster', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zeugnis', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zeugnisnote', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/adresse', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/akte', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/ampel', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/aufmerksamdurch', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/aufnahmeschluessel', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/aufnahmetermin', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/aufnahmetermintyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bankverbindung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/benutzer', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/benutzerfunktion', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/benutzergruppe', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bewerbungstermine', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/buchungstyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/dokument', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/dokumentprestudent', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/dokumentstudiengang', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/erhalter', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/fachbereich', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/filter', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/firma', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/firmatag', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/firmentyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/fotostatus', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/funktion', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/geschaeftsjahr', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/gruppe', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/kontakt', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/kontaktmedium', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/kontakttyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/konto', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/lehrverband', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/log', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/mitarbeiter', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/msg_message', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/msg_thread', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/notiz', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/notizzuordnung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/organisationseinheit', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/organisationseinheittyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/ort', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/ortraumtyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/person', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/personfunktionstandort', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/preincoming', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/preinteressent', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/preinteressentstudiengang', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/preoutgoing', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/prestudent', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/prestudentstatus', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/raumtyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/reihungstest', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/semesterwochen', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/service', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/sprache', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/standort', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/statistik', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/status', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/student', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studentlehrverband', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studiengang', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studiengangstyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studienjahr', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studiensemester', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/tag', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/variable', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/vorlage', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/vorlagestudiengang', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/appdaten', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/benutzerrolle', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/berechtigung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/cronjob', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/rolle', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/rolleberechtigung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/server', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/webservicelog', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/webservicerecht', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/webservicetyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/ablauf', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/antwort', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/frage', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/gebiet', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/kategorie', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/kriterien', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefling', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/vorschlag', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/aufteilung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bestelldetail', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bestelldetailtag', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bestellstatus', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bestellung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/bestellungtag', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/betriebsmittel', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/betriebsmittelperson', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/betriebsmittelstatus', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/betriebsmitteltyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/buchung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/budget', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/kostenstelle', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/rechnung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/rechnungsbetrag', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/rechnungstyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/zahlungstyp', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/studienplan_semester', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/dms_version', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('student/stammdaten', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('mitarbeiter/stammdaten', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/vw_studiensemester', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/reservierung', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/reihungstest', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('wawi/inventar:begrenzt', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('fs/dms', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/message', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('system/phrase', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('system/vorlagestudiengang', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('system/vorlage', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('system/appdaten', 'admin', 'suid'); +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('system/PhrasesLib', 'admin', 'suid'); + +-- UPDATE tbl_studiengang +UPDATE public.tbl_studiengang SET onlinebewerbung = TRUE; + +-- EMPTY public.tbl_preinteressent +DELETE FROM public.tbl_preinteressent; +-- EMPTY public.tbl_prestudentstatus +DELETE FROM public.tbl_prestudentstatus; +-- EMPTY public.tbl_prestudent +DELETE FROM public.tbl_prestudent; +-- EMPTY lehre.tbl_studienplan +DELETE FROM lehre.tbl_studienplan_semester; +-- EMPTY lehre.tbl_studienplan +DELETE FROM lehre.tbl_studienplan; +-- EMPTY lehre.tbl_studienordnung_semester +DELETE FROM lehre.tbl_studienordnung_semester; +-- EMPTY lehre.tbl_studienordnung +DELETE FROM lehre.tbl_studienordnung; +-- EMPTY public.tbl_studienjahr +DELETE FROM public.tbl_studienjahr; +-- EMPTY public.tbl_ort +DELETE FROM public.tbl_ort; +-- EMPTY public.tbl_kontakt +DELETE FROM public.tbl_kontakt WHERE person_id > 2; +-- EMPTY public.tbl_benutzer +DELETE FROM public.tbl_benutzer WHERE person_id > 2; +-- EMPTY public.tbl_preinteressent +DELETE FROM public.tbl_preinteressent WHERE person_id > 2; +-- EMPTY public.tbl_person +DELETE FROM public.tbl_person WHERE person_id > 2; + +-- INSERT Persons (public.tbl_person) +INSERT INTO public.tbl_person VALUES (3, NULL, NULL, NULL, NULL, NULL, NULL, 'McKenzie', 'Vicenta', 'Abraham', '2002-12-30', 'Brooksburgh', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'm', NULL, true, '2016-03-27 22:23:20.624239', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '01234567A', false); \ No newline at end of file diff --git a/tests/codeception/tests/acceptance.suite.dist.yml b/tests/codeception/tests/acceptance.suite.dist.yml index 73a9bbf67..18e979584 100644 --- a/tests/codeception/tests/acceptance.suite.dist.yml +++ b/tests/codeception/tests/acceptance.suite.dist.yml @@ -9,7 +9,7 @@ modules: enabled: - Db - PhpBrowser: - url: 'http://admin:1q2w3@demo.fhcomplete.org/' + url: 'http://admin:1q2w3@test.fhcomplete.org/build/' config: Db: dsn: 'pgsql:host=localhost;port=5432;dbname=fhctest' diff --git a/tests/codeception/tests/acceptance/CISLoginPageCept.php b/tests/codeception/tests/acceptance/CISLoginPageCept.php index 14668afa1..049cbe6dd 100644 --- a/tests/codeception/tests/acceptance/CISLoginPageCept.php +++ b/tests/codeception/tests/acceptance/CISLoginPageCept.php @@ -1,6 +1,8 @@ -wantTo('CIS Startseite Testen'); -//$I->amOnPage('/cis/index.html'); -//$I->see('Powered by FH Complete'); -?> +$I->wantTo('CIS start page'); +$I->amOnPage('/cis/index.html'); +$I->See('Powered by FH Complete'); + +?> \ No newline at end of file From 60a4a64943a933f7b07c4c3c9ed9cca8c04d7ea8 Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Wed, 30 Nov 2016 13:01:42 +0100 Subject: [PATCH 13/74] =?UTF-8?q?WHERE-Klausel=20f=C3=BCr=20suche=20nach?= =?UTF-8?q?=20Tags=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/tags.class.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/tags.class.php b/include/tags.class.php index 4961e5862..0d983a9e5 100644 --- a/include/tags.class.php +++ b/include/tags.class.php @@ -55,9 +55,16 @@ class tags extends basis_db * * Gibt alle Tags zurück */ - public function getAll() + public function getAll($tag_search = null) { - $qry = "SELECT * FROM public.tbl_tag; "; + $matchcode=mb_strtoupper(str_replace(array('<','>',' ',';','*','_','-',',',"'",'"'),"%",$tag_search)); + $qry = "SELECT * FROM public.tbl_tag "; + + if (!empty($tag_search)) + { + $qry.="WHERE UPPER(trim(public.tbl_tag.tag)) like '%".$this->db_escape($matchcode)."%' "; + } + $qry.="ORDER BY UPPER(trim(public.tbl_tag.tag)) "; if($this->db_query($qry)) { From cfade891be0da5ab8b4c735e0dd9e9d3e02c32e6 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 13:38:45 +0100 Subject: [PATCH 14/74] phpci --- phpci.yml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/phpci.yml b/phpci.yml index f84df9b3d..2563188a6 100644 --- a/phpci.yml +++ b/phpci.yml @@ -22,17 +22,14 @@ setup: shell: - "rm -f /var/www/html/build" # Remove the previous soft link, if exists, to the build directory - "ln -s %BUILD_PATH% /var/www/html/build" # Create a new soft link to the actual build directory - # Rename configuration files - - "cd %BUILD_PATH% && cp ./config/global.config-default.inc.php ./config/global.config.inc.php" - - "cd %BUILD_PATH% && cp ./config/cis.config-default.inc.php ./config/cis.config.inc.php" - - "cd %BUILD_PATH% && cp ./config/vilesci.config-default.inc.php ./config/vilesci.config.inc.php" - - "cd %BUILD_PATH% && cp ./config/system.config-default.inc.php ./config/system.config.inc.php" + # Copies configuration files + - "cp /home/phpci/config/* %BUILD_PATH%/config/" - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" # Install Database test: - lint: - directories: - - "application/" - recursive: true +# lint: +# directories: +# - "application/" +# recursive: true codeception: config: "tests/codeception/" path: "tests/codeception/_output/" From 694bc141699af675a0710060df8552e0381efd73 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 14:21:26 +0100 Subject: [PATCH 15/74] phpci --- phpci.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/phpci.yml b/phpci.yml index 2563188a6..60d339634 100644 --- a/phpci.yml +++ b/phpci.yml @@ -24,7 +24,15 @@ setup: - "ln -s %BUILD_PATH% /var/www/html/build" # Create a new soft link to the actual build directory # Copies configuration files - "cp /home/phpci/config/* %BUILD_PATH%/config/" - - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" # Install Database + # Install Database + - "psql -h localhost -U fhcomplete -p 5432 -d fhctest -a -f %BUILD_PATH%/system/fhcomplete3.0.sql" + - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/config/version.php" + - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" + - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/config/version.php" + - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" + - "cp /home/phpci/config/version_3.2.php %BUILD_PATH%/config/version.php" + - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" + test: # lint: # directories: From c4f59fdb27f6efa3f26add7495f5c24e698ee1c0 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 15:17:44 +0100 Subject: [PATCH 16/74] phpci --- phpci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpci.yml b/phpci.yml index 60d339634..7d7542678 100644 --- a/phpci.yml +++ b/phpci.yml @@ -25,7 +25,7 @@ setup: # Copies configuration files - "cp /home/phpci/config/* %BUILD_PATH%/config/" # Install Database - - "psql -h localhost -U fhcomplete -p 5432 -d fhctest -a -f %BUILD_PATH%/system/fhcomplete3.0.sql" + - "psql -q -w -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/config/version.php" - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/config/version.php" From 39de402908ebc44b82693f5d802aa2c308909920 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 15:28:33 +0100 Subject: [PATCH 17/74] phpci --- phpci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/phpci.yml b/phpci.yml index 7d7542678..79127ae03 100644 --- a/phpci.yml +++ b/phpci.yml @@ -24,6 +24,8 @@ setup: - "ln -s %BUILD_PATH% /var/www/html/build" # Create a new soft link to the actual build directory # Copies configuration files - "cp /home/phpci/config/* %BUILD_PATH%/config/" + # Change database name + - "sed -i.bak 's/DATABASE fhcomplete/DATABASE fhctest/g' %BUILD_PATH%/system/fhcomplete3.0.sql" # Install Database - "psql -q -w -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/config/version.php" From 2abc34d599ab606a2640d5f3cfd462272429dd50 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 15:31:15 +0100 Subject: [PATCH 18/74] phpci --- phpci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpci.yml b/phpci.yml index 79127ae03..9609410ff 100644 --- a/phpci.yml +++ b/phpci.yml @@ -27,7 +27,7 @@ setup: # Change database name - "sed -i.bak 's/DATABASE fhcomplete/DATABASE fhctest/g' %BUILD_PATH%/system/fhcomplete3.0.sql" # Install Database - - "psql -q -w -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" + - "psql -q -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/config/version.php" - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/config/version.php" From c434711cf732a4fa3e0e66a77c5469bd064e2201 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 15:52:19 +0100 Subject: [PATCH 19/74] phpci --- phpci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/phpci.yml b/phpci.yml index 9609410ff..a66166544 100644 --- a/phpci.yml +++ b/phpci.yml @@ -26,6 +26,8 @@ setup: - "cp /home/phpci/config/* %BUILD_PATH%/config/" # Change database name - "sed -i.bak 's/DATABASE fhcomplete/DATABASE fhctest/g' %BUILD_PATH%/system/fhcomplete3.0.sql" + # Removing the creation of procedural language plpgsql + - "sed -i.bak 's/CREATE PROCEDURAL LANGUAGE plpgsql;//g' %BUILD_PATH%/system/fhcomplete3.0.sql" # Install Database - "psql -q -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/config/version.php" From 1cb25c308a46e14c9a8ee3704195a87fcad6e6ed Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 15:57:49 +0100 Subject: [PATCH 20/74] phpci --- phpci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpci.yml b/phpci.yml index a66166544..80679d34d 100644 --- a/phpci.yml +++ b/phpci.yml @@ -30,11 +30,11 @@ setup: - "sed -i.bak 's/CREATE PROCEDURAL LANGUAGE plpgsql;//g' %BUILD_PATH%/system/fhcomplete3.0.sql" # Install Database - "psql -q -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" - - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/config/version.php" + - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/version.php" - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" - - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/config/version.php" + - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/version.php" - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" - - "cp /home/phpci/config/version_3.2.php %BUILD_PATH%/config/version.php" + - "cp /home/phpci/config/version_3.2.php %BUILD_PATH%/version.php" - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" test: From 9e7882ca5f75e0c2b1ba158f8c0e2112fad35558 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 30 Nov 2016 16:54:19 +0100 Subject: [PATCH 21/74] phpci --- phpci.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/phpci.yml b/phpci.yml index 80679d34d..31f55c39e 100644 --- a/phpci.yml +++ b/phpci.yml @@ -30,12 +30,16 @@ setup: - "sed -i.bak 's/CREATE PROCEDURAL LANGUAGE plpgsql;//g' %BUILD_PATH%/system/fhcomplete3.0.sql" # Install Database - "psql -q -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" - - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/version.php" - - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" - - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/version.php" - - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" - - "cp /home/phpci/config/version_3.2.php %BUILD_PATH%/version.php" - - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" +# TODO: This part is not working because of the tbl_benutzerrolle.anmerkung field +# - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/version.php" +# - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" +# - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/version.php" +# - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" +# - "cp /home/phpci/config/version_3.2.php %BUILD_PATH%/version.php" +# - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" + - "cd %BUILD_PATH%/system/ && php dbupdate_3.0.php" + - "cd %BUILD_PATH%/system/ && php dbupdate_3.1.php" + - "cd %BUILD_PATH%/system/ && php dbupdate_3.2.php" test: # lint: From 1ee2d19dc751666615c4d0e066867f2d66cd01a4 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Thu, 1 Dec 2016 10:02:38 +0100 Subject: [PATCH 22/74] - phpci - checksystem permission checks is avoided if it is started from command line --- phpci.yml | 16 ++++++---------- system/checksystem.php | 15 +++++++++------ 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/phpci.yml b/phpci.yml index 31f55c39e..270e0eec6 100644 --- a/phpci.yml +++ b/phpci.yml @@ -30,16 +30,12 @@ setup: - "sed -i.bak 's/CREATE PROCEDURAL LANGUAGE plpgsql;//g' %BUILD_PATH%/system/fhcomplete3.0.sql" # Install Database - "psql -q -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" -# TODO: This part is not working because of the tbl_benutzerrolle.anmerkung field -# - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/version.php" -# - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" -# - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/version.php" -# - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" -# - "cp /home/phpci/config/version_3.2.php %BUILD_PATH%/version.php" -# - "wget -qO - 'http://admin:1q2w3@test.fhcomplete.org/build/system/checksystem.php'" - - "cd %BUILD_PATH%/system/ && php dbupdate_3.0.php" - - "cd %BUILD_PATH%/system/ && php dbupdate_3.1.php" - - "cd %BUILD_PATH%/system/ && php dbupdate_3.2.php" + - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/version.php" + - "cd %BUILD_PATH%/system/ && php checksystem.php" + - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/version.php" + - "cd %BUILD_PATH%/system/ && php checksystem.php" + - "cp /home/phpci/config/version_3.2.php %BUILD_PATH%/version.php" + - "cd %BUILD_PATH%/system/ && php checksystem.php" test: # lint: diff --git a/system/checksystem.php b/system/checksystem.php index 383db1d43..68ec69807 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -37,13 +37,16 @@ echo ' '; -$uid = get_uid(); -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($uid); - -if(!$rechte->isBerechtigt('admin')) +if (php_sapi_name() != 'cli') { - exit('Sie haben keine Berechtigung'); + $uid = get_uid(); + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($uid); + + if(!$rechte->isBerechtigt('admin')) + { + exit('Sie haben keine Berechtigung'); + } } echo '

Systemcheck!

'; From 0b6fc563e3ecca65436083b2b16deb1c102dd8d8 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Thu, 1 Dec 2016 10:06:37 +0100 Subject: [PATCH 23/74] - codeception --- tests/codeception/_data/dump.sql | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/codeception/_data/dump.sql b/tests/codeception/_data/dump.sql index 4d7859c44..2b9253c90 100644 --- a/tests/codeception/_data/dump.sql +++ b/tests/codeception/_data/dump.sql @@ -4,9 +4,6 @@ GRANT SELECT ON TABLE campus.tbl_pruefungsstatus TO vilesci; GRANT SELECT ON TABLE fue.tbl_scrumsprint TO vilesci; GRANT SELECT ON TABLE fue.tbl_scrumteam TO vilesci; --- INSERT INTO ci_apikey -INSERT INTO public.ci_apikey (key, level, ignore_limits, date_created) VALUES ('testapikey@fhcomplete.org', NULL, NULL, NOW()); - -- DELETE FROM system.tbl_rolleberechtigung DELETE FROM system.tbl_rolleberechtigung WHERE berechtigung_kurzbz IN ( 'basis/archiv', From e280c87933fa9b4bfa8d7d18f8c12505059243cc Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 1 Dec 2016 10:09:49 +0100 Subject: [PATCH 24/74] =?UTF-8?q?Faker=20f=C3=BCr=20DMS=20Dateien=20hinzug?= =?UTF-8?q?ef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/dmsfaker.php | 67 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 system/dmsfaker.php diff --git a/system/dmsfaker.php b/system/dmsfaker.php new file mode 100644 index 000000000..5001bba8a --- /dev/null +++ b/system/dmsfaker.php @@ -0,0 +1,67 @@ + + */ +/* + * Dieses Script generiert fuer Testzwecke fuer jedes DMS-File einen symbolischen Link auf + * eine Testdatei um im Testsystem korrekte Dateilinks zu haben. + */ +require_once('../config/vilesci.config.inc.php'); +require_once('../include/functions.inc.php'); +require_once('../include/benutzerberechtigung.class.php'); + +$uid = get_uid(); +$db = new basis_db(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); +if(!$rechte->isBerechtigt('system/developer',null,'suid')) + die($rechte->errormsg); + +$anzahl_neu=0; +$anzahl_vorhanden=0; +$qry = "SELECT filename FROM campus.tbl_dms_version"; +$path = '/var/fhcomplete/dms/'; +chdir($path); +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + $extension = strtolower(mb_substr($row->filename, mb_strrpos($row->filename,'.')+1)); + if(in_array($extension, array('jpg','pdf','zip','doc','docx','gif','png','jpeg','odt','ods','xls'))) + $testfile = 'testfile.'.strtolower($extension); + else + $testfile = 'testfile.txt'; + if(!file_exists($row->filename)) + { + $cmd = 'ln -s '.$testfile.' '.$row->filename; + exec($cmd); + echo "
\ncreate $row->filename"; + $anzahl_neu++; + } + else + { + echo "
\nexists $row->filename"; + $anzahl_vorhanden++; + } + } +} +echo '
'; +echo 'Done'; +echo '
Neu:'.$anzahl_neu; +echo '
Vorhanden:'.$anzahl_vorhanden; +?> From 426a05bbec2d3c16c13dc5a9dad9a392643705d9 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Thu, 1 Dec 2016 10:27:09 +0100 Subject: [PATCH 25/74] phpci --- phpci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpci.yml b/phpci.yml index 270e0eec6..ebc80ff7c 100644 --- a/phpci.yml +++ b/phpci.yml @@ -29,7 +29,7 @@ setup: # Removing the creation of procedural language plpgsql - "sed -i.bak 's/CREATE PROCEDURAL LANGUAGE plpgsql;//g' %BUILD_PATH%/system/fhcomplete3.0.sql" # Install Database - - "psql -q -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" + - "psql -w -q -P pager=off -h localhost -U fhcomplete -p 5432 -d fhctest -f %BUILD_PATH%/system/fhcomplete3.0.sql >/dev/null" - "cp /home/phpci/config/version_3.0.php %BUILD_PATH%/version.php" - "cd %BUILD_PATH%/system/ && php checksystem.php" - "cp /home/phpci/config/version_3.1.php %BUILD_PATH%/version.php" From ff448271060ca96f75fd36001fd158a39c8e906c Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 1 Dec 2016 11:35:14 +0100 Subject: [PATCH 26/74] =?UTF-8?q?Incoming=20Studierende=20sind=20jetzt=20a?= =?UTF-8?q?uch=20in=20der=20=C3=96H-Beitragsliste=20enthalten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/statistik/oeh_beitraege.xls.php | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/content/statistik/oeh_beitraege.xls.php b/content/statistik/oeh_beitraege.xls.php index 9bdef6277..35453c3cf 100644 --- a/content/statistik/oeh_beitraege.xls.php +++ b/content/statistik/oeh_beitraege.xls.php @@ -30,15 +30,15 @@ require_once('../../include/datum.class.php'); require_once('../../include/Excel/excel.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/studiensemester.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); - - -$uid = get_uid(); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($uid); -if(!$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('admin')) - die('Sie haben keine Berechtigung fuer diese Seite'); +require_once('../../include/benutzerberechtigung.class.php'); + + +$uid = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); +if(!$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('admin')) + die('Sie haben keine Berechtigung fuer diese Seite'); $erhalter=''; $heute=date("d.m.Y"); @@ -143,7 +143,7 @@ if($studiensemester_kurzbz!='') $worksheet->write($zeile,++$spalte,'Status',$format_bold); $maxlength[$spalte]=20; - // Daten holen - Alle Personen mit akt. Status Student, Diplomand oder Praktikant + // Daten holen - Alle Personen mit akt. Status Student, Diplomand oder Praktikant plus Incoming $qry="SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzahl, tbl_student.studiengang_kz, geschlecht, vorname, nachname, gebdatum AS geburtsdatum, geburtsnation AS nation, titelpre, uid || '@".DOMAIN."' AS email, (SELECT kontakt FROM public.tbl_kontakt WHERE person_id=public.tbl_person.person_id and (kontakttyp='mobil' OR kontakttyp='telefon') LIMIT 1) AS telefon, @@ -163,7 +163,7 @@ if($studiensemester_kurzbz!='') JOIN public.tbl_prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id) WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." - AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant') + AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant','Incoming') AND tbl_student.studiengang_kz<999 AND tbl_prestudent.bismelden=true"; // AND tbl_benutzer.aktiv=true @@ -339,7 +339,7 @@ if($studiensemester_kurzbz!='') JOIN public.tbl_prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id) WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." - AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant') + AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant','Incoming') AND tbl_student.studiengang_kz<999 AND ka.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND ka.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=ka.studiengang_kz AND kb.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND kb.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=kb.studiengang_kz @@ -651,4 +651,4 @@ else echo " "; echo ""; } -?> \ No newline at end of file +?> From 010e4eaa607cddb050d40e97cc3dfe897ffa4ad8 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 1 Dec 2016 13:30:45 +0100 Subject: [PATCH 27/74] Beim Anlegen von neuen Mitarbeitern wird keine Fehlermeldung mehr angezeigt wenn das Alias File fehlt --- include/tw/generateuid.inc.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/include/tw/generateuid.inc.php b/include/tw/generateuid.inc.php index 66670bab6..78e9eae69 100644 --- a/include/tw/generateuid.inc.php +++ b/include/tw/generateuid.inc.php @@ -81,15 +81,18 @@ if(!$generateuid_addon_found) // Das File aliases enthaelt die Mailverteiler haendisch gewarteten Mailverteiler die nicht // in der FHC Datenbank vorhanden sind. // Diese duerfen nicht als UID verwendet werden, da es sonst zu Konflikten kommt - $aliases = file_get_contents(DOC_ROOT.'../system/aliases'); - $aliases = explode("\n",$aliases); - foreach($aliases as $alias) + if(file_exists(DOC_ROOT.'../system/aliases')) { - if(!strstr($alias,'#')) + $aliases = file_get_contents(DOC_ROOT.'../system/aliases'); + $aliases = explode("\n",$aliases); + foreach($aliases as $alias) { - $entry = preg_split("/[\s:]+/", $alias); - if($entry[0]!='') - $reserviert[]=$entry[0]; + if(!strstr($alias,'#')) + { + $entry = preg_split("/[\s:]+/", $alias); + if($entry[0]!='') + $reserviert[]=$entry[0]; + } } } From 48e632f4527e43ea62a88325bd7148a074b9f903 Mon Sep 17 00:00:00 2001 From: oesi Date: Fri, 2 Dec 2016 12:57:10 +0100 Subject: [PATCH 28/74] =?UTF-8?q?Inventar=20-=20Jahr/Monat-Filter=20zeigt?= =?UTF-8?q?=20nur=20noch=20Eintr=C3=A4ge=20die=20im=20ausgew=C3=A4hlten=20?= =?UTF-8?q?Monat=20neu=20angelegt=20wurden=20anstatt=20auch=20jene=20die?= =?UTF-8?q?=20einen=20Statuswechsel=20hatten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/betriebsmittel.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/betriebsmittel.class.php b/include/betriebsmittel.class.php index d4c2499e5..d409a76bc 100644 --- a/include/betriebsmittel.class.php +++ b/include/betriebsmittel.class.php @@ -1115,11 +1115,11 @@ class betriebsmittel extends basis_db $jahr_monat=mb_strtoupper(trim(str_replace(array('-','.','/','*','%',"'",'"'),'',trim($jahr_monat)))); $jm=''; if (!empty($jahr_monat) && is_numeric($jahr_monat) && strlen($jahr_monat)>6) - $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYYMMDD') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMMDD') = ".$this->db_add_param($jahr_monat)." "; elseif (!empty($jahr_monat) && is_numeric($jahr_monat) && strlen($jahr_monat)>4) - $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYYMM') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMM') = ".$this->db_add_param($jahr_monat)." "; elseif (!is_null($jahr_monat) && !empty($jahr_monat)) - $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYY') = ".$this->db_add_param($jahr_monat)." "; $where.=$jm; $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) "; } From 9b35bedebb0c35dec9bfb61f4deddd0a295dfe4c Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 5 Dec 2016 10:30:04 +0100 Subject: [PATCH 29/74] =?UTF-8?q?In=20der=20Lehrveranstaltungsverwaltung?= =?UTF-8?q?=20wird=20nun=20angezeigt=20in=20welchen=20Studienpl=C3=A4nen?= =?UTF-8?q?=20die=20LV=20verwendet=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/lehre/lehrveranstaltung_details.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/vilesci/lehre/lehrveranstaltung_details.php b/vilesci/lehre/lehrveranstaltung_details.php index 13842fa4c..9a4870642 100644 --- a/vilesci/lehre/lehrveranstaltung_details.php +++ b/vilesci/lehre/lehrveranstaltung_details.php @@ -475,6 +475,22 @@ $htmlstr.= $row->studiensemester_kurzbz.'; '; } } + + $htmlstr.='
Verwendung in folgenden Studienplänen: '; + $qry ="SELECT distinct tbl_studienplan.bezeichnung + FROM + lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan USING(studienplan_id) + WHERE lehrveranstaltung_id=".$db->db_add_param($lv->lehrveranstaltung_id).' + ORDER BY tbl_studienplan.bezeichnung desc'; + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + $htmlstr.= $row->bezeichnung.'; '; + } + } + $htmlstr.=''; // Details Ende } From 6a1d864a4f1e9d6d43889777dc9ba649067a5bea Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Mon, 5 Dec 2016 11:24:11 +0100 Subject: [PATCH 30/74] - jsoneditor included via composer - meta-include for jsoneditor - new composer.lock version --- composer.json | 25 ++++- composer.lock | 197 +++++++++++++++++++++++++++++++++++- include/meta/jsoneditor.php | 32 ++++++ 3 files changed, 249 insertions(+), 5 deletions(-) create mode 100644 include/meta/jsoneditor.php diff --git a/composer.json b/composer.json index 25fa249d0..c1a9c48ed 100755 --- a/composer.json +++ b/composer.json @@ -1,10 +1,31 @@ { - "require": { + "repositories": + [ + { + "type": "package", + "package": + { + "name": "jsoneditor", + "version": "5.5.6", + "dist": + { + "url": "https://github.com/josdejong/jsoneditor/archive/v5.5.6.zip", + "type": "zip" + } + } + } + ], + + + + "require": + { "components/jquery": "2.1.4", "components/angular.js": "1.3.16", "components/bootstrap": "3.3.5", "michelf/php-markdown": "1.5.0", - "netcarver/textile": "^3.5" + "netcarver/textile": "^3.5", + "jsoneditor": "5.5.6" }, "require-dev": { diff --git a/composer.lock b/composer.lock index a9413edd9..90f1f5e7f 100755 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "c07a27773905e5c19ee99e404627eafd", - "content-hash": "6574a5f8f5995f3db237091bf4b70270", + "hash": "1f6a254f9c635aaea6f27ab79e43f2dc", + "content-hash": "ada2d68ca58da7a6f9a3901e8132d18e", "packages": [ { "name": "components/angular.js", @@ -421,6 +421,17 @@ "homepage": "http://jquery.com", "time": "2015-05-08 05:04:47" }, + { + "name": "jsoneditor", + "version": "5.5.6", + "dist": { + "type": "zip", + "url": "https://github.com/josdejong/jsoneditor/archive/v5.5.6.zip", + "reference": null, + "shasum": null + }, + "type": "library" + }, { "name": "michelf/php-markdown", "version": "1.5.0", @@ -471,9 +482,189 @@ "markdown" ], "time": "2015-03-01 12:03:08" + }, + { + "name": "netcarver/textile", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/textile/php-textile.git", + "reference": "bac6381fcab28cf6b6ae3d0e61b6a8c8d6adca13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/textile/php-textile/zipball/bac6381fcab28cf6b6ae3d0e61b6a8c8d6adca13", + "reference": "bac6381fcab28cf6b6ae3d0e61b6a8c8d6adca13", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*", + "satooshi/php-coveralls": "0.6.*", + "squizlabs/php_codesniffer": "1.5.*", + "symfony/yaml": "2.4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.6-dev" + } + }, + "autoload": { + "psr-0": { + "Netcarver\\Textile": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Textile markup language parser", + "homepage": "https://github.com/textile/php-textile", + "keywords": [ + "document", + "format", + "html", + "language", + "markup", + "parser", + "php-textile", + "plaintext", + "textile" + ], + "time": "2016-11-17 14:18:12" + } + ], + "packages-dev": [ + { + "name": "fzaninotto/faker", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/44f9a286a04b80c76a4e5fb7aad8bb539b920123", + "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123", + "shasum": "" + }, + "require": { + "php": "^5.3.3|^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "extra": { + "branch-alias": [] + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "time": "2016-04-29 12:21:54" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "9b324f3a1132459a7274a0ace2e1b766ba80930f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9b324f3a1132459a7274a0ace2e1b766ba80930f", + "reference": "9b324f3a1132459a7274a0ace2e1b766ba80930f", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "bin": [ + "scripts/phpcs", + "scripts/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "classmap": [ + "CodeSniffer.php", + "CodeSniffer/CLI.php", + "CodeSniffer/Exception.php", + "CodeSniffer/File.php", + "CodeSniffer/Fixer.php", + "CodeSniffer/Report.php", + "CodeSniffer/Reporting.php", + "CodeSniffer/Sniff.php", + "CodeSniffer/Tokens.php", + "CodeSniffer/Reports/", + "CodeSniffer/Tokenizers/", + "CodeSniffer/DocGenerators/", + "CodeSniffer/Standards/AbstractPatternSniff.php", + "CodeSniffer/Standards/AbstractScopeSniff.php", + "CodeSniffer/Standards/AbstractVariableSniff.php", + "CodeSniffer/Standards/IncorrectPatternException.php", + "CodeSniffer/Standards/Generic/Sniffs/", + "CodeSniffer/Standards/MySource/Sniffs/", + "CodeSniffer/Standards/PEAR/Sniffs/", + "CodeSniffer/Standards/PSR1/Sniffs/", + "CodeSniffer/Standards/PSR2/Sniffs/", + "CodeSniffer/Standards/Squiz/Sniffs/", + "CodeSniffer/Standards/Zend/Sniffs/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "http://www.squizlabs.com/php-codesniffer", + "keywords": [ + "phpcs", + "standards" + ], + "time": "2016-11-30 04:02:31" } ], - "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": [], diff --git a/include/meta/jsoneditor.php b/include/meta/jsoneditor.php new file mode 100644 index 000000000..0856273f0 --- /dev/null +++ b/include/meta/jsoneditor.php @@ -0,0 +1,32 @@ + + */ +//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden! + +$dr = DOC_ROOT; +$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr); +if($dr=='') + $dr='/'; + +//Originaldateien des Herstellers +echo ''; +echo ''; + + +?> From f3a0873145039c70682e21f13ca1a8e471e75d30 Mon Sep 17 00:00:00 2001 From: kindlm Date: Mon, 5 Dec 2016 12:09:12 +0100 Subject: [PATCH 31/74] Anpassungen Dokumentvorlagen Bezeichnung der englischen Notenstufen angepasst --- system/xsl/PrProtBAEng_0.xsl | 6 +- system/xsl/PrProtMAEng_0.xsl | 14 +- system/xsl/PrProtMA_0.xsl | 2 +- system/xsl/PrProtMA_Lehrgaenge.xsl | 2 +- system/xsl/bakkzeugnisEng_0.xsl | 2 +- system/xsl/diplomaSupp_-12_v1.xsl | 1867 ------------------------- system/xsl/diplomaSupp_-5.xsl | 1867 ------------------------- system/xsl/diplomaSupp_0.xsl | 2 +- system/xsl/diplomaSupp_Lehrgaenge.xsl | 2 +- system/xsl/diplomzeugnisEng_0.xsl | 2 +- 10 files changed, 16 insertions(+), 3750 deletions(-) delete mode 100644 system/xsl/diplomaSupp_-12_v1.xsl delete mode 100644 system/xsl/diplomaSupp_-5.xsl diff --git a/system/xsl/PrProtBAEng_0.xsl b/system/xsl/PrProtBAEng_0.xsl index 0feaab0fa..3565ddf70 100644 --- a/system/xsl/PrProtBAEng_0.xsl +++ b/system/xsl/PrProtBAEng_0.xsl @@ -406,7 +406,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Presentation and Examination interview on the Bachelor paper and its links to subjects of the curriculum + Presentation and Examination interview on the Bachelor Paper and its links to subjects of the curriculum @@ -434,7 +434,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Examination interview on the Bachelor paper and its links to + Examination interview on the Bachelor Paper and its links to @@ -554,7 +554,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Assessment of the examination interview based on technical accuracy, completeness, structure and linguistic quality. - Passed with highest distinction, Passed with distinction, Passed, Failed + Passed with distinction, Passed with merit, Passed, Failed diff --git a/system/xsl/PrProtMAEng_0.xsl b/system/xsl/PrProtMAEng_0.xsl index fdc7d300a..1b970fb7d 100644 --- a/system/xsl/PrProtMAEng_0.xsl +++ b/system/xsl/PrProtMAEng_0.xsl @@ -359,7 +359,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Topic and Assessment of Master's thesis + Topic and Assessment of Master's Thesis @@ -381,7 +381,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Examination interview on the Master’s thesis and its links to subjects of the curriculum as well as examination interview on a curricular theme + Examination interview on the Master’s Thesis and its links to subjects of the curriculum as well as examination interview on a curricular theme @@ -396,8 +396,8 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Presentation of the Master's thesis - Examination interview on the Master's thesis and its links + Presentation of the Master's Thesis + Examination interview on the Master's Thesis and its links to subjects of the curriculum Examination interview on other subjects relevant to the curriculum @@ -410,7 +410,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Notes on the presentation of the Master's thesis + Notes on the presentation of the Master's Thesis @@ -538,10 +538,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - (+++) Passed with highest distinction + (+++) Passed with distinction - (++) Passt with distinction + (++) Passed with merit (+) Passed diff --git a/system/xsl/PrProtMA_0.xsl b/system/xsl/PrProtMA_0.xsl index 3a4e215c7..043b5ccd4 100644 --- a/system/xsl/PrProtMA_0.xsl +++ b/system/xsl/PrProtMA_0.xsl @@ -381,7 +381,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Prüfungsgespräch über Masterarbeit und Querverbindungen zu Fächern des Studienplans sowie Prüfungsgespräch über Stoffgebiet + Prüfungsgespräch über die Masterarbeit und deren Querverbindungen zu Fächern des Studienplans sowie Prüfungsgespräch über das Stoffgebiet diff --git a/system/xsl/PrProtMA_Lehrgaenge.xsl b/system/xsl/PrProtMA_Lehrgaenge.xsl index 09abecdcd..9b33bfee7 100644 --- a/system/xsl/PrProtMA_Lehrgaenge.xsl +++ b/system/xsl/PrProtMA_Lehrgaenge.xsl @@ -381,7 +381,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Prüfungsgespräch über Masterarbeit und Querverbindungen zu Fächern des Studienplans sowie Prüfungsgespräch über Stoffgebiet + Prüfungsgespräch über die Masterarbeit und deren Querverbindungen zu Fächern des Studienplans sowie Prüfungsgespräch über das Stoffgebiet diff --git a/system/xsl/bakkzeugnisEng_0.xsl b/system/xsl/bakkzeugnisEng_0.xsl index a4bf9ae0b..6d4263884 100644 --- a/system/xsl/bakkzeugnisEng_0.xsl +++ b/system/xsl/bakkzeugnisEng_0.xsl @@ -369,7 +369,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - Final assessment: Passed with highest distinction, Passed with distinction, Passed + Final assessment: Passed with distinction, Passed with merit, Passed Pursuant to section 6 subsection 1 of the University of Applied Sciences Studies Act (FHStG), BGBI. Nr. idgF diff --git a/system/xsl/diplomaSupp_-12_v1.xsl b/system/xsl/diplomaSupp_-12_v1.xsl deleted file mode 100644 index a94b3f4db..000000000 --- a/system/xsl/diplomaSupp_-12_v1.xsl +++ /dev/null @@ -1,1867 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Transcript of Records - - - Lehrgang zur Weiterbildung - - - - - - - - - Certificate Program for Further Education - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mit dem Dokument wird das Ziel verfolgt, Daten zu erfassen, um die internationale "Transparenz" und die angemessene akademische und berufliche Anerkennung von Qualifikationen (Diplomen, Abschlüssen, Zeugnissen usw.) zu verbessern. Es bietet eine Beschreibung über Art, Niveau, Kontext, Inhalt und Status eines Studiums, den die im Original-Befähigungs-nachweis, dem der Anhang beigefügt ist, genannte Person absolviert und erfolgreich abgeschlossen hat. Der Anhang sollte keinerlei Werturteile, Aussagen über Gleichwertigkeit mit anderen Qualifikationen oder Vorschläge bezüglich der Anerkennung enthalten. - - - The purpose of the document is to provide data to improve the international transparency and fair academic and professional recognition of qualifications (diplomas, degrees, certificates, etc.). It is designed to provide a description of the nature, level, context, content and status of the studies that were pursued and successfully completed by the individual named on the original qualification to which this supplement is appended. It should be free from any value judgments, equivalence statements or suggestions about recognition. - - - - - - - - - - - 1. - - - Angaben zur Person des Qualifikationsinhabers/der Qualifikationsinhaberin - Information identifying the holder of the qualification - - - - - - - 1.1 - - - - - Familienname(n) - - - Family Name(s) - - - - - - - - - - - - - - 1.2 - - - - - Vorname(n) - - - Given Name(s) - - - - - - - - - - 1.3 - - - - - Geburtsdatum (TT.MM.JJJJ) - - - Date of birth (DD.MM.YYYY) - - - - - - - - - - - - 1.4 - - - - - Personenkennzeichen - - - Student identification number - - - - - - - - - - - - - - - - - - - - - - - - - - - 2. - - - Angaben zur Qualifikation - Information identifying the qualification - - - - - - - 2.1 - - - - - Name der Qualifikation - - - Name of qualification - - - - - Akademische/r Social Media Manager/in - - - Academic Social Media Manager - - - - - - - 2.2 - - - - - Hauptstudierfach oder -fächer für die Qualifikation - - - Main field(s) of study for the qualification - - - - - - - - - - - - - - - 2.3 - - - - - Name und Status der Organisation, die die Qualifikation verliehen hat - - - Name and status of awarding institution - - - - - - Fachhochschule Technikum Wien, Verleihung des Status „Fachhochschule" im November 2000 - - - - - - University of Applied Sciences Technikum Wien, status University of Applied Science - - conferred November 2000 - - - - - - - 2.4 - - - - - - Name und Status der Einrichtung, die das Studium durchführte - - - - - - Name and status of institution administering studies - - - - - - - Fachhochschule Technikum Wien, Verleihung des Status „Fachhochschule" im November 2000 - - - - University of Applied Sciences Technikum Wien, status University of Applied Science conferred November 2000 - - - - - - - - - 2.5 - - - - - Im Unterricht / in den Prüfungen verwendete Sprachen - - - Language(s) of instruction / examination - - - - - - - - - - - - - - - - 2.6 - - - - - Regelstudienzeit und ECTS credits - - - Official length of program and ECTS credits - - - - - 2 Semester | 1 Jahr | 60 ECTS - - - 2 semester(s) | 1 year | 60 ECTS - - - - - - - 2.7 - - - - - Studienart / Mode of Study - - - - - Weiterbildung / Further Education - - - - - - - - - - 2.8 - - - - - Informationsquellen für ergänzende Angaben - - - Further information sources - - - - - www.technikum-wien.at - - - www.lllacademy.at - - - - - - Abgeschlossene Lehrveranstaltungen / Completed subjects - - - Im Rahmen des Weiterbildungslehrganges der FH Technikum Wien wurden die folgenden Lehrveranstaltungen erfolgreich abgeschlossen: - - Within the Further Education program provided by the University of Applied Science Technikum Wien examinations in the following subjects were passed: - - - - - - - - - - - Date - - - Course - - - Type1 - - - SP/W2 - - - ECTS credits - - - Grade³ - - - - - - Total - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ¹ Type: Laboratory, Labor (LAB); Lecture, Vorlesung (VO); Integrated Course, Integrierte Lehrveranstaltung (ILV); Seminar (SE), Tutorial, Tutorium (TUT); Project, Projekt (PRJ); Exercise, Üebung (UE); Distance Learning, Fernstudium (FL); Other, Andere (SO) - ² 1 Semester period per week = 45 minutes; 1 Semesterwochenstunde = 45 Minuten - ³ Grading Scheme: excellent / Sehr gut (1), good / Gut (2), satisfactory / Befriedigend (3), Sufficient / Genügend (4), Unsatisfactory / Nicht genügend (5), not graded / Nicht beurteilt (nb), Credit based on previous experience/work / Angrechnet (ar), successfully completed / erfolgreich teilgenommen (ea), not successfully completed / nicht erfolgreich teilgenommen (nea), Participated with success / mit Erfolg teilgenommen (met), participated / teilgenommen (tg) - - - - - - - - - - - - - - - - - - - - - - - - - - - Vienna, - Place / Ort, Datum / Date - - - - - - LehrgangsleiterIn / Program Director - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Σ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/system/xsl/diplomaSupp_-5.xsl b/system/xsl/diplomaSupp_-5.xsl deleted file mode 100644 index b5684e3ef..000000000 --- a/system/xsl/diplomaSupp_-5.xsl +++ /dev/null @@ -1,1867 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Transcript of Records - - - Lehrgang zur Weiterbildung - - - - - - - - - Certificate Program for Further Education - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mit dem Dokument wird das Ziel verfolgt, Daten zu erfassen, um die internationale "Transparenz" und die angemessene akademische und berufliche Anerkennung von Qualifikationen (Diplomen, Abschlüssen, Zeugnissen usw.) zu verbessern. Es bietet eine Beschreibung über Art, Niveau, Kontext, Inhalt und Status eines Studiums, den die im Original-Befähigungs-nachweis, dem der Anhang beigefügt ist, genannte Person absolviert und erfolgreich abgeschlossen hat. Der Anhang sollte keinerlei Werturteile, Aussagen über Gleichwertigkeit mit anderen Qualifikationen oder Vorschläge bezüglich der Anerkennung enthalten. - - - The purpose of the document is to provide data to improve the international transparency and fair academic and professional recognition of qualifications (diplomas, degrees, certificates, etc.). It is designed to provide a description of the nature, level, context, content and status of the studies that were pursued and successfully completed by the individual named on the original qualification to which this supplement is appended. It should be free from any value judgments, equivalence statements or suggestions about recognition. - - - - - - - - - - - 1. - - - Angaben zur Person des Qualifikationsinhabers/der Qualifikationsinhaberin - Information identifying the holder of the qualification - - - - - - - 1.1 - - - - - Familienname(n) - - - Family Name(s) - - - - - - - - - - - - - - 1.2 - - - - - Vorname(n) - - - Given Name(s) - - - - - - - - - - 1.3 - - - - - Geburtsdatum (TT.MM.JJJJ) - - - Date of birth (DD.MM.YYYY) - - - - - - - - - - - - 1.4 - - - - - Personenkennzeichen - - - Student identification number - - - - - - - - - - - - - - - - - - - - - - - - - - - 2. - - - Angaben zur Qualifikation - Information identifying the qualification - - - - - - - 2.1 - - - - - Name der Qualifikation - - - Name of qualification - - - - - Akademische/r Social Media Manager/in - - - Academic Social Media Manager - - - - - - - 2.2 - - - - - Hauptstudierfach oder -fächer für die Qualifikation - - - Main field(s) of study for the qualification - - - - - - - - - - - - - - - 2.3 - - - - - Name und Status der Organisation, die die Qualifikation verliehen hat - - - Name and status of awarding institution - - - - - - Fachhochschule Technikum Wien, Verleihung des Status „Fachhochschule" im November 2000 - - - - - - University of Applied Sciences Technikum Wien, status University of Applied Science - - conferred November 2000 - - - - - - - 2.4 - - - - - - Name und Status der Einrichtung, die das Studium durchführte - - - - - - Name and status of institution administering studies - - - - - - - Fachhochschule Technikum Wien, Verleihung des Status „Fachhochschule" im November 2000 - - - - University of Applied Sciences Technikum Wien, status University of Applied Science conferred November 2000 - - - - - - - - - 2.5 - - - - - Im Unterricht / in den Prüfungen verwendete Sprachen - - - Language(s) of instruction / examination - - - - - - - - - - - - - - - - 2.6 - - - - - Regelstudienzeit und ECTS credits - - - Official length of program and ECTS credits - - - - - 2 Semester | 1 Jahr | 60 ECTS - - - 2 semester(s) | 1 year(s) | 60 ECTS - - - - - - - 2.7 - - - - - Studienart / Mode of Study - - - - - Weiterbildung / Further Education - - - - - - - - - - 2.8 - - - - - Informationsquellen für ergänzende Angaben - - - Further information sources - - - - - www.technikum-wien.at - - - www.lllacademy.at - - - - - - Abgeschlossene Lehrveranstaltungen / Completed subjects - - - Im Rahmen des Weiterbildungslehrganges der FH Technikum Wien wurden die folgenden Lehrveranstaltungen erfolgreich abgeschlossen: - - Within the Further Education program provided by the University of Applied Science Technikum Wien examinations in the following subjects were passed: - - - - - - - - - - - Date - - - Course - - - Type1 - - - SP/W2 - - - ECTS credits - - - Grade³ - - - - - - Total - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ¹ Type: Laboratory, Labor (LAB); Lecture, Vorlesung (VO); Integrated Course, Integrierte Lehrveranstaltung (ILV); Seminar (SE), Tutorial, Tutorium (TUT); Project, Projekt (PRJ); Exercise, Üebung (UE); Distance Learning, Fernstudium (FL); Other, Andere (SO) - ² 1 Semester period per week = 45 minutes; 1 Semesterwochenstunde = 45 Minuten - ³ Grading Scheme: excellent / Sehr gut (1), good / Gut (2), satisfactory / Befriedigend (3), Sufficient / Genügend (4), Unsatisfactory / Nicht genügend (5), not graded / Nicht beurteilt (nb), Credit based on previous experience/work / Angrechnet (ar), successfully completed / erfolgreich teilgenommen (ea), not successfully completed / nicht erfolgreich teilgenommen (nea), Participated with success / mit Erfolg teilgenommen (met), participated / teilgenommen (tg) - - - - - - - - - - - - - - - - - - - - - - - - - - - Vienna, - Place / Ort, Datum / Date - - - - - - LehrgangsleiterIn / Program Director - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Σ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/system/xsl/diplomaSupp_0.xsl b/system/xsl/diplomaSupp_0.xsl index b1e091f52..fc1258589 100644 --- a/system/xsl/diplomaSupp_0.xsl +++ b/system/xsl/diplomaSupp_0.xsl @@ -2784,7 +2784,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Grading Scheme: Passed with highest distinction, Passed with distinction, Passed + Grading Scheme: Passed with distinction, Passed with merit, Passed diff --git a/system/xsl/diplomaSupp_Lehrgaenge.xsl b/system/xsl/diplomaSupp_Lehrgaenge.xsl index 39f150d11..7a033fbe4 100644 --- a/system/xsl/diplomaSupp_Lehrgaenge.xsl +++ b/system/xsl/diplomaSupp_Lehrgaenge.xsl @@ -2814,7 +2814,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - Grading Scheme: Passed with highest distinction, Passed with distinction, Passed + Grading Scheme: Passed with distinction, Passed with merit, Passed diff --git a/system/xsl/diplomzeugnisEng_0.xsl b/system/xsl/diplomzeugnisEng_0.xsl index a9da78668..62947c221 100644 --- a/system/xsl/diplomzeugnisEng_0.xsl +++ b/system/xsl/diplomzeugnisEng_0.xsl @@ -393,7 +393,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - Final assessment: Passed with highest distinction, Passed with distinction, Passed + Final assessment: Passed with distinction, Passed with merit, Passed Pursuant to section 6 subsection 1 of the University of Applied Sciences Studies Act (FHStG), BGBI. Nr. idgF From 0fcc43d1d32bf310d37a7ee6ba534f290ee594cc Mon Sep 17 00:00:00 2001 From: kindlm Date: Mon, 5 Dec 2016 12:13:17 +0100 Subject: [PATCH 32/74] BugFix Incoming Platform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Gültigkeitsbereich der VON-BIS Zeiten wird überprüft - Freie Plätze werden nochmal beim speichern geprüft - Anzeigefehler wenn Plätze < 0 behoben --- cis/public/incoming/incoming.php | 154 +++++++++++++++++++++++-------- locale/de-AT/incoming.php | 8 +- locale/en-US/incoming.php | 6 +- 3 files changed, 129 insertions(+), 39 deletions(-) diff --git a/cis/public/incoming/incoming.php b/cis/public/incoming/incoming.php index def2bc4bb..a51c58b6d 100644 --- a/cis/public/incoming/incoming.php +++ b/cis/public/incoming/incoming.php @@ -187,6 +187,11 @@ $( document ).ready(function() } } }); +function setBisdatum(datum) +{ + if(document.getElementById("bis_datum").value=="") + document.getElementById("bis_datum").value=datum; +} '; ?> @@ -269,20 +274,51 @@ if($method =="austauschprogram") // Speichert Austauschprogram in preincoming tabelle if(isset($_POST['submit_program'])) { - $preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d'); - $preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d'); - if (isset($_REQUEST['code'])) - $preincoming->code = $_REQUEST['code']; - if($_REQUEST['austausch_kz']== "austausch_auswahl") - $preincoming->mobilitaetsprogramm_code = ''; + $von_datum = $_REQUEST['von']; + $bis_datum = $_REQUEST['bis']; + + //Datum auf Gueltigkeit pruefen + if (($von_datum != '' && !$date->formatDatum($von_datum,'Y-m-d')) || ($bis_datum != '' && !$date->formatDatum($bis_datum,'Y-m-d'))) + { + echo ''.($p->t('incoming/bitteGueltigesDatumEingeben')).''; + } else - $preincoming->mobilitaetsprogramm_code = $_REQUEST['austausch_kz']; - $preincoming->updateamum = date('Y-m-d H:i:s'); + { + $von_datum = $date->formatDatum($von_datum,'Y-m-d'); + $bis_datum = $date->formatDatum($bis_datum,'Y-m-d'); + + $dtstart = new DateTime($von_datum); + $dtende = new DateTime($bis_datum); + $jetzt = new DateTime(); - if(!$preincoming->save()) - echo $preincoming->errormsg; - else - echo $p->t('global/erfolgreichgespeichert'); + if ($dtstart < $jetzt) + { + echo ''.$p->t('incoming/beginnNichtInVergangenheit').''; + $_REQUEST['von'] = ''; + } + elseif ($von_datum != '' && $bis_datum != '' && $dtende < $dtstart) + { + echo ''.$p->t('incoming/endeGroesserStart').''; + $_REQUEST['bis'] = ''; + } + else + { + $preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d'); + $preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d'); + if (isset($_REQUEST['code'])) + $preincoming->code = $_REQUEST['code']; + if($_REQUEST['austausch_kz']== "austausch_auswahl") + $preincoming->mobilitaetsprogramm_code = ''; + else + $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'); + } + } } // Ausgabe Austauschprogram Formular echo '
@@ -317,11 +353,11 @@ if($method =="austauschprogram")
- + - + @@ -345,12 +381,71 @@ else if($method=="lehrveranstaltungen") { // speichern der LV-ID if($_GET['mode']=="add") { - $id= $_GET['id']; - - if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s'))) - $message = ''.($p->t('global/erfolgreichgespeichert')).''; - else - $message = ''.($p->t('global/fehleraufgetreten')).''; + $id = $db->db_add_param($_GET['id'], FHC_INTEGER, false); + $freieplaetze = 0; + // Freie Plaetze ermitteln + $qry = " SELECT tbl_lehrveranstaltung.incoming, ( + SELECT count(*) + FROM ( + SELECT person_id + FROM campus.vw_student_lehrveranstaltung + JOIN PUBLIC.tbl_benutzer using (uid) + JOIN PUBLIC.tbl_student ON (uid = student_uid) + JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id) + WHERE lehrveranstaltung_id = ".$id." + AND lehreinheit_id IN ( + SELECT lehreinheit_id + FROM lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id = ".$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 = ".$id." + AND + ( + (bis - '$stsem->start' > '$stsem->start' - von) OR + ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR + (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR + ('$stsem->start' <= von AND von < '$stsem->ende' AND 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 + WHERE tbl_lehrveranstaltung.lehrveranstaltung_id = ".$id; + + if($result = $db->db_query($qry)) + { + if ($db->db_num_rows($result)>0) + { + if ($row = $db->db_fetch_object($result)) + { + $freieplaetze = $row->incoming - $row->anzahl; + } + } + } + + if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $_GET['id']) && $freieplaetze>0) + { + if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s'))) + $message = ''.($p->t('global/erfolgreichgespeichert')).''; + else + $message = ''.($p->t('global/fehleraufgetreten')).''; + } + else + $message = ''.$p->t('incoming/lvVollBelegt').''; } // löschen der LV-ID if($_GET['mode'] == "delete") @@ -709,19 +804,6 @@ else if($method=="lehrveranstaltungen") echo '
'.$p->t('incoming/studiertvon').' (dd.mm.yyyy) (dd.mm.yyyy)
'.$p->t('incoming/studiertbis').' (dd.mm.yyyy) (dd.mm.yyyy)
   
- - -

'; @@ -739,7 +821,7 @@ else if($method=="lehrveranstaltungen") //Uebersicht LVs - /* Erklaerung der Datumszeitraeume ab Zeile 663: + /* Erklaerung der Datumszeitraeume ab Zeile 857: * |=============== 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 @@ -861,7 +943,7 @@ else if($method=="lehrveranstaltungen") if ($preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id)) $style = 'style="background-color: #88DD88"'; - elseif ($freieplaetze==0) + elseif ($freieplaetze<=0) $style = 'style="background-color: #FF8888"'; //if($freieplaetze>0) //{ @@ -879,7 +961,7 @@ else if($method=="lehrveranstaltungen") if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0) echo '
'.$p->t('global/anmelden').''.$p->t('incoming/noVacancies').''.$p->t('global/angemeldet').'
- - + +
'.$p->t('incoming/filter').': - + + + + + + + + - -
'.$p->t('incoming/studentenImWS').'
'.$p->t('incoming/studentenImSS').'
'.$p->t('incoming/filter').': +
'; - echo $p->t('courseInformation/unterrichtssprache').':
'; - echo $p->t('global/studiengang').':
'; + echo $p->t('courseInformation/unterrichtssprache').':
'; + echo $p->t('global/studiengang').':'; - echo '
- - - + } + + echo'

'; + echo ''; + //echo ''; + echo ''; + echo '
'; // Filter für Semester setzen @@ -192,114 +217,344 @@ if($method=="lehrveranstaltungen") 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, - tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache, - tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz, - ( - Select count(*) - FROM ( - SELECT - person_id - FROM - campus.vw_student_lehrveranstaltung - JOIN public.tbl_benutzer using(uid) - JOIN public.tbl_student ON(uid=student_uid) - JOIN public.tbl_prestudentstatus USING(prestudent_id) + /* Erklaerung der Datumszeitraeume ab Zeile 857: + * |=============== 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 beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend außerhalb SS + * |---------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend außerhalb 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 + */ + + $studiensemester_array = array(); + $studiensemester = new studiensemester(); + $studiensemester_array[] = $studiensemester->getakt(); + + $studiensemester->getFutureStudiensemester('',2); + foreach ($studiensemester->studiensemester AS $row) + $studiensemester_array[] = $row->studiensemester_kurzbz; + + if(isset($_GET['go'])) + { + // QUERY liefert LVs aus den gültigen Studienordnungen UND jene mit Anmeldungen, auch wenn Incomingplätze 0 sind oder die LV in keinem gültigen Studienplan liegt + $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(*) + FROM ( + SELECT + person_id + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer using(uid) + JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_prestudentstatus USING(prestudent_id) + 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 + ( + (bis - '$stsem->start' > '$stsem->start' - von) OR + ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR + (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR + ('$stsem->start' <= von AND von < '$stsem->ende' AND 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 - 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' + tbl_lehrveranstaltung.incoming>0 AND + tbl_lehrveranstaltung.aktiv AND + 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) + JOIN lehre.tbl_studienplan_semester USING (studienplan_id) + WHERE tbl_studienordnung.status_kurzbz='approved' + AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id + AND tbl_studienplan_semester.studiensemester_kurzbz IN ('".implode("','", $studiensemester_array)."') + AND tbl_studienplan_semester.semester=tbl_lehrveranstaltung.semester + ) + 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; + + $qry .= " 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 - /*tbl_lehrveranstaltung.incoming>0 AND*/ - tbl_lehrveranstaltung.aktiv AND - tbl_lehrveranstaltung.lehre - AND tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000"; - - if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') - $qry .= "AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; - - $qry .= "AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz - "; - echo ' + 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(*) + FROM ( + SELECT + person_id + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer using(uid) + JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_prestudentstatus USING(prestudent_id) + 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 + ( + (bis - '$stsem->start' > '$stsem->start' - von) OR + ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR + (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR + ('$stsem->start' <= von AND von < '$stsem->ende' AND 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 + public.tbl_preincoming_lehrveranstaltung + JOIN public.tbl_preincoming using(preincoming_id) + JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) + JOIN public.tbl_studiengang USING(studiengang_kz) + WHERE + ( + (bis - '$stsem->start' > '$stsem->start' - von) OR + ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR + (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR + ('$stsem->start' <= von AND von < '$stsem->ende' AND 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 tbl_preincoming.aktiv = true + "; + + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') + $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; + + $qry .= " AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz"; + + if($result = $db->db_query($qry)) + { + if ($db->db_num_rows($result)>0) + { + echo '
'.$message.'
'; + echo '

'.$p->t('incoming/tabelleSortierinformation').'

'; + echo '
+ + + + + + + + + + + + + + + + + + '; + while($row = $db->db_fetch_object($result)) + { + $freieplaetze = $row->incoming - $row->anzahl; + $style = ''; + + $studiengang = new studiengang(); + $studiengang->load($row->studiengang_kz); + $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; + $typ = $studiengang->typ; + if ($studiengang->typ == 'b') + $typ = 'Bachelor'; + else if ($studiengang->typ == 'm') + $typ = 'Master'; + else + $typ = '-'; + echo ''; + + if ($freieplaetze<=0) + $style = 'style="background-color: #FF8888"'; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + } + echo '
LV-ID'.$p->t('global/studiengang').''.$p->t('abgabetool/typ').''.$p->t('incoming/orgform').''.$p->t('global/semester').''.$p->t('global/lehrveranstaltung').''.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').''.$p->t('incoming/ects').''.$p->t('courseInformation/unterrichtssprache').''.$p->t('incoming/lvInfo').''.$p->t('incoming/freieplätze').'
',$row->lehrveranstaltung_id,'',$studiengang_language,'',$typ,'',$row->orgform_kurzbz,'',$row->semester,'',$row->bezeichnung,'',$row->bezeichnung_english,'',$row->ects,'',($row->sprache=='German'?$p->t("global/deutsch"):$p->t("global/englisch")),' + '.$p->t("global/deutsch").'  + '.$p->t("global/englisch").' + ',($freieplaetze<$row->incoming?''.$freieplaetze.' ('.$p->t('incoming/von').' '.$row->incoming.')':$freieplaetze.' ('.$p->t('incoming/von').' '.$row->incoming.')').'AnmeldungenIncomingplätze auf 0
'; + } + else + echo '
'.$p->t('incoming/derzeitKeineLehrveranstaltungen').'
'; + } + } + else + echo '
'.$p->t('incoming/waehlenSieAusDenOptionen').'
'; + echo ''; +} +elseif($method=="anmeldungen") +{ + // Übersicht aller LVs + echo '

Übersicht Anmeldungen

'; + + // Filter für Semester setzen + + + //Uebersicht LVs + /* Erklaerung der Datumszeitraeume + * |=============== 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 beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend außerhalb SS + * |---------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend außerhalb 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 + */ + if (isset($_GET['id'])) + { + $id = $db->db_add_param($_GET['id'], FHC_INTEGER, false); + $qry = " SELECT + nachname, vorname + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer using(uid) + JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_prestudentstatus USING(prestudent_id) + JOIN public.tbl_person USING(person_id) + WHERE + lehrveranstaltung_id=".$id." + AND + lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id=".$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 + nachname, vorname + FROM + public.tbl_preincoming_lehrveranstaltung + JOIN public.tbl_preincoming using(preincoming_id) + JOIN public.tbl_person USING(person_id) + WHERE lehrveranstaltung_id=".$id." + AND + ( + (bis - '$stsem->start' > '$stsem->start' - von) OR + ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR + (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR + ('$stsem->start' <= von AND von < '$stsem->ende' AND 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 tbl_preincoming.aktiv = true"; + + + if($result = $db->db_query($qry)) + { + if ($db->db_num_rows($result)>0) + { + echo ' - - - - - - - - - - - + + '; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - $freieplaetze = $row->incoming - $row->anzahl; - - $studiengang = new studiengang(); - $studiengang->load($row->studiengang_kz); - $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; - $typ = $studiengang->typ; - $style=''; - if ($row->incoming=='0') - $style = 'style="color:grey"'; - if ($studiengang->typ == 'b') - $typ = 'BA'; - else if ($studiengang->typ == 'm') - $typ = 'MA'; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - + while($row = $db->db_fetch_object($result)) + { + + echo ''; + echo ''; + echo ''; + echo ''; + + } + echo '
'.$p->t('global/studiengang').''.$p->t('abgabetool/typ').''.$p->t('incoming/orgform').''.$p->t('global/semester').''.$p->t('global/lehrveranstaltung').''.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').''.$p->t('incoming/ects').''.$p->t('courseInformation/unterrichtssprache').'Info'.$p->t('incoming/freieplätze').''.$p->t('global/nachname').''.$p->t('global/vorname').'
',$studiengang_language,'',$typ,'',$row->orgform_kurzbz,'',$row->semester,'',$row->bezeichnung,'',$row->bezeichnung_english,'',$row->ects,'',$row->sprache,' - Deutsch  - Englisch - ',($freieplaetze<$row->incoming?''.$freieplaetze.'/'.$row->incoming.'':$freieplaetze.'/'.$row->incoming),'Plätze auf 0 setzen
',$row->nachname,'',$row->vorname,'
'; } + else + echo '
Keine Anmeldungen gefunden
'; } - echo ''; } + else + '
Es wurde keine Lehrveranstaltungs-ID übergeben
'; +} ?> \ No newline at end of file From 526e3013e0b11b0226295521ad229d851655ed2e Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Mon, 5 Dec 2016 14:05:05 +0100 Subject: [PATCH 34/74] cleanups --- composer.json | 52 +++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/composer.json b/composer.json index c1a9c48ed..941baa536 100755 --- a/composer.json +++ b/composer.json @@ -1,39 +1,39 @@ { - "repositories": - [ + "repositories": + [ { "type": "package", "package": - { + { "name": "jsoneditor", "version": "5.5.6", "dist": - { + { "url": "https://github.com/josdejong/jsoneditor/archive/v5.5.6.zip", "type": "zip" } } } - ], - - - - "require": - { - "components/jquery": "2.1.4", - "components/angular.js": "1.3.16", - "components/bootstrap": "3.3.5", - "michelf/php-markdown": "1.5.0", - "netcarver/textile": "^3.5", - "jsoneditor": "5.5.6" - }, - "require-dev": - { - "squizlabs/php_codesniffer": "2.*", - "fzaninotto/faker": "1.*" - }, - "config": - { - "bin-dir": "bin" - } + ], + + + + "require": + { + "components/jquery": "2.1.4", + "components/angular.js": "1.3.16", + "components/bootstrap": "3.3.5", + "michelf/php-markdown": "1.5.0", + "netcarver/textile": "^3.5", + "jsoneditor": "5.5.6" + }, + "require-dev": + { + "squizlabs/php_codesniffer": "2.*", + "fzaninotto/faker": "1.*" + }, + "config": + { + "bin-dir": "bin" + } } From e9be4ffd8c14ce43060b8334c9a5ff9b2ef888fd Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 5 Dec 2016 14:50:07 +0100 Subject: [PATCH 35/74] Fixed Regex Check --- cis/private/profile/zeitwunsch.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 4f394036f..ce0bfe1fe 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -127,7 +127,7 @@ if(!$person->load($uid)) { if(elem[i].name.match("^wunsch")) { - if(!elem[i].value.match("[12]")) + if(!elem[i].value.match("^\-?[1-2]\d{0,0}$")) error=true; } } From 3b3721f3f0ef6bb93f34670bc7436242179b7702 Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Mon, 12 Dec 2016 10:15:44 +0100 Subject: [PATCH 36/74] reporting vector graphics: - path to letter --- skin/images/Chart.svg | 29 +++++++++++++++-------------- skin/images/Filter.svg | 29 +++++++++++++++-------------- skin/images/Report.svg | 34 +++++++++++++++------------------- skin/images/Statistik.svg | 28 +++++++++++++++------------- 4 files changed, 60 insertions(+), 60 deletions(-) diff --git a/skin/images/Chart.svg b/skin/images/Chart.svg index 91beaf369..1f0c44dd5 100644 --- a/skin/images/Chart.svg +++ b/skin/images/Chart.svg @@ -15,7 +15,7 @@ viewBox="0 0 100 100" version="1.1" id="svg4517" - inkscape:version="0.92pre2 r" + inkscape:version="0.92pre3 r" sodipodi:docname="Chart.svg"> @@ -69,9 +69,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.98994949" - inkscape:cx="-619.33207" - inkscape:cy="89.602917" + inkscape:zoom="44.8" + inkscape:cx="311.14603" + inkscape:cy="23.343605" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" @@ -151,15 +151,16 @@ id="rect5693-8-5-9" style="opacity:1;fill:url(#linearGradient5783);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> - - - + C diff --git a/skin/images/Filter.svg b/skin/images/Filter.svg index 7667ca554..dd22dc9d7 100644 --- a/skin/images/Filter.svg +++ b/skin/images/Filter.svg @@ -15,7 +15,7 @@ viewBox="0 0 100 100" version="1.1" id="svg4517" - inkscape:version="0.92pre2 r" + inkscape:version="0.92pre3 r" sodipodi:docname="Filter.svg"> @@ -69,9 +69,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.98994949" - inkscape:cx="-120.31671" - inkscape:cy="95.663832" + inkscape:zoom="22.4" + inkscape:cx="284.74606" + inkscape:cy="30.892782" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" @@ -105,21 +105,22 @@ height="88.21254" x="15.893733" y="202.89375" /> - - - + F diff --git a/skin/images/Report.svg b/skin/images/Report.svg index 422faa343..a5daedf3a 100644 --- a/skin/images/Report.svg +++ b/skin/images/Report.svg @@ -15,7 +15,7 @@ viewBox="0 0 100 100" version="1.1" id="svg4517" - inkscape:version="0.92pre2 r" + inkscape:version="0.92pre3 r" sodipodi:docname="Report.svg"> @@ -69,9 +69,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.4" - inkscape:cx="36.830519" - inkscape:cy="159.96607" + inkscape:zoom="15.839192" + inkscape:cx="331.16915" + inkscape:cy="38.642793" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" @@ -461,20 +461,16 @@ y="227" /> - - - - - + R diff --git a/skin/images/Statistik.svg b/skin/images/Statistik.svg index 8df81c229..7a854bccc 100644 --- a/skin/images/Statistik.svg +++ b/skin/images/Statistik.svg @@ -15,7 +15,7 @@ viewBox="0 0 100 100" version="1.1" id="svg4517" - inkscape:version="0.92pre2 r" + inkscape:version="0.92pre3 r" sodipodi:docname="Statistik.svg"> @@ -324,11 +324,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.979899" - inkscape:cx="-160.90502" - inkscape:cy="173.2425" + inkscape:zoom="44.8" + inkscape:cx="307.61418" + inkscape:cy="31.988821" inkscape:document-units="mm" - inkscape:current-layer="layer1" + inkscape:current-layer="flowRoot5418" showgrid="false" inkscape:window-width="2497" inkscape:window-height="1016" @@ -557,15 +557,17 @@ transform="matrix(0.26458333,0,0,0.26458333,-54.77314,200.08014)" style="font-style:normal;font-weight:normal;font-size:40px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="flowRoot5418"> - - - + x="419.58417" + y="338.6937" + id="text4505">S From 19bda3872747fa31f6e698d5518674bddd9a5d6a Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Mon, 12 Dec 2016 11:13:44 +0100 Subject: [PATCH 37/74] removed unused spaces --- skin/images/Chart.svg | 109 +++++-- skin/images/Filter.svg | 47 +-- skin/images/Report.svg | 593 +++++++++++++++++++++++++++++++++----- skin/images/Statistik.svg | 31 +- 4 files changed, 647 insertions(+), 133 deletions(-) diff --git a/skin/images/Chart.svg b/skin/images/Chart.svg index 1f0c44dd5..60014c146 100644 --- a/skin/images/Chart.svg +++ b/skin/images/Chart.svg @@ -10,9 +10,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100mm" + width="75mm" height="100mm" - viewBox="0 0 100 100" + viewBox="0 0 75 100" version="1.1" id="svg4517" inkscape:version="0.92pre3 r" @@ -51,7 +51,8 @@ y1="291.10629" x2="84.106262" y2="202.89375" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> + + + + + + image/svg+xml - + @@ -99,68 +154,70 @@ id="layer1" transform="translate(0,-197)"> + width="73.04982" + height="98.049828" + x="0.97508752" + y="197.97508" /> + style="fill:url(#linearGradient5783);fill-opacity:1" + transform="matrix(1.0709151,0,0,1.111518,-16.04575,-27.544968)"> + style="opacity:1;fill:url(#linearGradient8743);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43855953;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8745);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.06855869;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8747);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.76675367;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8749);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8751);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.0755415;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8753);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> C + x="41.84409" + y="289.04132" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.42420578px;font-family:cantarell;-inkscape-font-specification:cantarell;fill:#000000;fill-opacity:1;stroke-width:0.28866774px">C diff --git a/skin/images/Filter.svg b/skin/images/Filter.svg index dd22dc9d7..381aea499 100644 --- a/skin/images/Filter.svg +++ b/skin/images/Filter.svg @@ -10,9 +10,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100mm" + width="75mm" height="100mm" - viewBox="0 0 100 100" + viewBox="0 0 75 100" version="1.1" id="svg4517" inkscape:version="0.92pre3 r" @@ -51,7 +51,8 @@ y1="291.10629" x2="84.106262" y2="202.89375" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> image/svg+xml - + @@ -99,28 +101,29 @@ id="layer1" transform="translate(0,-197)"> + width="73.04982" + height="98.049828" + x="0.97508752" + y="197.97508" /> F + x="47.490475" + y="289.5903" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.42420578px;font-family:cantarell;-inkscape-font-specification:cantarell;fill:#000000;fill-opacity:1;stroke-width:0.28866774px">F diff --git a/skin/images/Report.svg b/skin/images/Report.svg index a5daedf3a..a74afe212 100644 --- a/skin/images/Report.svg +++ b/skin/images/Report.svg @@ -10,9 +10,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100mm" + width="75mm" height="100mm" - viewBox="0 0 100 100" + viewBox="0 0 75 100" version="1.1" id="svg4517" inkscape:version="0.92pre3 r" @@ -51,7 +51,8 @@ y1="291.10629" x2="84.106262" y2="202.89375" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml - + @@ -105,196 +556,197 @@ id="layer1" transform="translate(0,-197)"> + width="73.04982" + height="98.049828" + x="0.97508752" + y="197.97508" /> + style="fill:url(#linearGradient4924);fill-opacity:1" + transform="matrix(1.0709151,0,0,1.111518,-16.04575,-27.544968)"> + style="fill:url(#linearGradient8695);fill-opacity:1"> + style="fill:url(#linearGradient8697);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8699);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8701);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8703);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8705);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8707);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8709);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8711);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8713);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8721);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8723);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8725);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8727);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> R + x="42.123096" + y="289.59741" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:55.42420578px;font-family:cantarell;-inkscape-font-specification:cantarell;fill:#000000;fill-opacity:1;stroke-width:0.28866774px">R diff --git a/skin/images/Statistik.svg b/skin/images/Statistik.svg index 7a854bccc..668a030ab 100644 --- a/skin/images/Statistik.svg +++ b/skin/images/Statistik.svg @@ -10,9 +10,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100mm" + width="75mm" height="100mm" - viewBox="0 0 100 100" + viewBox="0 0 75 100" version="1.1" id="svg4517" inkscape:version="0.92pre3 r" @@ -72,7 +72,8 @@ y1="291.10629" x2="84.106262" y2="202.89375" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> image/svg+xml - + @@ -354,15 +355,15 @@ id="layer1" transform="translate(0,-197)"> + width="73.04982" + height="98.049828" + x="0.97508752" + y="197.97508" /> Date: Mon, 12 Dec 2016 11:17:17 +0100 Subject: [PATCH 38/74] adjusted easyui icon size --- include/vendor_custom/easyui/icon.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/vendor_custom/easyui/icon.css b/include/vendor_custom/easyui/icon.css index 38967a835..c4813ce99 100755 --- a/include/vendor_custom/easyui/icon.css +++ b/include/vendor_custom/easyui/icon.css @@ -1,12 +1,12 @@ .icon-fhc-chart{ background:url('../../../skin/images/Chart.svg') no-repeat center center; - background-size: 16px 16px; + background-size: 11px 16px; } .icon-fhc-report{ background:url('../../../skin/images/Report.svg') no-repeat center center; - background-size: 16px 16px; + background-size: 11px 16px; } .icon-fhc-statistik{ background:url('../../../skin/images/Statistik.svg') no-repeat center center; - background-size: 16px 16px; + background-size: 11px 16px; } From 5994a25b7b92a575c464e2a3d597e3576fb2b053 Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Tue, 13 Dec 2016 08:52:43 +0100 Subject: [PATCH 39/74] fixed anmeldung for students without creditpoints --- cis/private/lehre/pruefung/pruefungsanmeldung.json.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 2e306de94..803bbc33e 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -539,7 +539,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $konto = new konto(); $creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz); - if(($creditPoints != false)) + if(($creditPoints !== false)) { $cpVerbleibend = $creditPoints - $ects_verwendet; if(($lehrveranstaltung->ects > $cpVerbleibend)) @@ -549,7 +549,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) return $data; } } - else + elseif($konto->errormsg !== null) { $data['error'] = 'true'; $data['errormsg'] = 'Fehler beim Laden der Credit Points.'; From 77cfbb109318c6207bb7d6ddaaf613f111239e4b Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Tue, 13 Dec 2016 14:19:12 +0100 Subject: [PATCH 40/74] style changes for easyui panel --- include/vendor_custom/easyui/easyui.css | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/vendor_custom/easyui/easyui.css b/include/vendor_custom/easyui/easyui.css index 586eb7cb7..36c786139 100644 --- a/include/vendor_custom/easyui/easyui.css +++ b/include/vendor_custom/easyui/easyui.css @@ -6,12 +6,17 @@ .panel-body-noheader { border-top-width: 1px; } -.panel-header, -.panel-body { + +.panel { + background-color: #EEE; + color: #333; border-color: #888; + border: 1px solid #888; } + .panel-body { background-color: #EEE; color: #333; font-size: 12px; + border: none; } From f942d4c508a910119aba3bd121b1b8e92ee53445 Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Tue, 13 Dec 2016 14:25:40 +0100 Subject: [PATCH 41/74] - filter_details: removed reset button --- vilesci/statistik/filter_details.php | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/vilesci/statistik/filter_details.php b/vilesci/statistik/filter_details.php index b26fba89f..a23a1ea71 100644 --- a/vilesci/statistik/filter_details.php +++ b/vilesci/statistik/filter_details.php @@ -15,7 +15,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Christian Paminger < christian.paminger@technikum-wien.at > + * Authors: Christian Paminger < christian.paminger@technikum-wien.at > and + * Andreas Moik < moik@technikum-wien.at >. */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/globals.inc.php'); @@ -127,7 +128,6 @@ $htmlstr .= " \n"; $htmlstr .= " "; $htmlstr .= " \n"; - $htmlstr .= " \n"; $htmlstr .= ""; $htmlstr .= ""; $htmlstr .= "
".$errorstr."
" @@ -139,13 +139,6 @@ - - + Statistik - Details + + -

Report - bezeichnung ?>

content_id): ?> - - Beschreibung anzeigen -

- url) -{ - $action = $statistik->url; - $variablenstring = $statistik->url; -} -elseif($statistik->sql!='') -{ - $action = 'statistik_sql.php?statistik_kurzbz='.$statistik_kurzbz; - $variablenstring = $statistik->sql; -} + $statistik_kurzbz = filter_input(INPUT_GET, 'statistik_kurzbz'); + $statistik = new statistik(); -$vars = $statistik->parseVars($variablenstring); ?> - -
- + $statistik->statistik_kurzbz = $statistik_kurzbz; + $statistik->statistik_kurzbz_orig = $statistik_kurzbz_orig; + $statistik->bezeichnung = $bezeichnung; + $statistik->url = $url; + $statistik->sql = $sql; + $statistik->gruppe = $gruppe; + $statistik->content_id = $content_id; + $statistik->publish = $publish; + $statistik->updateamum = date('Y-m-d H:i:s'); + $statistik->updatevon = $user; + $statistik->berechtigung_kurzbz = $berechtigung_kurzbz; + $statistik->preferences = $preferences; + + $success = $statistik->save(); + + if($success): + ?> + Daten erfolgreich gespeichert + + + errormsg ?>loadAll(); ?> + endif; + } - - isFilter($var)): ?> - - - - - - - - - -
getHtmlWidget($var) ?>
+ $preferences = trim($statistik->preferences); + + if(empty($preferences)) + { + $statistik->preferences = << + +
+ new === false): ?> + Bearbeiten - + + Neu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KurzbzGruppe
BezeichnungContentID
URLBerechtigung + getBerechtigungen(); + ?> + +
SQL
Publishpublish ? 'checked="checked"' : '' ?>>
Preferences
+
From 36203b443644488cc7477e3b9a115e3035cb6b92 Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Tue, 13 Dec 2016 16:23:06 +0100 Subject: [PATCH 43/74] changed place of save button --- vilesci/stammdaten/statistik_details.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/vilesci/stammdaten/statistik_details.php b/vilesci/stammdaten/statistik_details.php index f5217d5cd..4e5af8f5e 100644 --- a/vilesci/stammdaten/statistik_details.php +++ b/vilesci/stammdaten/statistik_details.php @@ -187,15 +187,11 @@ EOT; - - - - - - - +
+ +
From 5d693398f670481399b095cec04dc5a71c42a5cd Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Tue, 13 Dec 2016 16:25:33 +0100 Subject: [PATCH 44/74] - filter_details: changed save button --- vilesci/statistik/filter_details.php | 66 +++++++++++++--------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/vilesci/statistik/filter_details.php b/vilesci/statistik/filter_details.php index a23a1ea71..f70877a8e 100644 --- a/vilesci/statistik/filter_details.php +++ b/vilesci/statistik/filter_details.php @@ -51,41 +51,37 @@ $filter->htmlattr = ''; $filter->insertvon = $user; $filter->updatevon = $user; - - if(isset($_POST["action"]) && isset($_REQUEST["filter_id"])) + + if(isset($_POST["save"]) && isset($_REQUEST["filter_id"])) { if(!$rechte->isBerechtigt('basis/statistik', null, 'suid')) die('Sie haben keine Berechtigung fuer diese Aktion'); - - if ($_POST["action"]=='save') + + if ($_REQUEST["filter_id"]!='') { - if ($_REQUEST["filter_id"]!='') + if($filter->load($_REQUEST["filter_id"])) { - if($filter->load($_REQUEST["filter_id"])) - { - $filter->updatevon=$user; - } - else - die('Fehlgeschlagen:'.$filter->errormsg); + $filter->updatevon=$user; } - - $filter->kurzbz = $_POST["kurzbz"]; - $filter->valuename = $_POST["valuename"]; - $filter->sql = $_POST["sql"]; - $filter->showvalue = isset($_POST["showvalue"]); - $filter->type = $_POST["type"]; - $filter->htmlattr = $_POST["htmlattr"]; - - if(!$filter->save()) - { - $errorstr .= $filter->errormsg; - } - - $reloadstr .= "\n"; - //echo '
'.var_dump($filter).'
'; + else + die('Fehlgeschlagen:'.$filter->errormsg); } + + $filter->kurzbz = $_POST["kurzbz"]; + $filter->valuename = $_POST["valuename"]; + $filter->sql = $_POST["sql"]; + $filter->showvalue = isset($_POST["showvalue"]); + $filter->type = $_POST["type"]; + $filter->htmlattr = $_POST["htmlattr"]; + + if(!$filter->save()) + { + $errorstr .= $filter->errormsg; + } + + $reloadstr .= "\n"; } if ((isset($_REQUEST['filter_id'])) && ((!isset($_REQUEST['neu'])) || ($_REQUEST['neu']!= "true")) && is_numeric($_REQUEST['filter_id'])) @@ -95,12 +91,12 @@ die($filter->errormsg); } - if($filter->filter_id > 0) - $htmlstr .= "
Filter ".$filter->filter_id."
\n"; - else - $htmlstr .="
Neuer Filter
\n"; - - if($filter->showvalue) + if($filter->filter_id > 0) + $htmlstr .= "
Filter ".$filter->filter_id."
\n"; + else + $htmlstr .="
Neuer Filter
\n"; + + if($filter->showvalue) $chk = "checked"; else $chk = ''; @@ -127,7 +123,7 @@ $htmlstr .= "
\n"; $htmlstr .= " \n"; $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= "
"; $htmlstr .= ""; $htmlstr .= "
".$errorstr."
" From 1cd44717513a04ee27e3f71f2b1ce97155362840 Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 14 Dec 2016 09:21:25 +0100 Subject: [PATCH 45/74] Fixed Typo --- system/dbupdate_3.2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/dbupdate_3.2.php b/system/dbupdate_3.2.php index dc64c4e80..cc9612dde 100755 --- a/system/dbupdate_3.2.php +++ b/system/dbupdate_3.2.php @@ -1447,7 +1447,7 @@ if ($result = @$db->db_query("SELECT r FROM public.tbl_statistik LIMIT 1;")) // Removing column "php" from tbl_statistik if ($result = @$db->db_query("SELECT php FROM public.tbl_statistik LIMIT 1;")) -{s +{ $qry = "ALTER TABLE public.tbl_statistik DROP COLUMN php;"; if (!$db->db_query($qry)) From 5cdaf1f0a8ab68e7ce9a736d8edc9b862169546c Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 14 Dec 2016 10:25:28 +0100 Subject: [PATCH 46/74] Anlagedatum ist nun ein eigener Filter damit auch nach ausgeschiedenem Inventar etc. pro Monat gesucht werden kann --- include/betriebsmittel.class.php | 25 +++++++++++++++++++------ vilesci/inventar/inventar.php | 28 ++++++++++++++++++++++++++-- vilesci/inventar/inventarliste.php | 3 ++- 3 files changed, 47 insertions(+), 9 deletions(-) diff --git a/include/betriebsmittel.class.php b/include/betriebsmittel.class.php index d409a76bc..8bfdee7d7 100644 --- a/include/betriebsmittel.class.php +++ b/include/betriebsmittel.class.php @@ -818,7 +818,7 @@ class betriebsmittel extends basis_db * @return Daten Objekt wenn ok, false im Fehlerfall */ - function betriebsmittel_inventar($order=null,$inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null) + function betriebsmittel_inventar($order=null,$inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null,$anlage_jahr_monat=null) { // Init $this->errormsg=''; @@ -853,7 +853,7 @@ class betriebsmittel extends basis_db LEFT JOIN public.tbl_firma ON(tbl_firma.firma_id=tbl_bestellung.firma_id )'; $qry.=" WHERE not tbl_betriebsmittel.betriebsmittel_id is null "; - $where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id); + $where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id,$anlage_jahr_monat); if ($where!='' && !$where) return $this->result; @@ -957,7 +957,7 @@ class betriebsmittel extends basis_db * @param $betriebsmittel_id * @return unknown */ - public function betriebsmittel_inventar_get_where($inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null) + public function betriebsmittel_inventar_get_where($inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null,$anlage_jahr_monat=null) { $where=''; // Inventarnummer oder Betriebsmittelnummer @@ -1115,11 +1115,24 @@ class betriebsmittel extends basis_db $jahr_monat=mb_strtoupper(trim(str_replace(array('-','.','/','*','%',"'",'"'),'',trim($jahr_monat)))); $jm=''; if (!empty($jahr_monat) && is_numeric($jahr_monat) && strlen($jahr_monat)>6) - $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMMDD') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYYMMDD') = ".$this->db_add_param($jahr_monat)." "; elseif (!empty($jahr_monat) && is_numeric($jahr_monat) && strlen($jahr_monat)>4) - $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMM') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYYMM') = ".$this->db_add_param($jahr_monat)." "; elseif (!is_null($jahr_monat) && !empty($jahr_monat)) - $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYY') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY') = ".$this->db_add_param($jahr_monat)." "; + $where.=$jm; + $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) "; + } + elseif (!is_null($anlage_jahr_monat) && $anlage_jahr_monat!='') + { + $anlage_jahr_monat=mb_strtoupper(trim(str_replace(array('-','.','/','*','%',"'",'"'),'',trim($anlage_jahr_monat)))); + $jm=''; + if (!empty($anlage_jahr_monat) && is_numeric($anlage_jahr_monat) && strlen($anlage_jahr_monat)>6) + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMMDD') = ".$this->db_add_param($anlage_jahr_monat)." "; + elseif (!empty($anlage_jahr_monat) && is_numeric($anlage_jahr_monat) && strlen($anlage_jahr_monat)>4) + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMM') = ".$this->db_add_param($anlage_jahr_monat)." "; + elseif (!is_null($anlage_jahr_monat) && !empty($anlage_jahr_monat)) + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYY') = ".$this->db_add_param($anlage_jahr_monat)." "; $where.=$jm; $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) "; } diff --git a/vilesci/inventar/inventar.php b/vilesci/inventar/inventar.php index c984e51fb..2dbec17e2 100644 --- a/vilesci/inventar/inventar.php +++ b/vilesci/inventar/inventar.php @@ -72,6 +72,7 @@ if (!$uid = get_uid()) $jahr_monat=trim(isset($_REQUEST['jahr_monat']) ? $_REQUEST['jahr_monat']:''); $afa=trim(isset($_REQUEST['afa']) ? $_REQUEST['afa']:''); $inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:''); + $anlage_jahr_monat=trim(isset($_REQUEST['anlage_jahr_monat']) ? $_REQUEST['anlage_jahr_monat']:''); $person_id=trim(isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:''); if (!empty($person_id) && !is_numeric($person_id)) @@ -503,6 +504,28 @@ if (!$uid = get_uid())   +   +   +  suchen suchen  @@ -824,12 +847,12 @@ if (!$uid = get_uid()) if (empty($bestellung_id) && empty($bestellnr) ) $bestelldetail_id=''; - $check=$inventarnummer.$ort_kurzbz.$betriebsmittelstatus_kurzbz.$betriebsmitteltyp.$bestellung_id.$bestelldetail_id.$bestellnr.$hersteller.$afa.$jahr_monat.$firma_id.$inventur_jahr.$beschreibung.$oe_kurzbz.$seriennummer.$person_id.$betriebsmittel_id; + $check=$inventarnummer.$ort_kurzbz.$betriebsmittelstatus_kurzbz.$betriebsmitteltyp.$bestellung_id.$bestelldetail_id.$bestellnr.$hersteller.$afa.$jahr_monat.$firma_id.$inventur_jahr.$beschreibung.$oe_kurzbz.$seriennummer.$person_id.$betriebsmittel_id.$anlage_jahr_monat; $order=null; // Sortierung $oBetriebsmittel->result=array(); $oBetriebsmittel->errormsg=''; - if ($check!='' && !$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id)) + if ($check!='' && !$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id, $anlage_jahr_monat)) $errormsg[]=$oBetriebsmittel->errormsg; echo '
@@ -851,6 +874,7 @@ if (!$uid = get_uid()) +
'; diff --git a/vilesci/inventar/inventarliste.php b/vilesci/inventar/inventarliste.php index f6562c9aa..d330165ae 100644 --- a/vilesci/inventar/inventarliste.php +++ b/vilesci/inventar/inventarliste.php @@ -57,6 +57,7 @@ $afa=trim(isset($_REQUEST['afa']) ? $_REQUEST['afa']:''); $inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:''); $order = trim(isset($_REQUEST['order']) ? $_REQUEST['order']:''); $person_id = trim(isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:''); +$anlage_jahr_monat=trim(isset($_REQUEST['anlage_jahr_monat']) ? $_REQUEST['anlage_jahr_monat']:''); $debug = false; $schreib_recht_administration=false; @@ -70,7 +71,7 @@ $oBetriebsmittelstatus->result=array(); $resultBetriebsmittelstatus=$oBetriebsmittelstatus->result; $oBetriebsmittel = new betriebsmittel(); -if (!$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id)) +if (!$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id,$anlage_jahr_monat)) $errormsg[]=$oBetriebsmittel->errormsg; $resultBetriebsmittel = $oBetriebsmittel->result; From 4372f5b62c011b991f56aca6fb3fc6ed3f8793af Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Wed, 14 Dec 2016 14:46:11 +0100 Subject: [PATCH 47/74] fixed selection of studienverpflichtung at registration for exam --- cis/private/lehre/pruefung/pruefung.js | 35 +++- cis/private/lehre/pruefung/pruefung.js.php | 33 +++- .../pruefung/pruefungsanmeldung.json.php | 173 ++++++++++++++---- .../lehre/pruefung/pruefungsanmeldung.php | 14 ++ include/lehrveranstaltung.class.php | 69 +++++++ locale/de-AT/pruefung.php | 2 + 6 files changed, 285 insertions(+), 41 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefung.js b/cis/private/lehre/pruefung/pruefung.js index 620f20db0..801854f19 100644 --- a/cis/private/lehre/pruefung/pruefung.js +++ b/cis/private/lehre/pruefung/pruefung.js @@ -446,6 +446,34 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t }); $("#studienverpflichtung").html(html); }); + + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getPrestudenten" + }, + error: loadError + }).success(function(data) + { + if(data.error !== false) + { + var html = ""; + + console.log(html); + + $("#studiengang").html("t('pruefung/AnrechnungInStudiengang'); ?>:"+html+""); + } + }); var start = terminVon; var ende = terminBis; @@ -487,6 +515,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) var studienverpflichtung_id = null; if($("#studienverpflichtung").length) studienverpflichtung_id = $("#studienverpflichtung option:selected").val(); + + var studiengang_kz = null; + if($('#prestudent_studiengang').length) + studiengang_kz = $('#prestudent_studiengang option:selected').val(); $.ajax({ dataType: 'json', @@ -498,7 +530,8 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) lehrveranstaltung_id: lehrveranstaltung_id, bemerkung: bemerkungen, uid: uid, - studienverpflichtung_id: studienverpflichtung_id + studienverpflichtung_id: studienverpflichtung_id, + studiengang_kz: studiengang_kz }, error: loadError }).success(function(data){ diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 9f4fa48a9..d1be2e8bb 100755 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -491,6 +491,32 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t $("#studienverpflichtung").html(html); }); + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getPrestudenten" + }, + error: loadError + }).success(function(data) + { + if(data.error !== false) + { + //show if more than 1 active prestudent exists + if(data.result.length > 1) + { + var html = ""; + + $("#studiengang").html("t('pruefung/AnrechnungInStudiengang'); ?>:"+html+""); + } + } + }); + var start = terminVon; var ende = terminBis; start = start.split(' '); @@ -532,6 +558,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) if($("#studienverpflichtung").length) studienverpflichtung_id = $("#studienverpflichtung option:selected").val(); + var studiengang_kz = null; + if($('#prestudent_studiengang').length) + studiengang_kz = $('#prestudent_studiengang option:selected').val(); + $.ajax({ dataType: 'json', url: "./pruefungsanmeldung.json.php", @@ -542,7 +572,8 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) lehrveranstaltung_id: lehrveranstaltung_id, bemerkung: bemerkungen, uid: uid, - studienverpflichtung_id: studienverpflichtung_id + studienverpflichtung_id: studienverpflichtung_id, + studiengang_kz: studiengang_kz }, error: loadError }).success(function(data){ diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 803bbc33e..6a1eb085b 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -41,6 +41,7 @@ $lang->load($sprache); $p = new phrasen($sprache); $uid = get_uid(); +$uid = "p20110133"; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); @@ -120,6 +121,9 @@ switch($method) $lvid = filter_input(INPUT_POST, "lehrveranstaltung_id"); $data = getLvKompatibel($lvid); break; + case 'getPrestudenten': + $data = getPrestudenten($uid, $aktStudiensemester); + break; default: break; } @@ -376,6 +380,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $stdsem = $studiensemester->getLastOrAktSemester(0); $lv_besucht = false; $studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id"); + $studiengang_kz = filter_input(INPUT_POST, "studiengang_kz"); //Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben) $maxAnzahlVersuche = 0; @@ -583,6 +588,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $anrechnung = new anrechnung(); $lv_komp = new lehrveranstaltung($studienverpflichtung_id); + $lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]); $person = new person(); $person->getPersonFromBenutzer($uid); $prestudent = new prestudent(); @@ -592,39 +598,92 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) if ($aktStudiensemester) $stdsem = $aktStudiensemester; - if(count($prestudent->result) > 0) + $prestudenten = array(); + + foreach ($prestudent->result as $ps) { - $prestudent_id = ""; - foreach($prestudent->result as $ps) - { - if($ps->getLaststatus($ps->prestudent_id, $stdsem)) - { - if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) - { - $prestudent_id = $ps->prestudent_id; - } - else - { - if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) - { - if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) - { - $prestudent_id = $ps->prestudent_id; - } - } - } - } - else - { - if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) - { - if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) - { - $prestudent_id = $ps->prestudent_id; - } - } - } - } + if ($ps->getLaststatus($ps->prestudent_id, $stdsem)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + array_push($prestudenten, $ps); + } + } + } + + if (count($prestudenten) > 0) + { + $prestudent_id = ""; + if (count($prestudenten) != 1) + { + foreach ($prestudenten as $ps) + { + if($ps->studiengang_kz === $studiengang_kz) + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + else + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + else + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + } + } + else + { + foreach ($prestudenten as $ps) + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + else + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + else + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + } + if($prestudent_id != "") { $anrechungSaveResult = false; @@ -1165,18 +1224,54 @@ function saveRaum($terminId, $ort_kurzbz, $uid) function getLvKompatibel($lvid) { $lv = new lehrveranstaltung(); - if($lv->getLVkompatibel($lvid)) + if($lv->getLVkompatibelTo($lvid)) { - $data['result']=$lv->lehrveranstaltungen; - $data['error']='false'; - $data['errormsg']=''; + $data['result']=$lv->lehrveranstaltungen; + $data['error']='false'; + $data['errormsg']=''; } else { - $data['result']=""; - $data['error']='true'; - $data['errormsg']=$lv->errormsg; + $data['result']=""; + $data['error']='true'; + $data['errormsg']=$lv->errormsg; } return $data; } + +function getPrestudenten($uid, $aktStudiensemester) +{ + $person = new person(); + $person->getPersonFromBenutzer($uid); + $prestudent = new prestudent(); + $prestudent->getPrestudenten($person->person_id); + $result = array(); + + if (count($prestudent->result) > 0) + { + foreach ($prestudent->result as $key=>$ps) + { + if ($ps->getLaststatus($ps->prestudent_id)) + { + if(($ps->status_kurzbz === 'Student') || ($ps->status_kurzbz == 'Unterbrecher')) + { + $studiengang = new studiengang($ps->studiengang_kz); + array_push($result, $studiengang); + } + } + } + + $data['result']=$result; + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['result']=""; + $data['error']='true'; + $data['errormsg']=$lv->errormsg; + } + + return $data; +} ?> diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.php b/cis/private/lehre/pruefung/pruefungsanmeldung.php index 5551adb70..1a9c43875 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.php @@ -40,6 +40,17 @@ $p = new phrasen($sprache); //TODO $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']; +} + $db = new basis_db(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); @@ -302,6 +313,9 @@ $studiensemester->getAll(); + + + t('global/anmerkung'); ?>: diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index ced930158..010863068 100755 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -1592,6 +1592,75 @@ class lehrveranstaltung extends basis_db } } + /** + * Lädt alle Lehrveranstaltungen zu denen die übergebene LV ID kompatibel ist + * @param $lehrveranstaltung_id ID der Lehrveranstaltung + */ + public function getLVkompatibelTo($lehrveranstaltung_id) + { + if (!is_numeric($lehrveranstaltung_id)) + { + $this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id IN ( + SELECT lehrveranstaltung_id + FROM lehre.tbl_lehrveranstaltung_kompatibel + WHERE lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).");"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $lv_obj = new lehrveranstaltung(); + + $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->kurzbz = $row->kurzbz; + $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $lv_obj->semester = $row->semester; + $lv_obj->ects = $row->ects; + $lv_obj->semesterstunden = $row->semesterstunden; + $lv_obj->anmerkung = $row->anmerkung; + $lv_obj->lehre = $this->db_parse_bool($row->lehre); + $lv_obj->lehreverzeichnis = $row->lehreverzeichnis; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->ext_id = $row->ext_id; + $lv_obj->insertamum = $row->insertamum; + $lv_obj->insertvon = $row->insertvon; + $lv_obj->planfaktor = $row->planfaktor; + $lv_obj->planlektoren = $row->planlektoren; + $lv_obj->planpersonalkosten = $row->planpersonalkosten; + $lv_obj->plankostenprolektor = $row->plankostenprolektor; + $lv_obj->updateamum = $row->updateamum; + $lv_obj->updatevon = $row->updatevon; + $lv_obj->sprache = $row->sprache; + $lv_obj->sort = $row->sort; + $lv_obj->incoming = $row->incoming; + $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $lv_obj->koordinator = $row->koordinator; + $lv_obj->bezeichnung_english = $row->bezeichnung_english; + $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->farbe = $row->farbe; + $lv_obj->benotung = $this->db_parse_bool($row->benotung); + $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); + $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + + $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($lv_obj->bezeichnung_arr['English'] == '') + $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; + + $this->lehrveranstaltungen[] = $lv_obj; + } + return true; + } + } + /** * Speichert eine Kombination aus LV und ihrer kompatiblen Lehrveranstaltung * @param $lehrveranstaltung_id ID der Lehrveranstaltung diff --git a/locale/de-AT/pruefung.php b/locale/de-AT/pruefung.php index 19114ac1c..38b41cf9c 100755 --- a/locale/de-AT/pruefung.php +++ b/locale/de-AT/pruefung.php @@ -149,5 +149,7 @@ Die Prüfung zur LV %1$s wurde verschoben. Der neue Termin für die Prüfung ist am %2$s um %3$s Uhr.'; $this->phrasen['pruefung/emailVerschiebungSubject'] = 'Verschiebung einer Prüfung'; +$this->phrasen['pruefung/AnrechnungInStudiengang'] = 'Studiengang für Anrechnung'; + ?> From 9c98b982a76d9d24328d73924aef489869b0425a Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Thu, 15 Dec 2016 08:02:09 +0100 Subject: [PATCH 48/74] added filter to list of studienverpflichtungen --- .../pruefung/pruefungsanmeldung.json.php | 25 +++++++++++++++--- include/lehrveranstaltung.class.php | 26 +++++++++++++++---- 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 6a1eb085b..395046298 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -41,7 +41,6 @@ $lang->load($sprache); $p = new phrasen($sprache); $uid = get_uid(); -$uid = "p20110133"; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); @@ -119,7 +118,7 @@ switch($method) break; case 'getLvKompatibel': $lvid = filter_input(INPUT_POST, "lehrveranstaltung_id"); - $data = getLvKompatibel($lvid); + $data = getLvKompatibel($lvid, $uid); break; case 'getPrestudenten': $data = getPrestudenten($uid, $aktStudiensemester); @@ -1221,10 +1220,28 @@ function saveRaum($terminId, $ort_kurzbz, $uid) return $data; } -function getLvKompatibel($lvid) +function getLvKompatibel($lvid, $uid) { + $person = new person(); + $person->getPersonFromBenutzer($uid); + $prestudent = new prestudent(); + $prestudent->getPrestudenten($person->person_id); + + $stplIds = array(); + + foreach ($prestudent->result as $ps) + { + if ($ps->getLaststatus($ps->prestudent_id)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + array_push($stplIds, $ps->studienplan_id); + } + } + } + $lv = new lehrveranstaltung(); - if($lv->getLVkompatibelTo($lvid)) + if($lv->getLVkompatibelTo($lvid, $stplIds)) { $data['result']=$lv->lehrveranstaltungen; $data['error']='false'; diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 010863068..2d80db09a 100755 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -1596,7 +1596,7 @@ class lehrveranstaltung extends basis_db * Lädt alle Lehrveranstaltungen zu denen die übergebene LV ID kompatibel ist * @param $lehrveranstaltung_id ID der Lehrveranstaltung */ - public function getLVkompatibelTo($lehrveranstaltung_id) + public function getLVkompatibelTo($lehrveranstaltung_id, $studienplan_ids=array()) { if (!is_numeric($lehrveranstaltung_id)) { @@ -1604,10 +1604,26 @@ class lehrveranstaltung extends basis_db return false; } - $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id IN ( - SELECT lehrveranstaltung_id - FROM lehre.tbl_lehrveranstaltung_kompatibel - WHERE lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).");"; + if((!is_array($studienplan_ids)) && (count($studienplan_ids) < 1)) + { + $this->errormsg = 'Es muss ein Array von Studienplan_IDs mit mindestens einem Element übergeben werden.'; + return false; + } + + $studienplaene = ""; + foreach($studienplan_ids as $stplId) + { + $studienplaene .= $stplId.","; + } + $studienplaene = rtrim($studienplaene, ","); + + $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung + JOIN lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id) + WHERE lehrveranstaltung_id IN ( + SELECT lehrveranstaltung_id + FROM lehre.tbl_lehrveranstaltung_kompatibel + WHERE lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).") + AND studienplan_id IN(".$studienplaene.");"; if($this->db_query($qry)) { From 578e3d93242d30e4bbc5152ab233055b5b730664 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 15 Dec 2016 10:33:25 +0100 Subject: [PATCH 49/74] =?UTF-8?q?Anpassung=20=C3=96H=20W=C3=A4hlerverzeich?= =?UTF-8?q?nis=20export=20angepasst=20damit=20Incoming=20mit=20aufscheinen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/statistik/oehwaehlerverzeichnis.php | 42 +++++++++++---------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/vilesci/statistik/oehwaehlerverzeichnis.php b/vilesci/statistik/oehwaehlerverzeichnis.php index 266361c5c..991a6ac0f 100644 --- a/vilesci/statistik/oehwaehlerverzeichnis.php +++ b/vilesci/statistik/oehwaehlerverzeichnis.php @@ -57,10 +57,10 @@ header( 'Content-Type: text/csv' ); header( 'Content-Disposition: attachment;filename='.$filename); -// Daten holen - Alle Personen mit akt. Status Student, Diplomand die bezahlt haben +// Daten holen - Alle Personen mit akt. Status Student, Diplomand und Incoming die bezahlt haben $qry=" SELECT * FROM ( -SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzeichen, +SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzeichen, tbl_person.svnr, tbl_person.ersatzkennzeichen, tbl_person.gebdatum, @@ -69,28 +69,28 @@ SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzeichen, tbl_person.geschlecht, tbl_student.studiengang_kz, tbl_student.student_uid, - (SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_plz, - (SELECT gemeinde FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_ort, - (SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_strasse, - (SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_plz, - (SELECT gemeinde FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_ort, + (SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_plz, + (SELECT gemeinde FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_ort, + (SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY zustelladresse desc LIMIT 1) AS zustell_strasse, + (SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_plz, + (SELECT gemeinde FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_ort, (SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS heimat_strasse, tbl_person.person_id -FROM public.tbl_person - JOIN public.tbl_konto as ka using(person_id) - JOIN public.tbl_konto as kb using(person_id) - JOIN public.tbl_benutzer using(person_id) +FROM public.tbl_person + JOIN public.tbl_konto as ka using(person_id) + JOIN public.tbl_konto as kb using(person_id) + JOIN public.tbl_benutzer using(person_id) JOIN public.tbl_student on(uid=student_uid) JOIN public.tbl_prestudent using(prestudent_id) JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id) -WHERE - tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." - AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand') +WHERE + tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." + AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Incoming') AND tbl_student.studiengang_kz<10000 AND tbl_student.studiengang_kz>0 AND tbl_student.studiengang_kz!='9".$erhalter_row->erhalter_kz."' - AND ka.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND ka.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=ka.studiengang_kz - AND kb.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND kb.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=kb.studiengang_kz + AND ka.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND ka.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=ka.studiengang_kz + AND kb.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND kb.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=kb.studiengang_kz AND kb.buchungsnr_verweis=ka.buchungsnr AND bismelden ) a ORDER BY person_id"; @@ -111,7 +111,7 @@ if($result = $db->db_query($qry)) $data_row[2]=implode(';',$personenkennzeichen); $data_row[8]=implode(';',$studiengang_kz); - echo implode('|',$data_row)."\r\n"; + echo implode('|',$data_row)."|\r\n"; $data_row = array(); $personenkennzeichen = array(); $studiengang_kz = array(); @@ -124,7 +124,7 @@ if($result = $db->db_query($qry)) $data_row = array( sprintf('%1$03d',$erhalter_row->erhalter_kz), - $erhalter_row->bezeichnung, + $erhalter_row->bezeichnung, null, ($row->svnr!=''?$row->svnr:$row->ersatzkennzeichen), $datum_obj->formatDatum($row->gebdatum,'Ymd'), @@ -140,7 +140,11 @@ if($result = $db->db_query($qry)) $row->heimat_strasse, $row->student_uid.'@'.DOMAIN ); - + } + $data_row[2]=implode(';',$personenkennzeichen); + $data_row[8]=implode(';',$studiengang_kz); + + echo implode('|',$data_row)."|\r\n"; } From 3528ca6f70b68b4d947f7cd7f7d2ec65649e33a4 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 15 Dec 2016 11:25:31 +0100 Subject: [PATCH 50/74] Bei der Erstellung der Personalmeldung werden jetzt mehr Details zu den gemeldetn Personen angezeigt --- vilesci/bis/personalmeldung.php | 159 ++++++++++++++++++++++++++------ 1 file changed, 130 insertions(+), 29 deletions(-) diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php index f278f18f6..1ed40dc97 100644 --- a/vilesci/bis/personalmeldung.php +++ b/vilesci/bis/personalmeldung.php @@ -26,6 +26,7 @@ require_once('../../include/studiensemester.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); $uid = get_uid(); @@ -86,23 +87,50 @@ if($result = $db->db_query($qry)) } } +$ba1_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ba1_arr[$row->ba1code]=$row->ba1kurzbz; + +$ba2_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsart2"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ba2_arr[$row->ba2code]=$row->ba2bez; + +$verwendung_arr = array(); +$qry = "SELECT * FROM bis.tbl_verwendung"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $verwendung_arr[$row->verwendung_code]=$row->verwendungbez; + +$ausmass_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsausmass"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ausmass_arr[$row->beschausmasscode]=$row->beschausmassbez; + +$stg_obj = new studiengang(); +$stg_obj->getAll(null,false); + $qry=" - SELECT DISTINCT ON (UID) * - FROM - public.tbl_mitarbeiter + SELECT DISTINCT ON (UID) * + FROM + public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_bisverwendung USING(mitarbeiter_uid) - WHERE - bismelden - AND personalnummer>0 + WHERE + bismelden + AND personalnummer>0 AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende>".$db->db_add_param($bisprevious).") ORDER BY uid, nachname,vorname "; if($result = $db->db_query($qry)) { - + $datei.=" ".$erhalter." @@ -111,7 +139,7 @@ if($result = $db->db_query($qry)) while($row = $db->db_fetch_object($result)) { $mitarbeiter_data=array(); - + $error_person = false; $person_content=''; $qryet="SELECT * FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid).";"; @@ -123,7 +151,7 @@ if($result = $db->db_query($qry)) } } $error_log=''; - + if($row->gebdatum=='' || $row->gebdatum==NULL) { $error_log.=($error_log!=''?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; @@ -140,7 +168,9 @@ if($result = $db->db_query($qry)) $mitarbeiter_data['personalnummer']=sprintf("%015s",$row->personalnummer); $mitarbeiter_data['vorname']=$row->vorname; $mitarbeiter_data['nachname']=$row->nachname; - + $mitarbeiter_data['fixangestellt']=($row->fixangestellt=='t'?true:false); + $mitarbeiter_data['lektor']=($row->lektor=='t'?true:false); + $person_content.=" ".sprintf("%015s",$row->personalnummer)." @@ -202,17 +232,17 @@ if($result = $db->db_query($qry)) $verwendung_data[$key]['ba2code']=$rowvw->ba2code; $verwendung_data[$key]['beschausmasscode']=$rowvw->beschausmasscode; $verwendung_data[$key]['verwendung_code']=$rowvw->verwendung_code; - - - + + + //Studiengangsleiter - $qryslt="SELECT - tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz - FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz) - WHERE - uid=".$db->db_add_param($row->mitarbeiter_uid)." - AND funktion_kurzbz='Leitung' - AND (datum_von<".$db->db_add_param($bisdatum)." OR datum_von is null) + $qryslt="SELECT + tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz + FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz) + WHERE + uid=".$db->db_add_param($row->mitarbeiter_uid)." + AND funktion_kurzbz='Leitung' + AND (datum_von<".$db->db_add_param($bisdatum)." OR datum_von is null) AND (datum_bis>".$db->db_add_param($bisprevious)." OR datum_bis is NULL) AND studiengang_kz>0 AND studiengang_kz<10000;"; @@ -259,7 +289,7 @@ if($result = $db->db_query($qry)) $error_log.=($error_log!=''?', ':'')."BesondereQualifikationCode ('".$eteam[$rowfkt->studiengang_kz]."')"; } } - + $verwfkt_found=false; // Wenn mehrere Verwendungen vorhanden sind fuer und funktionen fuer die gleichen Studiengaenge @@ -287,7 +317,7 @@ if($result = $db->db_query($qry)) } } } - + $mitarbeiter_data['verwendung']=$verwendung_data; //Verwendungen ausgeben foreach($verwendung_data as $row_verwendung) { @@ -297,7 +327,7 @@ if($result = $db->db_query($qry)) ".$row_verwendung['ba2code']." ".$row_verwendung['beschausmasscode']." ".$row_verwendung['verwendung_code'].""; - + if(isset($row_verwendung['stgltg'])) { foreach($row_verwendung['stgltg'] as $row_stgl) @@ -340,14 +370,14 @@ if($result = $db->db_query($qry)) } $person_content.=" "; - } + } } $person_content.=" "; } - + } - else + else { $qry_count="SELECT 1 FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid); if($result_count=$db->db_query($qry_count)) @@ -384,7 +414,7 @@ if($result = $db->db_query($qry)) if($error_person) $v.=''; } - else + else { if(!$error_person) { @@ -400,7 +430,10 @@ if($result = $db->db_query($qry)) echo ' BIS - Meldung Mitarbeiter - + '; + include('../../include/meta/jquery.php'); + include('../../include/meta/jquery-tablesorter.php'); +echo ' '; echo "

BIS - Mitarbeiterdaten werden überprüft (für Meldung ".$stsem." / $bisprevious - $bisdatum)


"; echo "Anzahl Mitarbeiter: Gesamt: ".$mitarbeiterzahl." / echter Dienstvertrag: ".$echt." / freier Dienstvertrag: ".$frei."

"; @@ -416,13 +449,30 @@ fclose($dateiausgabe); echo '

Folgende Personen werden gemeldet

Anzahl:'.count($mitarbeiter_gesamt).' - + +
+ + + + + + + '; @@ -434,6 +484,57 @@ foreach($mitarbeiter_gesamt as $row) echo ''; echo ''; echo ''; + echo ''; + echo ''; + foreach($row['verwendung'] as $row_verwendung) + { + // Ba1Code + if(isset($ba1_arr[$row_verwendung['ba1code']])) + echo ''; + else + echo ''; + + // Ba2Code + if(isset($ba2_arr[$row_verwendung['ba2code']])) + echo ''; + else + echo ''; + + // Ausmass + if(isset($ausmass_arr[$row_verwendung['beschausmasscode']])) + echo ''; + else + echo ''; + + // Verwendung + if(isset($verwendung_arr[$row_verwendung['verwendung_code']])) + echo ''; + else + echo ''; + + echo ''; + } echo ''; } echo '
UID Vorname Nachname PersonalnummerFixangestelltLektorBeschaeftigungsArt1BeschaeftigungsArt2AusmassVerwendungDetails (Funktion/Lehre)
'.$row['vorname'].''.$row['nachname'].''.$row['personalnummer'].''.($row['fixangestellt']?'Ja':'Nein').''.($row['lektor']?'Ja':'Nein').''.$ba1_arr[$row_verwendung['ba1code']].''.$row_verwendung['ba1code'].''.$ba2_arr[$row_verwendung['ba2code']].''.$row_verwendung['ba2code'].''.$ausmass_arr[$row_verwendung['beschausmasscode']].''.$row_verwendung['beschausmasscode'].''.$verwendung_arr[$row_verwendung['verwendung_code']].''.$row_verwendung['verwendung_code'].''; + // Details + if(isset($row_verwendung['stgltg'])) + { + + foreach($row_verwendung['stgltg'] as $row_stgl) + { + echo 'Leitung:'.$stg_obj->kuerzel_arr[$row_stgl]; + echo '
'; + } + } + + if(isset($row_verwendung['fkt'])) + { + foreach($row_verwendung['fkt'] as $row_fkt) + { + echo $stg_obj->kuerzel_arr[$row_fkt['stgkz']].': '.$row_fkt['sws'].' SWS'; + echo '
'; + } + } + + echo '

'; From 19190015e968b25c1ecce82dd7bba406e7e9c618 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 15 Dec 2016 15:09:32 +0100 Subject: [PATCH 51/74] Reverted Statistic changes --- vilesci/statistik/statistik.php | 252 +++++++++++--------------------- 1 file changed, 87 insertions(+), 165 deletions(-) diff --git a/vilesci/statistik/statistik.php b/vilesci/statistik/statistik.php index 49ed209c9..dc3da0ded 100644 --- a/vilesci/statistik/statistik.php +++ b/vilesci/statistik/statistik.php @@ -1,5 +1,5 @@ - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Karl Burkhart < burkhart@technikum-wien.at > + * Authors: Christian Paminger + * Andreas Oesterreicher + * Karl Burkhart + * Robert Hofer */ /** - * Seite zur Wartung der Statistiken + * Statistik Uebersichtsseite + * - zeigt die Beschreibung einer Statistik ein + * - Link zum Starten der Statistik + * - Eventuelle Parametereingabe für die Statistik */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/statistik.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/berechtigung.class.php'); +require_once('../../include/filter.class.php'); +require_once('../../include/functions.inc.php'); -if(!$db = new basis_db()) +$statistik_kurzbz = filter_input(INPUT_GET, 'statistik_kurzbz'); + +$statistik = new statistik(); + +if(!$statistik->load($statistik_kurzbz)) { - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + die($statistik->errormsg); } - -$user = get_uid(); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('basis/statistik')) - die('Sie haben keine Berechtigung fuer diese Seite'); -?> +?> + + Statistik - Statistik - Details - - + + + + + + +

Report - bezeichnung ?>

load($statistik_kurzbz); - } - else - { - $statistik_kurzbz = filter_input(INPUT_POST, 'statistik_kurzbz'); - $exists = false; - } - - if(isset($_POST['save'])) - { - $statistik_kurzbz_orig = (isset($_POST['statistik_kurzbz_orig']) ? $_POST['statistik_kurzbz_orig'] : die('Statistik_kurzbz_orig fehlt')); - $bezeichnung = (isset($_POST['bezeichnung']) ? $_POST['bezeichnung'] : die('Bezeichnung fehlt')); - $url = (isset($_POST['url']) ? $_POST['url'] : die('URL fehlt')); - $sql = (isset($_POST['sql']) ? $_POST['sql'] : die('SQL fehlt')); - $gruppe = (isset($_POST['gruppe']) ? $_POST['gruppe'] : die('Gruppe fehlt')); - $content_id = (isset($_POST['content_id']) ? $_POST['content_id'] : die('ContentID fehlt')); - $publish = (isset($_POST['publish']) ? true : false); - $berechtigung_kurzbz = (isset($_POST['berechtigung_kurzbz']) ? $_POST['berechtigung_kurzbz'] : die('Berechtigungkurzbz fehlt')); - $preferences = (isset($_POST['preferences']) ? $_POST['preferences'] : die('preferences fehlt')); - - if(!$exists) - { - $statistik->insertamum = date('Y-m-d H:i:s'); - $statistik->insertvon = $user; - $statistik->new = true; - } - - $statistik->statistik_kurzbz = $statistik_kurzbz; - $statistik->statistik_kurzbz_orig = $statistik_kurzbz_orig; - $statistik->bezeichnung = $bezeichnung; - $statistik->url = $url; - $statistik->sql = $sql; - $statistik->gruppe = $gruppe; - $statistik->content_id = $content_id; - $statistik->publish = $publish; - $statistik->updateamum = date('Y-m-d H:i:s'); - $statistik->updatevon = $user; - $statistik->berechtigung_kurzbz = $berechtigung_kurzbz; - $statistik->preferences = $preferences; - - $success = $statistik->save(); - - if($success): - ?> - Daten erfolgreich gespeichert - - - errormsg ?> - preferences); - - if(empty($preferences)) - { - $statistik->preferences = <<content_id): ?> + + Beschreibung anzeigen +

+ url) { - rows: [], - cols: [], - rendererName: "Table", - aggregatorName: "Count", - vals: [] + $action = $statistik->url; + $variablenstring = $statistik->url; +} +elseif($statistik->sql!='') +{ + $action = 'statistik_sql.php?statistik_kurzbz='.$statistik_kurzbz; + $variablenstring = $statistik->sql; } -EOT; - } - ?> -
-
- new === false): ?> - Bearbeiten - - - Neu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KurzbzGruppe
BezeichnungContentID
URLBerechtigung - getBerechtigungen(); - ?> - -
SQL
Publishpublish ? 'checked="checked"' : '' ?>>
Preferences
-
+$vars = $statistik->parseVars($variablenstring); ?> + + + + + loadAll(); ?> + + + isFilter($var)): ?> + + + + + + + + + +
getHtmlWidget($var) ?>
+ From 892950df930395226b2450905b411b129e7ecc77 Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 20 Dec 2016 12:10:00 +0100 Subject: [PATCH 52/74] =?UTF-8?q?Absovlenten=20Status=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/statistik/oehwaehlerverzeichnis.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vilesci/statistik/oehwaehlerverzeichnis.php b/vilesci/statistik/oehwaehlerverzeichnis.php index 991a6ac0f..ca2d9ad04 100644 --- a/vilesci/statistik/oehwaehlerverzeichnis.php +++ b/vilesci/statistik/oehwaehlerverzeichnis.php @@ -85,7 +85,7 @@ FROM public.tbl_person JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id) WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." - AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Incoming') + AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Incoming','Absolvent') AND tbl_student.studiengang_kz<10000 AND tbl_student.studiengang_kz>0 AND tbl_student.studiengang_kz!='9".$erhalter_row->erhalter_kz."' From 96f0db34e48d326eb07b1406c8f72c7bdd9c29ab Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Wed, 21 Dec 2016 18:50:33 +0100 Subject: [PATCH 53/74] =?UTF-8?q?pr=C3=BCfungstermine=20=C3=A4lter=20als?= =?UTF-8?q?=202=20monate=20ausblenden,=20locale=20stuff=20upload=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/pruefungCis.class.php | 139 +++++++++++++++++----------------- locale/it-IT/upload.php | 10 +-- 2 files changed, 75 insertions(+), 74 deletions(-) mode change 100644 => 100755 include/pruefungCis.class.php diff --git a/include/pruefungCis.class.php b/include/pruefungCis.class.php old mode 100644 new mode 100755 index 9f4ef58c2..1ddf88443 --- a/include/pruefungCis.class.php +++ b/include/pruefungCis.class.php @@ -2,22 +2,22 @@ /* * Copyright 2014 fhcomplete.org - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. - * + * * * Authors: Stefan Puraner */ @@ -28,7 +28,7 @@ class pruefungCis extends basis_db { public $new; public $result = array(); - + public $pruefung_id; //bigint public $mitarbeiter_uid; //varchar(32) public $studiensemester_kurzbz; //varchar(16) @@ -44,15 +44,15 @@ class pruefungCis extends basis_db public $updatevon; //varcahr(32) public $updateamum; //timestamp without timezone public $pruefungsintervall; //smallint - + public $lehrveranstaltungen = array(); //Lehrveranstaltungen zur Prüfung public $termine = array(); //Termine zur Prüfung - + /** * Konstruktor * @param pruefung_id ID der zu ladenden Prüfung */ - public function __construct($pruefung_id = null) + public function __construct($pruefung_id = null) { parent::__construct(); @@ -87,52 +87,52 @@ class pruefungCis extends basis_db { return $this->$name; } - + /** * Prüft Attribute auf Ihre Richtigkeit * @return boolean true, wenn alle Prüfungen positiv verlaufen, andernfalls false */ public function validate() - { + { if(!is_numeric($this->pruefungsfenster_id) && $this->pruefungsfenster_id != null) { $this->errormsg = "pruefungsfenster_id muss eine gültige Zahl sein."; return false; } - + if(mb_strlen($this->mitarbeiter_uid) > 32) { $this->errormsg = "mitarbeiter_uid darf nicht länger als 32 Zeichen sein."; return false; } - + if(mb_strlen($this->studiensemester_kurzbz) > 16 && $this->studiensemester_kurzbz != null) { $this->errormsg = "studiensemester_kurzbz darf nicht länger als 16 Zeichen sein."; return false; } - + if(mb_strlen($this->pruefungstyp_kurzbz) > 16 && $this->pruefungstyp_kurzbz != null) { $this->errormsg = "pruefungstyp_kurzbz darf nicht länger als 16 Zeichen sein."; return false; } - + if(mb_strlen($this->titel) > 256) { $this->errormsg = "pruefungstyp_kurzbz darf nicht länger als 256 Zeichen sein."; return false; } - + if(mb_strlen($this->methode) > 64) { $this->errormsg = "methode darf nicht länger als 64 Zeichen sein."; return false; } - + return true; } - + /** * speichert einen Prüfungs-Datensatz * @param boolean $new gibt an ob es ich um einen neuen Datensatz (true) oder um ein update (false) handelt @@ -178,15 +178,15 @@ class pruefungCis extends basis_db . 'pruefungsintervall='.$this->db_add_param($this->pruefungsintervall).' ' . 'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';'; } - + if($this->db_query($qry)) { - if ($new) + if ($new) { $qry = "SELECT currval('campus.seq_pruefung_pruefung_id') as id"; - if ($this->db_query($qry)) + if ($this->db_query($qry)) { - if ($row = $this->db_fetch_object()) + if ($row = $this->db_fetch_object()) { $this->pruefung_id = $row->id; foreach ($this->lehrveranstaltungen as $lv) @@ -209,7 +209,7 @@ class pruefungCis extends basis_db } $this->db_query('COMMIT;'); return true; - } + } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; @@ -217,7 +217,7 @@ class pruefungCis extends basis_db return false; } } - else + else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; $this->db_query('ROLLBACK'); @@ -259,7 +259,7 @@ class pruefungCis extends basis_db return false; } } - + /** * Lädt einen Datensatz aus der Datenbank * @param integer $pruefung_id ID der zu ladenden Prüfung @@ -272,14 +272,14 @@ class pruefungCis extends basis_db $this->errormsg = "Prüfung ID ist keine gültige Zahl"; return false; } - + $qry = 'SELECT * FROM campus.tbl_pruefung WHERE pruefung_id='.$this->db_add_param($pruefung_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = "Prüfung konnte nicht geladen werden"; return false; - } + } else { if($row = $this->db_fetch_object()) @@ -299,7 +299,7 @@ class pruefungCis extends basis_db return true; } } - + /** * Lädt alle Prüfungen zu einer UID * @param String $uid UID deren Prüfungen geladen werden sollen @@ -318,8 +318,8 @@ class pruefungCis extends basis_db { $qry .= ' ORDER BY '.$order; } - $qry .= ';'; - + $qry .= ';'; + if(!$this->db_query($qry)) { $this->errormsg = "Prüfungen konnten nicht geladen werden"; @@ -347,7 +347,7 @@ class pruefungCis extends basis_db return true; } } - + /** * speichert die zugehörigen LVs zu einer Prüfung * @param Integer $lehrveranstaltung_id ID einer Lehrveranstaltung @@ -361,17 +361,17 @@ class pruefungCis extends basis_db $this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein"; return false; } - + if(!is_numeric($pruefung_id)) { $this->errormsg = "Prüfung ID muss eine gültige Zahl sein"; return false; } - + $qry = 'INSERT INTO campus.tbl_lehrveranstaltung_pruefung (lehrveranstaltung_id, pruefung_id) VALUES (' .$this->db_add_param($lehrveranstaltung_id).', ' .$this->db_add_param($pruefung_id).');'; - + if(!$this->db_query($qry)) { $this->errormsg = "Lehrveranstaltungen konnten nicht gespeichert werden."; @@ -379,7 +379,7 @@ class pruefungCis extends basis_db } return true; } - + /** * lädt alle zum Objekt gehörenden Lehrveranstaltungen * @return boolean true, wenn ok; false, im Fehlerfall @@ -387,7 +387,7 @@ class pruefungCis extends basis_db public function getLehrveranstaltungenByPruefung() { $qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';'; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -405,7 +405,7 @@ class pruefungCis extends basis_db $this->errormsg = "Zugehörige Lehrveranstaltungen konnten nicht geladen werden."; return false; } - + } /** @@ -424,7 +424,7 @@ class pruefungCis extends basis_db $this->errormsg = "Pruefung ID muss eine gültige Zahl sein"; return false; } - + $qry = 'INSERT INTO campus.tbl_pruefungstermin (pruefung_id, von, bis, teilnehmer_max, teilnehmer_min, sammelklausur) VALUES (' . $this->db_add_param($pruefung_id).', ' . $this->db_add_param($beginn).', ' @@ -432,7 +432,7 @@ class pruefungCis extends basis_db . $this->db_add_param($max).', ' . $this->db_add_param($min).', ' . $this->db_add_param($sammelklausur).');'; - + if(!$this->db_query($qry)) { $this->errormsg = "Termine konnten nicht gespeichert werden!"; @@ -440,15 +440,16 @@ class pruefungCis extends basis_db } return true; } - + /** * Lädt alle Termine zum Prüfungs-Objekt * @return boolean true, wenn ok; false, im Fehlerfall */ public function getTermineByPruefung() { - $qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';'; - + //$qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';'; + $fromdate = date("Y-m-d", strtotime("-2 months")); + $qry = "SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id=".$this->db_add_param($this->pruefung_id)."and von > '".$fromdate."';"; if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -473,9 +474,9 @@ class pruefungCis extends basis_db $this->errormsg = "Zugehörige Termine konnten nicht geladen werden."; return false; } - + } - + /** * ändert einen Termin zur Prüfung * @param integer $pruefungstermin_id ID eines Prüfungstermins @@ -493,7 +494,7 @@ class pruefungCis extends basis_db $this->errormsg = "Pruefungstermin ID muss eine gültige Zahl sein."; return false; } - + $qry = 'UPDATE campus.tbl_pruefungstermin SET ' . 'pruefung_id='.$this->db_add_param($pruefung_id).', ' . 'von='.$this->db_add_param($beginn).', ' @@ -501,7 +502,7 @@ class pruefungCis extends basis_db . 'teilnehmer_max='.$this->db_add_param($max).', ' . 'teilnehmer_min='.$this->db_add_param($min).' ' . 'WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = "Termin konnte nicht geändert werden."; @@ -509,7 +510,7 @@ class pruefungCis extends basis_db } return true; } - + /** * Setzt den Storniert-Status einer Prüfung auf True * @param integer $pruefung_id ID einer Prüfung @@ -522,9 +523,9 @@ class pruefungCis extends basis_db $this->errormsg = "Pruefung ID muss eine gültige Zahl sein."; return false; } - + $qry = 'UPDATE campus.tbl_pruefung SET storniert=true WHERE pruefung_id='.$this->db_add_param($pruefung_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = "Prüfung konnte nicht storniert werden."; @@ -532,7 +533,7 @@ class pruefungCis extends basis_db } return true; } - + /** * löscht die Verknüpfung zwischen einer Lehrveranstaltung und einer Prüfung * @param integer $lehrveranstaltung_id ID einer Lehrveranstaltung @@ -550,9 +551,9 @@ class pruefungCis extends basis_db $this->errormsg = "Prüfung ID muss eine gültige Zahl sein."; return false; } - + $qry = 'DELETE FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id).' AND pruefung_id='.$this->db_add_param($pruefung_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = 'Lehrveranstaltung konnte nicht gelöscht werden.'; @@ -560,7 +561,7 @@ class pruefungCis extends basis_db } return true; } - + /** * löscht einen Prüfungstermin einer Prüfung * @param integer $pruefungstermin_id ID eines Prüfungstermins @@ -573,9 +574,9 @@ class pruefungCis extends basis_db $this->errormsg = "Pruefungstermin ID muss eine gültige Zahl sein."; return false; } - + $qry = 'DELETE FROM campus.tbl_pruefungstermin WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = 'Termin konnte nicht gelöscht werden.'; @@ -583,7 +584,7 @@ class pruefungCis extends basis_db } return true; } - + /** * Lädt alle Prüfungen zur angebenen Lehrveranstaltung * @param String|Array $lehrveranstaltung_IDs einzelne ID einer Lehrveranstaltung oder ein Array von IDs @@ -596,7 +597,7 @@ class pruefungCis extends basis_db $this->errormsg = "Keine Lehrveranstaltungen übergeben.
"; return false; } - + $in = ""; if (is_array($lehrveranstaltung_IDs)) { @@ -610,9 +611,9 @@ class pruefungCis extends basis_db { $in = $lehrveranstaltung_IDs; } - + $qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.');'; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -627,7 +628,7 @@ class pruefungCis extends basis_db } return false; } - + /** * Lädt alle Prüfung-Lehrveranstaltung Kombinationen * @return boolean true, wenn ok; false, im Fehlerfall @@ -635,7 +636,7 @@ class pruefungCis extends basis_db public function getAll() { $qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung;'; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -650,7 +651,7 @@ class pruefungCis extends basis_db } return false; } - + /** * Lädt alle Prüfungen * @param String $mitarbeiter_uid UID des Mitarbeiters (optional) @@ -659,14 +660,14 @@ class pruefungCis extends basis_db public function getAllPruefungen($mitarbeiter_uid = NULL) { $qry = 'SELECT * FROM campus.tbl_pruefung'; - + if(!is_null($mitarbeiter_uid)) { $qry .= ' WHERE mitarbeiter_uid='.$this->db_add_param($mitarbeiter_uid); } - + $qry .= ';'; - + if(!$this->db_query($qry)) { $this->errormsg = "Prüfungen konnten nicht geladen werden"; @@ -694,17 +695,17 @@ class pruefungCis extends basis_db return true; } } - + /** * Lädt den Wert des letzten Studenten in der Anmeldereihung * @param type $pruefungstermin_id Id eines Prüfungstermines - * @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt + * @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt */ public function getLastOfReihung($pruefungstermin_id) { $qry = 'SELECT MAX(reihung) FROM campus.tbl_pruefungsanmeldung WHERE ' . 'pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';'; - + if($this->db_query($qry)) { $row = $this->db_fetch_object(); @@ -716,4 +717,4 @@ class pruefungCis extends basis_db return false; } } -} \ No newline at end of file +} diff --git a/locale/it-IT/upload.php b/locale/it-IT/upload.php index e14e96bd2..a7e73aeb5 100755 --- a/locale/it-IT/upload.php +++ b/locale/it-IT/upload.php @@ -4,7 +4,7 @@ $this->phrasen['upload/auswaehlen']=''; $this->phrasen['upload/benutzerKonnteNichtZugeordnetWerden']=''; $this->phrasen['upload/dateiAufServerDateiformat']='Errore: il formato del file che si vuole caricare sul server non viene supportato'; $this->phrasen['upload/dateien']=''; -$this->phrasen['upload/dateienAutomatischUeberschreiben']=''; +$this->phrasen['upload/dateienAutomatischUeberschreiben']='sovrascrivere file omonimi'; $this->phrasen['upload/dateienImOrdner']=''; $this->phrasen['upload/dateienInOrdnern']=''; $this->phrasen['upload/dateiExistiertBereits']='Errore: il file è già esistente! Si prega di utilizzare l\'opzione "sovrascrivere automaticamente i file'; @@ -21,18 +21,18 @@ $this->phrasen['upload/keineOrdnerGefunden']='impossibile trovare cartelle corri $this->phrasen['upload/keineSemesterDefiniert']=''; $this->phrasen['upload/keineStudiengaengeDefiniert']=''; $this->phrasen['upload/leeren']=''; -$this->phrasen['upload/maxUploadgroesse']=''; +$this->phrasen['upload/maxUploadgroesse']='Grandezza massima per file'; $this->phrasen['upload/name']=''; -$this->phrasen['upload/neuesVerzeichnisErstellen']=''; +$this->phrasen['upload/neuesVerzeichnisErstellen']='crea nuova cartella'; $this->phrasen['upload/studentenUploadEinsehen']=''; $this->phrasen['upload/studentenUploadVerwalten']=''; $this->phrasen['upload/studentenUploadverzeichnis']=''; $this->phrasen['upload/studentenUploadverzeichnisLeeren']=''; -$this->phrasen['upload/umEinenOrdnerOderEineDatei']=''; +$this->phrasen['upload/umEinenOrdnerOderEineDatei']='Per cancellare o modificare un file o una cartella barrare la corrispettiva casella.'; $this->phrasen['upload/unterordnerVon']=''; $this->phrasen['upload/upload']=''; $this->phrasen['upload/verzeichnisErstellen']=''; -$this->phrasen['upload/verzeichnisname']=''; +$this->phrasen['upload/verzeichnisname']='Nome cartella'; $this->phrasen['upload/verzeichnisnameDarfNurBuchstaben']=''; $this->phrasen['upload/wollenSieOrdnerWirklichLoeschen']=''; $this->phrasen['upload/wollenSieUploadWirklichLeeren']=''; From 8b26b5e1ae8484c366704ae3427e07cf29d55ca7 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Fri, 23 Dec 2016 09:21:51 +0100 Subject: [PATCH 54/74] Gemeinde in XLS --- content/statistik/studentenexport.xls.php | 159 +++++++++++----------- 1 file changed, 83 insertions(+), 76 deletions(-) mode change 100644 => 100755 content/statistik/studentenexport.xls.php diff --git a/content/statistik/studentenexport.xls.php b/content/statistik/studentenexport.xls.php old mode 100644 new mode 100755 index 07a93a2ae..81056404c --- a/content/statistik/studentenexport.xls.php +++ b/content/statistik/studentenexport.xls.php @@ -37,7 +37,7 @@ $db = new basis_db(); $user = get_uid(); $datum_obj = new datum(); loadVariables($user); - + //Parameter holen $data = $_POST['data']; $studiensemester_kurzbz = $_GET['studiensemester_kurzbz']; @@ -46,7 +46,7 @@ loadVariables($user); $zeile=1; $zgv_arr=array(); $zgvmas_arr=array(); - + //ZGV laden $qry = "SELECT * FROM bis.tbl_zgv ORDER BY zgv_kurzbz"; if($result = $db->db_query($qry)) @@ -56,7 +56,7 @@ loadVariables($user); $zgv_arr[$row->zgv_code]=$row->zgv_kurzbz; } } - + //ZGV Master laden $qry = "SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_kurzbz"; if($result = $db->db_query($qry)) @@ -66,7 +66,7 @@ loadVariables($user); $zgvmas_arr[$row->zgvmas_code]=$row->zgvmas_kurzbz; } } - + // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); @@ -76,7 +76,7 @@ loadVariables($user); // Creating a worksheet $worksheet =& $workbook->addWorksheet("Studenten"); $worksheet->setInputEncoding('utf-8'); - + $format_bold =& $workbook->addFormat(); $format_bold->setBold(); @@ -88,7 +88,7 @@ loadVariables($user); //Zeilenueberschriften ausgeben $i=0; $zeile=1; - + $worksheet->write($zeile,$i,"ANREDE", $format_bold); $maxlength[$i]=6; $worksheet->write($zeile,++$i,"TITELPRE", $format_bold); @@ -109,6 +109,8 @@ loadVariables($user); $maxlength[$i]=3; $worksheet->write($zeile,++$i,"ORT", $format_bold); $maxlength[$i]=3; + $worksheet->write($zeile,++$i,"GEMEINDE", $format_bold); + $maxlength[$i]=3; $worksheet->write($zeile,++$i,"NATION", $format_bold); $maxlength[$i]=6; $worksheet->write($zeile,++$i,"GEBURTSDATUM", $format_bold); @@ -127,7 +129,7 @@ loadVariables($user); $maxlength[$i]=17; $worksheet->write($zeile,++$i,"GESCHLECHT", $format_bold); $maxlength[$i]=10; - + $worksheet->write($zeile,++$i,"STUDIENGANG", $format_bold); $maxlength[$i]=11; $worksheet->write($zeile,++$i,"SEMESTER IM $studiensemester_kurzbz", $format_bold); @@ -138,7 +140,7 @@ loadVariables($user); $maxlength[$i]=7; $worksheet->write($zeile,++$i,"GRUPPE", $format_bold); $maxlength[$i]=6; - + $worksheet->write($zeile,++$i,"ZGV", $format_bold); $maxlength[$i]=10; $worksheet->write($zeile,++$i,"ZGV Ort", $format_bold); @@ -151,7 +153,7 @@ loadVariables($user); $maxlength[$i]=14; $worksheet->write($zeile,++$i,"ZGV Master Datum", $format_bold); $maxlength[$i]=16; - + $worksheet->write($zeile,++$i,"STATUS", $format_bold); $maxlength[$i]=6; $worksheet->write($zeile,++$i,"EMail Intern", $format_bold); @@ -175,13 +177,13 @@ loadVariables($user); $maxlength[$i]=8; $worksheet->write($zeile,++$i,"PRESTUDENTID", $format_bold); $maxlength[$i]=12; - + $zeile++; - + $ids = explode(';',$data); $prestudent_ids = ''; - - foreach ($ids as $id) + + foreach ($ids as $id) { if($id!='') { @@ -190,12 +192,12 @@ loadVariables($user); $prestudent_ids .= "'".addslashes($id)."'"; } } - + if($prestudent_ids!='') { // Student holen $qry = "SELECT *, (SELECT UPPER(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_prestudent.studiengang_kz) as stgbez FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student USING(prestudent_id) WHERE prestudent_id in($prestudent_ids) ORDER BY nachname, vorname"; - + if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) @@ -205,7 +207,7 @@ loadVariables($user); } } } - + function draw_content($row) { global $maxlength, $datum_obj; @@ -213,97 +215,102 @@ loadVariables($user); global $zgv_arr, $zgvmas_arr; global $studiensemester_kurzbz; $db = new basis_db(); - + $prestudent = new prestudent(); $prestudent->getLastStatus($row->prestudent_id); $status = $prestudent->status_kurzbz; $orgform = $prestudent->orgform_kurzbz; - + $i=0; - + //Anrede if(mb_strlen($row->anrede)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->anrede); $worksheet->write($zeile,$i, $row->anrede); $i++; - + //Titelpre if(mb_strlen($row->titelpre)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->titelpre); $worksheet->write($zeile,$i, $row->titelpre); $i++; - + //Nachname if(mb_strlen($row->nachname)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->nachname); $worksheet->write($zeile,$i, $row->nachname); $i++; - + //Vorname if(mb_strlen($row->vorname)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->vorname); $worksheet->write($zeile,$i, $row->vorname); $i++; - + //Titelpost if(mb_strlen($row->titelpost)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->titelpost); $worksheet->write($zeile,$i, $row->titelpost); $i++; - + //Email Privat //ZustellEmailAdresse aus der Datenbank holen und dazuhaengen $qry_1 = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1"; if($result_1 = $db->db_query($qry_1)) { if($row_1 = $db->db_fetch_object($result_1)) - { + { if(mb_strlen($row_1->kontakt)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->kontakt); $worksheet->write($zeile,$i, $row_1->kontakt); } } $i++; - + //Zustelladresse //Zustelladresse aus der Datenbank holen und dazuhaengen $qry_1 = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND zustelladresse=true LIMIT 1"; if($result_1 = $db->db_query($qry_1)) { if($row_1 = $db->db_fetch_object($result_1)) - { + { if(mb_strlen($row_1->strasse)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->strasse); $worksheet->write($zeile,$i, $row_1->strasse); $i++; - + if(mb_strlen($row_1->plz)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->plz); $worksheet->writeString($zeile,$i, $row_1->plz); $i++; - + if(mb_strlen($row_1->ort)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->ort); $worksheet->write($zeile,$i, $row_1->ort); $i++; - + + if(mb_strlen($row_1->gemeinde)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($row_1->gemeinde); + $worksheet->write($zeile,$i, $row_1->gemeinde); + $i++; + if(mb_strlen($row_1->nation)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->nation); $worksheet->write($zeile,$i, $row_1->nation); $i++; } - else - $i+=4; + else + $i+=5; } - else - $i+=4; - + else + $i+=5; + //Geburtsdatum if(mb_strlen($row->gebdatum)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->gebdatum); $worksheet->write($zeile,$i, $datum_obj->convertISODate($row->gebdatum)); $i++; - + //Geburtsort if(mb_strlen($row->gebort)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->gebort); @@ -315,7 +322,7 @@ loadVariables($user); $maxlength[$i] = mb_strlen($row->geburtsnation); $worksheet->write($zeile,$i,$row->geburtsnation); $i++; - + //Personenkennzeichen if(isset($row->matrikelnr)) { @@ -324,37 +331,37 @@ loadVariables($user); $worksheet->writeString($zeile,$i, $row->matrikelnr); } $i++; - + //Staatsbuergerschaft if(mb_strlen($row->staatsbuergerschaft)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->staatsbuergerschaft); $worksheet->write($zeile,$i, $row->staatsbuergerschaft); $i++; - + //SVNR if(mb_strlen($row->svnr)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->svnr); $worksheet->write($zeile,$i, $row->svnr); $i++; - + //Ersatzkennzeichen if(mb_strlen($row->ersatzkennzeichen)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->ersatzkennzeichen); $worksheet->write($zeile,$i, $row->ersatzkennzeichen); $i++; - + //Geschlecht if(mb_strlen($row->geschlecht)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->geschlecht); $worksheet->write($zeile,$i, $row->geschlecht); $i++; - - //Studiengang + + //Studiengang if(mb_strlen($row->stgbez)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->stgbez); $worksheet->write($zeile,$i, $row->stgbez); $i++; - + $qry = "SELECT tbl_studentlehrverband.semester AS semester_studiensemester, tbl_student.semester AS semester_aktuell,* FROM public.tbl_studentlehrverband JOIN public.tbl_student USING(student_uid) WHERE prestudent_id='$row->prestudent_id' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; if($result_sem = $db->db_query($qry)) { @@ -365,7 +372,7 @@ loadVariables($user); $verband = $row_sem->verband; $gruppe = $row_sem->gruppe; } - else + else { $qry = "SELECT public.tbl_prestudentstatus.ausbildungssemester FROM public.tbl_prestudentstatus WHERE prestudent_id='$row->prestudent_id' AND (status_kurzbz='Interessent' OR status_kurzbz='Bewerber') ORDER BY datum DESC LIMIT 1"; if (($result_sem = $db->db_query($qry)) && ($row_sem = $db->db_fetch_object($result_sem))) @@ -377,10 +384,10 @@ loadVariables($user); $semester_aktuell = ''; $verband = ''; $gruppe = ''; - } + } } } - //Semester im eingestellten Studiensemester + //Semester im eingestellten Studiensemester if(isset($semester_studiensemester)) { if(mb_strlen($semester_studiensemester)>$maxlength[$i]) @@ -388,8 +395,8 @@ loadVariables($user); $worksheet->write($zeile,$i, $semester_studiensemester); } $i++; - - //Semester aktuell + + //Semester aktuell if(isset($semester_aktuell)) { if(mb_strlen($semester_aktuell)>$maxlength[$i]) @@ -397,7 +404,7 @@ loadVariables($user); $worksheet->write($zeile,$i, $semester_aktuell); } $i++; - + //Verband if(isset($verband)) { @@ -406,7 +413,7 @@ loadVariables($user); $worksheet->write($zeile,$i, $verband); } $i++; - + //Gruppe if(isset($gruppe)) { @@ -415,8 +422,8 @@ loadVariables($user); $worksheet->write($zeile,$i, $gruppe); } $i++; - - //ZGV + + //ZGV if($row->zgv_code!='' && isset($zgv_arr[$row->zgv_code])) { if(mb_strlen($zgv_arr[$row->zgv_code])>$maxlength[$i]) @@ -424,19 +431,19 @@ loadVariables($user); $worksheet->write($zeile,$i, $zgv_arr[$row->zgv_code]); } $i++; - + //ZGV Ort if(mb_strlen($row->zgvort)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->zgvort); $worksheet->write($zeile,$i, $row->zgvort); $i++; - + //ZGV Datum if(mb_strlen($row->zgvdatum)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->zgvdatum); $worksheet->write($zeile,$i, $row->zgvdatum); $i++; - + //ZGV Master if($row->zgvmas_code!='' && isset($zgvmas_arr[$row->zgvmas_code])) { @@ -445,25 +452,25 @@ loadVariables($user); $worksheet->write($zeile,$i, $zgvmas_arr[$row->zgvmas_code]); } $i++; - + //ZGV Master Ort if(mb_strlen($row->zgvmaort)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->zgvmaort); $worksheet->write($zeile,$i, $row->zgvmaort); $i++; - + //ZGV Master Datum if(mb_strlen($row->zgvmadatum)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->zgvmadatum); $worksheet->write($zeile,$i, $row->zgvmadatum); $i++; - - //Status + + //Status if(mb_strlen($status)>$maxlength[$i]) $maxlength[$i] = mb_strlen($status); $worksheet->write($zeile,$i, $status); $i++; - + //Email Intern if(isset($row->student_uid)) { @@ -472,35 +479,35 @@ loadVariables($user); $worksheet->write($zeile,$i, $row->student_uid.'@'.DOMAIN); } $i++; - + //Nebenwohnsitz //Nebenwohnsitz aus der Datenbank holen und dazuhaengen $qry_1 = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND typ='n' LIMIT 1"; if($result_1 = $db->db_query($qry_1)) { if($row_1 = $db->db_fetch_object($result_1)) - { + { if(mb_strlen($row_1->strasse)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->strasse); $worksheet->write($zeile,$i, $row_1->strasse); $i++; - + if(mb_strlen($row_1->plz)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->plz); $worksheet->writeString($zeile,$i, $row_1->plz); $i++; - + if(mb_strlen($row_1->ort)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->ort); $worksheet->write($zeile,$i, $row_1->ort); $i++; } - else + else $i+=3; } - else + else $i+=3; - + //Telefon $qry_1 = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp in('mobil','telefon','so.tel') AND person_id='$row->person_id' AND zustellung=true LIMIT 1"; if($result_1 = $db->db_query($qry_1)) @@ -513,7 +520,7 @@ loadVariables($user); } } $i++; - + //Spezialgruppen $grps=''; $qry_1 = "SELECT gruppe_kurzbz FROM public.tbl_student JOIN public.tbl_benutzergruppe ON (student_uid=uid) WHERE tbl_student.prestudent_id='$row->prestudent_id' AND tbl_benutzergruppe.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; @@ -523,7 +530,7 @@ loadVariables($user); { if($grps!='') $grps.=','; - + $grps.=$row_1->gruppe_kurzbz; } } @@ -531,7 +538,7 @@ loadVariables($user); $maxlength[$i]=mb_strlen($grps); $worksheet->write($zeile,$i, $grps); $i++; - + //UID if(isset($row->student_uid)) { @@ -540,31 +547,31 @@ loadVariables($user); $worksheet->write($zeile,$i, $row->student_uid); } $i++; - + //Orgform if(mb_strlen($orgform)>$maxlength[$i]) $maxlength[$i] = mb_strlen($orgform); $worksheet->write($zeile,$i, $orgform); $i++; - + //Vornamen if(mb_strlen($row->vornamen)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->vornamen); $worksheet->write($zeile,$i, $row->vornamen); $i++; - + //PrestudentID if(mb_strlen($row->prestudent_id)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->prestudent_id); $worksheet->write($zeile,$i, $row->prestudent_id); $i++; } - + //Die Breite der Spalten setzen foreach($maxlength as $i=>$breite) $worksheet->setColumn($i, $i, $breite+2); - + $workbook->close(); ?> From 4b71ceaa779606f33c0c997413e53eca417b8776 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Fri, 23 Dec 2016 09:34:07 +0100 Subject: [PATCH 55/74] XLS Spaltenbreite Gemeinde angepasst --- content/statistik/studentenexport.xls.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/statistik/studentenexport.xls.php b/content/statistik/studentenexport.xls.php index 81056404c..cdc5d2cc2 100755 --- a/content/statistik/studentenexport.xls.php +++ b/content/statistik/studentenexport.xls.php @@ -110,7 +110,7 @@ loadVariables($user); $worksheet->write($zeile,++$i,"ORT", $format_bold); $maxlength[$i]=3; $worksheet->write($zeile,++$i,"GEMEINDE", $format_bold); - $maxlength[$i]=3; + $maxlength[$i]=9; $worksheet->write($zeile,++$i,"NATION", $format_bold); $maxlength[$i]=6; $worksheet->write($zeile,++$i,"GEBURTSDATUM", $format_bold); From d53574a4e0db08355cde95beccd7266f2347b650 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 23 Dec 2016 16:55:18 +0100 Subject: [PATCH 56/74] Bewertungsskala im PDF-Export angepasst --- include/tw/abgabe_lektor_benotung.php | 62 +++++++++++++-------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/include/tw/abgabe_lektor_benotung.php b/include/tw/abgabe_lektor_benotung.php index a3bf39da8..4ef46c453 100644 --- a/include/tw/abgabe_lektor_benotung.php +++ b/include/tw/abgabe_lektor_benotung.php @@ -366,31 +366,31 @@ else //Feld Umrechnung Punkte=>Note $maxY=620; - $maxX=40; + $maxX=30; $pdf->SetFont('Arial','',10); $pdf->SetXY($maxX,$maxY); $pdf->MultiCell(80,12,'Kriterien:'); - $pdf->SetFont('Arial','',7); - $maxX +=120; + $pdf->SetFont('Arial','',8); + $maxX +=55; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'0 - 50 Pkte = 5',1,'C',0); - $maxX +=80; + $pdf->MultiCell(95,12,'Ergebnis <= 50 Pkte = 5',1,'C',0); + $maxX +=95; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'51 - 64 Pkte = 4',1,'C',0); - $maxX +=80; + $pdf->MultiCell(95,12,'50 < Ergebnis < 65 = 4',1,'C',0); + $maxX +=95; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'65 - 77 Pkte = 3',1,'C',0); - $maxX +=80; + $pdf->MultiCell(95,12,'65 <= Ergebnis < 78 = 3',1,'C',0); + $maxX +=95; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'78 - 90 Pkte = 2',1,'C',0); - $maxX +=80; + $pdf->MultiCell(95,12,'78 <= Ergebnis < 91 = 2',1,'C',0); + $maxX +=95; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'91 - 100 Pkte = 1',1,'C',0); + $pdf->MultiCell(95,12,'91 Pkte <= Ergebnis = 1',1,'C',0); $maxY=$pdf->GetY(); - $maxX=160; - $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(240,12,'1 Gruppe < 50 Punkte => Bachelorarbeit gesamt negativ','LB','L',0); - $maxX +=240; + $maxX=85; + $pdf->SetXY($maxX,$maxY); + $pdf->MultiCell(315,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0); + $maxX +=315; $pdf->SetXY($maxX,$maxY); $pdf->MultiCell(80,12,'','TB','C',0); $maxX +=80; @@ -400,10 +400,10 @@ else //Zeile Note und Unterschrift $pdf->SetFont('Arial','',11); $maxY+=25; - $maxX=+40; + $maxX=+30; $pdf->SetXY($maxX,$maxY); $pdf->MultiCell(80,12,'Note: '.$note,0,'L',0); - $maxX=+40; + $maxX=+50; $maxY=$pdf->GetY(); $pdf->SetXY($maxX,$maxY); $maxX +=300; @@ -657,26 +657,26 @@ else $pdf->SetXY($maxX,$maxY); $pdf->MultiCell(80,12,'Kriterien:'); $pdf->SetFont('Arial','',8); - $maxX +=130; + $maxX +=55; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'0 - 50 Pkte = 5',1,'C',0); - $maxX +=80; + $pdf->MultiCell(95,12,'Ergebnis <= 50 Pkte = 5',1,'C',0); + $maxX +=95; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'51 - 64 Pkte = 4',1,'C',0); - $maxX +=80; + $pdf->MultiCell(95,12,'50 < Ergebnis < 65 = 4',1,'C',0); + $maxX +=95; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'65 - 77 Pkte = 3',1,'C',0); - $maxX +=80; + $pdf->MultiCell(95,12,'65 <= Ergebnis < 78 = 3',1,'C',0); + $maxX +=95; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'78 - 90 Pkte = 2',1,'C',0); - $maxX +=80; + $pdf->MultiCell(95,12,'78 <= Ergebnis < 91 = 2',1,'C',0); + $maxX +=95; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(80,12,'91 - 100 Pkte = 1',1,'C',0); + $pdf->MultiCell(95,12,'91 Pkte <= Ergebnis = 1',1,'C',0); $maxY=$pdf->GetY(); - $maxX=160; + $maxX=85; $pdf->SetXY($maxX,$maxY); - $pdf->MultiCell(240,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0); - $maxX +=240; + $pdf->MultiCell(315,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0); + $maxX +=315; $pdf->SetXY($maxX,$maxY); $pdf->MultiCell(80,12,'','TB','C',0); $maxX +=80; From b0339a651514e6a8f302ff55b5a94d4c72323ab0 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 23 Dec 2016 16:56:24 +0100 Subject: [PATCH 57/74] Anpassung Vorlagen Diplomzeugnis und PrProtokoll --- system/xsl/PrProtBAEng_0.xsl | 1108 +++++++++++++++-------------- system/xsl/diplomzeugnisEng_0.xsl | 2 +- 2 files changed, 566 insertions(+), 544 deletions(-) diff --git a/system/xsl/PrProtBAEng_0.xsl b/system/xsl/PrProtBAEng_0.xsl index 3565ddf70..8b746377d 100644 --- a/system/xsl/PrProtBAEng_0.xsl +++ b/system/xsl/PrProtBAEng_0.xsl @@ -2,495 +2,447 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - + + - + - - - - - - - - Record of Bachelor Examination before a Committee - held in the UAS Bachelor's Degree Program , Classification Number - - - Personal identity number: - - - - - - - - - - - - Examining Committee - - - - - - - - - - - Chair - - - - - - - - - - - - - 1st Examiner - - - - - - - - - - - - - 2nd Examiner - - - - - - - - - - - - - Exam Date - - - - - - Time of Start - - - - - - Time of Finish - - - - - - - - - Examination Attempt - - - - - - - 1st Attempt - - - - - - - - - - - - - - 1st Retake - - - - - - - - - - - - - - 2nd Retake - - - - - - - - - Topic and Assessment of Bachelor Paper 1 - - - - - - - - - - Grade - (Information) - - - - - - Topic and Assessment of Bachelor Paper 2 - - - - - - - - - - Grade - (Information) - - - - - - Subject of the Examination - - - - Presentation and Examination interview on the Bachelor Paper and its links to subjects of the curriculum - - - - - - - - - Parts of the examination held in English (Optional - in line with the degree program's guidelines): - - - - - - + + + + + + + + Record of Bachelor Examination before a Committee + held in the UAS Bachelor's Degree Program , Classification Number + + + Personal identity number: + + + + + + + + + + + + Examining Committee + + + + + + + + + + + + Chair + + + + + + + + + + + + + + 1st Examiner + + + + + + + + + + + + + + 2nd Examiner + + + + + + + + + + + + + + Exam Date + + + + + + Time of Start + + + + + + + Time of Finish + + + + + + + + + Examination Attempt + + + + + + + + + + + 1st Attempt / 1st Retake / 2nd Retake + + + + + + + + + + Topic and Assessment of Bachelor Paper 1 + + + + + + + + + + + Grade + (Information) + + + + + + Topic and Assessment of Bachelor Paper 2 + + + + + + + + + + + Grade + (Information) + + + + + + Subject of the Examination + + + + Presentation and Examination interview on the Bachelor Paper and its links to subjects of the curriculum + + + + + + + + + + Parts of the examination held in English (Optional - in line with the degree program's guidelines): + + + + + + + Presentation of the Bachelor Paper - - - - - - - - - - - Examination interview on the Bachelor Paper and its links to - - + Examination interview on the Bachelor Paper and its links to + + + + + subjects of the curriculum + + + + + + + + + + + + - subjects of the curriculum - - - - - - - - - Presentation - - - - - + + - Bachelor paper 1 - - - - - + Notes on the presentation of the Bachelor Paper – Bachelor Paper 1 / Bachelor Paper 2 + + + + + + + + - - - - - - - Bachelor paper 2 - - - - - - - - - Question(s) to open the examination interview - - - - - - - - - - - + + @@ -534,82 +486,152 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - - - - - - Personal identity number: - - - - + + + + + + + + + + + + + + + + + Personal identity number: + + + + + + + + + + - - - Assessment of the examination interview based on technical accuracy, completeness, structure and linguistic quality. - Passed with distinction, Passed with merit, Passed, Failed - - - - - - - - - - - - - - Reasons for failing OR any possible explanatory notes on a passing grade - - - - - - - - - - - - - - - - - Any unusual occurrences - - - - - - - - - - - - - - - - - - - - - - - - _____________________________________________________________________ - Signature of the chair1st examiner2nd examiner + + + Question(s) to open the examination interview + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Assessment of the examination interview + based on technical accuracy, completeness, structure and linguistic quality. + + + + + (+++) Passed with distinction + (++) Passed with merit + (+) Passed + (-) Failed + + + + + + + + + + Reasons for failing OR any possible explanatory notes on a passing grade + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Any unusual occurrences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _____________________________________________________________________ + Signature of the chair1st examiner2nd examiner \ No newline at end of file diff --git a/system/xsl/diplomzeugnisEng_0.xsl b/system/xsl/diplomzeugnisEng_0.xsl index 62947c221..59889b18d 100644 --- a/system/xsl/diplomzeugnisEng_0.xsl +++ b/system/xsl/diplomzeugnisEng_0.xsl @@ -352,7 +352,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - + From b53bacacd9193c8c8a95afc05173df9e7f4e5bd4 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 23 Dec 2016 16:57:18 +0100 Subject: [PATCH 58/74] Anpassung Phrasen. Pfad kommt nun aus APP_ROOT --- locale/de-AT/profil.php | 2 +- locale/en-US/profil.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/de-AT/profil.php b/locale/de-AT/profil.php index 89a807f01..d3d62a891 100644 --- a/locale/de-AT/profil.php +++ b/locale/de-AT/profil.php @@ -60,7 +60,7 @@ Sollte innerhalb der nächsten Tagen keine neuerliche Aktivierung Ihres Benutzer sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.
'; $this->phrasen['profil/nurJPGBilder']='Derzeit können nur Bilder im JPG Format hochgeladen werden'; -$this->phrasen['profil/BilduploadInfotext']='Derzeit können nur Bilder im JPG Format mit einer Maximalgröße von 15MB hochgeladen werden!

Bitte beachten Sie die Richtlinien für den Bildupload'; +$this->phrasen['profil/BilduploadInfotext']='Derzeit können nur Bilder im JPG Format mit einer Maximalgröße von 15MB hochgeladen werden!

Bitte beachten Sie die Richtlinien für den Bildupload'; $this->phrasen['profil/Bild']='Profilfoto'; $this->phrasen['profil/Bildupload']='Bildupload'; $this->phrasen['profil/fotofreigeben']='Sperre des Profilfotos aufheben'; diff --git a/locale/en-US/profil.php b/locale/en-US/profil.php index b7299d712..2274d4a49 100644 --- a/locale/en-US/profil.php +++ b/locale/en-US/profil.php @@ -57,7 +57,7 @@ If your account has been deactivated by mistake, please contact the administrati $this->phrasen['profil/nurJPGBilder']='Currently it is only possible to upload JPEG images'; -$this->phrasen['profil/BilduploadInfotext']='Currently it is only possible to upload JPG images with a maximum size of 15MB!

Please follow the guidelines for uploading images'; +$this->phrasen['profil/BilduploadInfotext']='Currently it is only possible to upload JPG images with a maximum size of 15MB!

Please follow the guidelines for uploading images'; $this->phrasen['profil/Bild']='Picture'; $this->phrasen['profil/Bildupload']='Upload Picture'; $this->phrasen['profil/fotofreigeben']='Unlock your profile photo'; From 9d13111c8b6026612f1aabd9db64081265a452e6 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 23 Dec 2016 16:57:45 +0100 Subject: [PATCH 59/74] Link im LV-Plan Detailfenster zeigt nun auf Profil --- cis/private/lvplan/stpl_detail.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/lvplan/stpl_detail.php b/cis/private/lvplan/stpl_detail.php index 17986327a..3aecd1fa6 100644 --- a/cis/private/lvplan/stpl_detail.php +++ b/cis/private/lvplan/stpl_detail.php @@ -235,7 +235,7 @@ if ($num_rows_stpl>0) echo ' '.$db->convert_html_chars($unr).' - '.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).' + '.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).' '.(!empty($ortkurzbz)?($ort->content_id!=''?''.$db->convert_html_chars($ortkurzbz).'':$db->convert_html_chars($ortkurzbz)):$db->convert_html_chars($ortkurzbz)).' '.$db->convert_html_chars($lehrfachkurzbz).' '.$db->convert_html_chars($bezeichnung).' From 6631c5d22c9942e8c7c5113fec2377e427d7353e Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 23 Dec 2016 16:58:29 +0100 Subject: [PATCH 60/74] Berechtigung basis/infoscreen zu Stammdaten in Vilesci Hauptmenue --- include/tw/vilesci_menu_main.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 3c3333cbb..56b60209d 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -138,7 +138,7 @@ $menu=array ), 'Stammdaten'=> array ( - 'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis'), 'image'=>'vilesci_stammdaten.png', + 'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis','basis/infoscreen'), 'image'=>'vilesci_stammdaten.png', 'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav', 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')), 'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')), From db9de1997834f468aaba7eaa00af088678f319f2 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 23 Dec 2016 17:01:06 +0100 Subject: [PATCH 61/74] Alte Funktion "getAllForBewerbung" Deprecated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Funktion "getAllForBewerbung" überarbeitet aber vorerst auskommentiert --- include/studiengang.class.php | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/include/studiengang.class.php b/include/studiengang.class.php index aecdc4a7a..a65e4bf91 100755 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -225,6 +225,7 @@ class studiengang extends basis_db return true; } + // DEPRECATED! SIEHE NAECHSTE FUNKTION /** * Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann * @@ -254,6 +255,47 @@ class studiengang extends basis_db return true; } + + // DIESE FUNKTION WARE BESSER GEEIGNET, DA DIE ALTE NOCH AUF DIE vw_studienplan ZUGREIFT + // IN DER DIE GUELTIGEN SEMESTER NOCH VON DEN STUDIENORDNUNGEN ERMITTELT WERDEN ANSTATT VON DEN STUDIENPLAENEN + // IN DIESER WERDEN AUCH DIE STUDIENSEMESTER ABGEFRAGT + /** + * Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann + * + * @param string $order Default: typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC. Spalten, nach denen Sortiert werden soll. + * @param array $studiensemester_kurzbz Array von Studiensemestern, in deren Gueltigkeit die Studienplaene liegen + * @return boolean + */ + /*public function getAllForBewerbung($order = 'typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC', $studiensemester_kurzbz = '') + { + $qry = "SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung " + . "FROM lehre.tbl_studienplan " + . "JOIN lehre.tbl_studienordnung USING (studienordnung_id) " + . "JOIN public.tbl_studiengang USING (studiengang_kz) " + . "JOIN public.tbl_organisationseinheit USING (oe_kurzbz) " + . "JOIN public.tbl_organisationseinheittyp USING (organisationseinheittyp_kurzbz) " + . "LEFT JOIN lehre.tbl_studienplan_semester USING (studienplan_id) " + . "LEFT JOIN bis.tbl_lgartcode USING (lgartcode) " + . "WHERE onlinebewerbung IS TRUE " + . "AND tbl_studienplan.aktiv IS TRUE " + . "AND tbl_studienplan_semester.semester=1 " + . "AND tbl_studienplan_semester.studiensemester_kurzbz IN (".$this->implode4SQL($studiensemester_kurzbz).") "; + + $qry .= " ORDER BY ".$order; + + if(!$result = $this->db_query($qry)) + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + + while($row = $this->db_fetch_object($result)) + { + $this->result[] = $row; + } + + return true; + }*/ /** * Laedt alle Studientypen in das Attribut studiengang_typ_array From e27776479d63f6a8e6075bfc97fa697ad87c5d42 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Mon, 2 Jan 2017 16:25:25 +0100 Subject: [PATCH 62/74] =?UTF-8?q?Pr=C3=BCfungsanmeldung=20durch=20admin=20?= =?UTF-8?q?m=C3=B6glich=20auch=20wenn=20noch=20keine=20Studierenden=20ange?= =?UTF-8?q?meldet=20sind?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefung.js.php | 7 +++ .../pruefung/pruefungsanmeldung.json.php | 56 ++++++++++--------- 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index d1be2e8bb..310bebc16 100755 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -831,6 +831,8 @@ function writeAnmeldungen(data) } else { + $("#anmeldung_hinzufuegen").empty(); + $("#lvdaten").empty(); $("#anmeldeDaten").empty(); $("#reihungSpeichernButton").empty(); $("#kommentar").empty(); @@ -838,6 +840,11 @@ function writeAnmeldungen(data) $("#raumLink").empty(); $("#listeDrucken").empty(); messageBox("message", data.errormsg, "red", "highlight", 1000); + if (data.lv_bezeichnung) + { + $("#lvdaten").html(data.lv_bezeichnung+" ("+data.termin_datum+")"); + $("#anmeldung_hinzufuegen").html("' onclick='saveAnmeldung(\""+data.lv_id+"\",\""+data.termin_id+"\");'/>"); + } } } diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 395046298..5c299374f 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -424,7 +424,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $stdsem_lv_besuch = $stdsem; } } - + $stdsem = $studiensemester->getPreviousFrom($stdsem); $lehrveranstaltung->lehrveranstaltungen = array(); $i++; @@ -445,7 +445,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) // Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen if(!isset($pruefungstyp_kurzbzArray)) $pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef"); - + if(isset($pruefungstyp_kurzbzArray)) { if($anzahlPruefungen < count($pruefungstyp_kurzbzArray)) @@ -523,7 +523,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $pf = new pruefungCis($pruefungstermin->pruefung_id); $pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id); $anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $pruefungsfenster->studiensemester_kurzbz); - + if($anmeldungen !== false) { $ects_verwendet = 0; @@ -876,34 +876,38 @@ function getAnmeldungenTermin() $pruefungstermin->lv_lehrtyp = $lv->lehrtyp_kurzbz; $datum = new DateTime($pruefungstermin->von); $pruefungstermin->datum = $datum->format('d.m.Y'); - foreach($pruefungstermin->anmeldungen as $a) - { - $student = new student($a->uid); - $temp = new stdClass(); - $temp->vorname = $student->vorname; - $temp->nachname = $student->nachname; - $temp->uid = $student->uid; - $a->student = $temp; - } - if(!empty($pruefungstermin->anmeldungen)) - { - $data['result']=$pruefungstermin; - $data['error']='false'; - $data['errormsg']=''; - } - else - { - $data['error']='true'; - if($pruefungsanmeldung->errormsg !== null) + foreach($pruefungstermin->anmeldungen as $a) { - $data['errormsg']=$pruefungsanmeldung->errormsg; + $student = new student($a->uid); + $temp = new stdClass(); + $temp->vorname = $student->vorname; + $temp->nachname = $student->nachname; + $temp->uid = $student->uid; + $a->student = $temp; + } + if(!empty($pruefungstermin->anmeldungen)) + { + $data['result']=$pruefungstermin; + $data['error']='false'; + $data['errormsg']=''; } else { - $data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden'); + $data['error']='true'; + if($pruefungsanmeldung->errormsg !== null) + { + $data['errormsg']=$pruefungsanmeldung->errormsg; + } + else + { + $data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden'); + $data['lv_id'] = $lehrveranstaltung_id; + $data['termin_id'] = $pruefungstermin_id; + $data['termin_datum'] = $pruefungstermin->datum; + $data['lv_bezeichnung'] = $pruefungstermin->lv_bezeichnung; + } } - } - return $data; + return $data; } /** From 87d02ce13e921e7ccc8c0b7a2e1286676c5595d5 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 9 Jan 2017 16:21:42 +0100 Subject: [PATCH 63/74] =?UTF-8?q?Wenn=20ein=20Studierender=20keinen=20Stat?= =?UTF-8?q?us=20in=20dem=20Semester=20hat=20f=C3=BCr=20das=20ein=20Zeugnis?= =?UTF-8?q?=20erstellt=20werden=20soll,=20dann=20wird=20nun=20ein=20leeres?= =?UTF-8?q?=20Zeugnis=20angezeigt=20anstatt=20einer=20kryptischen=20PHP=20?= =?UTF-8?q?Fehlermeldung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rdf/zeugnis.rdf.php | 624 +++++++++++++++++++++++--------------------- 1 file changed, 320 insertions(+), 304 deletions(-) diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php index efc8a36d8..e7e5da698 100644 --- a/rdf/zeugnis.rdf.php +++ b/rdf/zeugnis.rdf.php @@ -48,7 +48,7 @@ function breaktext($text, $zeichen) $arr = explode(' ',$text); $ret = ''; $teilstring=''; - + foreach($arr as $elem) { if(strlen($teilstring.$elem)>$zeichen) @@ -56,7 +56,7 @@ function breaktext($text, $zeichen) $ret.=' '.$teilstring.'\n'; $teilstring=$elem; } - else + else $teilstring .=' '.$elem; } $ret.=$teilstring; @@ -68,9 +68,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") if(isset($_GET['uid'])) $uid = $_GET['uid']; - else + else $uid = null; - + $uid_arr = explode(";",$uid); if ($uid_arr[0] == "") @@ -78,339 +78,355 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") unset($uid_arr[0]); $uid_arr = array_values($uid_arr); } - + $note_arr = array(); $note = new note(); $note->getAll(); foreach ($note->result as $n) $note_arr[$n->note] = $n->anmerkung; - + if(isset($_GET['ss'])) $studiensemester_kurzbz = $_GET['ss']; - else + else $studiensemester_kurzbz = $semester_aktuell; - + //Daten holen - + $xml = ""; $xml .= ""; - + for ($i = 0; $i < sizeof($uid_arr); $i++) - { + { $anzahl_fussnoten=0; $studiengang_typ=''; $xml_fussnote=''; $projektarbeit=array(); - - $query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.projektarbeit_note_anzeige, - tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester, - tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, - tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung, - tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id, tbl_studiengang.max_semester - FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester - WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz - AND tbl_student.student_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id - AND tbl_student.student_uid = '".addslashes($uid_arr[$i])."' - AND tbl_studentlehrverband.student_uid=tbl_student.student_uid - AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz - AND tbl_studentlehrverband.studiensemester_kurzbz = '".addslashes($studiensemester_kurzbz)."'"; - + + $query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.projektarbeit_note_anzeige, + tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester, + tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, + tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung, + tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id, tbl_studiengang.max_semester + FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester + WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz + AND tbl_student.student_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id + AND tbl_student.student_uid = ".$db->db_add_param($uid_arr[$i])." + AND tbl_studentlehrverband.student_uid=tbl_student.student_uid + AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz + AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); + if($result = $db->db_query($query)) { - if(!$row = $db->db_fetch_object($result)) - die('Student not found'); - } - else - die('Student not found'); - - $studiengang = new studiengang(); - $stgleiter = $studiengang->getLeitung($row->studiengang_kz); - $stgl=''; - foreach ($stgleiter as $stgleiter_uid) - { - $stgl_ma = new mitarbeiter($stgleiter_uid); - $stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost); - } - - //Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming) - //damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint - $qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus - WHERE - prestudent_id='".addslashes($row->prestudent_id)."' AND - studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND - status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent') - ORDER BY DATUM DESC LIMIT 1"; - if($result_sem = $db->db_query($qry)) - { - if($row_sem = $db->db_fetch_object($result_sem)) + $xml .= "\n "; + if($row = $db->db_fetch_object($result)) { - $row->semester = $row_sem->semester; - $bezeichnung = $row_sem->semester.'. Semester'; - } - else - $bezeichnung = ''; - } - else - $bezeichnung = ''; - - $xml .= "\n "; - $xml .= " ".$row->sembezeichnung.""; - $xml .= " ".$row->stsem.""; - $xml .= " ".$row->semester.""; - $xml .= " ".$bezeichnung.""; - $xml .= " ".$row->bezeichnung.""; - $xml .= " ".$row->english.""; - if($row->typ=='b') - $bezeichnung='Bachelor'; - elseif($row->typ=='m') - $bezeichnung='Master'; - elseif($row->typ=='d') - $bezeichnung='Diplom'; - else - $bezeichnung=''; - $studiengang_typ=$row->typ; - $semester = $row->semester; - - //Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen - if ($row->studiengang_kz<0) - { - $stg = new studiengang(); - $stg->load($row->studiengang_kz); - - $studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($row->studiengang_kz)); - } - else - $studiengang_kz = sprintf("%04s", abs($row->studiengang_kz)); - - $xml .= " ".$bezeichnung.""; - $xml .= " ".$studiengang_kz.""; - $xml .= "\n ".$row->anrede.""; - $xml .= "\n ".$row->vorname.""; - $xml .= " ".$row->nachname.""; - $xml .= " ".trim($row->titelpre.' '.trim($row->vorname.' '.$row->vornamen).' '.$row->nachname.($row->titelpost!=''?', '.$row->titelpost:'')).""; - $gebdatum = date('d.m.Y',strtotime($row->gebdatum)); - $xml .= " ".$gebdatum.""; - $xml .= " ".trim($row->matrikelnr).""; - $xml .= " ".$stgl.""; - $datum_aktuell = date('d.m.Y'); - $xml .= " ".$datum_aktuell.""; - $xml .= " ".($row->projektarbeit_note_anzeige=='t'?'true':'false').""; - - $qry_proj = "SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english, tbl_projekttyp.bezeichnung, projekttyp_kurzbz FROM lehre.tbl_projektarbeit JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) WHERE student_uid='".addslashes($uid_arr[$i])."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND projekttyp_kurzbz in('Bachelor', 'Diplom') ORDER BY beginn ASC, projektarbeit_id ASC"; - if($result_proj = $db->db_query($qry_proj)) - { - while($row_proj = $db->db_fetch_object($result_proj)) - { - $projektarbeit[$row_proj->lehrveranstaltung_id]['titel']=$row_proj->titel; - $projektarbeit[$row_proj->lehrveranstaltung_id]['titel_en']=$row_proj->titel_english; - $projektarbeit[$row_proj->lehrveranstaltung_id]['themenbereich']=$row_proj->themenbereich; - $projektarbeit[$row_proj->lehrveranstaltung_id]['note']=$row_proj->note; - $projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_bezeichnung']=$row_proj->bezeichnung; - $projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_kurzbz']=$row_proj->projekttyp_kurzbz; - } - } - - // Wenn es das letzte Semesterzeugnis ist, wird zusaetzlich die Abschlusspruefung geliefert - if($row->semester==$row->max_semester) - { - - $qry_abschlusspruefung = "SELECT - tbl_abschlusspruefung.datum, - tbl_abschlusspruefung.pruefungstyp_kurzbz, - tbl_abschlussbeurteilung.bezeichnung, - tbl_abschlussbeurteilung.bezeichnung_english - FROM - lehre.tbl_abschlusspruefung - LEFT JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) - WHERE - tbl_abschlusspruefung.student_uid=".$db->db_add_param($uid_arr[$i])." - ORDER BY datum DESC LIMIT 1"; - if($result_abschlusspruefung = $db->db_query($qry_abschlusspruefung)) - { - if($row_abschlusspruefung = $db->db_fetch_object($result_abschlusspruefung)) + $studiengang = new studiengang(); + $stgleiter = $studiengang->getLeitung($row->studiengang_kz); + $stgl=''; + foreach ($stgleiter as $stgleiter_uid) { - $xml .= " ".$row_abschlusspruefung->pruefungstyp_kurzbz.""; - $xml .= " ".$datum->formatDatum($row_abschlusspruefung->datum,'d.m.Y').""; - $xml .= " ".$row_abschlusspruefung->bezeichnung.""; - $xml .= " ".$row_abschlusspruefung->bezeichnung_english.""; + $stgl_ma = new mitarbeiter($stgleiter_uid); + $stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost); } - } - } - - $obj = new zeugnisnote(); - - $obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid_arr[$i], $studiensemester_kurzbz); - $ects_gesamt = 0; - $prestudent_id = $row->prestudent_id; - foreach ($obj->result as $row) - { - if($row->zeugnis) - { - if (trim($row->note)!=='') - $note = $note_arr[$row->note]; - else - $note = ""; - $note2=$note; - - //Firma fuer Berufspraktikum - $qry = "SELECT tbl_firma.name - FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, public.tbl_firma - WHERE - tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_projektarbeit.firma_id = tbl_firma.firma_id AND - tbl_projektarbeit.student_uid='".addslashes($uid_arr[$i])."' AND - tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND - tbl_lehrveranstaltung.lehrveranstaltung_id='".addslashes($row->lehrveranstaltung_id)."'"; - - $firma = ''; - $firma_eng = ''; - if($result_firma = $db->db_query($qry)) + //Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming) + //damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint + $qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus + WHERE + prestudent_id=".$db->db_add_param($row->prestudent_id)." AND + studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND + status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent') + ORDER BY DATUM DESC LIMIT 1"; + if($result_sem = $db->db_query($qry)) { - if($row_firma = $db->db_fetch_object($result_firma)) + if($row_sem = $db->db_fetch_object($result_sem)) { - if($row_firma->name!='') + $row->semester = $row_sem->semester; + $bezeichnung = $row_sem->semester.'. Semester'; + } + else + $bezeichnung = ''; + } + else + $bezeichnung = ''; + + + $xml .= " ".$row->sembezeichnung.""; + $xml .= " ".$row->stsem.""; + $xml .= " ".$row->semester.""; + $xml .= " ".$bezeichnung.""; + $xml .= " ".$row->bezeichnung.""; + $xml .= " ".$row->english.""; + if($row->typ=='b') + $bezeichnung='Bachelor'; + elseif($row->typ=='m') + $bezeichnung='Master'; + elseif($row->typ=='d') + $bezeichnung='Diplom'; + else + $bezeichnung=''; + $studiengang_typ=$row->typ; + $semester = $row->semester; + + //Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen + if ($row->studiengang_kz<0) + { + $stg = new studiengang(); + $stg->load($row->studiengang_kz); + + $studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($row->studiengang_kz)); + } + else + $studiengang_kz = sprintf("%04s", abs($row->studiengang_kz)); + + $xml .= " ".$bezeichnung.""; + $xml .= " ".$studiengang_kz.""; + $xml .= "\n ".$row->anrede.""; + $xml .= "\n ".$row->vorname.""; + $xml .= " ".$row->nachname.""; + $xml .= " ".trim($row->titelpre.' '.trim($row->vorname.' '.$row->vornamen).' '.$row->nachname.($row->titelpost!=''?', '.$row->titelpost:'')).""; + $gebdatum = date('d.m.Y',strtotime($row->gebdatum)); + $xml .= " ".$gebdatum.""; + $xml .= " ".trim($row->matrikelnr).""; + $xml .= " ".$stgl.""; + $datum_aktuell = date('d.m.Y'); + $xml .= " ".$datum_aktuell.""; + $xml .= " ".($row->projektarbeit_note_anzeige=='t'?'true':'false').""; + + $qry_proj = " + SELECT + lehrveranstaltung_id, titel, themenbereich, note, titel_english, + tbl_projekttyp.bezeichnung, projekttyp_kurzbz + FROM + lehre.tbl_projektarbeit + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) + WHERE + student_uid=".$db->db_add_param($uid_arr[$i])." + AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." + AND projekttyp_kurzbz in('Bachelor', 'Diplom') + ORDER BY beginn ASC, projektarbeit_id ASC"; + + if($result_proj = $db->db_query($qry_proj)) + { + while($row_proj = $db->db_fetch_object($result_proj)) + { + $projektarbeit[$row_proj->lehrveranstaltung_id]['titel']=$row_proj->titel; + $projektarbeit[$row_proj->lehrveranstaltung_id]['titel_en']=$row_proj->titel_english; + $projektarbeit[$row_proj->lehrveranstaltung_id]['themenbereich']=$row_proj->themenbereich; + $projektarbeit[$row_proj->lehrveranstaltung_id]['note']=$row_proj->note; + $projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_bezeichnung']=$row_proj->bezeichnung; + $projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_kurzbz']=$row_proj->projekttyp_kurzbz; + } + } + + // Wenn es das letzte Semesterzeugnis ist, wird zusaetzlich die Abschlusspruefung geliefert + if($row->semester==$row->max_semester) + { + + $qry_abschlusspruefung = "SELECT + tbl_abschlusspruefung.datum, + tbl_abschlusspruefung.pruefungstyp_kurzbz, + tbl_abschlussbeurteilung.bezeichnung, + tbl_abschlussbeurteilung.bezeichnung_english + FROM + lehre.tbl_abschlusspruefung + LEFT JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) + WHERE + tbl_abschlusspruefung.student_uid=".$db->db_add_param($uid_arr[$i])." + ORDER BY datum DESC LIMIT 1"; + if($result_abschlusspruefung = $db->db_query($qry_abschlusspruefung)) + { + if($row_abschlusspruefung = $db->db_fetch_object($result_abschlusspruefung)) { - $firma = " bei Firma: $row_firma->name"; - $firma_eng = " at: $row_firma->name"; + $xml .= " ".$row_abschlusspruefung->pruefungstyp_kurzbz.""; + $xml .= " ".$datum->formatDatum($row_abschlusspruefung->datum,'d.m.Y').""; + $xml .= " ".$row_abschlusspruefung->bezeichnung.""; + $xml .= " ".$row_abschlusspruefung->bezeichnung_english.""; } } } - - //Bakk/Dipl Fussnoten - if(array_key_exists($row->lehrveranstaltung_id, $projektarbeit)) - { - $bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten]; - $bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng.' '.$fussnotenzeichen[$anzahl_fussnoten]; - $xml_fussnote .="\n "; - $xml_fussnote .=" ".$fussnotenzeichen[$anzahl_fussnoten].""; - - //$projektarbeit[$row->lehrveranstaltung_id]['titel'] = breaktext($projektarbeit[$row->lehrveranstaltung_id]['titel'], 40); - - $anzahl_nl = substr_count($projektarbeit[$row->lehrveranstaltung_id]['titel'],'\n'); - $nl2=''; - if($projektarbeit[$row->lehrveranstaltung_id]['themenbereich']!='') - { - //$xml_fussnote .=" Themenbereich: "; - $xml_fussnote .=" lehrveranstaltung_id]['themenbereich'].']]>'; - $anzahl_nl++; - $nl2='\n'; - } - - /*if($studiengang_typ=='b') - $typ = 'Bachelorarbeit:'; - else - $typ = 'Master Thesis:';*/ - - $nl=''; - $nl2=''; - $xml_fussnote .=" lehrveranstaltung_id]['projekttyp_bezeichnung']."]]>"; - $xml_fussnote .=" lehrveranstaltung_id]['projekttyp_kurzbz']."]]>"; - $xml_fussnote .=" lehrveranstaltung_id]['titel'].$nl2."]]>"; - $xml_fussnote .=" lehrveranstaltung_id]['titel_en'].$nl2."]]>"; - //$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; - $note = $projektarbeit[$row->lehrveranstaltung_id]['note']; - //$nl = str_repeat('\n',($anzahl_nl)); - $xml_fussnote .=' '.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.''; - $xml_fussnote .=' '.$nl.''; - $xml_fussnote .=' '.$nl.''; - $xml_fussnote .=' '.$nl.''; - - - - $xml_fussnote .=" "; - - $anzahl_fussnoten++; - } - else - { - $bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma; - $bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng; - } - - - $bisio_von = ''; - $bisio_bis = ''; - $bisio_ort = ''; - $bisio_universitaet = ''; - $auslandssemester=false; - - $qry = "SELECT tbl_bisio.* FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - WHERE tbl_lehreinheit.lehrveranstaltung_id='$row->lehrveranstaltung_id' - AND student_uid='".addslashes($uid_arr[$i])."'"; - if($result_bisio = $db->db_query($qry)) - { - if($row_bisio = $db->db_fetch_object($result_bisio)) - { - $bisio_von = $row_bisio->von; - $bisio_bis = $row_bisio->bis; - $bisio_ort = $row_bisio->ort; - $bisio_universitaet = $row_bisio->universitaet; - $auslandssemester=true; - $note2 = 'ar'; - } - } - - $qry = "SELECT wochen FROM public.tbl_semesterwochen - WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester - FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=$row->lehrveranstaltung_id)"; - $wochen = 15; - if($result_wochen = $db->db_query($qry)) - { - if($row_wochen = $db->db_fetch_object($result_wochen)) - { - $wochen = $row_wochen->wochen; - } - } - $xml .= "\n "; - $xml .= " "; - $xml .= " "; - $xml .= " ".$note2.""; - $xml .= " ".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1)).""; - $ectspunkte=''; - - - $anrechnung = new anrechnung(); - $anrechnung->getAnrechnungPrestudent($prestudent_id, null, $row->lehrveranstaltung_id); - if($anrechnung->result != null) - { - $lv = new lehrveranstaltung($anrechnung->result[0]->lehrveranstaltung_id); - if(($lv->ects !== $row->ects) && ($lv->ects != "") && ($lv->ects != null)) - { - $row->ects = $lv->ects; - } - } - - if($row->ects==0 || $row->ects=='') - $ectspunkte=''; - else + $obj = new zeugnisnote(); + + $obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid_arr[$i], $studiensemester_kurzbz); + + $ects_gesamt = 0; + $prestudent_id = $row->prestudent_id; + foreach ($obj->result as $row) { - //Bei 2 Nachkommastellen beide anzeigen, sonst nur 1 - if(number_format($row->ects,1)==number_format($row->ects,2)) - $ectspunkte=number_format($row->ects,1); - else - $ectspunkte=number_format($row->ects,2); + if($row->zeugnis) + { + if (trim($row->note)!=='') + $note = $note_arr[$row->note]; + else + $note = ""; + $note2=$note; + + //Firma fuer Berufspraktikum + $qry = "SELECT tbl_firma.name + FROM + lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, public.tbl_firma + WHERE + tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND + tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND + tbl_projektarbeit.firma_id = tbl_firma.firma_id AND + tbl_projektarbeit.student_uid=".$db->db_add_param($uid_arr[$i])." AND + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND + tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id); + + $firma = ''; + $firma_eng = ''; + if($result_firma = $db->db_query($qry)) + { + if($row_firma = $db->db_fetch_object($result_firma)) + { + if($row_firma->name!='') + { + $firma = " bei Firma: $row_firma->name"; + $firma_eng = " at: $row_firma->name"; + } + } + } + + //Bakk/Dipl Fussnoten + if(array_key_exists($row->lehrveranstaltung_id, $projektarbeit)) + { + $bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten]; + $bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng.' '.$fussnotenzeichen[$anzahl_fussnoten]; + $xml_fussnote .="\n "; + $xml_fussnote .=" ".$fussnotenzeichen[$anzahl_fussnoten].""; + + //$projektarbeit[$row->lehrveranstaltung_id]['titel'] = breaktext($projektarbeit[$row->lehrveranstaltung_id]['titel'], 40); + + $anzahl_nl = substr_count($projektarbeit[$row->lehrveranstaltung_id]['titel'],'\n'); + $nl2=''; + if($projektarbeit[$row->lehrveranstaltung_id]['themenbereich']!='') + { + //$xml_fussnote .=" Themenbereich: "; + $xml_fussnote .=" lehrveranstaltung_id]['themenbereich'].']]>'; + $anzahl_nl++; + $nl2='\n'; + } + + /*if($studiengang_typ=='b') + $typ = 'Bachelorarbeit:'; + else + $typ = 'Master Thesis:';*/ + + $nl=''; + $nl2=''; + $xml_fussnote .=" lehrveranstaltung_id]['projekttyp_bezeichnung']."]]>"; + $xml_fussnote .=" lehrveranstaltung_id]['projekttyp_kurzbz']."]]>"; + $xml_fussnote .=" lehrveranstaltung_id]['titel'].$nl2."]]>"; + $xml_fussnote .=" lehrveranstaltung_id]['titel_en'].$nl2."]]>"; + //$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; + $note = $projektarbeit[$row->lehrveranstaltung_id]['note']; + //$nl = str_repeat('\n',($anzahl_nl)); + $xml_fussnote .=' '.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + + + + $xml_fussnote .=" "; + + $anzahl_fussnoten++; + } + else + { + $bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma; + $bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng; + } + + + $bisio_von = ''; + $bisio_bis = ''; + $bisio_ort = ''; + $bisio_universitaet = ''; + $auslandssemester=false; + + $qry = "SELECT tbl_bisio.* FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE tbl_lehreinheit.lehrveranstaltung_id='$row->lehrveranstaltung_id' + AND student_uid=".$db->db_add_param($uid_arr[$i]); + if($result_bisio = $db->db_query($qry)) + { + if($row_bisio = $db->db_fetch_object($result_bisio)) + { + $bisio_von = $row_bisio->von; + $bisio_bis = $row_bisio->bis; + $bisio_ort = $row_bisio->ort; + $bisio_universitaet = $row_bisio->universitaet; + $auslandssemester=true; + $note2 = 'ar'; + } + } + + $qry = "SELECT wochen FROM public.tbl_semesterwochen + WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester + FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id).")"; + $wochen = 15; + if($result_wochen = $db->db_query($qry)) + { + if($row_wochen = $db->db_fetch_object($result_wochen)) + { + $wochen = $row_wochen->wochen; + } + } + $xml .= "\n "; + $xml .= " "; + $xml .= " "; + $xml .= " ".$note2.""; + $xml .= " ".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1)).""; + $ectspunkte=''; + + $anrechnung = new anrechnung(); + $anrechnung->getAnrechnungPrestudent($prestudent_id, null, $row->lehrveranstaltung_id); + + if($anrechnung->result != null) + { + $lv = new lehrveranstaltung($anrechnung->result[0]->lehrveranstaltung_id); + if(($lv->ects !== $row->ects) && ($lv->ects != "") && ($lv->ects != null)) + { + $row->ects = $lv->ects; + } + } + + if($row->ects==0 || $row->ects=='') + $ectspunkte=''; + else + { + //Bei 2 Nachkommastellen beide anzeigen, sonst nur 1 + if(number_format($row->ects,1)==number_format($row->ects,2)) + $ectspunkte=number_format($row->ects,1); + else + $ectspunkte=number_format($row->ects,2); + } + $ects_gesamt+=$ectspunkte; + + $xml .= " ".$ectspunkte.""; + $xml .= " ".$row->lv_lehrform_kurzbz.""; + if($auslandssemester) + { + $xml .= " ".date('d.m.Y', $datum->mktime_fromdate($bisio_von)).""; + $xml .= " ".date('d.m.Y', $datum->mktime_fromdate($bisio_bis)).""; + $xml .= " $bisio_ort"; + $xml .= " $bisio_universitaet"; + } + $xml .= " "; + } } - $ects_gesamt+=$ectspunkte; - - $xml .= " ".$ectspunkte.""; - $xml .= " ".$row->lv_lehrform_kurzbz.""; - if($auslandssemester) - { - $xml .= " ".date('d.m.Y', $datum->mktime_fromdate($bisio_von)).""; - $xml .= " ".date('d.m.Y', $datum->mktime_fromdate($bisio_bis)).""; - $xml .= " $bisio_ort"; - $xml .= " $bisio_universitaet"; - } - $xml .= " "; + $xml .= "".$ects_gesamt.""; + $xml .= $xml_fussnote; + } + else + { + $xml .="PERSON NICHT GEFUNDEN / KEIN STATUS"; + } + $xml .= " "; } - $xml .= "".$ects_gesamt.""; - $xml .= $xml_fussnote; - $xml .= " "; } $xml .= ""; echo $xml; From e23db52cb959fe9fdc1b865925023f9faa9f46fe Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Mon, 9 Jan 2017 19:15:31 +0100 Subject: [PATCH 64/74] =?UTF-8?q?Pr=C3=BCfungsmodul=20Bugfixes=20und=20Erw?= =?UTF-8?q?eiterungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefung.js.php | 35 +++- .../pruefung/pruefungsanmeldung.json.php | 25 +++ .../pruefungsanmeldungen_liste.pdf.php | 160 ++++++++++++++++++ locale/de-AT/pruefung.php | 1 + locale/en-US/pruefung.php | 1 + locale/it-IT/pruefung.php | 1 + 6 files changed, 222 insertions(+), 1 deletion(-) create mode 100755 cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 310bebc16..b809fb7e0 100755 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -809,7 +809,7 @@ function writeAnmeldungen(data) }); liste += ""; $("#anmeldung_hinzufuegen").html("' onclick='saveAnmeldung(\""+lehrveranstaltung_id+"\",\""+terminId+"\");'/>"); - $("#reihungSpeichernButton").html("' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>"); + $("#reihungSpeichernButton").html("' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>' onclick='alleBestaetigen(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>"); $("#lvdaten").html(lv_bezeichnung+" ("+prf_termin+")"); $("#anmeldeDaten").html(liste); $("#listeDrucken").html("t('pruefung/listeDrucken'); ?>"); @@ -929,6 +929,39 @@ function anmeldungBestaetigen(pruefungsanmeldung_id, termin_id, lehrveranstaltun }); } +/** + * Ändert den Status aller Anmeldungen eines Termins auf "bestätigt" + * @param {type} termin_id ID des Prüfungstermines + * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung + * @returns {undefined} + */ +function alleBestaetigen(termin_id, lehrveranstaltung_id) +{ + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "alleBestaetigen", + termin_id: termin_id, + lehrveranstaltung_id: lehrveranstaltung_id + }, + error: loadError + }).success(function(data){ + if(data.error === 'false' && data.result === true) + { + if(termin_id !== 'undefined' && lehrveranstaltung_id !== 'undefined') + { + showAnmeldungen(termin_id, lehrveranstaltung_id); + } + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + }); +} + /** * Anzeige eines DIVs zur Darstellung von Fehlermeldungen, etc. * @param {type} divId ID des DIVs in dem die Meldung dargestellt werden soll diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 5c299374f..5d3d23254 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -97,6 +97,9 @@ switch($method) case 'anmeldungBestaetigen': $data = anmeldungBestaetigen($uid); break; + case 'alleBestaetigen': + $data = alleBestaetigen($uid); + break; case 'getStudiengaenge': $data = getStudiengaenge(); break; @@ -932,6 +935,28 @@ function saveReihung() return $data; } +/** + * Ändert den Status aller Prüfungsanmeldungen eines Termins/LV auf "bestaetigt" + * @return Array + */ +function alleBestaetigen($uid) +{ + $lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"]; + $pruefungstermin_id = $_REQUEST["termin_id"]; + $pruefungstermin = new pruefungstermin($pruefungstermin_id); + $pruefungsanmeldung = new pruefungsanmeldung(); + $pranmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id); + foreach($pranmeldungen as $a) + { + $anmeldung = new pruefungsanmeldung(); + $anmeldung->changeState($a->pruefungsanmeldung_id, 'bestaetigt', $uid); + } + $data['result']=true; + $data['error']='false'; + $data['errormsg']=''; + return $data; +} + /** * Ändert den Status einer Prüfungsanmeldung auf "bestaetigt" * @return Array diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php new file mode 100755 index 000000000..11b69a1b6 --- /dev/null +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php @@ -0,0 +1,160 @@ + + */ +require_once('../../../../config/cis.config.inc.php'); +require_once('../../../../include/dokument_export.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/pruefungsanmeldung.class.php'); +require_once('../../../../include/pruefungCis.class.php'); +require_once('../../../../include/pruefungstermin.class.php'); +require_once('../../../../include/studiensemester.class.php'); +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'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$user=get_uid(); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); + +$berechtigung = new benutzerberechtigung(); +$berechtigung->getBerechtigungen($user); + +if(isset($_GET['lehrveranstaltung_id']) && is_numeric($_GET['lehrveranstaltung_id'])) + $lvid = $_GET['lehrveranstaltung_id']; +else + die('Eine gueltige LvID muss uebergeben werden'); + +if(isset($_GET['studiensemester'])) + $studiensemester = $_GET['studiensemester']; +else + die('Eine Studiensemester muss uebergeben werden'); + +if(isset($_GET['termin_id']) && is_numeric($_GET['termin_id'])) + $termin_id = $_GET['termin_id']; +else + die('Eine Termin-ID 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']; + + + +$lv = new lehrveranstaltung(); +$lv->load($lvid); + +$doc = new dokument_export('Pruefungslist'); + + +$stg = new studiengang(); +$stg->load($lv->studiengang_kz); + +$studiengang_bezeichnung=$stg->bezeichnung; + +$stg->getAllTypes(); + +$datum = new datum(); +$stdsem = new studiensemester($studiensemester); +$pruefungsanmeldung = new pruefungsanmeldung(); +$anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($termin_id, $lvid, $studiensemester, "bestaetigt"); +$lehrveranstaltung = new lehrveranstaltung($lvid); +$einzeln = FALSE; +if(!empty($anmeldungen)) +{ + $pruefung = new pruefungCis($anmeldungen[0]->pruefung_id); + $pruefungstermin = new pruefungstermin($anmeldungen[0]->pruefungstermin_id); + $mitarbeiter = new mitarbeiter($pruefung->mitarbeiter_uid); + $dozent = $mitarbeiter->getFullName(FALSE); + $termin_datum = $datum->formatDatum($pruefungstermin->von, "d.m.Y - H:i"); + + + $data = array( + 'bezeichnung'=>$lv->bezeichnung, + 'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id, + 'studiengang'=>$studiengang_bezeichnung, + 'studiengang_kz'=>$lv->studiengang_kz, + 'typ'=>$stg->studiengang_typ_arr[$stg->typ], + 'studiensemester'=>$studiensemester, + 'semester'=>$lv->semester, + 'orgform'=>$lv->orgform_kurzbz, + 'dozent'=>$dozent, + 'termin_datum'=>$termin_datum + ); + + $count = 0; + foreach($anmeldungen as $anmeldung) + { + $student = new student($anmeldung->uid); + $prfTermin = new pruefungstermin($anmeldung->pruefungstermin_id); + + if($einzeln) + { + $date = $datum->formatDatum($prfTermin->von, "Y-m-d H:i:s"); + $date = strtotime($date); + $date = $date+(60*$pruefungsintervall*($count)); + $date = $datum->formatDatum($prfTermin->von,"d.m.Y").' - '.date("H:i",$date); + $count++; + } + else + { + $date = $datum->formatDatum($prfTermin->von,"d.m.Y - H:i"); + $count++; + } + $date = $datum->formatDatum($prfTermin->von,"d.m.Y"); + $data[] = array('student'=>array( + 'count' => $count, + 'vorname' => $student->vorname, + 'nachname' => $student->nachname, + 'matr_nr' => $student->matr_nr, + 'datum' => $date + )); + + } + + + $doc->addDataArray($data,'pruefungsliste'); + + //header("Content-type: application/xhtml+xml"); + //echo $doc->ConvertArrayToXML($data,'anwesenheitsliste'); + //exit; + + if(!$doc->create($output)) + die($doc->errormsg); + $doc->output(); + $doc->close(); +} +else { + echo $p->t('pruefung/keineBestaetigtenAnmeldungenVorhanden'); +} + +?> diff --git a/locale/de-AT/pruefung.php b/locale/de-AT/pruefung.php index 38b41cf9c..5ab429cc6 100755 --- a/locale/de-AT/pruefung.php +++ b/locale/de-AT/pruefung.php @@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht'; $this->phrasen['pruefung/unbegrenzt'] = 'unbegrenzt'; $this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu'; $this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl'; +$this->phrasen['pruefung/alleBestaetigen'] = 'Alle bestätigen'; // pruefungsbewertung $this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung'; diff --git a/locale/en-US/pruefung.php b/locale/en-US/pruefung.php index da5ed3238..01c743ff7 100755 --- a/locale/en-US/pruefung.php +++ b/locale/en-US/pruefung.php @@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht'; $this->phrasen['pruefung/unbegrenzt'] = 'unlimited'; $this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu'; $this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl'; +$this->phrasen['pruefung/alleBestaetigen'] = 'Confirm all'; // pruefungsbewertung $this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung'; diff --git a/locale/it-IT/pruefung.php b/locale/it-IT/pruefung.php index 4b1ca3d56..73e9ae022 100755 --- a/locale/it-IT/pruefung.php +++ b/locale/it-IT/pruefung.php @@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Appello eliminato'; $this->phrasen['pruefung/unbegrenzt'] = ''; $this->phrasen['pruefung/bewertungenZu'] = 'Studenti iscritti all’appello di'; $this->phrasen['pruefung/keineAuswahl'] = 'Nessuna selezione'; +$this->phrasen['pruefung/alleBestaetigen'] = 'Confermare tutti'; // pruefungsbewertung $this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Voti d’esame'; From ec8d45d84c269aa3279d9ceabfcd7fe0e6e2f33f Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Tue, 10 Jan 2017 11:38:37 +0100 Subject: [PATCH 65/74] =?UTF-8?q?Pr=C3=BCfungsanmeldungen:=20Standard=20is?= =?UTF-8?q?t=20PDF=20=C3=BCber=20unoconf,=20fallback=20html=20wenn=20die?= =?UTF-8?q?=20Vorlage=20'Pruefungslist'=20nicht=20existiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefung.js.php | 2 +- .../lehre/pruefung/pruefungsanmeldungen_liste.pdf.php | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index b809fb7e0..92ab1c7c9 100755 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -812,7 +812,7 @@ function writeAnmeldungen(data) $("#reihungSpeichernButton").html("' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>' onclick='alleBestaetigen(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>"); $("#lvdaten").html(lv_bezeichnung+" ("+prf_termin+")"); $("#anmeldeDaten").html(liste); - $("#listeDrucken").html("t('pruefung/listeDrucken'); ?>"); + $("#listeDrucken").html("t('pruefung/listeDrucken'); ?>"); if(ort_kurzbz !== null) { $("#raumLink").html("t('pruefung/pruefungsraum'); ?>"+ort_kurzbz); diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php index 11b69a1b6..749ba76aa 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php @@ -31,6 +31,7 @@ require_once('../../../../include/datum.class.php'); require_once('../../../../include/phrasen.class.php'); require_once('../../../../include/globals.inc.php'); require_once('../../../../include/sprache.class.php'); +require_once('../../../../include/vorlage.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -60,6 +61,10 @@ if(isset($_GET['termin_id']) && is_numeric($_GET['termin_id'])) else die('Eine Termin-ID muss uebergeben werden'); +$vorlagecheck = new vorlage(); +if (!$vorlagecheck->loadVorlage('Pruefungslist')) + header('Location: pruefungsanmeldungen_liste.php?termin_id='.$termin_id.'&lehrveranstaltung_id='.$lvid.'&studiensemester='.$studiensemester); + 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'); From 9928aab2e07fdb60125424439e0306ecd2edd858 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Tue, 10 Jan 2017 11:57:31 +0100 Subject: [PATCH 66/74] Anzeige studiensemester->bezeichnung --- cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php index 749ba76aa..cef6e8665 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php @@ -109,7 +109,7 @@ if(!empty($anmeldungen)) 'studiengang'=>$studiengang_bezeichnung, 'studiengang_kz'=>$lv->studiengang_kz, 'typ'=>$stg->studiengang_typ_arr[$stg->typ], - 'studiensemester'=>$studiensemester, + 'studiensemester'=>$stdsem->bezeichnung, 'semester'=>$lv->semester, 'orgform'=>$lv->orgform_kurzbz, 'dozent'=>$dozent, From 7c16c05daa4bf01302c4b15d911947e83e6dd7e2 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Tue, 10 Jan 2017 17:47:15 +0100 Subject: [PATCH 67/74] Anmerkung student in Vorlage --- cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php index cef6e8665..7a0b14b13 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.pdf.php @@ -141,7 +141,9 @@ if(!empty($anmeldungen)) 'vorname' => $student->vorname, 'nachname' => $student->nachname, 'matr_nr' => $student->matr_nr, - 'datum' => $date + 'datum' => $date, + 'wuensche' => $anmeldung->wuensche, + 'kommentar' => $anmeldung->kommentar )); } From b69b846dd02dac159db0042d4768d87160079cdc Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Tue, 10 Jan 2017 18:34:09 +0100 Subject: [PATCH 68/74] Mailversand bei confirm all --- .../pruefung/pruefungsanmeldung.json.php | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 5d3d23254..30ce3718b 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -941,6 +941,7 @@ function saveReihung() */ function alleBestaetigen($uid) { + global $p; $lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"]; $pruefungstermin_id = $_REQUEST["termin_id"]; $pruefungstermin = new pruefungstermin($pruefungstermin_id); @@ -948,8 +949,46 @@ function alleBestaetigen($uid) $pranmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id); foreach($pranmeldungen as $a) { - $anmeldung = new pruefungsanmeldung(); - $anmeldung->changeState($a->pruefungsanmeldung_id, 'bestaetigt', $uid); + $anmeldung = new pruefungsanmeldung($a->pruefungsanmeldung_id); + if ($anmeldung->status_kurzbz == 'angemeldet') + { + if ($anmeldung->changeState($a->pruefungsanmeldung_id, 'bestaetigt', $uid)) + { + $anm = new pruefungsanmeldung($a->pruefungsanmeldung_id); + $termin = new pruefungstermin($anm->pruefungstermin_id); + $lv = new lehrveranstaltung($anm->lehrveranstaltung_id); + $ma = new mitarbeiter($uid); + $datum = new datum(); + $ort = new ort($termin->ort_kurzbz); + $pruefung = new pruefungCis($termin->pruefung_id); + + $to = $anm->uid."@".DOMAIN; + $from = "noreply@".DOMAIN; + $subject = $p->t('pruefung/emailSubjectAnmeldungBestaetigung'); + $html = $p->t('pruefung/emailBody1')." ".$ma->vorname." ".$ma->nachname." ".$p->t('pruefung/emailBody2')."
"; + $html .= "
"; + $html .= $p->t('pruefung/emailBodyPruefung')." ".$lv->bezeichnung."
"; + if($pruefung->einzeln) + { + $date = $datum->formatDatum($termin->von, "Y-m-d H:i:s"); + $date = strtotime($date); + $date = $date+(60*$pruefung->pruefungsintervall*($anmeldung->reihung-1)); + $von = date("H:i",$date); + $html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$von."
"; + $html .= $p->t('pruefung/emailBodyDauer')." ".$pruefung->pruefungsintervall." ".$p->t('pruefung/emailBodyMinuten')."
"; + } + else + $html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$datum->formatDatum($termin->von, "H:i")."
"; + $html .= $p->t('pruefung/anmeldungErfolgreich')." ".$ort->bezeichnung."
"; + $html .= "
"; + $html .= "".$p->t('pruefung/emailBodyLinkZurAnmeldung')."
"; + $html .= "
"; + + $mail = new mail($to, $from, $subject,$p->t('pruefung/emailBodyBitteHtmlSicht')); + $mail->setHTMLContent($html); + $mail->send(); + } + } } $data['result']=true; $data['error']='false'; From 85165db3dc2581e88f16177eb4c83de1c098a8d9 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 12 Jan 2017 14:37:17 +0100 Subject: [PATCH 69/74] =?UTF-8?q?Infrastruktur=20Check=20=C3=BCberarbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/functions.inc.php | 162 +++++++++++++++++++------------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/include/functions.inc.php b/include/functions.inc.php index fa98a8ece..fba41cedb 100755 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -21,7 +21,7 @@ */ require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/authentication.class.php'); -require_once(dirname(__FILE__).'/betriebsmittelperson.class.php'); +require_once(dirname(__FILE__).'/betriebsmittelperson.class.php'); // Auth: Benutzer des Webportals /** @@ -78,13 +78,13 @@ function check_uid($uid) { if(ctype_alnum($uid) && mb_strlen($uid)<=32) return true; - else + else return false; } function check_stsem($stsem) { - return preg_match('/^[WS][S][0-9]{4}$/', $stsem); + return preg_match('/^[WS][S][0-9]{4}$/', $stsem); } /** @@ -93,7 +93,7 @@ function check_stsem($stsem) */ function check_ort($ort_kurzbz) { - if(preg_match('/^[A-Za-z0-9_.\-]{0,16}$/', $ort_kurzbz)) + if(preg_match('/^[A-Za-z0-9_.\-]{0,16}$/', $ort_kurzbz)) return true; else return false; @@ -102,7 +102,7 @@ function check_ort($ort_kurzbz) function check_lektor($uid) { $db = new basis_db(); - + // uid von View 'Lektor' holen $sql_query="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$db->db_add_param($uid); //echo $sql_query; @@ -118,20 +118,20 @@ function check_lektor($uid) else return 0; } - else + else return 0; } function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensemester_kurzbz) { $db = new basis_db(); - + // uid von View 'Lektor' holen $sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit - WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND - lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." AND + WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND + lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); - + //echo $sql_query; if($db->db_query($sql_query)) { @@ -145,14 +145,14 @@ function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensem else return 0; } - else + else return 0; } function check_student($uid) { $db = new basis_db(); - + // uid von Tabelle 'Student' holen $sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid=".$db->db_add_param($uid); //echo $sql_query; @@ -168,7 +168,7 @@ function check_student($uid) else return 0; } - else + else return 0; } @@ -200,7 +200,7 @@ function montag($datum) } else { - + if($wt!=1) $datum-=86400*($wt-1); } @@ -247,7 +247,7 @@ function jump_week($datum, $wochen) function loadVariables($user) { $db = new basis_db(); - + $error_msg=''; $num_rows=0; $sql_query="SELECT * FROM public.tbl_variable WHERE uid=".$db->db_add_param($user); @@ -261,7 +261,7 @@ function loadVariables($user) global ${$row->name}; ${$row->name}=$row->wert; } - + if (!isset($semester_aktuell)) if(!$db->db_query('SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1')) $error_msg.=$db->db_last_error().'
'.$sql_query; @@ -292,19 +292,19 @@ function loadVariables($user) global $ignore_kollision; $ignore_kollision='false'; } - + if (!isset($kollision_student)) { global $kollision_student; $kollision_student='false'; } - + if (!isset($max_kollision)) { global $max_kollision; $max_kollision='0'; } - + if (!isset($ignore_zeitsperre)) { global $ignore_zeitsperre; @@ -322,7 +322,7 @@ function loadVariables($user) global $emailadressentrennzeichen; $emailadressentrennzeichen=','; } - + if(!isset($alle_unr_mitladen)) { global $alle_unr_mitladen; @@ -398,17 +398,17 @@ function checkalias($alias) } /** - * - * Gibt UID zur passenden Kartennummer zurück, false im Fehlerfall + * + * Gibt UID zur passenden Kartennummer zurück, false im Fehlerfall * @param $number */ function getUidFromCardNumber($number) { - $betriebsmittel = new betriebsmittelperson(); + $betriebsmittel = new betriebsmittelperson(); if($betriebsmittel->getKartenzuordnung($number)) - return $betriebsmittel->uid; + return $betriebsmittel->uid; else - return false; + return false; } @@ -434,20 +434,20 @@ function intersect($str1, $str2) $size = mb_strlen($str1); else $size = mb_strlen($str2); - + $intersect = null; - - for ($i=0; $i<$size; $i++) + + for ($i=0; $i<$size; $i++) { if (mb_substr($str1, $i, 1) == mb_substr($str2, $i, 1)) - $intersect.= mb_substr($str1, $i, 1); + $intersect.= mb_substr($str1, $i, 1); } - + return $intersect; } /** - * Konvertiert Problematische Sonderzeichen in Strings fuer + * Konvertiert Problematische Sonderzeichen in Strings fuer * Accountnamen und EMail-Aliase * * @param $str @@ -456,7 +456,7 @@ function intersect($str1, $str2) function convertProblemChars($str) { $enc = 'UTF-8'; - + $acentos = array( 'A' => '/À|Á|Â|Ã|Å/', 'Ae' => '/Ä/', @@ -485,7 +485,7 @@ function convertProblemChars($str) 'ss' => '/ß/' ); - return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc)); + return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc)); } //Ersetzt alle Problemzeichen in einem String bevor dieser als xml oder rdf ausgegeben wird @@ -505,7 +505,7 @@ function xmlclean($string) chr(014), //NP form feed, new page chr(016), //shift out chr(017), //shift in - + chr(020), //data link escape chr(021), //device control 1 chr(022), //device control 2 @@ -531,66 +531,66 @@ function xmlclean($string) * @param String der die Zeichenkette enthaelt die verkuertzt werden soll * @param Laenge des Strings der geliefert werden soll (inkl. der Laenge des Fortsetzungszeichen) * @return Daten Objekt wenn ok, false im Fehlerfall - */ + */ function StringCut($str='',$len=0,$checkWortumbruch=false,$fortsetzungszeichen='...') { // Plausib if (!is_numeric($len)) return $str; - + $len=intval($len); if ($len <1 ) return $str; - + if (is_null($checkWortumbruch) || empty($checkWortumbruch)) $checkWortumbruch=false; - - if (is_null($fortsetzungszeichen) || empty($fortsetzungszeichen) || $checkWortumbruch) + + if (is_null($fortsetzungszeichen) || empty($fortsetzungszeichen) || $checkWortumbruch) $fortsetzungszeichen=''; - // null oder Leerzeichen beim Fortsetzungszeichen entfernen + // null oder Leerzeichen beim Fortsetzungszeichen entfernen $fortsetzungszeichen=trim($fortsetzungszeichen); // Pruefen auf UTF-8 und Bearbeitungsfunktionen $utf8=check_utf8($str); - if (!function_exists('mb_strlen')) + if (!function_exists('mb_strlen')) $utf8=false; - if (!function_exists('mb_substr')) + if (!function_exists('mb_substr')) $utf8=false; - // ist der String nicht laenger als die gewuenschte Lange kann hier beendet werden + // ist der String nicht laenger als die gewuenschte Lange kann hier beendet werden if ($utf8) $vLen=mb_strlen($str); - else - $vLen=strlen($str); + else + $vLen=strlen($str); - // String ist nicht laenger als die gewuenschte leange - kpl.String retour senden + // String ist nicht laenger als die gewuenschte leange - kpl.String retour senden if ($len>=$vLen) return $str; - + if (!$checkWortumbruch) { if ($utf8) $vLen=$len-mb_strlen($fortsetzungszeichen,'utf-8'); - else - $vLen=$len- strlen($fortsetzungszeichen); + else + $vLen=$len- strlen($fortsetzungszeichen); // die Laenge vom Fortsetzungszeichen mit berucksichtigen if ($utf8) // Teilstring ermitteln, und Ergebnis zuruck geben return mb_substr($str,0,$vLen,'utf-8').$fortsetzungszeichen; else // Teilstring ermitteln, und Ergebnis zuruck geben return substr($str,0,$vLen).$fortsetzungszeichen; - } - - + } + + if ($utf8) // Teilstring ermitteln, und Ergebnis zuruck geben $vStr=mb_substr($str,0,$len,'utf-8'); else // Teilstring ermitteln, und Ergebnis zuruck geben $vStr=substr($str,0,$len); - + if ($utf8) $vLen=mb_strlen($vStr); - else - $vLen=strlen($vStr); - + else + $vLen=strlen($vStr); + // Suchen letztes Leerzeichen im String for ($i=$vLen;$i>0;$i--) { @@ -603,7 +603,7 @@ function StringCut($str='',$len=0,$checkWortumbruch=false,$fortsetzungszeichen=' { if (substr($vStr,$i,1)==' ' && $i>0) return $vStr=trim(substr($str,0,$i)); - } + } } return $vStr; } @@ -631,7 +631,7 @@ function check_utf8($str="") | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15 | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16 )*$/x",$cStr); - + return $stati; } @@ -646,29 +646,29 @@ function array_to_xml($rows,$root='root') { if (!count($rows)) return '<'.$root.' />'."\r\n"; - + $xml_string=''; $xml_string.='<'.$root.'>'."\r\n"; reset($rows); for ($i=0;$i'."\r\n"; - } + } elseif (is_numeric($tmp_key)) { $xml_string.=''."\r\n"; - } - } + } + } $xml_string.=''."\r\n"; - } + } $xml_string.=''."\r\n"; return $xml_string; } @@ -692,13 +692,13 @@ function array_to_rdf($rows,$root='root',$rdf_uri='rdf') reset($rows); for ($i=0;$i'."\r\n"; $rdf_string.='<'.strtoupper($rdf_uri).':Description id="'.$i.'" about="http://'.$rdf_server.'/liste'.$i.'">'."\r\n"; $row=$rows[$i]; reset($row); - while (list( $tmp_key, $tmp_value ) = each($row) ) + while (list( $tmp_key, $tmp_value ) = each($row) ) { if (!is_numeric($tmp_key)) { @@ -731,11 +731,11 @@ function isint( $mixed ) * @param $haystack * @return string */ -function mb_str_replace( $needle, $replacement, $haystack ) +function mb_str_replace( $needle, $replacement, $haystack ) { $needle_len = mb_strlen($needle); $pos = mb_strpos( $haystack, $needle); - while (!($pos ===false)) + while (!($pos ===false)) { $front = mb_substr( $haystack, 0, $pos ); $back = mb_substr( $haystack, $pos + $needle_len); @@ -746,10 +746,10 @@ function mb_str_replace( $needle, $replacement, $haystack ) } /** - * + * * Prueft ob es sich um einen gueltigen Filenamen handelt * Filenamen mit HTML-Tags oder sonstigem Schadcode sind nicht gueltig - * + * * @param string $filename * @return boolean true wenn gueltig, sonst false */ @@ -825,7 +825,7 @@ function check_user($username, $passwort) } } -function safe_b64encode($string) +function safe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); @@ -836,7 +836,7 @@ function safe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; - if ($mod4) + if ($mod4) { $data .= substr('====', $mod4); } @@ -875,7 +875,7 @@ function clearHtmlTags($text) { $newline=' '; - + $text=mb_str_replace('
','\n',$text); $text=mb_str_replace('
','\n',$text); $text=mb_str_replace('
','\n',$text); @@ -886,10 +886,10 @@ function clearHtmlTags($text) $text=mb_str_replace('','',$text); $text=mb_str_replace('
  • ',$newline.' - ',$text); $text=mb_str_replace('
  • ','',$text); - + $text=mb_str_replace('','',$text); $text=mb_str_replace('db_add_param($uid); + $sql_query="SELECT 1 FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz = 'oezuordnung' and oe_kurzbz in ('Infrastruktur', 'Systementwicklung', 'ServiceDesk', 'Empfang', 'Haustechnik', 'ITService', 'LVPlanung','ITBereich') and (datum_bis > now() or datum_bis is NULL) and uid=".$db->db_add_param($uid); //echo $sql_query; if($db->db_query($sql_query)) { @@ -962,7 +962,7 @@ function check_infrastruktur($uid) else return 0; } - else + else return 0; } ?> From 515380baa3dc71232af9c329355a275f805eedd3 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 12 Jan 2017 15:34:28 +0100 Subject: [PATCH 70/74] =?UTF-8?q?vorlage=5Fkurzbz=20auf=2032=20Zeichen=20v?= =?UTF-8?q?erl=C3=A4ngert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/dbupdate_3.2.php | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/system/dbupdate_3.2.php b/system/dbupdate_3.2.php index cc9612dde..4cf0c8845 100755 --- a/system/dbupdate_3.2.php +++ b/system/dbupdate_3.2.php @@ -1394,7 +1394,7 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM testtool.tbl_ echo 'testtool.tbl_gebiet '.$db->db_last_error().'
    '; else echo 'testtool.tbl_gebiet: Spalte bezeichnung_mehrsprachig hinzugefuegt!
    '; - + // Bezeichnung_mehrsprachig aus existierender Bezeichnung vorausfuellen. Ein Eintrag fuer jede Sprache mit Content aktiv. $qry_help = "SELECT count(*) FROM public.tbl_sprache WHERE content=TRUE;"; if(!$result = $db->db_query($qry_help)) @@ -1412,7 +1412,7 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM testtool.tbl_ //Komma am Ende entfernen $bezeichnungen = mb_substr($bezeichnungen,0,-1); $qry = "UPDATE testtool.tbl_gebiet set bezeichnung_mehrsprachig = cast('{".$bezeichnungen."}' as varchar[]);"; - + if(!$db->db_query($qry)) echo 'Setzen der bezeichnung_mehrsprachig fehlgeschlagen: '.$db->db_last_error().'
    '; else @@ -1456,7 +1456,23 @@ if ($result = @$db->db_query("SELECT php FROM public.tbl_statistik LIMIT 1;")) echo ' public.tbl_statistik: Spalte php entfernt.
    '; } - +// vorlage_kurzbz von 16 auf 32 Zeichen +if($result = $db->db_query("SELECT character_maximum_length FROM information_schema.columns WHERE column_name='vorlage_kurzbz' AND table_name='tbl_vorlage' AND table_schema='public';")) +{ + if($row = $db->db_fetch_object($result)) + { + if($row->character_maximum_length==16) + { + $qry = "ALTER TABLE public.tbl_vorlage ALTER COLUMN vorlage_kurzbz TYPE varchar(32); + ALTER TABLE public.tbl_vorlagestudiengang ALTER COLUMN vorlage_kurzbz TYPE varchar(32); + "; + if(!$db->db_query($qry)) + echo 'public.tbl_vorlage: '.$db->db_last_error().'
    '; + else + echo 'public.tbl_vorlage: Spalte vorlage_kurzbz auf 32 Zeichen verlaengert
    '; + } + } +} // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

    Pruefe Tabellen und Attribute!

    '; From f671ceeb8ec219b8e14116dd555718ea1c5e8de6 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 12 Jan 2017 15:35:08 +0100 Subject: [PATCH 71/74] =?UTF-8?q?Neue=20Funktion=20hinzugef=C3=BCgt=20um?= =?UTF-8?q?=20zu=20Pr=C3=BCfen=20ob=20eine=20Lehrveranstaltung=20aufgrund?= =?UTF-8?q?=20Lehrauftrag=20und=20Studienplan=20angeboten=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/lehrveranstaltung.class.php | 49 +++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 2d80db09a..1af1bed75 100755 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -1287,8 +1287,8 @@ class lehrveranstaltung extends basis_db $tree = array(); foreach ($this->lehrveranstaltungen as $row) { - if ($row->studienplan_lehrveranstaltung_id_parent == '' - || (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN") + if ($row->studienplan_lehrveranstaltung_id_parent == '' + || (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN") && CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN)) { $tree[$row->studienplan_lehrveranstaltung_id] = $row; @@ -2572,5 +2572,50 @@ class lehrveranstaltung extends basis_db return false; } } + + /** + * Prueft ob eine Lehrveranstaltung im gewaehlten Studiensemester angeboten wird. + * Dazu wird geprueft ob die LV einem aktuellen Studienplan zugeordnet ist, und ob ein Lehrauftrag vorhanden ist. + * + * @param $lehrveranstaltung_id ID der Lehrveranstaltung. + * @param $studiensemester_kurzbz Kurzbz des Studiensemesters. + * @return boolean true wenn angeboten, false wenn nicht angeboten + */ + public function isOffered($lehrveranstaltung_id, $studiensemester_kurzbz) + { + $qry = "SELECT + * + FROM + lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)." + AND studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)." + AND EXISTS ( + SELECT + * + FROM + lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan_semester USING(studienplan_id) + WHERE + lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)." + AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." + )"; + + if($result = $this->db_query($qry)) + { + if($row = $this->db_num_rows($result)>0) + { + return true; + } + else + { + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } ?> From fcb657307a8e868e5156a4dc0ae81d511ed01da3 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 16 Jan 2017 14:22:16 +0100 Subject: [PATCH 72/74] =?UTF-8?q?Studienordnung=20im=20Vilesci=20z=C3=A4hl?= =?UTF-8?q?t=20nur=20noch=20die=20ECTS=20der=201.=20Ebene=20zusammen.=20EC?= =?UTF-8?q?TS=20der=20LVs=20unterhalb=20von=20Modulen=20werden=20bei=20der?= =?UTF-8?q?=20Summe=20nicht=20mehr=20ber=C3=BCcksichtigt=20da=20sonst=20fa?= =?UTF-8?q?lsche=20Summen=20gebildet=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/lehre/studienordnung.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/vilesci/lehre/studienordnung.js b/vilesci/lehre/studienordnung.js index 879af29af..c9d7e199e 100755 --- a/vilesci/lehre/studienordnung.js +++ b/vilesci/lehre/studienordnung.js @@ -1407,16 +1407,18 @@ function writeEctsSum(parent) } if($(parent).attr("rel") === "semester") { - var cells = $(parent).find(".jstree-grid-col-1"); + var cells = $(parent).children("ul").children(); + var sum = 0; - for(var j=1; j"; + + $(parent).children()[2].innerHTML = ""+sum+""; } } @@ -1427,14 +1429,14 @@ function writeOverallSum(root) { if(!$('#stplDetails').length) $("#treeData").append('
    '); - var cells = $(root).find(".jstree-grid-col-1"); + var cells = $(root).children("ul").children(); var sum = 0; for(var i=0; i"+sum+""); From dcf522aacc656f674eba6cf0b4d0c7ee9fd968ca Mon Sep 17 00:00:00 2001 From: Gerry Raab Date: Tue, 17 Jan 2017 00:17:15 +0100 Subject: [PATCH 73/74] =?UTF-8?q?L=C3=A4nge=20der=20angezeigten=20LV-Bezei?= =?UTF-8?q?chnungen=20im=20CIS-Menue=20konfigurierbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cms/menu/menu_addon_lehrveranstaltungen.inc.php | 9 +++++++-- cms/menu/menu_addon_meinelv.inc.php | 8 ++++++-- config/cis.config-default.inc.php | 4 +++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/cms/menu/menu_addon_lehrveranstaltungen.inc.php b/cms/menu/menu_addon_lehrveranstaltungen.inc.php index 9100f6a2b..42a514302 100755 --- a/cms/menu/menu_addon_lehrveranstaltungen.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen.inc.php @@ -30,6 +30,7 @@ * - studiengang_kurzbz_hi 3-stelliges Studiengangskuerzel grossgeschrieben */ require_once(dirname(__FILE__).'/menu_addon.class.php'); +require_once(dirname(__FILE__).'/../../config/cis.config.inc.php'); require_once(dirname(__FILE__).'/../../include/studiengang.class.php'); require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php'); require_once(dirname(__FILE__).'/../../include/organisationsform.class.php'); @@ -58,6 +59,10 @@ class menu_addon_lehrveranstaltungen extends menu_addon $p = new phrasen($sprache); + if (defined("CIS_LVMENUE_CUTLENGTH")) + $cutlength = CIS_LVMENUE_CUTLENGTH; + else + $cutlength = 21; $this->block.='