Version Description
(2014-07-16) = * New Features * Italian translation available thanks to Leonardo Musumeci
-
Improvements
- Added a warning to developer options
- "Hidden" developer options from default settings. User has to click link to access developer plugins
-
Bug Fixes
- Solved several issues related to translations. Now everything in the plugin is translatable
- Fixed several other issues reported by email
-
Bug Fix
- Fixed reported issue with ugrade (more info here)
Download this release
Release Info
Developer | WPWhiteSecurity |
Plugin | WP Security Audit Log |
Version | 1.2.2 |
Comparing to | |
See all releases |
Code changes from version 1.2.1 to 1.2.2
- classes/AbstractView.php +3 -3
- classes/Alert.php +55 -0
- classes/AlertManager.php +38 -5
- classes/DB/ActiveRecord.php +3 -3
- classes/DB/Occurrence.php +1 -45
- classes/SensorManager.php +33 -4
- classes/Sensors/Content.php +9 -7
- classes/Sensors/Multisite.php +4 -3
- classes/Sensors/PhpErrors.php +12 -4
- classes/Settings.php +15 -0
- classes/ViewManager.php +61 -8
- classes/Views/About.php +22 -22
- classes/Views/AuditLog.php +11 -11
- classes/Views/Help.php +28 -28
- classes/Views/Sandbox.php +3 -3
- classes/Views/Settings.php +43 -19
- classes/Views/ToggleAlerts.php +3 -3
- defaults.php +142 -139
- languages/wp-security-audit-log-de_DE.mo +0 -0
- languages/wp-security-audit-log-it_IT.mo +0 -0
- languages/wp-security-audit-log.pot +1456 -0
- readme.txt +21 -2
- wp-security-audit-log.php +27 -13
classes/AbstractView.php
CHANGED
@@ -66,9 +66,9 @@ abstract class WSAL_AbstractView {
|
|
66 |
* @return string Safe view menu name.
|
67 |
*/
|
68 |
public function GetSafeViewName(){
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
}
|
73 |
|
74 |
/**
|
66 |
* @return string Safe view menu name.
|
67 |
*/
|
68 |
public function GetSafeViewName(){
|
69 |
+
$name = $this->GetName();
|
70 |
+
if(function_exists('iconv'))$name = iconv('utf-8', 'ascii//TRANSLIT', $name);
|
71 |
+
return 'wsal-' . strtolower(preg_replace('/[^A-Za-z0-9\-]/', '-', $name));
|
72 |
}
|
73 |
|
74 |
/**
|
classes/Alert.php
CHANGED
@@ -40,4 +40,59 @@ final class WSAL_Alert {
|
|
40 |
$this->mesg = $mesg;
|
41 |
}
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
}
|
40 |
$this->mesg = $mesg;
|
41 |
}
|
42 |
|
43 |
+
/**
|
44 |
+
* Retrieves a value for a particular meta variable expression.
|
45 |
+
* @param string $expr Expression, eg: User->Name looks for a Name property for meta named User.
|
46 |
+
* @param array $metaData (Optional) Meta data relevant to expression.
|
47 |
+
* @return mixed The value nearest to the expression.
|
48 |
+
*/
|
49 |
+
protected function GetMetaExprValue($expr, $metaData = array()){
|
50 |
+
// TODO Handle function calls (and methods?)
|
51 |
+
$expr = explode('->', $expr);
|
52 |
+
$meta = array_shift($expr);
|
53 |
+
$meta = isset($metaData[$meta]) ? $metaData[$meta] : null;
|
54 |
+
foreach($expr as $part){
|
55 |
+
if(is_scalar($meta) || is_null($meta))return $meta; // this isn't 100% correct
|
56 |
+
$meta = is_array($meta) ? $meta[$part] : $meta->$part;
|
57 |
+
}
|
58 |
+
return is_scalar($meta) ? (string)$meta : var_export($meta, true);
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Expands a message with variables by replacing variables with meta data values.
|
63 |
+
* @param string $mesg The original message.
|
64 |
+
* @param array $metaData (Optional) Meta data relevant to message.
|
65 |
+
* @param callable|null $metaFormatter (Optional) Callback for formatting meta values.
|
66 |
+
* @param string $afterMeta (Optional) Some text to put after meta values.
|
67 |
+
* @return string The expanded message.
|
68 |
+
*/
|
69 |
+
protected function GetFormattedMesg($origMesg, $metaData = array(), $metaFormatter = null){
|
70 |
+
// tokenize message with regex
|
71 |
+
$mesg = preg_split('/(%.*?%)/', (string)$origMesg, -1, PREG_SPLIT_DELIM_CAPTURE);
|
72 |
+
if(!is_array($mesg))return (string)$origMesg;
|
73 |
+
// handle tokenized message
|
74 |
+
foreach($mesg as $i=>$token){
|
75 |
+
// handle escaped percent sign
|
76 |
+
if($token == '%%'){
|
77 |
+
$mesg[$i] = '%';
|
78 |
+
}else
|
79 |
+
// handle complex expressions
|
80 |
+
if(substr($token, 0, 1) == '%' && substr($token, -1, 1) == '%'){
|
81 |
+
$mesg[$i] = $this->GetMetaExprValue(substr($token, 1, -1), $metaData);
|
82 |
+
if($metaFormatter)$mesg[$i] = call_user_func($metaFormatter, $token, $mesg[$i]);
|
83 |
+
}
|
84 |
+
}
|
85 |
+
// compact message and return
|
86 |
+
return implode('', $mesg);
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @param array $metaData (Optional) Meta data relevant to message.
|
91 |
+
* @param callable|null $metaFormatter (Optional) Meta formatter callback.
|
92 |
+
* @param string|null $mesg (Optional) Override message template to use.
|
93 |
+
* @return string Fully formatted message.
|
94 |
+
*/
|
95 |
+
public function GetMessage($metaData = array(), $metaFormatter = null, $mesg = null){
|
96 |
+
return $this->GetFormattedMesg(is_null($mesg) ? $this->mesg : $mesg, $metaData, $metaFormatter);
|
97 |
+
}
|
98 |
}
|
classes/AlertManager.php
CHANGED
@@ -23,14 +23,36 @@ final class WSAL_AlertManager {
|
|
23 |
*/
|
24 |
public function __construct(WpSecurityAuditLog $plugin){
|
25 |
$this->plugin = $plugin;
|
26 |
-
foreach(glob(dirname(__FILE__) . '/Loggers/*.php') as $file)
|
27 |
-
$
|
28 |
-
$this->_loggers[] = new $class($plugin);
|
29 |
-
}
|
30 |
|
31 |
add_action('shutdown', array($this, '_CommitPipeline'));
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Contains a list of alerts to trigger.
|
36 |
* @var array
|
@@ -70,7 +92,6 @@ final class WSAL_AlertManager {
|
|
70 |
);
|
71 |
}
|
72 |
|
73 |
-
|
74 |
/**
|
75 |
* @internal Commit an alert now.
|
76 |
*/
|
@@ -173,6 +194,13 @@ final class WSAL_AlertManager {
|
|
173 |
return $this->plugin->settings->GetDisabledAlerts();
|
174 |
}
|
175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
/**
|
177 |
* Converts an Alert into a Log entry (by invoking loggers).
|
178 |
* You should not call this method directly.
|
@@ -189,6 +217,11 @@ final class WSAL_AlertManager {
|
|
189 |
if(!isset($data['CurrentUserRoles']) && function_exists('is_user_logged_in') && is_user_logged_in())
|
190 |
$data['CurrentUserRoles'] = wp_get_current_user()->roles;
|
191 |
|
|
|
|
|
|
|
|
|
|
|
192 |
foreach($this->_loggers as $logger)
|
193 |
$logger->Log($type, $data);
|
194 |
}
|
23 |
*/
|
24 |
public function __construct(WpSecurityAuditLog $plugin){
|
25 |
$this->plugin = $plugin;
|
26 |
+
foreach(glob(dirname(__FILE__) . '/Loggers/*.php') as $file)
|
27 |
+
$this->AddFromFile ($file);
|
|
|
|
|
28 |
|
29 |
add_action('shutdown', array($this, '_CommitPipeline'));
|
30 |
}
|
31 |
|
32 |
+
/**
|
33 |
+
* Add new logger from file inside autoloader path.
|
34 |
+
* @param string $file Path to file.
|
35 |
+
*/
|
36 |
+
public function AddFromFile($file){
|
37 |
+
$this->AddFromClass($this->plugin->GetClassFileClassName($file));
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Add new logger given class name.
|
42 |
+
* @param string $class Class name.
|
43 |
+
*/
|
44 |
+
public function AddFromClass($class){
|
45 |
+
$this->AddInstance(new $class($this->plugin));
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Add newly created logger to list.
|
50 |
+
* @param WSAL_AbstractLogger $logger The new logger.
|
51 |
+
*/
|
52 |
+
public function AddInstance(WSAL_AbstractLogger $logger){
|
53 |
+
$this->_loggers[] = $logger;
|
54 |
+
}
|
55 |
+
|
56 |
/**
|
57 |
* Contains a list of alerts to trigger.
|
58 |
* @var array
|
92 |
);
|
93 |
}
|
94 |
|
|
|
95 |
/**
|
96 |
* @internal Commit an alert now.
|
97 |
*/
|
194 |
return $this->plugin->settings->GetDisabledAlerts();
|
195 |
}
|
196 |
|
197 |
+
/**
|
198 |
+
* @return WSAL_AbstractLogger[] Returns an array of loaded loggers.
|
199 |
+
*/
|
200 |
+
public function GetLoggers(){
|
201 |
+
return $this->_loggers;
|
202 |
+
}
|
203 |
+
|
204 |
/**
|
205 |
* Converts an Alert into a Log entry (by invoking loggers).
|
206 |
* You should not call this method directly.
|
217 |
if(!isset($data['CurrentUserRoles']) && function_exists('is_user_logged_in') && is_user_logged_in())
|
218 |
$data['CurrentUserRoles'] = wp_get_current_user()->roles;
|
219 |
|
220 |
+
//if(isset($_SERVER['REMOTE_HOST']) && $_SERVER['REMOTE_HOST'] != $data['ClientIP'])
|
221 |
+
// $data['ClientHost'] = $_SERVER['REMOTE_HOST'];
|
222 |
+
|
223 |
+
//$data['OtherIPs'] = $_SERVER['REMOTE_HOST'];
|
224 |
+
|
225 |
foreach($this->_loggers as $logger)
|
226 |
$logger->Log($type, $data);
|
227 |
}
|
classes/DB/ActiveRecord.php
CHANGED
@@ -257,11 +257,11 @@ abstract class WSAL_DB_ActiveRecord {
|
|
257 |
|
258 |
/**
|
259 |
* Load multiple records from DB.
|
260 |
-
* @param string $cond (Optional) Load condition.
|
261 |
-
* @param array $args (Optional) Load condition arguments.
|
262 |
* @return self[] List of loaded records.
|
263 |
*/
|
264 |
-
public static function LoadMulti($cond
|
265 |
global $wpdb;
|
266 |
$class = get_called_class();
|
267 |
$result = array();
|
257 |
|
258 |
/**
|
259 |
* Load multiple records from DB.
|
260 |
+
* @param string $cond (Optional) Load condition (eg: 'some_id = %d' ).
|
261 |
+
* @param array $args (Optional) Load condition arguments (rg: array(45) ).
|
262 |
* @return self[] List of loaded records.
|
263 |
*/
|
264 |
+
public static function LoadMulti($cond, $args = array()){
|
265 |
global $wpdb;
|
266 |
$class = get_called_class();
|
267 |
$result = array();
|
classes/DB/Occurrence.php
CHANGED
@@ -101,50 +101,6 @@ class WSAL_DB_Occurrence extends WSAL_DB_ActiveRecord {
|
|
101 |
$this->SetMetaValue($key, $val);
|
102 |
}
|
103 |
|
104 |
-
/**
|
105 |
-
* Retrieves a value for a particular meta variable expression.
|
106 |
-
* @param string $expr Expression, eg: User->Name looks for a Name property for meta named User.
|
107 |
-
* @return mixed The value nearest to the expression.
|
108 |
-
*/
|
109 |
-
protected function GetMetaExprValue($expr){
|
110 |
-
// TODO Handle function calls (and methods?)
|
111 |
-
$expr = explode('->', $expr);
|
112 |
-
$meta = array_shift($expr);
|
113 |
-
$meta = $this->GetMetaValue($meta, null);
|
114 |
-
foreach($expr as $part){
|
115 |
-
if(is_scalar($meta) || is_null($meta))return $meta; // this isn't 100% correct
|
116 |
-
$meta = is_array($meta) ? $meta[$part] : $meta->$part;
|
117 |
-
}
|
118 |
-
return is_scalar($meta) ? (string)$meta : var_export($meta, true);
|
119 |
-
}
|
120 |
-
|
121 |
-
/**
|
122 |
-
* Expands a message with variables by replacing variables with meta data values.
|
123 |
-
* @param string $mesg The original message.
|
124 |
-
* @param callable|null $metaFormatter (Optional) Callback for formatting meta values.
|
125 |
-
* @param string $afterMeta (Optional) Some text to put after meta values.
|
126 |
-
* @return string The expanded message.
|
127 |
-
*/
|
128 |
-
protected function GetFormattedMesg($origMesg, $metaFormatter = null){
|
129 |
-
// tokenize message with regex
|
130 |
-
$mesg = preg_split('/(%.*?%)/', (string)$origMesg, -1, PREG_SPLIT_DELIM_CAPTURE);
|
131 |
-
if(!is_array($mesg))return (string)$origMesg;
|
132 |
-
// handle tokenized message
|
133 |
-
foreach($mesg as $i=>$token){
|
134 |
-
// handle escaped percent sign
|
135 |
-
if($token == '%%'){
|
136 |
-
$mesg[$i] = '%';
|
137 |
-
}else
|
138 |
-
// handle complex expressions
|
139 |
-
if(substr($token, 0, 1) == '%' && substr($token, -1, 1) == '%'){
|
140 |
-
$mesg[$i] = $this->GetMetaExprValue(substr($token, 1, -1));
|
141 |
-
if($metaFormatter)$mesg[$i] = call_user_func($metaFormatter, $token, $mesg[$i]);
|
142 |
-
}
|
143 |
-
}
|
144 |
-
// compact message and return
|
145 |
-
return implode('', $mesg);
|
146 |
-
}
|
147 |
-
|
148 |
/**
|
149 |
* @param callable|null $metaFormatter (Optional) Meta formatter callback.
|
150 |
* @return string Full-formatted message.
|
@@ -159,7 +115,7 @@ class WSAL_DB_Occurrence extends WSAL_DB_ActiveRecord {
|
|
159 |
$this->_cachedmessage = $this->GetAlert()->mesg;
|
160 |
}
|
161 |
// fill variables in message
|
162 |
-
$this->_cachedmessage = $this->
|
163 |
}
|
164 |
return $this->_cachedmessage;
|
165 |
}
|
101 |
$this->SetMetaValue($key, $val);
|
102 |
}
|
103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
/**
|
105 |
* @param callable|null $metaFormatter (Optional) Meta formatter callback.
|
106 |
* @return string Full-formatted message.
|
115 |
$this->_cachedmessage = $this->GetAlert()->mesg;
|
116 |
}
|
117 |
// fill variables in message
|
118 |
+
$this->_cachedmessage = $this->GetAlert()->GetMessage($this->GetMetaArray(), $metaFormatter, $this->_cachedmessage);
|
119 |
}
|
120 |
return $this->_cachedmessage;
|
121 |
}
|
classes/SensorManager.php
CHANGED
@@ -2,15 +2,16 @@
|
|
2 |
|
3 |
final class WSAL_SensorManager extends WSAL_AbstractSensor {
|
4 |
|
|
|
|
|
|
|
5 |
protected $sensors = array();
|
6 |
|
7 |
public function __construct(WpSecurityAuditLog $plugin){
|
8 |
parent::__construct($plugin);
|
9 |
|
10 |
-
foreach(glob(dirname(__FILE__) . '/Sensors/*.php') as $file)
|
11 |
-
$
|
12 |
-
$this->sensors[] = new $class($plugin);
|
13 |
-
}
|
14 |
}
|
15 |
|
16 |
public function HookEvents() {
|
@@ -18,4 +19,32 @@ final class WSAL_SensorManager extends WSAL_AbstractSensor {
|
|
18 |
$sensor->HookEvents();
|
19 |
}
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
}
|
2 |
|
3 |
final class WSAL_SensorManager extends WSAL_AbstractSensor {
|
4 |
|
5 |
+
/**
|
6 |
+
* @var WSAL_AbstractSensor[]
|
7 |
+
*/
|
8 |
protected $sensors = array();
|
9 |
|
10 |
public function __construct(WpSecurityAuditLog $plugin){
|
11 |
parent::__construct($plugin);
|
12 |
|
13 |
+
foreach(glob(dirname(__FILE__) . '/Sensors/*.php') as $file)
|
14 |
+
$this->AddFromFile ($file);
|
|
|
|
|
15 |
}
|
16 |
|
17 |
public function HookEvents() {
|
19 |
$sensor->HookEvents();
|
20 |
}
|
21 |
|
22 |
+
public function GetSensors(){
|
23 |
+
return $this->sensors;
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Add new sensor from file inside autoloader path.
|
28 |
+
* @param string $file Path to file.
|
29 |
+
*/
|
30 |
+
public function AddFromFile($file){
|
31 |
+
$this->AddFromClass($this->plugin->GetClassFileClassName($file));
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Add new sensor given class name.
|
36 |
+
* @param string $class Class name.
|
37 |
+
*/
|
38 |
+
public function AddFromClass($class){
|
39 |
+
$this->AddInstance(new $class($this->plugin));
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Add newly created sensor to list.
|
44 |
+
* @param WSAL_AbstractSensor $sensor The new sensor.
|
45 |
+
*/
|
46 |
+
public function AddInstance(WSAL_AbstractSensor $sensor){
|
47 |
+
$this->sensors[] = $sensor;
|
48 |
+
}
|
49 |
+
|
50 |
}
|
classes/Sensors/Content.php
CHANGED
@@ -64,7 +64,7 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
64 |
}
|
65 |
|
66 |
protected function GetPostCategories($post){
|
67 |
-
return wp_get_post_categories($post->ID, array('fields' => 'names'))
|
68 |
}
|
69 |
|
70 |
public function EventPostChanged($newStatus, $oldStatus, $post){
|
@@ -159,12 +159,14 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
159 |
|
160 |
$categoryIds = array();
|
161 |
|
162 |
-
if($
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
|
|
|
|
168 |
}
|
169 |
|
170 |
foreach($categoryIds as $categoryID){
|
64 |
}
|
65 |
|
66 |
protected function GetPostCategories($post){
|
67 |
+
return wp_get_post_categories($post->ID, array('fields' => 'names'));
|
68 |
}
|
69 |
|
70 |
public function EventPostChanged($newStatus, $oldStatus, $post){
|
159 |
|
160 |
$categoryIds = array();
|
161 |
|
162 |
+
if(isset($_POST['taxonomy'])){
|
163 |
+
if($action == 'delete' && $_POST['taxonomy'] == 'category' && !empty($_POST['delete_tags'])){
|
164 |
+
// bulk delete
|
165 |
+
$categoryIds[] = $_POST['delete_tags'];
|
166 |
+
}elseif($action == 'delete-tag' && $_POST['taxonomy'] == 'category' && !empty($_POST['tag_ID'])){
|
167 |
+
// single delete
|
168 |
+
$categoryIds[] = $_POST['tag_ID'];
|
169 |
+
}
|
170 |
}
|
171 |
|
172 |
foreach($categoryIds as $categoryID){
|
classes/Sensors/Multisite.php
CHANGED
@@ -17,18 +17,19 @@ class WSAL_Sensors_Multisite extends WSAL_AbstractSensor {
|
|
17 |
}
|
18 |
}
|
19 |
|
20 |
-
protected $old_allowedthemes;
|
21 |
|
22 |
public function EventAdminInit(){
|
23 |
$this->old_allowedthemes = array_keys((array)get_site_option('allowedthemes'));
|
24 |
}
|
25 |
|
26 |
public function EventAdminShutdown(){
|
|
|
27 |
$new_allowedthemes = array_keys((array)get_site_option('allowedthemes'));
|
28 |
|
29 |
// check for enabled themes
|
30 |
foreach($new_allowedthemes as $theme)
|
31 |
-
if(!in_array($theme, $this->old_allowedthemes)){
|
32 |
$theme = wp_get_theme($theme);
|
33 |
$this->plugin->alerts->Trigger(5008, array(
|
34 |
'Theme' => (object)array(
|
@@ -43,7 +44,7 @@ class WSAL_Sensors_Multisite extends WSAL_AbstractSensor {
|
|
43 |
}
|
44 |
|
45 |
// check for disabled themes
|
46 |
-
foreach($this->old_allowedthemes as $theme)
|
47 |
if(!in_array($theme, $new_allowedthemes)){
|
48 |
$theme = wp_get_theme($theme);
|
49 |
$this->plugin->alerts->Trigger(5009, array(
|
17 |
}
|
18 |
}
|
19 |
|
20 |
+
protected $old_allowedthemes = null;
|
21 |
|
22 |
public function EventAdminInit(){
|
23 |
$this->old_allowedthemes = array_keys((array)get_site_option('allowedthemes'));
|
24 |
}
|
25 |
|
26 |
public function EventAdminShutdown(){
|
27 |
+
if(is_null($this->old_allowedthemes))return;
|
28 |
$new_allowedthemes = array_keys((array)get_site_option('allowedthemes'));
|
29 |
|
30 |
// check for enabled themes
|
31 |
foreach($new_allowedthemes as $theme)
|
32 |
+
if(!in_array($theme, (array)$this->old_allowedthemes)){
|
33 |
$theme = wp_get_theme($theme);
|
34 |
$this->plugin->alerts->Trigger(5008, array(
|
35 |
'Theme' => (object)array(
|
44 |
}
|
45 |
|
46 |
// check for disabled themes
|
47 |
+
foreach((array)$this->old_allowedthemes as $theme)
|
48 |
if(!in_array($theme, $new_allowedthemes)){
|
49 |
$theme = wp_get_theme($theme);
|
50 |
$this->plugin->alerts->Trigger(5009, array(
|
classes/Sensors/PhpErrors.php
CHANGED
@@ -27,9 +27,12 @@ class WSAL_Sensors_PhpErrors extends WSAL_AbstractSensor {
|
|
27 |
public function EventError($errno, $errstr, $errfile = 'unknown', $errline = 0, $errcontext = array()){
|
28 |
if($this->_avoid_error_recursion)return;
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
33 |
|
34 |
$data = array(
|
35 |
'Code' => $errno,
|
@@ -57,13 +60,18 @@ class WSAL_Sensors_PhpErrors extends WSAL_AbstractSensor {
|
|
57 |
public function EventException(Exception $ex){
|
58 |
if($this->_avoid_error_recursion)return;
|
59 |
|
|
|
|
|
|
|
|
|
|
|
60 |
$data = array(
|
61 |
'Class' => get_class($ex),
|
62 |
'Code' => $ex->getCode(),
|
63 |
'Message' => $ex->getMessage(),
|
64 |
'File' => $ex->getFile(),
|
65 |
'Line' => $ex->getLine(),
|
66 |
-
'Trace' => $
|
67 |
);
|
68 |
|
69 |
if(method_exists($ex, 'getContext'))
|
27 |
public function EventError($errno, $errstr, $errfile = 'unknown', $errline = 0, $errcontext = array()){
|
28 |
if($this->_avoid_error_recursion)return;
|
29 |
|
30 |
+
$errbacktrace = 'No Backtrace';
|
31 |
+
if($this->plugin->settings->IsBacktraceLoggingEnabled()){
|
32 |
+
ob_start();
|
33 |
+
debug_print_backtrace();
|
34 |
+
$errbacktrace = ob_get_clean();
|
35 |
+
}
|
36 |
|
37 |
$data = array(
|
38 |
'Code' => $errno,
|
60 |
public function EventException(Exception $ex){
|
61 |
if($this->_avoid_error_recursion)return;
|
62 |
|
63 |
+
$errbacktrace = 'No Backtrace';
|
64 |
+
if($this->plugin->settings->IsBacktraceLoggingEnabled()){
|
65 |
+
$errbacktrace = $ex->getTraceAsString();
|
66 |
+
}
|
67 |
+
|
68 |
$data = array(
|
69 |
'Class' => get_class($ex),
|
70 |
'Code' => $ex->getCode(),
|
71 |
'Message' => $ex->getMessage(),
|
72 |
'File' => $ex->getFile(),
|
73 |
'Line' => $ex->getLine(),
|
74 |
+
'Trace' => $errbacktrace,
|
75 |
);
|
76 |
|
77 |
if(method_exists($ex, 'getContext'))
|
classes/Settings.php
CHANGED
@@ -39,6 +39,7 @@ class WSAL_Settings {
|
|
39 |
const OPT_DEV_PHP_ERRORS = 'p';
|
40 |
const OPT_DEV_REQUEST_LOG = 'r';
|
41 |
const OPT_DEV_SANDBOX_PAGE = 's';
|
|
|
42 |
|
43 |
protected $_devoption = null;
|
44 |
|
@@ -65,6 +66,13 @@ class WSAL_Settings {
|
|
65 |
return in_array($option, $this->_devoption);
|
66 |
}
|
67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
/**
|
69 |
* Sets whether a developer option is enabled or not.
|
70 |
* @param string $option See self::OPT_DEV_* constants.
|
@@ -122,6 +130,13 @@ class WSAL_Settings {
|
|
122 |
return $this->IsDevOptionEnabled(self::OPT_DEV_SANDBOX_PAGE);
|
123 |
}
|
124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
/**
|
126 |
* @return boolean Whether dashboard widgets are enabled or not.
|
127 |
*/
|
39 |
const OPT_DEV_PHP_ERRORS = 'p';
|
40 |
const OPT_DEV_REQUEST_LOG = 'r';
|
41 |
const OPT_DEV_SANDBOX_PAGE = 's';
|
42 |
+
const OPT_DEV_BACKTRACE_LOG = 'b';
|
43 |
|
44 |
protected $_devoption = null;
|
45 |
|
66 |
return in_array($option, $this->_devoption);
|
67 |
}
|
68 |
|
69 |
+
/**
|
70 |
+
* @return boolean Whether any developer option has been enabled or not.
|
71 |
+
*/
|
72 |
+
public function IsAnyDevOptionEnabled(){
|
73 |
+
return !!$this->GetGlobalOption(self::OPT_PRFX . 'dev-options', null);
|
74 |
+
}
|
75 |
+
|
76 |
/**
|
77 |
* Sets whether a developer option is enabled or not.
|
78 |
* @param string $option See self::OPT_DEV_* constants.
|
130 |
return $this->IsDevOptionEnabled(self::OPT_DEV_SANDBOX_PAGE);
|
131 |
}
|
132 |
|
133 |
+
/**
|
134 |
+
* @return boolean Whether to store debug backtrace for PHP alerts or not.
|
135 |
+
*/
|
136 |
+
public function IsBacktraceLoggingEnabled(){
|
137 |
+
return $this->IsDevOptionEnabled(self::OPT_DEV_BACKTRACE_LOG);
|
138 |
+
}
|
139 |
+
|
140 |
/**
|
141 |
* @return boolean Whether dashboard widgets are enabled or not.
|
142 |
*/
|
classes/ViewManager.php
CHANGED
@@ -16,14 +16,8 @@ class WSAL_ViewManager {
|
|
16 |
$this->_plugin = $plugin;
|
17 |
|
18 |
// load views
|
19 |
-
foreach(glob(dirname(__FILE__) . '/Views/*.php') as $file)
|
20 |
-
$
|
21 |
-
$tmp = new $class($this->_plugin);
|
22 |
-
$this->views[] = $tmp;
|
23 |
-
}
|
24 |
-
|
25 |
-
// order views by weight
|
26 |
-
usort($this->views, array($this, 'OrderByWeight'));
|
27 |
|
28 |
// add menus
|
29 |
add_action('admin_menu', array($this, 'AddAdminMenus'));
|
@@ -39,6 +33,43 @@ class WSAL_ViewManager {
|
|
39 |
add_action('admin_footer', array($this, 'RenderViewFooter'));
|
40 |
}
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
public function OrderByWeight(WSAL_AbstractView $a, WSAL_AbstractView $b){
|
43 |
$wa = $a->GetWeight();
|
44 |
$wb = $b->GetWeight();
|
@@ -52,7 +83,12 @@ class WSAL_ViewManager {
|
|
52 |
}
|
53 |
}
|
54 |
|
|
|
|
|
|
|
55 |
public function AddAdminMenus(){
|
|
|
|
|
56 |
if($this->_plugin->settings->CurrentUserCan('view') && count($this->views)){
|
57 |
// add main menu
|
58 |
add_menu_page(
|
@@ -81,7 +117,12 @@ class WSAL_ViewManager {
|
|
81 |
}
|
82 |
}
|
83 |
|
|
|
|
|
|
|
84 |
public function AddPluginShortcuts($old_links){
|
|
|
|
|
85 |
$new_links = array();
|
86 |
foreach($this->views as $view){
|
87 |
if($view->HasPluginShortcutLink()){
|
@@ -97,6 +138,9 @@ class WSAL_ViewManager {
|
|
97 |
return array_merge($new_links, $old_links);
|
98 |
}
|
99 |
|
|
|
|
|
|
|
100 |
protected function GetBackendPageIndex(){
|
101 |
if(isset($_REQUEST['page']))
|
102 |
foreach($this->views as $i => $view)
|
@@ -105,16 +149,25 @@ class WSAL_ViewManager {
|
|
105 |
return 0;
|
106 |
}
|
107 |
|
|
|
|
|
|
|
108 |
public function RenderViewHeader(){
|
109 |
$view_id = $this->GetBackendPageIndex();
|
110 |
$this->views[$view_id]->Header();
|
111 |
}
|
112 |
|
|
|
|
|
|
|
113 |
public function RenderViewFooter(){
|
114 |
$view_id = $this->GetBackendPageIndex();
|
115 |
$this->views[$view_id]->Footer();
|
116 |
}
|
117 |
|
|
|
|
|
|
|
118 |
public function RenderViewBody(){
|
119 |
$view_id = $this->GetBackendPageIndex();
|
120 |
?><div class="wrap">
|
16 |
$this->_plugin = $plugin;
|
17 |
|
18 |
// load views
|
19 |
+
foreach(glob(dirname(__FILE__) . '/Views/*.php') as $file)
|
20 |
+
$this->AddFromFile($file);
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
// add menus
|
23 |
add_action('admin_menu', array($this, 'AddAdminMenus'));
|
33 |
add_action('admin_footer', array($this, 'RenderViewFooter'));
|
34 |
}
|
35 |
|
36 |
+
/**
|
37 |
+
* Add new view from file inside autoloader path.
|
38 |
+
* @param string $file Path to file.
|
39 |
+
*/
|
40 |
+
public function AddFromFile($file){
|
41 |
+
$this->AddFromClass($this->_plugin->GetClassFileClassName($file));
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Add new view given class name.
|
46 |
+
* @param string $class Class name.
|
47 |
+
*/
|
48 |
+
public function AddFromClass($class){
|
49 |
+
$this->AddInstance(new $class($this->_plugin));
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Add newly created view to list.
|
54 |
+
* @param WSAL_AbstractView $view The new view.
|
55 |
+
*/
|
56 |
+
public function AddInstance(WSAL_AbstractView $view){
|
57 |
+
$this->views[] = $view;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Order views by their declared weight.
|
62 |
+
*/
|
63 |
+
public function ReorderViews(){
|
64 |
+
usort($this->views, array($this, 'OrderByWeight'));
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @internal This has to be public for PHP to call it.
|
69 |
+
* @param WSAL_AbstractView $a
|
70 |
+
* @param WSAL_AbstractView $b
|
71 |
+
* @return int
|
72 |
+
*/
|
73 |
public function OrderByWeight(WSAL_AbstractView $a, WSAL_AbstractView $b){
|
74 |
$wa = $a->GetWeight();
|
75 |
$wb = $b->GetWeight();
|
83 |
}
|
84 |
}
|
85 |
|
86 |
+
/**
|
87 |
+
* Wordpress Action
|
88 |
+
*/
|
89 |
public function AddAdminMenus(){
|
90 |
+
$this->ReorderViews();
|
91 |
+
|
92 |
if($this->_plugin->settings->CurrentUserCan('view') && count($this->views)){
|
93 |
// add main menu
|
94 |
add_menu_page(
|
117 |
}
|
118 |
}
|
119 |
|
120 |
+
/**
|
121 |
+
* Wordpress Filter
|
122 |
+
*/
|
123 |
public function AddPluginShortcuts($old_links){
|
124 |
+
$this->ReorderViews();
|
125 |
+
|
126 |
$new_links = array();
|
127 |
foreach($this->views as $view){
|
128 |
if($view->HasPluginShortcutLink()){
|
138 |
return array_merge($new_links, $old_links);
|
139 |
}
|
140 |
|
141 |
+
/**
|
142 |
+
* @return int Returns page id of current page (or 0 on error).
|
143 |
+
*/
|
144 |
protected function GetBackendPageIndex(){
|
145 |
if(isset($_REQUEST['page']))
|
146 |
foreach($this->views as $i => $view)
|
149 |
return 0;
|
150 |
}
|
151 |
|
152 |
+
/**
|
153 |
+
* Render header of the current view.
|
154 |
+
*/
|
155 |
public function RenderViewHeader(){
|
156 |
$view_id = $this->GetBackendPageIndex();
|
157 |
$this->views[$view_id]->Header();
|
158 |
}
|
159 |
|
160 |
+
/**
|
161 |
+
* Render footer of the current view.
|
162 |
+
*/
|
163 |
public function RenderViewFooter(){
|
164 |
$view_id = $this->GetBackendPageIndex();
|
165 |
$this->views[$view_id]->Footer();
|
166 |
}
|
167 |
|
168 |
+
/**
|
169 |
+
* Render content of the current view.
|
170 |
+
*/
|
171 |
public function RenderViewBody(){
|
172 |
$view_id = $this->GetBackendPageIndex();
|
173 |
?><div class="wrap">
|
classes/Views/About.php
CHANGED
@@ -25,25 +25,25 @@ class WSAL_Views_About extends WSAL_AbstractView {
|
|
25 |
<!--h3 class="hndl"><span>About WP Security Audit Log</span></h3-->
|
26 |
<div class="inside">
|
27 |
<div class="activity-block">
|
28 |
-
WP Security Audit Log enables WordPress administrators and owners to identify WordPress security issues before they become a security problem by keeping a security audit log. WP Security Audit Log is developed by WordPress security professionals WP White Security.
|
29 |
|
30 |
-
<h2
|
31 |
<p>
|
32 |
-
WP Security Audit Log logs everything happening on your WordPress blog or website and WordPress multisite network. By using WP Security Audit Log security plugin it is very easy to track suspicious user activity before it becomes a problem or a security issue. A WordPress security alert is generated by the plugin when:
|
33 |
</p>
|
34 |
<ul style="list-style-type: disc; margin-left: 2.5em; list-style-position: outside;">
|
35 |
-
<li
|
36 |
-
<li
|
37 |
-
<li
|
38 |
-
<li
|
39 |
-
<li
|
40 |
-
<li
|
41 |
-
<li
|
42 |
-
<li
|
43 |
-
<li
|
44 |
-
<li
|
45 |
-
<li
|
46 |
-
<li
|
47 |
</ul>
|
48 |
<br/>
|
49 |
Refer to the complete list of <a href="http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/security-audit-alerts-logs/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank">WordPress Security Alerts</a> for more information.
|
@@ -53,25 +53,25 @@ class WSAL_Views_About extends WSAL_AbstractView {
|
|
53 |
|
54 |
<div style="position: absolute; right: 70px; width: 180px; top: 10px;">
|
55 |
<div class="postbox">
|
56 |
-
<h3 class="hndl"><span
|
57 |
<div class="inside">
|
58 |
<p>
|
59 |
-
Easily configure WordPress password policies and ensure users use strong passwords with our plugin WP Password Policy Manager.
|
60 |
</p>
|
61 |
-
<a class="button button-primary" href="http://wordpress.org/plugins/wp-password-policy-manager/" target="_blank"
|
62 |
</div>
|
63 |
</div>
|
64 |
<div class="postbox">
|
65 |
-
<h3 class="hndl"><span
|
66 |
<div class="inside">
|
67 |
-
If you are interested in translating our plugin please drop us an email on
|
68 |
<a href="mailto:plugins@wpwhitesecurity.com">plugins@wpwhitesecurity.com</a>.
|
69 |
</div>
|
70 |
</div>
|
71 |
<div class="postbox">
|
72 |
-
<h3 class="hndl"><span
|
73 |
<div class="inside">
|
74 |
-
Professional WordPress security services provided by WP White Security
|
75 |
<ul>
|
76 |
<li><a href="http://www.wpwhitesecurity.com/wordpress-security-services/wordpress-security-hardening/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank">Security Hardening</a></li>
|
77 |
<li><a href="http://www.wpwhitesecurity.com/wordpress-security-services/wordpress-security-audit/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank">Security Audit</a></li>
|
25 |
<!--h3 class="hndl"><span>About WP Security Audit Log</span></h3-->
|
26 |
<div class="inside">
|
27 |
<div class="activity-block">
|
28 |
+
<?php _e('WP Security Audit Log enables WordPress administrators and owners to identify WordPress security issues before they become a security problem by keeping a security audit log. WP Security Audit Log is developed by WordPress security professionals WP White Security.', 'wp-security-audit-log'); ?>
|
29 |
|
30 |
+
<h2><?php _e('Keep A WordPress Security Audit Log & Identify WordPress Security Issues', 'wp-security-audit-log'); ?></h2>
|
31 |
<p>
|
32 |
+
<?php _e('WP Security Audit Log logs everything happening on your WordPress blog or website and WordPress multisite network. By using WP Security Audit Log security plugin it is very easy to track suspicious user activity before it becomes a problem or a security issue. A WordPress security alert is generated by the plugin when:', 'wp-security-audit-log'); ?>
|
33 |
</p>
|
34 |
<ul style="list-style-type: disc; margin-left: 2.5em; list-style-position: outside;">
|
35 |
+
<li><?php _e('User creates a new user or a new user is registered', 'wp-security-audit-log'); ?></li>
|
36 |
+
<li><?php _e('Existing user changes the role, password or other properties of another user', 'wp-security-audit-log'); ?></li>
|
37 |
+
<li><?php _e('Existing user on a WordPress multisite network is added to a site', 'wp-security-audit-log'); ?></li>
|
38 |
+
<li><?php _e('User uploads or deletes a file, changes a password or email address', 'wp-security-audit-log'); ?></li>
|
39 |
+
<li><?php _e('User installs, activates, deactivates, upgrades or uninstalls a plugin', 'wp-security-audit-log'); ?></li>
|
40 |
+
<li><?php _e('User creates, modifies or deletes a new post, page, category or a custom post type', 'wp-security-audit-log'); ?></li>
|
41 |
+
<li><?php _e('User installs or activates a WordPress theme', 'wp-security-audit-log'); ?></li>
|
42 |
+
<li><?php _e('User adds, modifies or deletes a widget', 'wp-security-audit-log'); ?></li>
|
43 |
+
<li><?php _e('User uses the dashboard file editor', 'wp-security-audit-log'); ?></li>
|
44 |
+
<li><?php _e('WordPress settings are changed', 'wp-security-audit-log'); ?></li>
|
45 |
+
<li><?php _e('Failed login attempts', 'wp-security-audit-log'); ?></li>
|
46 |
+
<li><?php _e('and much more…', 'wp-security-audit-log'); ?></li>
|
47 |
</ul>
|
48 |
<br/>
|
49 |
Refer to the complete list of <a href="http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/security-audit-alerts-logs/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank">WordPress Security Alerts</a> for more information.
|
53 |
|
54 |
<div style="position: absolute; right: 70px; width: 180px; top: 10px;">
|
55 |
<div class="postbox">
|
56 |
+
<h3 class="hndl"><span><?php _e('WP Password Policy Manager', 'wp-security-audit-log'); ?></span></h3>
|
57 |
<div class="inside">
|
58 |
<p>
|
59 |
+
<?php _e('Easily configure WordPress password policies and ensure users use strong passwords with our plugin WP Password Policy Manager.', 'wp-security-audit-log'); ?>
|
60 |
</p>
|
61 |
+
<a class="button button-primary" href="http://wordpress.org/plugins/wp-password-policy-manager/" target="_blank"><?php _e('Download', 'wp-security-audit-log'); ?></a>
|
62 |
</div>
|
63 |
</div>
|
64 |
<div class="postbox">
|
65 |
+
<h3 class="hndl"><span><?php _e('WP Security Audit Log in your Language!', 'wp-security-audit-log'); ?></span></h3>
|
66 |
<div class="inside">
|
67 |
+
<?php _e('If you are interested in translating our plugin please drop us an email on', 'wp-security-audit-log'); ?>
|
68 |
<a href="mailto:plugins@wpwhitesecurity.com">plugins@wpwhitesecurity.com</a>.
|
69 |
</div>
|
70 |
</div>
|
71 |
<div class="postbox">
|
72 |
+
<h3 class="hndl"><span><?php _e('WordPress Security Services', 'wp-security-audit-log'); ?></span></h3>
|
73 |
<div class="inside">
|
74 |
+
<?php _e('Professional WordPress security services provided by WP White Security', 'wp-security-audit-log'); ?>
|
75 |
<ul>
|
76 |
<li><a href="http://www.wpwhitesecurity.com/wordpress-security-services/wordpress-security-hardening/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank">Security Hardening</a></li>
|
77 |
<li><a href="http://www.wpwhitesecurity.com/wordpress-security-services/wordpress-security-audit/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank">Security Audit</a></li>
|
classes/Views/AuditLog.php
CHANGED
@@ -269,17 +269,17 @@ class WSAL_Views_AuditLogList_Internal extends WP_List_Table {
|
|
269 |
public function get_columns(){
|
270 |
$cols = array(
|
271 |
//'cb' => '<input type="checkbox" />',
|
272 |
-
//'read' => 'Read',
|
273 |
-
'type' => 'Code',
|
274 |
-
'code' => 'Type',
|
275 |
-
'crtd' => 'Date',
|
276 |
-
'user' => 'Username',
|
277 |
-
'scip' => 'Source IP',
|
278 |
);
|
279 |
if($this->is_multisite() && $this->is_main_blog() && !$this->is_specific_view()){
|
280 |
-
$cols['site'] = 'Site';
|
281 |
}
|
282 |
-
$cols['mesg'] = 'Message';
|
283 |
if($this->_plugin->settings->IsDataInspectorEnabled()){
|
284 |
$cols['data'] = '';
|
285 |
}
|
@@ -308,13 +308,13 @@ class WSAL_Views_AuditLogList_Internal extends WP_List_Table {
|
|
308 |
case 'read':
|
309 |
return '<span class="log-read log-read-'
|
310 |
. ($item->is_read ? 'old' : 'new')
|
311 |
-
. '" title="Click to toggle."></span>';
|
312 |
case 'type':
|
313 |
return str_pad($item->alert_id, 4, '0', STR_PAD_LEFT);
|
314 |
case 'code':
|
315 |
$code = $this->_plugin->alerts->GetAlert($item->alert_id);
|
316 |
$code = $code ? $code->code : 0;
|
317 |
-
$const = (object)array('name' => 'E_UNKNOWN', 'value' => 0, 'description' => 'Unknown error code.');
|
318 |
$const = $this->_plugin->constants->GetConstantBy('value', $code, $const);
|
319 |
return '<span class="log-type log-type-' . $const->value
|
320 |
. '" title="' . esc_html($const->name . ': ' . $const->description) . '"></span>';
|
@@ -334,7 +334,7 @@ class WSAL_Views_AuditLogList_Internal extends WP_List_Table {
|
|
334 |
. '" target="_blank">' . esc_html($user->display_name) . '</a>';
|
335 |
$roles = $item->GetUserRoles();
|
336 |
$roles = (is_array($roles) && count($roles))
|
337 |
-
? esc_html(ucwords(implode(', ', $roles)))
|
338 |
: '<i>' . __('Unknown', 'wp-security-audit-log') . '</i>';
|
339 |
}else{
|
340 |
$image = get_avatar(0, 32);
|
269 |
public function get_columns(){
|
270 |
$cols = array(
|
271 |
//'cb' => '<input type="checkbox" />',
|
272 |
+
//'read' => __('Read', 'wp-security-audit-log'),
|
273 |
+
'type' => __('Code', 'wp-security-audit-log'),
|
274 |
+
'code' => __('Type', 'wp-security-audit-log'),
|
275 |
+
'crtd' => __('Date', 'wp-security-audit-log'),
|
276 |
+
'user' => __('Username', 'wp-security-audit-log'),
|
277 |
+
'scip' => __('Source IP', 'wp-security-audit-log'),
|
278 |
);
|
279 |
if($this->is_multisite() && $this->is_main_blog() && !$this->is_specific_view()){
|
280 |
+
$cols['site'] = __('Site', 'wp-security-audit-log');
|
281 |
}
|
282 |
+
$cols['mesg'] = __('Message', 'wp-security-audit-log');
|
283 |
if($this->_plugin->settings->IsDataInspectorEnabled()){
|
284 |
$cols['data'] = '';
|
285 |
}
|
308 |
case 'read':
|
309 |
return '<span class="log-read log-read-'
|
310 |
. ($item->is_read ? 'old' : 'new')
|
311 |
+
. '" title="' . __('Click to toggle.', 'wp-security-audit-log') . '"></span>';
|
312 |
case 'type':
|
313 |
return str_pad($item->alert_id, 4, '0', STR_PAD_LEFT);
|
314 |
case 'code':
|
315 |
$code = $this->_plugin->alerts->GetAlert($item->alert_id);
|
316 |
$code = $code ? $code->code : 0;
|
317 |
+
$const = (object)array('name' => 'E_UNKNOWN', 'value' => 0, 'description' => __('Unknown error code.', 'wp-security-audit-log'));
|
318 |
$const = $this->_plugin->constants->GetConstantBy('value', $code, $const);
|
319 |
return '<span class="log-type log-type-' . $const->value
|
320 |
. '" title="' . esc_html($const->name . ': ' . $const->description) . '"></span>';
|
334 |
. '" target="_blank">' . esc_html($user->display_name) . '</a>';
|
335 |
$roles = $item->GetUserRoles();
|
336 |
$roles = (is_array($roles) && count($roles))
|
337 |
+
? __(esc_html(ucwords(implode(', ', $roles))))
|
338 |
: '<i>' . __('Unknown', 'wp-security-audit-log') . '</i>';
|
339 |
}else{
|
340 |
$image = get_avatar(0, 32);
|
classes/Views/Help.php
CHANGED
@@ -22,73 +22,73 @@ class WSAL_Views_Help extends WSAL_AbstractView {
|
|
22 |
?><div class="metabox-holder" style="position: relative;">
|
23 |
|
24 |
<div class="postbox" style="margin-right: 270px;">
|
25 |
-
<h3 class="hndl"><span
|
26 |
<div class="inside">
|
27 |
<div class="activity-block">
|
28 |
-
<h2
|
29 |
<p>
|
30 |
-
Have you encountered or noticed any issues while using WP Security Audit Log plugin?
|
31 |
-
Or you want to report something to us? Click any of the options below to post on the plugin's forum or contact our support directly.
|
32 |
</p><p>
|
33 |
-
<a class="button" href="http://wordpress.org/support/plugin/wp-security-audit-log" target="_blank"
|
34 |
|
35 |
-
<a class="button" href="mailto:plugins@wpwhitesecurity.com" target="_blank"
|
36 |
</p>
|
37 |
</div>
|
38 |
|
39 |
<div class="activity-block">
|
40 |
-
<h2
|
41 |
<p>
|
42 |
-
For more detailed information about WP Security Audit Log you can visit the official plugin page.
|
43 |
-
You can also visit the official list of WordPress Security Alerts for more information about all of the activity you can monitor with WP Security Audit Log.
|
44 |
</p><p>
|
45 |
-
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"
|
46 |
|
47 |
-
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/security-audit-alerts-logs/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"
|
48 |
</p>
|
49 |
</div>
|
50 |
|
51 |
<div class="activity-block">
|
52 |
-
<h2
|
53 |
<p>
|
54 |
-
Is your WordPress website hackable?
|
55 |
-
If you are not sure contact our WordPress security professionals to audit your WordPress or to simply secure your WordPress website.
|
56 |
-
Click on any of the below service buttons for more information.
|
57 |
</p><p>
|
58 |
-
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security-services/wordpress-security-hardening/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"
|
59 |
|
60 |
-
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security-services/wordpress-security-audit/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"
|
61 |
</p>
|
62 |
</div>
|
63 |
|
64 |
<div class="">
|
65 |
-
<h2
|
66 |
<p>
|
67 |
-
New to WordPress security?
|
68 |
-
Do not know from where to start or which is the best services for you?
|
69 |
-
Visit our WordPress security blog or the WordPress Security category directly for more information and a number of tips and tricks about WordPress security.
|
70 |
</p>
|
71 |
-
<a class="button" href="http://www.wpwhitesecurity.com/blog/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"
|
72 |
|
73 |
-
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"
|
74 |
</div>
|
75 |
</div>
|
76 |
</div>
|
77 |
|
78 |
<div style="position: absolute; right: 70px; width: 180px; top: 10px;">
|
79 |
<div class="postbox">
|
80 |
-
<h3 class="hndl"><span
|
81 |
<div class="inside">
|
82 |
<p>
|
83 |
-
Easily configure WordPress password policies and ensure users use strong passwords with our plugin WP Password Policy Manager.
|
84 |
</p>
|
85 |
-
<a class="button button-primary" href="http://wordpress.org/plugins/wp-password-policy-manager/" target="_blank"
|
86 |
</div>
|
87 |
</div>
|
88 |
<div class="postbox">
|
89 |
-
<h3 class="hndl"><span
|
90 |
<div class="inside">
|
91 |
-
If you are interested in translating our plugin please drop us an email on
|
92 |
<a href="mailto:plugins@wpwhitesecurity.com">plugins@wpwhitesecurity.com</a>.
|
93 |
</div>
|
94 |
</div>
|
22 |
?><div class="metabox-holder" style="position: relative;">
|
23 |
|
24 |
<div class="postbox" style="margin-right: 270px;">
|
25 |
+
<h3 class="hndl"><span><?php _e('Help', 'wp-security-audit-log'); ?></span></h3>
|
26 |
<div class="inside">
|
27 |
<div class="activity-block">
|
28 |
+
<h2><?php _e('Plugin Support', 'wp-security-audit-log'); ?></h2>
|
29 |
<p>
|
30 |
+
<?php _e('Have you encountered or noticed any issues while using WP Security Audit Log plugin?', 'wp-security-audit-log'); ?>
|
31 |
+
<?php _e('Or you want to report something to us? Click any of the options below to post on the plugin\'s forum or contact our support directly.', 'wp-security-audit-log'); ?>
|
32 |
</p><p>
|
33 |
+
<a class="button" href="http://wordpress.org/support/plugin/wp-security-audit-log" target="_blank"><?php _e('Free Support Forum', 'wp-security-audit-log'); ?></a>
|
34 |
|
35 |
+
<a class="button" href="mailto:plugins@wpwhitesecurity.com" target="_blank"><?php _e('Free Support Email', 'wp-security-audit-log'); ?></a>
|
36 |
</p>
|
37 |
</div>
|
38 |
|
39 |
<div class="activity-block">
|
40 |
+
<h2><?php _e('Plugin Documentation', 'wp-security-audit-log'); ?></h2>
|
41 |
<p>
|
42 |
+
<?php _e('For more detailed information about WP Security Audit Log you can visit the official plugin page.', 'wp-security-audit-log'); ?>
|
43 |
+
<?php _e('You can also visit the official list of WordPress Security Alerts for more information about all of the activity you can monitor with WP Security Audit Log.', 'wp-security-audit-log'); ?>
|
44 |
</p><p>
|
45 |
+
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"><?php _e('Official Plugin Page', 'wp-security-audit-log'); ?></a>
|
46 |
|
47 |
+
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/security-audit-alerts-logs/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"><?php _e('List of WordPress Security Alerts', 'wp-security-audit-log'); ?></a>
|
48 |
</p>
|
49 |
</div>
|
50 |
|
51 |
<div class="activity-block">
|
52 |
+
<h2><?php _e('Need Help Securing WordPress?', 'wp-security-audit-log'); ?></h2>
|
53 |
<p>
|
54 |
+
<?php _e('Is your WordPress website hackable?', 'wp-security-audit-log'); ?>
|
55 |
+
<?php _e('If you are not sure contact our WordPress security professionals to audit your WordPress or to simply secure your WordPress website.', 'wp-security-audit-log'); ?>
|
56 |
+
<?php _e('Click on any of the below service buttons for more information.', 'wp-security-audit-log'); ?>
|
57 |
</p><p>
|
58 |
+
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security-services/wordpress-security-hardening/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"><?php _e('WordPress Security Hardening', 'wp-security-audit-log'); ?></a>
|
59 |
|
60 |
+
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security-services/wordpress-security-audit/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"><?php _e('WordPress Security Audit', 'wp-security-audit-log'); ?></a>
|
61 |
</p>
|
62 |
</div>
|
63 |
|
64 |
<div class="">
|
65 |
+
<h2><?php _e('WordPress Security Readings', 'wp-security-audit-log'); ?></h2>
|
66 |
<p>
|
67 |
+
<?php _e('New to WordPress security?', 'wp-security-audit-log'); ?>
|
68 |
+
<?php _e('Do not know from where to start or which is the best services for you?', 'wp-security-audit-log'); ?>
|
69 |
+
<?php _e('Visit our WordPress security blog or the WordPress Security category directly for more information and a number of tips and tricks about WordPress security.', 'wp-security-audit-log'); ?>
|
70 |
</p>
|
71 |
+
<a class="button" href="http://www.wpwhitesecurity.com/blog/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"><?php _e('WP White Security Blog', 'wp-security-audit-log'); ?></a>
|
72 |
|
73 |
+
<a class="button" href="http://www.wpwhitesecurity.com/wordpress-security/?utm_source=wpsalabt&utm_medium=txtlink&utm_campaign=wpsal" target="_blank"><?php _e('WordPress Security Category', 'wp-security-audit-log'); ?></a>
|
74 |
</div>
|
75 |
</div>
|
76 |
</div>
|
77 |
|
78 |
<div style="position: absolute; right: 70px; width: 180px; top: 10px;">
|
79 |
<div class="postbox">
|
80 |
+
<h3 class="hndl"><span><?php _e('WP Password Policy Manager', 'wp-security-audit-log'); ?></span></h3>
|
81 |
<div class="inside">
|
82 |
<p>
|
83 |
+
<?php _e('Easily configure WordPress password policies and ensure users use strong passwords with our plugin WP Password Policy Manager.', 'wp-security-audit-log'); ?>
|
84 |
</p>
|
85 |
+
<a class="button button-primary" href="http://wordpress.org/plugins/wp-password-policy-manager/" target="_blank"><?php _e('Download', 'wp-security-audit-log'); ?></a>
|
86 |
</div>
|
87 |
</div>
|
88 |
<div class="postbox">
|
89 |
+
<h3 class="hndl"><span><?php _e('WP Security Audit Log in your Language!', 'wp-security-audit-log'); ?></span></h3>
|
90 |
<div class="inside">
|
91 |
+
<?php _e('If you are interested in translating our plugin please drop us an email on', 'wp-security-audit-log'); ?>
|
92 |
<a href="mailto:plugins@wpwhitesecurity.com">plugins@wpwhitesecurity.com</a>.
|
93 |
</div>
|
94 |
</div>
|
classes/Views/Sandbox.php
CHANGED
@@ -132,7 +132,7 @@ new DummySiteCreatorTask();',
|
|
132 |
|
133 |
public function AjaxExecuteResponse(){
|
134 |
echo '<!DOCTYPE html><html><head>';
|
135 |
-
echo '<link rel="stylesheet" id="open-sans-css" href="' . $this->_plugin->GetBaseUrl() . '/css/nice_r.css" type="text/css" media="all"
|
136 |
echo '<script type="text/javascript" src="'.$this->_plugin->GetBaseUrl() . '/js/nice_r.js"></script>';
|
137 |
echo '<style type="text/css">';
|
138 |
echo 'html, body { margin: 0; padding: 0; }';
|
@@ -188,14 +188,14 @@ new DummySiteCreatorTask();',
|
|
188 |
<textarea name="code" id="sandbox-code"><?php echo esc_html($code); ?></textarea>
|
189 |
<iframe id="sandbox-result" name="execframe"></iframe>
|
190 |
</div>
|
191 |
-
<div id="sandbox-status"
|
192 |
</div>
|
193 |
<label for="sandbox-snippet" style="float: left; line-height: 26px; display: inline-block; margin-right: 32px; border-right: 1px dotted #CCC; padding-right: 32px;">
|
194 |
Use Snippet:
|
195 |
<?php $code = json_encode(admin_url('admin.php?page=wsal-sandbox') . '&snippet='); ?>
|
196 |
<select id="sandbox-snippet" onchange="location = <?php echo esc_attr($code); ?> + encodeURIComponent(this.value);"><?php
|
197 |
foreach(array_keys($this->snippets) as $name){
|
198 |
-
?><option value="<?php echo esc_attr($name); ?>"<?php if($name == $snpt)echo ' selected="selected"'; ?>><?php
|
199 |
}
|
200 |
?></select>
|
201 |
</label>
|
132 |
|
133 |
public function AjaxExecuteResponse(){
|
134 |
echo '<!DOCTYPE html><html><head>';
|
135 |
+
echo '<link rel="stylesheet" id="open-sans-css" href="' . $this->_plugin->GetBaseUrl() . '/css/nice_r.css" type="text/css" media="all"/>';
|
136 |
echo '<script type="text/javascript" src="'.$this->_plugin->GetBaseUrl() . '/js/nice_r.js"></script>';
|
137 |
echo '<style type="text/css">';
|
138 |
echo 'html, body { margin: 0; padding: 0; }';
|
188 |
<textarea name="code" id="sandbox-code"><?php echo esc_html($code); ?></textarea>
|
189 |
<iframe id="sandbox-result" name="execframe"></iframe>
|
190 |
</div>
|
191 |
+
<div id="sandbox-status"><?php _e('Ready.', 'wp-security-audit-log'); ?></div>
|
192 |
</div>
|
193 |
<label for="sandbox-snippet" style="float: left; line-height: 26px; display: inline-block; margin-right: 32px; border-right: 1px dotted #CCC; padding-right: 32px;">
|
194 |
Use Snippet:
|
195 |
<?php $code = json_encode(admin_url('admin.php?page=wsal-sandbox') . '&snippet='); ?>
|
196 |
<select id="sandbox-snippet" onchange="location = <?php echo esc_attr($code); ?> + encodeURIComponent(this.value);"><?php
|
197 |
foreach(array_keys($this->snippets) as $name){
|
198 |
+
?><option value="<?php echo esc_attr($name); ?>"<?php if($name == $snpt)echo ' selected="selected"'; ?>><?php echo $name; ?></option><?php
|
199 |
}
|
200 |
?></select>
|
201 |
</label>
|
classes/Views/Settings.php
CHANGED
@@ -206,23 +206,47 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
206 |
<tr>
|
207 |
<th><label><?php _e('Developer Options', 'wp-security-audit-log'); ?></label></th>
|
208 |
<td>
|
209 |
-
<fieldset
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
</td>
|
227 |
</tr>
|
228 |
|
@@ -232,8 +256,8 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
232 |
<fieldset>
|
233 |
<label for="Incognito">
|
234 |
<input type="checkbox" name="Incognito" value="1" id="Incognito"<?php
|
235 |
-
if($this->_plugin->settings->IsIncognito())echo ' checked="checked"';
|
236 |
-
<?php _e('Hide', 'wp-security-audit-log'); ?>
|
237 |
</label>
|
238 |
</fieldset>
|
239 |
</td>
|
206 |
<tr>
|
207 |
<th><label><?php _e('Developer Options', 'wp-security-audit-log'); ?></label></th>
|
208 |
<td>
|
209 |
+
<fieldset>
|
210 |
+
<?php $any = $this->_plugin->settings->IsAnyDevOptionEnabled(); ?>
|
211 |
+
<a href="javascript:;" style="<?php if($any)echo 'display: none;'; ?>"
|
212 |
+
onclick="jQuery(this).hide().next().show();">Show Developer Options</a>
|
213 |
+
<div style="<?php if(!$any)echo 'display: none;'; ?>">
|
214 |
+
<p style="border-left: 3px solid #FFD000; padding: 2px 8px; margin-left: 6px; margin-bottom: 16px;"><?php
|
215 |
+
_e('Enabling any of the settings below may cause unintended side-effects including degraded performance.<br/>Only enable these options if you know what you are doing.', 'wp-security-audit-log');
|
216 |
+
?></p><?php
|
217 |
+
foreach(array(
|
218 |
+
WSAL_Settings::OPT_DEV_DATA_INSPECTOR => array(
|
219 |
+
__('Data Inspector', 'wp-security-audit-log'),
|
220 |
+
__('View data logged for each triggered alert.', 'wp-security-audit-log')
|
221 |
+
),
|
222 |
+
WSAL_Settings::OPT_DEV_PHP_ERRORS => array(
|
223 |
+
__('PHP Errors', 'wp-security-audit-log'),
|
224 |
+
__('Enables sensor for alerts generated from PHP.', 'wp-security-audit-log')
|
225 |
+
),
|
226 |
+
WSAL_Settings::OPT_DEV_REQUEST_LOG => array(
|
227 |
+
__('Request Log', 'wp-security-audit-log'),
|
228 |
+
__('Enables logging request to file.', 'wp-security-audit-log')
|
229 |
+
),
|
230 |
+
WSAL_Settings::OPT_DEV_SANDBOX_PAGE => array(
|
231 |
+
__('Sandbox', 'wp-security-audit-log'),
|
232 |
+
__('Enables sandbox for testing PHP code.', 'wp-security-audit-log')
|
233 |
+
),
|
234 |
+
WSAL_Settings::OPT_DEV_BACKTRACE_LOG => array(
|
235 |
+
__('Backtrace', 'wp-security-audit-log'),
|
236 |
+
__('Log full backtrace for PHP-generated alerts.', 'wp-security-audit-log')
|
237 |
+
),
|
238 |
+
) as $opt => $info){
|
239 |
+
?><label for="devoption_<?php echo $opt; ?>">
|
240 |
+
<input type="checkbox" name="DevOptions[]" id="devoption_<?php echo $opt; ?>" <?php
|
241 |
+
if($this->_plugin->settings->IsDevOptionEnabled($opt))echo 'checked="checked"'; ?> value="<?php echo $opt; ?>">
|
242 |
+
<span><?php echo $info[0]; ?></span>
|
243 |
+
<?php if(isset($info[1]) && $info[1]){ ?>
|
244 |
+
<span class="description"> — <?php echo $info[1]; ?></span>
|
245 |
+
<?php }
|
246 |
+
?></label><br/><?php
|
247 |
+
}
|
248 |
+
?></div>
|
249 |
+
</fieldset>
|
250 |
</td>
|
251 |
</tr>
|
252 |
|
256 |
<fieldset>
|
257 |
<label for="Incognito">
|
258 |
<input type="checkbox" name="Incognito" value="1" id="Incognito"<?php
|
259 |
+
if($this->_plugin->settings->IsIncognito())echo ' checked="checked"';
|
260 |
+
?>/> <?php _e('Hide', 'wp-security-audit-log'); ?>
|
261 |
</label>
|
262 |
</fieldset>
|
263 |
</td>
|
classes/Views/ToggleAlerts.php
CHANGED
@@ -63,9 +63,9 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
|
|
63 |
<thead>
|
64 |
<tr>
|
65 |
<th width="48"><input type="checkbox"<?php if($allactive)echo 'checked="checked"'; ?>/></th>
|
66 |
-
<th width="80"
|
67 |
-
<th width="100"
|
68 |
-
<th
|
69 |
</tr>
|
70 |
</thead>
|
71 |
<tbody><?php
|
63 |
<thead>
|
64 |
<tr>
|
65 |
<th width="48"><input type="checkbox"<?php if($allactive)echo 'checked="checked"'; ?>/></th>
|
66 |
+
<th width="80"><?php _e('Code', 'wp-security-audit-log'); ?></th>
|
67 |
+
<th width="100"><?php _e('Type', 'wp-security-audit-log'); ?></th>
|
68 |
+
<th><?php _e('Description', 'wp-security-audit-log'); ?></th>
|
69 |
</tr>
|
70 |
</thead>
|
71 |
<tbody><?php
|
defaults.php
CHANGED
@@ -10,143 +10,146 @@ defined('E_RECOVERABLE_ERROR') || define('E_RECOVERABLE_ERROR', 'E_RECOVERABLE_E
|
|
10 |
defined('E_DEPRECATED') || define('E_DEPRECATED', 'E_DEPRECATED');
|
11 |
defined('E_USER_DEPRECATED') || define('E_USER_DEPRECATED', 'E_USER_DEPRECATED');
|
12 |
|
13 |
-
WpSecurityAuditLog
|
14 |
-
->constants->UseConstants(array(
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
-
WpSecurityAuditLog::GetInstance()
|
37 |
-
->alerts->RegisterGroup(array(
|
38 |
-
'Other User Activity' => array(
|
39 |
-
array(1000, E_NOTICE, __('User logs in', 'wp-security-audit-log'), __('Successfully logged in', 'wp-security-audit-log')),
|
40 |
-
array(1001, E_NOTICE, __('User logs out', 'wp-security-audit-log'), __('Successfully logged out', 'wp-security-audit-log')),
|
41 |
-
array(1002, E_WARNING, __('Login failed', 'wp-security-audit-log'), __('%Attempts% failed login(s) detected', 'wp-security-audit-log')),
|
42 |
-
array(2010, E_NOTICE, __('User uploaded file from Uploads directory', 'wp-security-audit-log'), __('Uploaded the file %FileName% in %FilePath%', 'wp-security-audit-log')),
|
43 |
-
array(2011, E_WARNING, __('User deleted file from Uploads directory', 'wp-security-audit-log'), __('Deleted the file %FileName% from %FilePath%', 'wp-security-audit-log')),
|
44 |
-
array(2046, E_CRITICAL, __('User changed a file using the theme editor', 'wp-security-audit-log'), __('Modified %File% with the Theme Editor', 'wp-security-audit-log')),
|
45 |
-
array(2051, E_CRITICAL, __('User changed a file using the plugin editor', 'wp-security-audit-log'), __('Modified %File% with the Plugin Editor', 'wp-security-audit-log')),
|
46 |
-
),
|
47 |
-
'Blog Posts' => array(
|
48 |
-
array(2000, E_NOTICE, __('User created a new blog post and saved it as draft', 'wp-security-audit-log'), __('Created a new blog post called %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
|
49 |
-
array(2001, E_NOTICE, __('User published a blog post', 'wp-security-audit-log'), __('Published a blog post called %PostTitle%. Blog post URL is %PostUrl%', 'wp-security-audit-log')),
|
50 |
-
array(2002, E_NOTICE, __('User modified a published blog post', 'wp-security-audit-log'), __('Modified the published blog post %PostTitle%. Blog post URL is %PostUrl%', 'wp-security-audit-log')),
|
51 |
-
array(2003, E_NOTICE, __('User modified a draft blog post', 'wp-security-audit-log'), __('Modified the draft blog post %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
|
52 |
-
array(2008, E_NOTICE, __('User permanently deleted a blog post from the trash', 'wp-security-audit-log'), __('Deleted the post %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
|
53 |
-
array(2012, E_WARNING, __('User moved a blog post to the trash', 'wp-security-audit-log'), __('Moved the blog post %PostTitle% to trash', 'wp-security-audit-log')),
|
54 |
-
array(2014, E_CRITICAL, __('User restored a blog post from trash', 'wp-security-audit-log'), __('Restored post %PostTitle% from trash', 'wp-security-audit-log')),
|
55 |
-
array(2016, E_NOTICE, __('User changed blog post category', 'wp-security-audit-log'), __('Changed the category of the post %PostTitle% from %OldCategories% to %NewCategories%', 'wp-security-audit-log')),
|
56 |
-
array(2017, E_NOTICE, __('User changed blog post URL', 'wp-security-audit-log'), __('Changed the URL of the post %PostTitle% from %OldUrl% to %NewUrl%', 'wp-security-audit-log')),
|
57 |
-
array(2019, E_NOTICE, __('User changed blog post author', 'wp-security-audit-log'), __('Changed the author of %PostTitle% post from %OldAuthor% to %NewAuthor%', 'wp-security-audit-log')),
|
58 |
-
array(2021, E_NOTICE, __('User changed blog post status', 'wp-security-audit-log'), __('Changed the status of %PostTitle% post from %OldStatus% to %NewStatus%', 'wp-security-audit-log')),
|
59 |
-
array(2023, E_NOTICE, __('User created new category', 'wp-security-audit-log'), __('Created a new category called %CategoryName%', 'wp-security-audit-log')),
|
60 |
-
array(2024, E_WARNING, __('User deleted category', 'wp-security-audit-log'), __('Deleted the %CategoryName% category', 'wp-security-audit-log')),
|
61 |
-
array(2025, E_WARNING, __('User changed the visibility of a blog post', 'wp-security-audit-log'), __('Changed the visibility of %PostTitle% blog post from %OldVisibility% to %NewVisibility%', 'wp-security-audit-log')),
|
62 |
-
array(2027, E_NOTICE, __('User changed the date of a blog post', 'wp-security-audit-log'), __('Changed the date of %PostTitle% blog post from %OldDate% to %NewDate%', 'wp-security-audit-log')),
|
63 |
-
array(2049, E_NOTICE, __('User sets a post as sticky', 'wp-security-audit-log'), __('Set the post %PostTitle% as Sticky', 'wp-security-audit-log')),
|
64 |
-
array(2050, E_NOTICE, __('User removes post from sticky', 'wp-security-audit-log'), __('Removed the post %PostTitle% from Sticky', 'wp-security-audit-log')),
|
65 |
-
),
|
66 |
-
'Pages' => array(
|
67 |
-
array(2004, E_NOTICE, __('User created a new WordPress page and saved it as draft', 'wp-security-audit-log'), __('Created a new page called %PostTitle%. Page ID is %PostID%', 'wp-security-audit-log')),
|
68 |
-
array(2005, E_NOTICE, __('User published a WorPress page', 'wp-security-audit-log'), __('Published a page called %PostTitle%. Page URL is %PostUrl%', 'wp-security-audit-log')),
|
69 |
-
array(2006, E_NOTICE, __('User modified a published WordPress page', 'wp-security-audit-log'), __('Modified the published page %PostTitle%. Page URL is %PostUrl%', 'wp-security-audit-log')),
|
70 |
-
array(2007, E_NOTICE, __('User modified a draft WordPress page', 'wp-security-audit-log'), __('Modified the draft page %PostTitle%. page ID is %PostID%', 'wp-security-audit-log')),
|
71 |
-
array(2009, E_NOTICE, __('User permanently deleted a page from the trash', 'wp-security-audit-log'), __('Deleted the page %PostTitle%. Page ID is %PostID%', 'wp-security-audit-log')),
|
72 |
-
array(2013, E_WARNING, __('User moved WordPress page to the trash', 'wp-security-audit-log'), __('Moved the page %PostTitle% to trash', 'wp-security-audit-log')),
|
73 |
-
array(2015, E_CRITICAL, __('User restored a WordPress page from trash', 'wp-security-audit-log'), __('Restored page %PostTitle% from trash', 'wp-security-audit-log')),
|
74 |
-
array(2018, E_NOTICE, __('User changed page URL', 'wp-security-audit-log'), __('Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%', 'wp-security-audit-log')),
|
75 |
-
array(2020, E_NOTICE, __('User changed page author', 'wp-security-audit-log'), __('Changed the author of %PostTitle% page from %OldAuthor% to %NewAuthor%', 'wp-security-audit-log')),
|
76 |
-
array(2022, E_NOTICE, __('User changed page status', 'wp-security-audit-log'), __('Changed the status of %PostTitle% page from %OldStatus% to %NewStatus%', 'wp-security-audit-log')),
|
77 |
-
array(2026, E_WARNING, __('User changed the visibility of a page post', 'wp-security-audit-log'), __('Changed the visibility of %PostTitle% page from %OldVisibility% to %NewVisibility%', 'wp-security-audit-log')),
|
78 |
-
array(2028, E_NOTICE, __('User changed the date of a page post', 'wp-security-audit-log'), __('Changed the date of %PostTitle% page from %OldDate% to %NewDate%', 'wp-security-audit-log')),
|
79 |
-
array(2047, E_NOTICE, __('User changed the parent of a page', 'wp-security-audit-log'), __('Changed the parent of %PostTitle% page from %OldParentName% to %NewParentName%', 'wp-security-audit-log')),
|
80 |
-
array(2048, E_CRITICAL, __('User changes the template of a page', 'wp-security-audit-log'), __('Changed the template of %PostTitle% page from %OldTemplate% to %NewTemplate%', 'wp-security-audit-log')),
|
81 |
-
),
|
82 |
-
'Custom Posts' => array(
|
83 |
-
array(2029, E_NOTICE, __('User created a new post with custom post type and saved it as draft', 'wp-security-audit-log'), __('Created a new custom post called %PostTitle% of type %PostType%. Post ID is %PostID%', 'wp-security-audit-log')),
|
84 |
-
array(2030, E_NOTICE, __('User published a post with custom post type', 'wp-security-audit-log'), __('Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
|
85 |
-
array(2031, E_NOTICE, __('User modified a post with custom post type', 'wp-security-audit-log'), __('Modified custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
|
86 |
-
array(2032, E_NOTICE, __('User modified a draft post with custom post type', 'wp-security-audit-log'), __('Modified draft custom post %PostTitle% of type is %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
|
87 |
-
array(2033, E_WARNING, __('User permanently deleted post with custom post type', 'wp-security-audit-log'), __('Deleted custom post %PostTitle% of type %PostType%', 'wp-security-audit-log')),
|
88 |
-
array(2034, E_WARNING, __('User moved post with custom post type to trash', 'wp-security-audit-log'), __('Moved custom post %PostTitle% to trash. Post type is %PostType%', 'wp-security-audit-log')),
|
89 |
-
array(2035, E_CRITICAL, __('User restored post with custom post type from trash', 'wp-security-audit-log'), __('Restored custom post %PostTitle% of type %PostType% from trash', 'wp-security-audit-log')),
|
90 |
-
array(2036, E_NOTICE, __('User changed the category of a post with custom post type', 'wp-security-audit-log'), __('Changed the category(ies) of custom post %PostTitle% of type %PostType% from %OldCategories% to %NewCategories%', 'wp-security-audit-log')),
|
91 |
-
array(2037, E_NOTICE, __('User changed the URL of a post with custom post type', 'wp-security-audit-log'), __('Changed the URL of custom post %PostTitle% of type %PostType% from %OldUrl% to %NewUrl%', 'wp-security-audit-log')),
|
92 |
-
array(2038, E_NOTICE, __('User changed the author or post with custom post type', 'wp-security-audit-log'), __('Changed the author of custom post %PostTitle% of type %PostType% from %OldAuthor% to %NewAuthor%', 'wp-security-audit-log')),
|
93 |
-
array(2039, E_NOTICE, __('User changed the status of post with custom post type', 'wp-security-audit-log'), __('Changed the status of custom post %PostTitle% of type %PostType% from %OldStatus% to %NewStatus%', 'wp-security-audit-log')),
|
94 |
-
array(2040, E_WARNING, __('User changed the visibility of a post with custom post type', 'wp-security-audit-log'), __('Changed the visibility of custom post %PostTitle% of type %PostType% from %OldVisibility% to %NewVisibility%', 'wp-security-audit-log')),
|
95 |
-
array(2041, E_NOTICE, __('User changed the date of post with custom post type', 'wp-security-audit-log'), __('Changed the date of custom post %PostTitle% of type %PostType% from %OldDate% to %NewDate%', 'wp-security-audit-log')),
|
96 |
-
),
|
97 |
-
'Widgets' => array(
|
98 |
-
array(2042, E_CRITICAL, __('User added a new widget', 'wp-security-audit-log'), __('Added a new %WidgetName% widget in %Sidebar%', 'wp-security-audit-log')),
|
99 |
-
array(2043, E_WARNING, __('User modified a widget', 'wp-security-audit-log'), __('Modified the %WidgetName% widget in %Sidebar%', 'wp-security-audit-log')),
|
100 |
-
array(2044, E_CRITICAL, __('User deleted widget', 'wp-security-audit-log'), __('Deleted the %WidgetName% widget from %Sidebar%', 'wp-security-audit-log')),
|
101 |
-
array(2045, E_NOTICE, __('User moved widget', 'wp-security-audit-log'), __('Moved the %WidgetName% widget from %OldSidebar% to %NewSidebar%', 'wp-security-audit-log')),
|
102 |
-
),
|
103 |
-
'User Profiles' => array(
|
104 |
-
array(4000, E_CRITICAL, __('A new user was created on WordPress', 'wp-security-audit-log'), __('User %NewUserData->Username% subscribed with a role of %NewUserData->Roles%', 'wp-security-audit-log')),
|
105 |
-
array(4001, E_CRITICAL, __('A user created another WordPress user', 'wp-security-audit-log'), __('Created a new user %NewUserData->Username% with the role of %NewUserData->Roles%', 'wp-security-audit-log')),
|
106 |
-
array(4002, E_CRITICAL, __('The role of a user was changed by another WordPress user', 'wp-security-audit-log'), __('Changed the role of user %TargetUsername% from %OldRole% to %NewRole%', 'wp-security-audit-log')),
|
107 |
-
array(4003, E_CRITICAL, __('User has changed his or her password', 'wp-security-audit-log'), __('Changed the password', 'wp-security-audit-log')),
|
108 |
-
array(4004, E_CRITICAL, __('A user changed another user\'s password', 'wp-security-audit-log'), __('Changed the password for user %TargetUserData->Username% with the role of %TargetUserData->Roles%', 'wp-security-audit-log')),
|
109 |
-
array(4005, E_NOTICE, __('User changed his or her email address', 'wp-security-audit-log'), __('Changed the email address from %OldEmail% to %NewEmail%', 'wp-security-audit-log')),
|
110 |
-
array(4006, E_NOTICE, __('A user changed another user\'s email address', 'wp-security-audit-log'), __('Changed the email address of user account %TargetUsername% from %OldEmail% to %NewEmail%', 'wp-security-audit-log')),
|
111 |
-
array(4007, E_CRITICAL, __('A user was deleted by another user', 'wp-security-audit-log'), __('Deleted User %TargetUserData->Username% with the role of %TargetUserData->Roles%', 'wp-security-audit-log')),
|
112 |
-
),
|
113 |
-
'Plugins & Themes' => array(
|
114 |
-
array(5000, E_CRITICAL, __('User installed a plugin', 'wp-security-audit-log'), __('Installed the plugin %Plugin->Name% in %Plugin->plugin_dir_path%', 'wp-security-audit-log')),
|
115 |
-
array(5001, E_CRITICAL, __('User activated a WordPress plugin', 'wp-security-audit-log'), __('Activated the plugin %PluginData->Name% installed in %PluginFile%', 'wp-security-audit-log')),
|
116 |
-
array(5002, E_CRITICAL, __('User deactivated a WordPress plugin', 'wp-security-audit-log'), __('Deactivated the plugin %PluginData->Name% installed in %PluginFile%', 'wp-security-audit-log')),
|
117 |
-
array(5003, E_CRITICAL, __('User uninstalled a plugin', 'wp-security-audit-log'), __('Uninstalled the plugin %PluginData->Name% which was installed in %PluginFile%', 'wp-security-audit-log')),
|
118 |
-
array(5004, E_WARNING, __('User upgraded a plugin', 'wp-security-audit-log'), __('Upgraded the plugin %PluginData->Name% installed in %PluginFile%', 'wp-security-audit-log')),
|
119 |
-
array(5005, E_CRITICAL, __('User installed a theme', 'wp-security-audit-log'), __('Installed theme "%Theme->Name%" in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
120 |
-
array(5006, E_CRITICAL, __('User activated a theme', 'wp-security-audit-log'), __('Activated theme "%Theme->Name%", installed in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
121 |
-
array(5007, E_CRITICAL, __('User uninstalled a theme', 'wp-security-audit-log'), __('Deleted theme "%Theme->Name%" installed in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
122 |
-
),
|
123 |
-
'System Activity' => array(
|
124 |
-
array(0000, E_CRITICAL, __('Unknown Error', 'wp-security-audit-log'), __('An unexpected error has occurred', 'wp-security-audit-log')),
|
125 |
-
array(0001, E_CRITICAL, __('PHP error', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
126 |
-
array(0002, E_WARNING, __('PHP warning', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
127 |
-
array(0003, E_NOTICE, __('PHP notice', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
128 |
-
array(0004, E_CRITICAL, __('PHP exception', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
129 |
-
array(0005, E_CRITICAL, __('PHP shutdown error', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
130 |
-
array(6000, E_NOTICE, __('Events automatically pruned by system', 'wp-security-audit-log'), __('%EventCount% event(s) automatically deleted by system', 'wp-security-audit-log')),
|
131 |
-
array(6001, E_CRITICAL, __('Option Anyone Can Register in WordPress settings changed', 'wp-security-audit-log'), __('%NewValue% the option "Anyone can register"', 'wp-security-audit-log')),
|
132 |
-
array(6002, E_CRITICAL, __('New User Default Role changed', 'wp-security-audit-log'), __('Changed the New User Default Role from %OldRole% to %NewRole%', 'wp-security-audit-log')),
|
133 |
-
array(6003, E_CRITICAL, __('WordPress Administrator Notification email changed', 'wp-security-audit-log'), __('Changed the WordPress administrator notifications email address from %OldEmail% to %NewEmail%', 'wp-security-audit-log')),
|
134 |
-
array(6004, E_CRITICAL, __('WordPress was updated', 'wp-security-audit-log'), __('Updated WordPress from version %OldVersion% to %NewVersion%', 'wp-security-audit-log')),
|
135 |
-
array(6005, E_CRITICAL, __('User changes the WordPress Permalinks', 'wp-security-audit-log'), __('Changed the WordPress permalinks from %OldPattern% to %NewPattern%', 'wp-security-audit-log')),
|
136 |
-
),
|
137 |
-
'MultiSite' => array(
|
138 |
-
array(4008, E_CRITICAL, __('User granted Super Admin privileges', 'wp-security-audit-log'), __('Granted Super Admin privileges to %TargetUsername%', 'wp-security-audit-log')),
|
139 |
-
array(4009, E_CRITICAL, __('User revoked from Super Admin privileges', 'wp-security-audit-log'), __('Revoked Super Admin privileges from %TargetUsername%', 'wp-security-audit-log')),
|
140 |
-
array(4010, E_CRITICAL, __('Existing user added to a site', 'wp-security-audit-log'), __('Added existing user %TargetUsername% with %TargetUserRole% role to site %SiteName%', 'wp-security-audit-log')),
|
141 |
-
array(4011, E_CRITICAL, __('User removed from site', 'wp-security-audit-log'), __('Removed user %TargetUsername% with role %TargetUserRole% from %SiteName% site', 'wp-security-audit-log')),
|
142 |
-
array(4012, E_CRITICAL, __('New network user created', 'wp-security-audit-log'), __('Created a new network user %NewUserData->Username%', 'wp-security-audit-log')),
|
143 |
-
array(7000, E_CRITICAL, __('New site added on network', 'wp-security-audit-log'), __('Added site %SiteName% to the network', 'wp-security-audit-log')),
|
144 |
-
array(7001, E_CRITICAL, __('Existing site archived', 'wp-security-audit-log'), __('Archived site %SiteName%', 'wp-security-audit-log')),
|
145 |
-
array(7002, E_CRITICAL, __('Archived site has been unarchived', 'wp-security-audit-log'), __('Unarchived site %SiteName%', 'wp-security-audit-log')),
|
146 |
-
array(7003, E_CRITICAL, __('Deactivated site has been activated', 'wp-security-audit-log'), __('Activated site %SiteName%', 'wp-security-audit-log')),
|
147 |
-
array(7004, E_CRITICAL, __('Site has been deactivated', 'wp-security-audit-log'), __('Deactivated site %SiteName%', 'wp-security-audit-log')),
|
148 |
-
array(7005, E_CRITICAL, __('Existing site deleted from network', 'wp-security-audit-log'), __('Deleted site %SiteName%', 'wp-security-audit-log')),
|
149 |
-
array(5008, E_CRITICAL, __('Activated theme on network', 'wp-security-audit-log'), __('Network activated %Theme->Name% theme installed in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
150 |
-
array(5009, E_CRITICAL, __('Deactivated theme from network', 'wp-security-audit-log'), __('Network deactivated %Theme->Name% theme installed in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
151 |
-
),
|
152 |
-
));
|
10 |
defined('E_DEPRECATED') || define('E_DEPRECATED', 'E_DEPRECATED');
|
11 |
defined('E_USER_DEPRECATED') || define('E_USER_DEPRECATED', 'E_USER_DEPRECATED');
|
12 |
|
13 |
+
function wsaldefaults_wsal_init(WpSecurityAuditLog $wsal){
|
14 |
+
$wsal->constants->UseConstants(array(
|
15 |
+
// default PHP constants
|
16 |
+
array('name' => 'E_ERROR', 'description' => __('Fatal run-time error.', 'wp-security-audit-log')),
|
17 |
+
array('name' => 'E_WARNING', 'description' => __('Run-time warning (non-fatal error).', 'wp-security-audit-log')),
|
18 |
+
array('name' => 'E_PARSE', 'description' => __('Compile-time parse error.', 'wp-security-audit-log')),
|
19 |
+
array('name' => 'E_NOTICE', 'description' => __('Run-time notice.', 'wp-security-audit-log')),
|
20 |
+
array('name' => 'E_CORE_ERROR', 'description' => __('Fatal error that occurred during startup.', 'wp-security-audit-log')),
|
21 |
+
array('name' => 'E_CORE_WARNING', 'description' => __('Warnings that occurred during startup.', 'wp-security-audit-log')),
|
22 |
+
array('name' => 'E_COMPILE_ERROR', 'description' => __('Fatal compile-time error.', 'wp-security-audit-log')),
|
23 |
+
array('name' => 'E_COMPILE_WARNING', 'description' => __('Compile-time warning.', 'wp-security-audit-log')),
|
24 |
+
array('name' => 'E_USER_ERROR', 'description' => __('User-generated error message.', 'wp-security-audit-log')),
|
25 |
+
array('name' => 'E_USER_WARNING', 'description' => __('User-generated warning message.', 'wp-security-audit-log')),
|
26 |
+
array('name' => 'E_USER_NOTICE', 'description' => __('User-generated notice message. ', 'wp-security-audit-log')),
|
27 |
+
array('name' => 'E_STRICT', 'description' => __('Non-standard/optimal code warning.', 'wp-security-audit-log')),
|
28 |
+
array('name' => 'E_RECOVERABLE_ERROR', 'description' => __('Catchable fatal error.', 'wp-security-audit-log')),
|
29 |
+
array('name' => 'E_DEPRECATED', 'description' => __('Run-time deprecation notices.', 'wp-security-audit-log')),
|
30 |
+
array('name' => 'E_USER_DEPRECATED', 'description' => __('Run-time user deprecation notices.', 'wp-security-audit-log')),
|
31 |
+
// custom constants
|
32 |
+
array('name' => 'E_CRITICAL', 'description' => __('Critical, high-impact messages.', 'wp-security-audit-log')),
|
33 |
+
array('name' => 'E_DEBUG', 'description' => __('Debug informational messages.', 'wp-security-audit-log')),
|
34 |
+
));
|
35 |
+
|
36 |
+
// create list of default alerts
|
37 |
+
$wsal->alerts->RegisterGroup(array(
|
38 |
+
__('Other User Activity', 'wp-security-audit-log') => array(
|
39 |
+
array(1000, E_NOTICE, __('User logs in', 'wp-security-audit-log'), __('Successfully logged in', 'wp-security-audit-log')),
|
40 |
+
array(1001, E_NOTICE, __('User logs out', 'wp-security-audit-log'), __('Successfully logged out', 'wp-security-audit-log')),
|
41 |
+
array(1002, E_WARNING, __('Login failed', 'wp-security-audit-log'), __('%Attempts% failed login(s) detected', 'wp-security-audit-log')),
|
42 |
+
array(2010, E_NOTICE, __('User uploaded file from Uploads directory', 'wp-security-audit-log'), __('Uploaded the file %FileName% in %FilePath%', 'wp-security-audit-log')),
|
43 |
+
array(2011, E_WARNING, __('User deleted file from Uploads directory', 'wp-security-audit-log'), __('Deleted the file %FileName% from %FilePath%', 'wp-security-audit-log')),
|
44 |
+
array(2046, E_CRITICAL, __('User changed a file using the theme editor', 'wp-security-audit-log'), __('Modified %File% with the Theme Editor', 'wp-security-audit-log')),
|
45 |
+
array(2051, E_CRITICAL, __('User changed a file using the plugin editor', 'wp-security-audit-log'), __('Modified %File% with the Plugin Editor', 'wp-security-audit-log')),
|
46 |
+
),
|
47 |
+
__('Blog Posts', 'wp-security-audit-log') => array(
|
48 |
+
array(2000, E_NOTICE, __('User created a new blog post and saved it as draft', 'wp-security-audit-log'), __('Created a new blog post called %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
|
49 |
+
array(2001, E_NOTICE, __('User published a blog post', 'wp-security-audit-log'), __('Published a blog post called %PostTitle%. Blog post URL is %PostUrl%', 'wp-security-audit-log')),
|
50 |
+
array(2002, E_NOTICE, __('User modified a published blog post', 'wp-security-audit-log'), __('Modified the published blog post %PostTitle%. Blog post URL is %PostUrl%', 'wp-security-audit-log')),
|
51 |
+
array(2003, E_NOTICE, __('User modified a draft blog post', 'wp-security-audit-log'), __('Modified the draft blog post %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
|
52 |
+
array(2008, E_NOTICE, __('User permanently deleted a blog post from the trash', 'wp-security-audit-log'), __('Deleted the post %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
|
53 |
+
array(2012, E_WARNING, __('User moved a blog post to the trash', 'wp-security-audit-log'), __('Moved the blog post %PostTitle% to trash', 'wp-security-audit-log')),
|
54 |
+
array(2014, E_CRITICAL, __('User restored a blog post from trash', 'wp-security-audit-log'), __('Restored post %PostTitle% from trash', 'wp-security-audit-log')),
|
55 |
+
array(2016, E_NOTICE, __('User changed blog post category', 'wp-security-audit-log'), __('Changed the category of the post %PostTitle% from %OldCategories% to %NewCategories%', 'wp-security-audit-log')),
|
56 |
+
array(2017, E_NOTICE, __('User changed blog post URL', 'wp-security-audit-log'), __('Changed the URL of the post %PostTitle% from %OldUrl% to %NewUrl%', 'wp-security-audit-log')),
|
57 |
+
array(2019, E_NOTICE, __('User changed blog post author', 'wp-security-audit-log'), __('Changed the author of %PostTitle% post from %OldAuthor% to %NewAuthor%', 'wp-security-audit-log')),
|
58 |
+
array(2021, E_NOTICE, __('User changed blog post status', 'wp-security-audit-log'), __('Changed the status of %PostTitle% post from %OldStatus% to %NewStatus%', 'wp-security-audit-log')),
|
59 |
+
array(2023, E_NOTICE, __('User created new category', 'wp-security-audit-log'), __('Created a new category called %CategoryName%', 'wp-security-audit-log')),
|
60 |
+
array(2024, E_WARNING, __('User deleted category', 'wp-security-audit-log'), __('Deleted the %CategoryName% category', 'wp-security-audit-log')),
|
61 |
+
array(2025, E_WARNING, __('User changed the visibility of a blog post', 'wp-security-audit-log'), __('Changed the visibility of %PostTitle% blog post from %OldVisibility% to %NewVisibility%', 'wp-security-audit-log')),
|
62 |
+
array(2027, E_NOTICE, __('User changed the date of a blog post', 'wp-security-audit-log'), __('Changed the date of %PostTitle% blog post from %OldDate% to %NewDate%', 'wp-security-audit-log')),
|
63 |
+
array(2049, E_NOTICE, __('User sets a post as sticky', 'wp-security-audit-log'), __('Set the post %PostTitle% as Sticky', 'wp-security-audit-log')),
|
64 |
+
array(2050, E_NOTICE, __('User removes post from sticky', 'wp-security-audit-log'), __('Removed the post %PostTitle% from Sticky', 'wp-security-audit-log')),
|
65 |
+
),
|
66 |
+
__('Pages', 'wp-security-audit-log') => array(
|
67 |
+
array(2004, E_NOTICE, __('User created a new WordPress page and saved it as draft', 'wp-security-audit-log'), __('Created a new page called %PostTitle%. Page ID is %PostID%', 'wp-security-audit-log')),
|
68 |
+
array(2005, E_NOTICE, __('User published a WorPress page', 'wp-security-audit-log'), __('Published a page called %PostTitle%. Page URL is %PostUrl%', 'wp-security-audit-log')),
|
69 |
+
array(2006, E_NOTICE, __('User modified a published WordPress page', 'wp-security-audit-log'), __('Modified the published page %PostTitle%. Page URL is %PostUrl%', 'wp-security-audit-log')),
|
70 |
+
array(2007, E_NOTICE, __('User modified a draft WordPress page', 'wp-security-audit-log'), __('Modified the draft page %PostTitle%. page ID is %PostID%', 'wp-security-audit-log')),
|
71 |
+
array(2009, E_NOTICE, __('User permanently deleted a page from the trash', 'wp-security-audit-log'), __('Deleted the page %PostTitle%. Page ID is %PostID%', 'wp-security-audit-log')),
|
72 |
+
array(2013, E_WARNING, __('User moved WordPress page to the trash', 'wp-security-audit-log'), __('Moved the page %PostTitle% to trash', 'wp-security-audit-log')),
|
73 |
+
array(2015, E_CRITICAL, __('User restored a WordPress page from trash', 'wp-security-audit-log'), __('Restored page %PostTitle% from trash', 'wp-security-audit-log')),
|
74 |
+
array(2018, E_NOTICE, __('User changed page URL', 'wp-security-audit-log'), __('Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%', 'wp-security-audit-log')),
|
75 |
+
array(2020, E_NOTICE, __('User changed page author', 'wp-security-audit-log'), __('Changed the author of %PostTitle% page from %OldAuthor% to %NewAuthor%', 'wp-security-audit-log')),
|
76 |
+
array(2022, E_NOTICE, __('User changed page status', 'wp-security-audit-log'), __('Changed the status of %PostTitle% page from %OldStatus% to %NewStatus%', 'wp-security-audit-log')),
|
77 |
+
array(2026, E_WARNING, __('User changed the visibility of a page post', 'wp-security-audit-log'), __('Changed the visibility of %PostTitle% page from %OldVisibility% to %NewVisibility%', 'wp-security-audit-log')),
|
78 |
+
array(2028, E_NOTICE, __('User changed the date of a page post', 'wp-security-audit-log'), __('Changed the date of %PostTitle% page from %OldDate% to %NewDate%', 'wp-security-audit-log')),
|
79 |
+
array(2047, E_NOTICE, __('User changed the parent of a page', 'wp-security-audit-log'), __('Changed the parent of %PostTitle% page from %OldParentName% to %NewParentName%', 'wp-security-audit-log')),
|
80 |
+
array(2048, E_CRITICAL, __('User changes the template of a page', 'wp-security-audit-log'), __('Changed the template of %PostTitle% page from %OldTemplate% to %NewTemplate%', 'wp-security-audit-log')),
|
81 |
+
),
|
82 |
+
__('Custom Posts', 'wp-security-audit-log') => array(
|
83 |
+
array(2029, E_NOTICE, __('User created a new post with custom post type and saved it as draft', 'wp-security-audit-log'), __('Created a new custom post called %PostTitle% of type %PostType%. Post ID is %PostID%', 'wp-security-audit-log')),
|
84 |
+
array(2030, E_NOTICE, __('User published a post with custom post type', 'wp-security-audit-log'), __('Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
|
85 |
+
array(2031, E_NOTICE, __('User modified a post with custom post type', 'wp-security-audit-log'), __('Modified custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
|
86 |
+
array(2032, E_NOTICE, __('User modified a draft post with custom post type', 'wp-security-audit-log'), __('Modified draft custom post %PostTitle% of type is %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
|
87 |
+
array(2033, E_WARNING, __('User permanently deleted post with custom post type', 'wp-security-audit-log'), __('Deleted custom post %PostTitle% of type %PostType%', 'wp-security-audit-log')),
|
88 |
+
array(2034, E_WARNING, __('User moved post with custom post type to trash', 'wp-security-audit-log'), __('Moved custom post %PostTitle% to trash. Post type is %PostType%', 'wp-security-audit-log')),
|
89 |
+
array(2035, E_CRITICAL, __('User restored post with custom post type from trash', 'wp-security-audit-log'), __('Restored custom post %PostTitle% of type %PostType% from trash', 'wp-security-audit-log')),
|
90 |
+
array(2036, E_NOTICE, __('User changed the category of a post with custom post type', 'wp-security-audit-log'), __('Changed the category(ies) of custom post %PostTitle% of type %PostType% from %OldCategories% to %NewCategories%', 'wp-security-audit-log')),
|
91 |
+
array(2037, E_NOTICE, __('User changed the URL of a post with custom post type', 'wp-security-audit-log'), __('Changed the URL of custom post %PostTitle% of type %PostType% from %OldUrl% to %NewUrl%', 'wp-security-audit-log')),
|
92 |
+
array(2038, E_NOTICE, __('User changed the author or post with custom post type', 'wp-security-audit-log'), __('Changed the author of custom post %PostTitle% of type %PostType% from %OldAuthor% to %NewAuthor%', 'wp-security-audit-log')),
|
93 |
+
array(2039, E_NOTICE, __('User changed the status of post with custom post type', 'wp-security-audit-log'), __('Changed the status of custom post %PostTitle% of type %PostType% from %OldStatus% to %NewStatus%', 'wp-security-audit-log')),
|
94 |
+
array(2040, E_WARNING, __('User changed the visibility of a post with custom post type', 'wp-security-audit-log'), __('Changed the visibility of custom post %PostTitle% of type %PostType% from %OldVisibility% to %NewVisibility%', 'wp-security-audit-log')),
|
95 |
+
array(2041, E_NOTICE, __('User changed the date of post with custom post type', 'wp-security-audit-log'), __('Changed the date of custom post %PostTitle% of type %PostType% from %OldDate% to %NewDate%', 'wp-security-audit-log')),
|
96 |
+
),
|
97 |
+
__('Widgets', 'wp-security-audit-log') => array(
|
98 |
+
array(2042, E_CRITICAL, __('User added a new widget', 'wp-security-audit-log'), __('Added a new %WidgetName% widget in %Sidebar%', 'wp-security-audit-log')),
|
99 |
+
array(2043, E_WARNING, __('User modified a widget', 'wp-security-audit-log'), __('Modified the %WidgetName% widget in %Sidebar%', 'wp-security-audit-log')),
|
100 |
+
array(2044, E_CRITICAL, __('User deleted widget', 'wp-security-audit-log'), __('Deleted the %WidgetName% widget from %Sidebar%', 'wp-security-audit-log')),
|
101 |
+
array(2045, E_NOTICE, __('User moved widget', 'wp-security-audit-log'), __('Moved the %WidgetName% widget from %OldSidebar% to %NewSidebar%', 'wp-security-audit-log')),
|
102 |
+
),
|
103 |
+
__('User Profiles', 'wp-security-audit-log') => array(
|
104 |
+
array(4000, E_CRITICAL, __('A new user was created on WordPress', 'wp-security-audit-log'), __('User %NewUserData->Username% subscribed with a role of %NewUserData->Roles%', 'wp-security-audit-log')),
|
105 |
+
array(4001, E_CRITICAL, __('A user created another WordPress user', 'wp-security-audit-log'), __('Created a new user %NewUserData->Username% with the role of %NewUserData->Roles%', 'wp-security-audit-log')),
|
106 |
+
array(4002, E_CRITICAL, __('The role of a user was changed by another WordPress user', 'wp-security-audit-log'), __('Changed the role of user %TargetUsername% from %OldRole% to %NewRole%', 'wp-security-audit-log')),
|
107 |
+
array(4003, E_CRITICAL, __('User has changed his or her password', 'wp-security-audit-log'), __('Changed the password', 'wp-security-audit-log')),
|
108 |
+
array(4004, E_CRITICAL, __('A user changed another user\'s password', 'wp-security-audit-log'), __('Changed the password for user %TargetUserData->Username% with the role of %TargetUserData->Roles%', 'wp-security-audit-log')),
|
109 |
+
array(4005, E_NOTICE, __('User changed his or her email address', 'wp-security-audit-log'), __('Changed the email address from %OldEmail% to %NewEmail%', 'wp-security-audit-log')),
|
110 |
+
array(4006, E_NOTICE, __('A user changed another user\'s email address', 'wp-security-audit-log'), __('Changed the email address of user account %TargetUsername% from %OldEmail% to %NewEmail%', 'wp-security-audit-log')),
|
111 |
+
array(4007, E_CRITICAL, __('A user was deleted by another user', 'wp-security-audit-log'), __('Deleted User %TargetUserData->Username% with the role of %TargetUserData->Roles%', 'wp-security-audit-log')),
|
112 |
+
),
|
113 |
+
__('Plugins & Themes', 'wp-security-audit-log') => array(
|
114 |
+
array(5000, E_CRITICAL, __('User installed a plugin', 'wp-security-audit-log'), __('Installed the plugin %Plugin->Name% in %Plugin->plugin_dir_path%', 'wp-security-audit-log')),
|
115 |
+
array(5001, E_CRITICAL, __('User activated a WordPress plugin', 'wp-security-audit-log'), __('Activated the plugin %PluginData->Name% installed in %PluginFile%', 'wp-security-audit-log')),
|
116 |
+
array(5002, E_CRITICAL, __('User deactivated a WordPress plugin', 'wp-security-audit-log'), __('Deactivated the plugin %PluginData->Name% installed in %PluginFile%', 'wp-security-audit-log')),
|
117 |
+
array(5003, E_CRITICAL, __('User uninstalled a plugin', 'wp-security-audit-log'), __('Uninstalled the plugin %PluginData->Name% which was installed in %PluginFile%', 'wp-security-audit-log')),
|
118 |
+
array(5004, E_WARNING, __('User upgraded a plugin', 'wp-security-audit-log'), __('Upgraded the plugin %PluginData->Name% installed in %PluginFile%', 'wp-security-audit-log')),
|
119 |
+
array(5005, E_CRITICAL, __('User installed a theme', 'wp-security-audit-log'), __('Installed theme "%Theme->Name%" in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
120 |
+
array(5006, E_CRITICAL, __('User activated a theme', 'wp-security-audit-log'), __('Activated theme "%Theme->Name%", installed in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
121 |
+
array(5007, E_CRITICAL, __('User uninstalled a theme', 'wp-security-audit-log'), __('Deleted theme "%Theme->Name%" installed in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
122 |
+
),
|
123 |
+
__('System Activity', 'wp-security-audit-log') => array(
|
124 |
+
array(0000, E_CRITICAL, __('Unknown Error', 'wp-security-audit-log'), __('An unexpected error has occurred', 'wp-security-audit-log')),
|
125 |
+
array(0001, E_CRITICAL, __('PHP error', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
126 |
+
array(0002, E_WARNING, __('PHP warning', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
127 |
+
array(0003, E_NOTICE, __('PHP notice', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
128 |
+
array(0004, E_CRITICAL, __('PHP exception', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
129 |
+
array(0005, E_CRITICAL, __('PHP shutdown error', 'wp-security-audit-log'), __('%Message%', 'wp-security-audit-log')),
|
130 |
+
array(6000, E_NOTICE, __('Events automatically pruned by system', 'wp-security-audit-log'), __('%EventCount% event(s) automatically deleted by system', 'wp-security-audit-log')),
|
131 |
+
array(6001, E_CRITICAL, __('Option Anyone Can Register in WordPress settings changed', 'wp-security-audit-log'), __('%NewValue% the option "Anyone can register"', 'wp-security-audit-log')),
|
132 |
+
array(6002, E_CRITICAL, __('New User Default Role changed', 'wp-security-audit-log'), __('Changed the New User Default Role from %OldRole% to %NewRole%', 'wp-security-audit-log')),
|
133 |
+
array(6003, E_CRITICAL, __('WordPress Administrator Notification email changed', 'wp-security-audit-log'), __('Changed the WordPress administrator notifications email address from %OldEmail% to %NewEmail%', 'wp-security-audit-log')),
|
134 |
+
array(6004, E_CRITICAL, __('WordPress was updated', 'wp-security-audit-log'), __('Updated WordPress from version %OldVersion% to %NewVersion%', 'wp-security-audit-log')),
|
135 |
+
array(6005, E_CRITICAL, __('User changes the WordPress Permalinks', 'wp-security-audit-log'), __('Changed the WordPress permalinks from %OldPattern% to %NewPattern%', 'wp-security-audit-log')),
|
136 |
+
),
|
137 |
+
__('MultiSite', 'wp-security-audit-log') => array(
|
138 |
+
array(4008, E_CRITICAL, __('User granted Super Admin privileges', 'wp-security-audit-log'), __('Granted Super Admin privileges to %TargetUsername%', 'wp-security-audit-log')),
|
139 |
+
array(4009, E_CRITICAL, __('User revoked from Super Admin privileges', 'wp-security-audit-log'), __('Revoked Super Admin privileges from %TargetUsername%', 'wp-security-audit-log')),
|
140 |
+
array(4010, E_CRITICAL, __('Existing user added to a site', 'wp-security-audit-log'), __('Added existing user %TargetUsername% with %TargetUserRole% role to site %SiteName%', 'wp-security-audit-log')),
|
141 |
+
array(4011, E_CRITICAL, __('User removed from site', 'wp-security-audit-log'), __('Removed user %TargetUsername% with role %TargetUserRole% from %SiteName% site', 'wp-security-audit-log')),
|
142 |
+
array(4012, E_CRITICAL, __('New network user created', 'wp-security-audit-log'), __('Created a new network user %NewUserData->Username%', 'wp-security-audit-log')),
|
143 |
+
array(7000, E_CRITICAL, __('New site added on network', 'wp-security-audit-log'), __('Added site %SiteName% to the network', 'wp-security-audit-log')),
|
144 |
+
array(7001, E_CRITICAL, __('Existing site archived', 'wp-security-audit-log'), __('Archived site %SiteName%', 'wp-security-audit-log')),
|
145 |
+
array(7002, E_CRITICAL, __('Archived site has been unarchived', 'wp-security-audit-log'), __('Unarchived site %SiteName%', 'wp-security-audit-log')),
|
146 |
+
array(7003, E_CRITICAL, __('Deactivated site has been activated', 'wp-security-audit-log'), __('Activated site %SiteName%', 'wp-security-audit-log')),
|
147 |
+
array(7004, E_CRITICAL, __('Site has been deactivated', 'wp-security-audit-log'), __('Deactivated site %SiteName%', 'wp-security-audit-log')),
|
148 |
+
array(7005, E_CRITICAL, __('Existing site deleted from network', 'wp-security-audit-log'), __('Deleted site %SiteName%', 'wp-security-audit-log')),
|
149 |
+
array(5008, E_CRITICAL, __('Activated theme on network', 'wp-security-audit-log'), __('Network activated %Theme->Name% theme installed in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
150 |
+
array(5009, E_CRITICAL, __('Deactivated theme from network', 'wp-security-audit-log'), __('Network deactivated %Theme->Name% theme installed in %Theme->get_template_directory%', 'wp-security-audit-log')),
|
151 |
+
),
|
152 |
+
));
|
153 |
+
}
|
154 |
+
add_action('wsal_init', 'wsaldefaults_wsal_init');
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wp-security-audit-log-de_DE.mo
ADDED
Binary file
|
languages/wp-security-audit-log-it_IT.mo
ADDED
Binary file
|
languages/wp-security-audit-log.pot
ADDED
@@ -0,0 +1,1456 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2014 WP Security Audit Log
|
2 |
+
# This file is distributed under the same license as the WP Security Audit Log package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: WP Security Audit Log 1.2.2\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-security-audit-log\n"
|
7 |
+
"POT-Creation-Date: 2014-07-16 09:23:29+00:00\n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
|
12 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
+
|
15 |
+
#: classes/Sensors/Content.php:326 classes/Sensors/Content.php:334
|
16 |
+
msgid "Password Protected"
|
17 |
+
msgstr ""
|
18 |
+
|
19 |
+
#: classes/Sensors/Content.php:328 classes/Sensors/Content.php:336
|
20 |
+
msgid "Public"
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#: classes/Sensors/Content.php:330 classes/Sensors/Content.php:338
|
24 |
+
msgid "Private"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: classes/Views/About.php:6
|
28 |
+
msgid "About WP Security Audit Log"
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: classes/Views/About.php:14
|
32 |
+
msgid "About"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: classes/Views/About.php:28
|
36 |
+
msgid ""
|
37 |
+
"WP Security Audit Log enables WordPress administrators and owners to "
|
38 |
+
"identify WordPress security issues before they become a security problem by "
|
39 |
+
"keeping a security audit log. WP Security Audit Log is developed by "
|
40 |
+
"WordPress security professionals WP White Security."
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: classes/Views/About.php:30
|
44 |
+
msgid ""
|
45 |
+
"Keep A WordPress Security Audit Log & Identify WordPress Security Issues"
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
#: classes/Views/About.php:32
|
49 |
+
msgid ""
|
50 |
+
"WP Security Audit Log logs everything happening on your WordPress blog or "
|
51 |
+
"website and WordPress multisite network. By using WP Security Audit Log "
|
52 |
+
"security plugin it is very easy to track suspicious user activity before it "
|
53 |
+
"becomes a problem or a security issue. A WordPress security alert is "
|
54 |
+
"generated by the plugin when:"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: classes/Views/About.php:35
|
58 |
+
msgid "User creates a new user or a new user is registered"
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: classes/Views/About.php:36
|
62 |
+
msgid ""
|
63 |
+
"Existing user changes the role, password or other properties of another user"
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: classes/Views/About.php:37
|
67 |
+
msgid "Existing user on a WordPress multisite network is added to a site"
|
68 |
+
msgstr ""
|
69 |
+
|
70 |
+
#: classes/Views/About.php:38
|
71 |
+
msgid "User uploads or deletes a file, changes a password or email address"
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
#: classes/Views/About.php:39
|
75 |
+
msgid "User installs, activates, deactivates, upgrades or uninstalls a plugin"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: classes/Views/About.php:40
|
79 |
+
msgid ""
|
80 |
+
"User creates, modifies or deletes a new post, page, category or a custom "
|
81 |
+
"post type"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: classes/Views/About.php:41
|
85 |
+
msgid "User installs or activates a WordPress theme"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: classes/Views/About.php:42
|
89 |
+
msgid "User adds, modifies or deletes a widget"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: classes/Views/About.php:43
|
93 |
+
msgid "User uses the dashboard file editor"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: classes/Views/About.php:44
|
97 |
+
msgid "WordPress settings are changed"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: classes/Views/About.php:45
|
101 |
+
msgid "Failed login attempts"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: classes/Views/About.php:46
|
105 |
+
msgid "and much more…"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: classes/Views/About.php:56 classes/Views/Help.php:80
|
109 |
+
msgid "WP Password Policy Manager"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: classes/Views/About.php:59 classes/Views/Help.php:83
|
113 |
+
msgid ""
|
114 |
+
"Easily configure WordPress password policies and ensure users use strong "
|
115 |
+
"passwords with our plugin WP Password Policy Manager."
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: classes/Views/About.php:61 classes/Views/Help.php:85
|
119 |
+
msgid "Download"
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: classes/Views/About.php:65 classes/Views/Help.php:89
|
123 |
+
msgid "WP Security Audit Log in your Language!"
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
#: classes/Views/About.php:67 classes/Views/Help.php:91
|
127 |
+
msgid ""
|
128 |
+
"If you are interested in translating our plugin please drop us an email on"
|
129 |
+
msgstr ""
|
130 |
+
|
131 |
+
#: classes/Views/About.php:72
|
132 |
+
msgid "WordPress Security Services"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: classes/Views/About.php:74
|
136 |
+
msgid "Professional WordPress security services provided by WP White Security"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: classes/Views/AuditLog.php:21 classes/Views/AuditLog.php:31
|
140 |
+
msgid "Audit Log Viewer"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: classes/Views/AuditLog.php:40 classes/Views/Settings.php:67
|
144 |
+
#: classes/Views/ToggleAlerts.php:29
|
145 |
+
msgid "You do not have sufficient permissions to access this page."
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#: classes/Views/AuditLog.php:55
|
149 |
+
msgid "Please enter the number of alerts you would like to see on one page:"
|
150 |
+
msgstr ""
|
151 |
+
|
152 |
+
#: classes/Views/AuditLog.php:56 classes/Views/AuditLog.php:224
|
153 |
+
msgid "All Sites"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
#: classes/Views/AuditLog.php:57
|
157 |
+
msgid "No Results"
|
158 |
+
msgstr ""
|
159 |
+
|
160 |
+
#: classes/Views/AuditLog.php:189
|
161 |
+
msgid "No events so far."
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: classes/Views/AuditLog.php:194
|
165 |
+
msgid "Other"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#: classes/Views/AuditLog.php:201
|
169 |
+
msgid "Show "
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: classes/Views/AuditLog.php:211
|
173 |
+
msgid " Items"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: classes/Views/AuditLog.php:273 classes/Views/ToggleAlerts.php:66
|
177 |
+
msgid "Code"
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
#: classes/Views/AuditLog.php:274 classes/Views/ToggleAlerts.php:67
|
181 |
+
msgid "Type"
|
182 |
+
msgstr ""
|
183 |
+
|
184 |
+
#: classes/Views/AuditLog.php:275
|
185 |
+
msgid "Date"
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
#: classes/Views/AuditLog.php:276
|
189 |
+
msgid "Username"
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
+
#: classes/Views/AuditLog.php:277
|
193 |
+
msgid "Source IP"
|
194 |
+
msgstr ""
|
195 |
+
|
196 |
+
#: classes/Views/AuditLog.php:280
|
197 |
+
msgid "Site"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
#: classes/Views/AuditLog.php:282
|
201 |
+
msgid "Message"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: classes/Views/AuditLog.php:311
|
205 |
+
msgid "Click to toggle."
|
206 |
+
msgstr ""
|
207 |
+
|
208 |
+
#: classes/Views/AuditLog.php:317
|
209 |
+
msgid "Unknown error code."
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: classes/Views/AuditLog.php:338 classes/Views/AuditLog.php:341
|
213 |
+
msgid "Unknown"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: classes/Views/AuditLog.php:342
|
217 |
+
msgid "System"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: classes/Views/AuditLog.php:355
|
221 |
+
msgid "Alert Data Inspector"
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
#: classes/Views/Help.php:6 classes/Views/Help.php:14
|
225 |
+
#: classes/Views/Help.php:25
|
226 |
+
msgid "Help"
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: classes/Views/Help.php:28
|
230 |
+
msgid "Plugin Support"
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: classes/Views/Help.php:30
|
234 |
+
msgid ""
|
235 |
+
"Have you encountered or noticed any issues while using WP Security Audit Log "
|
236 |
+
"plugin?"
|
237 |
+
msgstr ""
|
238 |
+
|
239 |
+
#: classes/Views/Help.php:31
|
240 |
+
msgid ""
|
241 |
+
"Or you want to report something to us? Click any of the options below to "
|
242 |
+
"post on the plugin's forum or contact our support directly."
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#: classes/Views/Help.php:33
|
246 |
+
msgid "Free Support Forum"
|
247 |
+
msgstr ""
|
248 |
+
|
249 |
+
#: classes/Views/Help.php:35
|
250 |
+
msgid "Free Support Email"
|
251 |
+
msgstr ""
|
252 |
+
|
253 |
+
#: classes/Views/Help.php:40
|
254 |
+
msgid "Plugin Documentation"
|
255 |
+
msgstr ""
|
256 |
+
|
257 |
+
#: classes/Views/Help.php:42
|
258 |
+
msgid ""
|
259 |
+
"For more detailed information about WP Security Audit Log you can visit the "
|
260 |
+
"official plugin page."
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
+
#: classes/Views/Help.php:43
|
264 |
+
msgid ""
|
265 |
+
"You can also visit the official list of WordPress Security Alerts for more "
|
266 |
+
"information about all of the activity you can monitor with WP Security Audit "
|
267 |
+
"Log."
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
+
#: classes/Views/Help.php:45
|
271 |
+
msgid "Official Plugin Page"
|
272 |
+
msgstr ""
|
273 |
+
|
274 |
+
#: classes/Views/Help.php:47
|
275 |
+
msgid "List of WordPress Security Alerts"
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: classes/Views/Help.php:52
|
279 |
+
msgid "Need Help Securing WordPress?"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: classes/Views/Help.php:54
|
283 |
+
msgid "Is your WordPress website hackable?"
|
284 |
+
msgstr ""
|
285 |
+
|
286 |
+
#: classes/Views/Help.php:55
|
287 |
+
msgid ""
|
288 |
+
"If you are not sure contact our WordPress security professionals to audit "
|
289 |
+
"your WordPress or to simply secure your WordPress website."
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: classes/Views/Help.php:56
|
293 |
+
msgid "Click on any of the below service buttons for more information."
|
294 |
+
msgstr ""
|
295 |
+
|
296 |
+
#: classes/Views/Help.php:58
|
297 |
+
msgid "WordPress Security Hardening"
|
298 |
+
msgstr ""
|
299 |
+
|
300 |
+
#: classes/Views/Help.php:60
|
301 |
+
msgid "WordPress Security Audit"
|
302 |
+
msgstr ""
|
303 |
+
|
304 |
+
#: classes/Views/Help.php:65
|
305 |
+
msgid "WordPress Security Readings"
|
306 |
+
msgstr ""
|
307 |
+
|
308 |
+
#: classes/Views/Help.php:67
|
309 |
+
msgid "New to WordPress security?"
|
310 |
+
msgstr ""
|
311 |
+
|
312 |
+
#: classes/Views/Help.php:68
|
313 |
+
msgid "Do not know from where to start or which is the best services for you?"
|
314 |
+
msgstr ""
|
315 |
+
|
316 |
+
#: classes/Views/Help.php:69
|
317 |
+
msgid ""
|
318 |
+
"Visit our WordPress security blog or the WordPress Security category "
|
319 |
+
"directly for more information and a number of tips and tricks about "
|
320 |
+
"WordPress security."
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
+
#: classes/Views/Help.php:71
|
324 |
+
msgid "WP White Security Blog"
|
325 |
+
msgstr ""
|
326 |
+
|
327 |
+
#: classes/Views/Help.php:73
|
328 |
+
msgid "WordPress Security Category"
|
329 |
+
msgstr ""
|
330 |
+
|
331 |
+
#: classes/Views/Sandbox.php:11 classes/Views/Sandbox.php:19
|
332 |
+
#: classes/Views/Settings.php:231
|
333 |
+
msgid "Sandbox"
|
334 |
+
msgstr ""
|
335 |
+
|
336 |
+
#: classes/Views/Sandbox.php:191
|
337 |
+
msgid "Ready."
|
338 |
+
msgstr ""
|
339 |
+
|
340 |
+
#: classes/Views/Settings.php:15 classes/Views/Settings.php:23
|
341 |
+
msgid "Settings"
|
342 |
+
msgstr ""
|
343 |
+
|
344 |
+
#: classes/Views/Settings.php:72 classes/Views/ToggleAlerts.php:43
|
345 |
+
msgid "Settings have been saved."
|
346 |
+
msgstr ""
|
347 |
+
|
348 |
+
#: classes/Views/Settings.php:74 classes/Views/ToggleAlerts.php:45
|
349 |
+
msgid "Error: "
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: classes/Views/Settings.php:84
|
353 |
+
msgid "Security Alerts Pruning"
|
354 |
+
msgstr ""
|
355 |
+
|
356 |
+
#: classes/Views/Settings.php:87
|
357 |
+
msgid "(eg: 1 month)"
|
358 |
+
msgstr ""
|
359 |
+
|
360 |
+
#: classes/Views/Settings.php:92
|
361 |
+
msgid "Delete alerts older than"
|
362 |
+
msgstr ""
|
363 |
+
|
364 |
+
#: classes/Views/Settings.php:104
|
365 |
+
msgid "(eg: 80)"
|
366 |
+
msgstr ""
|
367 |
+
|
368 |
+
#: classes/Views/Settings.php:109
|
369 |
+
msgid "Keep up to"
|
370 |
+
msgstr ""
|
371 |
+
|
372 |
+
#: classes/Views/Settings.php:113
|
373 |
+
msgid "alerts"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: classes/Views/Settings.php:119
|
377 |
+
msgid "Alerts Dashboard Widget"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: classes/Views/Settings.php:125
|
381 |
+
msgid "On"
|
382 |
+
msgstr ""
|
383 |
+
|
384 |
+
#: classes/Views/Settings.php:130
|
385 |
+
msgid "Off"
|
386 |
+
msgstr ""
|
387 |
+
|
388 |
+
#: classes/Views/Settings.php:135
|
389 |
+
msgid "Display a dashboard widget with the latest %d security alerts."
|
390 |
+
msgstr ""
|
391 |
+
|
392 |
+
#: classes/Views/Settings.php:143
|
393 |
+
msgid "Can View Alerts"
|
394 |
+
msgstr ""
|
395 |
+
|
396 |
+
#: classes/Views/Settings.php:150
|
397 |
+
msgid "Users and Roles in this list can view the security alerts"
|
398 |
+
msgstr ""
|
399 |
+
|
400 |
+
#: classes/Views/Settings.php:165
|
401 |
+
msgid "Can Manage Plugin"
|
402 |
+
msgstr ""
|
403 |
+
|
404 |
+
#: classes/Views/Settings.php:172
|
405 |
+
msgid "Users and Roles in this list can manage the plugin settings"
|
406 |
+
msgstr ""
|
407 |
+
|
408 |
+
#: classes/Views/Settings.php:187
|
409 |
+
msgid "Refresh Audit View"
|
410 |
+
msgstr ""
|
411 |
+
|
412 |
+
#: classes/Views/Settings.php:193
|
413 |
+
msgid "Automatic"
|
414 |
+
msgstr ""
|
415 |
+
|
416 |
+
#: classes/Views/Settings.php:195
|
417 |
+
msgid "Refresh Audit View as soon as there are new events."
|
418 |
+
msgstr ""
|
419 |
+
|
420 |
+
#: classes/Views/Settings.php:199
|
421 |
+
msgid "Manual"
|
422 |
+
msgstr ""
|
423 |
+
|
424 |
+
#: classes/Views/Settings.php:201
|
425 |
+
msgid "Refresh Audit View only when page is reloaded."
|
426 |
+
msgstr ""
|
427 |
+
|
428 |
+
#: classes/Views/Settings.php:207
|
429 |
+
msgid "Developer Options"
|
430 |
+
msgstr ""
|
431 |
+
|
432 |
+
#: classes/Views/Settings.php:215
|
433 |
+
msgid ""
|
434 |
+
"Enabling any of the settings below may cause unintended side-effects "
|
435 |
+
"including degraded performance.<br/>Only enable these options if you know "
|
436 |
+
"what you are doing."
|
437 |
+
msgstr ""
|
438 |
+
|
439 |
+
#: classes/Views/Settings.php:219
|
440 |
+
msgid "Data Inspector"
|
441 |
+
msgstr ""
|
442 |
+
|
443 |
+
#: classes/Views/Settings.php:220
|
444 |
+
msgid "View data logged for each triggered alert."
|
445 |
+
msgstr ""
|
446 |
+
|
447 |
+
#: classes/Views/Settings.php:223
|
448 |
+
msgid "PHP Errors"
|
449 |
+
msgstr ""
|
450 |
+
|
451 |
+
#: classes/Views/Settings.php:224
|
452 |
+
msgid "Enables sensor for alerts generated from PHP."
|
453 |
+
msgstr ""
|
454 |
+
|
455 |
+
#: classes/Views/Settings.php:227
|
456 |
+
msgid "Request Log"
|
457 |
+
msgstr ""
|
458 |
+
|
459 |
+
#: classes/Views/Settings.php:228
|
460 |
+
msgid "Enables logging request to file."
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
#: classes/Views/Settings.php:232
|
464 |
+
msgid "Enables sandbox for testing PHP code."
|
465 |
+
msgstr ""
|
466 |
+
|
467 |
+
#: classes/Views/Settings.php:235
|
468 |
+
msgid "Backtrace"
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: classes/Views/Settings.php:236
|
472 |
+
msgid "Log full backtrace for PHP-generated alerts."
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: classes/Views/Settings.php:254
|
476 |
+
msgid "Hide Plugin from Plugins Page"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: classes/Views/Settings.php:260
|
480 |
+
msgid "Hide"
|
481 |
+
msgstr ""
|
482 |
+
|
483 |
+
#: classes/Views/ToggleAlerts.php:6 classes/Views/ToggleAlerts.php:14
|
484 |
+
msgid "Enable/Disable Alerts"
|
485 |
+
msgstr ""
|
486 |
+
|
487 |
+
#: classes/Views/ToggleAlerts.php:68 classes/WidgetManager.php:38
|
488 |
+
msgid "Description"
|
489 |
+
msgstr ""
|
490 |
+
|
491 |
+
#: classes/Views/ToggleAlerts.php:76
|
492 |
+
msgid "Not Implemented"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#: classes/Views/ToggleAlerts.php:79
|
496 |
+
msgid "Not Available"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#: classes/Views/ToggleAlerts.php:93
|
500 |
+
msgid "Save Changes"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#: classes/WidgetManager.php:19
|
504 |
+
msgid "Latest Alerts"
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
#: classes/WidgetManager.php:32
|
508 |
+
msgid "No alerts found."
|
509 |
+
msgstr ""
|
510 |
+
|
511 |
+
#: classes/WidgetManager.php:37
|
512 |
+
msgid "User"
|
513 |
+
msgstr ""
|
514 |
+
|
515 |
+
#: defaults.php:16
|
516 |
+
msgid "Fatal run-time error."
|
517 |
+
msgstr ""
|
518 |
+
|
519 |
+
#: defaults.php:17
|
520 |
+
msgid "Run-time warning (non-fatal error)."
|
521 |
+
msgstr ""
|
522 |
+
|
523 |
+
#: defaults.php:18
|
524 |
+
msgid "Compile-time parse error."
|
525 |
+
msgstr ""
|
526 |
+
|
527 |
+
#: defaults.php:19
|
528 |
+
msgid "Run-time notice."
|
529 |
+
msgstr ""
|
530 |
+
|
531 |
+
#: defaults.php:20
|
532 |
+
msgid "Fatal error that occurred during startup."
|
533 |
+
msgstr ""
|
534 |
+
|
535 |
+
#: defaults.php:21
|
536 |
+
msgid "Warnings that occurred during startup."
|
537 |
+
msgstr ""
|
538 |
+
|
539 |
+
#: defaults.php:22
|
540 |
+
msgid "Fatal compile-time error."
|
541 |
+
msgstr ""
|
542 |
+
|
543 |
+
#: defaults.php:23
|
544 |
+
msgid "Compile-time warning."
|
545 |
+
msgstr ""
|
546 |
+
|
547 |
+
#: defaults.php:24
|
548 |
+
msgid "User-generated error message."
|
549 |
+
msgstr ""
|
550 |
+
|
551 |
+
#: defaults.php:25
|
552 |
+
msgid "User-generated warning message."
|
553 |
+
msgstr ""
|
554 |
+
|
555 |
+
#: defaults.php:26
|
556 |
+
msgid "User-generated notice message. "
|
557 |
+
msgstr ""
|
558 |
+
|
559 |
+
#: defaults.php:27
|
560 |
+
msgid "Non-standard/optimal code warning."
|
561 |
+
msgstr ""
|
562 |
+
|
563 |
+
#: defaults.php:28
|
564 |
+
msgid "Catchable fatal error."
|
565 |
+
msgstr ""
|
566 |
+
|
567 |
+
#: defaults.php:29
|
568 |
+
msgid "Run-time deprecation notices."
|
569 |
+
msgstr ""
|
570 |
+
|
571 |
+
#: defaults.php:30
|
572 |
+
msgid "Run-time user deprecation notices."
|
573 |
+
msgstr ""
|
574 |
+
|
575 |
+
#: defaults.php:32
|
576 |
+
msgid "Critical, high-impact messages."
|
577 |
+
msgstr ""
|
578 |
+
|
579 |
+
#: defaults.php:33
|
580 |
+
msgid "Debug informational messages."
|
581 |
+
msgstr ""
|
582 |
+
|
583 |
+
#: defaults.php:38
|
584 |
+
msgid "Other User Activity"
|
585 |
+
msgstr ""
|
586 |
+
|
587 |
+
#: defaults.php:39
|
588 |
+
msgid "User logs in"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: defaults.php:39
|
592 |
+
msgid "Successfully logged in"
|
593 |
+
msgstr ""
|
594 |
+
|
595 |
+
#: defaults.php:40
|
596 |
+
msgid "User logs out"
|
597 |
+
msgstr ""
|
598 |
+
|
599 |
+
#: defaults.php:40
|
600 |
+
msgid "Successfully logged out"
|
601 |
+
msgstr ""
|
602 |
+
|
603 |
+
#: defaults.php:41
|
604 |
+
msgid "Login failed"
|
605 |
+
msgstr ""
|
606 |
+
|
607 |
+
#: defaults.php:41
|
608 |
+
msgid "%Attempts% failed login(s) detected"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: defaults.php:42
|
612 |
+
msgid "User uploaded file from Uploads directory"
|
613 |
+
msgstr ""
|
614 |
+
|
615 |
+
#: defaults.php:42
|
616 |
+
msgid "Uploaded the file %FileName% in %FilePath%"
|
617 |
+
msgstr ""
|
618 |
+
|
619 |
+
#: defaults.php:43
|
620 |
+
msgid "User deleted file from Uploads directory"
|
621 |
+
msgstr ""
|
622 |
+
|
623 |
+
#: defaults.php:43
|
624 |
+
msgid "Deleted the file %FileName% from %FilePath%"
|
625 |
+
msgstr ""
|
626 |
+
|
627 |
+
#: defaults.php:44
|
628 |
+
msgid "User changed a file using the theme editor"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: defaults.php:44
|
632 |
+
msgid "Modified %File% with the Theme Editor"
|
633 |
+
msgstr ""
|
634 |
+
|
635 |
+
#: defaults.php:45
|
636 |
+
msgid "User changed a file using the plugin editor"
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
#: defaults.php:45
|
640 |
+
msgid "Modified %File% with the Plugin Editor"
|
641 |
+
msgstr ""
|
642 |
+
|
643 |
+
#: defaults.php:47
|
644 |
+
msgid "Blog Posts"
|
645 |
+
msgstr ""
|
646 |
+
|
647 |
+
#: defaults.php:48
|
648 |
+
msgid "User created a new blog post and saved it as draft"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: defaults.php:48
|
652 |
+
msgid "Created a new blog post called %PostTitle%. Blog post ID is %PostID%"
|
653 |
+
msgstr ""
|
654 |
+
|
655 |
+
#: defaults.php:49
|
656 |
+
msgid "User published a blog post"
|
657 |
+
msgstr ""
|
658 |
+
|
659 |
+
#: defaults.php:49
|
660 |
+
msgid "Published a blog post called %PostTitle%. Blog post URL is %PostUrl%"
|
661 |
+
msgstr ""
|
662 |
+
|
663 |
+
#: defaults.php:50
|
664 |
+
msgid "User modified a published blog post"
|
665 |
+
msgstr ""
|
666 |
+
|
667 |
+
#: defaults.php:50
|
668 |
+
msgid ""
|
669 |
+
"Modified the published blog post %PostTitle%. Blog post URL is %PostUrl%"
|
670 |
+
msgstr ""
|
671 |
+
|
672 |
+
#: defaults.php:51
|
673 |
+
msgid "User modified a draft blog post"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: defaults.php:51
|
677 |
+
msgid "Modified the draft blog post %PostTitle%. Blog post ID is %PostID%"
|
678 |
+
msgstr ""
|
679 |
+
|
680 |
+
#: defaults.php:52
|
681 |
+
msgid "User permanently deleted a blog post from the trash"
|
682 |
+
msgstr ""
|
683 |
+
|
684 |
+
#: defaults.php:52
|
685 |
+
msgid "Deleted the post %PostTitle%. Blog post ID is %PostID%"
|
686 |
+
msgstr ""
|
687 |
+
|
688 |
+
#: defaults.php:53
|
689 |
+
msgid "User moved a blog post to the trash"
|
690 |
+
msgstr ""
|
691 |
+
|
692 |
+
#: defaults.php:53
|
693 |
+
msgid "Moved the blog post %PostTitle% to trash"
|
694 |
+
msgstr ""
|
695 |
+
|
696 |
+
#: defaults.php:54
|
697 |
+
msgid "User restored a blog post from trash"
|
698 |
+
msgstr ""
|
699 |
+
|
700 |
+
#: defaults.php:54
|
701 |
+
msgid "Restored post %PostTitle% from trash"
|
702 |
+
msgstr ""
|
703 |
+
|
704 |
+
#: defaults.php:55
|
705 |
+
msgid "User changed blog post category"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: defaults.php:55
|
709 |
+
msgid ""
|
710 |
+
"Changed the category of the post %PostTitle% from %OldCategories% to "
|
711 |
+
"%NewCategories%"
|
712 |
+
msgstr ""
|
713 |
+
|
714 |
+
#: defaults.php:56
|
715 |
+
msgid "User changed blog post URL"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: defaults.php:56
|
719 |
+
msgid "Changed the URL of the post %PostTitle% from %OldUrl% to %NewUrl%"
|
720 |
+
msgstr ""
|
721 |
+
|
722 |
+
#: defaults.php:57
|
723 |
+
msgid "User changed blog post author"
|
724 |
+
msgstr ""
|
725 |
+
|
726 |
+
#: defaults.php:57
|
727 |
+
msgid "Changed the author of %PostTitle% post from %OldAuthor% to %NewAuthor%"
|
728 |
+
msgstr ""
|
729 |
+
|
730 |
+
#: defaults.php:58
|
731 |
+
msgid "User changed blog post status"
|
732 |
+
msgstr ""
|
733 |
+
|
734 |
+
#: defaults.php:58
|
735 |
+
msgid "Changed the status of %PostTitle% post from %OldStatus% to %NewStatus%"
|
736 |
+
msgstr ""
|
737 |
+
|
738 |
+
#: defaults.php:59
|
739 |
+
msgid "User created new category"
|
740 |
+
msgstr ""
|
741 |
+
|
742 |
+
#: defaults.php:59
|
743 |
+
msgid "Created a new category called %CategoryName%"
|
744 |
+
msgstr ""
|
745 |
+
|
746 |
+
#: defaults.php:60
|
747 |
+
msgid "User deleted category"
|
748 |
+
msgstr ""
|
749 |
+
|
750 |
+
#: defaults.php:60
|
751 |
+
msgid "Deleted the %CategoryName% category"
|
752 |
+
msgstr ""
|
753 |
+
|
754 |
+
#: defaults.php:61
|
755 |
+
msgid "User changed the visibility of a blog post"
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: defaults.php:61
|
759 |
+
msgid ""
|
760 |
+
"Changed the visibility of %PostTitle% blog post from %OldVisibility% to "
|
761 |
+
"%NewVisibility%"
|
762 |
+
msgstr ""
|
763 |
+
|
764 |
+
#: defaults.php:62
|
765 |
+
msgid "User changed the date of a blog post"
|
766 |
+
msgstr ""
|
767 |
+
|
768 |
+
#: defaults.php:62
|
769 |
+
msgid "Changed the date of %PostTitle% blog post from %OldDate% to %NewDate%"
|
770 |
+
msgstr ""
|
771 |
+
|
772 |
+
#: defaults.php:63
|
773 |
+
msgid "User sets a post as sticky"
|
774 |
+
msgstr ""
|
775 |
+
|
776 |
+
#: defaults.php:63
|
777 |
+
msgid "Set the post %PostTitle% as Sticky"
|
778 |
+
msgstr ""
|
779 |
+
|
780 |
+
#: defaults.php:64
|
781 |
+
msgid "User removes post from sticky"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: defaults.php:64
|
785 |
+
msgid "Removed the post %PostTitle% from Sticky"
|
786 |
+
msgstr ""
|
787 |
+
|
788 |
+
#: defaults.php:66
|
789 |
+
msgid "Pages"
|
790 |
+
msgstr ""
|
791 |
+
|
792 |
+
#: defaults.php:67
|
793 |
+
msgid "User created a new WordPress page and saved it as draft"
|
794 |
+
msgstr ""
|
795 |
+
|
796 |
+
#: defaults.php:67
|
797 |
+
msgid "Created a new page called %PostTitle%. Page ID is %PostID%"
|
798 |
+
msgstr ""
|
799 |
+
|
800 |
+
#: defaults.php:68
|
801 |
+
msgid "User published a WorPress page"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: defaults.php:68
|
805 |
+
msgid "Published a page called %PostTitle%. Page URL is %PostUrl%"
|
806 |
+
msgstr ""
|
807 |
+
|
808 |
+
#: defaults.php:69
|
809 |
+
msgid "User modified a published WordPress page"
|
810 |
+
msgstr ""
|
811 |
+
|
812 |
+
#: defaults.php:69
|
813 |
+
msgid "Modified the published page %PostTitle%. Page URL is %PostUrl%"
|
814 |
+
msgstr ""
|
815 |
+
|
816 |
+
#: defaults.php:70
|
817 |
+
msgid "User modified a draft WordPress page"
|
818 |
+
msgstr ""
|
819 |
+
|
820 |
+
#: defaults.php:70
|
821 |
+
msgid "Modified the draft page %PostTitle%. page ID is %PostID%"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: defaults.php:71
|
825 |
+
msgid "User permanently deleted a page from the trash"
|
826 |
+
msgstr ""
|
827 |
+
|
828 |
+
#: defaults.php:71
|
829 |
+
msgid "Deleted the page %PostTitle%. Page ID is %PostID%"
|
830 |
+
msgstr ""
|
831 |
+
|
832 |
+
#: defaults.php:72
|
833 |
+
msgid "User moved WordPress page to the trash"
|
834 |
+
msgstr ""
|
835 |
+
|
836 |
+
#: defaults.php:72
|
837 |
+
msgid "Moved the page %PostTitle% to trash"
|
838 |
+
msgstr ""
|
839 |
+
|
840 |
+
#: defaults.php:73
|
841 |
+
msgid "User restored a WordPress page from trash"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: defaults.php:73
|
845 |
+
msgid "Restored page %PostTitle% from trash"
|
846 |
+
msgstr ""
|
847 |
+
|
848 |
+
#: defaults.php:74
|
849 |
+
msgid "User changed page URL"
|
850 |
+
msgstr ""
|
851 |
+
|
852 |
+
#: defaults.php:74
|
853 |
+
msgid "Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%"
|
854 |
+
msgstr ""
|
855 |
+
|
856 |
+
#: defaults.php:75
|
857 |
+
msgid "User changed page author"
|
858 |
+
msgstr ""
|
859 |
+
|
860 |
+
#: defaults.php:75
|
861 |
+
msgid "Changed the author of %PostTitle% page from %OldAuthor% to %NewAuthor%"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: defaults.php:76
|
865 |
+
msgid "User changed page status"
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: defaults.php:76
|
869 |
+
msgid "Changed the status of %PostTitle% page from %OldStatus% to %NewStatus%"
|
870 |
+
msgstr ""
|
871 |
+
|
872 |
+
#: defaults.php:77
|
873 |
+
msgid "User changed the visibility of a page post"
|
874 |
+
msgstr ""
|
875 |
+
|
876 |
+
#: defaults.php:77
|
877 |
+
msgid ""
|
878 |
+
"Changed the visibility of %PostTitle% page from %OldVisibility% to "
|
879 |
+
"%NewVisibility%"
|
880 |
+
msgstr ""
|
881 |
+
|
882 |
+
#: defaults.php:78
|
883 |
+
msgid "User changed the date of a page post"
|
884 |
+
msgstr ""
|
885 |
+
|
886 |
+
#: defaults.php:78
|
887 |
+
msgid "Changed the date of %PostTitle% page from %OldDate% to %NewDate%"
|
888 |
+
msgstr ""
|
889 |
+
|
890 |
+
#: defaults.php:79
|
891 |
+
msgid "User changed the parent of a page"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: defaults.php:79
|
895 |
+
msgid ""
|
896 |
+
"Changed the parent of %PostTitle% page from %OldParentName% to %NewParentName"
|
897 |
+
"%"
|
898 |
+
msgstr ""
|
899 |
+
|
900 |
+
#: defaults.php:80
|
901 |
+
msgid "User changes the template of a page"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: defaults.php:80
|
905 |
+
msgid ""
|
906 |
+
"Changed the template of %PostTitle% page from %OldTemplate% to %NewTemplate%"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: defaults.php:82
|
910 |
+
msgid "Custom Posts"
|
911 |
+
msgstr ""
|
912 |
+
|
913 |
+
#: defaults.php:83
|
914 |
+
msgid "User created a new post with custom post type and saved it as draft"
|
915 |
+
msgstr ""
|
916 |
+
|
917 |
+
#: defaults.php:83
|
918 |
+
msgid ""
|
919 |
+
"Created a new custom post called %PostTitle% of type %PostType%. Post ID is "
|
920 |
+
"%PostID%"
|
921 |
+
msgstr ""
|
922 |
+
|
923 |
+
#: defaults.php:84
|
924 |
+
msgid "User published a post with custom post type"
|
925 |
+
msgstr ""
|
926 |
+
|
927 |
+
#: defaults.php:84
|
928 |
+
msgid ""
|
929 |
+
"Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%"
|
930 |
+
msgstr ""
|
931 |
+
|
932 |
+
#: defaults.php:85
|
933 |
+
msgid "User modified a post with custom post type"
|
934 |
+
msgstr ""
|
935 |
+
|
936 |
+
#: defaults.php:85
|
937 |
+
msgid ""
|
938 |
+
"Modified custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%"
|
939 |
+
msgstr ""
|
940 |
+
|
941 |
+
#: defaults.php:86
|
942 |
+
msgid "User modified a draft post with custom post type"
|
943 |
+
msgstr ""
|
944 |
+
|
945 |
+
#: defaults.php:86
|
946 |
+
msgid ""
|
947 |
+
"Modified draft custom post %PostTitle% of type is %PostType%. Post URL is "
|
948 |
+
"%PostUrl%"
|
949 |
+
msgstr ""
|
950 |
+
|
951 |
+
#: defaults.php:87
|
952 |
+
msgid "User permanently deleted post with custom post type"
|
953 |
+
msgstr ""
|
954 |
+
|
955 |
+
#: defaults.php:87
|
956 |
+
msgid "Deleted custom post %PostTitle% of type %PostType%"
|
957 |
+
msgstr ""
|
958 |
+
|
959 |
+
#: defaults.php:88
|
960 |
+
msgid "User moved post with custom post type to trash"
|
961 |
+
msgstr ""
|
962 |
+
|
963 |
+
#: defaults.php:88
|
964 |
+
msgid "Moved custom post %PostTitle% to trash. Post type is %PostType%"
|
965 |
+
msgstr ""
|
966 |
+
|
967 |
+
#: defaults.php:89
|
968 |
+
msgid "User restored post with custom post type from trash"
|
969 |
+
msgstr ""
|
970 |
+
|
971 |
+
#: defaults.php:89
|
972 |
+
msgid "Restored custom post %PostTitle% of type %PostType% from trash"
|
973 |
+
msgstr ""
|
974 |
+
|
975 |
+
#: defaults.php:90
|
976 |
+
msgid "User changed the category of a post with custom post type"
|
977 |
+
msgstr ""
|
978 |
+
|
979 |
+
#: defaults.php:90
|
980 |
+
msgid ""
|
981 |
+
"Changed the category(ies) of custom post %PostTitle% of type %PostType% from "
|
982 |
+
"%OldCategories% to %NewCategories%"
|
983 |
+
msgstr ""
|
984 |
+
|
985 |
+
#: defaults.php:91
|
986 |
+
msgid "User changed the URL of a post with custom post type"
|
987 |
+
msgstr ""
|
988 |
+
|
989 |
+
#: defaults.php:91
|
990 |
+
msgid ""
|
991 |
+
"Changed the URL of custom post %PostTitle% of type %PostType% from %OldUrl% "
|
992 |
+
"to %NewUrl%"
|
993 |
+
msgstr ""
|
994 |
+
|
995 |
+
#: defaults.php:92
|
996 |
+
msgid "User changed the author or post with custom post type"
|
997 |
+
msgstr ""
|
998 |
+
|
999 |
+
#: defaults.php:92
|
1000 |
+
msgid ""
|
1001 |
+
"Changed the author of custom post %PostTitle% of type %PostType% from "
|
1002 |
+
"%OldAuthor% to %NewAuthor%"
|
1003 |
+
msgstr ""
|
1004 |
+
|
1005 |
+
#: defaults.php:93
|
1006 |
+
msgid "User changed the status of post with custom post type"
|
1007 |
+
msgstr ""
|
1008 |
+
|
1009 |
+
#: defaults.php:93
|
1010 |
+
msgid ""
|
1011 |
+
"Changed the status of custom post %PostTitle% of type %PostType% from "
|
1012 |
+
"%OldStatus% to %NewStatus%"
|
1013 |
+
msgstr ""
|
1014 |
+
|
1015 |
+
#: defaults.php:94
|
1016 |
+
msgid "User changed the visibility of a post with custom post type"
|
1017 |
+
msgstr ""
|
1018 |
+
|
1019 |
+
#: defaults.php:94
|
1020 |
+
msgid ""
|
1021 |
+
"Changed the visibility of custom post %PostTitle% of type %PostType% from "
|
1022 |
+
"%OldVisibility% to %NewVisibility%"
|
1023 |
+
msgstr ""
|
1024 |
+
|
1025 |
+
#: defaults.php:95
|
1026 |
+
msgid "User changed the date of post with custom post type"
|
1027 |
+
msgstr ""
|
1028 |
+
|
1029 |
+
#: defaults.php:95
|
1030 |
+
msgid ""
|
1031 |
+
"Changed the date of custom post %PostTitle% of type %PostType% from %OldDate"
|
1032 |
+
"% to %NewDate%"
|
1033 |
+
msgstr ""
|
1034 |
+
|
1035 |
+
#: defaults.php:97
|
1036 |
+
msgid "Widgets"
|
1037 |
+
msgstr ""
|
1038 |
+
|
1039 |
+
#: defaults.php:98
|
1040 |
+
msgid "User added a new widget"
|
1041 |
+
msgstr ""
|
1042 |
+
|
1043 |
+
#: defaults.php:98
|
1044 |
+
msgid "Added a new %WidgetName% widget in %Sidebar%"
|
1045 |
+
msgstr ""
|
1046 |
+
|
1047 |
+
#: defaults.php:99
|
1048 |
+
msgid "User modified a widget"
|
1049 |
+
msgstr ""
|
1050 |
+
|
1051 |
+
#: defaults.php:99
|
1052 |
+
msgid "Modified the %WidgetName% widget in %Sidebar%"
|
1053 |
+
msgstr ""
|
1054 |
+
|
1055 |
+
#: defaults.php:100
|
1056 |
+
msgid "User deleted widget"
|
1057 |
+
msgstr ""
|
1058 |
+
|
1059 |
+
#: defaults.php:100
|
1060 |
+
msgid "Deleted the %WidgetName% widget from %Sidebar%"
|
1061 |
+
msgstr ""
|
1062 |
+
|
1063 |
+
#: defaults.php:101
|
1064 |
+
msgid "User moved widget"
|
1065 |
+
msgstr ""
|
1066 |
+
|
1067 |
+
#: defaults.php:101
|
1068 |
+
msgid "Moved the %WidgetName% widget from %OldSidebar% to %NewSidebar%"
|
1069 |
+
msgstr ""
|
1070 |
+
|
1071 |
+
#: defaults.php:103
|
1072 |
+
msgid "User Profiles"
|
1073 |
+
msgstr ""
|
1074 |
+
|
1075 |
+
#: defaults.php:104
|
1076 |
+
msgid "A new user was created on WordPress"
|
1077 |
+
msgstr ""
|
1078 |
+
|
1079 |
+
#: defaults.php:104
|
1080 |
+
msgid ""
|
1081 |
+
"User %NewUserData->Username% subscribed with a role of %NewUserData->Roles%"
|
1082 |
+
msgstr ""
|
1083 |
+
|
1084 |
+
#: defaults.php:105
|
1085 |
+
msgid "A user created another WordPress user"
|
1086 |
+
msgstr ""
|
1087 |
+
|
1088 |
+
#: defaults.php:105
|
1089 |
+
msgid ""
|
1090 |
+
"Created a new user %NewUserData->Username% with the role of %NewUserData-"
|
1091 |
+
">Roles%"
|
1092 |
+
msgstr ""
|
1093 |
+
|
1094 |
+
#: defaults.php:106
|
1095 |
+
msgid "The role of a user was changed by another WordPress user"
|
1096 |
+
msgstr ""
|
1097 |
+
|
1098 |
+
#: defaults.php:106
|
1099 |
+
msgid "Changed the role of user %TargetUsername% from %OldRole% to %NewRole%"
|
1100 |
+
msgstr ""
|
1101 |
+
|
1102 |
+
#: defaults.php:107
|
1103 |
+
msgid "User has changed his or her password"
|
1104 |
+
msgstr ""
|
1105 |
+
|
1106 |
+
#: defaults.php:107
|
1107 |
+
msgid "Changed the password"
|
1108 |
+
msgstr ""
|
1109 |
+
|
1110 |
+
#: defaults.php:108
|
1111 |
+
msgid "A user changed another user's password"
|
1112 |
+
msgstr ""
|
1113 |
+
|
1114 |
+
#: defaults.php:108
|
1115 |
+
msgid ""
|
1116 |
+
"Changed the password for user %TargetUserData->Username% with the role of "
|
1117 |
+
"%TargetUserData->Roles%"
|
1118 |
+
msgstr ""
|
1119 |
+
|
1120 |
+
#: defaults.php:109
|
1121 |
+
msgid "User changed his or her email address"
|
1122 |
+
msgstr ""
|
1123 |
+
|
1124 |
+
#: defaults.php:109
|
1125 |
+
msgid "Changed the email address from %OldEmail% to %NewEmail%"
|
1126 |
+
msgstr ""
|
1127 |
+
|
1128 |
+
#: defaults.php:110
|
1129 |
+
msgid "A user changed another user's email address"
|
1130 |
+
msgstr ""
|
1131 |
+
|
1132 |
+
#: defaults.php:110
|
1133 |
+
msgid ""
|
1134 |
+
"Changed the email address of user account %TargetUsername% from %OldEmail% "
|
1135 |
+
"to %NewEmail%"
|
1136 |
+
msgstr ""
|
1137 |
+
|
1138 |
+
#: defaults.php:111
|
1139 |
+
msgid "A user was deleted by another user"
|
1140 |
+
msgstr ""
|
1141 |
+
|
1142 |
+
#: defaults.php:111
|
1143 |
+
msgid ""
|
1144 |
+
"Deleted User %TargetUserData->Username% with the role of %TargetUserData-"
|
1145 |
+
">Roles%"
|
1146 |
+
msgstr ""
|
1147 |
+
|
1148 |
+
#: defaults.php:113
|
1149 |
+
msgid "Plugins & Themes"
|
1150 |
+
msgstr ""
|
1151 |
+
|
1152 |
+
#: defaults.php:114
|
1153 |
+
msgid "User installed a plugin"
|
1154 |
+
msgstr ""
|
1155 |
+
|
1156 |
+
#: defaults.php:114
|
1157 |
+
msgid "Installed the plugin %Plugin->Name% in %Plugin->plugin_dir_path%"
|
1158 |
+
msgstr ""
|
1159 |
+
|
1160 |
+
#: defaults.php:115
|
1161 |
+
msgid "User activated a WordPress plugin"
|
1162 |
+
msgstr ""
|
1163 |
+
|
1164 |
+
#: defaults.php:115
|
1165 |
+
msgid "Activated the plugin %PluginData->Name% installed in %PluginFile%"
|
1166 |
+
msgstr ""
|
1167 |
+
|
1168 |
+
#: defaults.php:116
|
1169 |
+
msgid "User deactivated a WordPress plugin"
|
1170 |
+
msgstr ""
|
1171 |
+
|
1172 |
+
#: defaults.php:116
|
1173 |
+
msgid "Deactivated the plugin %PluginData->Name% installed in %PluginFile%"
|
1174 |
+
msgstr ""
|
1175 |
+
|
1176 |
+
#: defaults.php:117
|
1177 |
+
msgid "User uninstalled a plugin"
|
1178 |
+
msgstr ""
|
1179 |
+
|
1180 |
+
#: defaults.php:117
|
1181 |
+
msgid ""
|
1182 |
+
"Uninstalled the plugin %PluginData->Name% which was installed in %PluginFile%"
|
1183 |
+
msgstr ""
|
1184 |
+
|
1185 |
+
#: defaults.php:118
|
1186 |
+
msgid "User upgraded a plugin"
|
1187 |
+
msgstr ""
|
1188 |
+
|
1189 |
+
#: defaults.php:118
|
1190 |
+
msgid "Upgraded the plugin %PluginData->Name% installed in %PluginFile%"
|
1191 |
+
msgstr ""
|
1192 |
+
|
1193 |
+
#: defaults.php:119
|
1194 |
+
msgid "User installed a theme"
|
1195 |
+
msgstr ""
|
1196 |
+
|
1197 |
+
#: defaults.php:119
|
1198 |
+
msgid "Installed theme \"%Theme->Name%\" in %Theme->get_template_directory%"
|
1199 |
+
msgstr ""
|
1200 |
+
|
1201 |
+
#: defaults.php:120
|
1202 |
+
msgid "User activated a theme"
|
1203 |
+
msgstr ""
|
1204 |
+
|
1205 |
+
#: defaults.php:120
|
1206 |
+
msgid ""
|
1207 |
+
"Activated theme \"%Theme->Name%\", installed in %Theme-"
|
1208 |
+
">get_template_directory%"
|
1209 |
+
msgstr ""
|
1210 |
+
|
1211 |
+
#: defaults.php:121
|
1212 |
+
msgid "User uninstalled a theme"
|
1213 |
+
msgstr ""
|
1214 |
+
|
1215 |
+
#: defaults.php:121
|
1216 |
+
msgid ""
|
1217 |
+
"Deleted theme \"%Theme->Name%\" installed in %Theme->get_template_directory%"
|
1218 |
+
msgstr ""
|
1219 |
+
|
1220 |
+
#: defaults.php:123
|
1221 |
+
msgid "System Activity"
|
1222 |
+
msgstr ""
|
1223 |
+
|
1224 |
+
#: defaults.php:124
|
1225 |
+
msgid "Unknown Error"
|
1226 |
+
msgstr ""
|
1227 |
+
|
1228 |
+
#: defaults.php:124
|
1229 |
+
msgid "An unexpected error has occurred"
|
1230 |
+
msgstr ""
|
1231 |
+
|
1232 |
+
#: defaults.php:125
|
1233 |
+
msgid "PHP error"
|
1234 |
+
msgstr ""
|
1235 |
+
|
1236 |
+
#: defaults.php:125 defaults.php:126 defaults.php:127 defaults.php:128
|
1237 |
+
#: defaults.php:129
|
1238 |
+
msgid "%Message%"
|
1239 |
+
msgstr ""
|
1240 |
+
|
1241 |
+
#: defaults.php:126
|
1242 |
+
msgid "PHP warning"
|
1243 |
+
msgstr ""
|
1244 |
+
|
1245 |
+
#: defaults.php:127
|
1246 |
+
msgid "PHP notice"
|
1247 |
+
msgstr ""
|
1248 |
+
|
1249 |
+
#: defaults.php:128
|
1250 |
+
msgid "PHP exception"
|
1251 |
+
msgstr ""
|
1252 |
+
|
1253 |
+
#: defaults.php:129
|
1254 |
+
msgid "PHP shutdown error"
|
1255 |
+
msgstr ""
|
1256 |
+
|
1257 |
+
#: defaults.php:130
|
1258 |
+
msgid "Events automatically pruned by system"
|
1259 |
+
msgstr ""
|
1260 |
+
|
1261 |
+
#: defaults.php:130
|
1262 |
+
msgid "%EventCount% event(s) automatically deleted by system"
|
1263 |
+
msgstr ""
|
1264 |
+
|
1265 |
+
#: defaults.php:131
|
1266 |
+
msgid "Option Anyone Can Register in WordPress settings changed"
|
1267 |
+
msgstr ""
|
1268 |
+
|
1269 |
+
#: defaults.php:131
|
1270 |
+
msgid "%NewValue% the option \"Anyone can register\""
|
1271 |
+
msgstr ""
|
1272 |
+
|
1273 |
+
#: defaults.php:132
|
1274 |
+
msgid "New User Default Role changed"
|
1275 |
+
msgstr ""
|
1276 |
+
|
1277 |
+
#: defaults.php:132
|
1278 |
+
msgid "Changed the New User Default Role from %OldRole% to %NewRole%"
|
1279 |
+
msgstr ""
|
1280 |
+
|
1281 |
+
#: defaults.php:133
|
1282 |
+
msgid "WordPress Administrator Notification email changed"
|
1283 |
+
msgstr ""
|
1284 |
+
|
1285 |
+
#: defaults.php:133
|
1286 |
+
msgid ""
|
1287 |
+
"Changed the WordPress administrator notifications email address from "
|
1288 |
+
"%OldEmail% to %NewEmail%"
|
1289 |
+
msgstr ""
|
1290 |
+
|
1291 |
+
#: defaults.php:134
|
1292 |
+
msgid "WordPress was updated"
|
1293 |
+
msgstr ""
|
1294 |
+
|
1295 |
+
#: defaults.php:134
|
1296 |
+
msgid "Updated WordPress from version %OldVersion% to %NewVersion%"
|
1297 |
+
msgstr ""
|
1298 |
+
|
1299 |
+
#: defaults.php:135
|
1300 |
+
msgid "User changes the WordPress Permalinks"
|
1301 |
+
msgstr ""
|
1302 |
+
|
1303 |
+
#: defaults.php:135
|
1304 |
+
msgid "Changed the WordPress permalinks from %OldPattern% to %NewPattern%"
|
1305 |
+
msgstr ""
|
1306 |
+
|
1307 |
+
#: defaults.php:137
|
1308 |
+
msgid "MultiSite"
|
1309 |
+
msgstr ""
|
1310 |
+
|
1311 |
+
#: defaults.php:138
|
1312 |
+
msgid "User granted Super Admin privileges"
|
1313 |
+
msgstr ""
|
1314 |
+
|
1315 |
+
#: defaults.php:138
|
1316 |
+
msgid "Granted Super Admin privileges to %TargetUsername%"
|
1317 |
+
msgstr ""
|
1318 |
+
|
1319 |
+
#: defaults.php:139
|
1320 |
+
msgid "User revoked from Super Admin privileges"
|
1321 |
+
msgstr ""
|
1322 |
+
|
1323 |
+
#: defaults.php:139
|
1324 |
+
msgid "Revoked Super Admin privileges from %TargetUsername%"
|
1325 |
+
msgstr ""
|
1326 |
+
|
1327 |
+
#: defaults.php:140
|
1328 |
+
msgid "Existing user added to a site"
|
1329 |
+
msgstr ""
|
1330 |
+
|
1331 |
+
#: defaults.php:140
|
1332 |
+
msgid ""
|
1333 |
+
"Added existing user %TargetUsername% with %TargetUserRole% role to site "
|
1334 |
+
"%SiteName%"
|
1335 |
+
msgstr ""
|
1336 |
+
|
1337 |
+
#: defaults.php:141
|
1338 |
+
msgid "User removed from site"
|
1339 |
+
msgstr ""
|
1340 |
+
|
1341 |
+
#: defaults.php:141
|
1342 |
+
msgid ""
|
1343 |
+
"Removed user %TargetUsername% with role %TargetUserRole% from %SiteName% site"
|
1344 |
+
msgstr ""
|
1345 |
+
|
1346 |
+
#: defaults.php:142
|
1347 |
+
msgid "New network user created"
|
1348 |
+
msgstr ""
|
1349 |
+
|
1350 |
+
#: defaults.php:142
|
1351 |
+
msgid "Created a new network user %NewUserData->Username%"
|
1352 |
+
msgstr ""
|
1353 |
+
|
1354 |
+
#: defaults.php:143
|
1355 |
+
msgid "New site added on network"
|
1356 |
+
msgstr ""
|
1357 |
+
|
1358 |
+
#: defaults.php:143
|
1359 |
+
msgid "Added site %SiteName% to the network"
|
1360 |
+
msgstr ""
|
1361 |
+
|
1362 |
+
#: defaults.php:144
|
1363 |
+
msgid "Existing site archived"
|
1364 |
+
msgstr ""
|
1365 |
+
|
1366 |
+
#: defaults.php:144
|
1367 |
+
msgid "Archived site %SiteName%"
|
1368 |
+
msgstr ""
|
1369 |
+
|
1370 |
+
#: defaults.php:145
|
1371 |
+
msgid "Archived site has been unarchived"
|
1372 |
+
msgstr ""
|
1373 |
+
|
1374 |
+
#: defaults.php:145
|
1375 |
+
msgid "Unarchived site %SiteName%"
|
1376 |
+
msgstr ""
|
1377 |
+
|
1378 |
+
#: defaults.php:146
|
1379 |
+
msgid "Deactivated site has been activated"
|
1380 |
+
msgstr ""
|
1381 |
+
|
1382 |
+
#: defaults.php:146
|
1383 |
+
msgid "Activated site %SiteName%"
|
1384 |
+
msgstr ""
|
1385 |
+
|
1386 |
+
#: defaults.php:147
|
1387 |
+
msgid "Site has been deactivated"
|
1388 |
+
msgstr ""
|
1389 |
+
|
1390 |
+
#: defaults.php:147
|
1391 |
+
msgid "Deactivated site %SiteName%"
|
1392 |
+
msgstr ""
|
1393 |
+
|
1394 |
+
#: defaults.php:148
|
1395 |
+
msgid "Existing site deleted from network"
|
1396 |
+
msgstr ""
|
1397 |
+
|
1398 |
+
#: defaults.php:148
|
1399 |
+
msgid "Deleted site %SiteName%"
|
1400 |
+
msgstr ""
|
1401 |
+
|
1402 |
+
#: defaults.php:149
|
1403 |
+
msgid "Activated theme on network"
|
1404 |
+
msgstr ""
|
1405 |
+
|
1406 |
+
#: defaults.php:149
|
1407 |
+
msgid ""
|
1408 |
+
"Network activated %Theme->Name% theme installed in %Theme-"
|
1409 |
+
">get_template_directory%"
|
1410 |
+
msgstr ""
|
1411 |
+
|
1412 |
+
#: defaults.php:150
|
1413 |
+
msgid "Deactivated theme from network"
|
1414 |
+
msgstr ""
|
1415 |
+
|
1416 |
+
#: defaults.php:150
|
1417 |
+
msgid ""
|
1418 |
+
"Network deactivated %Theme->Name% theme installed in %Theme-"
|
1419 |
+
">get_template_directory%"
|
1420 |
+
msgstr ""
|
1421 |
+
|
1422 |
+
#: wp-security-audit-log.php:135
|
1423 |
+
msgid ""
|
1424 |
+
"You are using a version of PHP that is older than %s, which is no longer "
|
1425 |
+
"supported.<br/>Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
|
1426 |
+
"\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
|
1427 |
+
"are using."
|
1428 |
+
msgstr ""
|
1429 |
+
|
1430 |
+
#. Plugin Name of the plugin/theme
|
1431 |
+
msgid "WP Security Audit Log"
|
1432 |
+
msgstr ""
|
1433 |
+
|
1434 |
+
#. Plugin URI of the plugin/theme
|
1435 |
+
msgid ""
|
1436 |
+
"http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-"
|
1437 |
+
"log/"
|
1438 |
+
msgstr ""
|
1439 |
+
|
1440 |
+
#. Description of the plugin/theme
|
1441 |
+
msgid ""
|
1442 |
+
"Identify WordPress security issues before they become a problem and keep "
|
1443 |
+
"track of everything happening on your WordPress, including WordPress users "
|
1444 |
+
"activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit "
|
1445 |
+
"Log will generate a security alert for everything that happens on your "
|
1446 |
+
"WordPress blog or website. Use the Audit Log Viewer included in the plugin "
|
1447 |
+
"to see all the security alerts."
|
1448 |
+
msgstr ""
|
1449 |
+
|
1450 |
+
#. Author of the plugin/theme
|
1451 |
+
msgid "WP White Security"
|
1452 |
+
msgstr ""
|
1453 |
+
|
1454 |
+
#. Author URI of the plugin/theme
|
1455 |
+
msgid "http://www.wpwhitesecurity.com/"
|
1456 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -7,7 +7,7 @@ License URI: http://www.gnu.org/licenses/gpl.html
|
|
7 |
Tags: wordpress security plugin, wordpress security audit log, audit log, wordpress log, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, security audit trail, wordpress security alerts, wordpress monitor, wordpress security monitor, wordpress admin, wordpress admin monitoring, analytics, activity, admin, multisite, wordpress multisite
|
8 |
Requires at least: 3.6
|
9 |
Tested up to: 3.9.1
|
10 |
-
Stable tag: 1.2.
|
11 |
|
12 |
Identify WordPress issues before they become a security problem by keeping an audit log of users and all of the under the hood WordPress activity.
|
13 |
|
@@ -57,6 +57,9 @@ For more information about the features for WordPress Multisite network installa
|
|
57 |
= WordPress Security Audit Log in your Language! =
|
58 |
We need help translating the plugin and the WordPress Security Events. If you're good at translating, please drop us an email on plugins@wpwhitesecurity.com.
|
59 |
|
|
|
|
|
|
|
60 |
= WordPress & PHP Errors Monitoring Tools =
|
61 |
Plugins and themes customizations are most probably the norm of the day on large WordPress websites, not to mention the installation of new plugins and components. Unforunately sometimes such changes create problems and it is not always easy and possible to setup real live scenarios and replicate specific problems or bugs.
|
62 |
|
@@ -136,6 +139,21 @@ Yes, WP Security Audit Log works on WordPress Multisite networks, i.e. it can mo
|
|
136 |
|
137 |
== Changelog ==
|
138 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
= 1.2.1 (2014-07-2) =
|
140 |
* Bug Fix
|
141 |
* Fixed reported issue with ugrade (more info [here](http://wordpress.org/support/topic/errors-showing-since-120-upgrade-on-multisite-install?replies=4))
|
@@ -148,7 +166,7 @@ Yes, WP Security Audit Log works on WordPress Multisite networks, i.e. it can mo
|
|
148 |
* Alerts automatic pruning procedures can now be enabled / disabled
|
149 |
* Option to hide WP Security Audit Log from plugins page in WordPress
|
150 |
* If there are more than 15 websites in a multisite installation, an auto complete site search box is shown instead of the drop down menu
|
151 |
-
|
152 |
* New WordPress Security Alerts
|
153 |
* Alert 5007: User has uninstalled / deleted a theme
|
154 |
* Alert 5008: Super administrator network activated a theme on multisite
|
@@ -321,3 +339,4 @@ Yes, WP Security Audit Log works on WordPress Multisite networks, i.e. it can mo
|
|
321 |
= 0.1 (2013-05-24) =
|
322 |
|
323 |
* Initial beta release of WP Security Audit Log.
|
|
7 |
Tags: wordpress security plugin, wordpress security audit log, audit log, wordpress log, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, security audit trail, wordpress security alerts, wordpress monitor, wordpress security monitor, wordpress admin, wordpress admin monitoring, analytics, activity, admin, multisite, wordpress multisite
|
8 |
Requires at least: 3.6
|
9 |
Tested up to: 3.9.1
|
10 |
+
Stable tag: 1.2.2
|
11 |
|
12 |
Identify WordPress issues before they become a security problem by keeping an audit log of users and all of the under the hood WordPress activity.
|
13 |
|
57 |
= WordPress Security Audit Log in your Language! =
|
58 |
We need help translating the plugin and the WordPress Security Events. If you're good at translating, please drop us an email on plugins@wpwhitesecurity.com.
|
59 |
|
60 |
+
* Italian translation by [Leonardo Musumeci](http://leonardomusumeci.net/)
|
61 |
+
* German translation by [Mourad Louha](http://excel-translator.de)
|
62 |
+
|
63 |
= WordPress & PHP Errors Monitoring Tools =
|
64 |
Plugins and themes customizations are most probably the norm of the day on large WordPress websites, not to mention the installation of new plugins and components. Unforunately sometimes such changes create problems and it is not always easy and possible to setup real live scenarios and replicate specific problems or bugs.
|
65 |
|
139 |
|
140 |
== Changelog ==
|
141 |
|
142 |
+
= 1.2.2 (2014-07-16) =
|
143 |
+
* New Features
|
144 |
+
* Italian translation available thanks to [Leonardo Musumeci](http://leonardomusumeci.net/)
|
145 |
+
|
146 |
+
* Improvements
|
147 |
+
* Added a warning to developer options
|
148 |
+
* "Hidden" developer options from default settings. User has to click link to access developer plugins
|
149 |
+
|
150 |
+
* Bug Fixes
|
151 |
+
* Solved several issues related to translations. Now everything in the plugin is translatable
|
152 |
+
* Fixed several other issues reported by email
|
153 |
+
|
154 |
+
* Bug Fix
|
155 |
+
* Fixed reported issue with ugrade (more info [here](http://wordpress.org/support/topic/errors-showing-since-120-upgrade-on-multisite-install?replies=4))
|
156 |
+
|
157 |
= 1.2.1 (2014-07-2) =
|
158 |
* Bug Fix
|
159 |
* Fixed reported issue with ugrade (more info [here](http://wordpress.org/support/topic/errors-showing-since-120-upgrade-on-multisite-install?replies=4))
|
166 |
* Alerts automatic pruning procedures can now be enabled / disabled
|
167 |
* Option to hide WP Security Audit Log from plugins page in WordPress
|
168 |
* If there are more than 15 websites in a multisite installation, an auto complete site search box is shown instead of the drop down menu
|
169 |
+
|
170 |
* New WordPress Security Alerts
|
171 |
* Alert 5007: User has uninstalled / deleted a theme
|
172 |
* Alert 5008: Super administrator network activated a theme on multisite
|
339 |
= 0.1 (2013-05-24) =
|
340 |
|
341 |
* Initial beta release of WP Security Audit Log.
|
342 |
+
Status API Training Shop Blog About © 2014 GitHub, Inc. Terms Privacy Security Contact
|
wp-security-audit-log.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: WP Security Audit Log
|
|
4 |
Plugin URI: http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/
|
5 |
Description: Identify WordPress security issues before they become a problem and keep track of everything happening on your WordPress, including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log will generate a security alert for everything that happens on your WordPress blog or website. Use the Audit Log Viewer included in the plugin to see all the security alerts.
|
6 |
Author: WP White Security
|
7 |
-
Version: 1.2.
|
8 |
Text Domain: wp-security-audit-log
|
9 |
Author URI: http://www.wpwhitesecurity.com/
|
10 |
License: GPL2
|
@@ -105,15 +105,21 @@ class WpSecurityAuditLog {
|
|
105 |
// listen for cleanup event
|
106 |
add_action('wsal_cleanup', array($this, 'CleanUp'));
|
107 |
|
108 |
-
// internationalize plugin
|
109 |
-
add_action('plugins_loaded', array($this, 'LoadPluginTextdomain'));
|
110 |
-
|
111 |
// hide plugin
|
112 |
if($this->settings->IsIncognito())
|
113 |
add_action('admin_head', array($this, 'HidePlugin'));
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
118 |
|
119 |
public function Install(){
|
@@ -160,7 +166,6 @@ class WpSecurityAuditLog {
|
|
160 |
$auditlog = $wpdb->get_results($sql, ARRAY_A);
|
161 |
|
162 |
// migrate using db logger
|
163 |
-
$lgr = new WSAL_Loggers_Database($this);
|
164 |
foreach($auditlog as $entry){
|
165 |
$data = array(
|
166 |
'ClientIP' => $entry['UserIP'],
|
@@ -184,7 +189,9 @@ class WpSecurityAuditLog {
|
|
184 |
foreach((array)$temp as $i => $item)
|
185 |
$data['MigratedArg' . $i] = $item;
|
186 |
// send event data to logger!
|
187 |
-
$
|
|
|
|
|
188 |
}
|
189 |
|
190 |
// migrate settings
|
@@ -253,10 +260,6 @@ class WpSecurityAuditLog {
|
|
253 |
call_user_func($hook);
|
254 |
}
|
255 |
|
256 |
-
public function LoadPluginTextdomain(){
|
257 |
-
load_plugin_textdomain('wp-security-audit-log', false, $this->GetBaseDir() . 'languages/');
|
258 |
-
}
|
259 |
-
|
260 |
public function AddCleanupHook($hook){
|
261 |
$this->_cleanup_hooks[] = $hook;
|
262 |
}
|
@@ -278,14 +281,23 @@ class WpSecurityAuditLog {
|
|
278 |
return ($wpdb->get_var('SHOW TABLES LIKE "'.$table.'"') == $table);
|
279 |
}
|
280 |
|
|
|
|
|
|
|
281 |
public function GetBaseUrl(){
|
282 |
return plugins_url('', __FILE__);
|
283 |
}
|
284 |
|
|
|
|
|
|
|
285 |
public function GetBaseDir(){
|
286 |
return plugin_dir_path(__FILE__);
|
287 |
}
|
288 |
|
|
|
|
|
|
|
289 |
public function GetBaseName(){
|
290 |
return plugin_basename(__FILE__);
|
291 |
}
|
@@ -293,6 +305,8 @@ class WpSecurityAuditLog {
|
|
293 |
// </editor-fold>
|
294 |
}
|
295 |
|
|
|
|
|
296 |
// Load extra files
|
297 |
require_once('defaults.php');
|
298 |
|
4 |
Plugin URI: http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/
|
5 |
Description: Identify WordPress security issues before they become a problem and keep track of everything happening on your WordPress, including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log will generate a security alert for everything that happens on your WordPress blog or website. Use the Audit Log Viewer included in the plugin to see all the security alerts.
|
6 |
Author: WP White Security
|
7 |
+
Version: 1.2.2
|
8 |
Text Domain: wp-security-audit-log
|
9 |
Author URI: http://www.wpwhitesecurity.com/
|
10 |
License: GPL2
|
105 |
// listen for cleanup event
|
106 |
add_action('wsal_cleanup', array($this, 'CleanUp'));
|
107 |
|
|
|
|
|
|
|
108 |
// hide plugin
|
109 |
if($this->settings->IsIncognito())
|
110 |
add_action('admin_head', array($this, 'HidePlugin'));
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Load the rest of the system.
|
115 |
+
* @internal
|
116 |
+
*/
|
117 |
+
public function Load(){
|
118 |
+
// load translations
|
119 |
+
load_plugin_textdomain('wp-security-audit-log', false, basename( dirname( __FILE__ ) ) . '/languages/');
|
120 |
+
|
121 |
+
// tell the world we've just finished loading
|
122 |
+
do_action('wsal_init', $this);
|
123 |
}
|
124 |
|
125 |
public function Install(){
|
166 |
$auditlog = $wpdb->get_results($sql, ARRAY_A);
|
167 |
|
168 |
// migrate using db logger
|
|
|
169 |
foreach($auditlog as $entry){
|
170 |
$data = array(
|
171 |
'ClientIP' => $entry['UserIP'],
|
189 |
foreach((array)$temp as $i => $item)
|
190 |
$data['MigratedArg' . $i] = $item;
|
191 |
// send event data to logger!
|
192 |
+
foreach($this->alerts->GetLoggers() as $logger){
|
193 |
+
$logger->Log($type, $data, $date, $entry['BlogId'], true);
|
194 |
+
}
|
195 |
}
|
196 |
|
197 |
// migrate settings
|
260 |
call_user_func($hook);
|
261 |
}
|
262 |
|
|
|
|
|
|
|
|
|
263 |
public function AddCleanupHook($hook){
|
264 |
$this->_cleanup_hooks[] = $hook;
|
265 |
}
|
281 |
return ($wpdb->get_var('SHOW TABLES LIKE "'.$table.'"') == $table);
|
282 |
}
|
283 |
|
284 |
+
/**
|
285 |
+
* @return string Absolute URL to plugin directory WITHOUT final slash.
|
286 |
+
*/
|
287 |
public function GetBaseUrl(){
|
288 |
return plugins_url('', __FILE__);
|
289 |
}
|
290 |
|
291 |
+
/**
|
292 |
+
* @return string Full path to plugin directory WITH final slash.
|
293 |
+
*/
|
294 |
public function GetBaseDir(){
|
295 |
return plugin_dir_path(__FILE__);
|
296 |
}
|
297 |
|
298 |
+
/**
|
299 |
+
* @return string Plugin directory name.
|
300 |
+
*/
|
301 |
public function GetBaseName(){
|
302 |
return plugin_basename(__FILE__);
|
303 |
}
|
305 |
// </editor-fold>
|
306 |
}
|
307 |
|
308 |
+
add_action('plugins_loaded', array(WpSecurityAuditLog::GetInstance(), 'Load'));
|
309 |
+
|
310 |
// Load extra files
|
311 |
require_once('defaults.php');
|
312 |
|