addon-base-v2.php
2 months ago
addon-not-yet-present.php
1 month ago
azure.php
1 year ago
backblaze.php
3 years ago
backup-module.php
3 weeks ago
cloudfiles-new.php
2 months ago
cloudfiles.php
3 weeks ago
dreamobjects.php
3 weeks ago
dropbox.php
3 weeks ago
email.php
1 month ago
ftp.php
3 weeks ago
googlecloud.php
3 years ago
googledrive.php
3 weeks ago
insufficient.php
1 year ago
onedrive.php
3 years ago
openstack-base.php
3 weeks ago
openstack.php
3 years ago
openstack2.php
9 months ago
pcloud.php
3 years ago
remotesend.php
3 weeks ago
s3.php
3 weeks ago
s3generic.php
1 month ago
sftp.php
1 year ago
template.php
1 year ago
updraftvault.php
1 month ago
webdav.php
3 years ago
insufficient.php
139 lines
| 1 | <?php |
| 2 | |
| 3 | if (!defined('UPDRAFTPLUS_DIR')) die('No direct access allowed.'); |
| 4 | |
| 5 | if (!class_exists('UpdraftPlus_BackupModule')) updraft_try_include_file('methods/backup-module.php', 'require_once'); |
| 6 | |
| 7 | class UpdraftPlus_BackupModule_insufficientphp extends UpdraftPlus_BackupModule { |
| 8 | |
| 9 | private $required_php; |
| 10 | |
| 11 | private $error_msg; |
| 12 | |
| 13 | private $method; |
| 14 | |
| 15 | private $desc; |
| 16 | |
| 17 | private $image; |
| 18 | |
| 19 | private $error_msg_trans; |
| 20 | |
| 21 | public function __construct($method, $desc, $php, $image = null) { |
| 22 | $this->method = $method; |
| 23 | $this->desc = $desc; |
| 24 | $this->required_php = $php; |
| 25 | $this->image = $image; |
| 26 | $this->error_msg = 'This remote storage method ('.$this->desc.') requires PHP '.$this->required_php.' or later'; |
| 27 | /* translators: 1: remote storage method, 2: required PHP version */ |
| 28 | $this->error_msg_trans = sprintf(__('This remote storage method (%1$s) requires PHP %2$s or later.', 'updraftplus'), $this->desc, $this->required_php); |
| 29 | } |
| 30 | |
| 31 | private function log_error() { |
| 32 | global $updraftplus; |
| 33 | $updraftplus->log($this->error_msg); |
| 34 | $updraftplus->log($this->error_msg_trans, 'error', 'insufficientphp'); |
| 35 | return false; |
| 36 | } |
| 37 | |
| 38 | /** |
| 39 | * backup method: takes an array, and shovels them off to the cloud storage |
| 40 | * |
| 41 | * @param array $backup_array An array backups |
| 42 | * @return Array |
| 43 | */ |
| 44 | 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. |
| 45 | return $this->log_error(); |
| 46 | } |
| 47 | |
| 48 | /** |
| 49 | * Retrieve a list of supported features for this storage method |
| 50 | * |
| 51 | * Currently known features: |
| 52 | * |
| 53 | * - multi_options : indicates that the remote storage module |
| 54 | * can handle its options being in the Feb-2017 multi-options |
| 55 | * format. N.B. This only indicates options handling, not any |
| 56 | * other multi-destination options. |
| 57 | * |
| 58 | * - multi_servers : not implemented yet: indicates that the |
| 59 | * remote storage module can handle multiple servers at backup |
| 60 | * time. This should not be specified without multi_options. |
| 61 | * multi_options without multi_servers is fine - it will just |
| 62 | * cause only the first entry in the options array to be used. |
| 63 | * |
| 64 | * - config_templates : not implemented yet: indicates that |
| 65 | * the remote storage module can output its configuration in |
| 66 | * Handlebars format via the get_configuration_template() method. |
| 67 | * |
| 68 | * @return Array - an array of supported features (any features not |
| 69 | * mentioned are assumed to not be supported) |
| 70 | */ |
| 71 | public function get_supported_features() { |
| 72 | // The 'multi_options' options format is handled via only accessing options via $this->get_options() |
| 73 | return array('multi_options', 'config_templates'); |
| 74 | } |
| 75 | |
| 76 | /** |
| 77 | * $match: a substring to require (tested via strpos() !== false) |
| 78 | * |
| 79 | * @param String $match THis will specify which match is used for the SQL but by default it is set to 'backup_' unless specified |
| 80 | * @return Array |
| 81 | */ |
| 82 | 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. |
| 83 | return new WP_Error('insufficient_php', $this->error_msg_trans); |
| 84 | } |
| 85 | |
| 86 | /** |
| 87 | * delete method: takes an array of file names (base name) or a single string, and removes them from the cloud storage |
| 88 | * |
| 89 | * @param String $files List of files |
| 90 | * @param Boolean $data Specifies data or not |
| 91 | * @param array $sizeinfo This is the size info on the file. |
| 92 | * @return Array |
| 93 | */ |
| 94 | public function delete($files, $data = 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. |
| 95 | return $this->log_error(); |
| 96 | } |
| 97 | |
| 98 | /** |
| 99 | * download method: takes a file name (base name), and brings it back from the cloud storage into Updraft's directory |
| 100 | * You can register errors with $updraftplus->log("my error message", 'error') |
| 101 | * |
| 102 | * @param String $file List of files |
| 103 | * @return Array |
| 104 | */ |
| 105 | public function download($file) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform download for specific storage is not exist. |
| 106 | return $this->log_error(); |
| 107 | } |
| 108 | |
| 109 | private function extra_config() { |
| 110 | } |
| 111 | |
| 112 | /** |
| 113 | * Get the configuration template |
| 114 | * |
| 115 | * @return String - the template, ready for substitutions to be carried out |
| 116 | */ |
| 117 | public function get_configuration_template() { |
| 118 | ob_start(); |
| 119 | $this->extra_config(); |
| 120 | ?> |
| 121 | <tr class="updraftplusmethod <?php echo esc_attr($this->method);?>"> |
| 122 | <th><?php echo esc_html($this->desc);?>:</th> |
| 123 | <td> |
| 124 | <em> |
| 125 | <?php |
| 126 | echo (!empty($this->image)) ? '<p><img src="'.esc_url(UPDRAFTPLUS_URL.'/images/'.$this->image).'"></p>' : ''; |
| 127 | echo esc_html($this->error_msg_trans); |
| 128 | esc_html_e('You will need to ask your web hosting company to upgrade.', 'updraftplus'); |
| 129 | /* translators: 1: plugin name, 2: version number */ |
| 130 | echo esc_html(sprintf(__('Your %1$s version: %2$s.', 'updraftplus'), 'PHP', phpversion())); |
| 131 | ?> |
| 132 | </em> |
| 133 | </td> |
| 134 | </tr> |
| 135 | <?php |
| 136 | return ob_get_clean(); |
| 137 | } |
| 138 | } |
| 139 |