SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 226 visiteurs en ce moment

Accueil > Auteurs, authentification et autorisations > Authentification > Date et heure de connexion > Plugin « Date et heure de connexion » (SPIP 1.9.2)

Plugin « Date et heure de connexion » (SPIP 1.9.2)

MàJ pour spip 1.9.2

22 octobre 2006 – par romain – 22 commentaires

Attention ! Cette contribution modifie des fichiers du noyau de SPIP !

Même si elle a été testée par plusieurs utilisateurs nous ne pouvons garantir qu’il n’y aura pas d’effets secondaires dommageables sur votre SPIP. Conservez toujours les fichiers d’origine pour pouvoir revenir au noyau originel.

De plus, elle n’est compatible qu’avec une version précise de SPIP et sera perdue à la prochaine mise à jour : vous devrez donc recommencer.

Sans tomber dans la parano ni le flicage, il est des situations où l’on doit pouvoir attester d’une présence, d’une absence (en milieu scolaire par exemple). Que vous utilisiez la version modifiée de exec/auteurs.php ou que vous installiez le plugin, cela vous permettra de voir le jour et l’heure de la dernière connexion...


[*La version classique*]


Examinons donc les différentes modifs à apporter au fichier auteurs.php d’origine.

-  Changer l’ordre « par défaut » de tri des auteurs
Tout en haut du fichier, on trouve :

On va donc modifier $tri=’nom’ en $tri=’date’.


-  Implémenter un tri "par date de connexion
descendons vers la ligne 65, où l’on trouve :

Aux tris prévus, par nom, statut ou nombre d’articles, on va rajouter la possibilité d’un tri par date. Le _L nous permet de glisser un texte « en dur » qui s’affichera entre le petit bonhomme coloré et le nom des auteurs.


-  modifier l’affichage du tableau des auteurs
aux alentours de la ligne 133, on trouve :

La version d’origine prévoit donc par défaut de trier par nom (avec un lien cliquable pour y revenir si on a trié autrement). Nous allons maintenant rajouter la possibilité de trier par date en affichant un lien « Connexion ».


-  implémenter le tri par date de connexion
à la ligne 252, on trouve :

Nous allons modifier le tri par défaut en plaçant le critère « default » au niveau d’un nouveau switch ’date’. Ce faisant, nous allons insérer l’ordre sql de trier la table sur le champ « en_ligne’.


-  Coder la requête de tri
à la ligne 270, on trouve la »très sympa" petite requête d’origine...

Nous allons donc nous atteler à la modification de la bête...
en rajoutant ’aut.en_ligne AS en_ligne,’ au début


-  Permettre un affichage compréhensible de la date
juste en dessous de la « petite requête sympa »...

On récupère les morceaux à grand coups de ’substr’ ; pour le détail de cette fonction, vous pouvez jeter un oeil ici...


-  gérer l’affichage final
à la ligne 343 on trouve :

sous lequel on va rajouter
de quoi obtenir l’affichage tant désiré...

PNG - 6.7 ko
Dates de connexion
Affichage obtenu après avoir fait les modifs sur exec/auteurs.php

[*La mise en Plugin*]


-  Considérations de départ
Bidouiller un fichier de ecrire/exec, comme nous venons de le faire ci-dessus, c’est bien. Le problème, c’est qu’en cas de mise à jour de la distrib spip, il faut se souvenir du (ou des) fichiers qu’on a modifié pour ne pas les écraser. La mise en « plugin » permet tout d’abord d’éviter ce genre problème. _ En outre, les plugins peuvent être à volonté activés / désactivés, ce qui évite bien des manip fastidieuses.
Alors... on y retourne !

-  Récupérer un modèle
Pour commencer, nous allons récupérer un modèle de plugin sur svn ://zone.spip.org/spip-zone/ (le « plugin_template »). C’est en éditant son contenu et en virant ce qui ne nous est pas utile qu’on va créer notre plugin connexion.

-  Editer plugin.xml
Ce fichier est fourni avec des indications assez claires sur sa structure. Pour l’essentiel, il suffit donc de mettre le nom du plugin, celui de l’auteur, la version et la description dans les balises du même nom.

Les éléments plus « sensibles » sont :

    • la balise « options »
      Le documentation indique que le fichier options (comme l’ancien mes_options.php) sera chargé a chaque hit. C’est donc bien à elle que nous devons nous atteler puisque, si nous voulons savoir qui s’est connecté récemment, il faut recalculer.
      La balise « options » prendra donc la forme suivante :

      Bien sûr, comme indiqué dans la doc, nous inventons pour ce fichier un nom unique (surtout pas mes_options.php). C’est dans ce fichier « connexions_options.php » que nous copierons tout simplement la totalité de notre fichier ecrire/exec/auteurs.php modifié (tout simplement).

    • La balise « fonctions » :
      Comme nous n’en avons pas besoin, elle restera vide.
    • La balise « prefixe » :
      Là encore la doc fournit des indications précises et claires : pas d’ambiguité dans le nom qui doit être unique et sera repris dans toutes nos fonctions. Ici on reste simple :
    • La balise « pipeline » :
      C’est le coeur du truc. C’est le pipeline, aussi appelé point d’entrée, qui nous permet d’altérer le fonctionnement standard de spip. La liste des pipelines déjà prévus dans spip peut être étudiée dans inc_version. Là, comme nous cherchons à altérer le fonctionnement d’un fichier de ecrire/exec en entier, nous allons retenir uniquement le pipeline « body_prive ».


      La doc indique que l’on peut se dispenser de « inclure ». Nous allons néanmoins indiquer expressément le nom de ce fichier (et tout de suite après l’éditer).

-  Editer « template_pipelines_admin.php »
Avant d’aller plus loin, nous renommons ce fichier sous le nom que nous avons indiqué dans plugin.xml, c’est à dire « connexions_pipelines_admin.php ».
En l’éditant, nous découvrons que plusieurs fonctions ont été prévues. La plupart ne nous servant à rien, nous les effaçons pour arriver au code suivant :

-  Editer « template_options.php »
Avant d’aller plus loin, nous renommons ce fichier sous le nom que nous avons indiqué dans plugin.xml, c’est à dire « connexions_options.php ».
En l’éditant, nous découvrons... qu’il est vide !
Super !
On va y copier/coller la totalité du fichier ecrire/exec/auteurs.php que nous avons modifié selon nos besoins dans la première partie de cet article.

-  Et ensuite ?
et ensuite,... c’est fini (ou presque). Nous pouvons effacer les fichiers templates qui ne servent à rien dans notre cas (template_fonctions, template_pipelines_cron, template_pipelines_typo et template_pipelines_public).
Nous avons donc un plugin tout neuf composé de 4 fichiers :

    • gpl_fr.txt : (pour la license)
    • plugin.xml
    • connexions_pipellines_admin.php
    • connexions_options.php

Si ce n’est déjà fait, on crée un dossier « plugins » à la racine du spip. On y crée ensuite un sous-dossier « _connexions_ » ou « connexions_auteurs » (ou ce que vous voulez, a priori ça n’est pas critique). On y glisse nos quatre fichiers.

Dans l’interface privée, les bouton « Configuration » fait alors apparaître un « Gestion des plugins » qui nous permet d’activer notre plugin. On s’en rend compte aussitôt en allant sur la page « Auteurs » dont le fonctionnement est désormais modifié tant que le plugin est activé.

Dernière modification de cette page le 3 août 2009

Retour en haut de la page

Vos commentaires

  • Le 9 février 2007 à 18:11, par thx11 En réponse à : Plugin « Date et heure de connexion » (spip 1.9)

    Excellent, marche du premier coup, encore plus simple sans plugin !

    Peut-on imaginer d’aller encore plus loin et d’avoir tous les logs par connecté ainsi que la pages visitées ? Ce serait vraiment très utile pour des sites à vocation d’enseignement.

    • Le 5 août 2008 à 09:26, par ? En réponse à : Plugin « Date et heure de connexion » (spip 1.9)

      Bonjour

      Je ne suis pas « spipeur », j’ai trouvé le coeur de spip assez « obsoléte », il y a encore des déclarations de variables « global » partout dans le code...

      pourtant le communauté ne semble pas manquer de membres developpeurs, à quand la refonte spip orienté objet ?

    Répondre à ce message

  • Le 1er septembre 2007 à 13:12, par Bernard Blazin En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

    Très bonne contribution !

    Mis à part quelques drôles de trucs dans la présentation, ce plugin fonctionne très bien aussi en 1.9.3

    Quelle serait l’idée, par exemple une balise, pour afficher sur la partie publique du site les rédacteurs connectés dans la journée ?

    J’avoue ne pas avoir saisi tout le code, alors si l’idée te venait pour afficher cela côté public, ce serait géant !!

    Bravo !!

    • Le 7 septembre 2007 à 06:11, par cedric En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

      Je serais aussi tres intéressant pour voir figurer cette liste des dernieres connexions sur une page de mon site (et non pas dans l’interface d’adminisatration).

      Cela pourrait il se faire ?

    • Le 3 octobre 2007 à 21:37, par cedric En réponse à : dernieres connexions des auteurs

      Fonctionnellement et basiquement, il y a ceci (si ca peut aider quelqu’un...). Ca permet d’afficher la liste de 15 dernieres connexions, code à insérer simplement dans un squelette :

      <?php

              $query="SELECT id_auteur, nom, DATE_FORMAT(en_ligne,'%d/%m/%y %H:%i') AS vu, statut ".
                              "FROM spip_auteurs ".
                              "WHERE statut IN ('0minirezo', '1comite') ".
                              "ORDER BY en_ligne DESC LIMIT 0,15";
              $result = spip_query($query);
              $ifond = 0;

              while ($row = spip_fetch_array($result)) {
             $ifond = $ifond ^ 1;
                 if($row[id_auteur]!=$connect_id_auteur) {
                      echo "<tr>\n".
                 "<td width='10%'>
                 <div align='left' class='verdana2 bold'>".
                              "<div align='left' class='verdana1'>".$row[nom]."</div>\n
                </div></td></tr>\n".
                         "<tr><td width='5%'>\n".
                 #"<div align='left' class='verdana1'>&nbsp; &nbsp; &nbsp; &nbsp; ".date('affdate',strtotime($row[en_ligne]))."</div>\n".
                 "<div align='left' class='verdana1'>".$row[vu]." <br>&nbsp;</br></div>\n".
                              "</td></tr>\n";
                      }
         }
      ?>
    • Le 4 octobre 2007 à 23:21, par Bernard Blazin En réponse à : dernieres connexions des auteurs

      Merci beaucoup, j’en ai profité pour construire la balise #EN_LIGNE et je vais tenter d’agrémenter le tout avec des petits bonshommes pour les rédacteurs et les admin du site.

      Je vais essayer de faire disparaitre également les membres jamais logués, ce ne devrait pas être trop difficile..

      Je ferai un petit retour quand ce sera fini.

      Merci encore ! et bravo ;)

    • Le 4 octobre 2007 à 23:25, par cedric En réponse à : dernieres connexions des auteurs

      Chouette ! tiens moi au courant, ca m’intéresse !

    Répondre à ce message

  • Le 1er octobre 2007 à 09:45, par pajanot En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

    Bonjour,

    j’ai un probleme avec les « visiteurs » qui ne peuvent aller dans la partie « privé ».

    J’ai fait pas mal de tests avec des « jamais connecté » qui restent indiqués comme tel malgrè des connexions répétées. J’utilise la version 1.9.2b et Firefox.

    Merci pour votre travail

    • Le 16 juillet 2008 à 17:32, par mickael En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

      Salut, j’ai le même soucis avec certains utilisateurs, ils semblent que cela vienne de la façon dont est fermée la session : si le visiteur appuie sur le bouton déconnecter, j’ai bien sa date de dernière connexion , autrement non.

    • Le 21 juillet 2008 à 15:47, par mickael En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

      ...c’est d’ailleur assez logique puisqu’il faut une action pour que le script s’éxecute.

      L’idéal serait de renseigner le champ date de connexion à l’ouverture de la session, mais j’ai l’impression que pour gérer cette solution il faille modifier le noyau de spip.

    Répondre à ce message

  • Le 29 février 2008 à 13:40, par YannX En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

    Outil très utile...... dommage qu’il ne soit pas intégré dans la zone (cf. remaque déjà donnée)

    Une autre suggestion : serait-il possible de balancer plutot une liste autonome (enrichir le sous-menu de Auteurs) plutot que de remplacer la liste Auteurs d’origine, par une liste paginée, plus difficile à utiliser pour rechercher les auteurs (lors de la mise-à-jour ou création de nouveaux comptes...).

    @+

    Yx

    • Le 3 avril 2008 à 14:07, par YannX En réponse à : « Date et heure de connexion » (spip 1.9.2) dans le Couteau Suisse

      Bonjour,

      Dans la forme Plugin actuelle, cette fonctionnalité très utile écrase la gestion standard......

      J’avais commencé à la modifier....qd j’ai découvert les « Boites Privées » du Couteau Suisse !

      Meme s’il s’agit d’un outil devenu..... incontournablement complexe....
      j’ai switché (pour l’instant) !

      A suivre....
      Yx

    Répondre à ce message

  • Le 19 janvier 2008 à 08:53, par Philippe G. En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

    Hors sujet peut-être, mais... Je ne trouve pas ce plugin connexions_auteurs dans la liste des plugins à l’adresse http://files.spip.org/spip-zone/.

    Répondre à ce message

  • Le 19 juin 2007 à 19:38, par frdmfrdm En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

    Merci beaucoup pour ce plugin.
    Une étrangeté à mes yeux : la liste des auteurs ne s’affiche plus que par 4 auteurs à la fois, cela semble ne pas avoir de rapport avec le but du plugin, et cela fait beaucoup de « pages » à consulter, si on ne peut voir les auteurs que par 4 à la fois.
    Perplexe...
    frdmfrdm

    • Le 20 juin 2007 à 17:06, par frankybee En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

      J’ai trouvé dans « connexions_options.php », à la ligne 43 : $max_par_page = 4 ;

      le 4 défini ici le nombre d’auteurs affichés. Je l’ai changé pour 20 et ça marche...

    • Le 23 juin 2007 à 21:55, par frdmfrdm En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

      Merci beaucoup pour cette précision si rapide sur le paramètre à régler.
      ...J’ai un autre problème : lorsque je suis dans l’affichage des « Visiteurs », si je clique sur un entête de colonne (« nom ») pour modifier le critère de classement, je reste comme il se doit formellement sur la page « Visiteurs », mais le contenu du tableau change et ce sont les « Auteurs » qui se retrouvent affichés. Pour cette question là je me sens moins, heu..., un peu bête que pour la précédente, où le nom du fichier parlait par lui-même (connexions_options.php...).

    Répondre à ce message

  • Le 22 mai 2007 à 14:19, par eric En réponse à : Plugin « Date et heure de connexion » (spip 1.9.2)

    Super ! Merci !

    Répondre à ce message

  • Le 19 mars 2007 à 20:36, par Ben33 En réponse à : Spip 1.9.2, Mise à jour d’un correctif ?

    Quand esqu’il y aura un correctif mis à jour pour SPIP 1.9.2 car sous IE il y a des bugs (sous menu des onglets en haut qui ne s’affichent pas, ect...)
    Merçi d’avance !

    • Le 19 mars 2007 à 20:42, par Romain (Aka le Jamais Content) En réponse à : Spip 1.9.2, Mise à jour d’un correctif ?

      Pour IE et 1.9.2... coment le dire sans blesser qui que ce soit...
      « quand tu auras mis le nez dans le code pour le faire » ?
      Le code n’a rien de sorcier tu verras.

      Je n’utilise pas IE, ne ferai rien pour m’y mettre. Sorry.

    Répondre à ce message

  • Le 5 mars 2007 à 18:41, par Chris En réponse à : 1.9.2 ?

    c’est compliqué à adapter pour 1.9.2 ? suis obligé à regret de m’en passer...

    • Le 5 mars 2007 à 19:38, par romain (AKA le Jamais Content) En réponse à : 1.9.2 ?

      compliqué à adapter pour 1.9.2 ?

      Boarf... je ne pense pas ;-)
      enfin, j’espère que non parce que j’en ai besoin aussi !
      Dès que j’ai un moment, je m’y colle.

      Ca ne devrait pas prendre 107 ans parce que je commence à mieux réussir mon coup avec les plugins et qu’à l’origine c’était pas bien sorcire... Donc « ya d’lespoir ».

    • Le 6 mars 2007 à 01:03, par romain En réponse à : 1.9.2 ?

      Voilà, c’est fait ! :-)
      Le plugin pour SPiP 1.9.2 est joint à l’article.
      Quand j’aurai du temps devant moi, je reprendrai le texte de cet article. Pour l’instant le code du plugin est juste documenté (un peu).

      N’Joy.
      Romain

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Adaptive Images

    15 novembre 2013 – 69 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Social tags

    8 septembre 2008 – 428 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Module de Paiement Stripe

    17 octobre – commentaires

    Stripe est un prestataire de paiement externe https://stripe.com/fr qui propose une API moderne et une interface de paiement extrêmement conviviale et efficace. Ce module permet les paiements à l’acte et les paiement récurrents. Configuration (...)

Ça spipe par là