source: spip-zone/_plugins_/contact/trunk/contact_pipelines.php

Last change on this file was 97645, checked in by kent1@…, 2 years ago

PSR SPIP

File size: 2.1 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7/**
8 * Pipeline jqueryui_plugins (jQuery UI) pour demander au plugin l'insertion des scripts pour .sortable()
9 *
10 * @param array $plugins
11 * @return array
12 */
13function contact_jqueryui_plugins($plugins) {
14        if (test_espace_prive()) {
15                $plugins[] = 'jquery.ui.sortable';
16        }
17        return $plugins;
18}
19
20/**
21 * Insertion dans le pipeline formulaire_verifier (SPIP)
22 *
23 * Dans le formulaire d'inscription, si on a un message d'erreur,
24 * on vérifie que ce n'est pas dû au fait que l'auteur a le statut "contact" à cause d'un message
25 * de contact envoyé.
26 *
27 * Si c'est le cas :
28 * - on change son statut de contact à nouveau
29 * - on met le statut d'inscription dans prefs
30 * - on met comme login son adresse email
31 * - on lui crée un pass aléatoirement
32 * - on lui indique en erreur qu'il était déjà inscrit et qu'il doit renouveler son pass
33 *
34 * @param array $flux
35 *              Le contexte du pipeline
36 * @return array $flux
37 *              Le contexte du pipeline modifié s'il y a lieu
38 */
39function contact_formulaire_verifier($flux) {
40        if ($flux['args']['form'] == 'inscription' && isset($flux['data']['message_erreur'])) {
41                if ($email = _request('mail_inscription')) {
42                        $auteur = sql_fetsel('*', 'spip_auteurs', 'email='.sql_quote($email));
43                        if ($auteur['statut'] == 'contact') {
44                                $statut_inscription = $flux['args']['args'][0];
45                                include_spip('action/inscrire_auteur');
46                                creer_pass_pour_auteur($auteur['id_auteur']);
47                                sql_updateq('spip_auteurs', array('prefs' => $statut_inscription, 'statut' => 'nouveau', 'login'=> $email), 'id_auteur = '.intval($auteur['id_auteur']));
48                                $flux['data'] = array(
49                                        'message_erreur' => _T('contact:message_redemander_pass', array('email' => $email, 'url_pass' => generer_url_public('spip_pass')))
50                                );
51                        }
52                }
53        }
54        return $flux;
55}
56
57/**
58 * Insertion dans le pipeline nospam_lister_formulaires (Plugin nospam)
59 *
60 * Déclare le formulaire de contact comme utilisant le plugin nospam
61 *
62 * @param array $flux
63 * @return array
64 */
65function contact_nospam_lister_formulaires($flux) {
66        $flux[] = 'contact';
67        return $flux;
68}
Note: See TracBrowser for help on using the repository browser.