]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
fixed the post to twitter capability - was not loading the twitter oauth class
authorcash <cash.costello@gmail.com>
Fri, 24 Jun 2011 19:43:07 +0000 (15:43 -0400)
committercash <cash.costello@gmail.com>
Fri, 24 Jun 2011 19:43:07 +0000 (15:43 -0400)
mod/twitter_api/lib/twitter_api.php
mod/twitter_api/start.php

index 145b371146fa19b77e8ad44b6acbc95c033dea76..18855862eca59dac11b958e7b4229d8ce7633bf9 100644 (file)
@@ -81,9 +81,6 @@ function twitter_api_login() {
 
                forward();
        } else {
-               // need Twitter account credentials
-               elgg_load_library('twitter_oauth');
-               
                $consumer_key = elgg_get_plugin_setting('consumer_key', 'twitter_api');
                $consumer_secret = elgg_get_plugin_setting('consumer_secret', 'twitter_api');
                $api = new TwitterOAuth($consumer_key, $consumer_secret, $token['oauth_token'], $token['oauth_token_secret']);
@@ -286,7 +283,6 @@ function twitter_api_revoke() {
  */
 function twitter_api_get_authorize_url($callback = NULL, $login = true) {
        global $SESSION;
-       elgg_load_library('twitter_oauth');
 
        $consumer_key = elgg_get_plugin_setting('consumer_key', 'twitter_api');
        $consumer_secret = elgg_get_plugin_setting('consumer_secret', 'twitter_api');
@@ -311,7 +307,6 @@ function twitter_api_get_authorize_url($callback = NULL, $login = true) {
  */
 function twitter_api_get_access_token($oauth_verifier = FALSE) {
        global $SESSION;
-       elgg_load_library('twitter_oauth');
 
        $consumer_key = elgg_get_plugin_setting('consumer_key', 'twitter_api');
        $consumer_secret = elgg_get_plugin_setting('consumer_secret', 'twitter_api');
index bdd01bca55103fc3233f2a34368dbf8181fdfa19..0c71104b5955200d19cd82fb48d53226206325e4 100644 (file)
@@ -12,9 +12,8 @@ function twitter_api_init() {
 
        // require libraries
        $base = elgg_get_plugins_path() . 'twitter_api';
-       elgg_register_library('twitter_oauth', "$base/vendors/twitteroauth/twitterOAuth.php");
+       elgg_register_class('TwitterOAuth', "$base/vendors/twitteroauth/twitterOAuth.php");
        elgg_register_library('twitter_api', "$base/lib/twitter_api.php");
-
        elgg_load_library('twitter_api');
 
        // extend site views
@@ -35,14 +34,14 @@ function twitter_api_init() {
        // register Walled Garden public pages
        elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'twitter_api_public_pages');
 
-       // allow plugin authors to hook into this service
-       elgg_register_plugin_hook_handler('tweet', 'twitter_service', 'twitter_api_tweet');
+       // push status messages to twitter
+       elgg_register_plugin_hook_handler('status', 'user', 'twitter_api_tweet');
 }
 
 /**
  * Handles old pg/twitterservice/ handler
  *
- * @param array$page
+ * @param array $page
  */
 function twitter_api_pagehandler_deprecated($page) {
        $url = elgg_get_site_url() . 'pg/twitter_api/authorize';
@@ -56,7 +55,7 @@ function twitter_api_pagehandler_deprecated($page) {
 /**
  * Serves pages for twitter.
  *
- * @param array$page
+ * @param array $page
  */
 function twitter_api_pagehandler($page) {
        if (!isset($page[0])) {
@@ -83,53 +82,48 @@ function twitter_api_pagehandler($page) {
 }
 
 /**
- * Push a tweet to twitter.
+ * Push a status update to twitter.
  *
- * @param unknown_type $hook
- * @param unknown_type $entity_type
- * @param unknown_type $returnvalue
- * @param unknown_type $params
+ * @param string $hook
+ * @param string $type
+ * @param null   $returnvalue
+ * @param array  $params
  */
-function twitter_api_tweet($hook, $entity_type, $returnvalue, $params) {
-       static $plugins;
-       if (!$plugins) {
-               $plugins = elgg_trigger_plugin_hook('plugin_list', 'twitter_service', NULL, array());
-       }
+function twitter_api_tweet($hook, $type, $returnvalue, $params) {
 
-       // ensure valid plugin
-       if (!in_array($params['plugin'], $plugins)) {
-               return NULL;
+       if (!elgg_instanceof($params['user'])) {
+               return;
        }
 
+       // @todo - allow admin to select origins?
+
        // check admin settings
        $consumer_key = elgg_get_plugin_setting('consumer_key', 'twitter_api');
        $consumer_secret = elgg_get_plugin_setting('consumer_secret', 'twitter_api');
        if (!($consumer_key && $consumer_secret)) {
-               return NULL;
+               return;
        }
 
        // check user settings
-       $user_id = elgg_get_logged_in_user_guid();
+       $user_id = $params['user']->getGUID();
        $access_key = elgg_get_plugin_user_setting('access_key', $user_id, 'twitter_api');
        $access_secret = elgg_get_plugin_user_setting('access_secret', $user_id, 'twitter_api');
        if (!($access_key && $access_secret)) {
-               return NULL;
+               return;
        }
 
        // send tweet
        $api = new TwitterOAuth($consumer_key, $consumer_secret, $access_key, $access_secret);
        $response = $api->post('statuses/update', array('status' => $params['message']));
-
-       return TRUE;
 }
 
 /**
- * Return tweets for a user.
+ * Get tweets for a user.
  *
- * @param int $user_id The Elgg user GUID
+ * @param int   $user_id The Elgg user GUID
  * @param array $options
  */
-function twitter_api_fetch_tweets($user_guid, $options=array()) {
+function twitter_api_fetch_tweets($user_guid, $options = array()) {
        // check admin settings
        $consumer_key = elgg_get_plugin_setting('consumer_key', 'twitter_api');
        $consumer_secret = elgg_get_plugin_setting('consumer_secret', 'twitter_api');
@@ -152,10 +146,10 @@ function twitter_api_fetch_tweets($user_guid, $options=array()) {
 /**
  * Register as public pages for walled garden.
  *
- * @param unknown_type $hook
- * @param unknown_type $type
- * @param unknown_type $return_value
- * @param unknown_type $params
+ * @param string $hook
+ * @param string $type
+ * @param array  $return_value
+ * @param array  $params
  */
 function twitter_api_public_pages($hook, $type, $return_value, $params) {
        $return_value[] = 'twitter_api/forward';