From: Christian Weiske Date: Thu, 23 Jan 2014 16:22:47 +0000 (+0100) Subject: introduce UserInterface class, add simple parameter support for web and cli X-Git-Tag: v0.5.0~49 X-Git-Url: https://git.cweiske.de/bdrem.git/commitdiff_plain/76006cfc22b9462e50ff1a739ea25f99cf0d239d?ds=sidebyside introduce UserInterface class, add simple parameter support for web and cli --- diff --git a/src/bdrem/Cli.php b/src/bdrem/Cli.php index 807f336..c38e173 100644 --- a/src/bdrem/Cli.php +++ b/src/bdrem/Cli.php @@ -1,23 +1,32 @@ load(); - setlocale(LC_TIME, $cfg->locale); - $source = $cfg->loadSource(); + $params = $GLOBALS['argv']; + array_shift($params); + $storeInto = null; + foreach ($params as $param) { + if ($storeInto !== null) { + $cfg->$storeInto = (int)$param; + $storeInto = null; + continue; + } - $arEvents = $source->getEvents( - date('Y-m-d'), $cfg->daysBefore, $cfg->daysAfter - ); - usort($arEvents, '\\bdrem\\Event::compare'); - $this->render($arEvents); + if ($param == '--days-after' || $param == '-a') { + $storeInto = 'daysAfter'; + continue; + } else if ($param == '--days-before' || $param == '-b') { + $storeInto = 'daysBefore'; + continue; + } + $storeInto = null; + } } - public function render($arEvents) + protected function render($arEvents) { $r = new Renderer_Console(); echo $r->render($arEvents); diff --git a/src/bdrem/UserInterface.php b/src/bdrem/UserInterface.php new file mode 100644 index 0000000..ffaa279 --- /dev/null +++ b/src/bdrem/UserInterface.php @@ -0,0 +1,27 @@ +load(); + setlocale(LC_TIME, $cfg->locale); + $source = $cfg->loadSource(); + + $this->loadParameters($cfg); + $arEvents = $source->getEvents( + date('Y-m-d'), $cfg->daysBefore, $cfg->daysAfter + ); + usort($arEvents, '\\bdrem\\Event::compare'); + $this->render($arEvents); + } + + protected function loadParameters($cfg) + { + } + + abstract protected function render($arEvents); +} +?> \ No newline at end of file diff --git a/src/bdrem/Web.php b/src/bdrem/Web.php index ac619ce..ab3973a 100644 --- a/src/bdrem/Web.php +++ b/src/bdrem/Web.php @@ -1,26 +1,22 @@ load(); - setlocale(LC_TIME, $cfg->locale); - $source = $cfg->loadSource(); - - $arEvents = $source->getEvents( - date('Y-m-d'), $cfg->daysBefore, $cfg->daysAfter - ); - usort($arEvents, '\\bdrem\\Event::compare'); - $this->render($arEvents); + $r = new Renderer_Html(); + echo $r->render($arEvents); } - public function render($arEvents) + protected function loadParameters($cfg) { - $r = new Renderer_Html(); - echo $r->render($arEvents); + if (isset($_GET['daysBefore'])) { + $cfg->daysBefore = (int) $_GET['daysBefore']; + } + if (isset($_GET['daysAfter'])) { + $cfg->daysAfter = (int) $_GET['daysAfter']; + } } } ?> diff --git a/src/bdrem/WebText.php b/src/bdrem/WebText.php index 8f3ff8a..aaace51 100644 --- a/src/bdrem/WebText.php +++ b/src/bdrem/WebText.php @@ -3,7 +3,7 @@ namespace bdrem; class WebText extends Web { - public function render($arEvents) + protected function render($arEvents) { header('Content-type: text/plain; charset=utf-8'); $r = new Renderer_Console();