summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Copley <zach@controlyourself.ca>2009-01-26 06:31:25 +0000
committerZach Copley <zach@controlyourself.ca>2009-01-26 06:31:25 +0000
commit55a4fac6a62a0997f15120432314d55df8994132 (patch)
tree029fc14f618ef09f0537435e955449ae333459a3
parentb2e67db8337d94aee86adbfb8c1b61ad3e5a3b8d (diff)
trac750 Better permissions workflow and styling hooks
-rw-r--r--actions/facebookhome.php24
-rw-r--r--lib/facebookaction.php6
2 files changed, 21 insertions, 9 deletions
diff --git a/actions/facebookhome.php b/actions/facebookhome.php
index 3558cf671..e17c0f813 100644
--- a/actions/facebookhome.php
+++ b/actions/facebookhome.php
@@ -43,11 +43,11 @@ class FacebookhomeAction extends FacebookAction
function handle($args)
{
parent::handle($args);
-
+
// If the user has opted not to initially allow the app to have
// Facebook status update permission, store that preference. Only
// promt the user the first time she uses the app
- if ($this->arg('skip')) {
+ if ($this->arg('skip') || $args['fb_sig_request_method'] == 'GET') {
$this->facebook->api_client->data_setUserPreference(
FACEBOOK_PROMPTED_UPDATE_PREF, 'true');
}
@@ -191,7 +191,7 @@ class FacebookhomeAction extends FacebookAction
$this->showStylesheets();
- $this->elementStart('div', array('class' => 'content'));
+ $this->elementStart('div', array('class' => 'facebook_guide'));
$instructions = sprintf(_('If you would like the %s app to automatically update ' .
'your Facebook status with your latest notice, you need ' .
@@ -207,11 +207,19 @@ class FacebookhomeAction extends FacebookAction
$this->elementStart('ul', array('id' => 'fb-permissions-list'));
$this->elementStart('li', array('id' => 'fb-permissions-item'));
- $this->elementStart('fb:prompt-permission', array('perms' => 'status_update',
- 'next_fbjs' => 'document.setLocation(\'' . "$this->app_uri/index.php" . '\')'));
- $this->element('span', array('class' => 'facebook-button'),
- sprintf(_('Allow %s to update my Facebook status'), $this->app_name));
- $this->elementEnd('fb:prompt-permission');
+
+ $next = urlencode("$this->app_uri/index.php");
+ $api_key = common_config('facebook', 'apikey');
+
+ $auth_url = 'http://www.facebook.com/authorize.php?api_key=' .
+ $api_key . '&v=1.0&ext_perm=status_update&next=' . $next .
+ '&next_cancel=' . $next . '&submit=skip';
+
+ $this->elementStart('span', array('class' => 'facebook-button'));
+ $this->element('a', array('href' => $auth_url),
+ sprintf(_('Okay, do it!'), $this->app_name));
+ $this->elementEnd('span');
+
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'fb-permissions-item'));
diff --git a/lib/facebookaction.php b/lib/facebookaction.php
index c781b86f4..a12c7d6f9 100644
--- a/lib/facebookaction.php
+++ b/lib/facebookaction.php
@@ -276,6 +276,8 @@ class FacebookAction extends Action
function showInstructions()
{
+ $this->elementStart('div', array('class' => 'facebook_guide'));
+
$this->elementStart('dl', array('class' => 'system_notice'));
$this->element('dt', null, 'Page Notice');
@@ -292,6 +294,9 @@ class FacebookAction extends Action
$this->text($loginmsg_part2);
$this->elementEnd('dd');
$this->elementEnd('dl');
+
+ $this->elementEnd('div');
+
}
@@ -315,7 +320,6 @@ class FacebookAction extends Action
'action' => 'index.php'));
$this->elementStart('fieldset');
- $this->element('legend', null, _('Login to site'));
$this->elementStart('ul', array('class' => 'form_datas'));
$this->elementStart('li');