function getHTML($id) { $U = new mUserdata(); $U = $U->getUDValue("selectedDomain"); $this->loadMeOrEmpty(); if ($id == -1 and $U != null) { $this->A->DomainID = $U; $this->A->sort = -1; $this->A->SeiteID = -1; } $gui = new HTMLGUI(); $gui->setObject($this); $gui->setName("Navigation"); $N = new mNavigation(); $N->addAssocV3("NavigationID", "!=", $this->ID); $N->addAssocV3("DomainID", "=", $U); //$gui->selectWithCollection("DomainID", new Domains(), "url"); $gui->selectWithCollection("parentID", $N, "name", "kein übergeordnetes Element"); #$gui->setType("parentID","hidden"); #$gui->selectWithCollection("SeiteID", $aC, "name"); /*$aC = new anyC(); $aC->setCollectionOf("Seite"); $aC->setFieldsV3(array("IF(name = '', header, name) AS name")); $aC->addAssocV3("DomainID","=",$this->A->DomainID); $pages = array(); while($s = $aC->getNextEntry()){ $pages[$s->getID()] = $s->A("name"); } $gui->setType("SeiteID","select"); $gui->setOptions("SeiteID", array_keys($pages), array_values($pages));*/ $gui->setParser("SeiteID", "NavigationGUI::SeiteParser", array($this->A->DomainID)); $gui->setType("DomainID", "hidden"); $gui->insertSpaceAbove("activeTemplateID"); $gui->insertSpaceAbove("linkType"); $gui->insertSpaceAbove("hidden", "Optionen", true); $gui->setType("sort", "hidden"); $gui->setLabel("httpsLink", "Https-Link?"); $gui->setType("httpsLink", "checkbox"); $gui->setLabel("activeTemplateID", "Link aktiv"); $gui->setLabel("inactiveTemplateID", "Link inaktiv"); $gui->setLabel("DomainID", "Domain"); $gui->setLabel("SeiteID", "Seite"); $gui->setLabel("parentID", "Vaterelement"); /*if($this->A->linkType == "cmsPage" OR $id == -1) $gui->setLineStyle("linkURL","display:none;"); else*/ $gui->setLineStyle("SeiteID", "display:none;"); $gui->setLineStyle("linkURL", "display:none;"); $gui->setLineStyle("inactiveTemplateID", "display:none;"); $gui->setLineStyle("activeTemplateID", "display:none;"); if ($this->A->linkType == "cmsPage" or $id == -1) { $gui->setLineStyle("SeiteID", ""); $gui->setLineStyle("inactiveTemplateID", ""); $gui->setLineStyle("activeTemplateID", ""); } else { if ($this->A->linkType == 'url') { $gui->setLineStyle("linkURL", ""); $gui->setLineStyle("inactiveTemplateID", ""); } else { if ($this->A->linkType == 'HTML') { $gui->setLineStyle("activeTemplateID", ""); } else { if ($this->A->linkType == 'separator') { } } } } if (Session::isPluginLoaded("mMultiLanguage")) { $gui->activateFeature("addAnotherLanguageButton", $this, "name"); } $gui->setLabel("linkType", "Link-Typ"); $gui->setInputJSEvent("linkType", "onchange", "Website.set(this)"); $gui->setLabel("linkURL", "Link-URL"); $T = new TemplatesGUI(); $T->addAssocV3("templateType", "=", "naviTemplate"); $gui->selectWithCollection("activeTemplateID", $T, "name"); $T = new TemplatesGUI(); $T->addAssocV3("templateType", "=", "naviTemplate"); $gui->selectWithCollection("inactiveTemplateID", $T, "name"); $gui->setLabel("hidden", "versteckt"); $gui->setFieldDescription("hidden", "Der Menüpunkt wird auf der Seite nicht angezeigt"); $gui->setType("hidden", "checkbox"); #$gui->insertSpaceAbove("parentID"); $gui->setLabel("displaySub", "Unterkat. immer anzeigen"); $gui->setFieldDescription("displaySub", "Blendet die Unterkategorien immer ein, auch wenn der Menüpunkt nicht ausgewählt ist."); $gui->setType("displaySub", "checkbox"); #$gui->setType("displaySub","hidden"); $gui->setFieldDescription("httpsLink", "Erzeugt einen https://...-Link"); $gui->setType("linkType", "select"); #$gui->setOptions("linkType", array("cmsPage", "url", "separator"), array("multiCMS-Seite", "URL", "Trennlinie")); $gui->setOptions("linkType", array("cmsPage", "url", "separator", "HTML"), array("multiCMS-Seite", "URL", "Trennlinie", "Template-HTML")); if ($id == -1) { $gui->setJSEvent("onSave", "function() { \$('contentLeft').update(); contentManager.reloadFrameRight(); }"); } else { $gui->setJSEvent("onSave", "function() { contentManager.reloadFrameRight(); }"); } $gui->setStandardSaveButton($this); #$gui->setSaveButtonValues(get_parent_class($this),$this->ID,"mNavigation"); return $gui->getEditHTML(); }
private function getList($pid, $SeiteID, $DomainID) { $html = ""; $Dom = new Domain($DomainID); $multiLang = false; try { $test = new MultiLanguage(-1); $userLang = CCMultiLanguage::getUserLanguage(); if ($userLang != null and $userLang->getID() != null and $userLang->getID() != $Dom->A("DomainDefaultSpracheID")) { $multiLang = true; } } catch (ClassNotFoundException $e) { } while ($C = $this->getNextEntry()) { if ($multiLang) { $mL = MultiLanguage::getTranslation($userLang->getID(), "Navigation", $C->getID(), "name"); if ($mL == null) { continue; } $C->changeA("name", $mL); } $CA = $C->getA(); if ($this->domainURL == "") { $D = new Domain($C->A("DomainID")); $this->domainURL = $D->getA()->url; if ($this->domainURL == "") { $this->domainURL = "none"; } } $sub = new mNavigationGUI(); $sub->addOrderV3("sort", "ASC"); $sub->addAssocV3("parentID", "=", $C->getID()); $sub->addAssocV3("t1.DomainID", "=", $DomainID); $sub->addAssocV3("hidden", "=", "0"); $sub->addJoinV3("Template", "activeTemplateID", "=", "TemplateID"); $sub->addJoinV3(" Template", "inactiveTemplateID", "=", "TemplateID"); $sub->addJoinV3("Seite", "SeiteID", "=", "SeiteID"); $sub->setFieldsV3(array("t2.html as activeHTML", "t3.html as inactiveHTML", "t1.name", "t1.DomainID", "t1.SeiteID", "linkURL", "linkType", "displaySub", "t4.permalink", "httpsLink")); $sub->lCV3(); $sub->subNavigation($this->isSubNavigation, $this->isSubNavigationRoot); $subOpened = new mNavigation(); $subOpened->addAssocV3("parentID", "=", $C->getID()); $subOpened->addAssocV3("SeiteID", "=", $SeiteID); $subOpened->lCV3(); if ($CA->linkType == "separator") { $html .= "<div class=\"separator\">" . $CA->name . "</div>"; } /*.= " <li class=\"hld\" style=\"cursor:pointer;\" onclick=\"dd('naviul_".$C->getID()."');\"><img id=\"naviul_".$C->getID()."Img\" class=\"sslico\" src=\"./$this->domainURL/images/dd.gif\" title=\"Menü ausklappen\" />".$CA->name."</li>"; */ $rootDomain = "http" . ($CA->httpsLink == "1" ? "s" : "") . "://{$_SERVER['HTTP_HOST']}"; if ($this->isSubNavigationRoot != null) { $rootDomain = $this->isSubNavigationRoot; } if ($CA->linkType == "cmsPage") { if (!isset($CA->permalink) or $CA->permalink == "") { $link = "{$rootDomain}/index.php?p=" . $CA->SeiteID . "" . (isset($_GET["d"]) ? "&d={$_GET['d']}" : "") . ""; } else { $link = $rootDomain . "/" . ($this->isSubNavigation ? "" : $Dom->A("permalinkPrefix")) . $CA->permalink; } $html .= ($CA->SeiteID == $SeiteID or $subOpened->numLoaded() > 0) ? str_replace("%%%LINK%%%", "<a href=\"{$link}\">" . $CA->name . "</a>", $CA->activeHTML) : str_replace("%%%LINK%%%", "<a href=\"{$link}\">" . $CA->name . "</a>", $CA->inactiveHTML); #if(!isset($CA->permalink) OR $CA->permalink == "") $html = str_replace("%%%URL%%%", "?p=" . $CA->SeiteID . "" . (isset($_GET["d"]) ? "&d={$_GET['d']}" : "") . "", $html); #else # $html = str_replace("%%%URL%%%", "page-".$CA->permalink, $html); $html = str_replace("%%%TEXT%%%", $CA->name, $html); } if ($CA->linkType == "url") { $html .= str_replace("%%%LINK%%%", "<a href=\"" . $CA->linkURL . "\">" . $CA->name . "</a>", $CA->inactiveHTML); #"<li class=\"hl\"><a href=\"".$CA->linkURL."\">".$CA->name."</a></li>"; $html = str_replace("%%%URL%%%", $CA->linkURL, $html); $html = str_replace("%%%TEXT%%%", $CA->name, $html); } if ($CA->linkType == "HTML") { $html .= str_replace("%%%LINK%%%", "<a href=\"" . $CA->linkURL . "\">" . $CA->name . "</a>", $CA->activeHTML); #"<li class=\"hl\"><a href=\"".$CA->linkURL."\">".$CA->name."</a></li>"; $html = str_replace("%%%URL%%%", $CA->linkURL, $html); $html = str_replace("%%%TEXT%%%", $CA->name, $html); } if ($sub->numLoaded() > 0) { if ($C->A("displaySub") == "1" or $subOpened->numLoaded() > 0 or $C->A("SeiteID") == $SeiteID) { if ($Dom->A("horizontalNav") == "0") { $html .= "<div class=\"subcategory\">" . $sub->getCMSHTML($C->getID(), $SeiteID, $DomainID) . "</div>"; } else { $this->horizontalNav .= "<div class=\"subcategory\">" . $sub->getCMSHTML($C->getID(), $SeiteID, $DomainID) . "</div>"; } } } } return $html; }