Exemplo n.º 1
0
 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;
 }