Informer à la première connexion - commentairesInformer à la première connexion2015-06-11T13:20:17Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4825292015-06-11T13:20:17Z<p>J'ai envoyé un mail sur la liste spip-dev + un ticket :<br class="autobr">
<a href="https://core.spip.net/issues/3480" class="spip_url spip_out auto" rel="nofollow external">https://core.spip.net/issues/3480</a></p>Informer à la première connexion2015-06-11T11:39:26Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4825272015-06-11T11:39:26Z<p>Oui<small class="fine d-inline"> </small>! Cela ne semble pas avoir évolué. Je viens de contrôler avec SPIP 3.0.19 [22089] et pour les auteurs avec le status « 6forum », le champs « en_ligne » reste à « 0000-00-00 00:00:00 ».</p>Informer à la première connexion2015-06-10T16:46:08Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4824962015-06-10T16:46:08Z<p>As-tu toujours ce problème sur des versions récentes de SPIP<small class="fine d-inline"> </small>?</p>
<p>Il faudrait peut-être rapporter ce problème sur la liste spip-dev du noyau et/ou dans un ticket pour mémoire.</p>Informer à la première connexion2014-07-08T11:51:13Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4761352014-07-08T11:51:13Z<p>Bonjour à tous,<br class="autobr">
Après plusieurs tests et recherches, j'ai trouvé ceci :<br class="autobr">
« les visiteurs ne sont pas mis à jour normalement (en_ligne)(seulement quand on visite la partie privée) »<br class="autobr">
[Extrait de <a href="https://www.mail-archive.com/spip@rezo.net/msg33105.html" class="spip_url spip_out auto" rel="nofollow external">https://www.mail-archive.com/spip@rezo.net/msg33105.html</a>]<br class="autobr">
C'est bien le cas sur mes plateformes SPIP. Pour résumer, à la connexion le champs « en_ligne » est renseigné par la valeur de la date et l'heure de la connexion mais à la condition d'entrer sur la partie privée, puis retour à zéro si déconnexion ... En cas de fermeture de la session du navigateur sans déconnexion, la valeur persiste dans la table... jusqu'à la prochaine déconnexion où la valeur retombe à zéro.</p>Informer à la première connexion2014-07-02T16:44:24Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4760762014-07-02T16:44:24Z<p>Je rencontre ce problème sur une autre plate-forme SPIP 3.0.16 [21266]. A la connexion des admins la valeur du champ change mais retombe à zéro à la déconnexion, pour les visiteurs c'est pire encore : toujours à zéro même pendant la connexion. La désactivation des plugins n'a rien résolu<small class="fine d-inline"> </small>;( <br class="autobr">
Je repars sur un SPIP tout neuf pour quelques tests complémentaires...</p>Informer à la première connexion2014-07-02T11:40:00Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4760722014-07-02T11:40:00Z<p>Hihi, oui, c'est effectivement plutôt là le problème. :D</p>
<p>Ce champ n'est pas censé être à zéro sauf la toute première fois. Un plugin qui interfère avec cette valeur<small class="fine d-inline"> </small>?</p>Informer à la première connexion2014-07-02T11:30:09Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4760712014-07-02T11:30:09Z<p>Merci Rasta, mais tous mes utilisateurs ont ce champs à 000... dans la table<small class="fine d-inline"> </small>;(<br class="autobr">
Je tente de trouver d'où provient ce problème.</p>Informer à la première connexion2014-07-02T10:32:36Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4760692014-07-02T10:32:36Z<p>Je répète : « en_ligne » est un champ <strong>permanent</strong> gardé dans la table des utilisateurs. Il ne vaut « 0000… » que la toute première fois. Les connexions suivantes, ce champ est rempli d'une date. Or le message ne s'affiche que lorsque cette date est à zéro.</p>Informer à la première connexion2014-07-02T10:28:53Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4760682014-07-02T10:28:53Z<p>Sauf erreur, tu perds tout côté serveur à la fermeture de la session. Un cookie quasi permanent côté client semble être la solution la plus simple :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>and !session_get('informer_premiere_connexion')
// on vérifie que le cookie dont le nom contient l'id de l'auteur n'existe pas
and !isset($_COOKIE['spip_informer_premiere_connexion_'.session_get('id_auteur')])</code></pre></div>
<p>et</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> // Maintenant on peut affirmer que le message a été lu
session_set('informer_premiere_connexion', 'oui');
// on crée un cookie dont le nom contient l'id de l'auteur
include_spip('inc/cookie');
spip_setcookie('spip_informer_premiere_connexion_'.session_get('id_auteur'), 'oui',time() + 365 * 24 * 3600);</code></pre></div>
<p>Bien entendu, si l'utilisateur supprime tout ses cookies, on pert l'information.<br class="autobr">
Je vais suivre ton conseil concernant la création d'un compte ...</p>Informer à la première connexion2014-07-02T08:41:48Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4760642014-07-02T08:41:48Z<p>Pour la coquille CSS :<br class="autobr">
<a href="http://zone.spip.org/trac/spip-zone/changeset/83527" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/changeset/83527</a></p>Informer à la première connexion2014-07-01T16:47:01Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4760542014-07-01T16:47:01Z<p>Pour la session, je ne comprends pas trop par contre, car le test réel est qu'il faut :<br class="autobr">
<code class="spip_code spip_code_inline" dir="ltr">session_get('en_ligne') == '0000-00-00 00:00:00'</code><br class="autobr">
ET<br class="autobr">
<code class="spip_code spip_code_inline" dir="ltr">!session_get('informer_premiere_connexion')</code></p>
<p>Si tu t'es déjà connecté une fois, et que tu te déconnectes, tu perds effectivement le « informer_premiere_connexion » dans la session MAIS ta valeur de « en_ligne » ne sera plus la même à la connexion suivante<small class="fine d-inline"> </small>!</p>Informer à la première connexion2014-07-01T16:42:58Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4760532014-07-01T16:42:58Z<p>Merci pour ce retour, je tenterais de prendre le temps de corriger ces erreurs d'ici peu. Sinon, tu peux aussi demander un compte sur le SVN de spip-zone (si tu n'en as pas déjà) et corriger toi-même. :)</p>Informer à la première connexion2014-06-27T12:22:34Zhttps://files.spip.org/Informer-a-la-premiere-connexion#comment4759982014-06-27T12:22:34Z<p>Bonjour,<br class="autobr">
Voici un petit retour :
<br>- coquille dans le css inclus dans informerpremiereconnexion_pipelines.php « coor » au lieu de « color »,
<br>- session_set('informer_premiere_connexion', 'oui') est perdu avec une déconnexion, et donc le message s'affiche à chaque connexion et non à la première connexion. <br class="autobr">
On peut améliorer le plugin peut-être avec un cookie persistant<small class="fine d-inline"> </small>?</p>