source: spip-zone/_plugins_/connecteur/trunk/inc/token.php @ 96260

Last change on this file since 96260 was 96260, checked in by p@…, 3 years ago

Rendre possible l'enregistrement d'un tableau de token

Twitter semble avoir 2 tokens, on prévois le cas ou la fonction qui
récupère les tokens renvoie un tableau type => token

File size: 1.7 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7/**
8 * API de gestion des TOKEN
9 *
10 * @access public
11 */
12
13
14/**
15 * Enregistrer un token d'auteur
16 *
17 * @param int $id_auteur
18 * @param sting $type Type du token (ex: facebook)
19 * @param mixed $token le token sous forme brut
20 * Cette variable peut également être un tableau de token type_token => token
21 * @access public
22 */
23function connecteur_save_token($id_auteur, $type, $token) {
24
25        // dans le cas d'un tableau de token, on les enregistre tous
26        if (is_array($token)) {
27                foreach ($token as $tk_type => $tk) {
28                        connecteur_save_token($id_auteur, $tk_type, $tk);
29                }
30        } else {
31                // Est-ce qu'il y a déjà un token ?
32                $update = connecteur_get_token($id_auteur, $type);
33                if (!empty($update)) {
34                        connecteur_update_token($id_auteur, $type, $token);
35                } else {
36
37                        // Sérializer le token
38                        $token = serialize($token);
39                        sql_insertq(
40                                'spip_connecteur',
41                                array(
42                                        'id_auteur' => $id_auteur,
43                                        'type' => $type,
44                                        'token' => $token
45                                )
46                        );
47                }
48        }
49}
50
51/**
52 * Récupérer un token précis
53 *
54 * @param int $id_auteur
55 * @param string $type
56 * @access public
57 */
58function connecteur_get_token($id_auteur, $type) {
59        $token = sql_getfetsel(
60                'token',
61                'spip_connecteur',
62                array(
63                        'id_auteur='.intval($id_auteur),
64                        'type='.sql_quote($type)
65                )
66        );
67
68        return unserialize($token);
69}
70
71/**
72 * Mettre à jour un token
73 *
74 * @param int $id_auteur
75 * @param string $type
76 * @param mixed $token
77 * @access public
78 */
79function connecteur_update_token($id_auteur, $type, $token) {
80        $token = serialize($token);
81        sql_updateq(
82                'spip_connecteur',
83                array('token' => $token),
84                array(
85                        'id_auteur='.intval($id_auteur),
86                        'type='.sql_quote($type)
87                )
88        );
89}
Note: See TracBrowser for help on using the repository browser.