Line 19... |
Line 19... |
19 |
// | |
|
19 |
// | |
|
20 |
// | You should have received a copy of the GNU General Public License |
|
20 |
// | You should have received a copy of the GNU General Public License |
|
21 |
// | along with Foobar; if not, write to the Free Software |
|
21 |
// | along with Foobar; if not, write to the Free Software |
|
22 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
22 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
// +------------------------------------------------------------------------------------------------------+
|
23 |
// +------------------------------------------------------------------------------------------------------+
|
24 |
// CVS : $Id: more_recherche.class.php,v 1.14 2008-10-21 16:54:18 aperonnet Exp $
|
24 |
// CVS : $Id: more_recherche.class.php,v 1.15 2008-11-04 17:34:37 aperonnet Exp $
|
25 |
/**
|
25 |
/**
|
26 |
* Classe permettant d'effectuer des recherches sur les métas informations des menus.
|
26 |
* Classe permettant d'effectuer des recherches sur les métas informations des menus.
|
27 |
*
|
27 |
*
|
28 |
* Permet de rechercher et classer les menus en fonction d'une chaine.
|
28 |
* Permet de rechercher et classer les menus en fonction d'une chaine.
|
29 |
*
|
29 |
*
|
Line 32... |
Line 32... |
32 |
//Auteur original :
|
32 |
//Auteur original :
|
33 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
33 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
34 |
//Autres auteurs :
|
34 |
//Autres auteurs :
|
35 |
*@author aucun
|
35 |
*@author aucun
|
36 |
*@copyright Tela-Botanica 2000-2004
|
36 |
*@copyright Tela-Botanica 2000-2004
|
37 |
*@version $Revision: 1.14 $ $Date: 2008-10-21 16:54:18 $
|
37 |
*@version $Revision: 1.15 $ $Date: 2008-11-04 17:34:37 $
|
38 |
// +------------------------------------------------------------------------------------------------------+
|
38 |
// +------------------------------------------------------------------------------------------------------+
|
39 |
*/
|
39 |
*/
|
Line 40... |
Line 40... |
40 |
|
40 |
|
41 |
// +------------------------------------------------------------------------------------------------------+
|
41 |
// +------------------------------------------------------------------------------------------------------+
|
Line 84... |
Line 84... |
84 |
$id_nouveau = count($this->resultats);
|
84 |
$id_nouveau = count($this->resultats);
|
85 |
$this->resultats[$id_nouveau] = $aso_page;
|
85 |
$this->resultats[$id_nouveau] = $aso_page;
|
86 |
}
|
86 |
}
|
Line 87... |
Line 87... |
87 |
|
87 |
|
- |
|
88 |
// Méthodes
|
- |
|
89 |
function eliminerAccents($motif)
|
- |
|
90 |
{
|
- |
|
91 |
return strtr($motif,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç'",
|
- |
|
92 |
"AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc " );
|
Line 88... |
Line 93... |
88 |
// Méthodes
|
93 |
}
|
89 |
|
94 |
|
90 |
function ajouterRecherche(&$objet_recherche) {
|
95 |
function ajouterRecherche(&$objet_recherche) {
|
Line 96... |
Line 101... |
96 |
$this->setResultats(array_merge((array)$this->getResultats(),(array)$val->rechercherMotif($this->getMotif())));
|
101 |
$this->setResultats(array_merge((array)$this->getResultats(),(array)$val->rechercherMotif($this->getMotif())));
|
97 |
}
|
102 |
}
|
98 |
$aso_resultats = $this->getResultats();
|
103 |
$aso_resultats = $this->getResultats();
|
Line 99... |
Line 104... |
99 |
|
104 |
|
100 |
// on teste l'existence de la fonction anonyme car sinon bug d'inclusion très pénible !
|
105 |
// on teste l'existence de la fonction anonyme car sinon bug d'inclusion très pénible !
|
Line 101... |
Line 106... |
101 |
if (function_exists('comparer')) {
|
106 |
if (!function_exists('comparer')) {
|
102 |
|
107 |
|
103 |
function comparer($a, $b) {
|
108 |
function comparer($a, $b) {
|
104 |
if ($a['poids'] > $b['poids']) {
|
109 |
if ($a['poids'] > $b['poids']) {
|
Line 156... |
Line 161... |
156 |
}
|
161 |
}
|
157 |
// Nous recherchons chaque mot
|
162 |
// Nous recherchons chaque mot
|
158 |
$compteur_mot = 0;
|
163 |
$compteur_mot = 0;
|
159 |
foreach ($tab_motif as $mot) {
|
164 |
foreach ($tab_motif as $mot) {
|
160 |
//$nbre_correspondance += preg_match_all('/'.$mot.'/i', $texte, $tab_morceaux);
|
165 |
//$nbre_correspondance += preg_match_all('/'.$mot.'/i', $texte, $tab_morceaux);
|
161 |
$nbre_correspondance = substr_count(strtolower($texte), strtolower($mot));
|
166 |
$nbre_correspondance = substr_count($this->eliminerAccents(strtolower($texte)), $this->eliminerAccents(strtolower($mot)));
|
162 |
if ($nbre_correspondance > 0) {
|
167 |
if ($nbre_correspondance > 0) {
|
163 |
$compteur_mot++;
|
168 |
$compteur_mot++;
|
164 |
}
|
169 |
}
|
165 |
$nbre_correspondance_total += $nbre_correspondance;
|
170 |
$nbre_correspondance_total += $nbre_correspondance;
|
166 |
}
|
171 |
}
|
Line 323... |
Line 328... |
323 |
}
|
328 |
}
|
Line 324... |
Line 329... |
324 |
|
329 |
|
325 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
330 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
326 |
*
|
331 |
*
|
- |
|
332 |
* $Log: not supported by cvs2svn $
|
- |
|
333 |
* Revision 1.14 2008-10-21 16:54:18 aperonnet
|
- |
|
334 |
* correction de bug de double inclusion de fichier quand une balise syndication est présente dans la page
|
327 |
* $Log: not supported by cvs2svn $
|
335 |
*
|
328 |
* Revision 1.13 2008-10-21 15:24:50 aperonnet
|
336 |
* Revision 1.13 2008-10-21 15:24:50 aperonnet
|
329 |
* Ajout de résultats issus des fiches de bazar pour le moteur de recherche
|
337 |
* Ajout de résultats issus des fiches de bazar pour le moteur de recherche
|
330 |
*
|
338 |
*
|
331 |
* Revision 1.12 2007-10-29 18:29:30 jp_milcent
|
339 |
* Revision 1.12 2007-10-29 18:29:30 jp_milcent
|