PluginProbe
The WP Remote WordPress Plugin / 6.36
The WP Remote WordPress Plugin v6.36
6.72 6.69 6.65 6.62 6.48 6.47 4.87 4.97 5.05 5.09 5.16 5.22 5.24 5.25 5.38 5.41 5.42 5.45 5.47 5.53 5.56 5.65 5.68 5.72 5.73 All 53 releases
← All changes | plugin.php +60 -28 5.536.36 View file →
@@ -4,10 +4,12 @@
4 4 Plugin URI: https://wpremote.com
5 5 Description: Manage your WordPress site with <a href="https://wpremote.com/">WP Remote</a>.
6 6 Author: WP Remote
7 7 Author URI: https://wpremote.com
8 -Version: 5.53
8 +Version: 6.36
9 9 Network: True
10 +License: GPLv2 or later
11 +License URI: [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
10 12 */
11 13
12 14 /* Copyright 2017 WP Remote (email : support@wpremote.com)
13 15
@@ -37,8 +39,13 @@
37 39 require_once dirname( __FILE__ ) . '/wp_actions.php';
38 40 require_once dirname( __FILE__ ) . '/info.php';
39 41 require_once dirname( __FILE__ ) . '/account.php';
40 42 require_once dirname( __FILE__ ) . '/helper.php';
43 +require_once dirname( __FILE__ ) . '/wp_file_system.php';
44 +require_once dirname( __FILE__ ) . '/wp_2fa/wp_2fa.php';
45 +
46 +require_once dirname( __FILE__ ) . '/wp_login_whitelabel.php';
47 +
41 48 ##WPCACHEMODULE##
42 49
43 50
44 51 $bvsettings = new WPRWPSettings();
@@ -53,10 +60,12 @@
53 60 register_uninstall_hook(__FILE__, array('WPRWPAction', 'uninstall'));
54 61 register_activation_hook(__FILE__, array($wp_action, 'activate'));
55 62 register_deactivation_hook(__FILE__, array($wp_action, 'deactivate'));
56 63
64 +
57 65 add_action('wp_footer', array($wp_action, 'footerHandler'), 100);
58 -add_action('clear_bv_services_config', array($wp_action, 'clear_bv_services_config'));
66 +add_action('wpr_clear_bv_services_config', array($wp_action, 'clear_bv_services_config'));
67 +
59 68 ##SOADDUNINSTALLACTION##
60 69
61 70 ##DISABLE_OTHER_OPTIMIZATION_PLUGINS##
62 71
@@ -74,8 +83,11 @@
74 83 add_action('admin_menu', array($wpadmin, 'menu'));
75 84 }
76 85 add_filter('plugin_action_links', array($wpadmin, 'settingsLink'), 10, 2);
77 86 add_action('admin_head', array($wpadmin, 'removeAdminNotices'), 3);
87 +
88 + ##MG_AJAX_ACTIONS##
89 + ##POPUP_ON_DEACTIVATION##
78 90 add_action('admin_notices', array($wpadmin, 'activateWarning'));
79 91 add_action('admin_enqueue_scripts', array($wpadmin, 'wprsecAdminMenu'));
80 92 ##ALPURGECACHEFUNCTION##
81 93 ##ALADMINMENU##
@@ -80,12 +92,20 @@
80 92 ##ALPURGECACHEFUNCTION##
81 93 ##ALADMINMENU##
82 94 }
83 95
84 -if ((array_key_exists('bvreqmerge', $_POST)) || (array_key_exists('bvreqmerge', $_GET))) {
85 - $_REQUEST = array_merge($_GET, $_POST);
96 +if ((array_key_exists('bvreqmerge', $_POST)) || (array_key_exists('bvreqmerge', $_GET))) { // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
97 + $_REQUEST = array_merge($_GET, $_POST); // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
86 98 }
87 99
100 +#Service active check
101 +if ($bvinfo->config != false) {
102 + add_action('wpr_remove_bv_preload_include', array($wp_action, 'removeBVPreload'));
103 +}
104 +
105 +require_once dirname( __FILE__ ) . '/php_error_monitoring/monitoring.php';
106 +WPRWPPHPErrorMonitoring::init();
107 +
88 108 if ($bvinfo->hasValidDBVersion()) {
89 109 if ($bvinfo->isServiceActive('activity_log')) {
90 110 require_once dirname( __FILE__ ) . '/wp_actlog.php';
91 111 $bvconfig = $bvinfo->config;
@@ -92,44 +112,37 @@
92 112 $actlog = new BVWPActLog($bvdb, $bvsettings, $bvinfo, $bvconfig['activity_log']);
93 113 $actlog->init();
94 114 }
95 115
96 - if ($bvinfo->isServiceActive('maintenance_mode')) {
97 - require_once dirname( __FILE__ ). '/maintenance/wp_maintenance.php';
98 - $bvconfig = $bvinfo->config;
99 - $maintenance = new BVWPMaintenance($bvconfig['maintenance_mode']);
100 - $maintenance->init();
101 - }
102 -
116 + ##MAINTENANCEMODULE##
103 117 }
104 118
105 -if ((array_key_exists('bvplugname', $_REQUEST)) && ($_REQUEST['bvplugname'] == "wpremote")) {
119 +if (WPRHelper::getRawParam('REQUEST', 'bvplugname') == "wpremote") {
106 120 require_once dirname( __FILE__ ) . '/callback/base.php';
107 121 require_once dirname( __FILE__ ) . '/callback/response.php';
108 122 require_once dirname( __FILE__ ) . '/callback/request.php';
109 123 require_once dirname( __FILE__ ) . '/recover.php';
110 124
111 - $pubkey = WPRAccount::sanitizeKey($_REQUEST['pubkey']);
125 + $pubkey = WPRHelper::getRawParam('REQUEST', 'pubkey');
126 + $pubkey = isset($pubkey) ? WPRAccount::sanitizeKey($pubkey) : '';
127 + $rcvracc = WPRHelper::getRawParam('REQUEST', 'rcvracc');
112 128
113 - if (array_key_exists('rcvracc', $_REQUEST)) {
129 + if (isset($rcvracc)) {
114 130 $account = WPRRecover::find($bvsettings, $pubkey);
115 131 } else {
116 132 $account = WPRAccount::find($bvsettings, $pubkey);
117 133 }
118 134
119 - $request = new BVCallbackRequest($account, $_REQUEST, $bvsettings);
135 + $request = new BVCallbackRequest($account, $_REQUEST, $bvsettings); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
120 136 $response = new BVCallbackResponse($request->bvb64cksize);
121 137
122 138 if ($request->authenticate() === 1) {
123 - if (array_key_exists('bv_ignr_frm_cptch', $_REQUEST)) {
124 - #handling of Contact Forms 7
125 - add_filter('wpcf7_skip_spam_check', '__return_true', PHP_INT_MAX, 2);
139 + $bv_frm_tstng = WPRHelper::getRawParam('REQUEST', 'bv_frm_tstng');
140 + if (isset($bv_frm_tstng)) {
141 + require_once dirname(__FILE__) . '/form_testing/form_testing.php';
142 + $form_testing = new BVFormTesting($_REQUEST); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
143 + $form_testing->init();
126 144
127 - #handling of Formidable plugin
128 - add_filter('frm_is_field_hidden', '__return_true', PHP_INT_MAX, 3);
129 -
130 - #handling of WP Forms plugin
131 - add_filter('wpforms_process_bypass_captcha', '__return_true', PHP_INT_MAX, 3);
132 145 } else {
133 146 define('WPRBASEPATH', plugin_dir_path(__FILE__));
134 147
135 148
@@ -134,9 +147,9 @@
134 147
135 148
136 149 require_once dirname( __FILE__ ) . '/callback/handler.php';
137 150
138 - $params = $request->processParams($_REQUEST);
151 + $params = $request->processParams($_REQUEST); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
139 152 if ($params === false) {
140 153 $response->terminate($request->corruptedParamsResp());
141 154 }
142 155 $request->params = $params;
@@ -156,11 +169,17 @@
156 169 } else {
157 170 if ($bvinfo->hasValidDBVersion()) {
158 171 if ($bvinfo->isProtectModuleEnabled()) {
159 172 require_once dirname( __FILE__ ) . '/protect/protect.php';
160 - add_action('clear_pt_config', array('WPRProtect_V553', 'uninstall'));
161 - if ($bvinfo->isActivePlugin() && !(defined( 'WP_CLI' ) && WP_CLI)) {
162 - WPRProtect_V553::init(WPRProtect_V553::MODE_WP);
173 + //For backward compatibility.
174 + WPRProtect_V636::$settings = new WPRWPSettings();
175 + WPRProtect_V636::$db = new WPRWPDb();
176 + WPRProtect_V636::$info = new WPRInfo(WPRProtect_V636::$settings);
177 +
178 + add_action('wpr_clear_pt_config', array('WPRProtect_V636', 'uninstall'));
179 +
180 + if ($bvinfo->isActivePlugin()) {
181 + WPRProtect_V636::init(WPRProtect_V636::MODE_WP);
163 182 }
164 183 }
165 184
166 185 if ($bvinfo->isDynSyncModuleEnabled()) {
@@ -196,5 +215,18 @@
196 215 add_filter('site_transient_update_plugins', array($wpadmin, 'hidePluginUpdate'));
197 216 }
198 217
199 218 ##THIRDPARTYCACHINGMODULE##
200 -}
219 +}
220 +
221 +if (WPRWP2FA::isEnabled($bvsettings)) {
222 + $wp_2fa = new WPRWP2FA();
223 + $wp_2fa->init();
224 +}
225 +
226 +if (!empty($bvinfo->getLPWhitelabelInfo())) {
227 + $wp_login_whitelabel = new WPRWPLoginWhitelabel();
228 + $wp_login_whitelabel->init();
229 +}
230 +
231 +add_action('wpr_clear_wp_2fa_config', array($wp_action, 'clear_wp_2fa_config'));
232 +##PLUGIN_LOADED_MODULE##