From 24dff3fc17b0a5eed2ac0be31153f870731b251e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 27 Aug 2014 12:49:42 +0000 Subject: [PATCH] =?UTF-8?q?Neues=20Men=C3=BC=20Addon=20als=20alternative?= =?UTF-8?q?=20zu=20"Meine=20LVs"=20um=20stattdessen=20das=20Lehrfach=20anz?= =?UTF-8?q?uzeigen.=20=C3=9Cber=20Config-Eintstellungen=20kann=20nun=20kon?= =?UTF-8?q?figuriert=20werden,=20dass=20bei=20der=20Lehrveranstaltung=20zu?= =?UTF-8?q?s=C3=A4tzlich=20das=20Lehrfach=20angezeigt=20wird=20zu=20dem=20?= =?UTF-8?q?der=20User=20zugeteilt=20ist.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/lesson.php | 83 +++++-- cms/menu/menu_addon.class.php | 45 +++- cms/menu/menu_addon_meinelehrfaecher.inc.php | 223 ++++++++++++++++++ config/global.config-default.inc.php | 1 + system/FH-Complete.txp | 59 ++++- system/xsl/Accountinfoblatt_KTU.xsl | 233 +++++++++++++++++++ 6 files changed, 614 insertions(+), 30 deletions(-) create mode 100644 cms/menu/menu_addon_meinelehrfaecher.inc.php create mode 100644 system/xsl/Accountinfoblatt_KTU.xsl diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php index 787fe3b26..9b2d03695 100644 --- a/cis/private/lehre/lesson.php +++ b/cis/private/lehre/lesson.php @@ -58,6 +58,11 @@ $lv_obj = new lehrveranstaltung(); $lv_obj->load($lvid); $lv=$lv_obj; +if(isset($_GET['studiensemester_kurzbz'])) + $studiensemester_kurzbz=$_GET['studiensemester_kurzbz']; +else + $studiensemester_kurzbz=''; + $studiengang_kz = $lv->studiengang_kz; $semester = $lv->semester; $short = $lv->lehreverzeichnis; @@ -135,19 +140,71 @@ if (isset($_GET["handbuch"])){  

- bezeichnung_arr[$sprache].' '.$lv_obj->lehrform_kurzbz; + studiengang_kz==0) + $angezeigtes_stsem = $stsem->getNearest(); + else + $angezeigtes_stsem = $stsem->getNearest($semester); + } + + if(defined('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN) + { + // Wenn der eingeloggte User zu einer der Lehreinheiten zugeteilt ist + // wird zusätzlich das Lehrfach der Lehreinheit angezeigt. + if($is_lector) + { + $qry = "SELECT + distinct lehrfach_id + FROM + lehre.tbl_lehreinheit + JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) + WHERE + studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem)." + AND mitarbeiter_uid=".$db->db_add_param($user); + } + else + { + $qry = "SELECT distinct lehrfach_id + FROM + campus.vw_student_lehrveranstaltung + WHERE + lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." + AND studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem)." + AND uid=".$db->db_add_param($user); + } + + if($result = $db->db_query($qry)) + { + // Wenn die LV mehrere verschiedenen Lehrfaecher hat, und der User zu mehreren davon zugeteilt ist + // wird das Lehrfach nicht angezeigt damit es nicht zu verwirrungen kommt. + if($db->db_num_rows($result)==1) + { + if($row = $db->db_fetch_object($result)) + { + $lehrfach = new lehrveranstaltung(); + $lehrfach->load($row->lehrfach_id); + + echo $lehrfach->bezeichnung_arr[$sprache].' - '.$lv_obj->bezeichnung_arr[$sprache]; + } + } + else + echo $lv_obj->bezeichnung_arr[$sprache]; + } + } + else + echo $lv_obj->bezeichnung_arr[$sprache]; + + echo ' '.$lv_obj->lehrform_kurzbz; if(!defined('CIS_LEHRVERANSTALTUNG_SEMESTERINFO_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_SEMESTERINFO_ANZEIGEN) echo ' / '.$kurzbz.'-'.$semester.' '.$lv_obj->orgform_kurzbz; - $qry = "SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) - WHERE lehrveranstaltung_id='".addslashes($lvid)."' ORDER BY ende DESC LIMIT 1"; - $stsem = new studiensemester(); - if($lv->studiengang_kz==0) - $angezeigtes_stsem = $stsem->getNearest(); - else - $angezeigtes_stsem = $stsem->getNearest($semester); + echo " ($angezeigtes_stsem)"; echo '

@@ -163,10 +220,10 @@ if (isset($_GET["handbuch"])){ tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND tbl_person.person_id=tbl_benutzer.person_id AND - lehrveranstaltung_id='".addslashes($lvid)."' AND + lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND tbl_benutzer.aktiv=true AND tbl_person.aktiv=true AND - studiensemester_kurzbz='".addslashes($angezeigtes_stsem)."' + studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem)." ORDER BY uid, lvleiter desc) as a ORDER BY lvleiter desc, nachname, vorname"; if(!$result = $db->db_query($qry)) @@ -209,10 +266,10 @@ if (isset($_GET["handbuch"])){ JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) - WHERE tbl_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."'"; + WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER); if(isset($angezeigtes_stsem) && $angezeigtes_stsem!='') - $qry .= " AND studiensemester_kurzbz='".addslashes($angezeigtes_stsem)."'"; + $qry .= " AND studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem); if($result = $db->db_query($qry)) { diff --git a/cms/menu/menu_addon.class.php b/cms/menu/menu_addon.class.php index 23a5a353b..3e4b65eb5 100755 --- a/cms/menu/menu_addon.class.php +++ b/cms/menu/menu_addon.class.php @@ -105,18 +105,47 @@ class menu_addon extends basis_db if(count($this->items)>0) { - echo ''; } } + private function outputItems1($item, $child=false) + { + $menu=false; + foreach($item as $row) + { + if(isset($row['childs'])) + $menu=true; + } + if($menu || $child) + echo '