Esempio n. 1
0
 /**
  * @param array $conf
  * @return IView
  */
 protected function loadConfig($conf)
 {
     $dir = isset($conf['view_dir']) ? FormatUtils::formatPath($conf['view_dir']) : '';
     $loader = new \Twig_Loader_Filesystem($dir);
     if (isDebug()) {
         $conf['debug'] = true;
         $this->twig = new \Twig_Environment($loader, $conf);
         $this->twig->addExtension(new \Twig_Extension_Debug());
     } else {
         $this->twig = new \Twig_Environment($loader, $conf);
     }
     return $this;
 }
Esempio n. 2
0
 /**
  * Monolog constructor.
  * @param array $conf
  */
 function __construct($conf = [])
 {
     if (!$conf) {
         $conf = \Flight::get('config')->get('log');
     }
     if (is_array($conf)) {
         $this->logDir = isset($conf['directory']) ? FormatUtils::formatPath($conf['directory']) : STORAGE . 'log';
         if (!file_exists($this->logDir)) {
             mkdir($this->logDir, 0777, true);
         }
         if (isset($conf['loggers'])) {
             foreach ($conf['loggers'] as $d => $con) {
                 $this->registerLogger($d, $con);
             }
         }
     }
 }
Esempio n. 3
0
 public function testFormat()
 {
     // path
     $paths = ['', DIRECTORY_SEPARATOR, 'aa', 'aa' . DIRECTORY_SEPARATOR, 'aa/bb', DIRECTORY_SEPARATOR . 'cc', '/cc/dd' . DIRECTORY_SEPARATOR];
     $expes = ['', DIRECTORY_SEPARATOR, 'aa', 'aa', 'aa/bb', DIRECTORY_SEPARATOR . 'cc', '/cc/dd'];
     for ($i = 0; $i < count($paths); $i++) {
         $this->assertEquals($expes[$i], FormatUtils::formatPath($paths[$i]));
     }
     $paths = [['a', 'b', 'c'], ['a', 'b', 'c.txt'], [DIRECTORY_SEPARATOR, 'b', 'c.txt'], ['/a', 'b', 'c.txt'], ['', 'b', 'c.txt'], ['a', '', 'c'], ['a', 'b' . DIRECTORY_SEPARATOR, 'c']];
     $expes = ['a' . DIRECTORY_SEPARATOR . 'b' . DIRECTORY_SEPARATOR . 'c', 'a' . DIRECTORY_SEPARATOR . 'b' . DIRECTORY_SEPARATOR . 'c.txt', DIRECTORY_SEPARATOR . 'b' . DIRECTORY_SEPARATOR . 'c.txt', '/a' . DIRECTORY_SEPARATOR . 'b' . DIRECTORY_SEPARATOR . 'c.txt', 'b' . DIRECTORY_SEPARATOR . 'c.txt', 'a' . DIRECTORY_SEPARATOR . 'c', 'a' . DIRECTORY_SEPARATOR . 'b' . DIRECTORY_SEPARATOR . 'c'];
     for ($i = 0; $i < count($paths); $i++) {
         $this->assertEquals($expes[$i], FormatUtils::formatPathArray($paths[$i]));
     }
     // web path
     $paths = ['', 'aa', '/aa', 'aa/', '/aa/', 'aa/bb', '/aa/bb/', '/aa/c.html'];
     $expes = ['/', '/aa', '/aa', '/aa', '/aa', '/aa/bb', '/aa/bb', '/aa/c.html'];
     for ($i = 0; $i < count($paths); $i++) {
         $this->assertEquals($expes[$i], FormatUtils::formatWebPath($paths[$i]), $paths[$i]);
     }
     // web path array
     $paths = [['a', 'b', 'c'], ['a', 'b', 'c/'], ['/b', 'c'], ['/a', 'b/', 'c/'], ['', 'b', 'c'], ['a', '', 'c'], ['a', 'b', ''], ['a', 'b', 'c.html'], ['/', 'b', 'c'], ['/', 'b/c']];
     $expes = ['/a/b/c', '/a/b/c', '/b/c', '/a/b/c', '/b/c', '/a/c', '/a/b', '/a/b/c.html', '/b/c', '/b/c'];
     for ($i = 0; $i < count($paths); $i++) {
         $this->assertEquals($expes[$i], FormatUtils::formatWebPathArray($paths[$i]), print_r($paths[$i], true));
     }
     // extension
     $ext = ['xlsx', '.xlsx', 'txt', '.txt', 'as.txt', 'gg.', 'a$g', 'b,e/y'];
     $exp = ['xlsx', 'xlsx', 'txt', 'txt', 'as.txt', 'gg', 'ag', 'bey'];
     for ($i = 0; $i < count($ext); $i++) {
         $this->assertEquals($exp[$i], FormatUtils::formatExtension($ext[$i]));
     }
     // format array
     $arr1 = ['a', 'b', 1];
     $exp1 = ['a', 'b', 1];
     $this->assertEquals($exp1, FormatUtils::formatArray($arr1));
     $arr2 = ['a' => 1, 'b' => 'aa', 'c' => null, 'd' => 'null'];
     $exp2 = ['a' => 1, 'b' => 'aa', 'd' => 'null'];
     $this->assertEquals($exp2, FormatUtils::formatArray($arr2));
     $arr3 = ['a' => 1, 'b' => 'aa', 'c' => null, 'd' => 'null'];
     $exp3 = ['d' => 'null'];
     $this->assertEquals($exp3, FormatUtils::formatArray($arr3, ['a', 'b']));
     // trim array
     $arr1 = ['a', 'b ', " c\n"];
     $exp1 = ['a', 'b', 'c'];
     $this->assertEquals($exp1, FormatUtils::trimArray($arr1));
     $arr2 = ['a' => 'aa', 'b' => ' bb ', 2 => "\rcc\t"];
     $exp2 = ['a' => 'aa', 'b' => 'bb', 2 => 'cc'];
     $this->assertEquals($exp2, FormatUtils::trimArray($arr2));
     // array to string
     $test_a2s = ['a = 1' => ['a' => 1], 'a = 1,b = a' => ['a' => 1, 'b' => 'a']];
     foreach ($test_a2s as $exp => $t) {
         $this->assertEquals($exp, FormatUtils::arrayToString($t));
     }
     // format time
     $time1 = '2015/01/01 10:12:10';
     $exp1 = '2015-01-01 10:12:10';
     $this->assertEquals($exp1, FormatUtils::formatTime($time1));
     $time2 = '2015-01-01 10:12:20';
     $exp2 = '2015-01-01 10:12:20';
     $this->assertEquals($exp2, FormatUtils::formatTime($time2));
     $time3 = '2015-01-10 10:12:20';
     $exp3 = '2015-01-10';
     $this->assertEquals($exp3, FormatUtils::formatTime($time3, 'Y-m-d'));
 }
Esempio n. 4
0
 /**
  * @param string $path
  * @return $this
  */
 public function setPath($path)
 {
     $this->path = FormatUtils::formatPath($path);
     return $this;
 }