diff --git a/cms/menu/menu_addon_meinelv.inc.php b/cms/menu/menu_addon_meinelv.inc.php index 590919149..a81bdb733 100755 --- a/cms/menu/menu_addon_meinelv.inc.php +++ b/cms/menu/menu_addon_meinelv.inc.php @@ -19,7 +19,7 @@ */ /** * Menue Addon zur Anzeige der zugeordneten LVs - * + * * Zeigt eine Liste mit den LVs zu denen der Lektor oder Student zugeordnet ist. */ require_once(dirname(__FILE__).'/menu_addon.class.php'); @@ -34,15 +34,15 @@ class menu_addon_meinelv extends menu_addon public function __construct() { parent::__construct(); - + $sprache = getSprache(); $user = get_uid(); - + $is_lector=check_lektor($user); - + $p = new phrasen($sprache); $cutlength=21; - + //Meine LVs Student if(!$is_lector) { @@ -51,10 +51,19 @@ class menu_addon_meinelv extends menu_addon if ($stsemobj = new studiensemester()) { - $stsem = $stsemobj->getNearest(); - $qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre, - lehreverzeichnis from campus.vw_student_lehrveranstaltung - WHERE uid='".addslashes($user)."' AND studiensemester_kurzbz='".addslashes($stsem)."' + $stsem_arr=array(); + if(!$stsemobj->getakt()) + { + $stsem_arr[]=$stsemobj->getNearest(); + $stsem_arr[]=$stsemobj->getNearestFrom($stsem_arr[0]); + } + else + { + $stsem_arr[] = $stsemobj->getNearest(); + } + $qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre, + lehreverzeichnis from campus.vw_student_lehrveranstaltung + WHERE uid=".$this->db_add_param($user)." AND studiensemester_kurzbz in(".$this->db_implode4SQL($stsem_arr).") AND lehre=true AND lehreverzeichnis<>'' ORDER BY studiengang_kz, semester, bezeichnung"; if($result = $this->db_query($qry)) { @@ -87,21 +96,30 @@ class menu_addon_meinelv extends menu_addon else { echo "Fehler Semester beim Auslesen der LV"; - } + } } - + //Eigenen LV des eingeloggten Lektors anzeigen if($is_lector) { if ($stsemobj = new studiensemester()) { - $stsem = $stsemobj->getNearest(); + $stsem_arr=array(); + if(!$stsemobj->getakt()) + { + $stsem_arr[]=$stsemobj->getNearest(); + $stsem_arr[]=$stsemobj->getNearestFrom($stsem_arr[0]); + } + else + { + $stsem_arr[] = $stsemobj->getNearest(); + } $qry = "SELECT distinct bezeichnung, studiengang_kz, semester, lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - mitarbeiter_uid='".addslashes($user)."' AND tbl_lehreinheit.studiensemester_kurzbz='".addslashes($stsem)."' + mitarbeiter_uid=".$this->db_add_param($user)." AND tbl_lehreinheit.studiensemester_kurzbz in(".$this->db_implode4SQL($stsem_arr).") ORDER BY studiengang_kz, semester, bezeichnung"; - + if($result = $this->db_query($qry)) { $this->items[] = array('title'=>$p->t("lvaliste/titel"), @@ -121,19 +139,19 @@ class menu_addon_meinelv extends menu_addon 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id, 'name'=>'FF '.$this->CutString($row->lehreverzeichnis, $cutlength) ); - } + } else { $stg_obj = new studiengang(); $stg_obj->load($row->studiengang_kz); $kurzbz = $stg_obj->kuerzel.'-'.$row->semester.' '.$row->orgform_kurzbz; - + $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id, 'name'=>$kurzbz.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength) ); - } + } } } else @@ -146,7 +164,7 @@ class menu_addon_meinelv extends menu_addon } $this->output(); } - + private function CutString($strVal, $limit) { if(mb_strlen($strVal) > $limit+3)