<?php
-
/**
* This test class pretends to be an RSS aggregator. It logs notifications
* from the cloud.
exit(1);
}
+/**
+ * Dummy aggregator that acts as a proper notification handler. It
+ * doesn't do anything but respond correctly when notified via
+ * REST. Mostly, this is just and action I used to develop the plugin
+ * and easily test things end-to-end. I'm leaving it in here as it
+ * may be useful for developing the plugin further.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
class LoggingAggregatorAction extends Action
{
-
var $challenge = null;
var $url = null;
return true;
}
+ /**
+ * Handle the request
+ *
+ * @param array $args $_REQUEST data (unused)
+ *
+ * @return void
+ */
function handle($args)
{
parent::handle($args);
if (empty($this->url)) {
- $this->showError('Hey, you have to provide a url parameter.');
+ // TRANS: Form validation error displayed when a URL parameter is missing.
+ $this->showError(_m('A URL parameter is required.'));
return;
}
if (!empty($this->challenge)) {
-
// must be a GET
-
if ($_SERVER['REQUEST_METHOD'] != 'GET') {
- $this->showError('This resource requires an HTTP GET.');
+ // TRANS: Form validation error displayed when HTTP GET is not used.
+ $this->showError(_m('This resource requires an HTTP GET.'));
return;
}
header('Content-Type: text/xml');
- echo "<notifyResult success='true' msg='Thanks for the update.' challenge='" .
- $this->challenge . "' />\n";
-
+ echo $this->challenge;
} else {
-
// must be a POST
-
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- $this->showError('This resource requires an HTTP POST.');
+ // TRANS: Form validation error displayed when HTTP POST is not used.
+ $this->showError(_m('This resource requires an HTTP POST.'));
return;
}
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.');
}
+ /**
+ * Show an XML error when things go badly
+ *
+ * @param string $msg the error message
+ *
+ * @return void
+ */
function showError($msg)
{
header('HTTP/1.1 400 Bad Request');
echo "<?xml version='1.0'?>\n";
echo "<notifyResult success='false' msg='$msg' />\n";
}
-
-}
\ No newline at end of file
+}