示例#1
0
文件: Json.php 项目: imjerrybao/phpbu
 /**
  * Set backup sync configurations.
  *
  * @param  \phpbu\App\Configuration\Backup $backup
  * @param  array                           $json
  * @throws \phpbu\App\Exception
  */
 protected function setSyncs(Configuration\Backup $backup, array $json)
 {
     if (isset($json['syncs'])) {
         foreach ($json['syncs'] as $s) {
             if (!isset($s['type'])) {
                 throw new Exception('invalid sync configuration: attribute type missing');
             }
             $type = $s['type'];
             $skip = Arr::getValue($s, 'skipOnFailure', true);
             $options = $this->getOptions($s);
             $backup->addSync(new Configuration\Backup\Sync($type, $skip, $options));
         }
     }
 }
示例#2
0
 /**
  * Set backup sync configurations.
  *
  * @param  \phpbu\App\Configuration\Backup $backup
  * @param  \DOMElement                     $node
  * @throws \phpbu\App\Exception
  */
 protected function setSyncs(Configuration\Backup $backup, DOMElement $node)
 {
     /** @var DOMElement $syncNode */
     foreach ($node->getElementsByTagName('sync') as $syncNode) {
         $type = $syncNode->getAttribute('type');
         if (!$type) {
             throw new Exception('invalid sync configuration: attribute type missing');
         }
         $skip = Str::toBoolean($syncNode->getAttribute('skipOnFailure'), true);
         $options = $this->getOptions($syncNode);
         $backup->addSync(new Configuration\Backup\Sync($type, $skip, $options));
     }
 }