Bonjour à tous.
Je suis en train de me faire un petit Mod sans prétention pour ne plus voir apparaitre une certaine plage d'IP dans les stats de ma gallerie. Notamment la plage 74.6.% qui correspond aux bots de Yahoo.
En effet, je suis fatigué de fouiller sans arrêt dans mes stats à la recherche des vrais visiteurs inscrits. Car, pour moi, l'historique n'est pas seulement pour "flatter l'ego du webmaster". Certains de mes visiteurs éprouvent des difficultés à se connecter (généralement pour cause de cookie de session non accepté) et je peux ainsi leur donner de plus amples informations lors de mes tentatives de dépannage.
Bref, y a-t-il du monde intéressé par ce Mod ? Je précise que pour l'heure, il ne supprime pas les IP de la plage considérée de la BDD ni n'empêche leur enregistrement. Seul l'affichage dans l'historique est filtré.
Plus tard peut-être...
Hors ligne
Moi, je ne veux pas un MOD, mais je veux un petit plugin prêt pour la 1.7... ;-)
C'est le moment de nous demander de placer les points d'entrée nécessaires pour faire vos plugins...
Hors ligne
Oui, un plugin pour la 1.7... Faut encore que je m'installe la RC1 pour voir comment cela se présente. Pas eu trop le temps mais je m'y met, promis.
Je part de ce pas à la recherche d'infos sur ces plugins dans le wiki et ici...
[Edit] Bon... ben, coté doc, je reste un peu sur ma faim... En attendant de mieux me familiariser avec les plugins de la 1.7, je propose toujours un MOD pour la 1.6. [/Edit]
Dernière modification par Eric (2007-03-03 20:41:58)
Hors ligne
Le MOD Stats IP Excluder est disponible dans les Extensions
Il s'agit de la version de lancement qui peut être amélioré. Je travaille également sur la version plugin pour la 1.7.
Toutes les infos nécessaires pour l'utilisation du Mod se trouvent dans le fichier install.txt
Hors ligne
Merci mister Eric pour ce MOD
je le testerai demain ... car la comme a mon habitude ... je rentre me coucher ;o)
a+ et je te donnerai mes compliments sur ton MOD plus tard bye
Hors ligne
Eric a écrit:
[Edit] Bon... ben, coté doc, je reste un peu sur ma faim... En attendant de mieux me familiariser avec les plugins de la 1.7, je propose toujours un MOD pour la 1.6. [/Edit]
Une doc en français a été faite par un membre du forum, mais je ne sais plus qui!
Sinon, pour ton cas, inspire-toi du plugin "hello word" dans un 1er temps, dans un 2eme temps, il va être nécessaire de rajouter un point d'entrée pour que tu puisses modifier la requêtes, a voir....
Hors ligne
C'est notre ami flipflip qui a commis une doc sur son wiki perso. Je vais m'en inspirer ainsi que du plugin "Hello World" comme tu le suggères.
Il me faudra effectivement pouvoir surcharger la requète pour l'affichage des stats... Dans un premier temps. J'ai l'intention d'améliorer mon affaire en supprimant ou en empêchant l'entrée de l'IP ou de la plage d'IP considérée par la variable Ip_Exclude que j'utilise.
Voire, pourquoi pas, de permettre d'exclure plusieurs IP ou plages d'IP. Dans ce cas, je pense qu'un array ferait l'affaire. Mais ce ne sont que des conjectures pour l'instant. D'abord voir comment faire un plugin !
Hors ligne
Bon, pour le plugin, c'est pas gagné...
J'ai vraiment du mal à cerner comment introduire ce que je sais faire en Mod dans une archi *plugin*... Il va me falloir un peu de temps, je crois.
D'autant que je me suis basé sur le wiki de flipflip. Navré, ami, si tu lis ces lignes, mais l'exemple qui est donné ne fonctionne pas complètement. Faut que je creuse l'histoire de l'écriture dans un fichier data.dat.
Bref, pour le plugin, j'ai deux points à éclaircir :
- La gestion des variables externes (ex $conf) pour spécifier la / les IP à exclure
- L'intégration de la clause *where* avec les dites variables ci-dessus dans le stats.php
A suivre...
Hors ligne
J'ai mis en ligne la version 1.1 de ce MOD. Au programme :
- Prise en charge d'entrées multiples d'exclusion => Plusieurs IP fixes ou plusieurs plages d'IP ou une combinaison des deux.
Les possibilités sont quasiment infinies. Le top serait d'empêcher les IP exclues de s'enregistrter en BDD. Mais....
rub : Promis ! Si j'arrive à piger le truc des plugins, la version 2 du MOD sera un plugin pour la 1.7 ! ;-)
Dernière modification par Eric (2007-03-05 23:03:16)
Hors ligne
Eric a écrit:
rub : Promis ! Si j'arrive à piger le truc des plugins, la version 2 du MOD sera un plugin pour la 1.7 ! ;-)
J'attends ca ;-)
Il faudra au moins qu'on rajoute 2 actions à mon avis!
Hors ligne
Oui, 2 actions surement...
A ce jour, j'ai pigé comment stocker mes variables dans un fichier data.dat et à les rappeler dans l'interface d'admin. Mais j'ai un problème pour la mise à jour et l'ajout de nouvelles données. Comme j'utilise un array dans la nouvelle version du MOD, il faudrait que je puisse le retranscrire dans le plugin... Pas gagné...
En plus, je ne vois pas comment "surcharger" la requête initiale dans stats.php avec concaténation du where existant. Je pense qu'il s'agit du point d'entrée manquant ?
Et pour empêcher purement et simplement l'entrée en base des IP exclues, çà doit être la même chose... Bref, je met le peu de temps que j'ai de dispo sur ce futur plugin mais un coup de main serait le bienvenu, je pense.
Hors ligne
Eric a écrit:
A ce jour, j'ai pigé comment stocker mes variables dans un fichier data.dat et à les rappeler dans l'interface d'admin. Mais j'ai un problème pour la mise à jour et l'ajout de nouvelles données. Comme j'utilise un array dans la nouvelle version du MOD, il faudrait que je puisse le retranscrire dans le plugin... Pas gagné...
Il faut passer par serialize / unserialize.
Eric a écrit:
En plus, je ne vois pas comment "surcharger" la requête initiale dans stats.php avec concaténation du where existant. Je pense qu'il s'agit du point d'entrée manquant ?
Après la 1.7ORC2, je vais voir ca. (Faudra me relancer!)
Sauf, si qq'1 peut d'aider avant.
Moi, je vois simplement l'ajout de where dans le sql et peut-être un ajout de combo.
Eric a écrit:
Et pour empêcher purement et simplement l'entrée en base des IP exclues, çà doit être la même chose... Bref, je met le peu de temps que j'ai de dispo sur ce futur plugin mais un coup de main serait le bienvenu, je pense.
Idem que § précédent.
Hors ligne
rub a écrit:
Il faut passer par serialize / unserialize.
Merci rub, c'est ce qu'il me fallait ! Comme je ne suis pas un crack en php, je patauge un peu dans les bases :-/
Actuellement, je sèche déjà sur la sauvegarde des données (IP et plages d'IP) dans un fichier data.dat... J'utilise la fonction suivante (issue du wiki de flipflip) :
function save_config() { $file = fopen( dirname(__FILE__).'/data.dat', 'w' ); fwrite($file, serialize($this->my_config) ); fclose( $file ); }
Malheureusement, çà ne fonctionne pas. Le fichier est bien lu et les données remontent dans mon interface du plugin. Mais lorsque je fais une modif sur les valeurs, la sauvegarde dans le fichier data.dat ne se fait pas.
Je pense que cela est due au fait que je développe en local sur un environnement EasyPhp sous WinXP. Mais alors pourquoi le fichier est-il lu correctement ?? Je sais que le team est très occupé avec les RC alors je lance un appel aux contributeurs habituels de ce Forum (Nicco, flipflip, vimages et cie...).
Je pense que le principe des plugins de la 1.7 est excellent mais la philosophie de codage est bien différente des MOD et pas évidente à appréhender pour les novices en php comme moi.
Dernière modification par Eric (2007-03-06 21:06:20)
Hors ligne
Tu as regardé le plugin event_tracer, il fait la lecture et l'écriture dans un fichier.
Hors ligne
rub a écrit:
Tu as regardé le plugin event_tracer, il fait la lecture et l'écriture dans un fichier.
Oui, je m'en inspire d'ailleurs beaucoup pour l'entrée des éléments à exclure. J'utilise un *textarea* avec retour à la ligne après chaque valeur.
En épluchant mon code, j'ai trouvé pourquoi çà ne fonctionnait pas à la sauvegarde du fichier data.dat => Une simple { manquante et une variable dans un assign_var non conforme à ce qui avait été déclaré en amont...
Maintenant, la partie interface avec l'admin est fonctionnelle. Ne reste plus qu'à pondre le code pour le where du sql.
Finalement, çà avance pas mal mon premier plugin :-) Grâce à ton aide, rub !
Muchas gracias !
Hors ligne