source: spip-zone/_plugins_/authentification/openid/openid_pipelines.php @ 32344

Last change on this file since 32344 was 32344, checked in by cedric@…, 11 years ago

pouvoir enlever son openid c'est mieux !

File size: 2.8 KB
Line 
1<?php
2/**
3 * Plugin OpenID
4 * Licence GPL (c) 2007-2009 Edouard Lafargue, Mathieu Marcillaud, Cedric Morin, Fil
5 *
6 */
7
8/**
9 * ajouter un champ openID sur le formulaire CVT editer_auteur
10 *
11 * @param array $flux
12 * @return array
13 */
14function openid_editer_contenu_objet($flux){
15        if ($flux['args']['type']=='auteur') {
16                include_spip('public/assembler');
17                $openid = recuperer_fond('formulaires/inc-openid', $flux['args']['contexte']);
18                $flux['data'] = preg_replace('%(<li class="editer_email(.*?)</li>)%is', '$1'."\n".$openid, $flux['data']);
19        }
20        return $flux;
21}
22
23/**
24 * Ajouter la valeur openID dans la liste des champs de la fiche auteur
25 *
26 * @param array $flux
27 */
28function openid_formulaire_charger($flux){
29        if ($flux['args']['form']=='editer_auteur'){
30                $flux['data']['openid'] = ''; // un champ de saisie openid !
31                if ($id_auteur = intval($flux['data']['id_auteur']))
32                        $flux['data']['openid'] = sql_getfetsel('openid','spip_auteurs','id_auteur='.intval($id_auteur));
33        }
34        return $flux;
35}
36
37
38/**
39 * Verifier la saisie de l'url openID sur la fiche auteur
40 *
41 * @param array $flux
42 */
43function openid_formulaire_verifier($flux){
44        if ($flux['args']['form']=='editer_auteur'){
45                if ($openid = _request('openid')){
46                        include_spip('inc/openid');
47                        $openid = nettoyer_openid($openid);
48                        if (!verifier_openid($openid))
49                                $flux['data']['openid']=_T('openid:erreur_openid');
50                }
51        }
52        return $flux;
53}
54
55/**
56 * ajouter l'open_id soumis lors de la soumission du formulaire CVT editer_auteur
57 *
58 * @param array $flux
59 * @return array
60 */
61function openid_pre_edition($flux){
62        if ($flux['args']['table']=='spip_auteurs') {
63                if (!is_null($openid = _request('openid'))) {
64                        include_spip('inc/openid');
65                        $flux['data']['openid'] = nettoyer_openid($openid);
66                }
67        }
68        return $flux;
69}
70
71/**
72 * Afficher l'openid sur la fiche de l'auteur
73 * @param array $flux
74 */
75function openid_afficher_contenu_objet($flux){
76        if ($flux['args']['type']=='auteur'
77                AND $id_auteur = $flux['args']['id_objet']
78                AND $openid = sql_getfetsel('openid','spip_auteurs','id_auteur='.intval($id_auteur))
79        ){
80                $flux['data'] .= propre("<div><img src='".find_in_path('images/login_auth_openid.gif')
81                        ."' alt='"._T('openid:openid')."' width='16' height='16' />"
82                        . " [->$openid]</div>");
83
84        }
85
86        return $flux;
87}
88
89/**
90 * Afficher l'openid sur le formulaire de login
91 * Utilise uniquement pour spip 2.0.x
92 * @param <type> $flux
93 * @return <type>
94 */
95function openid_recuperer_fond($flux) {
96        if ($flux['args']['fond']=='formulaires/login'){
97                include_spip('inc/openid');
98                $flux['data']['texte'] = openid_login_form($flux['data']['texte'],$flux['data']['contexte']);
99        }
100        /*if ($flux['args']['fond']=='formulaires/inscription'){
101                $insc = pipeline('social_inscription_links','');
102                $flux['data']['texte'] = str_replace('<form',$insc . '<form',$flux['data']['texte']);
103        }*/
104        return $flux;
105}
106
107?>
Note: See TracBrowser for help on using the repository browser.