PluginProbe
The WP Remote WordPress Plugin / 6.39
The WP Remote WordPress Plugin v6.39
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 +87 -48 4.876.39 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: 4.87
8 +Version: 6.39
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
@@ -36,8 +38,14 @@
36 38 require_once dirname( __FILE__ ) . '/wp_api.php';
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';
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 +
40 48 ##WPCACHEMODULE##
41 49
42 50
43 51 $bvsettings = new WPRWPSettings();
@@ -52,18 +60,22 @@
52 60 register_uninstall_hook(__FILE__, array('WPRWPAction', 'uninstall'));
53 61 register_activation_hook(__FILE__, array($wp_action, 'activate'));
54 62 register_deactivation_hook(__FILE__, array($wp_action, 'deactivate'));
55 63
64 +
56 65 add_action('wp_footer', array($wp_action, 'footerHandler'), 100);
57 -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 +
58 68 ##SOADDUNINSTALLACTION##
59 69
70 +##DISABLE_OTHER_OPTIMIZATION_PLUGINS##
71 +
60 72 ##WPCLIMODULE##
61 73 if (is_admin()) {
62 74 require_once dirname( __FILE__ ) . '/wp_admin.php';
63 75 $wpadmin = new WPRWPAdmin($bvsettings, $bvsiteinfo);
64 76 add_action('admin_init', array($wpadmin, 'initHandler'));
65 - add_filter('all_plugins', array($wpadmin, 'initBranding'));
77 + add_filter('all_plugins', array($wpadmin, 'initWhitelabel'));
66 78 add_filter('plugin_row_meta', array($wpadmin, 'hidePluginDetails'), 10, 2);
67 79 add_filter('debug_information', array($wpadmin, 'handlePluginHealthInfo'), 10, 1);
68 80 if ($bvsiteinfo->isMultisite()) {
69 81 add_action('network_admin_menu', array($wpadmin, 'menu'));
@@ -71,8 +83,11 @@
71 83 add_action('admin_menu', array($wpadmin, 'menu'));
72 84 }
73 85 add_filter('plugin_action_links', array($wpadmin, 'settingsLink'), 10, 2);
74 86 add_action('admin_head', array($wpadmin, 'removeAdminNotices'), 3);
87 +
88 + ##MG_AJAX_ACTIONS##
89 + ##POPUP_ON_DEACTIVATION##
75 90 add_action('admin_notices', array($wpadmin, 'activateWarning'));
76 91 add_action('admin_enqueue_scripts', array($wpadmin, 'wprsecAdminMenu'));
77 92 ##ALPURGECACHEFUNCTION##
78 93 ##ALADMINMENU##
@@ -77,12 +92,20 @@
77 92 ##ALPURGECACHEFUNCTION##
78 93 ##ALADMINMENU##
79 94 }
80 95
81 -if ((array_key_exists('bvreqmerge', $_POST)) || (array_key_exists('bvreqmerge', $_GET))) {
82 - $_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
83 98 }
84 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 +
85 108 if ($bvinfo->hasValidDBVersion()) {
86 109 if ($bvinfo->isServiceActive('activity_log')) {
87 110 require_once dirname( __FILE__ ) . '/wp_actlog.php';
88 111 $bvconfig = $bvinfo->config;
@@ -89,74 +112,76 @@
89 112 $actlog = new BVWPActLog($bvdb, $bvsettings, $bvinfo, $bvconfig['activity_log']);
90 113 $actlog->init();
91 114 }
92 115
116 + ##MAINTENANCEMODULE##
93 117 }
94 118
95 -if ((array_key_exists('bvplugname', $_REQUEST)) && ($_REQUEST['bvplugname'] == "wpremote")) {
119 +if (WPRHelper::getRawParam('REQUEST', 'bvplugname') == "wpremote") {
96 120 require_once dirname( __FILE__ ) . '/callback/base.php';
97 121 require_once dirname( __FILE__ ) . '/callback/response.php';
98 122 require_once dirname( __FILE__ ) . '/callback/request.php';
99 123 require_once dirname( __FILE__ ) . '/recover.php';
100 124
101 - $pubkey = WPRAccount::sanitizeKey($_REQUEST['pubkey']);
125 + $pubkey = WPRHelper::getRawParam('REQUEST', 'pubkey');
126 + $pubkey = isset($pubkey) ? WPRAccount::sanitizeKey($pubkey) : '';
127 + $rcvracc = WPRHelper::getRawParam('REQUEST', 'rcvracc');
102 128
103 - if (array_key_exists('rcvracc', $_REQUEST)) {
129 + if (isset($rcvracc)) {
104 130 $account = WPRRecover::find($bvsettings, $pubkey);
105 131 } else {
106 132 $account = WPRAccount::find($bvsettings, $pubkey);
107 133 }
108 134
109 - $request = new BVCallbackRequest($account, $_REQUEST);
110 - $response = new BVCallbackResponse($request->bvb64cksize);
135 + $request = new WPRCallbackRequest($account, $_REQUEST, $bvsettings); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
136 + $response = new WPRCallbackResponse($request->bvb64cksize);
111 137
112 - if ($account && (1 === $account->authenticate($request))) {
113 - define('WPRBASEPATH', plugin_dir_path(__FILE__));
138 + if ($request->authenticate() === 1) {
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();
114 144
145 + } else {
146 + define('WPRBASEPATH', plugin_dir_path(__FILE__));
115 147
116 - require_once dirname( __FILE__ ) . '/callback/handler.php';
117 148
118 - $params = $request->processParams($_REQUEST);
119 - if ($params === false) {
120 - $resp = array(
121 - "account_info" => $account->info(),
122 - "request_info" => $request->info(),
123 - "bvinfo" => $bvinfo->info(),
124 - "statusmsg" => "BVPRMS_CORRUPTED"
125 - );
126 - $response->terminate($resp);
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 + }
127 165 }
128 - $request->params = $params;
129 - $callback_handler = new BVCallbackHandler($bvdb, $bvsettings, $bvsiteinfo, $request, $account, $response);
130 - if ($request->is_afterload) {
131 - add_action('wp_loaded', array($callback_handler, 'execute'));
132 - } else if ($request->is_admin_ajax) {
133 - add_action('wp_ajax_bvadm', array($callback_handler, 'bvAdmExecuteWithUser'));
134 - add_action('wp_ajax_nopriv_bvadm', array($callback_handler, 'bvAdmExecuteWithoutUser'));
135 - } else {
136 - $callback_handler->execute();
137 - }
138 166 } else {
139 - $resp = array(
140 - "account_info" => $account ? $account->info() : array("error" => "ACCOUNT_NOT_FOUND"),
141 - "request_info" => $request->info(),
142 - "bvinfo" => $bvinfo->info(),
143 - "statusmsg" => "FAILED_AUTH",
144 - "api_pubkey" => substr(WPRAccount::getApiPublicKey($bvsettings), 0, 8),
145 - "def_sigmatch" => substr(WPRAccount::getSigMatch($request, WPRRecover::getDefaultSecret($bvsettings)), 0, 8)
146 - );
147 - $response->terminate($resp);
167 + $response->terminate($request->authFailedResp());
148 168 }
149 169 } else {
150 170 if ($bvinfo->hasValidDBVersion()) {
151 171 if ($bvinfo->isProtectModuleEnabled()) {
152 - require_once dirname( __FILE__ ) . '/protect/wp/protect.php';
153 - $bvprotect = new BVProtect($bvdb, $bvsettings);
154 - $bvprotect->init();
155 - if ($bvinfo->isActivePlugin() && !(defined( 'WP_CLI' ) && WP_CLI)) {
156 - $bvprotect->run();
172 + require_once dirname( __FILE__ ) . '/protect/protect.php';
173 + //For backward compatibility.
174 + WPRProtect_V639::$settings = new WPRWPSettings();
175 + WPRProtect_V639::$db = new WPRWPDb();
176 + WPRProtect_V639::$info = new WPRInfo(WPRProtect_V639::$settings);
177 +
178 + add_action('wpr_clear_pt_config', array('WPRProtect_V639', 'uninstall'));
179 +
180 + if ($bvinfo->isActivePlugin()) {
181 + WPRProtect_V639::init(WPRProtect_V639::MODE_WP);
182 + }
157 183 }
158 - }
159 184
160 185 if ($bvinfo->isDynSyncModuleEnabled()) {
161 186 require_once dirname( __FILE__ ) . '/wp_dynsync.php';
162 187 $bvconfig = $bvinfo->config;
@@ -189,5 +214,19 @@
189 214 if (is_admin()) {
190 215 add_filter('site_transient_update_plugins', array($wpadmin, 'hidePluginUpdate'));
191 216 }
192 217
193 -}
218 + ##THIRDPARTYCACHINGMODULE##
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##