diff --git a/actions/facebookhome.php b/actions/facebookhome.php index e8c10c9edf..9510e7f087 100644 --- a/actions/facebookhome.php +++ b/actions/facebookhome.php @@ -202,13 +202,13 @@ class FacebookhomeAction extends FacebookAction $this->elementEnd('p'); $this->elementStart('form', array('method' => 'post', - 'action' => $app_url, + 'action' => "$app_url/index.php", 'id' => 'facebook-skip-permissions')); $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 . '\')')); + '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'); diff --git a/actions/facebooklogin.php b/actions/facebooklogin.php new file mode 100644 index 0000000000..94d494a82c --- /dev/null +++ b/actions/facebooklogin.php @@ -0,0 +1,101 @@ +. + */ + +if (!defined('LACONICA')) { exit(1); } + +require_once(INSTALLDIR.'/lib/facebookaction.php'); + +class FacebookinviteAction extends FacebookAction +{ + + function handle($args) + { + parent::handle($args); + + $this->error = $error; + + if ($this->flink) { + if (!$this->facebook->api_client->users_hasAppPermission('status_update') && + $this->facebook->api_client->data_getUserPreference( + FACEBOOK_PROMPTED_UPDATE_PREF) == 'true') { + + echo '

REDIRECT TO HOME

'; + } + } else { + $this->showPage(); + } + } + + + function showContent() + { + + // 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')) { + $this->facebook->api_client->data_setUserPreference( + FACEBOOK_PROMPTED_UPDATE_PREF, 'true'); + } + + if ($this->flink) { + + $this->user = $this->flink->getUser(); + + // If this is the first time the user has started the app + // prompt for Facebook status update permission + if (!$this->facebook->api_client->users_hasAppPermission('status_update')) { + + if ($this->facebook->api_client->data_getUserPreference( + FACEBOOK_PROMPTED_UPDATE_PREF) != 'true') { + $this->getUpdatePermission(); + return; + } + } + + } else { + $this->showLoginForm(); + } + + } + + function showSuccessContent() + { + + + + } + + function showFormContent() + { + + + } + + function title() + { + return sprintf(_('Login')); + } + + function redirectHome() + { + + } + +} diff --git a/scripts/update_facebook.php b/scripts/update_facebook.php index 1574b9e09e..d2c1c3ffb9 100755 --- a/scripts/update_facebook.php +++ b/scripts/update_facebook.php @@ -34,7 +34,7 @@ require_once INSTALLDIR . '/lib/facebookutil.php'; $last_updated_file = INSTALLDIR . '/scripts/facebook_last_updated'; // Lock file name -$tmp_file = "/tmp/update_facebook.lock"; +$tmp_file = INSTALLDIR . '/scripts/update_facebook.lock'; // Make sure only one copy of the script is running at a time if (!($tmp_file = @fopen($tmp_file, "w")))