Création d'une variable de session

Bonjour
Je souhaite créer des nouvelles variables session à la connexion.
On m’a orienté vers les pipelines:
preparer_visiteur_session et préparer_fichier_session
( http://core.spip.org/projects/spip/repository/revisions/19241)
Le problème est … que je ne sais pas comment utiliser ces pipelines.

Quelqu’un aurait-il un exemple d’utilisation à me proposer?
Cordialement

9 ans plus tard ! :slight_smile:
Bonjour,

Je note ci-après quelques infos à toutes fins utiles, et pour archive !

Prérequis : La documentation pour créer un plugin et utiliser les pipelines.

En SPIP 3,4, pour ajouter de nouvelles infos en session, il s’agit de déclarer les 2 pipelines dans le fichier paquet.xml :

<pipeline nom="preparer_visiteur_session" inclure="prefixplugin_pipelines.php" />
<pipeline nom="preparer_fichier_session" inclure="prefixplugin_pipelines.php" />

Puis dans le fichier prefixplugin_pipelines.php, voici un exemple où on ajoute 2 informations en session : animal et couleur.

<?php
if (!defined('_ECRIRE_INC_VERSION')) {
    return;
}

// Ajout à la session lors de la connexion.
function prefixplugin_preparer_visiteur_session($flux) {
    $flux['args']['row']['animal'] = $flux['data']['animal'] = 'elephant';
    $flux['args']['row']['couleur'] = $flux['data']['couleur'] = 'rose';
    return $flux;
}

// Ajout dans le fichier de session (/tmp/sessions)
// NB : sert de source pour charger la session à chaque changement de page.
function prefixplugin_preparer_fichier_session($flux) {
    $flux['args']['row']['animal'] = $flux['data']['animal'] = 'elephant';
    $flux['args']['row']['couleur'] = $flux['data']['couleur'] = 'rose';
    return $flux;
}

Voir aussi : source de ces 2 pipelines