From 8fdf888edbd74e707d2698c7625dc90b22f0aeef Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Sun, 18 Jan 2009 06:12:47 +0000 Subject: trac750 Javascript file for Facebook app --- js/facebookapp.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 js/facebookapp.js (limited to 'js') diff --git a/js/facebookapp.js b/js/facebookapp.js new file mode 100644 index 000000000..3f809e50c --- /dev/null +++ b/js/facebookapp.js @@ -0,0 +1,25 @@ +/* + * Laconica - a distributed open-source microblogging tool + * Copyright (C) 2008, Controlez-Vous, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +// Psycho Facebook redirect hack, used because 'document.location' +// simply does not work in FBJS +function redirectSettings() { + form = document.getElementById('redirect_form'); + form.setAction('settings.php'); + form.submit(); +} -- cgit v1.2.3-54-g00ecf From aea172bee0f2ffdda55cc77016dd609481d7dfee Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Sun, 18 Jan 2009 21:08:56 +0000 Subject: trac750 Removed psychotic FB redirect hack. Found a better way with document.setLocation() --- actions/facebooksettings.php | 12 ++++++------ js/facebookapp.js | 9 +-------- 2 files changed, 7 insertions(+), 14 deletions(-) (limited to 'js') diff --git a/actions/facebooksettings.php b/actions/facebooksettings.php index 372c40c28..b678f19a1 100644 --- a/actions/facebooksettings.php +++ b/actions/facebooksettings.php @@ -67,19 +67,19 @@ class FacebooksettingsAction extends FacebookAction $flink = Foreign_link::getByForeignID($fbuid, FACEBOOK_SERVICE); $this->showHeader('Settings', $msg, $success); - - common_element('form', array('id' => 'redirect_form', - 'style' => 'display: none;')); common_element_start('p'); + + // Figure what the URL of our app is. + $app_props = $facebook->api_client->Admin_getAppProperties(array('canvas_name')); + $app_url = 'http://apps.facebook.com/' . $app_props['canvas_name'] . '/settings.php'; + common_element_start('fb:prompt-permission', array('perms' => 'status_update', - 'next_fbjs' => 'redirectSettings()')); + 'next_fbjs' => 'document.setLocation(\'' . $app_url . '\')')); common_element('h2', null, _('Allow Identi.ca to update my Facebook status')); common_element_end('fb:prompt-permission'); common_element_end('p'); - - if ($facebook->api_client->users_hasAppPermission('status_update')) { common_element_start('form', array('method' => 'post', diff --git a/js/facebookapp.js b/js/facebookapp.js index 3f809e50c..c7e8d6aa2 100644 --- a/js/facebookapp.js +++ b/js/facebookapp.js @@ -15,11 +15,4 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ - -// Psycho Facebook redirect hack, used because 'document.location' -// simply does not work in FBJS -function redirectSettings() { - form = document.getElementById('redirect_form'); - form.setAction('settings.php'); - form.submit(); -} + \ No newline at end of file -- cgit v1.2.3-54-g00ecf