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_papyrus_menu.class.php,v 1.8 2006-10-16 14:11:30 jp_milcent Exp $
|
24 |
// CVS : $Id: more_recherche_papyrus_menu.class.php,v 1.9 2006-10-17 09:21:40 jp_milcent Exp $
|
25 |
/**
|
25 |
/**
|
26 |
* Classe permettant d'effectuer des recherches sur les informations des menus de Papyrus.
|
26 |
* Classe permettant d'effectuer des recherches sur les informations des menus de Papyrus.
|
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 |
* Utilisation des bibliothèques inclue par Papyrus :
|
29 |
* Utilisation des bibliothèques inclue par Papyrus :
|
Line 36... |
Line 36... |
36 |
//Auteur original :
|
36 |
//Auteur original :
|
37 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
37 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
38 |
//Autres auteurs :
|
38 |
//Autres auteurs :
|
39 |
*@author aucun
|
39 |
*@author aucun
|
40 |
*@copyright Tela-Botanica 2000-2004
|
40 |
*@copyright Tela-Botanica 2000-2004
|
41 |
*@version $Revision: 1.8 $ $Date: 2006-10-16 14:11:30 $
|
41 |
*@version $Revision: 1.9 $ $Date: 2006-10-17 09:21:40 $
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
43 |
*/
|
43 |
*/
|
Line 44... |
Line 44... |
44 |
|
44 |
|
45 |
// +------------------------------------------------------------------------------------------------------+
|
45 |
// +------------------------------------------------------------------------------------------------------+
|
Line 75... |
Line 75... |
75 |
// Initialisation du tableau de résultat vide
|
75 |
// Initialisation du tableau de résultat vide
|
76 |
$aso_resultat = array( 'poids' => 0, 'url' => '', 'titre' => '',
|
76 |
$aso_resultat = array( 'poids' => 0, 'url' => '', 'titre' => '',
|
77 |
'hreflang' => '', 'accesskey' => '', 'title' => '',
|
77 |
'hreflang' => '', 'accesskey' => '', 'title' => '',
|
78 |
'date_creation' => '', 'description' => '');
|
78 |
'date_creation' => '', 'description' => '');
|
Line 79... |
Line 79... |
79 |
|
79 |
|
80 |
// Récupération des infos du menu courant
|
80 |
// Récupération des infos du menu courant : transtypage pour éviter les erreur avec array_merge
|
Line 81... |
Line 81... |
81 |
$aso_menu_info = GEN_lireInfoMenu($db, $menu_id, DB_FETCHMODE_ASSOC);
|
81 |
$aso_menu_info = (array) GEN_lireInfoMenu($db, $menu_id, DB_FETCHMODE_ASSOC);
|
82 |
|
82 |
|
Line 83... |
Line 83... |
83 |
// Récupération du contenu du menu courant
|
83 |
// Récupération du contenu du menu courant : transtypage pour éviter les erreur avec array_merge
|
84 |
$aso_menu_contenu = GEN_lireContenuMenu($db, $menu_id, DB_FETCHMODE_ASSOC);
|
84 |
$aso_menu_contenu = (array) GEN_lireContenuMenu($db, $menu_id, DB_FETCHMODE_ASSOC);
|
Line 85... |
Line 85... |
85 |
|
85 |
|
86 |
// Fusion des deux tableaux de champs à analyser
|
86 |
// Fusion des deux tableaux de champs à analyser
|
87 |
$aso_menu = array_merge($aso_menu_info, $aso_menu_contenu);
|
87 |
$aso_menu = array_merge($aso_menu_info, $aso_menu_contenu);
|
88 |
|
88 |
|
89 |
// Analyse du poids de cette page vis à vis des méta informations et du contenu
|
89 |
// Analyse du poids de cette page vis à vis des méta informations et du contenu
|
90 |
$tab_champs_a_visiter = array( 'gm_nom', 'gm_titre', 'gm_titre_alternatif', 'gm_mots_cles',
|
- |
|
91 |
'gm_description_libre', 'gm_description_resume', 'gm_description_table_matieres',
|
- |
|
92 |
'gm_source', 'gm_auteur', 'gm_contributeur', 'gm_editeur', 'gm_categorie',
|
90 |
$tab_champs_a_visiter = array( 'gm_nom', 'gm_titre', 'gm_titre_alternatif', 'gm_mots_cles',
|
93 |
'gm_public', 'gmc_contenu');
|
91 |
'gm_description_libre', 'gm_description_resume', 'gm_description_table_matieres',
|
94 |
$tab_motif = explode(' ', $motif);
|
92 |
'gm_source', 'gm_auteur', 'gm_contributeur', 'gm_editeur', 'gm_categorie',
|
95 |
$bool_operateur_et = false;
|
93 |
'gm_public', 'gmc_contenu');
|
96 |
foreach ($tab_champs_a_visiter as $val) {
|
- |
|
97 |
$compteur_mot = 0;
|
- |
|
98 |
foreach ($tab_motif as $mot_motif) {
|
- |
|
99 |
$nbre_mot = $this->retournerOccurenceMotif($mot_motif, $aso_menu[$val]);
|
- |
|
100 |
if ($nbre_mot > 0) {
|
- |
|
101 |
$compteur_mot++;
|
- |
|
102 |
}
|
- |
|
103 |
$aso_resultat['poids'] += $nbre_mot;
|
94 |
foreach ($tab_champs_a_visiter as $val) {
|
104 |
}
|
95 |
// Vérification que le champ existe et contient quelque chose
|
Line 105... |
Line 96... |
105 |
if ($compteur_mot == count($tab_motif)) {
|
96 |
if (isset($aso_menu[$val]) && $aso_menu[$val] != '') {
|
106 |
$bool_operateur_et = true;
|
97 |
$aso_resultat['poids'] += $this->retournerOccurenceMotif($motif, $aso_menu[$val]);
|
107 |
}
|
98 |
}
|
108 |
}
|
99 |
}
|
109 |
|
100 |
|
110 |
// Si le menu contient les mots recherchés nous poursuivons
|
101 |
// Si le menu contient les mots recherchés nous poursuivons
|
111 |
if ($aso_resultat['poids'] > 0 && $bool_operateur_et == true) {
|
102 |
if ($aso_resultat['poids'] > 0) {
|
Line 152... |
Line 143... |
152 |
}
|
143 |
}
|
Line 153... |
Line 144... |
153 |
|
144 |
|
154 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
145 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
155 |
*
|
146 |
*
|
- |
|
147 |
* $Log: not supported by cvs2svn $
|
- |
|
148 |
* Revision 1.8 2006/10/16 14:11:30 jp_milcent
|
- |
|
149 |
* Amélioration du moteur de recherche.
|
- |
|
150 |
* Utilisation de l'opérateur "et" entre les mots recherchés.
|
156 |
* $Log: not supported by cvs2svn $
|
151 |
*
|
157 |
* Revision 1.7 2006/10/10 13:28:13 jp_milcent
|
152 |
* Revision 1.7 2006/10/10 13:28:13 jp_milcent
|
158 |
* Suppression d'une variable et utilisation de la constante PAP_URL
|
153 |
* Suppression d'une variable et utilisation de la constante PAP_URL
|
159 |
*
|
154 |
*
|
160 |
* Revision 1.6 2006/05/19 10:04:55 jp_milcent
|
155 |
* Revision 1.6 2006/05/19 10:04:55 jp_milcent
|