source: spip-zone/_plugins_/informer_premiere_connexion/trunk/informerpremiereconnexion_pipelines.php @ 81026

Last change on this file since 81026 was 81026, checked in by rastapopoulos@…, 6 years ago

Un mini plugin pour ajouter un message lors de la toute première connexion d'un nouvel utilisateur, juste après qu'il ait confirmé son inscription.

Le plugin ajoute un message tout au début du <body>, avec un identifiant de bloc #informer_premiere_connexion.

Il y a une phrase par défaut, mais le plugin comporte aussi une page de configuration pour modifier le texte dans l'interface d'admin (et donc possiblement avec des paragraphes, des liens, etc).

Lorsque JS est là, un lien "Fermer" est ajouté en fin de message, et permet de replier le bloc et le supprimer du DOM. Une fois qu'il a été affiché, il ne s'affiche normalement plus jamais.

Le plugin ajoute aussi en début de <head> quelques styles très minimaux pour être sûr que ce soit lisible. Facilement surchargeable dans votre thème ensuite.

File size: 981 bytes
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION')) return;
5
6function informerpremiereconnexion_affichage_final($flux){
7        // Si on a un utilisateur connecté
8        if (
9                include_spip('inc/session')
10                and session_get('id_auteur') > 0
11                and session_get('en_ligne') == '0000-00-00 00:00:00'
12                and !session_get('informer_premiere_connexion')
13        ){
14                // On ajoute le message en haut de page, au tout début
15                $message = recuperer_fond('inclure/informer_premiere_connexion');
16                $flux = preg_replace('|(<body[^>]*>)|is', "$1\n$message", $flux);
17               
18                // On ajoute quelques styles minimaux par défaut
19                $styles = <<<POUET
20<style type="text/css">
21#informer_premiere_connexion{
22        background-color:#E5F9CD;
23        coor:black;
24        font-size:1.2em;
25        padding:1em;
26        text-align:center;
27}
28</style>
29POUET;
30                $flux = preg_replace('|(<head[^>]*>)|is', "$1\n$styles", $flux);
31               
32                // Maintenant on peut affirmer que le message a été lu
33                session_set('informer_premiere_connexion', 'oui');
34        }
35       
36        return $flux;
37}
Note: See TracBrowser for help on using the repository browser.