* @category Pugin
* @package StatusNet
* @author Zach Copley <zach@status.net>
- * @copyright 2010 StatusNet, Inc.
+ * @copyright 2011 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
*/
class FacebookBridgePlugin extends Plugin
{
- public $appId = null; // Facebook application ID
- public $secret = null; // Facebook application secret
+ public $appId; // Facebook application ID
+ public $secret; // Facebook application secret
+
public $facebook = null; // Facebook application instance
public $dir = null; // Facebook plugin dir
*/
function initialize()
{
+
+ // Allow the id and key to be passed in
+ // Control panel will override
+
+ if (isset($this->appId)) {
+ $appId = common_config('facebook', 'appid');
+ if (empty($appId)) {
+ Config::save(
+ 'facebook',
+ 'appid',
+ $this->appId
+ );
+ }
+ }
+
+ if (isset($this->secret)) {
+ $secret = common_config('facebook', 'secret');
+ if (empty($secret)) {
+ Config::save('facebook', 'secret', $this->secret);
+ }
+ }
+
$this->facebook = Facebookclient::getFacebook(
$this->appId,
$this->secret
function onRouterInitialized($m)
{
// Always add the admin panel route
- $m->connect('admin/facebook', array('action' => 'facebookadminpanel'));
-
- // Only add these routes if an application has been setup on
- // Facebook for the plugin to use.
- if ($this->hasApplication()) {
+ $m->connect('panel/facebook', array('action' => 'facebookadminpanel'));
- $m->connect(
- 'main/facebooklogin',
- array('action' => 'facebooklogin')
- );
- $m->connect(
- 'main/facebookfinishlogin',
- array('action' => 'facebookfinishlogin')
- );
- $m->connect(
- 'settings/facebook',
- array('action' => 'facebooksettings')
- );
- $m->connect(
- 'facebook/deauthorize',
- array('action' => 'facebookdeauthorize')
- );
-
- }
+ $m->connect(
+ 'main/facebooklogin',
+ array('action' => 'facebooklogin')
+ );
+ $m->connect(
+ 'main/facebookfinishlogin',
+ array('action' => 'facebookfinishlogin')
+ );
+ $m->connect(
+ 'settings/facebook',
+ array('action' => 'facebooksettings')
+ );
+ $m->connect(
+ 'facebook/deauthorize',
+ array('action' => 'facebookdeauthorize')
+ );
return true;
}
*/
function onStartEnqueueNotice($notice, &$transports)
{
- if (self::hasApplication() && $notice->isLocal()) {
+ if (self::hasApplication() && $notice->isLocal() && $notice->inScope(null)) {
array_push($transports, 'facebook');
}
return true;
*/
function onEndFavorNotice(Profile $profile, Notice $notice)
{
- $client = new Facebookclient($notice);
+ $client = new Facebookclient($notice, $profile);
$client->like();
return true;
*/
function onEndDisfavorNotice(Profile $profile, Notice $notice)
{
- $client = new Facebookclient($notice);
+ $client = new Facebookclient($notice, $profile);
$client->unLike();
return true;