source: spip-zone/_plugins_/fblogin/dev/auth/fblogin.php @ 52233

Last change on this file since 52233 was 52233, checked in by rastapopoulos@…, 10 years ago

Ça marche preque : l'auteur est bien connecté lorsqu'on ne donne que son login SAUF que ça reste bloqué sur l'action "action/auth.php" et que ça veut pas rediriger vers la page d'où l'on venait alors que dans l'URL il y a bien un "redirect=.....". Normalement les actions sont censées rediriger toutes seules non ?

File size: 2.1 KB
Line 
1<?php
2 
3if (!defined('_ECRIRE_INC_VERSION')) return;
4
5/**
6 * Authentifie via Facebook
7 * @param string $login
8 * @param string $pass
9 * @param string $serveur
10 * @return <type>
11 */
12function auth_fblogin_dist ($login, $pass, $serveur='') {
13        // il faut un login non vide ET un pass vide (sinon cela ne concerne pas Facebook)
14        if (!strlen($login) OR strlen($pass)) return false;
15        $auteur = false;
16       
17        // On cherche si ce login ou email est lié a un UID Facebook
18        $auteur = sql_fetsel(
19                'fb_uid, statut',
20                'spip_auteurs',
21                array(
22                        'statut != '.sql_quote('5poubelle'),
23                        'login = '.sql_quote($login).' or email = '.sql_quote($login),
24                        'fb_uid > 0'
25                ), 
26                '', '', '', '', $serveur
27        );
28       
29        // Si jamais connecté, il faut se connecter une première fois avec le vrai mot de passe
30        if ($auteur['statut'] == 'nouveau'){
31                return _T('fblogin:form_login_statut_nouveau');
32        }
33       
34        include_spip('inc/fblogin');
35        $retour = auth_url_retour_login('fblogin', $login, url_absolue(self()));
36        $erreur = fblogin_demander_authentification($retour);
37       
38        // Si on arrive là c'est qu'il y a une erreur
39        return $erreur;
40}
41 
42function auth_fblogin_terminer_identifier_login($login, $serveur=''){
43        include_spip('inc/fblogin');
44        $auteur = fblogin_terminer_authentification();
45       
46        if (is_string($auteur)){
47                return $auteur;
48        }
49       
50        if (is_array($auteur)
51                and isset($auteur['fb_uid'])
52                and $fb_uid = $auteur['fb_uid']
53                and $auteur = sql_fetsel(
54                        '*',
55                        'spip_auteurs',
56                        array(
57                                'login = '.sql_quote($login).' or email = '.sql_quote($login),
58                                'fb_uid = '.sql_quote($fb_uid)
59                        ),
60                        '', '', '', '', $serveur
61                )
62        ){
63                $auteur['auth'] = 'fblogin';
64                return $auteur;
65        }
66       
67        return false;
68}
69
70// Même sans login on regarde si on trouve un auteur connecté à FB
71function auth_fblogin_retrouver_login($login, $serveur='') {
72        include_spip('inc/fblogin');
73        $auteur = fblogin_terminer_authentification();
74       
75        if (is_array($auteur)
76                and isset($auteur['fb_uid'])
77                and $fb_uid = $auteur['fb_uid']
78                and $auteur = sql_fetsel(
79                        '*',
80                        'spip_auteurs',
81                        array(
82                                'fb_uid = '.sql_quote($fb_uid)
83                        ),
84                        '', '', '', '', $serveur
85                )
86        ){
87                return $auteur;
88        }
89       
90        return false;
91}
92
93?>
Note: See TracBrowser for help on using the repository browser.