예제 #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);
     }
 }
예제 #2
0
파일: Factory.php 프로젝트: rawphp/slicer
 /**
  * Create a Slicer instance.
  *
  * @return Slicer
  */
 public function createSlicer()
 {
     $config = Factory::createConfig();
     $slicer = new Slicer();
     $slicer->setConfig($config);
     $slicer->setEventDispatcher(new EventDispatcher());
     $slicer->setEventDispatcher($slicer->getEventDispatcher());
     $slicer->setUpdateManager(new UpdateManager($config));
     $slicer->setDownloadManager(new DownloadManager($config));
     $slicer->setBackupManager(new BackupManager($config));
     $slicer->setInstallationManager(new InstallationManager($config));
     $slicer->getUpdateManager()->setDownloadManager($slicer->getDownloadManager())->setEventDispatcher($slicer->getEventDispatcher());
     $slicer->getDownloadManager()->setEventDispatcher($slicer->getEventDispatcher());
     $slicer->getBackupManager()->setEventDispatcher($slicer->getEventDispatcher());
     $slicer->getInstallationManager()->setEventDispatcher($slicer->getEventDispatcher());
     return $slicer;
 }