From: Michael J. Rubinsky Date: Sat, 1 May 2010 17:29:45 +0000 (-0400) Subject: Add a binder for Horde_Service_Facebook object, and use it in X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=ef8607feb538495b882ecaaaf1a1880d779e9e98;p=horde.git Add a binder for Horde_Service_Facebook object, and use it in services/facebook.php --- diff --git a/framework/Core/lib/Horde/Core/Binder/Facebook.php b/framework/Core/lib/Horde/Core/Binder/Facebook.php new file mode 100644 index 000000000..ba2be04a0 --- /dev/null +++ b/framework/Core/lib/Horde/Core/Binder/Facebook.php @@ -0,0 +1,31 @@ + $injector->getInstance('Horde_Http_Client'), + 'http_request' => $injector->getInstance('Horde_Controller_Request_Http')); + + return new Horde_Service_Facebook($apikey, $secret, $context); + } + + public function equals (Horde_Injector_Binder $binder) + { + return false; + } +} \ No newline at end of file diff --git a/framework/Core/package.xml b/framework/Core/package.xml index ea946b9ab..7e0ce8ffa 100644 --- a/framework/Core/package.xml +++ b/framework/Core/package.xml @@ -82,6 +82,7 @@ Application Framework. + @@ -231,6 +232,7 @@ Application Framework. + diff --git a/horde/services/facebook.php b/horde/services/facebook.php index 475c3e7b1..e47d2725f 100644 --- a/horde/services/facebook.php +++ b/horde/services/facebook.php @@ -13,25 +13,14 @@ require_once dirname(__FILE__) . '/../lib/Application.php'; Horde_Registry::appInit('horde'); -if (empty($conf['facebook']['enabled']) || - empty($conf['facebook']['key']) || - empty($conf['facebook']['secret'])) { - +$GLOBALS['injector']->addBinder('Facebook', new Horde_Core_Binder_Facebook()); +try { + $facebook = $GLOBALS['injector']->getInstance('Facebook'); +} catch (Horde_Exception $e) { $horde_url = Horde::url($registry->get('webroot', 'horde') . '/index.php'); header('Location: ' . $horde_url); - exit; } -// Facebook key and secret -$apikey = $conf['facebook']['key']; -$secret = $conf['facebook']['secret']; - -// Create required objects -$context = array('http_client' => new Horde_Http_Client(), - 'http_request' => new Horde_Controller_Request_Http()); - -$facebook = new Horde_Service_Facebook($apikey, $secret, $context); - // See why we are here. if ($token = Horde_Util::getFormData('auth_token')) { // Assume we are here for a successful authentication if we have a