private function replaceTitre($titre) { if (StrUtils::isNotNull($titre)) { $num = count($this->anchors) + 1; $attr = StrUtils::cleanAttr($titre); $this->anchors[$attr] = $num . " - " . $titre; $titre = "<a name='" . $attr . "' class='anchor'><span class='octicon octicon-link'></span></a>" . $num . " - " . $titre; } return "<h3>" . $titre . "</h3>"; }
private function _searchResults($text, $domaines, $rubriques, $exemples) { $hasResults = false; $this->view->disable(); $dom = $this->jquery->bootstrap()->htmlPanel("listDomaines", "", "Domaines (" . sizeof($domaines) . ")"); if (sizeof($domaines) > 0) { $hasResults = true; foreach ($domaines as $domaine) { $libelle = $this->translateEngine->translate($domaine->getId(), "domaine.libelle", $domaine->getLibelle()); $dom->addContent((new HtmlLink("dom-" . $domaine->getId(), "", $this->_highlight($libelle, $text)))->setClass("domaine")); } echo $dom; } $rub = $this->jquery->bootstrap()->htmlPanel("listRubriques", "", "Rubriques (" . sizeof($rubriques) . ")"); if (sizeof($rubriques) > 0) { $hasResults = true; foreach ($rubriques as $rubrique) { $titre = $this->translateEngine->translate($rubrique->getId(), "rubrique.titre", $rubrique->getTitre()); $rub->addContent((new HtmlLink("rub-" . $rubrique->getDomaine()->getId(), "", $this->_highlight($titre, $text)))->setClass("rubrique")->setProperty("data-anchor", StrUtils::cleanAttr($rubrique->getTitre()))); } echo $rub; } $ex = $this->jquery->bootstrap()->htmlPanel("listExemples", "", "Exemples (" . sizeof($exemples) . ")"); if (sizeof($exemples) > 0) { $rubrique = ""; $domaine = ""; $hasResults = true; foreach ($exemples as $exemple) { $newRubrique = $exemple->getRubrique(); if ($domaine != $newRubrique->getDomaine()) { $domaine = $newRubrique->getDomaine(); $libelle = $this->translateEngine->translate($domaine->getId(), "domaine.libelle", $domaine->getLibelle()); $ex->addContent("<h2>" . $this->_highlight($libelle, $text) . "</h2><hr>"); } if ($rubrique != $newRubrique) { $rubrique = $newRubrique; $titre = $this->translateEngine->translate($rubrique->getId(), "rubrique.titre", $rubrique->getTitre()); $ex->addContent("<h3>" . $this->_highlight($titre, $text) . "</h3>"); } $titre = $this->translateEngine->translate($exemple->getId(), "exemple.titre", $exemple->getTitre()); $description = $this->translateEngine->translate($exemple->getId(), "exemple.description", $exemple->getDescription()); $ex->addContent((new HtmlLink("ex-" . $domaine->getId(), "", "<h4>" . $this->_highlight($titre, $text) . "</h4>"))->setClass("exemple")->setProperty("data-anchor", StrUtils::cleanAttr($titre))); $ex->addContent("<div>" . $this->_highlight(strip_tags($description), $text) . "</div>"); } echo $ex; } if ($hasResults) { $this->jquery->getOnClick(".domaine", "index/content/main/", "#response"); $this->jquery->postOnClick(".rubrique, .exemple", "index/content/", '{anchor:$(self).attr("data-anchor")}', "#response"); } else { echo $this->jquery->bootstrap()->htmlPanel("listNoResults", "Aucun résultat trouvé", "Domaines, rubriques, exemples"); } echo $this->jquery->compile(); }