function wpb_array_merge_recursive_distinct(array &$array1, array &$array2) { $merged = $array1; foreach ($array2 as $key => &$value) { if (is_array($value) && isset($merged[$key]) && is_array($merged[$key])) { $merged[$key] = wpb_array_merge_recursive_distinct($merged[$key], $value); } else { $merged[$key] = $value; } } return $merged; }
public function __construct($properties, $is_backup = false) { if ($is_backup) { $this->properties = $properties['job']; $this->backup = $properties; if ('diferential' === $properties['type']) { $this->set_type('differential'); } } else { $this->properties = $properties; if ('1' === $properties['differential']) { $this->set_type('differential'); } } $this->properties = wpb_array_merge_recursive_distinct(Admin\Job::$form_defaults, $this->properties); $this->jobdir = MyWPBackup::$info['backup_dir'] . $this['id'] . '/'; $this->files = array('filtered' => array(), 'unchanged' => array(), 'iterator' => array(), 'overwritten' => array()); }