assets/www/scripts/cdv-plugin-fb-connect.js (51 lines of code) (raw):

CDV = ( typeof CDV == 'undefined' ? {} : CDV ); var cordova = window.cordova || window.Cordova; CDV.FB = { init: function(apiKey, fail) { // create the fb-root element if it doesn't exist if (!document.getElementById('fb-root')) { var elem = document.createElement('div'); elem.id = 'fb-root'; document.body.appendChild(elem); } cordova.exec(function() { var authResponse = JSON.parse(localStorage.getItem('cdv_fb_session') || '{"expiresIn":0}'); if (authResponse && authResponse.expirationTime) { var nowTime = (new Date()).getTime(); if (authResponse.expirationTime > nowTime) { // Update expires in information updatedExpiresIn = Math.floor((authResponse.expirationTime - nowTime) / 1000); authResponse.expiresIn = updatedExpiresIn; localStorage.setItem('cdv_fb_session', JSON.stringify(authResponse)); FB.Auth.setAuthResponse(authResponse, 'connected'); } } console.log('Cordova Facebook Connect plugin initialized successfully.'); }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'init', [apiKey]); }, login: function(params, cb, fail) { params = params || { scope: '' }; cordova.exec(function(e) { // login if (e.authResponse && e.authResponse.expiresIn) { var expirationTime = e.authResponse.expiresIn === 0 ? 0 : (new Date()).getTime() + e.authResponse.expiresIn * 1000; e.authResponse.expirationTime = expirationTime; } localStorage.setItem('cdv_fb_session', JSON.stringify(e.authResponse)); FB.Auth.setAuthResponse(e.authResponse, 'connected'); if (cb) cb(e); }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'login', params.scope.split(',') ); }, logout: function(cb, fail) { cordova.exec(function(e) { localStorage.removeItem('cdv_fb_session'); FB.Auth.setAuthResponse(null, 'notConnected'); if (cb) cb(e); }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'logout', []); }, getLoginStatus: function(cb, fail) { cordova.exec(function(e) { if (cb) cb(e); }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'getLoginStatus', []); }, dialog: function(params, cb, fail) { cordova.exec(function(e) { // login if (cb) cb(e); }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'showDialog', [params] ); } };