Example #1
0
 /**
  * @param InputInterface  $consoleInput
  * @param OutputInterface $consoleOutput
  * @param $config
  * @param $inputName
  * @param $console
  *
  * @return int|void
  *
  * @throws \Exception
  */
 public function backup($inputName, InputInterface $consoleInput, OutputInterface $consoleOutput, ConfigContract $config, SyncOutputContract $console)
 {
     // Loop through outputs
     foreach ($this->getOutputNames($consoleInput, $config, $inputName) as $outputName) {
         // Display started message
         $this->started($consoleOutput, $inputName, $outputName);
         // Create Sync Settings
         $settings = $this->createSettings($inputName, $outputName, $consoleInput, $config);
         $this->setTimezone($settings);
         // Create IO Handler
         $inputHandler = $this->createInput($inputName, $config);
         $outputHandler = $this->createOutput($outputName, $config, null, $consoleInput->getOption('no-interaction'));
         // Create Sync Application
         $app = new Application();
         $app->create($inputHandler, $outputHandler, $settings, $console);
         // Add Middleware
         $this->createVersioningMiddleware($inputName, $settings, $app);
         $this->createEncryptionMiddleware($settings, $app);
         // Run Sync
         $app->run();
         // Free some RAM
         unset($settings, $inputHandler, $outputHandler, $app);
     }
 }