source: spip-zone/_core_/plugins/neo-dist/formulaires/inscription.php @ 93647

Last change on this file since 93647 was 93647, checked in by marcimat@…, 5 years ago

Meilleure compatibilité avec PSR-2 et nos règles d'écriture, en appliquant
différents fix avec php-cs-fixers. Fixers appliqués ici :

'encoding', utf8
'eof_ending',
un saut de ligne en fin de fichier
'elseif', elseif plutôt que else if
'function_call_space',
espaces sur fonctions
'function_declaration', espaces sur fonctions
'function_typehint_space',
espaces sur fonctions
'linefeed', sauts de ligne \n uniquement
'lowercase_constants',
true, false, null en munuscule
'lowercase_keywords', mots clés PHP en lowercase
'method_argument_space',
espaces sur appels de fonctions
'multiple_use', use unique sur fonctions anonymes
'newline_after_open_tag',
ouverture de php… et c'est tout sur cette ligne
'operators_spaces', espaces de part et d'autres des opérateurs binaires
'parenthesis',
pas d'espace juste après parenthèse ouvrante, ou avant parenthèse fermante
'php_closing_tag', pas de fermeture de php
'short_tag',
tag PHP corrects
'trailing_spaces', pas d'espace qui traîne en fin de ligne
'visibility',
déclarer 'public / private / protected' sur les méthodes

File size: 4.5 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2015                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined('_ECRIRE_INC_VERSION')) {
14        return;
15}
16
17function formulaires_inscription_charger_dist($mode = '', $id = 0) {
18        global $visiteur_session;
19
20        // fournir le mode de la config ou tester si l'argument du formulaire est un mode accepte par celle-ci
21        // pas de formulaire si le mode est interdit
22        include_spip('inc/autoriser');
23        if (!autoriser('inscrireauteur', $mode, $id)) {
24                return false;
25        }
26
27        // pas de formulaire si on a déjà une session avec un statut égal ou meilleur au mode
28        if (isset($visiteur_session['statut']) && ($visiteur_session['statut'] <= $mode)) {
29                return false;
30        }
31
32        $valeurs = array('nom_inscription' => '', 'mail_inscription' => '', 'id' => $id, '_mode' => $mode);
33
34        return $valeurs;
35}
36
37// Si inscriptions pas autorisees, retourner une chaine d'avertissement
38function formulaires_inscription_verifier_dist($mode = '', $id = 0) {
39
40        set_request("_upgrade_auteur"); // securite
41        include_spip('inc/filtres');
42        $erreurs = array();
43
44        include_spip('inc/autoriser');
45        if (!autoriser('inscrireauteur', $mode, $id)
46                or (strlen(_request('nobot')) > 0)
47        ) {
48                $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
49        }
50
51        if (!$nom = _request('nom_inscription')) {
52                $erreurs['nom_inscription'] = _T("info_obligatoire");
53        } elseif (!nom_acceptable(_request('nom_inscription'))) {
54                $erreurs['nom_inscription'] = _T("ecrire:info_nom_pas_conforme");
55        }
56        if (!$mail = strval(_request('mail_inscription'))) {
57                $erreurs['mail_inscription'] = _T("info_obligatoire");
58        }
59
60        // compatibilite avec anciennes fonction surchargeables
61        // plus de definition par defaut
62        if (!count($erreurs)) {
63                include_spip('action/inscrire_auteur');
64                if (function_exists('test_inscription')) {
65                        $f = 'test_inscription';
66                } else {
67                        $f = 'test_inscription_dist';
68                }
69                $declaration = $f($mode, $mail, $nom, $id);
70                if (is_string($declaration)) {
71                        $k = (strpos($declaration, 'mail') !== false) ?
72                                'mail_inscription' : 'nom_inscription';
73                        $erreurs[$k] = _T($declaration);
74                } else {
75                        include_spip('base/abstract_sql');
76
77                        if ($row = sql_fetsel("statut, id_auteur, login, email", "spip_auteurs",
78                                "email=" . sql_quote($declaration['email']))
79                        ) {
80                                if (($row['statut'] == '5poubelle') and !$declaration['pass']) // irrecuperable
81                                {
82                                        $erreurs['message_erreur'] = _T('form_forum_access_refuse');
83                                } else {
84                                        if (($row['statut'] != 'nouveau') and !$declaration['pass']) {
85                                                if (intval($row['statut']) > intval($mode)) {
86                                                        set_request("_upgrade_auteur", $row['id_auteur']);
87                                                } else {
88                                                        // deja inscrit
89                                                        $erreurs['message_erreur'] = _T('form_forum_email_deja_enregistre');
90                                                }
91                                        }
92                                }
93                                spip_log($row['id_auteur'] . " veut se resinscrire");
94                        }
95                }
96        }
97
98        return $erreurs;
99}
100
101function formulaires_inscription_traiter_dist($mode = '', $id = 0) {
102
103        include_spip('inc/filtres');
104        include_spip('inc/autoriser');
105        if (!autoriser('inscrireauteur', $mode, $id)) {
106                $desc = "rien a faire ici";
107        } else {
108                if ($id_auteur = _request('_upgrade_auteur')) {
109                        include_spip("action/editer_auteur");
110                        autoriser_exception("modifier", "auteur", $id_auteur);
111                        autoriser_exception("instituer", "auteur", $id_auteur);
112                        auteur_modifier($id_auteur, array('statut' => $mode));
113                        autoriser_exception("modifier", "auteur", $id_auteur, false);
114                        autoriser_exception("instituer", "auteur", $id_auteur, false);
115
116                        return array('message_ok' => _T('form_forum_email_deja_enregistre'), 'id_auteur' => $id_auteur);
117                }
118
119                $nom = _request('nom_inscription');
120                $mail_complet = _request('mail_inscription');
121
122                $inscrire_auteur = charger_fonction('inscrire_auteur', 'action');
123                $desc = $inscrire_auteur($mode, $mail_complet, $nom, array('id' => $id));
124        }
125
126        // erreur ?
127        if (is_string($desc)) {
128                return array('message_erreur' => $desc);
129        } // OK
130        else {
131                return array('message_ok' => _T('form_forum_identifiant_mail'), 'id_auteur' => $desc['id_auteur']);
132        }
133}
Note: See TracBrowser for help on using the repository browser.