Exemple #1
0
 private function boxify($text, $chars)
 {
     /*{{{*/
     $chars = explode(",", $chars);
     $num_chars = count($chars);
     if ($num_chars == 2) {
         $n = $s = $chars[0];
         $e = $w = $nw = $ne = $se = $sw = $chars[1];
     } else {
         if ($num_chars == 3) {
             $nw = $ne = $se = $sw = $chars[0];
             $n = $s = $chars[1];
             $e = $w = $chars[2];
         } else {
             throw new \InvalidArgumentException("Invalid format for box characters");
         }
     }
     $width = Text\MultiByte::text_width($text, $this->charset);
     $output = $nw . str_repeat($n, $width + 2) . $ne . "\n";
     foreach (explode("\n", $text) as $line) {
         $output .= $w . ' ' . Text\MultiByte::str_pad($line, $width) . ' ' . $e . "\n";
     }
     $output .= $sw . str_repeat($s, $width + 2) . $se . "\n";
     return $output;
 }