Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 272 → Rev 339

/trunk/papyrus/applettes/moteur_recherche/bibliotheque/more_recherche.class.php
21,7 → 21,7
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: more_recherche.class.php,v 1.1 2004-12-07 10:24:06 jpm Exp $
// CVS : $Id: more_recherche.class.php,v 1.2 2005-04-14 17:39:34 jpm Exp $
/**
* Classe permettant d'effectuer des recherches sur les métas informations des menus.
*
34,7 → 34,7
//Autres auteurs :
*@author aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-12-07 10:24:06 $
*@version $Revision: 1.2 $ $Date: 2005-04-14 17:39:34 $
// +------------------------------------------------------------------------------------------------------+
*/
 
117,13 → 117,66
}
}
usort($aso_resultats, 'comparer');
$pds_max = $aso_resultats[0]['poids'];
for ($i = 0 ; $i < count($aso_resultats) ; $i++) {
$aso_resultats[$i]['score'] = (100 / $pds_max) * $aso_resultats[$i]['poids'];
}
return $aso_resultats;
}
function traduireMois($mois_numerique)
{
switch ($mois_numerique) {
case '01' :
return 'janvier';
break;
case '02' :
return 'février';
break;
case '03' :
return 'mars';
break;
case '04' :
return 'avril';
break;
case '05' :
return 'mai';
break;
case '06' :
return 'juin';
break;
case '07' :
return 'juillet';
break;
case '08' :
return 'août';
break;
case '09' :
return 'septembre';
break;
case '10' :
return 'octobre';
break;
case '11' :
return 'novembre';
break;
case '12' :
return 'décembre';
break;
default:
return '';
break;
}
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/12/07 10:24:06 jpm
* Moteur de recherche version de départ.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
/trunk/papyrus/applettes/moteur_recherche/bibliotheque/more_recherche_papyrus_menu.class.php
21,11 → 21,15
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: more_recherche_papyrus_menu.class.php,v 1.1 2004-12-07 10:24:06 jpm Exp $
// CVS : $Id: more_recherche_papyrus_menu.class.php,v 1.2 2005-04-14 17:39:34 jpm Exp $
/**
* Classe permettant d'effectuer des recherches sur les informations des menus de Papyrus.
*
* Permet de rechercher et classer les menus en fonction d'une chaine.
* Utilisation des bibliothèques inclue par Papyrus :
* - Papyrus pap_meta.fonct.php
* - Papyrus pap_menu.fonct.php
* - Papyrus pap_url.class.php
*
*@package Applette
*@subpackage Moteur_Recherche
34,7 → 38,7
//Autres auteurs :
*@author aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-12-07 10:24:06 $
*@version $Revision: 1.2 $ $Date: 2005-04-14 17:39:34 $
// +------------------------------------------------------------------------------------------------------+
*/
 
41,8 → 45,8
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/** Inclusion du fichier contenant les fonctions de manipulations des menus de Papyrus.*/
require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php';
///** Inclusion du fichier contenant les fonctions de manipulations des menus de Papyrus.*/
//require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php';
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
66,28 → 70,51
// Méthodes
function rechercherMotif($motif) {
$db = $GLOBALS['_MOTEUR_RECHERCHE_']['bd']['papyrus'];
// Préparation de l'url de l'entrée
$objet_pear_url = & new Net_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
$champs_code_menu = (GEN_URL_ID_TYPE_MENU == 'int') ? 'gm_code_num' : 'gm_code_alpha';
$tab_menus = GEN_retournerMenus($db);
foreach ($tab_menus as $cle => $menu_id) {
// Initialisation du tableau de résultat vide
$aso_resultat = array('poids' => 0, 'url' => '', 'titre' => '');
$aso_resultat = array( 'poids' => 0, 'url' => '', 'titre' => '',
'hreflang' => '', 'accesskey' => '', 'title' => '',
'date_creation' => '', 'description' => '');
// Récupération des infos du menu courant
$aso_menu_info = GEN_lireInfoMenu($db, $menu_id, DB_FETCHMODE_ASSOC);
// Récupération du contenu du menu courant
$aso_menu_contenu = GEN_lireContenuMenu($db, $menu_id, DB_FETCHMODE_ASSOC);
// Construction de l'url de ce menu
$objet_pear_url->addQueryString(GEN_URL_CLE_MENU, $aso_menu_info[$champs_code_menu]);
$aso_resultat['url'] = $objet_pear_url->getURL();
// Création de l'url
$une_url =& new Pap_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
$une_url->setId($menu_id);
$aso_resultat['url'] = $une_url->getURL();
// Récupération du titre de la page
if ($aso_menu_info['gm_nom'] != '') {
$aso_resultat['titre'] = $aso_menu_info['gm_nom'];
} else if ($aso_menu_info['gm_titre'] != '') {
$aso_resultat['titre'] = $aso_menu_info['gm_titre'];
} else if ($aso_menu_info['gm_titre_alternatif'] != '') {
$aso_resultat['titre'] = $aso_menu_info['gm_titre_alternatif'];
if (trim($aso_menu_info['gm_nom']) != '') {
$aso_resultat['titre'] = htmlentities($aso_menu_info['gm_nom']);
} else if (trim($aso_menu_info['gm_titre']) != '') {
$aso_resultat['titre'] = htmlentities($aso_menu_info['gm_titre']);
} else if (trim($aso_menu_info['gm_titre_alternatif']) != '') {
$aso_resultat['titre'] = htmlentities($aso_menu_info['gm_titre_alternatif']);
}
$aso_resultat['hreflang'] = htmlentities($aso_menu_info['gm_ce_i18n']);
$raccourci_txt = '';
$aso_resultat['accesskey'] = htmlentities($aso_menu_info['gm_raccourci_clavier']);
$raccourci_txt = MORE_LG_RESULTAT_CADRE_OUVRIR.
MORE_LG_RESULTAT_RACCOURCI.$menu_accesskey.' '.
MORE_LG_RESULTAT_CADRE_FERMER.MORE_LG_RESULTAT_POINT.' ';
$aso_resultat['title'] = htmlentities($raccourci_txt.$aso_menu_info['gm_description_resume']);
$aso_resultat['description'] = htmlentities($aso_menu_info['gm_description_libre']);
if (($jour = date('d', strtotime($aso_menu_info['gm_date_creation'] )) ) != 0 ) {
$aso_resultat['date_creation'] .= '<span class="page_modification_jour"> '.$jour.'</span>'."\n";
}
if (($mois = $this->traduireMois(date('m', strtotime($aso_menu_info['gm_date_creation'] ))) ) != '' ) {
$aso_resultat['date_creation'] .= '<span class="page_modification_mois"> '.$mois.'</span>'."\n";
}
if (($annee = date('Y', strtotime($aso_menu_info['gm_date_creation'] )) ) != 0 ) {
$aso_resultat['date_creation'] .= '<span class="page_modification_annee"> '.$annee.'</span>'."\n";
}
// Analyse du poids de cette page
$tab_champs_a_visiter = array( 'gm_nom', 'gm_titre', 'gm_titre_alternatif', 'gm_mots_cles',
'gm_description_libre', 'gm_description_resume', 'gm_description_table_matieres',
112,6 → 139,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/12/07 10:24:06 jpm
* Moteur de recherche version de départ.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
/trunk/papyrus/applettes/moteur_recherche/langues/more_langue_fr.inc.php
21,7 → 21,7
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: more_langue_fr.inc.php,v 1.1 2004-12-07 10:24:16 jpm Exp $
// CVS : $Id: more_langue_fr.inc.php,v 1.2 2005-04-14 17:39:34 jpm Exp $
/**
* Gestion des langues de l'applette Moteur_Recherche
*
34,7 → 34,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2004-12-07 10:24:16 $
*@version $Revision: 1.2 $ $Date: 2005-04-14 17:39:34 $
// +------------------------------------------------------------------------------------------------------+
*/
 
57,8 → 57,17
 
// Les résultats de la recherche :
define('MORE_LG_RESULTAT_TITRE', 'Résultats de la recherche');
define('MORE_LG_RESULTAT_RACCOURCI', 'Raccourci : ');
define('MORE_LG_RESULTAT_DESCRIPTION', 'Description : ');
define('MORE_LG_RESULTAT_DATE_CREATION', 'Date de création : ');
define('MORE_LG_RESULTAT_POIDS', 'Poids : ');
define('MORE_LG_RESULTAT_SCORE', 'Score : ');
define('MORE_LG_RESULTAT_SEPARATEUR', '-');
define('MORE_LG_RESULTAT_POURCENT', '%');
define('MORE_LG_RESULTAT_CADRE_OUVRIR', '(');
define('MORE_LG_RESULTAT_CADRE_FERMER', ')');
define('MORE_LG_RESULTAT_POINT', '.');
 
// +------------------------------------------------------------------------------------------------------+
// | PIED du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
67,7 → 76,10
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2004/12/07 10:24:16 jpm
* Moteur de recherche version de départ.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/papyrus/applettes/moteur_recherche/moteur_recherche.php
21,12 → 21,15
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: moteur_recherche.php,v 1.3 2005-02-22 19:27:21 jpm Exp $
// CVS : $Id: moteur_recherche.php,v 1.4 2005-04-14 17:39:34 jpm Exp $
/**
* Applette : moteur de recherche
*
* Génère un formulaire contenant une zone de saisie permettant de taper un texte à rechercher sur l'ensemble
* des sites gérés par Papyrus.
* Utilisation des bibliothèques inclue par Papyrus :
* - Papyrus pap_meta.fonct.php
* - PEAR NET_URL
*
*@package Applette
*@subpackage Moteur_recherche
35,7 → 38,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.3 $ $Date: 2005-02-22 19:27:21 $
*@version $Revision: 1.4 $ $Date: 2005-04-14 17:39:34 $
// +------------------------------------------------------------------------------------------------------+
*/
 
42,15 → 45,14
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
$_GEN_commun['info_applette_nom_fonction'] = 'afficherMoteurRecherche';
$_GEN_commun['info_applette_balise'] = 'MOTEUR_RECHERCHE';
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherMoteurRecherche';
$GLOBALS['_GEN_commun']['info_applette_balise'] = 'MOTEUR_RECHERCHE';
 
// --------------------------------------------------------------------------------------------------------
//Utilisation de la bibliothèque Papyrus pap_meta.fonct.php inclue par Papyrus
//Utilisation de la bibliothèque PEAR NET_URL inclue par Papyrus
/** Inclusion du fichier de configuration de cette application.*/
require_once GEN_CHEMIN_APPLETTE.'moteur_recherche/configuration/more_configuration.inc.php';
/** Inclusion de la bibliotheque permettant d'accéder aux fonctions sur les balises Meta.*/
//require_once GEN_CHEMIN_BIBLIO.'pap_meta.fonct.php';
//Utilisation de la bibliothèque PEAR NET_URL
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/
require_once MORE_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php';
/** Inclusion de la bibliothèque PEAR de modification des squelettes des formulaires QuickForm.*/
57,9 → 59,9
require_once 'HTML/QuickForm/Renderer/Default.php';
 
// Inclusion des fichiers de traduction de l'appli ADME dePapyrus
if (file_exists(MORE_CHEMIN_LANGUE.'more_langue_'.$_GEN_commun['i18n'].'.inc.php')) {
if (file_exists(MORE_CHEMIN_LANGUE.'more_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) {
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/
require_once MORE_CHEMIN_LANGUE.'more_langue_'.$_GEN_commun['i18n'].'.inc.php';
require_once MORE_CHEMIN_LANGUE.'more_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php';
} else {
/** Inclusion du fichier de traduction par défaut.*/
require_once MORE_CHEMIN_LANGUE.'more_langue_'.MORE_I18N_DEFAUT.'.inc.php';
80,7 → 82,7
GEN_modifierMetaHttpEquiv('Content-Type', 'text/html; charset=iso-8859-15');
GEN_modifierMetaHttpEquiv('Content-style-type', 'text/css');
GEN_modifierMetaHttpEquiv('Content-script-type', 'text/javascript');
GEN_modifierMetaHttpEquiv('Content-language', $_GEN_commun['i18n']);
GEN_modifierMetaHttpEquiv('Content-language', $GLOBALS['_GEN_commun']['i18n']);
GEN_modifierMetaName('revisit-after', '15 days');
GEN_modifierMetaName('robots', 'index,follow');
110,10 → 112,10
// --------------------------------------------------------------------------------------------------------
// Initialisation de variable de configuration.
$liste_type_site = '102, 103';// Les id des types des sites pouvant apparaître dans le sélecteur
$objet_pear_db = $_GEN_commun['pear_db'];//objet Pear créé par DB contenant la connexion à la base de données.
$code_site = $_GEN_commun['url_site'];//identifiant du site courant.
$id_langue = $_GEN_commun['url_i18n'];//identifiant de la langue principale du site courant.
$GLOBALS['_MOTEUR_RECHERCHE_']['bd']['papyrus'] = $_GEN_commun['pear_db'];// Connexion à la BD de Papyrus
$objet_pear_db =& $_GEN_commun['pear_db'];//objet Pear créé par DB contenant la connexion à la base de données.
$GLOBALS['_MOTEUR_RECHERCHE_']['bd']['papyrus'] =& $_GEN_commun['pear_db'];// Connexion à la BD de Papyrus
$code_site = $_GEN_commun['url_site'];// identifiant du site courant.
$id_langue = $_GEN_commun['url_i18n'];// identifiant de la langue principale du site courant.
$url = $_GEN_commun['url'];
$url_base = PAP_URL;
$url_cle_site = GEN_URL_CLE_SITE;
146,8 → 148,35
foreach ($aso_resultats as $val) {
if (!empty($val['url'])) {
$retour_resultats .= '<li>'."\n";
$retour_resultats .= '<a href="'.$val['url'].'">'.$val['titre'].'</a> '.MORE_LG_RESULTAT_SEPARATEUR.' ';
$retour_resultats .= MORE_LG_RESULTAT_POIDS.$val['poids']."\n";
$retour_resultats .= '<h2><a href="'.$val['url'].'" ';
if ($val['hreflang'] != '') {
$retour_resultats .= 'hreflang="'.$val['hreflang'].'" ';
}
if ($val['accesskey'] != '') {
$retour_resultats .= 'accesskey="'.$val['accesskey'].'" ';
}
if ($val['title'] != '') {
$retour_resultats .= 'title="'.$val['title'].'" ';
}
$retour_resultats .= '>'.$val['titre'].'</a></h2>';
$retour_resultats .= '<dl>'."\n";
//if (trim($val['poids']) != '') {
// $retour_resultats .= '<dt>'.MORE_LG_RESULTAT_POIDS.'</dt>'."\n";
// $retour_resultats .= '<dd>'.$val['poids'].'</dd>'."\n";
//}
if (trim($val['score']) != '') {
$retour_resultats .= '<dt>'.MORE_LG_RESULTAT_SCORE.'</dt>'."\n";
$retour_resultats .= '<dd>'.$val['score'].MORE_LG_RESULTAT_POURCENT.'</dd>'."\n";
}
if (trim($val['date_creation']) != '') {
$retour_resultats .= '<dt>'.MORE_LG_RESULTAT_DATE_CREATION.'</dt>'."\n";
$retour_resultats .= '<dd>'.$val['date_creation'].'</dd>'."\n";
}
if (trim($val['description']) != '') {
$retour_resultats .= '<dt>'.MORE_LG_RESULTAT_DESCRIPTION.'</dt>'."\n";
$retour_resultats .= '<dd>'.$val['description'].'</dd>'."\n";
}
$retour_resultats .= '</dl>'."\n";
$retour_resultats .= '</li>'."\n";
}
}
208,6 → 237,10
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.3 2005/02/22 19:27:21 jpm
* Changement de nom de variables.
* Suppression de l'attribut nam de la balise form via une méthode de HTML_Common.
*
* Revision 1.2 2005/02/22 17:44:03 jpm
* Suppression de référence posant problème.
*