add docblocks to all files, classes, methods and variables
[bdrem.git] / src / bdrem / Web.php
index ac619ce796bfb63e182d87308b6bc66a995fd09c..d85136a8e3809999f037afb53fd7d466641d848a 100644 (file)
@@ -1,26 +1,54 @@
 <?php
+/**
+ * Part of bdrem
+ *
+ * PHP version 5
+ *
+ * @category  Tools
+ * @package   Bdrem
+ * @author    Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2014 Christian Weiske
+ * @license   http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link      http://cweiske.de/bdrem.htm
+ */
 namespace bdrem;
 
-class Web
+/**
+ * HTTP user interface that renders a HTML page
+ *
+ * @category  Tools
+ * @package   Bdrem
+ * @author    Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2014 Christian Weiske
+ * @license   http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @version   Release: @package_version@
+ * @link      http://cweiske.de/bdrem.htm
+ */
+class Web extends UserInterface
 {
-    public function run()
+    /**
+     * Load parameters for the CLI option parser.
+     * Set the default renderer to "html".
+     *
+     * @return \Console_CommandLine CLI option parser
+     */
+    protected function loadParameters()
     {
-        $cfg = new Config();
-        $cfg->load();
-        setlocale(LC_TIME, $cfg->locale);
-        $source = $cfg->loadSource();
+        $parser = parent::loadParameters();
+        //set default renderer to html
+        $parser->options['renderer']->default = 'html';
 
-        $arEvents = $source->getEvents(
-            date('Y-m-d'), $cfg->daysBefore, $cfg->daysAfter
-        );
-        usort($arEvents, '\\bdrem\\Event::compare');
-        $this->render($arEvents);
+        return $parser;
     }
 
-    public function render($arEvents)
+    /**
+     * Sends HTTP headers before a parameter error is shown
+     *
+     * @return void
+     */
+    protected function preRenderParameterError()
     {
-        $r = new Renderer_Html();
-        echo $r->render($arEvents);
+        header('Content-type: text/plain; charset=utf-8');
     }
 }
 ?>