From 54a94aa6cb28f1b9f9123f57438441c879bfda15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 19 Dec 2018 08:06:05 +0100 Subject: [PATCH] =?UTF-8?q?Neuen=20CIS-Config=20Eintrag=20LVPLAN=5FLOAD=5F?= =?UTF-8?q?UEBER=5FSEMESTERHAELFTE=20hinzugef=C3=BCgt=20Wenn=20der=20Confi?= =?UTF-8?q?g=20Eintrag=20auf=20true=20gesetzt=20wird,=20werden=20die=20Ter?= =?UTF-8?q?mine=20des=20Vorsemesters=20auch=20nach=20der=20Semesterh=C3=A4?= =?UTF-8?q?lfte=20im=20Stundenplan=20angezeigt=20um=20sp=C3=A4te=20Nachpr?= =?UTF-8?q?=C3=BCfungstermine=20sichtbar=20zu=20machen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Special Thanks to Klaus und Ronald für die laufende Genialisierung von FHComplete --- config/cis.config-default.inc.php | 5 +++ include/lehrstunde.class.php | 70 ++++++++++++++++++++++++------- 2 files changed, 59 insertions(+), 16 deletions(-) diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php index 835be5d80..7fef375ab 100644 --- a/config/cis.config-default.inc.php +++ b/config/cis.config-default.inc.php @@ -146,6 +146,11 @@ define('LVPLAN_KATEGORIE', 'StundenplanTW'); // Key zum Verschluesseln des LV-Plan Google Links define('LVPLAN_CYPHER_KEY',pack('H*', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')); +// Gibt an ob Termine aus dem Vorsemester nach der Semesterhaelfte des Folgesemesters +// noch im pers. LVPan aufscheinen. +// true | false +define('LVPLAN_LOAD_UEBER_SEMESTERHAELFTE', false); + // Default Stylesheet define('DEFAULT_STYLE','tw'); // Layout Wechsel im CIS moeglich? diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index 9495c3b9b..5ed27674e 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -302,6 +302,10 @@ class lehrstunde extends basis_db // Personendaten if ($type=='student') { + if(defined('LVPLAN_LOAD_UEBER_SEMESTERHAELFTE') && LVPLAN_LOAD_UEBER_SEMESTERHAELFTE === true) + $lvplan_load_ueber_semesterhaelfte = true; + else + $lvplan_load_ueber_semesterhaelfte = false; // Bei Studierenden wird das passende Studiensemester ermittelt und das dazupassende // naechstliegende Dadurch wird sichergestellt, dass Einheiten aus den Vorsemestern // zB fuer Nachpruefungen oder Einheiten aus den Folgesemestern die vorgezogen werden @@ -310,16 +314,34 @@ class lehrstunde extends basis_db { $studiensemester_obj = new studiensemester(); $this->ss = $studiensemester_obj->getSemesterFromDatum($datum_von,true); - $this->ssnext = $studiensemester_obj->getNearestTo($this->ss,$datum_von); + + if($lvplan_load_ueber_semesterhaelfte) + { + $this->ssnext = $studiensemester_obj->getNextFrom($this->ss); + $this->ssprev = $studiensemester_obj->getPreviousFrom($this->ss); + } + else + $this->ssnext = $studiensemester_obj->getNearestTo($this->ss,$datum_von); } if(!isset($this->ssnext)) $this->ssnext = $this->ss; - // Lehrverbandszuordnungen der betreffenden Studiensemester laden - $sql_query="SELECT studiengang_kz, semester, verband, gruppe - FROM public.tbl_studentlehrverband - WHERE student_uid=".$this->db_add_param($uid)." - AND studiensemester_kurzbz in(".$this->db_add_param($this->ss).",".$this->db_add_param($this->ssnext).")"; + if($lvplan_load_ueber_semesterhaelfte) + { + $sql_query="SELECT studiengang_kz, semester, verband, gruppe + FROM public.tbl_studentlehrverband + WHERE student_uid=".$this->db_add_param($uid)." + AND studiensemester_kurzbz in(".$this->db_add_param($this->ss).",".$this->db_add_param($this->ssnext).",".$this->db_add_param($this->ssprev).") + order by semester desc limit 2"; + } + else + { + // Lehrverbandszuordnungen der betreffenden Studiensemester laden + $sql_query="SELECT studiengang_kz, semester, verband, gruppe + FROM public.tbl_studentlehrverband + WHERE student_uid=".$this->db_add_param($uid)." + AND studiensemester_kurzbz in(".$this->db_add_param($this->ss).",".$this->db_add_param($this->ssnext).")"; + } $verbaende=array(); if($this->db_query($sql_query)) @@ -342,15 +364,31 @@ class lehrstunde extends basis_db return -2; } // Spezialgruppen ermitteln zu denen die Person zugeteilt ist - $sql_query="SELECT - gruppe_kurzbz - FROM - public.tbl_benutzergruppe - WHERE - uid=".$this->db_add_param($uid)." - AND (studiensemester_kurzbz=".$this->db_add_param($this->ss)." - OR studiensemester_kurzbz=".$this->db_add_param($this->ssnext)." - OR studiensemester_kurzbz IS NULL)"; + if($lvplan_load_ueber_semesterhaelfte) + { + $sql_query="SELECT + gruppe_kurzbz + FROM + public.tbl_benutzergruppe + WHERE + uid=".$this->db_add_param($uid)." + AND (studiensemester_kurzbz=".$this->db_add_param($this->ss)." + OR studiensemester_kurzbz=".$this->db_add_param($this->ssnext)." + OR studiensemester_kurzbz=".$this->db_add_param($this->ssprev)." + OR studiensemester_kurzbz IS NULL)"; + } + else + { + $sql_query="SELECT + gruppe_kurzbz + FROM + public.tbl_benutzergruppe + WHERE + uid=".$this->db_add_param($uid)." + AND (studiensemester_kurzbz=".$this->db_add_param($this->ss)." + OR studiensemester_kurzbz=".$this->db_add_param($this->ssnext)." + OR studiensemester_kurzbz IS NULL)"; + } if (!$result_einheit=$this->db_query($sql_query)) { @@ -381,7 +419,7 @@ class lehrstunde extends basis_db AND (studiensemester_kurzbz=".$this->db_add_param($this->ss)." OR studiensemester_kurzbz=".$this->db_add_param($this->ssnext)." OR studiensemester_kurzbz IS NULL)"; - + if (!$result_einheit=$this->db_query($sql_query)) { $this->errormsg=$this->db_last_error($this->conn);