PluginProbe
The WP Remote WordPress Plugin / 6.44
The WP Remote WordPress Plugin v6.44
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 +78 -28 5.386.44 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.38
8 +Version: 6.44
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
@@ -64,9 +73,9 @@
64 73 if (is_admin()) {
65 74 require_once dirname( __FILE__ ) . '/wp_admin.php';
66 75 $wpadmin = new WPRWPAdmin($bvsettings, $bvsiteinfo);
67 76 add_action('admin_init', array($wpadmin, 'initHandler'));
68 - add_filter('all_plugins', array($wpadmin, 'initBranding'));
77 + add_filter('all_plugins', array($wpadmin, 'initWhitelabel'));
69 78 add_filter('plugin_row_meta', array($wpadmin, 'hidePluginDetails'), 10, 2);
70 79 add_filter('debug_information', array($wpadmin, 'handlePluginHealthInfo'), 10, 1);
71 80 if ($bvsiteinfo->isMultisite()) {
72 81 add_action('network_admin_menu', array($wpadmin, 'menu'));
@@ -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,47 +112,58 @@
92 112 $actlog = new BVWPActLog($bvdb, $bvsettings, $bvinfo, $bvconfig['activity_log']);
93 113 $actlog->init();
94 114 }
95 115
116 + ##MAINTENANCEMODULE##
96 117 }
97 118
98 -if ((array_key_exists('bvplugname', $_REQUEST)) && ($_REQUEST['bvplugname'] == "wpremote")) {
119 +if (WPRHelper::getRawParam('REQUEST', 'bvplugname') == "wpremote") {
99 120 require_once dirname( __FILE__ ) . '/callback/base.php';
100 121 require_once dirname( __FILE__ ) . '/callback/response.php';
101 122 require_once dirname( __FILE__ ) . '/callback/request.php';
102 123 require_once dirname( __FILE__ ) . '/recover.php';
103 124
104 - $pubkey = WPRAccount::sanitizeKey($_REQUEST['pubkey']);
125 + $pubkey = WPRHelper::getRawParam('REQUEST', 'pubkey');
126 + $pubkey = isset($pubkey) ? WPRAccount::sanitizeKey($pubkey) : '';
127 + $rcvracc = WPRHelper::getRawParam('REQUEST', 'rcvracc');
105 128
106 - if (array_key_exists('rcvracc', $_REQUEST)) {
129 + if (isset($rcvracc)) {
107 130 $account = WPRRecover::find($bvsettings, $pubkey);
108 131 } else {
109 132 $account = WPRAccount::find($bvsettings, $pubkey);
110 133 }
111 134
112 - $request = new BVCallbackRequest($account, $_REQUEST, $bvsettings);
113 - $response = new BVCallbackResponse($request->bvb64cksize);
135 + $request = new WPRCallbackRequest($account, $_REQUEST, $bvsettings); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
136 + $response = new WPRCallbackResponse($request->bvb64cksize);
114 137
115 138 if ($request->authenticate() === 1) {
116 - define('WPRBASEPATH', plugin_dir_path(__FILE__));
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();
117 144
145 + } else {
146 + define('WPRBASEPATH', plugin_dir_path(__FILE__));
118 147
119 - require_once dirname( __FILE__ ) . '/callback/handler.php';
120 148
121 - $params = $request->processParams($_REQUEST);
122 - if ($params === false) {
123 - $response->terminate($request->corruptedParamsResp());
149 + require_once dirname( __FILE__ ) . '/callback/handler.php';
150 +
151 + $params = $request->processParams($_REQUEST); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
152 + if ($params === false) {
153 + $response->terminate($request->corruptedParamsResp());
154 + }
155 + $request->params = $params;
156 + $callback_handler = new WPRCallbackHandler($bvdb, $bvsettings, $bvsiteinfo, $request, $account, $response);
157 + if ($request->is_afterload) {
158 + add_action('wp_loaded', array($callback_handler, 'execute'));
159 + } else if ($request->is_admin_ajax) {
160 + add_action('wp_ajax_bvadm', array($callback_handler, 'bvAdmExecuteWithUser'));
161 + add_action('wp_ajax_nopriv_bvadm', array($callback_handler, 'bvAdmExecuteWithoutUser'));
162 + } else {
163 + $callback_handler->execute();
164 + }
124 165 }
125 - $request->params = $params;
126 - $callback_handler = new BVCallbackHandler($bvdb, $bvsettings, $bvsiteinfo, $request, $account, $response);
127 - if ($request->is_afterload) {
128 - add_action('wp_loaded', array($callback_handler, 'execute'));
129 - } else if ($request->is_admin_ajax) {
130 - add_action('wp_ajax_bvadm', array($callback_handler, 'bvAdmExecuteWithUser'));
131 - add_action('wp_ajax_nopriv_bvadm', array($callback_handler, 'bvAdmExecuteWithoutUser'));
132 - } else {
133 - $callback_handler->execute();
134 - }
135 166 } else {
136 167 $response->terminate($request->authFailedResp());
137 168 }
138 169 } else {
@@ -138,11 +169,17 @@
138 169 } else {
139 170 if ($bvinfo->hasValidDBVersion()) {
140 171 if ($bvinfo->isProtectModuleEnabled()) {
141 172 require_once dirname( __FILE__ ) . '/protect/protect.php';
142 - add_action('clear_pt_config', array('MCProtect', 'uninstall'));
143 - if ($bvinfo->isActivePlugin() && !(defined( 'WP_CLI' ) && WP_CLI)) {
144 - MCProtect::init(MCProtect::MODE_WP);
173 + //For backward compatibility.
174 + WPRProtect_V644::$settings = new WPRWPSettings();
175 + WPRProtect_V644::$db = new WPRWPDb();
176 + WPRProtect_V644::$info = new WPRInfo(WPRProtect_V644::$settings);
177 +
178 + add_action('wpr_clear_pt_config', array('WPRProtect_V644', 'uninstall'));
179 +
180 + if ($bvinfo->isActivePlugin()) {
181 + WPRProtect_V644::init(WPRProtect_V644::MODE_WP);
145 182 }
146 183 }
147 184
148 185 if ($bvinfo->isDynSyncModuleEnabled()) {
@@ -179,4 +216,17 @@
179 216 }
180 217
181 218 ##THIRDPARTYCACHINGMODULE##
182 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##