コード例 #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
ファイル: Xml.php プロジェクト: todiadiyatmo/phpbu
 /**
  * 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));
     }
 }