PluginProbe
UpdraftPlus: WP Backup & Migration Plugin / 1.7.18
UpdraftPlus: WP Backup & Migration Plugin v1.7.18
1.26.7 1.26.6 1.26.5 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 All 371 releases
updraftplus / options.php

options.php in UpdraftPlus: WP Backup & Migration Plugin 1.7.18, at options.php

138 lines 7.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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('manage_options');
10 }
11
12 public static function get_updraft_option($option, $default = null) {
13 return get_option($option, $default);
14 }
15
16 public static function update_updraft_option($option, $value) {
17 update_option($option, $value);
18 }
19
20 public static function delete_updraft_option($option) {
21 delete_option($option, $value);
22 }
23
24 public static function add_admin_pages() {
25 global $updraftplus_admin;
26 add_submenu_page('options-general.php', 'UpdraftPlus', __('UpdraftPlus Backups','updraftplus'), "manage_options", "updraftplus", array($updraftplus_admin, "settings_output"));
27 }
28
29 public static function options_form_begin() {
30 echo '<form method="post" action="options.php">';
31 settings_fields('updraft-options-group');
32 }
33
34 public static function admin_init() {
35
36 global $updraftplus, $updraftplus_admin;
37 register_setting('updraft-options-group', 'updraft_interval', array($updraftplus, 'schedule_backup') );
38 register_setting('updraft-options-group', 'updraft_interval_database', array($updraftplus, 'schedule_backup_database') );
39 register_setting('updraft-options-group', 'updraft_retain', array($updraftplus, 'retain_range') );
40 register_setting('updraft-options-group', 'updraft_retain_db', array($updraftplus, 'retain_range') );
41 register_setting('updraft-options-group', 'updraft_encryptionphrase');
42 register_setting('updraft-options-group', 'updraft_service', array($updraftplus, 'just_one'));
43
44 register_setting('updraft-options-group', 'updraft_s3_login' );
45 register_setting('updraft-options-group', 'updraft_s3_pass' );
46 register_setting('updraft-options-group', 'updraft_s3_remote_path' );
47
48 register_setting('updraft-options-group', 'updraft_dreamobjects_login' );
49 register_setting('updraft-options-group', 'updraft_dreamobjects_pass' );
50 register_setting('updraft-options-group', 'updraft_dreamobjects_remote_path' );
51
52 register_setting('updraft-options-group', 'updraft_s3generic_login' );
53 register_setting('updraft-options-group', 'updraft_s3generic_pass' );
54 register_setting('updraft-options-group', 'updraft_s3generic_remote_path' );
55 register_setting('updraft-options-group', 'updraft_s3generic_endpoint' );
56
57 register_setting('updraft-options-group', 'updraft_cloudfiles_authurl' );
58 register_setting('updraft-options-group', 'updraft_cloudfiles_user' );
59 register_setting('updraft-options-group', 'updraft_cloudfiles_apikey' );
60 register_setting('updraft-options-group', 'updraft_cloudfiles_path' );
61
62 register_setting('updraft-options-group', 'updraft_sftp_settings' );
63 register_setting('updraft-options-group', 'updraft_webdav_settings' );
64
65 register_setting('updraft-options-group', 'updraft_dropbox_appkey' );
66 register_setting('updraft-options-group', 'updraft_dropbox_secret' );
67 register_setting('updraft-options-group', 'updraft_dropbox_folder' );
68
69 register_setting('updraft-options-group', 'updraft_ssl_nossl', 'absint' );
70 register_setting('updraft-options-group', 'updraft_ssl_useservercerts', 'absint' );
71 register_setting('updraft-options-group', 'updraft_ssl_disableverify', 'absint' );
72
73 register_setting('updraft-options-group', 'updraft_googledrive_clientid', array($updraftplus, 'googledrive_clientid_checkchange') );
74 register_setting('updraft-options-group', 'updraft_googledrive_secret' );
75 register_setting('updraft-options-group', 'updraft_googledrive_remotepath', array($updraftplus_admin, 'googledrive_remove_folderurlprefix') );
76
77 register_setting('updraft-options-group', 'updraft_split_every', array($updraftplus_admin, 'optionfilter_split_every') );
78
79 register_setting('updraft-options-group', 'updraft_ftp_login' );
80 register_setting('updraft-options-group', 'updraft_ftp_pass' );
81 register_setting('updraft-options-group', 'updraft_ftp_remote_path' );
82 register_setting('updraft-options-group', 'updraft_server_address' );
83 register_setting('updraft-options-group', 'updraft_dir', array($updraftplus_admin, 'prune_updraft_dir_prefix') );
84 register_setting('updraft-options-group', 'updraft_email');
85 register_setting('updraft-options-group', 'updraft_delete_local', 'absint' );
86 register_setting('updraft-options-group', 'updraft_debug_mode', 'absint' );
87 register_setting('updraft-options-group', 'updraft_include_plugins', 'absint' );
88 register_setting('updraft-options-group', 'updraft_include_themes', 'absint' );
89 register_setting('updraft-options-group', 'updraft_include_uploads', 'absint' );
90 register_setting('updraft-options-group', 'updraft_include_others', 'absint' );
91 register_setting('updraft-options-group', 'updraft_include_wpcore', 'absint' );
92 register_setting('updraft-options-group', 'updraft_include_wpcore_exclude' );
93 register_setting('updraft-options-group', 'updraft_include_more', 'absint' );
94 register_setting('updraft-options-group', 'updraft_include_more_path' );
95 register_setting('updraft-options-group', 'updraft_include_others_exclude' );
96
97 register_setting('updraft-options-group', 'updraft_starttime_files', array('UpdraftPlus_Options', 'hourminute') );
98 register_setting('updraft-options-group', 'updraft_starttime_db', array('UpdraftPlus_Options', 'hourminute') );
99
100 register_setting('updraft-options-group', 'updraft_startday_files', array('UpdraftPlus_Options', 'weekday') );
101 register_setting('updraft-options-group', 'updraft_startday_db', array('UpdraftPlus_Options', 'weekday') );
102
103 global $pagenow;
104 if (is_multisite() && $pagenow == 'options-general.php' && isset($_REQUEST['page']) && 'updraftplus' == substr($_REQUEST['page'], 0, 11)) {
105 add_action('admin_notices', array('UpdraftPlus_Options', 'show_admin_warning_multisite') );
106 }
107
108 }
109
110 public static function pingfilter($disable) {
111 return apply_filters('updraftplus_pingfilter', $disable);
112 }
113
114 public static function hourminute($pot) {
115 if (preg_match("/^[0-2][0-9]:[0-5][0-9]$/", $pot)) return $pot;
116 if ('' == $pot) return date('H:i', time()+300);
117 return '00:00';
118 }
119
120 public static function weekday($pot) {
121 $pot=absint($pot);
122 return ($pot>6) ? 0 : $pot;
123 }
124
125 public static function show_admin_warning_multisite() {
126
127 global $updraftplus_admin;
128 $updraftplus_admin->show_admin_warning('<strong>UpdraftPlus warning:</strong> This is a WordPress multi-site (a.k.a. network) installation. <a href="http://updraftplus.com">WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on</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>. (This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).', "error");
129
130 }
131
132 }
133
134 add_action('admin_init', array('UpdraftPlus_Options', 'admin_init'));
135 add_action('admin_menu', array('UpdraftPlus_Options', 'add_admin_pages'));
136
137 ?>
138