コード例 #1
0
 public function contentAction($param1, $param2 = "")
 {
     if ($param1 == "main") {
         $id = $param2;
     } else {
         $id = $param1;
     }
     $id = $this->int($id);
     $rubriques = Rubrique::find(array("idDomaine = " . $id, "order" => "ordre"));
     foreach ($rubriques as $rubrique) {
         echo "<h1>" . $rubrique->getTitre() . "</h1>";
         echo $rubrique->getDescription();
         ob_start();
         $exemples = $rubrique->getExemples(['order' => 'ordre']);
         foreach ($exemples as $exemple) {
             echo $this->replaceTitre($exemple->getTitre());
             echo $this->replaceAlerts($exemple->getDescription());
             $header = NULL;
             if (StrUtils::isNotNull($exemple->getHeader())) {
                 $header = $exemple->getHeader();
             }
             $footer = NULL;
             if (StrUtils::isNotNull($exemple->getCode())) {
                 $footer = "<pre><code class='language-" . $exemple->getLanguage() . "'>" . htmlentities($exemple->getCode()) . "</code></pre>";
             }
             $p = $this->jquery->bootstrap()->htmlPanel("id-" . $exemple->getId(), null, $header, $footer);
             echo $p->compile();
         }
         $all = ob_get_contents();
         ob_end_clean();
         if (count($this->anchors) > 2) {
             $ddAnchors = new HtmlDropdown("anchors", "Accès rapide");
             $ddAnchors->setStyle("btn-default");
             $ddAnchors->asButton();
             foreach ($this->anchors as $kAnchor => $vAnchor) {
                 $ddAnchors->addItem($vAnchor, "#" . $kAnchor);
             }
             echo $ddAnchors->compile();
         }
         echo $all;
     }
     $this->jquery->exec("Prism.highlightAll();", true);
     if ($param1 == "main") {
         $this->jquery->get("index/menu/" . $id, ".col-md-3");
     }
     echo $this->jquery->compile();
     $this->view->disable();
 }
コード例 #2
0
 public function getMainMenu()
 {
     $url = $this->controller->url;
     $translateEngine = $this->controller->getTranslateEngine();
     $jquery = $this->controller->jquery;
     $navbar = $jquery->bootstrap()->htmlNavbar("navbarJS");
     $navbar->setClass("");
     $navbar->fromArray(array("brand" => $translateEngine->translate(1, "index.home", "home"), "brandHref" => $url->get("index")));
     $domaines = \Domaine::find("isNull(idParent)");
     $navbar->fromDatabaseObjects($domaines, function ($domaine) use($url, $translateEngine) {
         $libelle = $translateEngine->translate($domaine->getId(), "domaine.libelle", $domaine->getLibelle());
         $lnk = new HtmlLink("lnk-" . $domaine->getId(), "#", $libelle);
         if ($domaine->getSemantic()) {
             $lnk->setHref($url->get("Index/semantic/" . $domaine->getId()));
         } else {
             $lnk->getOnClick("Index/content/main/" . $domaine->getId(), "#response");
         }
         return $lnk;
     });
     $right = $navbar->addZone("right");
     $ddLang = new HtmlDropdown("btLang");
     $ddLang->asButton();
     foreach (TranslateEngine::$languages as $keyLang => $valueLang) {
         $item = $ddLang->addItem($valueLang, $url->get("Index/index/" . $keyLang));
         $item->getOnClick("Index/index/" . $keyLang, "body");
         if (JString::startsWith($translateEngine->getLanguage(), $keyLang, true)) {
             $item->active();
             $ddLang->setValue($valueLang . " : " . $keyLang);
         }
     }
     $right->addElement($ddLang);
     $right->asForm();
     $left = $navbar->addZone("right", "leftZ");
     $left->asForm();
     $searchInput = new HtmlInputgroup("search");
     $searchInput->createButton("btSearch", "Go", "right");
     $searchInput->setPlaceHolder($translateEngine->translate(1, "index.search", "Search..."));
     $left->addElement($searchInput);
     $jquery->postOnClick("#btSearch", "Index/search", '{"text":$("#search").val()}', "#response");
     $navbar->cssInverse();
     return $navbar;
 }