source: spip-zone/_plugins_/identite_extra/trunk/identite_extra_pipelines.php

Last change on this file was 110030, checked in by rastapopoulos@…, 2 years ago

Amélioration pour ne plus utiliser de GLOBALS et permettre l'extension par un pipeline plus propre et plus pérenne, avec une fonction centrale pour récupérer la liste. L'ancienne globale est évidemment toujours utilisée dans cette fonction, si elle existe, pour les gens qui l'utilisaient.

File size: 1.4 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7/**
8 * Ajouter des champs supplémentaires sur configurer_identite
9 *
10 * Les champs sont définis dans une fonction extensible par le pipeline "identite_extra_champs"
11 *
12 * @param array $flux
13 * @return array
14 */
15function identite_extra_formulaire_fond($flux) {
16        # formulaire : configurer_identite
17        if (
18                $flux['args']['form'] == 'configurer_identite'
19                and ($p = strpos($flux['data'], '<!--extra-->'))
20                and identite_extra_champs()
21        ) {
22                $ajout = recuperer_fond('prive/formulaires/configurer_identite_extra', $flux['args']['contexte']);
23                $flux['data'] = substr_replace($flux['data'], $ajout, $p, 0);
24        }
25       
26        return $flux;
27}
28
29// Charger les valeurs déjà existantes dans la méta
30function identite_extra_formulaire_charger($flux) {
31        # formulaire : configurer_identite
32        if ( $flux['args']['form'] == 'configurer_identite' ) {
33                $valeurs = array();
34               
35                foreach (identite_extra_champs() as $champ) {
36                        $valeurs['identite_extra'][$champ] = lire_config('identite_extra/' . $champ, '');
37                }
38               
39                $flux['data'] = array_merge($flux['data'], $valeurs);
40        }
41       
42        return $flux;
43}
44
45
46// Mettre à jour la méta
47function identite_extra_formulaire_traiter($flux) {
48        # formulaire : configurer_identite
49        if ($flux['args']['form'] == 'configurer_identite' and $config = _request('identite_extra')) {
50                ecrire_config('identite_extra', $config);
51        }
52
53        return $flux;
54}
Note: See TracBrowser for help on using the repository browser.