Created
August 15, 2010 07:40
-
-
Save dhchow/525221 to your computer and use it in GitHub Desktop.
Revisions
-
dhchow created this gist
Aug 15, 2010 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,50 @@ <% if flash[:error].present? %> <h3><%= flash[:error] %></h3> <% else %> <div id="fb-root"></div> <div id="error-message"></div> <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> <script type="text/javascript"> window.fbAsyncInit = function() { FB.init({ appId : "<%= Facebook::CONFIG['app_id'] %>", status : true, // check login status cookie : true, // enable cookies to allow the server to access the session xfbml : true // parse XFBML }); var cb = function(response) { if (response.session) { // user successfully logged in load_pages(response.session.uid); } else { // user isn't logged in for some reason, prompt again. FB.login(cb); //document.getElementById("error-message").innerHTML = "Unable to connect to Facebook."; } }; (function() { FB.getLoginStatus(cb); }()); }; function load_pages(fb_user_id) { FB.api( { method: "fql.multiquery", queries: { "query1" : "SELECT page_id FROM page_admin WHERE uid=" + fb_user_id, "result" : "SELECT page_id, name FROM page WHERE page_id IN (SELECT page_id FROM #query1)" } }, function(response) { // TODO what if user doesn't have any pages? var results = response[response.length-1].fql_result_set; // [{name, page_id}, ...] if(window.opener.addChannelsForm != null) window.opener.addChannelsForm.loadChannels(results, {medium: 'facebook', success: false}); window.close(); } ); } </script> <% end %>