/** * 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)); } } }
/** * 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)); } }