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