1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
<?php
if (!defined('UPDRAFTPLUS_DIR')) die('No direct access allowed.');
if (!class_exists('UpdraftPlus_BackupModule')) require_once(UPDRAFTPLUS_DIR.'/methods/backup-module.php');
class UpdraftPlus_BackupModule_insufficientphp extends UpdraftPlus_BackupModule {
private $required_php;
private $error_msg;
private $method;
public function __construct($method, $desc, $php, $image = null) { $this->method = $method; $this->desc = $desc; $this->required_php = $php; $this->image = $image; $this->error_msg = 'This remote storage method ('.$this->desc.') requires PHP '.$this->required_php.' or later'; $this->error_msg_trans = sprintf(__('This remote storage method (%s) requires PHP %s or later.', 'updraftplus'), $this->desc, $this->required_php); }
private function log_error() { global $updraftplus; $updraftplus->log($this->error_msg); $updraftplus->log($this->error_msg_trans, 'error', 'insufficientphp'); return false; }
/** * backup method: takes an array, and shovels them off to the cloud storage * * @param array $backup_array An array backups * @return array */ public function backup($backup_array) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable return $this->log_error(); }
/** * 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. * * @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'); }
/** * $match: a substring to require (tested via strpos() !== false) * * @param string $match THis will specify which match is used for the SQL but by default it is set to 'backup_' unless specified * @return array */ public function listfiles($match = 'backup_') {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable return new WP_Error('insufficient_php', $this->error_msg_trans); }
/** * delete method: takes an array of file names (base name) or a single string, and removes them from the cloud storage * * @param string $files List of files * @param boolean $data Specifies data or not * @param array $sizeinfo This is the size info on the file. * @return array */ public function delete($files, $data = false, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable return $this->log_error(); }
/** * download method: takes a file name (base name), and brings it back from the cloud storage into Updraft's directory * You can register errors with $updraftplus->log("my error message", 'error') * * @param string $file List of files * @return array */ public function download($file) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable return $this->log_error(); }
private function extra_config() { }
/** * Get the configuration template * * @return String - the template, ready for substitutions to be carried out */ public function get_configuration_template() { ob_start(); $this->extra_config(); ?> <tr class="updraftplusmethod <?php echo $this->method;?>"> <th><?php echo htmlspecialchars($this->desc);?>:</th> <td> <em> <?php echo (!empty($this->image)) ? '<p><img src="'.UPDRAFTPLUS_URL.'/images/'.$this->image.'"></p>' : ''; ?> <?php echo htmlspecialchars($this->error_msg_trans);?> <?php echo htmlspecialchars(__('You will need to ask your web hosting company to upgrade.', 'updraftplus'));?> <?php echo sprintf(__('Your %s version: %s.', 'updraftplus'), 'PHP', phpversion());?> </em> </td> </tr> <?php return ob_get_clean(); } }
|