// because this is XFBML, we need to tell Facebook to re-process the document FB.init("6c8b9da67b73707f514e20a6d5403226", "/sso/facebook/xd_receiver.htm", { "ifUserConnected": FBUserConnected, "ifUserNotConnected": FBUserNotConnected, "doNotUseCachedConnectState": true }); if (FB.XFBML) { FB.XFBML.Host.parseDomTree(); } function FBUserNotConnected() { refreshFacebookFriends(); refreshFacebookFriendsActivite(); Logged = false; FaceBook_ID = "0"; // Si l'utilisateur est identifié sur SSO if (Logged && FaceBook_ID != 0) { // On vérifie le lien FB FB.ensureInit( function(){ /* START */ /* // Si on n'a pas déjà demandé une session FaceBook if (CheckVerifFB() == false) { // On demande la validation de la session FB FB.Connect.requireSession( function() { window.refresh(); // Réussite }, function() { // Echec : on défini le cookie qui nous permet de savoir qu'il a déjà validé le refus SetVerifFB(); DisplayFBConnectButton(); }); } // Si on a déjà demandé la session FaceBook else { // On réaffiche le boutton Facebook DisplayFBConnectButton(); } */ /* END */ DisplayFBConnectButton(); }); } else { DisplayFBConnectButton(); } } function FBUserConnected(FB_Sess_ID) { refreshFacebookFriends(); refreshFacebookFriendsActivite(); FaceBook_ID = "0"; if (FaceBook_ID == 0) return false; // Dès qu'on a le lien FaceBook API ouvert FB.ensureInit( function(){ // On vérifie le status de l'utilisateur courrant FB.Connect.get_status().waitUntilReady(function(status) { // Selon le status retourné par FaceBook switch (status) { // Si connecté, on ne fait rien case FB.ConnectState.connected: //alert('FB Status : Connecté'); if (FB_Sess_ID != FaceBook_ID) { //alert('FB Status : ID FB != ID SO (' + FB.Connect.get_loggedInUser() + ' / ' + FaceBook_ID + ')'); FB.Connect.logout(function() { // Déconnecté, on ne fait rien de plus }); } break; // Si application refusée ou non connecté case FB.ConnectState.appNotAuthorized: case FB.ConnectState.userNotLoggedIn: // Rien : l'utilisateur est forcément connecté break; } }); // Vérification du status utilisateur }); // Lien Facebook ouvert } // JS Func function SetVerifFB() { $.cookie('FBAsked', '1'); } function CheckVerifFB() { if ($.cookie('FBAsked') == '1') return true; else return false; } function DelVerifFB() { $.cookie('FBAsked', null); } function DisplayFBConnectButton() { $('span#FBConnectButton').css('display', 'inline'); } function refreshFacebookFriends() { $.ajax({ url: "/sso/blocs/facebook/facebook-content.php", context: "#facebook-right-content", cache: false, success: function(result) { if ($('#facebook-right-content').length > 0) { $('#facebook-right-content').html(result); FB.XFBML.Host.parseDomTree(); } } }); } function refreshFacebookFriendsActivite() { $.ajax({ url: "/sso/blocs/activite/activites-content.php", context: "#facebook-right-activite-content", cache: false, success: function(result) { if ($('#facebook-right-activite-content').length > 0) { $('#facebook-right-activite-content').html(result); FB.XFBML.Host.parseDomTree(); } } }); }