]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/RSSCloud/LoggingAggregator.php
Merge remote-tracking branch 'origin/1.1.x' into 1.1.x
[quix0rs-gnu-social.git] / plugins / RSSCloud / LoggingAggregator.php
index cbdefc36b804abce6754566ffb11cdd769ede23a..824fa9ee9c7d678fe50f65b0d28a40209c282f4f 100644 (file)
@@ -1,5 +1,4 @@
 <?php
-
 /**
  * This test class pretends to be an RSS aggregator. It logs notifications
  * from the cloud.
@@ -33,9 +32,21 @@ if (!defined('STATUSNET')) {
     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;
 
@@ -59,48 +70,59 @@ class LoggingAggregatorAction extends Action
         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');
@@ -108,5 +130,4 @@ class LoggingAggregatorAction extends Action
         echo "<?xml version='1.0'?>\n";
         echo "<notifyResult success='false' msg='$msg' />\n";
     }
-
-}
\ No newline at end of file
+}