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 +85 -48 4.976.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: 4.97
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
@@ -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,10 +60,12 @@
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
60 70 ##DISABLE_OTHER_OPTIMIZATION_PLUGINS##
61 71
@@ -63,9 +73,9 @@
63 73 if (is_admin()) {
64 74 require_once dirname( __FILE__ ) . '/wp_admin.php';
65 75 $wpadmin = new WPRWPAdmin($bvsettings, $bvsiteinfo);
66 76 add_action('admin_init', array($wpadmin, 'initHandler'));
67 - add_filter('all_plugins', array($wpadmin, 'initBranding'));
77 + add_filter('all_plugins', array($wpadmin, 'initWhitelabel'));
68 78 add_filter('plugin_row_meta', array($wpadmin, 'hidePluginDetails'), 10, 2);
69 79 add_filter('debug_information', array($wpadmin, 'handlePluginHealthInfo'), 10, 1);
70 80 if ($bvsiteinfo->isMultisite()) {
71 81 add_action('network_admin_menu', array($wpadmin, 'menu'));
@@ -73,8 +83,11 @@
73 83 add_action('admin_menu', array($wpadmin, 'menu'));
74 84 }
75 85 add_filter('plugin_action_links', array($wpadmin, 'settingsLink'), 10, 2);
76 86 add_action('admin_head', array($wpadmin, 'removeAdminNotices'), 3);
87 +
88 + ##MG_AJAX_ACTIONS##
89 + ##POPUP_ON_DEACTIVATION##
77 90 add_action('admin_notices', array($wpadmin, 'activateWarning'));
78 91 add_action('admin_enqueue_scripts', array($wpadmin, 'wprsecAdminMenu'));
79 92 ##ALPURGECACHEFUNCTION##
80 93 ##ALADMINMENU##
@@ -79,12 +92,20 @@
79 92 ##ALPURGECACHEFUNCTION##
80 93 ##ALADMINMENU##
81 94 }
82 95
83 -if ((array_key_exists('bvreqmerge', $_POST)) || (array_key_exists('bvreqmerge', $_GET))) {
84 - $_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
85 98 }
86 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 +
87 108 if ($bvinfo->hasValidDBVersion()) {
88 109 if ($bvinfo->isServiceActive('activity_log')) {
89 110 require_once dirname( __FILE__ ) . '/wp_actlog.php';
90 111 $bvconfig = $bvinfo->config;
@@ -91,74 +112,76 @@
91 112 $actlog = new BVWPActLog($bvdb, $bvsettings, $bvinfo, $bvconfig['activity_log']);
92 113 $actlog->init();
93 114 }
94 115
116 + ##MAINTENANCEMODULE##
95 117 }
96 118
97 -if ((array_key_exists('bvplugname', $_REQUEST)) && ($_REQUEST['bvplugname'] == "wpremote")) {
119 +if (WPRHelper::getRawParam('REQUEST', 'bvplugname') == "wpremote") {
98 120 require_once dirname( __FILE__ ) . '/callback/base.php';
99 121 require_once dirname( __FILE__ ) . '/callback/response.php';
100 122 require_once dirname( __FILE__ ) . '/callback/request.php';
101 123 require_once dirname( __FILE__ ) . '/recover.php';
102 124
103 - $pubkey = WPRAccount::sanitizeKey($_REQUEST['pubkey']);
125 + $pubkey = WPRHelper::getRawParam('REQUEST', 'pubkey');
126 + $pubkey = isset($pubkey) ? WPRAccount::sanitizeKey($pubkey) : '';
127 + $rcvracc = WPRHelper::getRawParam('REQUEST', 'rcvracc');
104 128
105 - if (array_key_exists('rcvracc', $_REQUEST)) {
129 + if (isset($rcvracc)) {
106 130 $account = WPRRecover::find($bvsettings, $pubkey);
107 131 } else {
108 132 $account = WPRAccount::find($bvsettings, $pubkey);
109 133 }
110 134
111 - $request = new BVCallbackRequest($account, $_REQUEST);
112 - $response = new BVCallbackResponse($request->bvb64cksize);
135 + $request = new WPRCallbackRequest($account, $_REQUEST, $bvsettings); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
136 + $response = new WPRCallbackResponse($request->bvb64cksize);
113 137
114 - if ($account && (1 === $account->authenticate($request))) {
115 - 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();
116 144
145 + } else {
146 + define('WPRBASEPATH', plugin_dir_path(__FILE__));
117 147
118 - require_once dirname( __FILE__ ) . '/callback/handler.php';
119 148
120 - $params = $request->processParams($_REQUEST);
121 - if ($params === false) {
122 - $resp = array(
123 - "account_info" => $account->info(),
124 - "request_info" => $request->info(),
125 - "bvinfo" => $bvinfo->info(),
126 - "statusmsg" => "BVPRMS_CORRUPTED"
127 - );
128 - $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 + }
129 165 }
130 - $request->params = $params;
131 - $callback_handler = new BVCallbackHandler($bvdb, $bvsettings, $bvsiteinfo, $request, $account, $response);
132 - if ($request->is_afterload) {
133 - add_action('wp_loaded', array($callback_handler, 'execute'));
134 - } else if ($request->is_admin_ajax) {
135 - add_action('wp_ajax_bvadm', array($callback_handler, 'bvAdmExecuteWithUser'));
136 - add_action('wp_ajax_nopriv_bvadm', array($callback_handler, 'bvAdmExecuteWithoutUser'));
137 - } else {
138 - $callback_handler->execute();
139 - }
140 166 } else {
141 - $resp = array(
142 - "account_info" => $account ? $account->info() : array("error" => "ACCOUNT_NOT_FOUND"),
143 - "request_info" => $request->info(),
144 - "bvinfo" => $bvinfo->info(),
145 - "statusmsg" => "FAILED_AUTH",
146 - "api_pubkey" => substr(WPRAccount::getApiPublicKey($bvsettings), 0, 8),
147 - "def_sigmatch" => substr(WPRAccount::getSigMatch($request, WPRRecover::getDefaultSecret($bvsettings)), 0, 8)
148 - );
149 - $response->terminate($resp);
167 + $response->terminate($request->authFailedResp());
150 168 }
151 169 } else {
152 170 if ($bvinfo->hasValidDBVersion()) {
153 171 if ($bvinfo->isProtectModuleEnabled()) {
154 - require_once dirname( __FILE__ ) . '/protect/wp/protect.php';
155 - $bvprotect = new BVProtect($bvdb, $bvsettings);
156 - $bvprotect->init();
157 - if ($bvinfo->isActivePlugin() && !(defined( 'WP_CLI' ) && WP_CLI)) {
158 - $bvprotect->run();
172 + require_once dirname( __FILE__ ) . '/protect/protect.php';
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);
182 + }
159 183 }
160 - }
161 184
162 185 if ($bvinfo->isDynSyncModuleEnabled()) {
163 186 require_once dirname( __FILE__ ) . '/wp_dynsync.php';
164 187 $bvconfig = $bvinfo->config;
@@ -191,5 +214,19 @@
191 214 if (is_admin()) {
192 215 add_filter('site_transient_update_plugins', array($wpadmin, 'hidePluginUpdate'));
193 216 }
194 217
195 -}
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##