PluginProbe
The WP Remote WordPress Plugin / 5.92
The WP Remote WordPress Plugin v5.92
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 +57 -28 5.535.92 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.53
8 +Version: 5.92
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
@@ -74,8 +83,9 @@
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 + ##POPUP_ON_DEACTIVATION##
78 88 add_action('admin_notices', array($wpadmin, 'activateWarning'));
79 89 add_action('admin_enqueue_scripts', array($wpadmin, 'wprsecAdminMenu'));
80 90 ##ALPURGECACHEFUNCTION##
81 91 ##ALADMINMENU##
@@ -80,12 +90,20 @@
80 90 ##ALPURGECACHEFUNCTION##
81 91 ##ALADMINMENU##
82 92 }
83 93
84 -if ((array_key_exists('bvreqmerge', $_POST)) || (array_key_exists('bvreqmerge', $_GET))) {
85 - $_REQUEST = array_merge($_GET, $_POST);
94 +if ((array_key_exists('bvreqmerge', $_POST)) || (array_key_exists('bvreqmerge', $_GET))) { // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
95 + $_REQUEST = array_merge($_GET, $_POST); // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended
86 96 }
87 97
98 +#Service active check
99 +if ($bvinfo->config != false) {
100 + add_action('wpr_remove_bv_preload_include', array($wp_action, 'removeBVPreload'));
101 +}
102 +
103 +require_once dirname( __FILE__ ) . '/php_error_monitoring/monitoring.php';
104 +WPRWPPHPErrorMonitoring::init();
105 +
88 106 if ($bvinfo->hasValidDBVersion()) {
89 107 if ($bvinfo->isServiceActive('activity_log')) {
90 108 require_once dirname( __FILE__ ) . '/wp_actlog.php';
91 109 $bvconfig = $bvinfo->config;
@@ -92,44 +110,37 @@
92 110 $actlog = new BVWPActLog($bvdb, $bvsettings, $bvinfo, $bvconfig['activity_log']);
93 111 $actlog->init();
94 112 }
95 113
96 - if ($bvinfo->isServiceActive('maintenance_mode')) {
97 - require_once dirname( __FILE__ ). '/maintenance/wp_maintenance.php';
98 - $bvconfig = $bvinfo->config;
99 - $maintenance = new BVWPMaintenance($bvconfig['maintenance_mode']);
100 - $maintenance->init();
101 - }
102 -
114 + ##MAINTENANCEMODULE##
103 115 }
104 116
105 -if ((array_key_exists('bvplugname', $_REQUEST)) && ($_REQUEST['bvplugname'] == "wpremote")) {
117 +if (WPRHelper::getRawParam('REQUEST', 'bvplugname') == "wpremote") {
106 118 require_once dirname( __FILE__ ) . '/callback/base.php';
107 119 require_once dirname( __FILE__ ) . '/callback/response.php';
108 120 require_once dirname( __FILE__ ) . '/callback/request.php';
109 121 require_once dirname( __FILE__ ) . '/recover.php';
110 122
111 - $pubkey = WPRAccount::sanitizeKey($_REQUEST['pubkey']);
123 + $pubkey = WPRHelper::getRawParam('REQUEST', 'pubkey');
124 + $pubkey = isset($pubkey) ? WPRAccount::sanitizeKey($pubkey) : '';
125 + $rcvracc = WPRHelper::getRawParam('REQUEST', 'rcvracc');
112 126
113 - if (array_key_exists('rcvracc', $_REQUEST)) {
127 + if (isset($rcvracc)) {
114 128 $account = WPRRecover::find($bvsettings, $pubkey);
115 129 } else {
116 130 $account = WPRAccount::find($bvsettings, $pubkey);
117 131 }
118 132
119 - $request = new BVCallbackRequest($account, $_REQUEST, $bvsettings);
133 + $request = new BVCallbackRequest($account, $_REQUEST, $bvsettings); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
120 134 $response = new BVCallbackResponse($request->bvb64cksize);
121 135
122 136 if ($request->authenticate() === 1) {
123 - if (array_key_exists('bv_ignr_frm_cptch', $_REQUEST)) {
124 - #handling of Contact Forms 7
125 - add_filter('wpcf7_skip_spam_check', '__return_true', PHP_INT_MAX, 2);
137 + $bv_frm_tstng = WPRHelper::getRawParam('REQUEST', 'bv_frm_tstng');
138 + if (isset($bv_frm_tstng)) {
139 + require_once dirname(__FILE__) . '/form_testing/form_testing.php';
140 + $form_testing = new BVFormTesting($_REQUEST); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
141 + $form_testing->init();
126 142
127 - #handling of Formidable plugin
128 - add_filter('frm_is_field_hidden', '__return_true', PHP_INT_MAX, 3);
129 -
130 - #handling of WP Forms plugin
131 - add_filter('wpforms_process_bypass_captcha', '__return_true', PHP_INT_MAX, 3);
132 143 } else {
133 144 define('WPRBASEPATH', plugin_dir_path(__FILE__));
134 145
135 146
@@ -134,9 +145,9 @@
134 145
135 146
136 147 require_once dirname( __FILE__ ) . '/callback/handler.php';
137 148
138 - $params = $request->processParams($_REQUEST);
149 + $params = $request->processParams($_REQUEST); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
139 150 if ($params === false) {
140 151 $response->terminate($request->corruptedParamsResp());
141 152 }
142 153 $request->params = $params;
@@ -156,11 +167,17 @@
156 167 } else {
157 168 if ($bvinfo->hasValidDBVersion()) {
158 169 if ($bvinfo->isProtectModuleEnabled()) {
159 170 require_once dirname( __FILE__ ) . '/protect/protect.php';
160 - add_action('clear_pt_config', array('WPRProtect_V553', 'uninstall'));
161 - if ($bvinfo->isActivePlugin() && !(defined( 'WP_CLI' ) && WP_CLI)) {
162 - WPRProtect_V553::init(WPRProtect_V553::MODE_WP);
171 + //For backward compatibility.
172 + WPRProtect_V592::$settings = new WPRWPSettings();
173 + WPRProtect_V592::$db = new WPRWPDb();
174 + WPRProtect_V592::$info = new WPRInfo(WPRProtect_V592::$settings);
175 +
176 + add_action('wpr_clear_pt_config', array('WPRProtect_V592', 'uninstall'));
177 +
178 + if ($bvinfo->isActivePlugin()) {
179 + WPRProtect_V592::init(WPRProtect_V592::MODE_WP);
163 180 }
164 181 }
165 182
166 183 if ($bvinfo->isDynSyncModuleEnabled()) {
@@ -196,5 +213,17 @@
196 213 add_filter('site_transient_update_plugins', array($wpadmin, 'hidePluginUpdate'));
197 214 }
198 215
199 216 ##THIRDPARTYCACHINGMODULE##
200 -}
217 +}
218 +
219 +if (WPRWP2FA::isEnabled($bvsettings)) {
220 + $wp_2fa = new WPRWP2FA();
221 + $wp_2fa->init();
222 +}
223 +
224 +if (!empty($bvinfo->getLPWhitelabelInfo())) {
225 + $wp_login_whitelabel = new WPRWPLoginWhitelabel();
226 + $wp_login_whitelabel->init();
227 +}
228 +
229 +add_action('wpr_clear_wp_2fa_config', array($wp_action, 'clear_wp_2fa_config'));