diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php index f93805b6a..883be7944 100644 --- a/cis/private/lehre/lesson.php +++ b/cis/private/lehre/lesson.php @@ -131,7 +131,7 @@ if (isset($_GET["handbuch"])){     bezeichnung.' '.$lv_obj->lehrform_kurzbz.' / '.$kurzbz.'-'.$semester; + echo $lv_obj->bezeichnung_arr[$sprache].' '.$lv_obj->lehrform_kurzbz.' / '.$kurzbz.'-'.$semester; $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"; diff --git a/cms/menu.inc.php b/cms/menu.inc.php index 3fa641a7e..d708e6c9d 100755 --- a/cms/menu.inc.php +++ b/cms/menu.inc.php @@ -44,66 +44,51 @@ function drawSubmenu($content_id) $content = new content(); $sprache = getSprache(); - $arr = $content->getMenueArray($content_id, $sprache, true); - foreach ($arr as $row) + //$arr = $content->getMenueArray($content_id, $sprache, true); + $content->getChilds($content_id); + foreach ($content->result as $row) { - drawEntry($row); + drawEntry($row, $sprache); } } -/** - * Prueft ob der Menueeintrag Submenues hat - * - * @param $item Menue Array - * @return boolean - */ -function EntryHasChilds($item) -{ - foreach($item as $row) - { - if(is_array($row) && isset($row['name'])) - return true; - } - - return false; -} - /** * Zeichnet den Menueeintrag samt Untermenues * @param $item Menue Array */ -function drawEntry($item) +function drawEntry($item, $sprache) { $content = new content(); //pruefen ob der Content eine Berechtigung erfordert - if($content->islocked($item['content_id'])) + if($content->islocked($item->content_id)) { $user = get_uid(); //wenn der User nicht berechtigt ist, dann wird der Eintrag nicht angezeigt - if(!$content->berechtigt($item['content_id'], $user)) + if(!$content->berechtigt($item->content_id, $user)) return; } - if(EntryHasChilds($item)) + $content = new content(); + $content->getContent($item->child_content_id, $sprache, null, true, true); + if($content->hasChilds($content->content_id)) { echo '   '; - if($item['template']=='include') - IncludeMenuAddon($item['content_id']); - elseif($item['template']=='redirect') - Redirect($item['content_id'], $item['name'], $item['content_id']); + if($content->template_kurzbz=='include') + IncludeMenuAddon($content); + elseif($content->template_kurzbz=='redirect') + Redirect($content, $content->content_id); else - DrawLink($item['link'], 'content', $item['name'], $item['content_id']); + DrawLink(APP_ROOT.'cms/content.php?content_id='.$content->content_id,'content',$content->titel, $content->content_id); echo ' - '; - foreach($item as $row) +
'; + + $content->getChilds($content->content_id); + foreach($content->result as $row) { - if(is_array($row) && isset($row['name'])) - { - drawEntry($row); - } + drawEntry($row, $sprache); } echo '
@@ -116,12 +101,12 @@ function drawEntry($item)   '; - if($item['template']=='include') - IncludeMenuAddon($item['content_id']); - elseif($item['template']=='redirect') - Redirect($item['content_id'], $item['name']); + if($content->template_kurzbz=='include') + IncludeMenuAddon($content); + elseif($content->template_kurzbz=='redirect') + Redirect($content); else - DrawLink($item['link'],'content',$item['name']); + DrawLink(APP_ROOT.'cms/content.php?content_id='.$content->content_id,'content',$content->titel); echo ' @@ -147,7 +132,7 @@ function DrawLink($link, $target, $name, $content_id=null) $class='class="Item"'; echo 'menu item '.$name.''; - + } /** @@ -159,13 +144,10 @@ function DrawLink($link, $target, $name, $content_id=null) * @param $name Anzeigename des Links * @param $content_id_Submenu ID des Submenues das geoeffnet werden soll (optional) */ -function Redirect($content_id, $name, $content_id_Submenu=null) +function Redirect($content, $content_id_Submenu=null) { global $sprache, $params; - - $content = new content(); - $content->getContent($content_id, $sprache, null, true, true); - + $xml = new DOMDocument(); if($content->content!='') { @@ -188,7 +170,7 @@ function Redirect($content_id, $name, $content_id_Submenu=null) else $target=''; - DrawLink($url, $target, $name, $content_id_Submenu); + DrawLink($url, $target, $content->titel, $content_id_Submenu); } /** @@ -197,11 +179,9 @@ function Redirect($content_id, $name, $content_id_Submenu=null) * * @param $content_id */ -function IncludeMenuAddon($content_id) +function IncludeMenuAddon($content) { global $sprache, $includeparams; - $content = new content(); - $content->getContent($content_id, $sprache, null, true, true); $xml = new DOMDocument(); if($content->content!='') diff --git a/cms/menu/menu_addon_freifaecher.inc.php b/cms/menu/menu_addon_freifaecher.inc.php index ded28e433..691b44a72 100755 --- a/cms/menu/menu_addon_freifaecher.inc.php +++ b/cms/menu/menu_addon_freifaecher.inc.php @@ -42,10 +42,10 @@ class menu_addon_freifaecher extends menu_addon foreach($lv_obj->lehrveranstaltungen AS $row) { - $this->items[] = array('title'=>$row->bezeichnung, + $this->items[] = array('title'=>$row->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id, - 'name'=>'aktiv?' style="color:gray;" ':' style=" font-weight: bold;"').'>'.$this->CutString($row->bezeichnung, 21).'' + 'name'=>'aktiv?' style="color:gray;" ':' style=" font-weight: bold;"').'>'.$this->CutString($row->bezeichnung_arr[$sprache], 21).'' ); } diff --git a/cms/menu/menu_addon_lehrveranstaltungen.inc.php b/cms/menu/menu_addon_lehrveranstaltungen.inc.php index 5c9474b69..b6730b20c 100755 --- a/cms/menu/menu_addon_lehrveranstaltungen.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen.inc.php @@ -180,7 +180,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon } $this->block.= ''; $this->block.= ' '; $this->block.= ''; } diff --git a/include/content.class.php b/include/content.class.php index 96c49fed2..80f7ddf21 100644 --- a/include/content.class.php +++ b/include/content.class.php @@ -485,6 +485,37 @@ class content extends basis_db /************ Menue / Childnodes *****************/ + /** + * Prueft ob der Content Kindelemente hat + * + * @param $content_id + */ + public function hasChilds($content_id) + { + $qry = "SELECT count(*) as anzahl FROM campus.tbl_contentchild WHERE content_id='".addslashes($content_id)."'"; + + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + if($row->anzahl>0) + return true; + else + return false; + } + else + { + $this->errormsg = 'Fehler beim Laden von Daten'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden von Daten'; + return false; + } + } + /** * Liefert die Alle Childcontents des uebergebenen Contents als Array zurueck. * Dieses kann zB direkt in das Vilesci Menue integriert werden diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index f3ab9b852..6e70b0cac 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -59,6 +59,7 @@ class lehrveranstaltung extends basis_db public $koordinator; // varchar(16) public $bezeichnung_english; // varchar(256) public $orgform_kurzbz; + public $bezeichnung_arr = array(); /** * Konstruktor @@ -123,6 +124,9 @@ class lehrveranstaltung extends basis_db $this->koordinator=$row->koordinator; $this->bezeichnung_english = $row->bezeichnung_english; $this->orgform_kurzbz = $row->orgform_kurzbz; + + $this->bezeichnung_arr['German']=$this->bezeichnung; + $this->bezeichnung_arr['English']=$this->bezeichnung_english; } return true; @@ -176,6 +180,9 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; + $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; + $this->lehrveranstaltungen[] = $lv_obj; } @@ -283,6 +290,9 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; + $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; + $this->lehrveranstaltungen[] = $lv_obj; } @@ -393,7 +403,10 @@ class lehrveranstaltung extends basis_db $lv_obj->koordinator=$row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; - + + $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; + $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; + $lv_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->lehrveranstaltungen[] = $lv_obj; @@ -454,6 +467,9 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; + $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; + $this->lehrveranstaltungen[] = $lv_obj; } @@ -730,6 +746,9 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; + $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; + $this->lehrveranstaltungen[] = $lv_obj; } return true; @@ -807,6 +826,9 @@ class lehrveranstaltung extends basis_db $l->bezeichnung_english = $row->bezeichnung_english; $l->orgform_kurzbz = $row->orgform_kurzbz; + $l->bezeichnung_arr['German']=$row->bezeichnung; + $l->bezeichnung_arr['English']=$row->bezeichnung_english; + $this->lehrveranstaltungen[]=$l; } } @@ -873,6 +895,9 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; + $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; + $this->lehrveranstaltungen[] = $lv_obj; } diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 2fa14d61d..ce1f45b97 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -60,6 +60,7 @@ class studiengang extends basis_db public $lgartcode; //integer public $mischform; // boolean public $projektarbeit_note_anzeige; // boolean + public $bezeichnung_arr = array(); /** * Konstruktor @@ -130,6 +131,9 @@ class studiengang extends basis_db $this->moodle=($row->moodle=='t'?true:false); $this->mischform=($row->mischform=='t'?true:false); $this->projektarbeit_note_anzeige=($row->projektarbeit_note_anzeige=='t'?true:false); + + $this->bezeichnung_arr['German']=$this->bezeichnung; + $this->bezeichnung_arr['English']=$this->english; } } else @@ -199,6 +203,8 @@ class studiengang extends basis_db $stg_obj->mischform=($row->mischform=='t'?true:false); $stg_obj->projektarbeit_note_anzeige=($row->projektarbeit_note_anzeige=='t'?true:false); + $stg_obj->bezeichnung_arr['German']=$row->bezeichnung; + $stg_obj->bezeichnung_arr['English']=$row->english; $this->result[] = $stg_obj; $this->kuerzel_arr[$row->studiengang_kz]=$stg_obj->kuerzel; } @@ -270,6 +276,9 @@ class studiengang extends basis_db $stg_obj->mischform=($row->mischform=='t'?true:false); $stg_obj->projektarbeit_note_anzeige=($row->projektarbeit_note_anzeige=='t'?true:false); + $stg_obj->bezeichnung_arr['German']=$row->bezeichnung; + $stg_obj->bezeichnung_arr['English']=$row->english; + $this->result[] = $stg_obj; $this->kuerzel_arr[$row->studiengang_kz]=$stg_obj->kuerzel; } @@ -527,7 +536,9 @@ class studiengang extends basis_db $this->moodle=($row->moodle=='t'?true:false); $this->mischform=($row->mischform=='t'?true:false); $this->projektarbeit_note_anzeige=($row->projektarbeit_note_anzeige=='t'?true:false); - + + $this->bezeichnung_arr['German']=$this->bezeichnung; + $this->bezeichnung_arr['English']=$this->english; return true; } }