public function searchAction() { $text = $_POST["text"]; if (Text::startsWith($this->translateEngine->getLanguage(), "en", true)) { $domaines = Domaine::find("libelle LIKE '%" . $text . "%'"); $rubriques = Rubrique::find("titre LIKE '%" . $text . "%' OR description LIKE '%" . $text . "%'"); $exemples = Exemple::find("titre LIKE '%" . $text . "%' OR description LIKE '%" . $text . "%'"); } else { $domaines = array(); $rubriques = array(); $exemples = array(); $translations = $this->translateEngine->getTranslations(); if ($text != "") { $arrayTranslations = $translations->filter(function ($object) use($text) { if ($object->getName() == "domaine.libelle" && stristr($object->getText(), $text) !== false) { return $object; } }); if (sizeof($arrayTranslations) > 0) { $domaines = Domaine::find($this->_getCondition($arrayTranslations)); } $arrayRubriques = $translations->filter(function ($object) use($text) { if (Text::startsWith($object->getName(), "rubrique" && stristr($object->getText(), $text) !== false)) { return $object; } }); if (sizeof($arrayRubriques) > 0) { $rubriques = Rubrique::find($this->_getCondition($arrayRubriques)); } $arrayExemples = $translations->filter(function ($object) use($text) { if (Text::startsWith($object->getName(), "exemple")) { if (stristr($object->getText(), $text) !== false) { return $object; } } }); if (sizeof($arrayExemples) > 0) { $exemples = Exemple::find($this->_getCondition($arrayExemples)); } } } $this->_searchResults($text, $domaines, $rubriques, $exemples); }