Subversion Repositories Applications.papyrus

Rev

Rev 1032 | Rev 1052 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1032 Rev 1034
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