cl_api->CMS_HOST_HASH}_auth_uadmin"]}"; $cache = $this->cl_api->cache->read($cache_hash); if(!empty($cache['timestamp'])) { return $cache['content']; } /** Verbleibende Variablen deklarieren */ global $cms_ex_addsites, $cms_ex_trenner, $cms_ebene3; $cms_ex_addsites = isset($cms_ex_addsites) ? (int)$cms_ex_addsites : 0; $cms_ex_trenner = $cms_ex_trenner ?? ''; /** Interner Konfigurationsabschnitt */ $MY_BASENAME = MY_BASENAME; $thisfolderimg = ''; $imagefolder = 'images/jsmenu/'; /** Abzufragende Felder defineren */ if($language !== 'en') { $fields_ex = ' sid,stitel '; $fields_haupt = ' hid,hname,hsecure '; $fields_sub = ' sid,stitel,sopenwindow '; $fields_sub2 = ' s2id,s2titel,s2openwindow '; $addlang = ''; } else { $fields_ex = ' sid,stitel,stitel_en '; $fields_haupt = ' hid,hname,hname_en,hsecure '; $fields_sub = ' sid,stitel,stitel_en,sopenwindow '; $fields_sub2 = ' s2id,s2titel,s2titel_en,s2openwindow '; $addlang = '&language=en'; } /** Groessen-Strings fuer Menuegrafiken vorbereiten */ foreach($this->cl_api->db->query_fetch_all("select SQL_NO_CACHE * from {$this->cl_api->sql_prefix}js_menu") as $local_row) { $size_arr[$local_row['js_image']] = ' width="' . $local_row['js_width'] . '" height="' . $local_row['js_height'] . '"'; } /** Interne Variablen definieren damit Autotests auch ohne Explorer-Images sauber laufen */ $size_arr['link'] = $size_arr['link'] ?? ''; $size_arr['stamm'] = $size_arr['stamm'] ?? ''; $size_arr['vzauf'] = $size_arr['vzauf'] ?? ''; $size_arr['vzzu'] = $size_arr['vzzu'] ?? ''; $size_arr['zw'] = $size_arr['zw'] ?? ''; $size_arr['zwauf'] = $size_arr['zwauf'] ?? ''; $size_arr['zwe'] = $size_arr['zwe'] ?? ''; $size_arr['zwzu'] = $size_arr['zwzu'] ?? ''; /** Homepage-Link */ $homesite = "./$addlang"; /** Switch-Link der einzelnen Hauptmenues initialisieren */ $switchlink = "$MY_BASENAME?sid={$row['sid']}"; if($row['s2id'] !== 0) { $switchlink = "$switchlink&s2id={$row['s2id']}"; } /** Wenn kein Menuepunkt aktiv gewaehlt aktuelle "hid" verwenden */ if(empty($_GET['openmenu'])) { $_GET['openmenu'] = $row['hid']; } /** Aktuell geoffnetes Menue uebernehmen */ $openmenu = (int)$_GET['openmenu']; /** Alle Menues zuklappen */ if($menuaction === 'closeall') { $openmenu = 0; } /** Ausgabestring initialiseren */ $out = "
\nHome
$cms_ex_trenner\n"; /** * Zusatz-Seiten ausserhalb des Baums laut Konfiguration * Bereits im Vorfeld generieren um beim letzten Menuepunkt weiterfuehren der Linie * korrekt entscheiden zu koennen */ $myaddsites = ''; if($cms_ex_addsites) { $add_list = $this->cl_api->db->query_fetch_all("select SQL_NO_CACHE $fields_ex from {$this->cl_api->sql_prefix}sub where shid=$cms_ex_addsites and saktiv=1 order by ssort"); $add_anz = count($add_list); if($add_anz !== 0) { $xcount = 0; $myaddsites = "$myaddsites\" \"\n\n"; } } /** Alle aktiven Hauptmenuepunkte/Untermenuepunkte in festgelegter Reihenfolge einlesen */ $out = "$out\n{$myaddsites}$cms_ex_trenner
"; /** Menue im Cache ablegen */ $this->cl_api->cache->write(/**$hash*/$cache_hash, /**$lifetime*/1728000, /**$content*/$out); /** Menue zurueckgeben */ return $out; }