Les recherches effectuées par les visiteurs d’un site donnent des indications sur ce qu’ils pensent y trouver. Il est donc intéressant de pourvoir conserver les mots qu’ils ont utilisés pour ces recherches.
Le formulaire de recherche génère un appel au module « recherche.php3 » en lui passant les mots saisis dans la variable recherche.
Il suffit alors de construire un squelette « recherche.html » inspiré du squelette standard « recherche-dist.html » qui accumule le contenu de la variable recherche dans un fichier qui peut s’appeler « recherche.log ».
L’archivage de ce fichier se fait de manière semi-automatique puisque dès que le fichier dépasse les 1000 lignes, il est vidé et envoyé automatiquement à l’administrateur par mail.
Installation
- Remplacez le fichier inc_mail.php3 du répertoire ecrire/
par celui ci :
- Placez le code ci-dessous dans le fichier recherche.html :
<?
/*
* +----------------------------------+
* Nom du script : conserver les mots utilisés par le moteur de recherche
* +----------------------------------+
* Date : jeudi 12 juin 2003
* Auteur : Maurice Frankel
* Aurélien PIERARD aurelien.pierard@sig.premier-ministre.gouv.fr
* +-------------------------------------+
* Fonctions de ce filtre :
* Faire un fichier log des mots utilisés par le moteur de recherche avec archivage semi-automatique (envoyer par mail)
* +-------------------------------------+
*
* Pour toute suggestion, remarque, proposition d'ajout
* reportez-vous au forum de l'article :
* http://www.uzine.net/spip_contrib/article.php3?id_article=181
*/
// Variables à modifier :
$email="admin@admin.fr"; // adresse mail de l'admin du site
$sujet="Fichier log du moteur de recherche du site : [(#NOM_SITE_SPIP|addslashes)]"; // sujet du message
$texte="Fichier log du moteur de recherche du site : [(#NOM_SITE_SPIP|addslashes)]"; // texte du message
// Sauvegarde des mots tapés dans le moteur de recherche dans le fichier recherche.log
$d = date("d/m/Y; H:i:s");
$ligne = "$d; $recherche; \r\n";
$fichier="recherche.csv";
$flog = fopen($fichier,"a");
fputs($flog,$ligne);
fclose($flog);
// Compte le nombre de lignes. Si le nombre > 1000 on mail le fichier et on le vide
$fileLines=file("recherche.csv");
$nblignes=count($fileLines);
if ($nblignes>=1000){
// Mail
envoyer_mail_piecejointe($email, $sujet, $texte, "", "", $fichier);
// On vide le fichier
$flog = fopen($fichier,"w");
fputs($flog," ");
fclose($flog);
}
// Fin du log
?>
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |