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