Changeset 54942 in spip-zone


Ignore:
Timestamp:
Nov 27, 2011, 9:00:19 PM (8 years ago)
Author:
fil@…
Message:

creer a la volee un compte pour l'utilisateur qui vient de se connecter : 1comite si les inscriptions de redacteurs sont ouvertes, 6forum si les forums sont sur abonnement

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/authentification/browserid/action/browserid_verify.php

    r54868 r54942  
    99
    1010define('_BROWSERID_VERIFY', "https://browserid.org/verify");
     11
     12
     13function browserid_auth_loger($auteur, &$a) {
     14        include_spip('inc/auth');
     15        include_spip('inc/texte');
     16        auth_loger($auteur);
     17        $a['session_nom'] = typo($auteur['nom']);
     18        $a['session_statut'] = $auteur['statut'];
     19        $a['autoriser_ecrire'] = autoriser('ecrire');
     20
     21}
    1122
    1223function action_browserid_verify() {
     
    4758                                        include_spip('base/abstract_sql');
    4859                                        $auteur = sql_fetsel('*', 'spip_auteurs', 'email='.sql_quote($a['email']));
     60
    4961                                        if ($auteur) {
    50                                                 include_spip('inc/auth');
    51                                                 auth_loger($auteur);
    52                                                 include_spip('inc/texte');
    53                                                 $a['session_nom'] = typo($auteur['nom']);
    54                                                 $a['session_statut'] = $auteur['statut'];
    55                                                 $a['autoriser_ecrire'] = autoriser('ecrire');
     62                                                browserid_auth_loger($auteur, $a);
    5663
    5764                                                # envoyer une action javascript
     
    6269                                                #$a['message'] = 'Welcome '.$a['session_nom'];
    6370
     71                                        }
     72
     73                                        else
     74                                        /* OPTION : creer un compte pour l'auteur */
     75                                        {
     76                                                $statut_inscription = null;
     77                                                if ($GLOBALS['meta']["accepter_inscriptions"] == 'oui')
     78                                                        $statut_inscription = '1comite';
     79                                                else if ($GLOBALS['meta']["forums_publics"] == 'abo')
     80                                                        $statut_inscription = '6forum';
     81
     82                                                if ($statut_inscription) {
     83                                                        sql_insertq('spip_auteurs', array(
     84                                                                'email' => $a['email'],
     85                                                                'statut' => $statut_inscription,
     86                                                                'nom' => preg_replace('/@.*/', '', $a['email']),
     87                                                                'login' => md5($a['email']), # unicite a la rache.
     88                                                        ));
     89                                                        $auteur = sql_fetsel('*', 'spip_auteurs', 'email='.sql_quote($a['email']));
     90                                                        browserid_auth_loger($auteur, $a);
     91                                                }
    6492                                        }
    6593
     
    73101                        else {
    74102                                $a['status'] = 'failure';
    75                                 $a['reason'] = "could not connect to the verification server";
     103                                $a['reason'] = "could not connect to the verification server; please retry";
    76104                        }
    77105                }
Note: See TracChangeset for help on using the changeset viewer.