diff --git a/actions/facebooksettings.php b/actions/facebooksettings.php index 372c40c28c..b678f19a14 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 3f809e50cb..c7e8d6aa22 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