Version Description
Download this release
Release Info
Developer | paultgoodchild |
Plugin | Shield Security for WordPress |
Version | 13.0.4 |
Comparing to | |
See all releases |
Code changes from version 13.0.3 to 13.0.4
- cl.json +6 -0
- icwp-wpsf.php +1 -1
- plugin-spec.php +3 -3
- plugin.json +3 -3
- readme.txt +1 -1
- src/lib/src/Databases/Base/Select.php +2 -2
- src/lib/src/Modules/Data/Lib/GeoIP/Lookup.php +1 -1
- src/lib/src/Modules/HackGuard/Lib/FileLocker/Ops/ReadOriginalFileContent.php +2 -1
- src/lib/src/Modules/HackGuard/Scan/Queue/QueueItemVO.php +5 -1
- src/lib/src/Modules/HackGuard/Scan/Queue/QueueItems.php +1 -2
- src/lib/src/Modules/HackGuard/Scan/Results/ScanResultVO.php +0 -1
- src/lib/src/Modules/Integrations/Lib/MainWP/Common/SyncMetaVO.php +0 -2
- src/lib/src/Modules/Integrations/Lib/MainWP/Common/SyncVO.php +3 -3
- src/lib/src/Modules/Integrations/Lib/MainWP/Server/Data/ClientPluginStatus.php +0 -1
- src/lib/src/Modules/Integrations/Lib/MainWP/Server/Data/LoadShieldSyncData.php +4 -2
- src/lib/vendor/composer/autoload_classmap.php +0 -1
- src/lib/vendor/composer/autoload_static.php +0 -1
cl.json
CHANGED
@@ -123,6 +123,12 @@
|
|
123 |
"title": "Add a class to Google Authenticator QR image.",
|
124 |
"description": [],
|
125 |
"patch": "13.0.3"
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
}
|
127 |
]
|
128 |
},
|
123 |
"title": "Add a class to Google Authenticator QR image.",
|
124 |
"description": [],
|
125 |
"patch": "13.0.3"
|
126 |
+
},
|
127 |
+
{
|
128 |
+
"type": "fixed",
|
129 |
+
"title": "Error with MainWP loading in certain cases.",
|
130 |
+
"description": [],
|
131 |
+
"patch": "13.0.4"
|
132 |
}
|
133 |
]
|
134 |
},
|
icwp-wpsf.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Shield Security
|
4 |
* Plugin URI: https://shsec.io/2f
|
5 |
* Description: Powerful, Easy-To-Use #1 Rated WordPress Security System
|
6 |
-
* Version: 13.0.
|
7 |
* Text Domain: wp-simple-firewall
|
8 |
* Domain Path: /languages
|
9 |
* Author: Shield Security
|
3 |
* Plugin Name: Shield Security
|
4 |
* Plugin URI: https://shsec.io/2f
|
5 |
* Description: Powerful, Easy-To-Use #1 Rated WordPress Security System
|
6 |
+
* Version: 13.0.4
|
7 |
* Text Domain: wp-simple-firewall
|
8 |
* Domain Path: /languages
|
9 |
* Author: Shield Security
|
plugin-spec.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
{
|
2 |
"properties": {
|
3 |
-
"version": "13.0.
|
4 |
-
"release_timestamp":
|
5 |
-
"build": "202112.
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
1 |
{
|
2 |
"properties": {
|
3 |
+
"version": "13.0.4",
|
4 |
+
"release_timestamp": 1640169200,
|
5 |
+
"build": "202112.2201",
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
plugin.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
{
|
2 |
"properties": {
|
3 |
-
"version": "13.0.
|
4 |
-
"release_timestamp":
|
5 |
-
"build": "202112.
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
1 |
{
|
2 |
"properties": {
|
3 |
+
"version": "13.0.4",
|
4 |
+
"release_timestamp": 1640169200,
|
5 |
+
"build": "202112.2201",
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
readme.txt
CHANGED
@@ -8,7 +8,7 @@ Requires at least: 3.7
|
|
8 |
Requires PHP: 7.0
|
9 |
Recommended PHP: 7.4
|
10 |
Tested up to: 5.8
|
11 |
-
Stable tag: 13.0.
|
12 |
|
13 |
No-Nonsense Security Hardening that protects WordPress against hackers, malicious bots, and spammers (no captchas!). Now with exclusive ShieldNET Technology.
|
14 |
|
8 |
Requires PHP: 7.0
|
9 |
Recommended PHP: 7.4
|
10 |
Tested up to: 5.8
|
11 |
+
Stable tag: 13.0.4
|
12 |
|
13 |
No-Nonsense Security Hardening that protects WordPress against hackers, malicious bots, and spammers (no captchas!). Now with exclusive ShieldNET Technology.
|
14 |
|
src/lib/src/Databases/Base/Select.php
CHANGED
@@ -208,8 +208,8 @@ class Select extends BaseQuery {
|
|
208 |
else {
|
209 |
$mData = $this->querySelect();
|
210 |
if ( $this->isResultsAsVo() ) {
|
211 |
-
foreach ( $mData as $nKey => $
|
212 |
-
$mData[ $nKey ] = $this->getDbH()->getVo()->applyFromArray( $
|
213 |
}
|
214 |
}
|
215 |
}
|
208 |
else {
|
209 |
$mData = $this->querySelect();
|
210 |
if ( $this->isResultsAsVo() ) {
|
211 |
+
foreach ( $mData as $nKey => $res ) {
|
212 |
+
$mData[ $nKey ] = $this->getDbH()->getVo()->applyFromArray( $res );
|
213 |
}
|
214 |
}
|
215 |
}
|
src/lib/src/Modules/Data/Lib/GeoIP/Lookup.php
CHANGED
@@ -54,7 +54,7 @@ class Lookup {
|
|
54 |
] );
|
55 |
}
|
56 |
|
57 |
-
$geoData = $ipRecord->geo
|
58 |
}
|
59 |
catch ( \Exception $e ) {
|
60 |
$geoData = [];
|
54 |
] );
|
55 |
}
|
56 |
|
57 |
+
$geoData = is_array( $ipRecord->geo ) ? $ipRecord->geo : [];
|
58 |
}
|
59 |
catch ( \Exception $e ) {
|
60 |
$geoData = [];
|
src/lib/src/Modules/HackGuard/Lib/FileLocker/Ops/ReadOriginalFileContent.php
CHANGED
@@ -41,7 +41,8 @@ class ReadOriginalFileContent extends BaseOps {
|
|
41 |
$cacheKey = 'file-content-'.$lock->id;
|
42 |
$content = wp_cache_get( $cacheKey, $this->getCon()->prefix( 'filelocker' ) );
|
43 |
if ( $content === false ) {
|
44 |
-
$
|
|
|
45 |
$content = ( new DecryptFile() )
|
46 |
->setMod( $this->getMod() )
|
47 |
->retrieve( $VO, $lock->public_key_id );
|
41 |
$cacheKey = 'file-content-'.$lock->id;
|
42 |
$content = wp_cache_get( $cacheKey, $this->getCon()->prefix( 'filelocker' ) );
|
43 |
if ( $content === false ) {
|
44 |
+
$decoded = json_decode( $lock->content, true );
|
45 |
+
$VO = ( new OpenSslEncryptVo() )->applyFromArray( is_array( $decoded ) ? $decoded : [] );
|
46 |
$content = ( new DecryptFile() )
|
47 |
->setMod( $this->getMod() )
|
48 |
->retrieve( $VO, $lock->public_key_id );
|
src/lib/src/Modules/HackGuard/Scan/Queue/QueueItemVO.php
CHANGED
@@ -23,10 +23,14 @@ class QueueItemVO extends DynPropertiesClass {
|
|
23 |
case 'qitem_id':
|
24 |
$value = (int)$value;
|
25 |
break;
|
|
|
|
|
|
|
|
|
|
|
26 |
default:
|
27 |
break;
|
28 |
}
|
29 |
return $value;
|
30 |
}
|
31 |
-
|
32 |
}
|
23 |
case 'qitem_id':
|
24 |
$value = (int)$value;
|
25 |
break;
|
26 |
+
case 'meta':
|
27 |
+
if ( !is_array( $value ) ) {
|
28 |
+
$value = [];
|
29 |
+
}
|
30 |
+
break;
|
31 |
default:
|
32 |
break;
|
33 |
}
|
34 |
return $value;
|
35 |
}
|
|
|
36 |
}
|
src/lib/src/Modules/HackGuard/Scan/Queue/QueueItems.php
CHANGED
@@ -4,7 +4,6 @@ namespace FernleafSystems\Wordpress\Plugin\Shield\Modules\HackGuard\Scan\Queue;
|
|
4 |
|
5 |
use FernleafSystems\Wordpress\Plugin\Shield\Modules\HackGuard\ModCon;
|
6 |
use FernleafSystems\Wordpress\Plugin\Shield\Modules\HackGuard\Scan\Exceptions\NoQueueItems;
|
7 |
-
use FernleafSystems\Wordpress\Plugin\Shield\Modules\HackGuard\Scan\Queue\QueueItemVO;
|
8 |
use FernleafSystems\Wordpress\Plugin\Shield\Modules\ModConsumer;
|
9 |
use FernleafSystems\Wordpress\Services\Services;
|
10 |
|
@@ -38,7 +37,7 @@ class QueueItems {
|
|
38 |
foreach ( [ 'items', 'meta' ] as $key ) {
|
39 |
$result[ $key ] = json_decode( base64_decode( $result[ $key ] ), true );
|
40 |
}
|
41 |
-
return ( new QueueItemVO() )->applyFromArray( $result );
|
42 |
}
|
43 |
|
44 |
public function hasNextItem() :bool {
|
4 |
|
5 |
use FernleafSystems\Wordpress\Plugin\Shield\Modules\HackGuard\ModCon;
|
6 |
use FernleafSystems\Wordpress\Plugin\Shield\Modules\HackGuard\Scan\Exceptions\NoQueueItems;
|
|
|
7 |
use FernleafSystems\Wordpress\Plugin\Shield\Modules\ModConsumer;
|
8 |
use FernleafSystems\Wordpress\Services\Services;
|
9 |
|
37 |
foreach ( [ 'items', 'meta' ] as $key ) {
|
38 |
$result[ $key ] = json_decode( base64_decode( $result[ $key ] ), true );
|
39 |
}
|
40 |
+
return ( new QueueItemVO() )->applyFromArray( is_array( $result ) ? $result : [] );
|
41 |
}
|
42 |
|
43 |
public function hasNextItem() :bool {
|
src/lib/src/Modules/HackGuard/Scan/Results/ScanResultVO.php
CHANGED
@@ -25,7 +25,6 @@ use FernleafSystems\Wordpress\Plugin\Core\Databases\Base\Record;
|
|
25 |
class ScanResultVO extends Record {
|
26 |
|
27 |
/**
|
28 |
-
* @param string $key
|
29 |
* @return mixed
|
30 |
*/
|
31 |
public function __get( string $key ) {
|
25 |
class ScanResultVO extends Record {
|
26 |
|
27 |
/**
|
|
|
28 |
* @return mixed
|
29 |
*/
|
30 |
public function __get( string $key ) {
|
src/lib/src/Modules/Integrations/Lib/MainWP/Common/SyncMetaVO.php
CHANGED
@@ -5,8 +5,6 @@ namespace FernleafSystems\Wordpress\Plugin\Shield\Modules\Integrations\Lib\MainW
|
|
5 |
use FernleafSystems\Utilities\Data\Adapter\DynProperties;
|
6 |
|
7 |
/**
|
8 |
-
* Class SyncVO - property should align with Sync Meta
|
9 |
-
* @package FernleafSystems\Wordpress\Plugin\Shield\Modules\Integrations\Lib\MainWP\Common
|
10 |
* @property bool $is_pro
|
11 |
* @property bool $is_mainwp_on
|
12 |
* @property int $installed_at
|
5 |
use FernleafSystems\Utilities\Data\Adapter\DynProperties;
|
6 |
|
7 |
/**
|
|
|
|
|
8 |
* @property bool $is_pro
|
9 |
* @property bool $is_mainwp_on
|
10 |
* @property int $installed_at
|
src/lib/src/Modules/Integrations/Lib/MainWP/Common/SyncVO.php
CHANGED
@@ -15,16 +15,16 @@ class SyncVO extends DynPropertiesClass {
|
|
15 |
*/
|
16 |
public function __get( string $key ) {
|
17 |
|
18 |
-
$
|
19 |
|
20 |
switch ( $key ) {
|
21 |
case 'meta':
|
22 |
-
$
|
23 |
break;
|
24 |
default:
|
25 |
break;
|
26 |
}
|
27 |
|
28 |
-
return $
|
29 |
}
|
30 |
}
|
15 |
*/
|
16 |
public function __get( string $key ) {
|
17 |
|
18 |
+
$value = parent::__get( $key );
|
19 |
|
20 |
switch ( $key ) {
|
21 |
case 'meta':
|
22 |
+
$value = ( new SyncMetaVO() )->applyFromArray( is_array( $value ) ? $value : [] );
|
23 |
break;
|
24 |
default:
|
25 |
break;
|
26 |
}
|
27 |
|
28 |
+
return $value;
|
29 |
}
|
30 |
}
|
src/lib/src/Modules/Integrations/Lib/MainWP/Server/Data/ClientPluginStatus.php
CHANGED
@@ -26,7 +26,6 @@ class ClientPluginStatus {
|
|
26 |
|
27 |
/**
|
28 |
* TODO: Consider things like global disabled / forceoff
|
29 |
-
* @return array
|
30 |
*/
|
31 |
public function detect() :array {
|
32 |
$sync = LoadShieldSyncData::Load( $this->getMwpSite() );
|
26 |
|
27 |
/**
|
28 |
* TODO: Consider things like global disabled / forceoff
|
|
|
29 |
*/
|
30 |
public function detect() :array {
|
31 |
$sync = LoadShieldSyncData::Load( $this->getMwpSite() );
|
src/lib/src/Modules/Integrations/Lib/MainWP/Server/Data/LoadShieldSyncData.php
CHANGED
@@ -5,7 +5,8 @@ namespace FernleafSystems\Wordpress\Plugin\Shield\Modules\Integrations\Lib\MainW
|
|
5 |
use FernleafSystems\Wordpress\Plugin\Shield\Controller\Controller;
|
6 |
use FernleafSystems\Wordpress\Plugin\Shield\Modules\Integrations\Lib\MainWP\Common\{
|
7 |
MWPSiteVO,
|
8 |
-
SyncVO
|
|
|
9 |
use MainWP\Dashboard\MainWP_DB;
|
10 |
|
11 |
class LoadShieldSyncData {
|
@@ -18,6 +19,7 @@ class LoadShieldSyncData {
|
|
18 |
if ( empty( $data ) ) {
|
19 |
$data = '[]';
|
20 |
}
|
21 |
-
|
|
|
22 |
}
|
23 |
}
|
5 |
use FernleafSystems\Wordpress\Plugin\Shield\Controller\Controller;
|
6 |
use FernleafSystems\Wordpress\Plugin\Shield\Modules\Integrations\Lib\MainWP\Common\{
|
7 |
MWPSiteVO,
|
8 |
+
SyncVO
|
9 |
+
};
|
10 |
use MainWP\Dashboard\MainWP_DB;
|
11 |
|
12 |
class LoadShieldSyncData {
|
19 |
if ( empty( $data ) ) {
|
20 |
$data = '[]';
|
21 |
}
|
22 |
+
$decoded = json_decode( $data, true );
|
23 |
+
return ( new SyncVO() )->applyFromArray( is_array( $decoded ) ? $decoded : [] );
|
24 |
}
|
25 |
}
|
src/lib/vendor/composer/autoload_classmap.php
CHANGED
@@ -225,7 +225,6 @@ return array(
|
|
225 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\Upgrade' => $baseDir . '/src/Modules/AuditTrail/Upgrade.php',
|
226 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\WpCli' => $baseDir . '/src/Modules/AuditTrail/WpCli.php',
|
227 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\WpCli\\Display' => $baseDir . '/src/Modules/AuditTrail/WpCli/Display.php',
|
228 |
-
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\AjaxHandler' => $baseDir . '/src/Modules/Autoupdates/AjaxHandler.php',
|
229 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\Insights\\OverviewCards' => $baseDir . '/src/Modules/Autoupdates/Insights/OverviewCards.php',
|
230 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\ModCon' => $baseDir . '/src/Modules/Autoupdates/ModCon.php',
|
231 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\Options' => $baseDir . '/src/Modules/Autoupdates/Options.php',
|
225 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\Upgrade' => $baseDir . '/src/Modules/AuditTrail/Upgrade.php',
|
226 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\WpCli' => $baseDir . '/src/Modules/AuditTrail/WpCli.php',
|
227 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\WpCli\\Display' => $baseDir . '/src/Modules/AuditTrail/WpCli/Display.php',
|
|
|
228 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\Insights\\OverviewCards' => $baseDir . '/src/Modules/Autoupdates/Insights/OverviewCards.php',
|
229 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\ModCon' => $baseDir . '/src/Modules/Autoupdates/ModCon.php',
|
230 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\Options' => $baseDir . '/src/Modules/Autoupdates/Options.php',
|
src/lib/vendor/composer/autoload_static.php
CHANGED
@@ -411,7 +411,6 @@ class ComposerStaticInit4fc2c6daaffaf40b64b79b6d26830171
|
|
411 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\Upgrade' => __DIR__ . '/../..' . '/src/Modules/AuditTrail/Upgrade.php',
|
412 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\WpCli' => __DIR__ . '/../..' . '/src/Modules/AuditTrail/WpCli.php',
|
413 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\WpCli\\Display' => __DIR__ . '/../..' . '/src/Modules/AuditTrail/WpCli/Display.php',
|
414 |
-
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\AjaxHandler' => __DIR__ . '/../..' . '/src/Modules/Autoupdates/AjaxHandler.php',
|
415 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\Insights\\OverviewCards' => __DIR__ . '/../..' . '/src/Modules/Autoupdates/Insights/OverviewCards.php',
|
416 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\ModCon' => __DIR__ . '/../..' . '/src/Modules/Autoupdates/ModCon.php',
|
417 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\Options' => __DIR__ . '/../..' . '/src/Modules/Autoupdates/Options.php',
|
411 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\Upgrade' => __DIR__ . '/../..' . '/src/Modules/AuditTrail/Upgrade.php',
|
412 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\WpCli' => __DIR__ . '/../..' . '/src/Modules/AuditTrail/WpCli.php',
|
413 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\WpCli\\Display' => __DIR__ . '/../..' . '/src/Modules/AuditTrail/WpCli/Display.php',
|
|
|
414 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\Insights\\OverviewCards' => __DIR__ . '/../..' . '/src/Modules/Autoupdates/Insights/OverviewCards.php',
|
415 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\ModCon' => __DIR__ . '/../..' . '/src/Modules/Autoupdates/ModCon.php',
|
416 |
'FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Autoupdates\\Options' => __DIR__ . '/../..' . '/src/Modules/Autoupdates/Options.php',
|