diff --git a/core/module/search/search.php b/core/module/search/search.php
deleted file mode 100755
index 8775d93d..00000000
--- a/core/module/search/search.php
+++ /dev/null
@@ -1,211 +0,0 @@
-
- * @copyright Copyright (C) 2008-2018, Rémi Jean
- * @license GNU General Public License, version 3
- * @link http://zwiicms.com/
- *
- * Module search
- * Produit par la communauté à partit d'un développement de Sylvain Lelièvre
- */
-
-// Module de recherche d'un mot ou d'une phrase clef
-
-class search extends common {
-
- public static $actions = [
- 'index' => self::GROUP_VISITOR
- ];
-
-
- public function index() {
- if($this->isPost()) {
- //Initialisations variables
- $success = true;
- $result = '';
- $notification = '';
- $total='';
- $this->setData(['search',$total,0]);
-
- // Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués
- $motclef=$this->getInput('searchMotphraseclef');
-
- // Récupération de l'état de l'option mot entier passé par le même formulaire
- $motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN);
-
- //Pour affichage de l'entête du résultat
- $result = '
Recherche avec le mot clef : '.$motclef.'
';
- if ($motclef !== "" && strlen($motclef) > 2) {
- foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) {
- if ($this->getData(['page', $parentId, 'disable']) === false &&
- $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) &&
- $this->getData(['page', $parentId, 'block']) !== 'bar') {
- $url = $parentId;
- $titre = $this->getData(['page', $parentId, 'title']);
- $contenu = $this->getData(['page', $parentId, 'content']);
- // Pages sauf pages filles et articles de blog
- $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier);
- }
-
- foreach($childIds as $childId) {
- // Sous page
- if ($this->getData(['page', $childId, 'disable']) === false &&
- $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) &&
- $this->getData(['page', $parentId, 'block']) !== 'bar') {
- $url = $childId;
- $titre = $this->getData(['page', $childId, 'title']);
- $contenu = $this->getData(['page', $childId, 'content']);
- //Pages filles
- $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier);
-
- }
-
- // Articles d'une sous-page blog
- if ($this->getData(['page', $childId, 'moduleId']) === 'blog')
- {
- foreach($this->getData(['module',$childId]) as $articleId => $article) {
- if($this->getData(['module',$childId,$articleId,'state']) === true) {
- $url = $childId . '/' . $articleId;
- $titre = $article['title'];
- $contenu = $article['content'];
- // Articles de sous-page de type blog
- $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier);
-
- }
- }
- }
- }
-
- // Articles d'un blog
-
- if ($this->getData(['page', $parentId, 'moduleId']) === 'blog' ) {
- foreach($this->getData(['module',$parentId]) as $articleId => $article) {
- if($this->getData(['module',$parentId,$articleId,'state']) === true)
- {
- $url = $parentId. '/' . $articleId;
- $titre = $article['title'];
- $contenu = $article['content'];
- // Articles de Blog
- $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier);
-
- }
- }
- }
- }
- // Message de synthèse de la recherche
- if ($this->getData(['search',$total])===0) {
- $notification = 'Mot clef non trouvé. Avez-vous pensé aux accents ?';
- $result .='Mot clef non trouvé. Avez-vous pensé aux accents ?';
- $success = false;
- } else {
- $result .= 'Nombre d\'occurrences : '.$this->getData(['search',$total]);
- $notification = 'Nombre d\'occurrences : '.$this->getData(['search',$total]);
- $success = true;
- }
- } else {
- $notification = 'Trop court ! Minimum 3 caractères';
- $result = 'Trop court ! Minimum 3 caractères';
- $success = false;
- }
-
- $_POST['result'] = $result;
- $_POST['occurence'] = $total;
- // Valeurs en sortie, affichage du résultat
- $this->addOutput([
- 'title' => '',
- 'view' => 'result',
- 'notification' => $notification,
- 'state' => $success
- ]);
- } else {
- // Valeurs en sortie, affichage du formulaire
- $this->addOutput([
- 'title' => '',
- 'view' => 'index'
- ]);
- }
- }
-
-
- // Fonction de recherche des occurrences dans $contenu
- // Renvoie le résultat sous forme de chaîne
- private function occurrence($url, $titre, $contenu, $motclef, $motentier)
- {
- // Nettoyage de $contenu : on enlève tout ce qui est inclus entre < et >
- $contenu = $this->nettoyer_html($contenu);
- // Accentuation
- $contenu = html_entity_decode($contenu);
- // Initialisations
- $nboccu = 0;
- $dejavu = '';
- $total = '';
- $resultat= '';
- // Recherche des occurrences
- do {
- $occu = stristr($contenu,$motclef);
- if ($occu !== false) {
- if ($motentier === true) {
- $controle_entier=$this->test_motentier($contenu,$motclef);
- } else {
- $controle_entier=true;
- }
- if ($controle_entier) {
- if ($titre !== $dejavu) {
- $resultat = '
Mot clef trouvé dans la page : '.$titre.'
';
- }
- $dejavu = $titre;
- $nboccu++;
- $resultat .= ''.$nboccu.' - "...'.substr($occu,0,200).'..."
';
- }
- // Pour recherche d'une autre occurrence dans le même contenu
- $contenu = substr($occu,10);
- }
- }
- while($occu != '');
- $this->setData(['search',$total,$this->getData(['search',$total]) + $nboccu]);
-
-
- return $resultat;
- }
-
- // Déclaration de la fonction nettoyer(string $contenu) : string
- // Supprime de $contenu les caractères placés entre < et >, donc les balises html comme
etc...
- // Retourne $contenu nettoyée, le résultat est sensiblement différent de celui obtenu avec la fonction strip_tags()
- private function nettoyer_html($contenu)
- {
- do {
- $pos1=strpos($contenu,chr(60));
- if($pos1!==false) {
- $pos2=strpos($contenu,chr(62));
- if($pos2!==false) $contenu=substr_replace($contenu," ",$pos1,($pos2 - $pos1 + 1));
- }
- }
- while($pos1!==false);
- return $contenu;
- }
-
- // Déclaration de la fonction test_motentier(string $chaine, string $clef) : bool
- // Vérifie si dans la string $chaine, $clef est un mot entier
- // $clef ne doit pas être précédé ni suivi d'une lettre maj ou min
- private function test_motentier($chaine, $clef)
- {
- $resultat=true;
- $pos1=stripos($chaine,$clef);
- $avant=ord(substr($chaine,$pos1-1, 1));
- $apres=ord(substr($chaine,$pos1+strlen($clef),1));
- // Traitement pour le caractère qui précède et celui qui suit
- if (($avant>=65 && $avant<=90) ||
- ($avant>=97 && $avant<=122) ||
- ($apres>=65 && $apres<=90) ||
- ($apres>=97 && $apres<=122) ) {
- $resultat=false;
- }
- return $resultat;
- }
-}
diff --git a/core/module/search/view/index/index.php b/core/module/search/view/index/index.php
deleted file mode 100755
index e5243bde..00000000
--- a/core/module/search/view/index/index.php
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
Rechercher
-
-
- 'Mot ou phrase',
- 'help' => 'Tout ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.'
- ]); ?>
-
-
- 'Ok'
- ]); ?>
-
-
-
-
-
-
-
diff --git a/core/module/search/view/result/result.php b/core/module/search/view/result/result.php
deleted file mode 100755
index 072d3607..00000000
--- a/core/module/search/view/result/result.php
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
Recherche
-
-
- 'Mot ou phrase',
- 'value' => isset($_POST['searchMotphraseclef']) === true ? $_POST['searchMotphraseclef'] : '',
- 'help' => 'Tout ou partie d\'un mot ou d\'une phrase, sans guillemets. N\'oubliez pas les accents.'
- ]); ?>
-
-
- 'Ok'
- ]); ?>
-
-
-
- isset($_POST['searchMotentier']) === true ? $_POST['searchMotentier'] : ''
- ]); ?>
-
-
-
-
-
-