diff options
-rw-r--r-- | plugins/RSSCloud/LoggingAggregator.php | 5 | ||||
-rw-r--r-- | plugins/RSSCloud/RSSCloudNotifier.php | 35 | ||||
-rw-r--r-- | plugins/RSSCloud/RSSCloudPlugin.php | 35 | ||||
-rw-r--r-- | plugins/RSSCloud/RSSCloudRequestNotify.php | 24 |
4 files changed, 57 insertions, 42 deletions
diff --git a/plugins/RSSCloud/LoggingAggregator.php b/plugins/RSSCloud/LoggingAggregator.php index c81a987f7..e37eed16a 100644 --- a/plugins/RSSCloud/LoggingAggregator.php +++ b/plugins/RSSCloud/LoggingAggregator.php @@ -111,12 +111,13 @@ class LoggingAggregatorAction extends Action } header('Content-Type: text/xml'); - echo '<notifyResult success=\'true\' msg=\'Thanks for the update.\' />' . "\n"; + Echo "<notifyResult success='true' msg='Thanks for the update.' />\n"; } $this->ip = $_SERVER['REMOTE_ADDR']; - common_log(LOG_INFO, 'RSSCloud Logging Aggregator - ' . $this->ip . ' claims the feed at ' . + common_log(LOG_INFO, 'RSSCloud Logging Aggregator - ' . + $this->ip . ' claims the feed at ' . $this->url . ' has been updated.'); } diff --git a/plugins/RSSCloud/RSSCloudNotifier.php b/plugins/RSSCloud/RSSCloudNotifier.php index 485c4dcdf..d454691c8 100644 --- a/plugins/RSSCloud/RSSCloudNotifier.php +++ b/plugins/RSSCloud/RSSCloudNotifier.php @@ -41,16 +41,16 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ **/ -class RSSCloudNotifier { - +class RSSCloudNotifier +{ const MAX_FAILURES = 3; /** * Send an HTTP GET to the notification handler with a * challenge string to see if it repsonds correctly. * - * @param String $endpoint URL of the notification handler - * @param String $feed the feed being subscribed to + * @param string $endpoint URL of the notification handler + * @param string $feed the feed being subscribed to * * @return boolean success */ @@ -61,10 +61,11 @@ class RSSCloudNotifier { $url = $endpoint . '?' . http_build_query($params); try { - $client = new HTTPClient(); + $client = new HTTPClient(); $response = $client->get($url); } catch (HTTP_Request2_Exception $e) { - common_log(LOG_INFO, 'RSSCloud plugin - failure testing notify handler ' . + common_log(LOG_INFO, + 'RSSCloud plugin - failure testing notify handler ' . $endpoint . ' - ' . $e->getMessage()); return false; } @@ -105,18 +106,19 @@ class RSSCloudNotifier { * HTTP POST a notification that a feed has been updated * ('ping the cloud'). * - * @param String $endpoint URL of the notification handler - * @param String $feed the feed being subscribed to + * @param String $endpoint URL of the notification handler + * @param String $feed the feed being subscribed to * * @return boolean success */ - function postUpdate($endpoint, $feed) { + function postUpdate($endpoint, $feed) + { $headers = array(); $postdata = array('url' => $feed); try { - $client = new HTTPClient(); + $client = new HTTPClient(); $response = $client->post($endpoint, $headers, $postdata); } catch (HTTP_Request2_Exception $e) { common_log(LOG_INFO, 'RSSCloud plugin - failure notifying ' . @@ -153,6 +155,7 @@ class RSSCloudNotifier { $profile->nickname . '.rss'; $cloudSub = new RSSCloudSubscription(); + $cloudSub->subscribed = $profile->id; if ($cloudSub->find()) { @@ -186,7 +189,8 @@ class RSSCloudNotifier { if ($failCnt == self::MAX_FAILURES) { common_log(LOG_INFO, - 'Deleting RSSCloud subcription (max failure count reached), profile: ' . + 'Deleting RSSCloud subcription ' . + '(max failure count reached), profile: ' . $cloudSub->subscribed . ' handler: ' . $cloudSub->url); @@ -209,7 +213,8 @@ class RSSCloudNotifier { } else { - common_debug('Updating failure count on RSSCloud subscription. ' . $failCnt); + common_debug('Updating failure count on RSSCloud subscription. ' . + $failCnt); $failCnt = $cloudSub->failures + 1; @@ -224,9 +229,11 @@ class RSSCloudNotifier { if (!$result) { common_log_db_error($cloudsub, 'UPDATE', __FILE__); - common_log(LOG_ERR, 'Could not update failure count on RSSCloud subscription'); + common_log(LOG_ERR, + 'Could not update failure ' . + 'count on RSSCloud subscription'); } - } + } } } diff --git a/plugins/RSSCloud/RSSCloudPlugin.php b/plugins/RSSCloud/RSSCloudPlugin.php index b1af9b59c..db2cdd74d 100644 --- a/plugins/RSSCloud/RSSCloudPlugin.php +++ b/plugins/RSSCloud/RSSCloudPlugin.php @@ -98,16 +98,20 @@ class RSSCloudPlugin extends Plugin * * Hook for RouterInitialized event. * + * @param Mapper &$m URL parser and mapper + * * @return boolean hook return */ function onRouterInitialized(&$m) { - $m->connect('/main/rsscloud/request_notify', array('action' => 'RSSCloudRequestNotify')); + $m->connect('/main/rsscloud/request_notify', + array('action' => 'RSSCloudRequestNotify')); // XXX: This is just for end-to-end testing. Uncomment if you need to pretend // to be a cloud hub for some reason. - // $m->connect('/main/rsscloud/notify', array('action' => 'LoggingAggregator')); + //$m->connect('/main/rsscloud/notify', + // array('action' => 'LoggingAggregator')); return true; } @@ -126,17 +130,18 @@ class RSSCloudPlugin extends Plugin { switch ($cls) { - case 'RSSCloudSubscription': - include_once(INSTALLDIR . '/plugins/RSSCloud/RSSCloudSubscription.php'); + case 'RSSCloudSubscription': + include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudSubscription.php'; return false; - case 'RSSCloudNotifier': - include_once(INSTALLDIR . '/plugins/RSSCloud/RSSCloudNotifier.php'); + case 'RSSCloudNotifier': + include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudNotifier.php'; return false; - case 'RSSCloudRequestNotifyAction': - case 'LoggingAggregatorAction': - include_once(INSTALLDIR . '/plugins/RSSCloud/' . mb_substr($cls, 0, -6) . '.php'); + case 'RSSCloudRequestNotifyAction': + case 'LoggingAggregatorAction': + include_once INSTALLDIR . '/plugins/RSSCloud/' . + mb_substr($cls, 0, -6) . '.php'; return false; - default: + default: return true; } } @@ -145,7 +150,7 @@ class RSSCloudPlugin extends Plugin * Add a <cloud> element to the RSS feed (after the rss <channel> * element is started). * - * @param Action $action + * @param Action $action the ApiAction * * @return void */ @@ -215,7 +220,7 @@ class RSSCloudPlugin extends Plugin /** * Determine whether the notice was locally created * - * @param Notice $notice + * @param Notice $notice the notice in question * * @return boolean locality */ @@ -233,7 +238,8 @@ class RSSCloudPlugin extends Plugin * @return boolean hook return */ - function onCheckSchema() { + function onCheckSchema() + { $schema = Schema::get(); $schema->ensureTable('rsscloud_subscription', array(new ColumnDef('subscribed', 'integer', @@ -248,8 +254,7 @@ class RSSCloudPlugin extends Plugin null, false, null, 'CURRENT_TIMESTAMP', 'on update CURRENT_TIMESTAMP') - ) - ); + )); return true; } diff --git a/plugins/RSSCloud/RSSCloudRequestNotify.php b/plugins/RSSCloud/RSSCloudRequestNotify.php index 9643bf432..a648efff1 100644 --- a/plugins/RSSCloud/RSSCloudRequestNotify.php +++ b/plugins/RSSCloud/RSSCloudRequestNotify.php @@ -56,9 +56,9 @@ class RSSCloudRequestNotifyAction extends Action { parent::prepare($args); - $this->ip = $_SERVER['REMOTE_ADDR']; - $this->port = $this->arg('port'); - $this->path = $this->arg('path'); + $this->ip = $_SERVER['REMOTE_ADDR']; + $this->port = $this->arg('port'); + $this->path = $this->arg('path'); if ($this->path[0] != '/') { $this->path = '/' . $this->path; @@ -68,7 +68,7 @@ class RSSCloudRequestNotifyAction extends Action $this->procedure = $this->arg('notifyProcedure'); $this->domain = $this->arg('domain'); - $this->feeds = $this->getFeeds(); + $this->feeds = $this->getFeeds(); return true; } @@ -124,7 +124,8 @@ class RSSCloudRequestNotifyAction extends Action } if (empty($this->feeds)) { - $msg = 'You must provide at least one valid profile feed url (url1, url2, url3 ... urlN).'; + $msg = 'You must provide at least one valid profile feed url ' . + '(url1, url2, url3 ... urlN).'; $this->showResult(false, $msg); return; } @@ -195,7 +196,7 @@ class RSSCloudRequestNotifyAction extends Action { $feeds = array(); - while (list($key, $feed) = each ($this->args)) { + while (list($key, $feed) = each($this->args)) { if (preg_match('/^url\d*$/', $key)) { $feeds[] = $feed; } @@ -251,7 +252,7 @@ class RSSCloudRequestNotifyAction extends Action } else { return 'http://' . $this->ip . ':' . $this->port . $this->path; } - } + } /** * Uses the nickname part of the subscribed feed URL to figure out @@ -267,7 +268,7 @@ class RSSCloudRequestNotifyAction extends Action { // We only do profile feeds - $path = common_path('api/statuses/user_timeline/'); + $path = common_path('api/statuses/user_timeline/'); $valid = '%^' . $path . '(?<nickname>.*)\.rss$%'; if (preg_match($valid, $feed, $matches)) { @@ -283,7 +284,7 @@ class RSSCloudRequestNotifyAction extends Action /** * Save an RSSCloud subscription * - * @param $feed a valid profile feed + * @param string $feed a valid profile feed * * @return boolean success result */ @@ -329,8 +330,9 @@ class RSSCloudRequestNotifyAction extends Action function showResult($success, $msg) { $this->startXML(); - $this->elementStart('notifyResult', array('success' => ($success) ? 'true' : 'false', - 'msg' => $msg)); + $this->elementStart('notifyResult', + array('success' => ($success) ? 'true' : 'false', + 'msg' => $msg)); $this->endXML(); } |