PluginProbe ʕ •ᴥ•ʔ
UpdraftPlus: WP Backup & Migration Plugin / 1.10.1
UpdraftPlus: WP Backup & Migration Plugin v1.10.1
1.26.4 1.26.3 1.9.19 1.9.25 1.9.26 1.9.30 1.9.31 1.9.32 1.9.4 1.9.40 1.9.41 1.9.42 1.9.43 1.9.44 1.9.45 1.9.46 1.9.5 1.9.50 1.9.51 1.9.60 1.9.62 1.9.63 1.9.64 1.11.12 1.4.8 1.11.15 1.4.9 1.11.17 1.5.16 1.11.18 1.5.20 1.11.2 1.5.21 1.11.20 1.5.22 1.11.23 1.5.5 1.11.24 1.5.6 1.11.25 1.5.7 1.11.26 1.5.8 1.11.27 1.5.9 1.11.28 1.6.1 1.11.3 1.6.17 1.11.4 1.6.2 1.11.5 1.6.46 1.11.8 1.7.0 1.11.9 1.7.1 1.12.0 1.7.18 1.12.1 1.7.20 1.12.12 1.7.3 1.12.13 1.7.34 1.12.15 1.7.35 1.12.17 1.7.39 1.12.2 1.7.40 1.12.20 1.7.41 1.12.23 1.8.1 1.12.24 1.8.11 1.12.25 1.8.12 1.12.28 1.8.13 1.12.29 1.8.2 1.12.30 1.8.5 1.12.32 1.8.8 1.12.34 1.9.0 1.12.35 1.9.13 1.12.37 1.9.15 1.12.39 1.9.17 1.12.4 1.12.40 1.12.6 1.13.1 1.13.11 1.13.12 1.13.15 1.13.16 1.13.2 1.13.3 1.13.4 1.13.5 1.13.6 1.13.7 1.13.8 1.13.9 1.14.10 1.14.11 1.14.12 1.14.13 1.14.2 1.14.3 1.14.4 1.14.5 1.14.7 1.14.9 1.15.0 1.15.2 1.15.3 1.15.5 1.15.6 1.15.7 1.16.0 1.16.10 1.16.11 1.16.12 1.16.13 1.16.14 1.16.15 1.16.16 1.16.17 1.16.20 1.16.21 1.16.22 1.16.23 1.16.24 1.16.25 1.16.26 1.16.28 1.16.29 1.16.32 1.16.34 1.16.35 1.16.36 1.16.37 1.16.4 1.16.40 1.16.41 1.16.42 1.16.43 1.16.44 1.16.45 1.16.46 1.16.47 1.16.48 1.16.49 1.16.5 1.16.50 1.16.51 1.16.53 1.16.55 1.16.56 1.16.59 1.16.6 1.16.60 1.16.61 1.16.62 1.16.63 1.16.64 1.16.65 1.16.66 1.16.67 1.16.68 1.16.69 1.16.7 1.16.8 1.16.9 1.2.0 1.2.1 1.2.10 1.2.11 1.2.12 1.2.14 1.2.15 1.2.16 1.2.17 1.2.19 1.2.2 1.2.20 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.33 1.2.35 1.2.36 1.2.38 1.2.39 1.2.4 1.2.40 1.2.41 1.2.42 1.2.43 1.2.44 1.2.45 1.2.46 1.2.5 1.2.7 1.2.8 1.2.9 1.22.1 1.22.10 1.22.11 1.22.12 1.22.14 1.22.15 1.22.16 1.22.17 1.22.18 1.22.19 1.22.20 1.22.21 1.22.22 1.22.23 1.22.24 1.22.3 1.22.4 1.22.5 1.22.6 1.22.7 1.22.8 1.22.9 1.23.1 1.23.10 1.23.11 1.23.12 1.23.13 1.23.15 1.23.16 1.23.2 1.23.3 1.23.4 1.23.5 1.23.6 1.23.7 1.23.8 1.23.9 1.24.1 1.24.10 1.24.11 1.24.12 1.24.2 trunk 1.24.3 0.7.4 1.24.4 0.7.7 1.24.5 0.8.28 1.24.6 0.8.29 1.24.7 0.8.30 1.24.8 0.8.31 1.24.9 0.8.32 1.25.1 0.8.33 1.25.2 0.8.36 1.25.3 0.8.37 1.25.5 0.8.50 1.25.6 0.8.51 1.25.7 0.9.1 1.25.8 0.9.10 1.25.9 0.9.11 1.26.1 0.9.12 1.26.2 0.9.2 1.3.10 0.9.20 1.3.12 0.9.21 1.3.14 0.9.22 1.3.15 1.0.10 1.3.17 1.0.11 1.3.18 1.0.12 1.3.19 1.0.15 1.3.2 1.0.16 1.3.20 1.0.18 1.3.22 1.0.20 1.3.23 1.0.3 1.3.24 1.0.4 1.3.25 1.0.5 1.3.3 1.0.6 1.3.4 1.0.7 1.3.6 1.0.8 1.3.7 1.0.9 1.3.8 1.1.0 1.3.9 1.1.10 1.4.0 1.1.11 1.4.10 1.1.12 1.4.11 1.1.13 1.4.12 1.1.14 1.4.13 1.1.15 1.4.14 1.1.16 1.4.15 1.1.17 1.4.2 1.1.2 1.4.27 1.1.3 1.4.28 1.1.5 1.4.29 1.1.6 1.4.30 1.1.8 1.4.4 1.1.9 1.4.48 1.10.1 1.4.5 1.10.3 1.4.6 1.11.1 1.4.7
updraftplus / options.php
updraftplus Last commit date
addons 13 years ago images 11 years ago includes 11 years ago languages 11 years ago methods 11 years ago oc 11 years ago admin.php 11 years ago backup.php 11 years ago class-updraftplus.php 11 years ago class-zip.php 11 years ago example-decrypt.php 11 years ago index.html 12 years ago options.php 11 years ago readme.txt 11 years ago restorer.php 11 years ago updraftplus.php 11 years ago
options.php
168 lines
1 <?php
2
3 // Options handling
4 if (!defined('ABSPATH')) die ('No direct access allowed');
5
6 class UpdraftPlus_Options {
7
8 public static function user_can_manage() {
9 return current_user_can(apply_filters('option_page_capability_updraft-options-group', 'manage_options'));
10 }
11
12 public static function admin_page_url() {
13 return admin_url('options-general.php');
14 }
15
16 public static function admin_page() {
17 return 'options-general.php';
18 }
19
20 public static function get_updraft_option($option, $default = null) {
21 return get_option($option, $default);
22 }
23
24 public static function update_updraft_option($option, $value, $use_cache = true) {
25 update_option($option, $value);
26 }
27
28 public static function delete_updraft_option($option) {
29 delete_option($option);
30 }
31
32 public static function add_admin_pages() {
33 global $updraftplus_admin;
34 add_submenu_page('options-general.php', 'UpdraftPlus', __('UpdraftPlus Backups','updraftplus'), apply_filters('option_page_capability_updraft-options-group', 'manage_options'), "updraftplus", array($updraftplus_admin, "settings_output"));
35 }
36
37 public static function options_form_begin($settings_fields = 'updraft-options-group', $allow_autocomplete = true, $get_params = array()) {
38 global $pagenow;
39 echo '<form method="post"';
40
41 $page = '';
42 if ('options-general.php' == $pagenow) $page="options.php";
43
44 if (!empty($get_params)) {
45 $page .= '?';
46 $first_one = true;
47 foreach ($get_params as $k => $v) {
48 if ($first_one) {
49 $first_one = false;
50 } else {
51 $page .= '&';
52 }
53 $page .= urlencode($k).'='.urlencode($v);
54 }
55 }
56
57 if ($page) echo ' action="'.$page.'"';
58
59 if (!$allow_autocomplete) echo ' autocomplete="off"';
60 echo '>';
61 if ($settings_fields) {
62 // This is settings_fields('updraft-options-group'), but with the referer pruned
63 echo "<input type='hidden' name='option_page' value='" . esc_attr('updraft-options-group') . "' />";
64 echo '<input type="hidden" name="action" value="update" />';
65 // $action = -1, $name = "_wpnonce", $referer = true , $echo = true
66 wp_nonce_field("updraft-options-group-options", '_wpnonce', false);
67
68 // wp_unslash() does not exist until after WP 3.5
69 if (function_exists('wp_unslash')) {
70 $referer = wp_unslash( remove_query_arg( array('state', 'action'), $_SERVER['REQUEST_URI']) );
71 } else {
72 $referer = stripslashes_deep( remove_query_arg( array('state', 'action'), $_SERVER['REQUEST_URI']) );
73 }
74
75 $referer_field = '<input type="hidden" name="_wp_http_referer" value="'. esc_attr($referer) . '" />';
76 echo $referer_field;
77 }
78 }
79
80 public static function admin_init() {
81
82 global $updraftplus, $updraftplus_admin;
83 register_setting('updraft-options-group', 'updraft_interval', array($updraftplus, 'schedule_backup') );
84 register_setting('updraft-options-group', 'updraft_interval_database', array($updraftplus, 'schedule_backup_database') );
85 register_setting('updraft-options-group', 'updraft_interval_increments');
86 register_setting('updraft-options-group', 'updraft_retain', array($updraftplus, 'retain_range') );
87 register_setting('updraft-options-group', 'updraft_retain_db', array($updraftplus, 'retain_range') );
88 register_setting('updraft-options-group', 'updraft_encryptionphrase');
89 register_setting('updraft-options-group', 'updraft_service', array($updraftplus, 'just_one'));
90
91 register_setting('updraft-options-group', 'updraft_s3', array($updraftplus, 's3_sanitise'));
92 register_setting('updraft-options-group', 'updraft_ftp', array($updraftplus, 'ftp_sanitise'));
93 register_setting('updraft-options-group', 'updraft_dreamobjects');
94 register_setting('updraft-options-group', 'updraft_s3generic');
95 register_setting('updraft-options-group', 'updraft_cloudfiles');
96 register_setting('updraft-options-group', 'updraft_bitcasa', array($updraftplus, 'bitcasa_checkchange'));
97 register_setting('updraft-options-group', 'updraft_copycom', array($updraftplus, 'copycom_checkchange'));
98 register_setting('updraft-options-group', 'updraft_openstack');
99 register_setting('updraft-options-group', 'updraft_dropbox', array($updraftplus, 'dropbox_checkchange'));
100 register_setting('updraft-options-group', 'updraft_googledrive', array($updraftplus, 'googledrive_checkchange'));
101 register_setting('updraft-options-group', 'updraft_onedrive', array($updraftplus, 'onedrive_checkchange'));
102
103 register_setting('updraft-options-group', 'updraft_sftp_settings');
104 register_setting('updraft-options-group', 'updraft_webdav_settings', array($updraftplus, 'replace_http_with_webdav'));
105
106 register_setting('updraft-options-group', 'updraft_ssl_nossl', 'absint');
107 register_setting('updraft-options-group', 'updraft_log_syslog', 'absint');
108 register_setting('updraft-options-group', 'updraft_ssl_useservercerts', 'absint');
109 register_setting('updraft-options-group', 'updraft_ssl_disableverify', 'absint');
110
111 register_setting('updraft-options-group', 'updraft_split_every', array($updraftplus_admin, 'optionfilter_split_every') );
112
113 register_setting('updraft-options-group', 'updraft_dir', array($updraftplus_admin, 'prune_updraft_dir_prefix') );
114 register_setting('updraft-options-group', 'updraft_email', array($updraftplus, 'just_one_email'));
115
116 register_setting('updraft-options-group', 'updraft_report_warningsonly', array($updraftplus_admin, 'return_array'));
117 register_setting('updraft-options-group', 'updraft_report_wholebackup', array($updraftplus_admin, 'return_array'));
118
119 register_setting('updraft-options-group', 'updraft_autobackup_default', 'absint' );
120 register_setting('updraft-options-group', 'updraft_delete_local', 'absint' );
121 register_setting('updraft-options-group', 'updraft_debug_mode', 'absint' );
122 register_setting('updraft-options-group', 'updraft_extradbs');
123 register_setting('updraft-options-group', 'updraft_backupdb_nonwp', 'absint');
124
125 register_setting('updraft-options-group', 'updraft_include_plugins', 'absint' );
126 register_setting('updraft-options-group', 'updraft_include_themes', 'absint' );
127 register_setting('updraft-options-group', 'updraft_include_uploads', 'absint' );
128 register_setting('updraft-options-group', 'updraft_include_others', 'absint' );
129 register_setting('updraft-options-group', 'updraft_include_wpcore', 'absint' );
130 register_setting('updraft-options-group', 'updraft_include_wpcore_exclude', array($updraftplus, 'strip_dirslash'));
131 register_setting('updraft-options-group', 'updraft_include_more', 'absint' );
132 register_setting('updraft-options-group', 'updraft_include_more_path', array($updraftplus, 'remove_empties'));
133 register_setting('updraft-options-group', 'updraft_include_uploads_exclude', array($updraftplus, 'strip_dirslash'));
134 register_setting('updraft-options-group', 'updraft_include_others_exclude', array($updraftplus, 'strip_dirslash'));
135
136 register_setting('updraft-options-group', 'updraft_starttime_files', array('UpdraftPlus_Options', 'hourminute') );
137 register_setting('updraft-options-group', 'updraft_starttime_db', array('UpdraftPlus_Options', 'hourminute') );
138
139 register_setting('updraft-options-group', 'updraft_startday_files', array('UpdraftPlus_Options', 'weekday') );
140 register_setting('updraft-options-group', 'updraft_startday_db', array('UpdraftPlus_Options', 'weekday') );
141
142 global $pagenow;
143 if (is_multisite() && $pagenow == 'options-general.php' && isset($_REQUEST['page']) && 'updraftplus' == substr($_REQUEST['page'], 0, 11)) {
144 add_action('all_admin_notices', array('UpdraftPlus_Options', 'show_admin_warning_multisite') );
145 }
146 }
147
148 public static function hourminute($pot) {
149 if (preg_match("/^([0-2]?[0-9]):([0-5][0-9])$/", $pot, $matches)) return sprintf("%02d:%s", $matches[1], $matches[2]);
150 if ('' == $pot) return date('H:i', time()+300);
151 return '00:00';
152 }
153
154 public static function weekday($pot) {
155 $pot = absint($pot);
156 return ($pot>6) ? 0 : $pot;
157 }
158
159 public static function show_admin_warning_multisite() {
160 global $updraftplus_admin;
161 $updraftplus_admin->show_admin_warning('<strong>'.__('UpdraftPlus warning:', 'updraftplus').'</strong> '.__('This is a WordPress multi-site (a.k.a. network) installation.', 'updraftplus').' <a href="http://updraftplus.com">'.__('WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on.', 'updraftplus').'</a> '.__('Without upgrading, UpdraftPlus allows <strong>every</strong> blog admin who can modify plugin settings to back up (and hence access the data, including passwords, from) and restore (including with customised modifications, e.g. changed passwords) <strong>the entire network</strong>.', 'updraftplus').' '.__('(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).', 'updraftplus'), 'error');
162 }
163
164 }
165
166 add_action('admin_init', array('UpdraftPlus_Options', 'admin_init'));
167 add_action('admin_menu', array('UpdraftPlus_Options', 'add_admin_pages'));
168