예제 #1
0
 /**
  * Initialise the application.
  */
 protected function init()
 {
     $dirs = ['slicer-dir' => base_path('slicer'), 'tmp-dir' => base_path('slicer/tmp'), 'updates-dir' => base_path('slicer/updates'), 'backup-dir' => base_path('slicer/backup')];
     $this->slicer = Factory::create();
     if ('' !== $this->slicer->getConfig()->getSlicerDir()) {
         $dir['slicer-dir'] = $this->slicer->getConfig()->getSlicerDir();
     }
     if ('' !== $this->slicer->getConfig()->getStorage()['tmp-dir']) {
         $dirs['tmp-dir'] = $this->slicer->getConfig()->getStorage()['tmp-dir'];
     }
     if ('' !== $this->slicer->getConfig()->getStorage()['update-dir']) {
         $dirs['updates-dir'] = $this->slicer->getConfig()->getStorage()['update-dir'];
     }
     if ('' !== $this->slicer->getConfig()->getStorage()['backup-dir']) {
         $dirs['backup-dir'] = $this->slicer->getConfig()->getStorage()['backup-dir'];
     }
     foreach ($dirs as $dir) {
         if (!is_writable(dirname($dir))) {
             echo "'{$dir}' is not writable";
             exit(1);
         }
         if (!is_readable(dirname($dir))) {
             echo "'{$dir}' is not readable";
             exit(1);
         }
         @mkdir($dir, 0777, TRUE);
     }
 }