source: spip-zone/_plugins_/gfc/gfc_pipelines.php @ 70524

Last change on this file since 70524 was 31948, checked in by kent1@…, 11 years ago

Une configuration qui doit être compatible de deux méthodes :

  • par l'intermédiaire de defines et non plus $GLOBALS
  • par l'intermédiaire de CFG

Puisque l'on utilise la bibliothèque originale de opensocial, un fichier doit être ajouté (auth/osapiFCAuth) et un doit surcharger la librairie originale (auth/osapiSecurityToken), la seule manière simple de le faire est de modifier le set_include_path mais je ne suis pas sur que ce soit la meilleure solution

File size: 1.5 KB
Line 
1<?php
2/**
3 * Insertion dans le pipeline insert_head
4 *
5 * @param array $flux
6 * @return array $flux (le flux modifie)
7 */
8function gfc_insert_head($flux){
9        if(function_exists('lire_config')){
10                $key = lire_config('gfc/consumer_id') ? lire_config('gfc/consumer_id') : _GFC_CONSUMER_ID;
11                $cookie_name = lire_config('gfc/cookie_name') ? lire_config('gfc/cookie_name') : _GFC_COOKIE_NAME;
12        }else{
13                $key = _GFC_CONSUMER_ID;
14        }
15        $cookie_name = 'fcauth'.$key;
16       
17        $flux .= "<script type='text/javascript' src='http://www.google.com/jsapi'></script>";
18        $flux .= "<script type='text/javascript'>google.load('friendconnect', '0.8');</script>";
19    $flux .= 
20        "<script type='text/javascript'>   
21          google.friendconnect.container.setParentUrl('/' /* location of rpc_relay.html and canvas.html */);
22          google.friendconnect.container.initOpenSocialApi({
23                site: '".$key."',
24                onload: function() {
25                        if (!window.timesloaded) window.timesloaded = 1;
26                        else window.timesloaded++;
27                        if (window.timesloaded > 1) {
28                                window.top.location.href = '/spip.php?action=gfc_auth';
29                        }   
30                }
31          });
32          function gfc_signout(logout_url){
33                  //we add this line to manage our login synchronisation, and wether we display the google login button or not
34                  document.cookie = 'name=".$cookie_name.";path=\"/\";expires=Thu, 01-Jan-1970 00:00:01 GMT;';
35                  google.friendconnect.requestSignOut();
36                  if(logout_url){
37                        window.top.location.href = logout_url;
38                  }
39          };
40        </script>";
41        return $flux;
42}
43?>
Note: See TracBrowser for help on using the repository browser.