method = $method;
$this->description = $description;
$this->required_php = $required_php;
$this->image = $image;
$this->error_msg = 'This remote storage method ('.$this->description.') requires PHP '.$this->required_php.' or later';
$this->error_msg_trans = sprintf(__('This remote storage method (%s) requires PHP %s or later.', 'updraftplus'), $this->description, $this->required_php);
}
public function backup($backup_array) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform backup for specific storage is not exist.
$this->log("You do not have the UpdraftPlus ".$this->method.' add-on installed - get it from '.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/").'');
$this->log(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s', 'updraftplus'), $this->description, ''.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/").''), 'error', 'missingaddon-'.$this->method);
return false;
}
/**
* Retrieve a list of supported features for this storage method
*
* Currently known features:
*
* - multi_options : indicates that the remote storage module
* can handle its options being in the Feb-2017 multi-options
* format. N.B. This only indicates options handling, not any
* other multi-destination options.
*
* - multi_servers : not implemented yet: indicates that the
* remote storage module can handle multiple servers at backup
* time. This should not be specified without multi_options.
* multi_options without multi_servers is fine - it will just
* cause only the first entry in the options array to be used.
*
* - config_templates : not implemented yet: indicates that
* the remote storage module can output its configuration in
* Handlebars format via the get_configuration_template() method.
*
* - conditional_logic : indicates that the remote storage module
* can handle predefined logics regarding how backups should be
* sent to the remote storage
*
* @return Array - an array of supported features (any features not
* mentioned are assumed to not be supported)
*/
public function get_supported_features() {
// The 'multi_options' options format is handled via only accessing options via $this->get_options()
return array('multi_options', 'config_templates');
}
public function delete($files, $method_obj = false, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform delete for specific storage is not exist.
$this->log('You do not have the UpdraftPlus '.$this->method.' add-on installed - get it from '.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/").'');
$this->log(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s', 'updraftplus'), $this->description, ''.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/").''), 'error', 'missingaddon-'.$this->method);
return false;
}
public function listfiles($match = 'backup_') {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform listfiles for specific storage is not exist.
return new WP_Error('no_addon', sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s', 'updraftplus'), $this->description, ''.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/")));
}
/**
* Get the configuration template
*
* @return String - the template, ready for substitutions to be carried out
*/
public function get_configuration_template() {
ob_start();
?>
' : '',
'error_msg_trans' => $this->error_msg_trans,
'premium_url' => $updraftplus->get_url('premium_'.$this->get_id()),
'addon_text' => sprintf(__('Back up to %s with %s.', 'updraftplus'), $this->description, 'UpdraftPlus Premium'),
'php_version_text' => sprintf(__('Your PHP version: %s.', 'updraftplus'), phpversion()),
'hosting_text' => __('You will need to ask your web hosting company to upgrade.', 'updraftplus'),
);
if ('sftp' === $this->get_id()) $properties['addon_text'] = sprintf(__('Back up via %s with %s.', 'updraftplus'), $this->description, 'UpdraftPlus Premium');
return wp_parse_args($properties, $this->get_persistent_variables_and_methods());
}
}