source: spip-zone/_plugins_/profils/trunk/profils_pipelines.php @ 109013

Last change on this file since 109013 was 109013, checked in by rastapopoulos@…, 18 months ago

On supprime les champs d'origine car nous on va rajouter les notre, y compris possiblement le pseudo et l'email de la table spip_auteurs OU PAS forcément. Pour l'instant si on utilise mot de passe à l'inscription aussi, ça se met après le choix du mot de passe, à voir c'est quoi le plus logique…

File size: 1.9 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par Profils
4 *
5 * @plugin     Profils
6 * @copyright  2018
7 * @author     Les Développements Durables
8 * @licence    GNU/GPL
9 * @package    SPIP\Profils\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16/**
17 * Optimiser la base de données
18 *
19 * Supprime les objets à la poubelle.
20 *
21 * @pipeline optimiser_base_disparus
22 * @param  array $flux Données du pipeline
23 * @return array       Données du pipeline
24 */
25function profils_optimiser_base_disparus($flux) {
26        sql_delete('spip_profils', "statut='poubelle' AND maj < " . $flux['args']['date']);
27
28        return $flux;
29}
30
31/**
32 * Liste les saisies à ajouter au formulaire d'inscription
33 *
34 * @pipeline formulaire_saisies
35 * @param  array $flux Données du pipeline
36 * @return array       Données du pipeline
37 */
38function profils_formulaire_saisies($flux) {
39        if ($flux['args']['form'] == 'inscription') {
40                include_spip('inc/profils');
41               
42                if ($saisies = profils_chercher_saisies_profil('inscription', 'new')) {
43                        $flux['data'] = $saisies;
44                }
45        }
46
47        return $flux;
48}
49
50/**
51 * Ajoute les champs au formulaire d'inscription
52 *
53 * @pipeline formulaire_fond
54 * @param  array $flux Données du pipeline
55 * @return array       Données du pipeline
56 */
57function profils_formulaire_fond($flux) {
58        if (
59                $flux['args']['form'] == 'inscription'
60                and $saisies = $flux['args']['contexte']['_saisies']
61        ) {
62                // On commence par virer les champs de départ car on va faire à notre sauce
63                $flux['data'] = preg_replace(
64                        "%<div[^>]*saisie_(nom|mail)_inscription[^>]*>.*?</div>%ims",
65                        '',
66                        $flux['data']
67                );
68               
69                // On génère le HTML des champs
70                $contexte = $flux['args']['contexte'];
71                $contexte['saisies'] = $contexte['_saisies'];
72                unset($contexte['_saisies']);
73                $champs = recuperer_fond('inclure/generer_saisies', $contexte);
74               
75                // On insère
76                $flux['data'] = preg_replace(
77                        "|</fieldset>|Uims",
78                        "\\0" . $champs,
79                        $flux['data'],
80                        1
81                );
82        }
83
84        return $flux;
85}
Note: See TracBrowser for help on using the repository browser.