WP Security Audit Log - Version 3.5.1

Version Description

(2019-10-22) =

  • New Features

    • Filters and sorting capabitilies added to the Severity column in the activity log viewer.
  • Improvements

    • Improved the way data is reported in some WooCommerce activity log events.
    • Added more links to the plugin documentation in the settings pages.
    • Improved the reporting of Event ID 2022 (date change), it is no longer reported with every change on draft post.
    • Improved user logout detection to detect logouts when using plugins such as Login and Logout Redirect.
  • Bug Fixes

    • Multiple events reported when a new post is saved with the Classic Editor
    • List of failed logins IP addresses not displayed properly in daily email when using outlook.
    • Fixed compatibility issue with the Newspaper news theme.
    • Removed incorrect use of parameter in add_submenu_page (credits: Chris Van Patten).
Download this release

Release Info

Developer WPWhiteSecurity
Plugin Icon 128x128 WP Security Audit Log
Version 3.5.1
Comparing to
See all releases

Code changes from version 3.5 to 3.5.1

classes/AuditLogListView.php CHANGED
@@ -382,6 +382,7 @@ class WSAL_AuditLogListView extends WP_List_Table {
382
  'crtd' => array( 'created_on', true ),
383
  'user' => array( 'user', true ),
384
  'scip' => array( 'scip', false ),
 
385
  );
386
  }
387
 
@@ -1025,6 +1026,13 @@ class WSAL_AuditLogListView extends WP_List_Table {
1025
  if ( isset( $tmp->{$order_by} ) ) {
1026
  // TODO: We used to use a custom comparator ... is it safe to let MySQL do the ordering now?.
1027
  $query->addOrderBy( $order_by, $is_descending );
 
 
 
 
 
 
 
1028
  } else {
1029
  $query->addOrderBy( 'created_on', true );
1030
  }
382
  'crtd' => array( 'created_on', true ),
383
  'user' => array( 'user', true ),
384
  'scip' => array( 'scip', false ),
385
+ 'code' => array( 'code', false ),
386
  );
387
  }
388
 
1026
  if ( isset( $tmp->{$order_by} ) ) {
1027
  // TODO: We used to use a custom comparator ... is it safe to let MySQL do the ordering now?.
1028
  $query->addOrderBy( $order_by, $is_descending );
1029
+ } elseif ( 'code' === $order_by ) {
1030
+ /*
1031
+ * Handle the 'code' (Severity) column sorting.
1032
+ */
1033
+ $query->addMetaJoin(); // Since LEFT JOIN clause causes the result values to duplicate.
1034
+ $query->addCondition( 'meta.name = %s', 'Severity' ); // A where condition is added to make sure that we're only requesting the relevant meta data rows from metadata table.
1035
+ $query->addOrderBy( 'CASE WHEN meta.name = "Severity" THEN meta.value END', $is_descending );
1036
  } else {
1037
  $query->addOrderBy( 'created_on', true );
1038
  }
classes/Sensors/Content.php CHANGED
@@ -1031,6 +1031,13 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
1031
  return 0;
1032
  }
1033
 
 
 
 
 
 
 
 
1034
  if ( $from !== $to ) {
1035
  $editor_link = $this->get_editor_link( $oldpost );
1036
  $this->plugin->alerts->Trigger(
@@ -1230,6 +1237,14 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
1230
 
1231
  $content_changed = $oldpost->post_content != $newpost->post_content;
1232
 
 
 
 
 
 
 
 
 
1233
  if ( $oldpost->post_modified !== $newpost->post_modified ) {
1234
  $event = 0;
1235
 
@@ -1516,4 +1531,29 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
1516
  );
1517
  return ! empty( $tag_id ) ? add_query_arg( $tag_args, admin_url( 'term.php' ) ) : null;
1518
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1519
  }
1031
  return 0;
1032
  }
1033
 
1034
+ /*
1035
+ * Return early if this looks like a re-save on a draft.
1036
+ */
1037
+ if ( $this->is_draft_resave( $oldpost, $newpost ) ) {
1038
+ return 0;
1039
+ }
1040
+
1041
  if ( $from !== $to ) {
1042
  $editor_link = $this->get_editor_link( $oldpost );
1043
  $this->plugin->alerts->Trigger(
1237
 
1238
  $content_changed = $oldpost->post_content != $newpost->post_content;
1239
 
1240
+ /*
1241
+ * If the content hasn't changed and this looks to be a draft resave
1242
+ * then we won't track anything for this modification.
1243
+ */
1244
+ if ( ! $content_changed && $this->is_draft_resave( $oldpost, $newpost ) ) {
1245
+ return;
1246
+ }
1247
+
1248
  if ( $oldpost->post_modified !== $newpost->post_modified ) {
1249
  $event = 0;
1250
 
1531
  );
1532
  return ! empty( $tag_id ) ? add_query_arg( $tag_args, admin_url( 'term.php' ) ) : null;
1533
  }
1534
+
1535
+ /**
1536
+ * Returns true if this looks like a re-save on a draft.
1537
+ *
1538
+ * @method is_draft_resave
1539
+ * @since 3.5.1
1540
+ *
1541
+ * @param \WP_Post $oldpost The old post object if one exists.
1542
+ * @param \WP_Post $newpost The new post object.
1543
+ * @return boolean
1544
+ */
1545
+ private function is_draft_resave( $oldpost, $newpost ) {
1546
+ /*
1547
+ * If this is a 'draft' and used to be a 'draft' plus the gmt dates
1548
+ * match and it contains only characters that would appear in the
1549
+ * a default unpublished post then...
1550
+ */
1551
+ if ( 'draft' === $oldpost->post_status
1552
+ && $oldpost->post_status === $newpost->post_status
1553
+ && $oldpost->post_date_gmt === $newpost->post_date_gmt
1554
+ && preg_match( '/^[0\-\ \:]+$/', $oldpost->post_date_gmt ) ) {
1555
+ // Don't track this as a date change.
1556
+ return true;
1557
+ }
1558
+ }
1559
  }
classes/Sensors/LogInOut.php CHANGED
@@ -47,7 +47,7 @@ class WSAL_Sensors_LogInOut extends WSAL_AbstractSensor {
47
  */
48
  public function HookEvents() {
49
  add_action( 'wp_login', array( $this, 'EventLogin' ), 10, 2 );
50
- add_action( 'wp_logout', array( $this, 'EventLogout' ) );
51
  add_action( 'password_reset', array( $this, 'EventPasswordReset' ), 10, 2 );
52
  add_action( 'wp_login_failed', array( $this, 'EventLoginFailure' ) );
53
  add_action( 'clear_auth_cookie', array( $this, 'GetCurrentUser' ), 10 );
47
  */
48
  public function HookEvents() {
49
  add_action( 'wp_login', array( $this, 'EventLogin' ), 10, 2 );
50
+ add_action( 'wp_logout', array( $this, 'EventLogout' ), 5 );
51
  add_action( 'password_reset', array( $this, 'EventPasswordReset' ), 10, 2 );
52
  add_action( 'wp_login_failed', array( $this, 'EventLoginFailure' ) );
53
  add_action( 'clear_auth_cookie', array( $this, 'GetCurrentUser' ), 10 );
classes/ViewManager.php CHANGED
@@ -48,7 +48,6 @@ class WSAL_ViewManager {
48
  * Method: Constructor.
49
  *
50
  * @param WpSecurityAuditLog $plugin - Instance of WpSecurityAuditLog.
51
- * @author Ashar Irfan
52
  * @since 1.0.0
53
  */
54
  public function __construct( WpSecurityAuditLog $plugin ) {
@@ -82,16 +81,6 @@ class WSAL_ViewManager {
82
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/SetupWizard.php';
83
  }
84
 
85
- /**
86
- * Add frontend setup wizard page to skip views. It will only be initialized
87
- * one time.
88
- *
89
- * @since 3.5
90
- */
91
- if ( file_exists( $this->_plugin->GetBaseDir() . 'classes/Views/FrontendSetupWizard.php' ) ) {
92
- $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/FrontendSetupWizard.php';
93
- }
94
-
95
  /**
96
  * Skipped Views.
97
  *
@@ -130,11 +119,6 @@ class WSAL_ViewManager {
130
  new WSAL_Views_SetupWizard( $plugin );
131
  }
132
 
133
- // Initialize setup frontend wizard.
134
- if ( 'no' === $this->_plugin->GetGlobalOption( 'front-end-setup-complete', 'no' ) ) {
135
- new WSAL_Views_FrontendSetupWizard( $plugin );
136
- }
137
-
138
  // Reorder WSAL submenu.
139
  add_filter( 'custom_menu_order', array( $this, 'reorder_wsal_submenu' ), 10, 1 );
140
 
@@ -245,8 +229,7 @@ class WSAL_ViewManager {
245
  $view->GetName(),
246
  'read', // No capability requirement.
247
  $view->GetSafeViewName(),
248
- array( $this, 'RenderViewBody' ),
249
- $view->GetIcon()
250
  );
251
  }
252
  }
48
  * Method: Constructor.
49
  *
50
  * @param WpSecurityAuditLog $plugin - Instance of WpSecurityAuditLog.
 
51
  * @since 1.0.0
52
  */
53
  public function __construct( WpSecurityAuditLog $plugin ) {
81
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/SetupWizard.php';
82
  }
83
 
 
 
 
 
 
 
 
 
 
 
84
  /**
85
  * Skipped Views.
86
  *
119
  new WSAL_Views_SetupWizard( $plugin );
120
  }
121
 
 
 
 
 
 
122
  // Reorder WSAL submenu.
123
  add_filter( 'custom_menu_order', array( $this, 'reorder_wsal_submenu' ), 10, 1 );
124
 
229
  $view->GetName(),
230
  'read', // No capability requirement.
231
  $view->GetSafeViewName(),
232
+ array( $this, 'RenderViewBody' )
 
233
  );
234
  }
235
  }
classes/Views/FrontendSetupWizard.php DELETED
@@ -1,511 +0,0 @@
1
- <?php
2
- /**
3
- * View: WSAL Frontend Setup
4
- *
5
- * WSAL frontend setup class file.
6
- *
7
- * @since 3.2.3
8
- * @package Wsal
9
- */
10
-
11
- // Exit if accessed directly.
12
- if ( ! defined( 'ABSPATH' ) ) {
13
- exit;
14
- }
15
-
16
- /**
17
- * Class: WSAL Frontend Setup Wizard.
18
- *
19
- * WSAL setup wizard class which manages the functionality
20
- * related to setup.
21
- */
22
- final class WSAL_Views_FrontendSetupWizard {
23
-
24
- /**
25
- * Instance of WpSecurityAuditLog
26
- *
27
- * @var WpSecurityAuditLog
28
- */
29
- private $wsal;
30
-
31
- /**
32
- * Wizard Steps
33
- *
34
- * @var array
35
- */
36
- private $wizard_steps;
37
-
38
- /**
39
- * Current Step
40
- *
41
- * @var string
42
- */
43
- private $current_step;
44
-
45
- /**
46
- * Method: Constructor.
47
- *
48
- * @param WpSecurityAuditLog $wsal – Instance of main plugin.
49
- */
50
- public function __construct( WpSecurityAuditLog $wsal ) {
51
- $this->wsal = $wsal;
52
- add_action( 'admin_menu', array( $this, 'admin_menus' ), 10 );
53
- add_action( 'admin_init', array( $this, 'setup_page' ), 10 );
54
- }
55
-
56
- /**
57
- * Ajax handler to verify setting token.
58
- */
59
- public function setup_check_security_token() {
60
- if ( ! $this->wsal->settings->CurrentUserCan( 'view' ) ) {
61
- echo wp_json_encode(
62
- array(
63
- 'success' => false,
64
- 'message' => esc_html__( 'Access Denied.', 'wp-security-audit-log' ),
65
- )
66
- );
67
- die();
68
- }
69
-
70
- //@codingStandardsIgnoreStart
71
- $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( $_POST['nonce'] ) : false;
72
- //@codingStandardsIgnoreEnd
73
-
74
- if ( empty( $nonce ) || ! wp_verify_nonce( $nonce, 'wsal-verify-wizard-page' ) ) {
75
- echo wp_json_encode(
76
- array(
77
- 'success' => false,
78
- 'message' => esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ),
79
- )
80
- );
81
- die();
82
- }
83
- die();
84
- }
85
-
86
- /**
87
- * Add setup admin page.
88
- */
89
- public function admin_menus() {
90
- add_dashboard_page( '', '', 'manage_options', 'wsal-front-setup', '' );
91
- }
92
-
93
- /**
94
- * Setup Page Start.
95
- */
96
- public function setup_page() {
97
- // Get page argument from $_GET array.
98
- $page = filter_input( INPUT_GET, 'page', FILTER_SANITIZE_STRING );
99
- if ( empty( $page ) || 'wsal-front-setup' !== $page ) {
100
- return;
101
- }
102
-
103
- /**
104
- * Wizard Steps.
105
- */
106
- $this->wizard_steps = array(
107
- 'welcome' => array(
108
- 'name' => __( 'Welcome', 'wp-security-audit-log' ),
109
- 'content' => array( $this, 'wsal_step_welcome' ),
110
- ),
111
- 'register' => array(
112
- 'name' => __( 'User Registrations', 'wp-security-audit-log' ),
113
- 'content' => array( $this, 'wsal_step_register' ),
114
- 'save' => array( $this, 'wsal_step_register_save' ),
115
- ),
116
- 'login' => array(
117
- 'name' => __( 'Log In', 'wp-security-audit-log' ),
118
- 'content' => array( $this, 'wsal_step_login' ),
119
- 'save' => array( $this, 'wsal_step_login_save' ),
120
- ),
121
- '404s' => array(
122
- 'name' => __( '404s', 'wp-security-audit-log' ),
123
- 'content' => array( $this, 'wsal_step_404s' ),
124
- 'save' => array( $this, 'wsal_step_404s_save' ),
125
- ),
126
- 'finish' => array(
127
- 'name' => __( 'Finish', 'wp-security-audit-log' ),
128
- 'content' => array( $this, 'wsal_step_finish' ),
129
- 'save' => array( $this, 'wsal_step_finish_save' ),
130
- ),
131
- );
132
-
133
- // Set current step.
134
- $current_step = filter_input( INPUT_GET, 'current-step', FILTER_SANITIZE_STRING );
135
- $this->current_step = ! empty( $current_step ) ? $current_step : current( array_keys( $this->wizard_steps ) );
136
-
137
- /**
138
- * Enqueue Styles.
139
- */
140
- wp_enqueue_style(
141
- 'wsal-wizard-css',
142
- $this->wsal->GetBaseUrl() . '/css/dist/wsal-wizard.build.css',
143
- array( 'dashicons', 'install', 'forms' ),
144
- filemtime( $this->wsal->GetBaseDir() . 'css/dist/wsal-wizard.build.css' )
145
- );
146
-
147
- // Data array.
148
- $data_array = array(
149
- 'ajaxURL' => admin_url( 'admin-ajax.php' ),
150
- 'nonce' => wp_create_nonce( 'wsal-verify-wizard-page' ),
151
- );
152
- wp_localize_script( 'wsal-wizard-js', 'wsalData', $data_array );
153
-
154
- /**
155
- * Save Wizard Settings.
156
- */
157
- $save_step = filter_input( INPUT_POST, 'save_step', FILTER_SANITIZE_STRING );
158
- if ( ! empty( $save_step ) && ! empty( $this->wizard_steps[ $this->current_step ]['save'] ) ) {
159
- call_user_func( $this->wizard_steps[ $this->current_step ]['save'] );
160
- }
161
-
162
- /**
163
- * Close Wizard Settings.
164
- */
165
- $exit_wizard = filter_input( INPUT_GET, 'exit-wizard', FILTER_SANITIZE_STRING );
166
- if ( ! empty( $exit_wizard ) ) {
167
- call_user_func( array( $this, 'wsal_exit_frontend_wizard' ) );
168
- }
169
-
170
- ob_start();
171
- $this->setup_page_header();
172
- $this->setup_page_steps();
173
- $this->setup_page_content();
174
- $this->setup_page_footer();
175
- exit;
176
- }
177
-
178
- /**
179
- * Setup Page Header.
180
- */
181
- private function setup_page_header() {
182
- ?>
183
- <!DOCTYPE html>
184
- <html <?php language_attributes(); ?>>
185
- <head>
186
- <meta name="viewport" content="width=device-width" />
187
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
188
- <title><?php esc_html_e( 'WP Security Audit Log &rsaquo; Setup Wizard', 'wp-security-audit-log' ); ?></title>
189
- <?php wp_print_scripts( 'wsal-wizard-js' ); ?>
190
- <?php do_action( 'admin_print_styles' ); ?>
191
- <?php do_action( 'admin_head' ); ?>
192
- </head>
193
- <body class="wsal-setup wp-core-ui">
194
- <h1 id="wsal-logo"><a href="https://wpsecurityauditlog.com/" target="_blank"><img src="<?php echo esc_url( $this->wsal->GetBaseUrl() ); ?>/img/wsal-logo-full.png" alt="WP Security Audit Log" /></a></h1>
195
- <?php
196
- }
197
-
198
- /**
199
- * Setup Page Footer.
200
- */
201
- private function setup_page_footer() {
202
- ?>
203
- <div class="wsal-setup-footer">
204
- <?php if ( 'welcome' !== $this->current_step && 'finish' !== $this->current_step ) : // Don't show the link on the first & last step. ?>
205
- <a href="
206
- <?php
207
- echo esc_url(
208
- add_query_arg(
209
- array(
210
- 'page' => 'wsal-front-setup',
211
- 'exit-wizard' => wp_create_nonce( 'wsal-exit-wizard' ),
212
- ),
213
- admin_url()
214
- )
215
- );
216
- ?>
217
- "><?php esc_html_e( 'Close Wizard', 'wp-security-audit-log' ); ?></a>
218
- <?php endif; ?>
219
- </div>
220
- </body>
221
- </html>
222
- <?php
223
- }
224
-
225
- /**
226
- * Setup Page Steps.
227
- */
228
- private function setup_page_steps() {
229
- ?>
230
- <ul class="steps">
231
- <?php
232
- foreach ( $this->wizard_steps as $key => $step ) :
233
- if ( $key === $this->current_step ) :
234
- ?>
235
- <li class="is-active"><?php echo esc_html( $step['name'] ); ?></li>
236
- <?php else : ?>
237
- <li></li>
238
- <?php
239
- endif;
240
- endforeach;
241
- ?>
242
- </ul>
243
- <?php
244
- }
245
-
246
- /**
247
- * Get Next Step URL.
248
- *
249
- * @return string
250
- */
251
- private function get_next_step() {
252
- // Get current step.
253
- $current_step = $this->current_step;
254
-
255
- // Array of step keys.
256
- $keys = array_keys( $this->wizard_steps );
257
- if ( end( $keys ) === $current_step ) { // If last step is active then return WP Admin URL.
258
- return admin_url();
259
- }
260
-
261
- // Search for step index in step keys.
262
- $step_index = array_search( $current_step, $keys, true );
263
- if ( false === $step_index ) { // If index is not found then return empty string.
264
- return '';
265
- }
266
-
267
- // Return next step.
268
- return add_query_arg( 'current-step', $keys[ $step_index + 1 ] );
269
- }
270
-
271
- /**
272
- * Setup Page Content.
273
- */
274
- private function setup_page_content() {
275
- ?>
276
- <div class="wsal-setup-content">
277
- <?php
278
- if ( ! empty( $this->wizard_steps[ $this->current_step ]['content'] ) ) {
279
- call_user_func( $this->wizard_steps[ $this->current_step ]['content'] );
280
- }
281
- ?>
282
- </div>
283
- <?php
284
- }
285
-
286
- /**
287
- * Step View: `Welcome`
288
- */
289
- private function wsal_step_welcome() {
290
- ?>
291
- <p><?php esc_html_e( 'In this update, we have improved the plugin\'s front-end sensors and performance. Use this quick 4-step wizard to fine tune the plugin for your website.', 'wp-security-audit-log' ); ?></p>
292
-
293
- <div class="wsal-setup-actions">
294
- <a class="button button-primary"
295
- href="<?php echo esc_url( $this->get_next_step() ); ?>">
296
- <?php esc_html_e( 'Start Configuring front-end sensors', 'wp-security-audit-log' ); ?>
297
- </a>
298
- <a class="button button-secondary"
299
- href="
300
- <?php
301
- echo esc_url(
302
- add_query_arg(
303
- array(
304
- 'page' => 'wsal-front-setup',
305
- 'exit-wizard' => wp_create_nonce( 'wsal-exit-wizard' ),
306
- ),
307
- admin_url()
308
- )
309
- );
310
- ?>
311
- ">
312
- <?php esc_html_e( 'Exit Wizard', 'wp-security-audit-log' ); ?>
313
- </a>
314
- </div>
315
- <?php
316
- }
317
-
318
- /**
319
- * Step View: `front end register sensors`
320
- */
321
- private function wsal_step_register() {
322
- ?>
323
- <form method="post" class="wsal-setup-form">
324
- <?php wp_nonce_field( 'wsal-step-registers' ); ?>
325
- <h4><?php esc_html_e( 'Can visitors register for a user on your website?', 'wp-security-audit-log' ); ?></h4>
326
- <fieldset>
327
- <label for="wsal-frontend-events-register-yes">
328
- <input id="wsal-frontend-events-register-yes" name="wsal-front-end-register" type="radio" value="1">
329
- <?php esc_html_e( 'Yes', 'wp-security-audit-log' ); ?>
330
- </label>
331
- <br />
332
- <label for="wsal-frontend-events-register-no">
333
- <input id="wsal-frontend-events-register-no" name="wsal-front-end-register" type="radio" value="0" checked>
334
- <?php esc_html_e( 'No', 'wp-security-audit-log' ); ?>
335
- </label>
336
- <p class="description"><?php esc_html_e( 'If you are not sure about this setting, check if the Membership setting in the WordPress General settings is checked or not. If it is not checked (default) select No.', 'wp-security-audit-log' ); ?></p>
337
- </fieldset>
338
- <!-- Question -->
339
- <div class="wsal-setup-actions">
340
- <button class="button button-primary" type="submit" name="save_step" value="<?php esc_attr_e( 'Next', 'wp-security-audit-log' ); ?>"><?php esc_html_e( 'Next', 'wp-security-audit-log' ); ?></button>
341
- </div>
342
- </form>
343
- <?php
344
- }
345
-
346
- /**
347
- * Step Save: `Log Details`
348
- */
349
- private function wsal_step_register_save() {
350
- // Check nonce.
351
- check_admin_referer( 'wsal-step-registers' );
352
-
353
- if ( isset( $_POST['wsal-front-end-register'] ) ) {
354
- // Save frontend register sensors.
355
- $frontend_sensors = $this->wsal->settings->get_frontend_events();
356
- $register_sensor = sanitize_text_field( wp_unslash( $_POST['wsal-front-end-register'] ) );
357
- $frontend_sensors['register'] = $register_sensor;
358
-
359
- // Update option.
360
- $this->wsal->settings->set_frontend_events( $frontend_sensors );
361
- }
362
- wp_safe_redirect( esc_url_raw( $this->get_next_step() ) );
363
- exit();
364
- }
365
-
366
- /**
367
- * Step View: `Login Sensor`
368
- */
369
- private function wsal_step_login() {
370
- ?>
371
- <form method="post" class="wsal-setup-form">
372
- <?php wp_nonce_field( 'wsal-step-login' ); ?>
373
- <h4><?php esc_html_e( 'Do you or your users use other pages to log in to WordPress other than the default login page ( /wp-admin/ )?', 'wp-security-audit-log' ); ?></h4>
374
- <fieldset>
375
- <label for="wsal-frontend-events-login-yes">
376
- <input id="wsal-frontend-events-login-yes" name="wsal-frontend-login" type="radio" value="1">
377
- <?php esc_html_e( 'Yes, we use other pages to login to WordPress.', 'wp-security-audit-log' ); ?>
378
- </label>
379
- <br />
380
- <label for="wsal-frontend-events-login-no">
381
- <input id="wsal-frontend-events-login-no" name="wsal-frontend-login" type="radio" value="0" checked>
382
- <?php esc_html_e( 'No, we only use the default WordPress login page.', 'wp-security-audit-log' ); ?>
383
- </label>
384
- <p class="description"><?php esc_html_e( 'If your website is a membership or ecommerce website most probably you have more than one area from where the users can login. If you are not sure, select Yes.', 'wp-security-audit-log' ); ?></p>
385
- </fieldset>
386
- <!-- Question -->
387
- <div class="wsal-setup-actions">
388
- <button class="button button-primary" type="submit" name="save_step" value="<?php esc_attr_e( 'Next', 'wp-security-audit-log' ); ?>"><?php esc_html_e( 'Next', 'wp-security-audit-log' ); ?></button>
389
- </div>
390
- </form>
391
- <?php
392
- }
393
-
394
- /**
395
- * Step Save: `Login Sensor`
396
- */
397
- private function wsal_step_login_save() {
398
- // Check nonce.
399
- check_admin_referer( 'wsal-step-login' );
400
-
401
- if ( isset( $_POST['wsal-frontend-login'] ) ) {
402
- $frontend_sensors = $this->wsal->settings->get_frontend_events();
403
- $login_sensor = sanitize_text_field( wp_unslash( $_POST['wsal-frontend-login'] ) );
404
- $login_sensor = '0' === $login_sensor ? false : $login_sensor; // Update the sensor option.
405
- $frontend_sensors['login'] = $login_sensor;
406
-
407
- // Update option.
408
- $this->wsal->settings->set_frontend_events( $frontend_sensors );
409
- }
410
-
411
- wp_safe_redirect( esc_url_raw( $this->get_next_step() ) );
412
- exit();
413
- }
414
-
415
- /**
416
- * Step View: `System Sensor`
417
- */
418
- private function wsal_step_404s() {
419
- ?>
420
- <form method="post" class="wsal-setup-form">
421
- <?php wp_nonce_field( 'wsal-step-frontend-system' ); ?>
422
- <h4><?php esc_html_e( 'Do you want to keep a log of (non-logged in) visitors’ requests to non-existing URLs which generate a HTTP 404 error response?', 'wp-security-audit-log' ); ?></h4>
423
- <fieldset>
424
- <label for="wsal-frontend-events-system-yes">
425
- <input id="wsal-frontend-events-system-yes" name="wsal-frontend-system" type="radio" value="1">
426
- <?php esc_html_e( 'Yes', 'wp-security-audit-log' ); ?>
427
- </label>
428
- <br />
429
- <label for="wsal-frontend-events-system-no">
430
- <input id="wsal-frontend-events-system-no" name="wsal-frontend-system" type="radio" value="0" checked>
431
- <?php esc_html_e( 'No', 'wp-security-audit-log' ); ?>
432
- </label>
433
- </fieldset>
434
- <!-- Question -->
435
- <div class="wsal-setup-actions">
436
- <button class="button button-primary" type="submit" name="save_step" value="<?php esc_attr_e( 'Next', 'wp-security-audit-log' ); ?>"><?php esc_html_e( 'Next', 'wp-security-audit-log' ); ?></button>
437
- </div>
438
- </form>
439
- <?php
440
- }
441
-
442
- /**
443
- * Step Save: `System Sensor`
444
- */
445
- private function wsal_step_404s_save() {
446
- // Check nonce.
447
- check_admin_referer( 'wsal-step-frontend-system' );
448
-
449
- // Update system field.
450
- if ( isset( $_POST['wsal-frontend-system'] ) ) {
451
- $frontend_sensors = $this->wsal->settings->get_frontend_events();
452
- $system_sensor = sanitize_text_field( wp_unslash( $_POST['wsal-frontend-system'] ) );
453
- $system_sensor = '0' === $system_sensor ? false : $system_sensor; // Update the sensor option.
454
- $frontend_sensors['system'] = $system_sensor;
455
-
456
- // Update option.
457
- $this->wsal->settings->set_frontend_events( $frontend_sensors );
458
- }
459
-
460
- wp_safe_redirect( esc_url_raw( $this->get_next_step() ) );
461
- exit();
462
- }
463
-
464
- /**
465
- * Step View: `Finish`
466
- */
467
- private function wsal_step_finish() {
468
- ?>
469
- <p><?php esc_html_e( 'All the new settings have been applied. You can change these settings from the Front-end Events in the Enable/Disable Events section.', 'wp-security-audit-log' ); ?></p>
470
-
471
- <form method="post" class="wsal-setup-form">
472
- <?php wp_nonce_field( 'wsal-step-finish' ); ?>
473
- <div class="wsal-setup-actions">
474
- <button class="button button-primary"
475
- type="submit"
476
- name="save_step"
477
- value="<?php esc_attr_e( 'Finish', 'wp-security-audit-log' ); ?>">
478
- <?php esc_html_e( 'Finish', 'wp-security-audit-log' ); ?>
479
- </button>
480
- </div>
481
- </form>
482
- <?php
483
- }
484
-
485
- /**
486
- * Step Save: `Finish`
487
- */
488
- private function wsal_step_finish_save() {
489
- // Verify nonce.
490
- check_admin_referer( 'wsal-step-finish' );
491
-
492
- // Mark the finish of the setup.
493
- $this->wsal->SetGlobalOption( 'front-end-setup-complete', 'yes' );
494
-
495
- wp_safe_redirect( esc_url_raw( $this->get_next_step() ) );
496
- exit();
497
- }
498
-
499
- /**
500
- * Exit Wizard
501
- */
502
- private function wsal_exit_frontend_wizard() {
503
- if ( isset( $_GET['exit-wizard'] ) && wp_verify_nonce( $_GET['exit-wizard'], 'wsal-exit-wizard' ) ) {
504
- // Mark the finish of the setup.
505
- $this->wsal->SetGlobalOption( 'front-end-setup-complete', 'yes' );
506
- wp_safe_redirect( admin_url() );
507
- exit();
508
- }
509
-
510
- }
511
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/auditlog.css CHANGED
@@ -139,7 +139,8 @@ td.column-user {
139
  background: #CCC;
140
  text-align: center;
141
  border-radius: 32px;
142
- margin-left: 8px;
 
143
  }
144
 
145
  /* errors */
@@ -337,11 +338,8 @@ div.wsal_notice__wrapper p {
337
  text-decoration: none;
338
  }
339
 
 
340
  .wp-list-table #code {
341
- width: 55px;
342
- }
343
-
344
- .wp-list-table #type {
345
  width: 101px;
346
  }
347
 
139
  background: #CCC;
140
  text-align: center;
141
  border-radius: 32px;
142
+ margin-left: auto;
143
+ margin-right: auto;
144
  }
145
 
146
  /* errors */
338
  text-decoration: none;
339
  }
340
 
341
+ .wp-list-table #type,
342
  .wp-list-table #code {
 
 
 
 
343
  width: 101px;
344
  }
345
 
languages/wp-security-audit-log.pot CHANGED
@@ -3,14 +3,14 @@ msgid ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: WP Security Audit Log\n"
6
- "POT-Creation-Date: 2019-09-12 10:47+0200\n"
7
- "PO-Revision-Date: 2019-09-12 10:47+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 2.2.3\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
  "X-Poedit-WPHeader: wp-security-audit-log.php\n"
@@ -65,7 +65,7 @@ msgstr ""
65
  msgid "System Activity"
66
  msgstr ""
67
 
68
- #: classes/AlertManager.php:1598 classes/AuditLogListView.php:437
69
  msgid "Unknown error code."
70
  msgstr ""
71
 
@@ -73,7 +73,7 @@ msgstr ""
73
  msgid "Unknown Site"
74
  msgstr ""
75
 
76
- #: classes/AlertManager.php:1639 classes/AuditLogListView.php:512
77
  #: classes/Views/ToggleAlerts.php:424 classes/Views/ToggleAlerts.php:462
78
  #: defaults.php:390
79
  msgid "System"
@@ -142,82 +142,82 @@ msgstr ""
142
  msgid "Message"
143
  msgstr ""
144
 
145
- #: classes/AuditLogListView.php:410
146
  msgid "Click to toggle."
147
  msgstr ""
148
 
149
- #: classes/AuditLogListView.php:429
150
  msgid "Disable this type of events."
151
  msgstr ""
152
 
153
- #: classes/AuditLogListView.php:441 classes/Views/ToggleAlerts.php:496
154
  msgid "Critical"
155
  msgstr ""
156
 
157
- #: classes/AuditLogListView.php:443 classes/Views/ToggleAlerts.php:498
158
  msgid "Warning"
159
  msgstr ""
160
 
161
- #: classes/AuditLogListView.php:445 classes/Views/ToggleAlerts.php:500
162
  #: classes/Views/ToggleAlerts.php:502
163
  msgid "Notification"
164
  msgstr ""
165
 
166
- #: classes/AuditLogListView.php:455 classes/AuditLogListView.php:496
167
  msgid "Unknown"
168
  msgstr ""
169
 
170
- #: classes/AuditLogListView.php:481
171
  msgid "Show me all activity by this User"
172
  msgstr ""
173
 
174
- #: classes/AuditLogListView.php:500 classes/Views/Licensing.php:113
175
  #: classes/Views/Licensing.php:153
176
  msgid "Plugin"
177
  msgstr ""
178
 
179
- #: classes/AuditLogListView.php:504 defaults.php:357
180
  msgid "Plugins"
181
  msgstr ""
182
 
183
- #: classes/AuditLogListView.php:508
184
  msgid "Website Visitor"
185
  msgstr ""
186
 
187
- #: classes/AuditLogListView.php:544 classes/AuditLogListView.php:557
188
  msgid "Show me all activity originating from this IP Address"
189
  msgstr ""
190
 
191
- #: classes/AuditLogListView.php:586
192
  msgid "View all details of this change"
193
  msgstr ""
194
 
195
- #: classes/AuditLogListView.php:587 classes/AuditLogListView.php:737
196
  #: classes/Settings.php:1714
197
  msgid "Alert Data Inspector"
198
  msgstr ""
199
 
200
- #: classes/AuditLogListView.php:689 classes/Settings.php:1653
201
  msgid "Download the log file"
202
  msgstr ""
203
 
204
- #: classes/AuditLogListView.php:709 classes/Settings.php:1678
205
  msgid "Download the log file."
206
  msgstr ""
207
 
208
- #: classes/AuditLogListView.php:717 classes/Settings.php:1686
209
  #: classes/Settings.php:1932
210
  msgid "published"
211
  msgstr ""
212
 
213
  #. translators: Mailto link for support.
214
- #: classes/AuditLogListView.php:745 classes/Settings.php:1725
215
  #: classes/Settings.php:1958
216
  #, php-format
217
  msgid "Contact us on %s for assistance"
218
  msgstr ""
219
 
220
- #: classes/AuditLogListView.php:879
221
  msgid "Select All"
222
  msgstr ""
223
 
@@ -430,31 +430,30 @@ msgid ""
430
  "the plugin WP Security Audit Log on the website %2$s on %3$s."
431
  msgstr ""
432
 
433
- #: classes/ViewManager.php:277
434
  msgid "Free Premium Trial"
435
  msgstr ""
436
 
437
- #: classes/ViewManager.php:502 classes/Views/FrontendSetupWizard.php:64
438
- #: classes/Views/Settings.php:255 classes/Views/Settings.php:2703
439
- #: classes/Views/Settings.php:2732 classes/Views/SetupWizard.php:66
440
  msgid "Access Denied."
441
  msgstr ""
442
 
443
- #: classes/ViewManager.php:533
444
  msgid "Log count parameter expected."
445
  msgstr ""
446
 
447
- #: classes/ViewManager.php:541 classes/Views/AuditLog.php:651
448
  #: classes/Views/AuditLog.php:728 classes/Views/AuditLog.php:754
449
  #: classes/Views/AuditLog.php:1059 classes/Views/AuditLog.php:1129
450
- #: classes/Views/FrontendSetupWizard.php:78 classes/Views/Licensing.php:90
451
- #: classes/Views/Settings.php:270 classes/Views/Settings.php:2272
452
- #: classes/Views/Settings.php:2300 classes/Views/Settings.php:2330
453
- #: classes/Views/Settings.php:2369 classes/Views/Settings.php:2371
454
- #: classes/Views/Settings.php:2373 classes/Views/Settings.php:2488
455
- #: classes/Views/Settings.php:2490 classes/Views/Settings.php:2492
456
- #: classes/Views/Settings.php:2586 classes/Views/Settings.php:2679
457
- #: classes/Views/SetupWizard.php:81
458
  msgid "Nonce verification failed."
459
  msgstr ""
460
 
@@ -556,8 +555,7 @@ msgid ""
556
  "wizard to configure the basic plugin settings?"
557
  msgstr ""
558
 
559
- #: classes/Views/AuditLog.php:427 classes/Views/FrontendSetupWizard.php:329
560
- #: classes/Views/FrontendSetupWizard.php:426 classes/Views/Settings.php:564
561
  #: classes/Views/Settings.php:591 classes/Views/Settings.php:657
562
  #: classes/Views/Settings.php:715 classes/Views/Settings.php:1176
563
  #: classes/Views/Settings.php:1241 classes/Views/Settings.php:2006
@@ -568,8 +566,7 @@ msgstr ""
568
  msgid "Yes"
569
  msgstr ""
570
 
571
- #: classes/Views/AuditLog.php:428 classes/Views/FrontendSetupWizard.php:334
572
- #: classes/Views/FrontendSetupWizard.php:431 classes/Views/Settings.php:569
573
  #: classes/Views/Settings.php:596 classes/Views/Settings.php:687
574
  #: classes/Views/Settings.php:725 classes/Views/Settings.php:1181
575
  #: classes/Views/Settings.php:1248 classes/Views/Settings.php:2011
@@ -764,107 +761,6 @@ msgid ""
764
  "third party services."
765
  msgstr ""
766
 
767
- #: classes/Views/FrontendSetupWizard.php:108 classes/Views/SetupWizard.php:129
768
- msgid "Welcome"
769
- msgstr ""
770
-
771
- #: classes/Views/FrontendSetupWizard.php:112 classes/Views/SetupWizard.php:148
772
- msgid "User Registrations"
773
- msgstr ""
774
-
775
- #: classes/Views/FrontendSetupWizard.php:117 classes/Views/SetupWizard.php:138
776
- msgid "Log In"
777
- msgstr ""
778
-
779
- #: classes/Views/FrontendSetupWizard.php:122 classes/Views/SetupWizard.php:143
780
- msgid "404s"
781
- msgstr ""
782
-
783
- #: classes/Views/FrontendSetupWizard.php:127
784
- #: classes/Views/FrontendSetupWizard.php:477
785
- #: classes/Views/FrontendSetupWizard.php:478 classes/Views/SetupWizard.php:168
786
- #: classes/Views/SetupWizard.php:907 classes/Views/SetupWizard.php:908
787
- msgid "Finish"
788
- msgstr ""
789
-
790
- #: classes/Views/FrontendSetupWizard.php:188 classes/Views/SetupWizard.php:244
791
- msgid "WP Security Audit Log &rsaquo; Setup Wizard"
792
- msgstr ""
793
-
794
- #: classes/Views/FrontendSetupWizard.php:217 classes/Views/SetupWizard.php:261
795
- msgid "Close Wizard"
796
- msgstr ""
797
-
798
- #: classes/Views/FrontendSetupWizard.php:291
799
- msgid ""
800
- "In this update, we have improved the plugin's front-end sensors and "
801
- "performance. Use this quick 4-step wizard to fine tune the plugin for your "
802
- "website."
803
- msgstr ""
804
-
805
- #: classes/Views/FrontendSetupWizard.php:296
806
- msgid "Start Configuring front-end sensors"
807
- msgstr ""
808
-
809
- #: classes/Views/FrontendSetupWizard.php:312 classes/Views/SetupWizard.php:348
810
- msgid "Exit Wizard"
811
- msgstr ""
812
-
813
- #: classes/Views/FrontendSetupWizard.php:325 classes/Views/SetupWizard.php:509
814
- msgid "Can visitors register for a user on your website?"
815
- msgstr ""
816
-
817
- #: classes/Views/FrontendSetupWizard.php:336 classes/Views/SetupWizard.php:520
818
- msgid ""
819
- "If you are not sure about this setting, check if the Membership setting in "
820
- "the WordPress General settings is checked or not. If it is not checked "
821
- "(default) select No."
822
- msgstr ""
823
-
824
- #: classes/Views/FrontendSetupWizard.php:340
825
- #: classes/Views/FrontendSetupWizard.php:388
826
- #: classes/Views/FrontendSetupWizard.php:436 classes/Views/SetupWizard.php:375
827
- #: classes/Views/SetupWizard.php:428 classes/Views/SetupWizard.php:476
828
- #: classes/Views/SetupWizard.php:525 classes/Views/SetupWizard.php:585
829
- #: classes/Views/SetupWizard.php:586 classes/Views/SetupWizard.php:718
830
- #: classes/Views/SetupWizard.php:719 classes/Views/SetupWizard.php:838
831
- #: classes/Views/SetupWizard.php:839
832
- msgid "Next"
833
- msgstr ""
834
-
835
- #: classes/Views/FrontendSetupWizard.php:373 classes/Views/SetupWizard.php:412
836
- msgid ""
837
- "Do you or your users use other pages to log in to WordPress other than the "
838
- "default login page ( /wp-admin/ )?"
839
- msgstr ""
840
-
841
- #: classes/Views/FrontendSetupWizard.php:377 classes/Views/SetupWizard.php:416
842
- msgid "Yes, we use other pages to login to WordPress."
843
- msgstr ""
844
-
845
- #: classes/Views/FrontendSetupWizard.php:382 classes/Views/SetupWizard.php:421
846
- msgid "No, we only use the default WordPress login page."
847
- msgstr ""
848
-
849
- #: classes/Views/FrontendSetupWizard.php:384 classes/Views/SetupWizard.php:423
850
- msgid ""
851
- "If your website is a membership or ecommerce website most probably you have "
852
- "more than one area from where the users can login. If you are not sure, "
853
- "select Yes."
854
- msgstr ""
855
-
856
- #: classes/Views/FrontendSetupWizard.php:422 classes/Views/SetupWizard.php:461
857
- msgid ""
858
- "Do you want to keep a log of (non-logged in) visitors’ requests to non-"
859
- "existing URLs which generate a HTTP 404 error response?"
860
- msgstr ""
861
-
862
- #: classes/Views/FrontendSetupWizard.php:469
863
- msgid ""
864
- "All the new settings have been applied. You can change these settings from "
865
- "the Front-end Events in the Enable/Disable Events section."
866
- msgstr ""
867
-
868
  #: classes/Views/Help.php:62 classes/Views/Help.php:104
869
  #: classes/Views/Help.php:118
870
  msgid "Help"
@@ -1344,7 +1240,7 @@ msgstr ""
1344
  msgid "Login Page Notification"
1345
  msgstr ""
1346
 
1347
- #: classes/Views/Settings.php:663 wp-security-audit-log.php:1853
1348
  msgid ""
1349
  "For security and auditing purposes, a record of all of your logged-in "
1350
  "actions and changes within the WordPress dashboard will be recorded in an "
@@ -2411,10 +2307,26 @@ msgstr ""
2411
  msgid "Nonce Verification Failed."
2412
  msgstr ""
2413
 
 
 
 
 
2414
  #: classes/Views/SetupWizard.php:133
2415
  msgid "Log Details"
2416
  msgstr ""
2417
 
 
 
 
 
 
 
 
 
 
 
 
 
2418
  #: classes/Views/SetupWizard.php:153
2419
  msgid "Log Retention"
2420
  msgstr ""
@@ -2423,6 +2335,11 @@ msgstr ""
2423
  msgid "Access"
2424
  msgstr ""
2425
 
 
 
 
 
 
2426
  #: classes/Views/SetupWizard.php:212
2427
  msgid "Specified value in not a user."
2428
  msgstr ""
@@ -2435,6 +2352,14 @@ msgstr ""
2435
  msgid "Specified value in not an IP address."
2436
  msgstr ""
2437
 
 
 
 
 
 
 
 
 
2438
  #: classes/Views/SetupWizard.php:339
2439
  msgid ""
2440
  "This wizard helps you configure the basic plugin settings. All these "
@@ -2445,6 +2370,10 @@ msgstr ""
2445
  msgid "Start Configuring the Plugin"
2446
  msgstr ""
2447
 
 
 
 
 
2448
  #: classes/Views/SetupWizard.php:361
2449
  msgid "Please select the level of detail for your WordPress activity logs:"
2450
  msgstr ""
@@ -2464,6 +2393,35 @@ msgid ""
2464
  "anytime."
2465
  msgstr ""
2466
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2467
  #: classes/Views/SetupWizard.php:426 classes/Views/SetupWizard.php:474
2468
  #: classes/Views/SetupWizard.php:523 classes/Views/SetupWizard.php:577
2469
  msgid ""
@@ -2471,6 +2429,23 @@ msgid ""
2471
  "time from the plugin settings later on."
2472
  msgstr ""
2473
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2474
  #: classes/Views/SetupWizard.php:559
2475
  msgid "How long do you want to keep the data in the WordPress activity Log?"
2476
  msgstr ""
@@ -6372,27 +6347,27 @@ msgid "%Status% the advanced settings for authors in the Yoast SEO settings."
6372
  msgstr ""
6373
 
6374
  #. translators: Username
6375
- #: wp-security-audit-log.php:755 wp-security-audit-log.php:782
6376
  #, php-format
6377
  msgid "Hey %1$s"
6378
  msgstr ""
6379
 
6380
- #: wp-security-audit-log.php:756
6381
  msgid ""
6382
  "Never miss an important update! Opt-in to our security and feature updates "
6383
  "notifications, and non-sensitive diagnostic tracking with freemius.com."
6384
  msgstr ""
6385
 
6386
- #: wp-security-audit-log.php:757 wp-security-audit-log.php:785
6387
  msgid "Note: "
6388
  msgstr ""
6389
 
6390
- #: wp-security-audit-log.php:758 wp-security-audit-log.php:786
6391
  msgid "NO AUDIT LOG ACTIVITY & DATA IS SENT BACK TO OUR SERVERS."
6392
  msgstr ""
6393
 
6394
  #. translators: 1: Plugin name. 2: Freemius link.
6395
- #: wp-security-audit-log.php:784
6396
  #, php-format
6397
  msgid ""
6398
  "Please help us improve %2$s! If you opt-in, some non-sensitive data about "
@@ -6401,7 +6376,7 @@ msgid ""
6401
  msgstr ""
6402
 
6403
  #. translators: Plugin name
6404
- #: wp-security-audit-log.php:806
6405
  #, php-format
6406
  msgid ""
6407
  "Get a free 7-day trial of the premium edition of %s. No credit card "
@@ -6409,150 +6384,150 @@ msgid ""
6409
  msgstr ""
6410
 
6411
  #. Plugin Name of the plugin/theme
6412
- #: wp-security-audit-log.php:807
6413
  msgid "WP Security Audit Log"
6414
  msgstr ""
6415
 
6416
- #: wp-security-audit-log.php:811
6417
  msgid "Start free trial"
6418
  msgstr ""
6419
 
6420
- #: wp-security-audit-log.php:878
6421
  #, php-format
6422
  msgid ""
6423
  "The license is limited to %s sub-sites. You need to upgrade your license to "
6424
  "cover all the sub-sites on this network."
6425
  msgstr ""
6426
 
6427
- #: wp-security-audit-log.php:977
6428
  msgid ""
6429
  "Error: You do not have sufficient permissions to disable this custom field."
6430
  msgstr ""
6431
 
6432
- #: wp-security-audit-log.php:1010
6433
  #, php-format
6434
  msgid ""
6435
  "Custom Field %1$s is no longer being monitored.<br />Enable the monitoring "
6436
  "of this custom field again from the"
6437
  msgstr ""
6438
 
6439
- #: wp-security-audit-log.php:1010
6440
  msgid "Excluded Objects"
6441
  msgstr ""
6442
 
6443
- #: wp-security-audit-log.php:1010
6444
  msgid " tab in the plugin settings"
6445
  msgstr ""
6446
 
6447
- #: wp-security-audit-log.php:1022
6448
  msgid "Error: You do not have sufficient permissions to disable this alert."
6449
  msgstr ""
6450
 
6451
- #: wp-security-audit-log.php:1046
6452
  #, php-format
6453
  msgid "Alert %1$s is no longer being monitored.<br /> %2$s"
6454
  msgstr ""
6455
 
6456
- #: wp-security-audit-log.php:1046
6457
  msgid ""
6458
  "You can enable this alert again from the Enable/Disable Alerts node in the "
6459
  "plugin menu."
6460
  msgstr ""
6461
 
6462
- #: wp-security-audit-log.php:1142
6463
  #, php-format
6464
  msgid ""
6465
  "You are using a version of PHP that is older than %s, which is no longer "
6466
  "supported."
6467
  msgstr ""
6468
 
6469
- #: wp-security-audit-log.php:1144
6470
  msgid ""
6471
  "Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
6472
  "\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
6473
  "are using."
6474
  msgstr ""
6475
 
6476
- #: wp-security-audit-log.php:1146
6477
  msgid ""
6478
  "The WP Security Audit Log plugin is a multisite network tool, so it has to "
6479
  "be activated at network level."
6480
  msgstr ""
6481
 
6482
- #: wp-security-audit-log.php:1148
6483
  msgid "Redirect me to the network dashboard"
6484
  msgstr ""
6485
 
6486
- #: wp-security-audit-log.php:1153
6487
  #, php-format
6488
  msgid "Please install the %s plugin on the MainWP dashboard."
6489
  msgstr ""
6490
 
6491
- #: wp-security-audit-log.php:1153
6492
  msgid "Activity Log for MainWP"
6493
  msgstr ""
6494
 
6495
- #: wp-security-audit-log.php:1155
6496
  #, php-format
6497
  msgid ""
6498
  "The WP Security Audit Log should be installed on the child sites only. Refer "
6499
  "to the %s for more information."
6500
  msgstr ""
6501
 
6502
- #: wp-security-audit-log.php:1155
6503
  msgid "getting started guide"
6504
  msgstr ""
6505
 
6506
- #: wp-security-audit-log.php:1241
6507
  msgid ""
6508
  "This plugin uses 3 tables in the WordPress database to store the activity "
6509
  "log and settings. It seems that these tables were not created."
6510
  msgstr ""
6511
 
6512
- #: wp-security-audit-log.php:1243
6513
  msgid ""
6514
  "This could happen because the database user does not have the right "
6515
  "privileges to create the tables in the database. We recommend you to update "
6516
  "the privileges and try enabling the plugin again."
6517
  msgstr ""
6518
 
6519
- #: wp-security-audit-log.php:1245
6520
  #, php-format
6521
  msgid ""
6522
  "If after doing so you still have issues, please send us an email on %s for "
6523
  "assistance."
6524
  msgstr ""
6525
 
6526
- #: wp-security-audit-log.php:1245
6527
  msgid "support@wpsecurityauditlog.com"
6528
  msgstr ""
6529
 
6530
- #: wp-security-audit-log.php:1872
6531
  msgid "Every 6 hours"
6532
  msgstr ""
6533
 
6534
- #: wp-security-audit-log.php:1876
6535
  msgid "Every 45 minutes"
6536
  msgstr ""
6537
 
6538
- #: wp-security-audit-log.php:1880
6539
  msgid "Every 30 minutes"
6540
  msgstr ""
6541
 
6542
- #: wp-security-audit-log.php:1884
6543
  msgid "Every 15 minutes"
6544
  msgstr ""
6545
 
6546
- #: wp-security-audit-log.php:1888
6547
  msgid "Every 10 minutes"
6548
  msgstr ""
6549
 
6550
- #: wp-security-audit-log.php:1892
6551
  msgid "Every 1 minute"
6552
  msgstr ""
6553
 
6554
  #. translators: 1. Deprecated method name 2. Version since deprecated
6555
- #: wp-security-audit-log.php:1906
6556
  #, php-format
6557
  msgid "Method %1$s is deprecated since version %2$s!"
6558
  msgstr ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: WP Security Audit Log\n"
6
+ "POT-Creation-Date: 2019-10-24 11:30+0200\n"
7
+ "PO-Revision-Date: 2019-10-24 11:30+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 2.2.4\n"
14
  "X-Poedit-Basepath: ..\n"
15
  "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
  "X-Poedit-WPHeader: wp-security-audit-log.php\n"
65
  msgid "System Activity"
66
  msgstr ""
67
 
68
+ #: classes/AlertManager.php:1598 classes/AuditLogListView.php:438
69
  msgid "Unknown error code."
70
  msgstr ""
71
 
73
  msgid "Unknown Site"
74
  msgstr ""
75
 
76
+ #: classes/AlertManager.php:1639 classes/AuditLogListView.php:513
77
  #: classes/Views/ToggleAlerts.php:424 classes/Views/ToggleAlerts.php:462
78
  #: defaults.php:390
79
  msgid "System"
142
  msgid "Message"
143
  msgstr ""
144
 
145
+ #: classes/AuditLogListView.php:411
146
  msgid "Click to toggle."
147
  msgstr ""
148
 
149
+ #: classes/AuditLogListView.php:430
150
  msgid "Disable this type of events."
151
  msgstr ""
152
 
153
+ #: classes/AuditLogListView.php:442 classes/Views/ToggleAlerts.php:496
154
  msgid "Critical"
155
  msgstr ""
156
 
157
+ #: classes/AuditLogListView.php:444 classes/Views/ToggleAlerts.php:498
158
  msgid "Warning"
159
  msgstr ""
160
 
161
+ #: classes/AuditLogListView.php:446 classes/Views/ToggleAlerts.php:500
162
  #: classes/Views/ToggleAlerts.php:502
163
  msgid "Notification"
164
  msgstr ""
165
 
166
+ #: classes/AuditLogListView.php:456 classes/AuditLogListView.php:497
167
  msgid "Unknown"
168
  msgstr ""
169
 
170
+ #: classes/AuditLogListView.php:482
171
  msgid "Show me all activity by this User"
172
  msgstr ""
173
 
174
+ #: classes/AuditLogListView.php:501 classes/Views/Licensing.php:113
175
  #: classes/Views/Licensing.php:153
176
  msgid "Plugin"
177
  msgstr ""
178
 
179
+ #: classes/AuditLogListView.php:505 defaults.php:357
180
  msgid "Plugins"
181
  msgstr ""
182
 
183
+ #: classes/AuditLogListView.php:509
184
  msgid "Website Visitor"
185
  msgstr ""
186
 
187
+ #: classes/AuditLogListView.php:545 classes/AuditLogListView.php:558
188
  msgid "Show me all activity originating from this IP Address"
189
  msgstr ""
190
 
191
+ #: classes/AuditLogListView.php:587
192
  msgid "View all details of this change"
193
  msgstr ""
194
 
195
+ #: classes/AuditLogListView.php:588 classes/AuditLogListView.php:738
196
  #: classes/Settings.php:1714
197
  msgid "Alert Data Inspector"
198
  msgstr ""
199
 
200
+ #: classes/AuditLogListView.php:690 classes/Settings.php:1653
201
  msgid "Download the log file"
202
  msgstr ""
203
 
204
+ #: classes/AuditLogListView.php:710 classes/Settings.php:1678
205
  msgid "Download the log file."
206
  msgstr ""
207
 
208
+ #: classes/AuditLogListView.php:718 classes/Settings.php:1686
209
  #: classes/Settings.php:1932
210
  msgid "published"
211
  msgstr ""
212
 
213
  #. translators: Mailto link for support.
214
+ #: classes/AuditLogListView.php:746 classes/Settings.php:1725
215
  #: classes/Settings.php:1958
216
  #, php-format
217
  msgid "Contact us on %s for assistance"
218
  msgstr ""
219
 
220
+ #: classes/AuditLogListView.php:880
221
  msgid "Select All"
222
  msgstr ""
223
 
430
  "the plugin WP Security Audit Log on the website %2$s on %3$s."
431
  msgstr ""
432
 
433
+ #: classes/ViewManager.php:260
434
  msgid "Free Premium Trial"
435
  msgstr ""
436
 
437
+ #: classes/ViewManager.php:485 classes/Views/Settings.php:255
438
+ #: classes/Views/Settings.php:2703 classes/Views/Settings.php:2732
439
+ #: classes/Views/SetupWizard.php:66
440
  msgid "Access Denied."
441
  msgstr ""
442
 
443
+ #: classes/ViewManager.php:516
444
  msgid "Log count parameter expected."
445
  msgstr ""
446
 
447
+ #: classes/ViewManager.php:524 classes/Views/AuditLog.php:651
448
  #: classes/Views/AuditLog.php:728 classes/Views/AuditLog.php:754
449
  #: classes/Views/AuditLog.php:1059 classes/Views/AuditLog.php:1129
450
+ #: classes/Views/Licensing.php:90 classes/Views/Settings.php:270
451
+ #: classes/Views/Settings.php:2272 classes/Views/Settings.php:2300
452
+ #: classes/Views/Settings.php:2330 classes/Views/Settings.php:2369
453
+ #: classes/Views/Settings.php:2371 classes/Views/Settings.php:2373
454
+ #: classes/Views/Settings.php:2488 classes/Views/Settings.php:2490
455
+ #: classes/Views/Settings.php:2492 classes/Views/Settings.php:2586
456
+ #: classes/Views/Settings.php:2679 classes/Views/SetupWizard.php:81
 
457
  msgid "Nonce verification failed."
458
  msgstr ""
459
 
555
  "wizard to configure the basic plugin settings?"
556
  msgstr ""
557
 
558
+ #: classes/Views/AuditLog.php:427 classes/Views/Settings.php:564
 
559
  #: classes/Views/Settings.php:591 classes/Views/Settings.php:657
560
  #: classes/Views/Settings.php:715 classes/Views/Settings.php:1176
561
  #: classes/Views/Settings.php:1241 classes/Views/Settings.php:2006
566
  msgid "Yes"
567
  msgstr ""
568
 
569
+ #: classes/Views/AuditLog.php:428 classes/Views/Settings.php:569
 
570
  #: classes/Views/Settings.php:596 classes/Views/Settings.php:687
571
  #: classes/Views/Settings.php:725 classes/Views/Settings.php:1181
572
  #: classes/Views/Settings.php:1248 classes/Views/Settings.php:2011
761
  "third party services."
762
  msgstr ""
763
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
764
  #: classes/Views/Help.php:62 classes/Views/Help.php:104
765
  #: classes/Views/Help.php:118
766
  msgid "Help"
1240
  msgid "Login Page Notification"
1241
  msgstr ""
1242
 
1243
+ #: classes/Views/Settings.php:663 wp-security-audit-log.php:1847
1244
  msgid ""
1245
  "For security and auditing purposes, a record of all of your logged-in "
1246
  "actions and changes within the WordPress dashboard will be recorded in an "
2307
  msgid "Nonce Verification Failed."
2308
  msgstr ""
2309
 
2310
+ #: classes/Views/SetupWizard.php:129
2311
+ msgid "Welcome"
2312
+ msgstr ""
2313
+
2314
  #: classes/Views/SetupWizard.php:133
2315
  msgid "Log Details"
2316
  msgstr ""
2317
 
2318
+ #: classes/Views/SetupWizard.php:138
2319
+ msgid "Log In"
2320
+ msgstr ""
2321
+
2322
+ #: classes/Views/SetupWizard.php:143
2323
+ msgid "404s"
2324
+ msgstr ""
2325
+
2326
+ #: classes/Views/SetupWizard.php:148
2327
+ msgid "User Registrations"
2328
+ msgstr ""
2329
+
2330
  #: classes/Views/SetupWizard.php:153
2331
  msgid "Log Retention"
2332
  msgstr ""
2335
  msgid "Access"
2336
  msgstr ""
2337
 
2338
+ #: classes/Views/SetupWizard.php:168 classes/Views/SetupWizard.php:907
2339
+ #: classes/Views/SetupWizard.php:908
2340
+ msgid "Finish"
2341
+ msgstr ""
2342
+
2343
  #: classes/Views/SetupWizard.php:212
2344
  msgid "Specified value in not a user."
2345
  msgstr ""
2352
  msgid "Specified value in not an IP address."
2353
  msgstr ""
2354
 
2355
+ #: classes/Views/SetupWizard.php:244
2356
+ msgid "WP Security Audit Log &rsaquo; Setup Wizard"
2357
+ msgstr ""
2358
+
2359
+ #: classes/Views/SetupWizard.php:261
2360
+ msgid "Close Wizard"
2361
+ msgstr ""
2362
+
2363
  #: classes/Views/SetupWizard.php:339
2364
  msgid ""
2365
  "This wizard helps you configure the basic plugin settings. All these "
2370
  msgid "Start Configuring the Plugin"
2371
  msgstr ""
2372
 
2373
+ #: classes/Views/SetupWizard.php:348
2374
+ msgid "Exit Wizard"
2375
+ msgstr ""
2376
+
2377
  #: classes/Views/SetupWizard.php:361
2378
  msgid "Please select the level of detail for your WordPress activity logs:"
2379
  msgstr ""
2393
  "anytime."
2394
  msgstr ""
2395
 
2396
+ #: classes/Views/SetupWizard.php:375 classes/Views/SetupWizard.php:428
2397
+ #: classes/Views/SetupWizard.php:476 classes/Views/SetupWizard.php:525
2398
+ #: classes/Views/SetupWizard.php:585 classes/Views/SetupWizard.php:586
2399
+ #: classes/Views/SetupWizard.php:718 classes/Views/SetupWizard.php:719
2400
+ #: classes/Views/SetupWizard.php:838 classes/Views/SetupWizard.php:839
2401
+ msgid "Next"
2402
+ msgstr ""
2403
+
2404
+ #: classes/Views/SetupWizard.php:412
2405
+ msgid ""
2406
+ "Do you or your users use other pages to log in to WordPress other than the "
2407
+ "default login page ( /wp-admin/ )?"
2408
+ msgstr ""
2409
+
2410
+ #: classes/Views/SetupWizard.php:416
2411
+ msgid "Yes, we use other pages to login to WordPress."
2412
+ msgstr ""
2413
+
2414
+ #: classes/Views/SetupWizard.php:421
2415
+ msgid "No, we only use the default WordPress login page."
2416
+ msgstr ""
2417
+
2418
+ #: classes/Views/SetupWizard.php:423
2419
+ msgid ""
2420
+ "If your website is a membership or ecommerce website most probably you have "
2421
+ "more than one area from where the users can login. If you are not sure, "
2422
+ "select Yes."
2423
+ msgstr ""
2424
+
2425
  #: classes/Views/SetupWizard.php:426 classes/Views/SetupWizard.php:474
2426
  #: classes/Views/SetupWizard.php:523 classes/Views/SetupWizard.php:577
2427
  msgid ""
2429
  "time from the plugin settings later on."
2430
  msgstr ""
2431
 
2432
+ #: classes/Views/SetupWizard.php:461
2433
+ msgid ""
2434
+ "Do you want to keep a log of (non-logged in) visitors’ requests to non-"
2435
+ "existing URLs which generate a HTTP 404 error response?"
2436
+ msgstr ""
2437
+
2438
+ #: classes/Views/SetupWizard.php:509
2439
+ msgid "Can visitors register for a user on your website?"
2440
+ msgstr ""
2441
+
2442
+ #: classes/Views/SetupWizard.php:520
2443
+ msgid ""
2444
+ "If you are not sure about this setting, check if the Membership setting in "
2445
+ "the WordPress General settings is checked or not. If it is not checked "
2446
+ "(default) select No."
2447
+ msgstr ""
2448
+
2449
  #: classes/Views/SetupWizard.php:559
2450
  msgid "How long do you want to keep the data in the WordPress activity Log?"
2451
  msgstr ""
6347
  msgstr ""
6348
 
6349
  #. translators: Username
6350
+ #: wp-security-audit-log.php:750 wp-security-audit-log.php:777
6351
  #, php-format
6352
  msgid "Hey %1$s"
6353
  msgstr ""
6354
 
6355
+ #: wp-security-audit-log.php:751
6356
  msgid ""
6357
  "Never miss an important update! Opt-in to our security and feature updates "
6358
  "notifications, and non-sensitive diagnostic tracking with freemius.com."
6359
  msgstr ""
6360
 
6361
+ #: wp-security-audit-log.php:752 wp-security-audit-log.php:780
6362
  msgid "Note: "
6363
  msgstr ""
6364
 
6365
+ #: wp-security-audit-log.php:753 wp-security-audit-log.php:781
6366
  msgid "NO AUDIT LOG ACTIVITY & DATA IS SENT BACK TO OUR SERVERS."
6367
  msgstr ""
6368
 
6369
  #. translators: 1: Plugin name. 2: Freemius link.
6370
+ #: wp-security-audit-log.php:779
6371
  #, php-format
6372
  msgid ""
6373
  "Please help us improve %2$s! If you opt-in, some non-sensitive data about "
6376
  msgstr ""
6377
 
6378
  #. translators: Plugin name
6379
+ #: wp-security-audit-log.php:801
6380
  #, php-format
6381
  msgid ""
6382
  "Get a free 7-day trial of the premium edition of %s. No credit card "
6384
  msgstr ""
6385
 
6386
  #. Plugin Name of the plugin/theme
6387
+ #: wp-security-audit-log.php:802
6388
  msgid "WP Security Audit Log"
6389
  msgstr ""
6390
 
6391
+ #: wp-security-audit-log.php:806
6392
  msgid "Start free trial"
6393
  msgstr ""
6394
 
6395
+ #: wp-security-audit-log.php:873
6396
  #, php-format
6397
  msgid ""
6398
  "The license is limited to %s sub-sites. You need to upgrade your license to "
6399
  "cover all the sub-sites on this network."
6400
  msgstr ""
6401
 
6402
+ #: wp-security-audit-log.php:972
6403
  msgid ""
6404
  "Error: You do not have sufficient permissions to disable this custom field."
6405
  msgstr ""
6406
 
6407
+ #: wp-security-audit-log.php:1005
6408
  #, php-format
6409
  msgid ""
6410
  "Custom Field %1$s is no longer being monitored.<br />Enable the monitoring "
6411
  "of this custom field again from the"
6412
  msgstr ""
6413
 
6414
+ #: wp-security-audit-log.php:1005
6415
  msgid "Excluded Objects"
6416
  msgstr ""
6417
 
6418
+ #: wp-security-audit-log.php:1005
6419
  msgid " tab in the plugin settings"
6420
  msgstr ""
6421
 
6422
+ #: wp-security-audit-log.php:1017
6423
  msgid "Error: You do not have sufficient permissions to disable this alert."
6424
  msgstr ""
6425
 
6426
+ #: wp-security-audit-log.php:1041
6427
  #, php-format
6428
  msgid "Alert %1$s is no longer being monitored.<br /> %2$s"
6429
  msgstr ""
6430
 
6431
+ #: wp-security-audit-log.php:1041
6432
  msgid ""
6433
  "You can enable this alert again from the Enable/Disable Alerts node in the "
6434
  "plugin menu."
6435
  msgstr ""
6436
 
6437
+ #: wp-security-audit-log.php:1137
6438
  #, php-format
6439
  msgid ""
6440
  "You are using a version of PHP that is older than %s, which is no longer "
6441
  "supported."
6442
  msgstr ""
6443
 
6444
+ #: wp-security-audit-log.php:1139
6445
  msgid ""
6446
  "Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
6447
  "\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
6448
  "are using."
6449
  msgstr ""
6450
 
6451
+ #: wp-security-audit-log.php:1141
6452
  msgid ""
6453
  "The WP Security Audit Log plugin is a multisite network tool, so it has to "
6454
  "be activated at network level."
6455
  msgstr ""
6456
 
6457
+ #: wp-security-audit-log.php:1143
6458
  msgid "Redirect me to the network dashboard"
6459
  msgstr ""
6460
 
6461
+ #: wp-security-audit-log.php:1148
6462
  #, php-format
6463
  msgid "Please install the %s plugin on the MainWP dashboard."
6464
  msgstr ""
6465
 
6466
+ #: wp-security-audit-log.php:1148
6467
  msgid "Activity Log for MainWP"
6468
  msgstr ""
6469
 
6470
+ #: wp-security-audit-log.php:1150
6471
  #, php-format
6472
  msgid ""
6473
  "The WP Security Audit Log should be installed on the child sites only. Refer "
6474
  "to the %s for more information."
6475
  msgstr ""
6476
 
6477
+ #: wp-security-audit-log.php:1150
6478
  msgid "getting started guide"
6479
  msgstr ""
6480
 
6481
+ #: wp-security-audit-log.php:1236
6482
  msgid ""
6483
  "This plugin uses 3 tables in the WordPress database to store the activity "
6484
  "log and settings. It seems that these tables were not created."
6485
  msgstr ""
6486
 
6487
+ #: wp-security-audit-log.php:1238
6488
  msgid ""
6489
  "This could happen because the database user does not have the right "
6490
  "privileges to create the tables in the database. We recommend you to update "
6491
  "the privileges and try enabling the plugin again."
6492
  msgstr ""
6493
 
6494
+ #: wp-security-audit-log.php:1240
6495
  #, php-format
6496
  msgid ""
6497
  "If after doing so you still have issues, please send us an email on %s for "
6498
  "assistance."
6499
  msgstr ""
6500
 
6501
+ #: wp-security-audit-log.php:1240
6502
  msgid "support@wpsecurityauditlog.com"
6503
  msgstr ""
6504
 
6505
+ #: wp-security-audit-log.php:1866
6506
  msgid "Every 6 hours"
6507
  msgstr ""
6508
 
6509
+ #: wp-security-audit-log.php:1870
6510
  msgid "Every 45 minutes"
6511
  msgstr ""
6512
 
6513
+ #: wp-security-audit-log.php:1874
6514
  msgid "Every 30 minutes"
6515
  msgstr ""
6516
 
6517
+ #: wp-security-audit-log.php:1878
6518
  msgid "Every 15 minutes"
6519
  msgstr ""
6520
 
6521
+ #: wp-security-audit-log.php:1882
6522
  msgid "Every 10 minutes"
6523
  msgstr ""
6524
 
6525
+ #: wp-security-audit-log.php:1886
6526
  msgid "Every 1 minute"
6527
  msgstr ""
6528
 
6529
  #. translators: 1. Deprecated method name 2. Version since deprecated
6530
+ #: wp-security-audit-log.php:1900
6531
  #, php-format
6532
  msgid "Method %1$s is deprecated since version %2$s!"
6533
  msgstr ""
readme.txt CHANGED
@@ -5,8 +5,8 @@ License: GPLv3
5
  License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: wordpress security plugin, wordpress security audit log, audit log, activity logs, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, wordpress security monitor, wordpress admin, wordpress admin monitoring, user activity, admin, multisite, dashboard, notification, wordpress monitoring, email notification, wordpress email alerts, SMS messages, tracking, user tracking, user activity report, wordpress audit trail
7
  Requires at least: 3.6
8
- Tested up to: 5.2.3
9
- Stable tag: 3.5
10
  Requires PHP: 5.5
11
 
12
  An easy to use & comprehensive WordPress activity log plugin to log all changes on WordPress sites & multisite networks.
@@ -204,26 +204,27 @@ Please refer to our [Support & Documentation pages](https://www.wpsecurityauditl
204
 
205
  == Changelog ==
206
 
207
- Release notes: [Update 3.5 - New configurable front-end sensors & improved wizard](https://www.wpsecurityauditlog.com/releases/update-3-5/)
208
 
209
- = 3.5 (2019-09-12) =
210
 
211
  * **New Features**
212
 
213
- * 3 new front-end sensors that can be individually enabled / disabled individually (used for front end activity, such as logins from non-default WordPress login page).
214
 
215
  * **Improvements**
216
 
217
- * Improved the hide plugin feature: number of installed plugins is also adjusted when plugin is hidden.
218
- * Added new steps in the wizard to help users configure the front-end sensors when they install the plugin.
219
- * Plugin keeps log of stock changes when orders are placed manually or items in orders are changed ([WooCommerce Activity Log](https://www.wpsecurityauditlog.com/woocommerce-activity-log-datasheet/)).
220
- * Removed event ID 2126 (visitor posted a comment): noticed almost all users disable it since this is trivial information / change.
221
 
222
  * **Bug Fixes**
223
 
224
- * Plugin was not reporting correct product name & stock quantity when WooCommerce Tab Manager was installed.
225
- * Mirroring cron jobs not firing / not copying logs to mirror.
226
- * Unhandled error when using custom login pages.
 
227
 
228
  = Earlier versions =
229
 
5
  License URI: http://www.gnu.org/licenses/gpl.html
6
  Tags: wordpress security plugin, wordpress security audit log, audit log, activity logs, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, wordpress security monitor, wordpress admin, wordpress admin monitoring, user activity, admin, multisite, dashboard, notification, wordpress monitoring, email notification, wordpress email alerts, SMS messages, tracking, user tracking, user activity report, wordpress audit trail
7
  Requires at least: 3.6
8
+ Tested up to: 5.3
9
+ Stable tag: 3.5.1
10
  Requires PHP: 5.5
11
 
12
  An easy to use & comprehensive WordPress activity log plugin to log all changes on WordPress sites & multisite networks.
204
 
205
  == Changelog ==
206
 
207
+ Release notes: [Update 3.5.1 - New filters for the activity log viewer & other improvements](https://www.wpsecurityauditlog.com/releases/update-3-5-1/)
208
 
209
+ = 3.5.1 (2019-10-22) =
210
 
211
  * **New Features**
212
 
213
+ * Filters and sorting capabitilies added to the Severity column in the activity log viewer.
214
 
215
  * **Improvements**
216
 
217
+ * Improved the way data is reported in some [WooCommerce activity log events](https://www.wpsecurityauditlog.com/woocommerce-activity-log-datasheet/).
218
+ * Added more links to the [plugin documentation](https://www.wpsecurityauditlog.com/support-documentation/) in the settings pages.
219
+ * Improved the reporting of Event ID 2022 (date change), it is no longer reported with every change on draft post.
220
+ * Improved user logout detection to detect logouts when using plugins such as Login and Logout Redirect.
221
 
222
  * **Bug Fixes**
223
 
224
+ * Multiple events reported when a new post is saved with the Classic Editor
225
+ * List of failed logins IP addresses not displayed properly in daily email when using outlook.
226
+ * Fixed compatibility issue with the Newspaper news theme.
227
+ * Removed incorrect use of parameter in add_submenu_page (credits: [Chris Van Patten](https://github.com/chrisvanpatten)).
228
 
229
  = Earlier versions =
230
 
sdk/wsal-freemius.php CHANGED
@@ -25,7 +25,6 @@ if ( file_exists( dirname( __FILE__ ) . '/freemius/start.php' ) ) {
25
  * Create a helper function for easy SDK access.
26
  *
27
  * @return Freemius
28
- * @author Ashar Irfan
29
  */
30
  function wsal_freemius() {
31
  global $wsal_freemius;
25
  * Create a helper function for easy SDK access.
26
  *
27
  * @return Freemius
 
28
  */
29
  function wsal_freemius() {
30
  global $wsal_freemius;
wp-security-audit-log.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: http://www.wpsecurityauditlog.com/
5
  * Description: Identify WordPress security issues before they become a problem. Keep track of everything happening on your WordPress including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log generates a security alert for everything that happens on your WordPress blogs and websites. Use the Audit Log Viewer included in the plugin to see all the security alerts.
6
  * Author: WP White Security
7
- * Version: 3.5
8
  * Text Domain: wp-security-audit-log
9
  * Author URI: http://www.wpwhitesecurity.com/
10
  * License: GPL2
@@ -46,7 +46,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
46
  *
47
  * @var string
48
  */
49
- public $version = '3.5';
50
 
51
  // Plugin constants.
52
  const PLG_CLS_PRFX = 'WSAL_';
@@ -671,11 +671,6 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
671
  exit();
672
  }
673
 
674
- if ( get_option( 'wsal-redirect-to-frontend-wizard', false ) ) {
675
- delete_option( 'wsal-redirect-to-frontend-wizard' );
676
- wp_safe_redirect( add_query_arg( 'page', 'wsal-front-setup', admin_url( 'index.php' ) ) );
677
- exit();
678
- }
679
  }
680
 
681
  /**
@@ -1063,7 +1058,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1063
  );
1064
 
1065
  // Check if plugin is premium and live events are enabled.
1066
- $is_premium = wsal_freemius()->can_use_premium_code() || wsal_freemius()->is_plan__premium_only( 'starter' );
1067
  $live_events_enabled = $is_premium && $this->settings->is_admin_bar_notif() && 'real-time' === $this->settings->get_admin_bar_notif_updates();
1068
 
1069
  // Set data array for common script.
@@ -1447,7 +1442,6 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1447
  }
1448
 
1449
  $this->settings->set_frontend_events( $frontend_events );
1450
- add_option( 'wsal-redirect-to-frontend-wizard', true );
1451
  }
1452
  }
1453
  }
4
  * Plugin URI: http://www.wpsecurityauditlog.com/
5
  * Description: Identify WordPress security issues before they become a problem. Keep track of everything happening on your WordPress including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log generates a security alert for everything that happens on your WordPress blogs and websites. Use the Audit Log Viewer included in the plugin to see all the security alerts.
6
  * Author: WP White Security
7
+ * Version: 3.5.1
8
  * Text Domain: wp-security-audit-log
9
  * Author URI: http://www.wpwhitesecurity.com/
10
  * License: GPL2
46
  *
47
  * @var string
48
  */
49
+ public $version = '3.5.1';
50
 
51
  // Plugin constants.
52
  const PLG_CLS_PRFX = 'WSAL_';
671
  exit();
672
  }
673
 
 
 
 
 
 
674
  }
675
 
676
  /**
1058
  );
1059
 
1060
  // Check if plugin is premium and live events are enabled.
1061
+ $is_premium = ( function_exists( 'wsal_freemius' ) ) && ( wsal_freemius()->can_use_premium_code() || wsal_freemius()->is_plan__premium_only( 'starter' ) );
1062
  $live_events_enabled = $is_premium && $this->settings->is_admin_bar_notif() && 'real-time' === $this->settings->get_admin_bar_notif_updates();
1063
 
1064
  // Set data array for common script.
1442
  }
1443
 
1444
  $this->settings->set_frontend_events( $frontend_events );
 
1445
  }
1446
  }
1447
  }