diff options
Diffstat (limited to 'src/bdrem/Renderer/Console.php')
| -rw-r--r-- | src/bdrem/Renderer/Console.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/bdrem/Renderer/Console.php b/src/bdrem/Renderer/Console.php new file mode 100644 index 0000000..2cd185f --- /dev/null +++ b/src/bdrem/Renderer/Console.php @@ -0,0 +1,39 @@ +<?php +namespace bdrem; + +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; + } + + 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; + } + + $p = str_repeat($pad_string, $pad_length - $l); + if ($pad_type == STR_PAD_RIGHT) { + return $input . $p; + } else { + return $p . $input; + } + } +} +?> |
