Version Description
Download this release
Release Info
Developer | paultgoodchild |
Plugin | Shield Security for WordPress |
Version | 14.1.2 |
Comparing to | |
See all releases |
Code changes from version 14.1.1 to 14.1.2
- cl.json +10 -0
- icwp-wpsf.php +1 -1
- plugin-spec.php +3 -3
- plugin.json +3 -3
- readme.txt +1 -1
- resources/js/shield/audit_trail.js +1 -1
- resources/js/shield/traffic.js +3 -3
- src/lib/src/Modules/AuditTrail/Lib/LogTable/BuildSearchPanesData.php +6 -8
- src/lib/src/Modules/Traffic/Lib/TrafficTable/BuildSearchPanesData.php +9 -12
cl.json
CHANGED
@@ -128,6 +128,16 @@
|
|
128 |
"type": "fixed"
|
129 |
}
|
130 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
}
|
132 |
]
|
133 |
},
|
128 |
"type": "fixed"
|
129 |
}
|
130 |
]
|
131 |
+
},
|
132 |
+
{
|
133 |
+
"version": "2",
|
134 |
+
"released_at": 1647852420,
|
135 |
+
"items": [
|
136 |
+
{
|
137 |
+
"title": "Audit Trail and Traffic Log search panels didn't always load correctly.",
|
138 |
+
"type": "fixed"
|
139 |
+
}
|
140 |
+
]
|
141 |
}
|
142 |
]
|
143 |
},
|
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: 14.1.
|
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: 14.1.2
|
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": "14.1.
|
4 |
-
"release_timestamp":
|
5 |
-
"build": "202203.
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
1 |
{
|
2 |
"properties": {
|
3 |
+
"version": "14.1.2",
|
4 |
+
"release_timestamp": 1647852420,
|
5 |
+
"build": "202203.2102",
|
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": "14.1.
|
4 |
-
"release_timestamp":
|
5 |
-
"build": "202203.
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
1 |
{
|
2 |
"properties": {
|
3 |
+
"version": "14.1.2",
|
4 |
+
"release_timestamp": 1647852420,
|
5 |
+
"build": "202203.2102",
|
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.9
|
11 |
-
Stable tag: 14.1.
|
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.9
|
11 |
+
Stable tag: 14.1.2
|
12 |
|
13 |
No-Nonsense Security Hardening that protects WordPress against hackers, malicious bots, and spammers (no captchas!). Now with exclusive ShieldNET Technology.
|
14 |
|
resources/js/shield/audit_trail.js
CHANGED
@@ -174,7 +174,7 @@
|
|
174 |
dom: 'PBfrptip',
|
175 |
language: {
|
176 |
emptyTable: "There are no items to display.",
|
177 |
-
zeroRecords: "No entries found - please
|
178 |
},
|
179 |
search: {},
|
180 |
searchPanes: {
|
174 |
dom: 'PBfrptip',
|
175 |
language: {
|
176 |
emptyTable: "There are no items to display.",
|
177 |
+
zeroRecords: "No entries found - please try adjusting your search filters."
|
178 |
},
|
179 |
search: {},
|
180 |
searchPanes: {
|
resources/js/shield/traffic.js
CHANGED
@@ -131,8 +131,7 @@
|
|
131 |
viewCount: false,
|
132 |
initCollapsed: true
|
133 |
},
|
134 |
-
search: {
|
135 |
-
},
|
136 |
buttons: [
|
137 |
{
|
138 |
text: 'Reload',
|
@@ -144,7 +143,8 @@
|
|
144 |
}
|
145 |
],
|
146 |
language: {
|
147 |
-
emptyTable: "There are no items to display."
|
|
|
148 |
}
|
149 |
}
|
150 |
) );
|
131 |
viewCount: false,
|
132 |
initCollapsed: true
|
133 |
},
|
134 |
+
search: {},
|
|
|
135 |
buttons: [
|
136 |
{
|
137 |
text: 'Reload',
|
143 |
}
|
144 |
],
|
145 |
language: {
|
146 |
+
emptyTable: "There are no items to display.",
|
147 |
+
zeroRecords: "No entries found - please try adjusting your search filters."
|
148 |
}
|
149 |
}
|
150 |
) );
|
src/lib/src/Modules/AuditTrail/Lib/LogTable/BuildSearchPanesData.php
CHANGED
@@ -20,8 +20,7 @@ class BuildSearchPanesData {
|
|
20 |
}
|
21 |
|
22 |
private function buildForIPs() :array {
|
23 |
-
|
24 |
-
return array_filter( array_map(
|
25 |
function ( $result ) {
|
26 |
$ip = $result[ 'ip' ] ?? null;
|
27 |
if ( !empty( $ip ) ) {
|
@@ -32,13 +31,12 @@ class BuildSearchPanesData {
|
|
32 |
}
|
33 |
return $ip;
|
34 |
},
|
35 |
-
$
|
36 |
-
) );
|
37 |
}
|
38 |
|
39 |
private function buildForEvents() :array {
|
40 |
-
|
41 |
-
return array_filter( array_map(
|
42 |
function ( $result ) {
|
43 |
$evt = $result[ 'event' ] ?? null;
|
44 |
if ( !empty( $evt ) ) {
|
@@ -49,8 +47,8 @@ class BuildSearchPanesData {
|
|
49 |
}
|
50 |
return $evt;
|
51 |
},
|
52 |
-
$
|
53 |
-
) );
|
54 |
}
|
55 |
|
56 |
private function runQuery( string $select ) :array {
|
20 |
}
|
21 |
|
22 |
private function buildForIPs() :array {
|
23 |
+
return array_values( array_filter( array_map(
|
|
|
24 |
function ( $result ) {
|
25 |
$ip = $result[ 'ip' ] ?? null;
|
26 |
if ( !empty( $ip ) ) {
|
31 |
}
|
32 |
return $ip;
|
33 |
},
|
34 |
+
$this->runQuery( 'INET6_NTOA(ips.ip) as ip' )
|
35 |
+
) ) );
|
36 |
}
|
37 |
|
38 |
private function buildForEvents() :array {
|
39 |
+
return array_values( array_filter( array_map(
|
|
|
40 |
function ( $result ) {
|
41 |
$evt = $result[ 'event' ] ?? null;
|
42 |
if ( !empty( $evt ) ) {
|
47 |
}
|
48 |
return $evt;
|
49 |
},
|
50 |
+
$this->runQuery( '`log`.event_slug as event' )
|
51 |
+
) ) );
|
52 |
}
|
53 |
|
54 |
private function runQuery( string $select ) :array {
|
src/lib/src/Modules/Traffic/Lib/TrafficTable/BuildSearchPanesData.php
CHANGED
@@ -23,8 +23,7 @@ class BuildSearchPanesData {
|
|
23 |
}
|
24 |
|
25 |
private function buildForCodes() :array {
|
26 |
-
|
27 |
-
return array_filter( array_map(
|
28 |
function ( $result ) {
|
29 |
$code = $result[ 'code' ] ?? null;
|
30 |
if ( !empty( $code ) ) {
|
@@ -35,8 +34,8 @@ class BuildSearchPanesData {
|
|
35 |
}
|
36 |
return $code;
|
37 |
},
|
38 |
-
$
|
39 |
-
) );
|
40 |
}
|
41 |
|
42 |
private function buildForOffense() :array {
|
@@ -53,8 +52,7 @@ class BuildSearchPanesData {
|
|
53 |
}
|
54 |
|
55 |
private function buildForType() :array {
|
56 |
-
|
57 |
-
return array_filter( array_map(
|
58 |
function ( $result ) {
|
59 |
$type = $result[ 'type' ] ?? null;
|
60 |
if ( !empty( $type ) ) {
|
@@ -65,13 +63,12 @@ class BuildSearchPanesData {
|
|
65 |
}
|
66 |
return $type;
|
67 |
},
|
68 |
-
$
|
69 |
-
) );
|
70 |
}
|
71 |
|
72 |
private function buildForIPs() :array {
|
73 |
-
|
74 |
-
return array_filter( array_map(
|
75 |
function ( $result ) {
|
76 |
$ip = $result[ 'ip' ] ?? null;
|
77 |
if ( !empty( $ip ) ) {
|
@@ -82,8 +79,8 @@ class BuildSearchPanesData {
|
|
82 |
}
|
83 |
return $ip;
|
84 |
},
|
85 |
-
$
|
86 |
-
) );
|
87 |
}
|
88 |
|
89 |
private function runQuery( string $select, bool $joinWithIPs ) :array {
|
23 |
}
|
24 |
|
25 |
private function buildForCodes() :array {
|
26 |
+
return array_values( array_filter( array_map(
|
|
|
27 |
function ( $result ) {
|
28 |
$code = $result[ 'code' ] ?? null;
|
29 |
if ( !empty( $code ) ) {
|
34 |
}
|
35 |
return $code;
|
36 |
},
|
37 |
+
$this->runQuery( 'code as code', false )
|
38 |
+
) ) );
|
39 |
}
|
40 |
|
41 |
private function buildForOffense() :array {
|
52 |
}
|
53 |
|
54 |
private function buildForType() :array {
|
55 |
+
return array_values( array_filter( array_map(
|
|
|
56 |
function ( $result ) {
|
57 |
$type = $result[ 'type' ] ?? null;
|
58 |
if ( !empty( $type ) ) {
|
63 |
}
|
64 |
return $type;
|
65 |
},
|
66 |
+
$this->runQuery( 'type as type', false )
|
67 |
+
) ) );
|
68 |
}
|
69 |
|
70 |
private function buildForIPs() :array {
|
71 |
+
return array_values( array_filter( array_map(
|
|
|
72 |
function ( $result ) {
|
73 |
$ip = $result[ 'ip' ] ?? null;
|
74 |
if ( !empty( $ip ) ) {
|
79 |
}
|
80 |
return $ip;
|
81 |
},
|
82 |
+
$this->runQuery( 'INET6_NTOA(ips.ip) as ip', true )
|
83 |
+
) ) );
|
84 |
}
|
85 |
|
86 |
private function runQuery( string $select, bool $joinWithIPs ) :array {
|