source: spip-zone/_plugins_/shortlink/inc/shortlink.php @ 38866

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

un code shortlink pour api.bit.ly, reste a faire plugin.xml et fonds/cfg_shortlink, mais je partage tout de suite

File size: 950 bytes
Line 
1<?php
2
3        $api = 'http://api.bit.ly/v3/shorten';
4        $conf = array('login'=>'xxxxxxx',
5                'apiKey'=>'R_XXXXXXXXXXXXX',
6                'format'=>'json',
7                'longUrl'=>$url
8        );
9
10
11function shortlink($url) {
12        ## utiliser la memoization pour ne pas taper trop souvent chez bit.ly
13
14        $urp = str_replace('&amp;', '&', url_absolue($url));
15
16        $cfg = @unserialize($GLOBALS['meta']['shortlink']);
17
18        if (!is_array($cfg)
19        OR !$api = $cfg['api']
20        OR !strlen($login = $cfg['login']))
21        OR !$key = $cfg['key']) {
22                spip_log('Erreur de parametrage : '.$GLOBALS['meta']['shortlink'], 'shortlink');
23                return quote_amp($urp);
24        }
25
26        foreach (array(
27                'login'=> $login,
28                'apiKey'=> $key
29                'format'=>'json',
30                'longUrl'=>$urp
31        ) as $k=>$v) 
32                $api = parametre_url($api, $k, $v, '&');
33
34        if (is_object($r = json_decode(recuperer_page($api)))
35        AND $r->status_code == 200
36        AND isset($r->data->url))
37                return quote_amp($r->data->url);
38
39        return quote_amp($urp);
40}
41
42
43echo shortlink('http://rezo.net/');
Note: See TracBrowser for help on using the repository browser.