aboutsummaryrefslogtreecommitdiff
path: root/src/bdrem/Renderer
diff options
context:
space:
mode:
Diffstat (limited to 'src/bdrem/Renderer')
-rw-r--r--src/bdrem/Renderer/Console.php39
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;
+ }
+ }
+}
+?>