2cd185f4ba43e4308fb0410a3f14d85e18df0a7f
[bdrem.git] / src / bdrem / Renderer / Console.php
1 <?php
2 namespace bdrem;
3
4 class Renderer_Console
5 {
6     public function render($arEvents)
7     {
8         $s  = "Days Age Name                                     Event                Date\n";
9         $s .= "---- --- ---------------------------------------- -------------------- ----------\n";
10         foreach ($arEvents as $event) {
11             $s .= sprintf(
12                 "%3d %4s %s %s %s\n",
13                 $event->days,
14                 $event->age,
15                 $this->str_pad($event->title, 40),
16                 $this->str_pad($event->type, 20),
17                 $event->date
18             );
19         }
20         return $s;
21     }
22
23     public function str_pad(
24         $input, $pad_length, $pad_string = ' ', $pad_type = STR_PAD_RIGHT
25     ) {
26         $l = mb_strlen($input, 'utf-8');
27         if ($l >= $pad_length) {
28             return $input;
29         }
30
31         $p = str_repeat($pad_string, $pad_length - $l);
32         if ($pad_type == STR_PAD_RIGHT) {
33             return $input . $p;
34         } else {
35             return $p . $input;
36         }
37     }
38 }
39 ?>