X-Git-Url: https://git.cweiske.de/bdrem.git/blobdiff_plain/441c72bbf3d29be5c7f5eb0fd43ac267fe059c2f..e86787a8eb6a31fbe95f1a3854d66e25e5e63c67:/src/bdrem/Renderer/Console.php diff --git a/src/bdrem/Renderer/Console.php b/src/bdrem/Renderer/Console.php index 2cd185f..01d6eb2 100644 --- a/src/bdrem/Renderer/Console.php +++ b/src/bdrem/Renderer/Console.php @@ -5,35 +5,30 @@ class Renderer_Console { public function render($arEvents) { - $s = "Days Age Name Event Date\n"; - $s .= "---- --- ---------------------------------------- -------------------- ----------\n"; - foreach ($arEvents as $event) { - $s .= sprintf( - "%3d %4s %s %s %s\n", - $event->days, - $event->age, - $this->str_pad($event->title, 40), - $this->str_pad($event->type, 20), - $event->date - ); - } - return $s; - } + $tbl = new \Console_Table( + CONSOLE_TABLE_ALIGN_LEFT, + array('sect' => '', 'rule' => '-', 'vert' => '') + ); + $tbl->setAlign(0, CONSOLE_TABLE_ALIGN_RIGHT); + $tbl->setAlign(1, CONSOLE_TABLE_ALIGN_RIGHT); - public function str_pad( - $input, $pad_length, $pad_string = ' ', $pad_type = STR_PAD_RIGHT - ) { - $l = mb_strlen($input, 'utf-8'); - if ($l >= $pad_length) { - return $input; - } + $tbl->setHeaders( + array('Days', 'Age', 'Name', 'Event', 'Date', 'Day') + ); - $p = str_repeat($pad_string, $pad_length - $l); - if ($pad_type == STR_PAD_RIGHT) { - return $input . $p; - } else { - return $p . $input; + foreach ($arEvents as $event) { + $tbl->addRow( + array( + $event->days, + $event->age, + wordwrap($event->title, 30, "\n", true), + wordwrap($event->type, 20, "\n", true), + $event->date, + strftime('%a', strtotime($event->localDate)) + ) + ); } + return $tbl->getTable(); } } ?>