WP Security Audit Log - Version 4.1.2

Version Description

(2020-06-24) =

Release notes: WP Activity Log fully integrated with Website File Changes Monitor

  • New

    • Plugin now uses the Website File Changes Monitor plugin for file integrity monitor scans.
  • Improvements

    • Event ID 6033 now reports when file integrity monitoring scans start and stop.
    • File changes events in the activity log link directly to the changes reported in Website File Changes Monitor.
    • Log files custom path setting reverts to default path if left empty.
  • Bug fix

    • Plugin creating the log files outside website directory if Website URL is different than WordPress URL.

Refer to the complete plugin changelog for more detailed information about what was new, improved and fixed in previous versions of the WP Activity Log plugin.

Download this release

Release Info

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

Code changes from version 4.1.0 to 4.1.2

classes/AbstractSensor.php CHANGED
@@ -24,7 +24,7 @@ abstract class WSAL_AbstractSensor {
24
  /**
25
  * Instance of WpSecurityAuditLog.
26
  *
27
- * @var object
28
  */
29
  protected $plugin;
30
 
24
  /**
25
  * Instance of WpSecurityAuditLog.
26
  *
27
+ * @var WpSecurityAuditLog
28
  */
29
  protected $plugin;
30
 
classes/AuditLogListView.php CHANGED
@@ -245,6 +245,7 @@ class WSAL_AuditLogListView extends WP_List_Table {
245
  }
246
  }
247
 
 
248
  // Switch to live or archive DB.
249
  if ( $this->_plugin->settings->IsArchivingEnabled() ) {
250
  if (
245
  }
246
  }
247
 
248
+
249
  // Switch to live or archive DB.
250
  if ( $this->_plugin->settings->IsArchivingEnabled() ) {
251
  if (
classes/Helpers/Options.php CHANGED
@@ -131,7 +131,7 @@ class Options {
131
  require_once ABSPATH . 'wp-admin/includes/file.php';
132
  }
133
  $relative_path = $this->get_option_value( 'custom-logging-dir', \WSAL_Settings::DEFAULT_LOGGING_DIR );
134
- $absolute_path = trailingslashit( \get_home_path() ) . trailingslashit( ltrim( $relative_path, '/' ) );
135
  return $absolute_path;
136
  }
137
 
@@ -153,6 +153,7 @@ class Options {
153
  $relative_url = $this->get_option_value( 'custom-logging-dir', \WSAL_Settings::DEFAULT_LOGGING_DIR );
154
  $absolute_url = trailingslashit( \get_site_url() ) . trailingslashit( ltrim( $relative_url, '/' ) );
155
  return $absolute_url;
 
156
  }
157
 
158
  }
131
  require_once ABSPATH . 'wp-admin/includes/file.php';
132
  }
133
  $relative_path = $this->get_option_value( 'custom-logging-dir', \WSAL_Settings::DEFAULT_LOGGING_DIR );
134
+ $absolute_path = trailingslashit( ABSPATH ) . trailingslashit( ltrim( $relative_path, '/' ) );
135
  return $absolute_path;
136
  }
137
 
153
  $relative_url = $this->get_option_value( 'custom-logging-dir', \WSAL_Settings::DEFAULT_LOGGING_DIR );
154
  $absolute_url = trailingslashit( \get_site_url() ) . trailingslashit( ltrim( $relative_url, '/' ) );
155
  return $absolute_url;
156
+
157
  }
158
 
159
  }
classes/Models/ActiveRecord.php CHANGED
@@ -184,7 +184,7 @@ abstract class WSAL_Models_ActiveRecord {
184
  case is_array( $copy->$key ):
185
  case is_object( $copy->$key ):
186
  $json_decoded_val = WSAL_Helpers_DataHelper::JsonDecode( $val );
187
- $this->$key = ( null == $json_decoded_val ) ? $val : $json_decoded_val;
188
  break;
189
  case is_int( $copy->$key ):
190
  $this->$key = (int) $val;
@@ -220,10 +220,10 @@ abstract class WSAL_Models_ActiveRecord {
220
  $this->created_on = $this->GetMicrotime();
221
  }
222
  $update_id = $this->getId();
223
- $result = $this->getAdapter()->Save( $this );
224
 
225
  if ( false !== $result ) {
226
- $this->_state = ( ! empty( $update_id ) ) ? self::STATE_UPDATED : self::STATE_CREATED;
227
  }
228
  return $result;
229
  }
@@ -236,7 +236,7 @@ abstract class WSAL_Models_ActiveRecord {
236
  */
237
  public function Delete() {
238
  $this->_state = self::STATE_UNKNOWN;
239
- $result = $this->getAdapter()->Delete( $this );
240
  if ( false !== $result ) {
241
  $this->_state = self::STATE_DELETED;
242
  }
184
  case is_array( $copy->$key ):
185
  case is_object( $copy->$key ):
186
  $json_decoded_val = WSAL_Helpers_DataHelper::JsonDecode( $val );
187
+ $this->$key = ( null == $json_decoded_val ) ? $val : $json_decoded_val;
188
  break;
189
  case is_int( $copy->$key ):
190
  $this->$key = (int) $val;
220
  $this->created_on = $this->GetMicrotime();
221
  }
222
  $update_id = $this->getId();
223
+ $result = $this->getAdapter()->Save( $this );
224
 
225
  if ( false !== $result ) {
226
+ $this->_state = ( ! empty( $update_id )) ? self::STATE_UPDATED : self::STATE_CREATED;
227
  }
228
  return $result;
229
  }
236
  */
237
  public function Delete() {
238
  $this->_state = self::STATE_UNKNOWN;
239
+ $result = $this->getAdapter()->Delete( $this );
240
  if ( false !== $result ) {
241
  $this->_state = self::STATE_DELETED;
242
  }
classes/Models/Occurrence.php CHANGED
@@ -204,6 +204,10 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
204
  'name' => __( 'BBPress', 'wp-security-audit-log' ),
205
  'event_ids' => array( 8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015, 8016, 8017, 8018, 8019, 8020, 8021, 8022, 8023 ),
206
  ),
 
 
 
 
207
  );
208
  $installer_nonce = wp_create_nonce( 'wsal-install-addon' );
209
  foreach ( $addon_event_codes as $key => $addon ) {
@@ -211,7 +215,7 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
211
  if ( in_array( $this->alert_id, $addon['event_ids'], true ) ) {
212
  // check key and update message here.
213
  $message = sprintf(
214
- 'The details of this event are unknown. You need to install the add-on for %1$s to see the details.%2$s%3$sInstall and activate add-on%4$s',
215
  esc_html( $addon['name'] ),
216
  '<br />',
217
  '<button type="button" class="button-primary wsal-addon-install-trigger" data-nonce="' . esc_attr( $installer_nonce ) . '" data-addon-name="' . esc_attr( $key ) . '">',
204
  'name' => __( 'BBPress', 'wp-security-audit-log' ),
205
  'event_ids' => array( 8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015, 8016, 8017, 8018, 8019, 8020, 8021, 8022, 8023 ),
206
  ),
207
+ 'wfcm' => array(
208
+ 'name' => __( 'WFCM', 'wp-security-audit-log' ),
209
+ 'event_ids' => array( 6028, 6029, 6030, 6031, 6032, 6033 ),
210
+ ),
211
  );
212
  $installer_nonce = wp_create_nonce( 'wsal-install-addon' );
213
  foreach ( $addon_event_codes as $key => $addon ) {
215
  if ( in_array( $this->alert_id, $addon['event_ids'], true ) ) {
216
  // check key and update message here.
217
  $message = sprintf(
218
+ 'The details of this event are unknown. You need to install the add-on for %1$s to see the details.%2$s%3$sInstall and activate extension %4$s',
219
  esc_html( $addon['name'] ),
220
  '<br />',
221
  '<button type="button" class="button-primary wsal-addon-install-trigger" data-nonce="' . esc_attr( $installer_nonce ) . '" data-addon-name="' . esc_attr( $key ) . '">',
classes/SensorManager.php CHANGED
@@ -81,8 +81,8 @@ final class WSAL_SensorManager extends WSAL_AbstractSensor {
81
  /*
82
  * @since 3.5.1 Allow loading classes where names match the
83
  * filename 1:1. Prior to version 3.5.1 sensors were always
84
- * asummed to be defined WITH `WSAL_Sensors_` prefis in the
85
- * class name but WITHOUT it in the filename. This behavor
86
  * is retained for back-compat.
87
  */
88
  $class = ( class_exists( $sensor ) ) ? $sensor : 'WSAL_Sensors_' . $sensor;
@@ -297,18 +297,6 @@ final class WSAL_SensorManager extends WSAL_AbstractSensor {
297
  }
298
  break;
299
 
300
- case 'FileChanges':
301
- // If file changes is disabled then don't load file changes sensor.
302
- if ( 'enable' !== $this->plugin->GetGlobalOption( 'scan-file-changes', 'enable' ) ) {
303
- $load_sensor = false;
304
-
305
- // Clear scheduled hook if there is any hook scheduled.
306
- if ( wp_next_scheduled( WSAL_Sensors_FileChanges::$schedule_hook ) ) {
307
- wp_clear_scheduled_hook( WSAL_Sensors_FileChanges::$schedule_hook );
308
- }
309
- }
310
- break;
311
-
312
  case 'FrontendWooCommerce':
313
  if ( is_user_logged_in() || ! WpSecurityAuditLog::is_woocommerce_active() || empty( $frontend_events['woocommerce'] ) ) {
314
  $load_sensor = false;
81
  /*
82
  * @since 3.5.1 Allow loading classes where names match the
83
  * filename 1:1. Prior to version 3.5.1 sensors were always
84
+ * assumed to be defined WITH `WSAL_Sensors_` prefix in the
85
+ * class name but WITHOUT it in the filename. This behavior
86
  * is retained for back-compat.
87
  */
88
  $class = ( class_exists( $sensor ) ) ? $sensor : 'WSAL_Sensors_' . $sensor;
297
  }
298
  break;
299
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  case 'FrontendWooCommerce':
301
  if ( is_user_logged_in() || ! WpSecurityAuditLog::is_woocommerce_active() || empty( $frontend_events['woocommerce'] ) ) {
302
  $load_sensor = false;
classes/Sensors/FileChanges.php DELETED
@@ -1,1052 +0,0 @@
1
- <?php
2
- /**
3
- * Sensor: File Changes Detection
4
- *
5
- * Sensor file for detecting file changes.
6
- *
7
- * @since 3.2
8
- * @package Wsal
9
- */
10
-
11
- // Exit if accessed directly.
12
- if ( ! defined( 'ABSPATH' ) ) {
13
- exit;
14
- }
15
-
16
- /**
17
- * Class: File Change Detection Sensor
18
- *
19
- * @package Wsal
20
- */
21
- class WSAL_Sensors_FileChanges extends WSAL_AbstractSensor {
22
-
23
- /**
24
- * WP Root Path.
25
- *
26
- * @var string
27
- */
28
- private $root_path = '';
29
-
30
- /**
31
- * Paths to exclude during scan.
32
- *
33
- * @var array
34
- */
35
- private $excludes = array();
36
-
37
- /**
38
- * View settings.
39
- *
40
- * @var array
41
- */
42
- public $scan_settings = array();
43
-
44
- /**
45
- * Frequency daily hour
46
- * For testing change hour here [01 to 23]
47
- *
48
- * @var array
49
- */
50
- private static $daily_hour = array( '04' );
51
-
52
- /**
53
- * Frequency weekly date
54
- * For testing change date here [1 (for Monday) through 7 (for Sunday)]
55
- *
56
- * @var string
57
- */
58
- private static $weekly_day = '1';
59
-
60
- /**
61
- * Frequency montly date
62
- * For testing change date here [01 to 31]
63
- *
64
- * @var string
65
- */
66
- private static $monthly_day = '01';
67
-
68
- /**
69
- * Schedule hook name
70
- * For testing change the name
71
- *
72
- * @var string
73
- */
74
- public static $schedule_hook = 'wsal_detect_file_changes';
75
-
76
- /**
77
- * Scan files counter during a scan.
78
- *
79
- * @var int
80
- */
81
- private $scan_file_count = 0;
82
-
83
- /**
84
- * Scan files limit reached.
85
- *
86
- * @var bool
87
- */
88
- private $scan_limit_file = false;
89
-
90
- /**
91
- * WP uploads directory.
92
- *
93
- * @var array
94
- */
95
- private $uploads_dir = array();
96
-
97
- /**
98
- * Class constants.
99
- */
100
- const SCAN_DAILY = 'daily';
101
- const SCAN_WEEKLY = 'weekly';
102
- const SCAN_MONTHLY = 'monthly';
103
- const SCAN_FILE_LIMIT = 1000000;
104
-
105
- /**
106
- * Method: Constructor.
107
- *
108
- * @param WpSecurityAuditLog $plugin - Instance of WpSecurityAuditLog.
109
- */
110
- public function __construct( WpSecurityAuditLog $plugin ) {
111
- // Call to parent constructor.
112
- parent::__construct( $plugin );
113
-
114
- // Set root path.
115
- $this->root_path = trailingslashit( ABSPATH );
116
-
117
- if ( empty( $this->scan_settings ) ) {
118
- $this->load_file_change_settings();
119
- }
120
-
121
- add_action( 'wsal_init', array( $this, 'schedule_file_changes' ) );
122
- }
123
-
124
- /**
125
- * Listening to events using WP hooks.
126
- */
127
- public function HookEvents() {
128
- // Disable the sensor if file changes is disabled.
129
- if ( isset( $this->scan_settings['scan_file_changes'] ) && 'enable' !== $this->scan_settings['scan_file_changes'] ) {
130
- return;
131
- }
132
-
133
- // Filter stored and scanned files to balance scan file exclusion.
134
- add_filter( 'wsal_file_scan_stored_files', array( $this, 'filter_scan_files' ), 10, 2 );
135
- add_filter( 'wsal_file_scan_scanned_files', array( $this, 'filter_scan_files' ), 10, 2 );
136
-
137
- // Empty skip file alerts array.
138
- add_action( 'wsal_after_file_scan', array( $this, 'empty_skip_file_alerts' ), 10, 1 );
139
-
140
- // Reset skip core updates flag to normal.
141
- add_action( 'wsal_last_scanned_directory', array( $this, 'reset_core_updates_flag' ), 10, 1 );
142
- }
143
-
144
- /**
145
- * Method: Reset file and directory counter for scan.
146
- */
147
- public function reset_scan_counter() {
148
- $this->scan_file_count = 0;
149
- $this->scan_limit_file = false;
150
- }
151
-
152
- /**
153
- * Method: Load file detection settings.
154
- */
155
- public function load_file_change_settings() {
156
- $default_scan_dirs = array_keys( $this->plugin->settings->get_server_directories( 'display' ) );
157
-
158
- // Load file detection settings.
159
- $this->scan_settings = array(
160
- 'scan_file_changes' => $this->plugin->GetGlobalOption( 'scan-file-changes', 'enable' ),
161
- 'scan_frequency' => $this->plugin->GetGlobalOption( 'scan-frequency', 'weekly' ),
162
- 'scan_hour' => $this->plugin->GetGlobalOption( 'scan-hour', '04' ),
163
- 'scan_day' => $this->plugin->GetGlobalOption( 'scan-day', '1' ),
164
- 'scan_date' => $this->plugin->GetGlobalOption( 'scan-date', '10' ),
165
- 'scan_directories' => $this->plugin->GetGlobalOption( 'scan-directories', $default_scan_dirs ),
166
- 'excluded_dirs' => $this->plugin->GetGlobalOption( 'scan-excluded-directories', array( trailingslashit( WP_CONTENT_DIR ) . 'cache' ) ),
167
- 'excluded_extensions' => $this->plugin->GetGlobalOption( 'scan-excluded-extensions', array( 'jpg', 'jpeg', 'png', 'bmp', 'pdf', 'txt', 'log', 'mo', 'po', 'mp3', 'wav', 'gif', 'ico', 'jpe', 'psd', 'raw', 'svg', 'tif', 'tiff', 'aif', 'flac', 'm4a', 'oga', 'ogg', 'ra', 'wma', 'asf', 'avi', 'mkv', 'mov', 'mp4', 'mpe', 'mpeg', 'mpg', 'ogv', 'qt', 'rm', 'vob', 'webm', 'wm', 'wmv' ) ),
168
- 'excluded_files' => $this->plugin->GetGlobalOption( 'scan_excluded_files', array() ),
169
- 'last_scanned' => $this->plugin->GetGlobalOption( 'last-scanned', false ),
170
- 'file_size_limit' => $this->plugin->GetGlobalOption( 'scan-file-size-limit', 5 ),
171
- );
172
-
173
- // Set the scan hours.
174
- if ( ! empty( $this->scan_settings['scan_hour'] ) ) {
175
- $saved_hour = (int) $this->scan_settings['scan_hour'];
176
- $next_hour = $saved_hour + 1;
177
- $hours = array( $saved_hour, $next_hour );
178
- foreach ( $hours as $hour ) {
179
- $daily_hour[] = str_pad( $hour, 2, '0', STR_PAD_LEFT );
180
- }
181
- self::$daily_hour = $daily_hour;
182
- }
183
-
184
- // Set weekly day.
185
- if ( ! empty( $this->scan_settings['scan_day'] ) ) {
186
- self::$weekly_day = $this->scan_settings['scan_day'];
187
- }
188
-
189
- // Set monthly date.
190
- if ( ! empty( $this->scan_settings['scan_date'] ) ) {
191
- self::$monthly_day = $this->scan_settings['scan_date'];
192
- }
193
- }
194
-
195
- /**
196
- * Method: Schedule file changes.
197
- */
198
- public function schedule_file_changes() {
199
- // Schedule file changes if the feature is enabled.
200
- if ( is_multisite() && ! is_main_site() ) {
201
- // Clear the scheduled hook if feature is disabled.
202
- wp_clear_scheduled_hook( self::$schedule_hook );
203
- } elseif ( 'enable' === $this->scan_settings['scan_file_changes'] ) {
204
- // Hook scheduled method.
205
- add_action( self::$schedule_hook, array( $this, 'detect_file_changes' ) );
206
-
207
- // Schedule event if there isn't any already.
208
- if ( ! wp_next_scheduled( self::$schedule_hook ) ) {
209
- wp_schedule_event(
210
- time(), // Timestamp.
211
- 'tenminutes', // Frequency.
212
- self::$schedule_hook // Scheduled event.
213
- );
214
- }
215
- } else {
216
- // Clear the scheduled hook if feature is disabled.
217
- wp_clear_scheduled_hook( self::$schedule_hook );
218
- }
219
- }
220
-
221
- /**
222
- * Method: Detect file changes.
223
- *
224
- * @param bool $manual - Set to true for manual scan.
225
- * @param int $last_scanned - Last scanned directory index of server directories. Helpful in performing manual scan.
226
- */
227
- public function detect_file_changes( $manual = false, $last_scanned = null ) {
228
- // Check scan time frequency & last scanned directory list.
229
- if ( ! $manual && ! $this->check_start_scan( $this->scan_settings['scan_frequency'] ) ) {
230
- return;
231
- }
232
-
233
- // Check if a scan is already in progress.
234
- if ( $this->plugin->GetGlobalOption( 'scan-in-progress', false ) ) {
235
- return;
236
- }
237
-
238
- // Set the scan in progress to true because the scan has started.
239
- $this->plugin->SetGlobalOption( 'scan-in-progress', true );
240
-
241
- // Check last scanned for manual scan.
242
- if ( ! $manual && is_null( $last_scanned ) ) {
243
- // Replace the last scanned value with the setting value
244
- // if the scan is not manual and last scan value is null.
245
- $last_scanned = $this->scan_settings['last_scanned'];
246
- }
247
-
248
- // Get directories to be scanned.
249
- $directories = $this->scan_settings['scan_directories'];
250
-
251
- // Set the next directory to scan.
252
- if ( ! $manual ) {
253
- if ( false === $last_scanned || $last_scanned > 5 ) {
254
- $next_to_scan = 0;
255
- } elseif ( 'root' === $last_scanned ) {
256
- $next_to_scan = 1;
257
- } else {
258
- $next_to_scan = $last_scanned + 1;
259
- }
260
- } else {
261
- $next_to_scan = $last_scanned;
262
- }
263
-
264
- // Set the options name for file list.
265
- $file_list = "local_files_$next_to_scan";
266
-
267
- // Server directories.
268
- $server_dirs = $this->plugin->settings->get_server_directories();
269
-
270
- // Get directory path to scan.
271
- $path_to_scan = $server_dirs[ $next_to_scan ];
272
-
273
- if ( ( empty( $path_to_scan ) && in_array( 'root', $directories, true ) )
274
- || ( ! empty( $path_to_scan ) && in_array( $path_to_scan, $directories, true ) ) ) {
275
- // Exclude everything else.
276
- unset( $server_dirs[ $next_to_scan ] );
277
- $this->excludes = $server_dirs;
278
-
279
- // Get list of files to scan from DB.
280
- $stored_files = $this->plugin->GetGlobalOption( $file_list, array() );
281
-
282
- /**
283
- * `Filter`: Stored files filter.
284
- *
285
- * @param array $stored_files – Files array already saved in DB from last scan.
286
- * @param string $path_to_scan – Path currently being scanned.
287
- */
288
- $filtered_stored_files = apply_filters( 'wsal_file_scan_stored_files', $stored_files, $path_to_scan );
289
-
290
- // Get array of already directories scanned from DB.
291
- $scanned_dirs = $this->plugin->GetGlobalOption( 'scanned_dirs', array() );
292
-
293
- // If already scanned directories don't exist then it marks the start of a scan.
294
- if ( ! $manual && empty( $scanned_dirs ) ) {
295
- $this->plugin->SetGlobalOption( 'last_scan_start', time() );
296
- }
297
-
298
- /**
299
- * Before file scan action hook.
300
- *
301
- * @param string $path_to_scan - Directory path to scan.
302
- */
303
- do_action( 'wsal_before_file_scan', $path_to_scan );
304
-
305
- // Reset scan counter.
306
- $this->reset_scan_counter();
307
-
308
- // Scan the path.
309
- $scanned_files = $this->scan_path( $path_to_scan );
310
-
311
- /**
312
- * `Filter`: Scanned files filter.
313
- *
314
- * @param array $scanned_files – Files array already saved in DB from last scan.
315
- * @param string $path_to_scan – Path currently being scanned.
316
- */
317
- $filtered_scanned_files = apply_filters( 'wsal_file_scan_scanned_files', $scanned_files, $path_to_scan );
318
-
319
- // Add the currently scanned path to scanned directories.
320
- $scanned_dirs[] = $path_to_scan;
321
-
322
- /**
323
- * After file scan action hook.
324
- *
325
- * @param string $path_to_scan - Directory path to scan.
326
- */
327
- do_action( 'wsal_after_file_scan', $path_to_scan );
328
-
329
- // Get initial scan setting.
330
- $initial_scan = $this->plugin->GetGlobalOption( "is_initial_scan_$next_to_scan", 'yes' );
331
-
332
- // If the scan is not initial then.
333
- if ( 'yes' !== $initial_scan ) {
334
- // Compare the results to find out about file added and removed.
335
- $files_added = array_diff_key( $filtered_scanned_files, $filtered_stored_files );
336
- $files_removed = array_diff_key( $filtered_stored_files, $filtered_scanned_files );
337
-
338
- /**
339
- * File changes.
340
- *
341
- * To scan the files with changes, we need to
342
- *
343
- * 1. Remove the newly added files from scanned files – no need to add them to changed files array.
344
- * 2. Remove the deleted files from already logged files – no need to compare them since they are removed.
345
- * 3. Then start scanning for differences – check the difference in hash.
346
- */
347
- $scanned_files_minus_added = array_diff_key( $filtered_scanned_files, $files_added );
348
- $stored_files_minus_deleted = array_diff_key( $filtered_stored_files, $files_removed );
349
-
350
- // Changed files array.
351
- $files_changed = array();
352
-
353
- // Go through each newly scanned file.
354
- foreach ( $scanned_files_minus_added as $file => $file_hash ) {
355
- // Check if it exists in already stored array of files, ignore if the key does not exists.
356
- if ( array_key_exists( $file, $stored_files_minus_deleted ) ) {
357
- // If key exists, then check if the file hash is set and compare it to already stored hash.
358
- if (
359
- ! empty( $file_hash ) && ! empty( $stored_files_minus_deleted[ $file ] )
360
- && 0 !== strcmp( $file_hash, $stored_files_minus_deleted[ $file ] )
361
- ) {
362
- // If the file hashes don't match then store the file in changed files array.
363
- $files_changed[ $file ] = $file_hash;
364
- }
365
- }
366
- }
367
-
368
- // Files added alert.
369
- if ( count( $files_added ) > 0 ) {
370
- // Get excluded site content.
371
- $site_content = $this->plugin->GetGlobalOption( 'site_content' );
372
-
373
- // Log the alert.
374
- foreach ( $files_added as $file => $file_hash ) {
375
- // Get directory name.
376
- $directory_name = dirname( $file );
377
-
378
- // Check if the directory is in excluded directories list.
379
- if (
380
- ! empty( $site_content->skip_directories )
381
- && in_array( $directory_name, $site_content->skip_directories, true )
382
- ) {
383
- continue; // If true, then skip the loop.
384
- }
385
-
386
- // Get filename from file path.
387
- $filename = basename( $file );
388
-
389
- // Check if the filename is in excluded files list.
390
- if (
391
- ! empty( $site_content->skip_files )
392
- && in_array( $filename, $site_content->skip_files, true )
393
- ) {
394
- continue; // If true, then skip the loop.
395
- }
396
-
397
- // Check for allowed extensions.
398
- if (
399
- ! empty( $site_content->skip_extensions )
400
- && in_array( pathinfo( $filename, PATHINFO_EXTENSION ), $site_content->skip_extensions, true )
401
- ) {
402
- continue; // If true, then skip the loop.
403
- }
404
-
405
- // Created file event.
406
- $this->plugin->alerts->Trigger(
407
- 6029,
408
- array(
409
- 'File' => basename( $file ),
410
- 'FileLocation' => dirname( $file ),
411
- 'FileHash' => $file_hash,
412
- 'CurrentUserID' => '0',
413
- )
414
- );
415
- }
416
- }
417
-
418
- // Files removed alert.
419
- if ( count( $files_removed ) > 0 ) {
420
- // Log the alert.
421
- foreach ( $files_removed as $file => $file_hash ) {
422
- // Get directory name.
423
- $directory_name = dirname( $file );
424
-
425
- // Check if directory is in excluded directories list.
426
- if ( in_array( $directory_name, $this->scan_settings['excluded_dirs'], true ) ) {
427
- continue; // If true, then skip the loop.
428
- }
429
-
430
- // Get filename from file path.
431
- $filename = basename( $file );
432
-
433
- // Check if the filename is in excluded files list.
434
- if ( in_array( $filename, $this->scan_settings['excluded_files'], true ) ) {
435
- continue; // If true, then skip the loop.
436
- }
437
-
438
- // Check for allowed extensions.
439
- if ( in_array( pathinfo( $filename, PATHINFO_EXTENSION ), $this->scan_settings['excluded_extensions'], true ) ) {
440
- continue; // If true, then skip the loop.
441
- }
442
-
443
- // Removed file event.
444
- $this->plugin->alerts->Trigger(
445
- 6030,
446
- array(
447
- 'File' => basename( $file ),
448
- 'FileLocation' => dirname( $file ),
449
- 'FileHash' => $file_hash,
450
- 'CurrentUserID' => '0',
451
- )
452
- );
453
- }
454
- }
455
-
456
- // Files edited alert.
457
- if ( count( $files_changed ) > 0 ) {
458
- // Log the alert.
459
- foreach ( $files_changed as $file => $file_hash ) {
460
- $this->plugin->alerts->Trigger(
461
- 6028,
462
- array(
463
- 'File' => basename( $file ),
464
- 'FileLocation' => dirname( $file ),
465
- 'FileHash' => $file_hash,
466
- 'CurrentUserID' => '0',
467
- )
468
- );
469
- }
470
- }
471
-
472
- // Check for files limit alert.
473
- if ( $this->scan_limit_file ) {
474
- $this->plugin->alerts->Trigger(
475
- 6032,
476
- array(
477
- 'CurrentUserID' => '0',
478
- )
479
- );
480
- }
481
-
482
- /**
483
- * `Action`: Last scanned directory.
484
- *
485
- * @param int $next_to_scan – Last scanned directory.
486
- */
487
- do_action( 'wsal_last_scanned_directory', $next_to_scan );
488
- } else {
489
- $this->plugin->SetGlobalOption( "is_initial_scan_$next_to_scan", 'no' ); // Initial scan check set to false.
490
- }
491
-
492
- // Store scanned files list.
493
- $this->plugin->SetGlobalOption( $file_list, $scanned_files );
494
-
495
- if ( ! $manual ) {
496
- $this->plugin->SetGlobalOption( 'scanned_dirs', $scanned_dirs );
497
- }
498
- }
499
-
500
- /**
501
- * Update last scanned directory.
502
- *
503
- * IMPORTANT: This option is saved outside start scan check
504
- * so that if the scan is skipped, then the increment of
505
- * next to scan is not disturbed.
506
- */
507
- if ( ! $manual ) {
508
- if ( 0 === $next_to_scan ) {
509
- $this->plugin->SetGlobalOption( 'last-scanned', 'root' );
510
-
511
- // Scan started alert.
512
- $this->plugin->alerts->Trigger(
513
- 6033,
514
- array(
515
- 'CurrentUserID' => '0',
516
- 'ScanStatus' => 'started',
517
- 'EventType' => 'started',
518
- )
519
- );
520
- } elseif ( 6 === $next_to_scan ) {
521
- $this->plugin->SetGlobalOption( 'last-scanned', $next_to_scan );
522
-
523
- // Scan stopped.
524
- $this->plugin->alerts->Trigger(
525
- 6033,
526
- array(
527
- 'CurrentUserID' => '0',
528
- 'ScanStatus' => 'stopped',
529
- 'EventType' => 'stopped',
530
- )
531
- );
532
- } else {
533
- $this->plugin->SetGlobalOption( 'last-scanned', $next_to_scan );
534
- }
535
- }
536
-
537
- // Set the scan in progress to false because scan is complete.
538
- $this->plugin->SetGlobalOption( 'scan-in-progress', false );
539
- }
540
-
541
- /**
542
- * Method: Scan path for files.
543
- *
544
- * @param string $path - Directory path to scan.
545
- * @return array - Array of files present in $path.
546
- */
547
- private function scan_path( $path = '' ) {
548
- // Check excluded paths.
549
- if ( in_array( $path, $this->excludes ) ) {
550
- return array();
551
- }
552
-
553
- // Set the directory path.
554
- $dir_path = $this->root_path . $path;
555
- $files = array(); // Array of files to return.
556
-
557
- // Open directory.
558
- $dir_handle = @opendir( $dir_path );
559
- if ( false === $dir_handle ) {
560
- return $files; // Return if directory fails to open.
561
- }
562
-
563
- $is_multisite = is_multisite(); // Multsite checks.
564
- $directories = $this->scan_settings['scan_directories']; // Get directories to be scanned.
565
- $file_size_limit = $this->scan_settings['file_size_limit']; // Get file size limit.
566
- $file_size_limit = $file_size_limit * 1048576; // Calculate file size limit in bytes; 1MB = 1048576 bytes.
567
-
568
- $uploads_dir = $this->plugin->settings->get_server_directory( $this->get_uploads_dir_path() );
569
- $mu_uploads_dir = $uploads_dir . '/sites'; // Multisite uploads directory.
570
-
571
- // Scan the directory for files.
572
- while ( false !== ( $item = @readdir( $dir_handle ) ) ) {
573
- // Ignore `.` and `..` from directory.
574
- if ( '.' === $item || '..' === $item ) {
575
- continue;
576
- }
577
-
578
- // Filter valid filename.
579
- if ( preg_match( '/[^A-Za-z0-9 _ .-]/', $item ) > 0 ) {
580
- continue;
581
- }
582
-
583
- // Ignore .git, .svn, & node_modules from scan.
584
- if ( false !== strpos( $item, '.git' ) || false !== strpos( $item, '.svn' ) || false !== strpos( $item, 'node_modules' ) ) {
585
- continue;
586
- }
587
-
588
- // Set item paths.
589
- if ( ! empty( $path ) ) {
590
- $relative_name = $path . '/' . $item; // Relative file path w.r.t. the location in major 7 folders.
591
- $absolute_name = $dir_path . '/' . $item; // Complete file path w.r.t. ABSPATH.
592
- } else {
593
- // If path is empty then it is root.
594
- $relative_name = $path . $item; // Relative file path w.r.t. the location in major 7 folders.
595
- $absolute_name = $dir_path . $item; // Complete file path w.r.t. ABSPATH.
596
- }
597
-
598
- // If we're on root then ignore `wp-admin`, `wp-content` & `wp-includes`.
599
- if ( empty( $path ) && ( false !== strpos( $absolute_name, 'wp-admin' ) || false !== strpos( $absolute_name, WP_CONTENT_DIR ) || false !== strpos( $absolute_name, WPINC ) ) ) {
600
- continue;
601
- }
602
-
603
- // Check for directory.
604
- if ( is_dir( $absolute_name ) ) {
605
- /**
606
- * `Filter`: Directory name filter before opening it for scan.
607
- *
608
- * @param string $item – Directory name.
609
- */
610
- $item = apply_filters( 'wsal_directory_before_file_scan', $item );
611
- if ( ! $item ) {
612
- continue;
613
- }
614
-
615
- // Check if the directory is in excluded directories list.
616
- if ( in_array( $absolute_name, $this->scan_settings['excluded_dirs'], true ) ) {
617
- continue; // Skip the directory.
618
- }
619
-
620
- // If not multisite then simply scan.
621
- if ( ! $is_multisite ) {
622
- $files = array_merge( $files, $this->scan_path( $relative_name ) );
623
- } else {
624
- /**
625
- * Check if `wp-content/uploads/sites` is present in the
626
- * relative name of the directory & it is allowed to scan.
627
- */
628
- if ( false !== strpos( $relative_name, $mu_uploads_dir ) && in_array( $mu_uploads_dir, $directories, true ) ) {
629
- $files = array_merge( $files, $this->scan_path( $relative_name ) );
630
- } elseif ( false !== strpos( $relative_name, $mu_uploads_dir ) && ! in_array( $mu_uploads_dir, $directories, true ) ) {
631
- // If `wp-content/uploads/sites` is not allowed to scan then skip the loop.
632
- continue;
633
- } else {
634
- $files = array_merge( $files, $this->scan_path( $relative_name ) );
635
- }
636
- }
637
- } else {
638
- /**
639
- * `Filter`: File name filter before scan.
640
- *
641
- * @param string $item – File name.
642
- */
643
- $item = apply_filters( 'wsal_filename_before_file_scan', $item );
644
- if ( ! $item ) {
645
- continue;
646
- }
647
-
648
- // Check if the item is in excluded files list.
649
- if ( in_array( $item, $this->scan_settings['excluded_files'], true ) ) {
650
- continue; // If true, then skip the loop.
651
- }
652
-
653
- // Check for allowed extensions.
654
- if ( in_array( pathinfo( $item, PATHINFO_EXTENSION ), $this->scan_settings['excluded_extensions'], true ) ) {
655
- continue; // If true, then skip the loop.
656
- }
657
-
658
- // Check files count.
659
- if ( $this->scan_file_count > self::SCAN_FILE_LIMIT ) { // If file limit is reached.
660
- $this->scan_limit_file = true; // Then set the limit flag.
661
- break; // And break the loop.
662
- }
663
-
664
- // Check file size limit.
665
- if ( filesize( $absolute_name ) < $file_size_limit ) {
666
- $this->scan_file_count = $this->scan_file_count + 1;
667
- // File data.
668
- $files[ $absolute_name ] = @md5_file( $absolute_name ); // File hash.
669
- } else {
670
- // File size is more than the limit.
671
- $this->plugin->alerts->Trigger(
672
- 6031,
673
- array(
674
- 'File' => basename( $absolute_name ),
675
- 'FileLocation' => dirname( $absolute_name ),
676
- 'CurrentUserID' => '0',
677
- )
678
- );
679
-
680
- // File data.
681
- $files[ $absolute_name ] = '';
682
- }
683
- }
684
- }
685
-
686
- // Close the directory.
687
- @closedir( $dir_handle );
688
-
689
- // Return files data.
690
- return $files;
691
- }
692
-
693
- /**
694
- * Method: Filter scan files before file changes comparison. This
695
- * function filters both stored & scanned files.
696
- *
697
- * Filters:
698
- * 1. wp-content/plugins (Plugins).
699
- * 2. wp-content/themes (Themes).
700
- * 3. wp-admin (WP Core).
701
- * 4. wp-includes (WP Core).
702
- *
703
- * Hooks using this function:
704
- * 1. wsal_file_scan_stored_files.
705
- * 2. wsal_file_scan_scanned_files.
706
- *
707
- * @param array $scan_files – Scan files array.
708
- * @param string $path_to_scan – Path currently being scanned.
709
- * @return array
710
- */
711
- public function filter_scan_files( $scan_files, $path_to_scan ) {
712
- // If the path to scan is of plugins.
713
- if ( false !== strpos( $path_to_scan, $this->plugin->settings->get_server_directory( WP_PLUGIN_DIR ) ) ) {
714
- // Filter plugin files.
715
- $scan_files = $this->filter_excluded_scan_files( $scan_files, 'plugins' );
716
- } elseif ( false !== strpos( $path_to_scan, $this->plugin->settings->get_server_directory( get_theme_root() ) ) ) { // And if the path to scan is of themes then.
717
- // Filter theme files.
718
- $scan_files = $this->filter_excluded_scan_files( $scan_files, 'themes' );
719
- } elseif (
720
- false !== strpos( $path_to_scan, 'wp-admin' ) // WP Admin.
721
- || false !== strpos( $path_to_scan, WPINC ) // WP Includes.
722
- ) {
723
- // Get `site_content` option.
724
- $site_content = $this->plugin->GetGlobalOption( 'site_content', false );
725
-
726
- // If the `skip_core` is set and its value is equal to true then.
727
- if ( isset( $site_content->skip_core ) && true === $site_content->skip_core ) {
728
- // Empty the scan files.
729
- $scan_files = array();
730
- }
731
- }
732
-
733
- // Return the filtered scan files.
734
- return $scan_files;
735
- }
736
-
737
- /**
738
- * Method: Filter different types of content from scan files.
739
- *
740
- * Excluded types:
741
- * 1. Plugins.
742
- * 2. Themes.
743
- *
744
- * @param array $scan_files - Array of scan files.
745
- * @param string $excluded_type - Type to be excluded.
746
- * @return array
747
- */
748
- public function filter_excluded_scan_files( $scan_files, $excluded_type ) {
749
- if ( empty( $scan_files ) ) {
750
- return $scan_files;
751
- }
752
-
753
- // Get list of excluded plugins/themes.
754
- $excluded_contents = $this->plugin->GetGlobalOption( 'site_content', false );
755
-
756
- // If excluded files exists then.
757
- if ( ! empty( $excluded_contents ) ) {
758
- // Get an array of scan files.
759
- $files = array_keys( $scan_files );
760
-
761
- // An array of files to exclude from scan files array.
762
- $files_to_exclude = array();
763
-
764
- // Type of content to skip.
765
- $skip_type = 'skip_' . $excluded_type; // Possitble values: `plugins` or `themes`.
766
-
767
- if (
768
- in_array( $excluded_type, array( 'plugins', 'themes' ), true ) // Only two skip types are allowed.
769
- && isset( $excluded_contents->$skip_type ) // Skip type array exists.
770
- && is_array( $excluded_contents->$skip_type ) // Skip type is array.
771
- && ! empty( $excluded_contents->$skip_type ) // And is not empty.
772
- ) {
773
- // Go through each plugin to be skipped.
774
- foreach ( $excluded_contents->$skip_type as $content ) {
775
- // Path of plugin to search in stored files.
776
- $search_path = '/' . $excluded_type . '/' . $content;
777
-
778
- // Get array of files to exclude of plugins from scan files array.
779
- foreach ( $files as $file ) {
780
- if ( false !== strpos( $file, $search_path ) ) {
781
- $files_to_exclude[] = $file;
782
- }
783
- }
784
- }
785
- }
786
-
787
- // If there are files to be excluded then.
788
- if ( ! empty( $files_to_exclude ) ) {
789
- // Go through each file to be excluded and unset it from scan files array.
790
- foreach ( $files_to_exclude as $file_to_exclude ) {
791
- if ( array_key_exists( $file_to_exclude, $scan_files ) ) {
792
- unset( $scan_files[ $file_to_exclude ] );
793
- }
794
- }
795
- }
796
- }
797
-
798
- return $scan_files;
799
- }
800
-
801
- /**
802
- * Method: Empty skip file alerts array after the scan of plugins path.
803
- *
804
- * @param string $path_to_scan – Path currently being scanned.
805
- * @return void
806
- */
807
- public function empty_skip_file_alerts( $path_to_scan ) {
808
- // Check path to scan is not empty.
809
- if ( empty( $path_to_scan ) ) {
810
- return;
811
- }
812
-
813
- // If path to scan is of plugins then empty the skip plugins array.
814
- if ( false !== strpos( $path_to_scan, $this->plugin->settings->get_server_directory( WP_PLUGIN_DIR ) ) ) {
815
- // Get contents list.
816
- $site_content = $this->plugin->GetGlobalOption( 'site_content', false );
817
-
818
- // Empty skip plugins array.
819
- $site_content->skip_plugins = array();
820
-
821
- // Save it.
822
- $this->plugin->SetGlobalOption( 'site_content', $site_content );
823
-
824
- // If path to scan is of themes then empty the skip themes array.
825
- } elseif ( false !== strpos( $path_to_scan, $this->plugin->settings->get_server_directory( get_theme_root() ) ) ) {
826
- // Get contents list.
827
- $site_content = $this->plugin->GetGlobalOption( 'site_content', false );
828
-
829
- // Empty skip themes array.
830
- $site_content->skip_themes = array();
831
-
832
- // Save it.
833
- $this->plugin->SetGlobalOption( 'site_content', $site_content );
834
- }
835
- }
836
-
837
- /**
838
- * Method: Check scan frequency.
839
- *
840
- * Scan start checks:
841
- * 1. Check frequency is not empty.
842
- * 2. Check if there is any directory left to scan.
843
- * 2a. If there is a directory left, then proceed to check frequency.
844
- * 2b. Else check if 24 hrs limit is passed or not.
845
- * 3. Check frequency of the scan set by user and decide to start the scan or not.
846
- *
847
- * @param string $frequency - Frequency of the scan.
848
- * @return bool True if scan is a go, false if not.
849
- */
850
- public function check_start_scan( $frequency ) {
851
- // If empty then return false.
852
- if ( empty( $frequency ) ) {
853
- return false;
854
- }
855
-
856
- /**
857
- * When there are no directories left to scan then:
858
- *
859
- * 1. Get the last scan start time.
860
- * 2. Check for 24 hrs limit.
861
- * 3a. If the limit has passed then remove options related to last scan.
862
- * 3b. Else return false.
863
- */
864
- if ( ! $this->dir_left_to_scan( $this->scan_settings['scan_directories'] ) ) {
865
- // Get last scan time.
866
- $last_scan_start = $this->plugin->GetGlobalOption( 'last_scan_start', false );
867
-
868
- if ( ! empty( $last_scan_start ) ) {
869
- // Check for minimum 24 hours.
870
- $scan_hrs = $this->hours_since_last_scan( $last_scan_start );
871
-
872
- // If scan hours difference has passed 24 hrs limit then remove the options.
873
- if ( $scan_hrs > 23 ) {
874
- $this->plugin->DeleteByName( 'wsal-scanned_dirs' ); // Delete already scanned directories option.
875
- $this->plugin->DeleteByName( 'wsal-last_scan_start' ); // Delete last scan complete timestamp option.
876
- } else {
877
- // Else if they have not passed their limit, then return false.
878
- return false;
879
- }
880
- }
881
- }
882
-
883
- // Scan check.
884
- $scan = false;
885
-
886
- // Frequency set by user on the settings page.
887
- switch ( $frequency ) {
888
- case self::SCAN_DAILY: // Daily scan.
889
- if ( in_array( $this->calculate_daily_hour(), self::$daily_hour, true ) ) {
890
- $scan = true;
891
- }
892
- break;
893
- case self::SCAN_WEEKLY: // Weekly scan.
894
- $weekly_day = $this->calculate_weekly_day();
895
- $scan = ( self::$weekly_day === $weekly_day ) ? true : false;
896
- break;
897
- case self::SCAN_MONTHLY: // Monthly scan.
898
- $str_date = $this->calculate_monthly_day();
899
- if ( ! empty( $str_date ) ) {
900
- $scan = ( date( 'Y-m-d' ) == $str_date ) ? true : false;
901
- }
902
- break;
903
- }
904
- return $scan;
905
- }
906
-
907
- /**
908
- * Method: Calculate and return hour of the day
909
- * based on WordPress timezone.
910
- *
911
- * @return string - Hour of the day.
912
- */
913
- private function calculate_daily_hour() {
914
- return date( 'H', time() + ( get_option( 'gmt_offset' ) * ( 60 * 60 ) ) );
915
- }
916
-
917
- /**
918
- * Method: Calculate and return day of the week
919
- * based on WordPress timezone.
920
- *
921
- * @return string|bool - Day of the week or false.
922
- */
923
- private function calculate_weekly_day() {
924
- if ( in_array( $this->calculate_daily_hour(), self::$daily_hour, true ) ) {
925
- return date( 'w' );
926
- }
927
- return false;
928
- }
929
-
930
- /**
931
- * Method: Calculate and return day of the month
932
- * based on WordPress timezone.
933
- *
934
- * @return string|bool - Day of the week or false.
935
- */
936
- private function calculate_monthly_day() {
937
- if ( in_array( $this->calculate_daily_hour(), self::$daily_hour, true ) ) {
938
- return date( 'Y-m-' ) . self::$monthly_day;
939
- }
940
- return false;
941
- }
942
-
943
- /**
944
- * Method: Check to determine if there is any directory left to scan.
945
- *
946
- * @param array $scan_directories - Array of directories to scan set by user.
947
- * @return bool
948
- */
949
- public function dir_left_to_scan( $scan_directories ) {
950
- if ( empty( $scan_directories ) ) {
951
- return false;
952
- }
953
-
954
- // If multisite then remove all the subsites uploads of multisite from scan directories.
955
- if ( is_multisite() ) {
956
- $uploads_dir = $this->plugin->settings->get_server_directory( $this->get_uploads_dir_path() );
957
- $mu_uploads_dir = $uploads_dir . '/sites'; // Multisite uploads directory.
958
-
959
- foreach ( $scan_directories as $index => $dir ) {
960
- if ( false !== strpos( $dir, $mu_uploads_dir ) ) {
961
- unset( $scan_directories[ $index ] );
962
- }
963
- }
964
- }
965
-
966
- // Get array of already directories scanned from DB.
967
- $already_scanned_dirs = $this->plugin->GetGlobalOption( 'scanned_dirs', array() );
968
-
969
- // Check if already scanned directories has `root` directory.
970
- if ( in_array( '', $already_scanned_dirs, true ) ) {
971
- // If found then search for `root` in the directories to be scanned.
972
- $key = array_search( 'root', $scan_directories, true );
973
- if ( false !== $key ) {
974
- // If key is found then remove it from directories to be scanned array.
975
- unset( $scan_directories[ $key ] );
976
- }
977
- }
978
-
979
- // Check the difference in directories.
980
- $diff = array_diff( $scan_directories, $already_scanned_dirs );
981
-
982
- // If the diff array has 1 or more value then scan needs to run.
983
- if ( is_array( $diff ) && count( $diff ) > 0 ) {
984
- return true;
985
- } elseif ( empty( $diff ) ) {
986
- return false;
987
- }
988
- return false;
989
- }
990
-
991
- /**
992
- * Method: Get number of hours since last file changes scan.
993
- *
994
- * @param float $created_on – Timestamp of last scan.
995
- * @return bool|int – False if $created_on is empty | Number of hours otherwise.
996
- */
997
- public function hours_since_last_scan( $created_on ) {
998
- // If $created_on is empty, then return.
999
- if ( empty( $created_on ) ) {
1000
- return false;
1001
- }
1002
-
1003
- // Last alert date.
1004
- $created_date = new DateTime( date( 'Y-m-d H:i:s', $created_on ) );
1005
-
1006
- // Current date.
1007
- $current_date = new DateTime( 'NOW' );
1008
-
1009
- // Calculate time difference.
1010
- $time_diff = $current_date->diff( $created_date );
1011
- $diff_days = $time_diff->d; // Difference in number of days.
1012
- $diff_hrs = $time_diff->h; // Difference in number of hours.
1013
- $total_hrs = ( $diff_days * 24 ) + $diff_hrs; // Total number of hours.
1014
-
1015
- // Return difference in hours.
1016
- return $total_hrs;
1017
- }
1018
-
1019
- /**
1020
- * Method: Reset core file changes flag.
1021
- *
1022
- * @param int $last_scanned_dir – Last scanned directory.
1023
- */
1024
- public function reset_core_updates_flag( $last_scanned_dir ) {
1025
- // Check if last scanned directory exists and it is at last directory.
1026
- if ( ! empty( $last_scanned_dir ) && 6 === $last_scanned_dir ) {
1027
- // Get `site_content` option.
1028
- $site_content = $this->plugin->GetGlobalOption( 'site_content', false );
1029
-
1030
- // Check if the option is instance of stdClass.
1031
- if ( false !== $site_content && $site_content instanceof stdClass ) {
1032
- $site_content->skip_core = false; // Reset skip core after the scan is complete.
1033
- $site_content->skip_files = array(); // Empty the skip files at the end of the scan.
1034
- $site_content->skip_extensions = array(); // Empty the skip extensions at the end of the scan.
1035
- $site_content->skip_directories = array(); // Empty the skip directories at the end of the scan.
1036
- $this->plugin->SetGlobalOption( 'site_content', $site_content ); // Save the option.
1037
- }
1038
- }
1039
- }
1040
-
1041
- /**
1042
- * Returns the path of WP uploads directory.
1043
- *
1044
- * @return string
1045
- */
1046
- private function get_uploads_dir_path() {
1047
- if ( ! isset( $this->uploads_dir['basedir'] ) ) {
1048
- $this->uploads_dir = wp_upload_dir(); // Get WP uploads directory.
1049
- }
1050
- return $this->uploads_dir['basedir'];
1051
- }
1052
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/Sensors/MetaData.php CHANGED
@@ -162,6 +162,11 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
162
  return;
163
  }
164
 
 
 
 
 
 
165
  /**
166
  * WSAL Filter: `wsal_before_post_meta_create_event`
167
  *
@@ -359,6 +364,11 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
359
  */
360
  $log_meta_event = apply_filters( 'wsal_before_post_meta_delete_event', true, $meta_key, $meta_value, $post, $meta_id );
361
 
 
 
 
 
 
362
  // If not allowed to log meta event then skip it.
363
  if ( ! $log_meta_event ) {
364
  continue;
162
  return;
163
  }
164
 
165
+ // Ignore updates from ignored custom post types.
166
+ if ( in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
167
+ return;
168
+ }
169
+
170
  /**
171
  * WSAL Filter: `wsal_before_post_meta_create_event`
172
  *
364
  */
365
  $log_meta_event = apply_filters( 'wsal_before_post_meta_delete_event', true, $meta_key, $meta_value, $post, $meta_id );
366
 
367
+ // Ignore updates from ignored custom post types.
368
+ if ( in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
369
+ return;
370
+ }
371
+
372
  // If not allowed to log meta event then skip it.
373
  if ( ! $log_meta_event ) {
374
  continue;
classes/Sensors/System.php CHANGED
@@ -292,7 +292,6 @@ class WSAL_Sensors_System extends WSAL_AbstractSensor {
292
  $new = 'more than ' . $this->Get404LogLimit();
293
  $msg .= ' This could possible be a scan, therefore keep an eye on the activity from this IP Address';
294
  }
295
-
296
  $link_file = $this->WriteLog( $new, $ip, $username, true, $url_404 );
297
 
298
  $occ->UpdateMetaValue( 'Attempts', $new );
@@ -725,7 +724,6 @@ class WSAL_Sensors_System extends WSAL_AbstractSensor {
725
  */
726
  private function WriteLog( $attempts, $ip, $username = '', $logged_in = true, $url = null ) {
727
  $name_file = null;
728
-
729
  if ( $logged_in && 'on' === $this->plugin->options_helper->get_option_value( 'log-404', 'off' ) ) {
730
  // Get option to log referrer.
731
  $log_referrer = $this->plugin->options_helper->get_option_value( 'log-404-referrer' );
@@ -771,7 +769,7 @@ class WSAL_Sensors_System extends WSAL_AbstractSensor {
771
  $custom_logging_path = $this->plugin->options_helper->get_logging_path() . '404s/';
772
  $custom_logging_url = $this->plugin->options_helper->get_logging_url() . '404s/';
773
 
774
- if ( ! $this->CheckDirectory( $custom_logging_path ) ) {
775
  $dir_made = wp_mkdir_p( $custom_logging_path );
776
  if ( $dir_made ) {
777
  // make an empty index.php in the directory.
@@ -779,6 +777,8 @@ class WSAL_Sensors_System extends WSAL_AbstractSensor {
779
  }
780
  }
781
 
 
 
782
  // Check directory.
783
  if ( $this->CheckDirectory( $custom_logging_path ) ) {
784
  $filename = '6007_' . date( 'Ymd' ) . '.log';
292
  $new = 'more than ' . $this->Get404LogLimit();
293
  $msg .= ' This could possible be a scan, therefore keep an eye on the activity from this IP Address';
294
  }
 
295
  $link_file = $this->WriteLog( $new, $ip, $username, true, $url_404 );
296
 
297
  $occ->UpdateMetaValue( 'Attempts', $new );
724
  */
725
  private function WriteLog( $attempts, $ip, $username = '', $logged_in = true, $url = null ) {
726
  $name_file = null;
 
727
  if ( $logged_in && 'on' === $this->plugin->options_helper->get_option_value( 'log-404', 'off' ) ) {
728
  // Get option to log referrer.
729
  $log_referrer = $this->plugin->options_helper->get_option_value( 'log-404-referrer' );
769
  $custom_logging_path = $this->plugin->options_helper->get_logging_path() . '404s/';
770
  $custom_logging_url = $this->plugin->options_helper->get_logging_url() . '404s/';
771
 
772
+ if ( ! $this->CheckDirectory( ABSPATH . $custom_logging_path ) ) {
773
  $dir_made = wp_mkdir_p( $custom_logging_path );
774
  if ( $dir_made ) {
775
  // make an empty index.php in the directory.
777
  }
778
  }
779
 
780
+
781
+
782
  // Check directory.
783
  if ( $this->CheckDirectory( $custom_logging_path ) ) {
784
  $filename = '6007_' . date( 'Ymd' ) . '.log';
classes/Sensors/WooCommerce.php CHANGED
@@ -346,7 +346,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
346
  return;
347
  }
348
 
349
- if ( 'product' === $old_post->post_type ) {
350
  $editor_link = $this->GetEditorLink( $new_post );
351
  if ( 'publish' === $new_post->post_status ) {
352
  $this->plugin->alerts->Trigger(
346
  return;
347
  }
348
 
349
+ if ( 'product' === $old_post->post_type ) {
350
  $editor_link = $this->GetEditorLink( $new_post );
351
  if ( 'publish' === $new_post->post_status ) {
352
  $this->plugin->alerts->Trigger(
classes/Utilities/PluginInstallAndActivate.php CHANGED
@@ -76,7 +76,7 @@ if ( ! class_exists( 'WSAL_PluginInstallAndActivate' ) ) {
76
  $our_plugins = $this->get_installable_plugins();
77
  ?>
78
  <table id="tab-third-party-plugins" class="form-table wp-list-table wsal-tab widefat fixed" style="display: table;" cellspacing="0">
79
- <p class="description"><?php esc_html_e( 'WP Activity Log can keep a log of changes done on other plugins. Install the relevant add-on from the below list to keep a log of changes done on that plugin.', 'wp-security-audit-log' ); ?></p>
80
  <tbody>
81
  <tr>
82
  <td class="addon-td">
@@ -89,20 +89,24 @@ if ( ! class_exists( 'WSAL_PluginInstallAndActivate' ) ) {
89
  if ( is_plugin_active( $details['plugin_slug'] ) ) {
90
  $disable_button = 'disabled';
91
  }
 
 
 
 
92
  ?>
93
 
94
  <div class="addon-wrapper">
95
  <img src="<?php echo esc_url( trailingslashit( WSAL_BASE_URL ) . 'img/addons/' . $details['image_filename'] ); ?>">
96
- <h4><?php esc_html_e( 'Add-on for ', 'wp-security-audit-log' ); ?><?php echo esc_html( $details['title'] ); ?></h4>
97
  <p><?php echo sanitize_text_field( $details['plugin_description'] ); ?></p><br>
98
  <p><button class="install-addon button button-primary <?php echo esc_attr( $disable_button ); ?>" data-nonce="<?php echo esc_attr( $nonce ); ?>" data-plugin-slug="<?php echo esc_attr( $details['plugin_slug'] ); ?>" data-plugin-download-url="<?php echo esc_url( $details['plugin_url'] ); ?>" data-plugin-event-tab-id="<?php echo esc_attr( $details['event_tab_id'] ); ?>">
99
  <?php
100
  if ( $this->is_plugin_installed( $details['plugin_slug'] ) && ! is_plugin_active( $details['plugin_slug'] ) ) {
101
- esc_html_e( 'Add-on installed, activate now?', 'wp-security-audit-log' );
102
  } elseif ( $this->is_plugin_installed( $details['plugin_slug'] ) && is_plugin_active( $details['plugin_slug'] ) ) {
103
- esc_html_e( 'Add-on installed', 'wp-security-audit-log' );
104
  } else {
105
- esc_html_e( 'Install Add-on', 'wp-security-audit-log' );
106
  }
107
  ?>
108
  </button><span class="spinner" style="display: none; visibility: visible; float: none; margin: 0 0 0 8px;"></span></p>
@@ -128,7 +132,7 @@ if ( ! class_exists( 'WSAL_PluginInstallAndActivate' ) ) {
128
  $plugins = array(
129
  array(
130
  'addon_for' => 'bbpress',
131
- 'title' => 'BBPress Add-on',
132
  'image_filename' => 'bbpress.png',
133
  'plugin_slug' => 'wp-security-audit-log-add-on-for-bbpress/wsal-bbpress.php',
134
  'plugin_url' => 'https://downloads.wordpress.org/plugin/wp-security-audit-log-add-on-for-bbpress.latest-stable.zip',
@@ -137,13 +141,19 @@ if ( ! class_exists( 'WSAL_PluginInstallAndActivate' ) ) {
137
  ),
138
  array(
139
  'addon_for' => 'wpforms',
140
- 'title' => 'WPForms',
141
  'image_filename' => 'wpforms.png',
142
  'plugin_slug' => 'wp-security-audit-log-add-on-for-wpforms/wsal-wpforms.php',
143
  'plugin_url' => 'https://downloads.wordpress.org/plugin/wp-security-audit-log-add-on-for-wpforms.latest-stable.zip',
144
  'event_tab_id' => '#tab-wpforms',
145
  'plugin_description' => 'Keep a record of when someone adds, modified or delete forms, entries and more in the WPForms plugin.',
146
  ),
 
 
 
 
 
 
147
  );
148
  // runs through a filter so it can be added to programatically.
149
  // NOTE: this means when using we need to test it's still an array.
76
  $our_plugins = $this->get_installable_plugins();
77
  ?>
78
  <table id="tab-third-party-plugins" class="form-table wp-list-table wsal-tab widefat fixed" style="display: table;" cellspacing="0">
79
+ <p class="description"><?php esc_html_e( 'WP Activity Log can keep a log of changes done on other plugins. Install the relevant extension from the below list to keep a log of changes done on that plugin.', 'wp-security-audit-log' ); ?></p>
80
  <tbody>
81
  <tr>
82
  <td class="addon-td">
89
  if ( is_plugin_active( $details['plugin_slug'] ) ) {
90
  $disable_button = 'disabled';
91
  }
92
+ // Check if this is actually an addon for something, otherwise bail.
93
+ if ( ! isset( $details['addon_for'] ) || ! isset( $details['image_filename'] ) ) {
94
+ break;
95
+ }
96
  ?>
97
 
98
  <div class="addon-wrapper">
99
  <img src="<?php echo esc_url( trailingslashit( WSAL_BASE_URL ) . 'img/addons/' . $details['image_filename'] ); ?>">
100
+ <h4><?php esc_html_e( 'Extension for ', 'wp-security-audit-log' ); ?><?php echo esc_html( $details['title'] ); ?></h4>
101
  <p><?php echo sanitize_text_field( $details['plugin_description'] ); ?></p><br>
102
  <p><button class="install-addon button button-primary <?php echo esc_attr( $disable_button ); ?>" data-nonce="<?php echo esc_attr( $nonce ); ?>" data-plugin-slug="<?php echo esc_attr( $details['plugin_slug'] ); ?>" data-plugin-download-url="<?php echo esc_url( $details['plugin_url'] ); ?>" data-plugin-event-tab-id="<?php echo esc_attr( $details['event_tab_id'] ); ?>">
103
  <?php
104
  if ( $this->is_plugin_installed( $details['plugin_slug'] ) && ! is_plugin_active( $details['plugin_slug'] ) ) {
105
+ esc_html_e( 'Extension installed, activate now?', 'wp-security-audit-log' );
106
  } elseif ( $this->is_plugin_installed( $details['plugin_slug'] ) && is_plugin_active( $details['plugin_slug'] ) ) {
107
+ esc_html_e( 'Extension installed', 'wp-security-audit-log' );
108
  } else {
109
+ esc_html_e( 'Install Extension', 'wp-security-audit-log' );
110
  }
111
  ?>
112
  </button><span class="spinner" style="display: none; visibility: visible; float: none; margin: 0 0 0 8px;"></span></p>
132
  $plugins = array(
133
  array(
134
  'addon_for' => 'bbpress',
135
+ 'title' => 'BBPress Extension',
136
  'image_filename' => 'bbpress.png',
137
  'plugin_slug' => 'wp-security-audit-log-add-on-for-bbpress/wsal-bbpress.php',
138
  'plugin_url' => 'https://downloads.wordpress.org/plugin/wp-security-audit-log-add-on-for-bbpress.latest-stable.zip',
141
  ),
142
  array(
143
  'addon_for' => 'wpforms',
144
+ 'title' => 'WPForms Extension',
145
  'image_filename' => 'wpforms.png',
146
  'plugin_slug' => 'wp-security-audit-log-add-on-for-wpforms/wsal-wpforms.php',
147
  'plugin_url' => 'https://downloads.wordpress.org/plugin/wp-security-audit-log-add-on-for-wpforms.latest-stable.zip',
148
  'event_tab_id' => '#tab-wpforms',
149
  'plugin_description' => 'Keep a record of when someone adds, modified or delete forms, entries and more in the WPForms plugin.',
150
  ),
151
+ array(
152
+ 'addon_for' => 'wfcm',
153
+ 'title' => 'Website File Changes Monitor',
154
+ 'plugin_slug' => 'website-file-changes-monitor/website-file-changes-monitor.php',
155
+ 'plugin_url' => 'https://downloads.wordpress.org/plugin/website-file-changes-monitor.latest-stable.zip',
156
+ ),
157
  );
158
  // runs through a filter so it can be added to programatically.
159
  // NOTE: this means when using we need to test it's still an array.
classes/ViewManager.php CHANGED
@@ -138,8 +138,27 @@ class WSAL_ViewManager {
138
  }
139
 
140
  add_action( 'admin_head', array( $this, 'hide_freemius_sites_section' ) );
 
 
 
 
 
141
  }
142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  /**
144
  * Add new view from file inside autoloader path.
145
  *
138
  }
139
 
140
  add_action( 'admin_head', array( $this, 'hide_freemius_sites_section' ) );
141
+
142
+ // Check if WFCM is running by seeing if we have the version defined.
143
+ if ( defined( 'WFCM_VERSION' ) && ( version_compare( WFCM_VERSION, '1.6.0', '<' ) ) ) {
144
+ add_action( 'admin_notices', array( $this, 'update_wfcm_notice' ) );
145
+ }
146
  }
147
 
148
+ /**
149
+ * Display notice if user is using older version of WFCM
150
+ */
151
+ public function update_wfcm_notice() {
152
+ if ( defined( 'WFCM_VERSION' ) ) {
153
+ if ( version_compare( WFCM_VERSION, '1.6.0', '<' ) ) {
154
+ echo '<div class="notice notice-success">
155
+ <p>' . __( 'WP Activity Log requires Website File Changes Monitor 1.6.0. Please upgrade that plugin.', 'wp-security-audit-log' ) . '</p>
156
+ </div>';
157
+ }
158
+ }
159
+ }
160
+
161
+
162
  /**
163
  * Add new view from file inside autoloader path.
164
  *
classes/Views/AuditLog.php CHANGED
@@ -272,10 +272,10 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
272
  }
273
  if ( empty( $addon_names ) ) {
274
  $addon_names .= $addon;
275
- $button_label = esc_html__( 'Install add-on', 'wp-2fa' );
276
  } else {
277
  $addon_names .= ' & ' .$addon;
278
- $button_label = esc_html__( 'Install add-ons', 'wp-2fa' );
279
  }
280
  $display_notice = true;
281
  }
@@ -376,7 +376,7 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
376
  * Method: Get View Name.
377
  */
378
  public function GetName() {
379
- return __( 'Activity Log Viewer', 'wp-security-audit-log' );
380
  }
381
 
382
  /**
@@ -1035,9 +1035,9 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
1035
  'infiniteScroll' => $this->_plugin->settings->is_infinite_scroll(),
1036
  'userView' => ( in_array( $this->user_last_view, $this->supported_view_types(), true ) ) ? $this->user_last_view : 'list',
1037
  'installAddonStrings' => array(
1038
- 'defaultButton' => esc_html( 'Install and activate add-on', 'wp-security-audit-log' ),
1039
- 'installingText' => esc_html( 'Installing add-on', 'wp-security-audit-log' ),
1040
- 'otherInstalling' => esc_html( 'Other add-on installing', 'wp-security-audit-log' ),
1041
  'addonInstalled' => esc_html( 'Installed', 'wp-security-audit-log' ),
1042
  'installedReload' => esc_html( 'Installed... reloading page', 'wp-security-audit-log' ),
1043
  'buttonError' => esc_html( 'Problem enabling', 'wp-security-audit-log' ),
272
  }
273
  if ( empty( $addon_names ) ) {
274
  $addon_names .= $addon;
275
+ $button_label = esc_html__( 'Install Extension', 'wp-2fa' );
276
  } else {
277
  $addon_names .= ' & ' .$addon;
278
+ $button_label = esc_html__( 'Install Extensions', 'wp-2fa' );
279
  }
280
  $display_notice = true;
281
  }
376
  * Method: Get View Name.
377
  */
378
  public function GetName() {
379
+ return __( 'Log Viewer', 'wp-security-audit-log' );
380
  }
381
 
382
  /**
1035
  'infiniteScroll' => $this->_plugin->settings->is_infinite_scroll(),
1036
  'userView' => ( in_array( $this->user_last_view, $this->supported_view_types(), true ) ) ? $this->user_last_view : 'list',
1037
  'installAddonStrings' => array(
1038
+ 'defaultButton' => esc_html( 'Install and activate extension', 'wp-security-audit-log' ),
1039
+ 'installingText' => esc_html( 'Installing extension', 'wp-security-audit-log' ),
1040
+ 'otherInstalling' => esc_html( 'Other extension installing', 'wp-security-audit-log' ),
1041
  'addonInstalled' => esc_html( 'Installed', 'wp-security-audit-log' ),
1042
  'installedReload' => esc_html( 'Installed... reloading page', 'wp-security-audit-log' ),
1043
  'buttonError' => esc_html( 'Problem enabling', 'wp-security-audit-log' ),
classes/Views/EmailNotifications.php CHANGED
@@ -25,7 +25,7 @@ class WSAL_Views_EmailNotifications extends WSAL_AbstractView {
25
  * Get View Title.
26
  */
27
  public function GetTitle() {
28
- return __( 'Notifications Add-On', 'wp-security-audit-log' );
29
  }
30
 
31
  /**
25
  * Get View Title.
26
  */
27
  public function GetTitle() {
28
+ return __( 'Notifications Extension', 'wp-security-audit-log' );
29
  }
30
 
31
  /**
classes/Views/ExternalDB.php CHANGED
@@ -25,7 +25,7 @@ class WSAL_Views_ExternalDB extends WSAL_AbstractView {
25
  * Method: Get View Title.
26
  */
27
  public function GetTitle() {
28
- return __( 'External DB Add-On', 'wp-security-audit-log' );
29
  }
30
 
31
  /**
25
  * Method: Get View Title.
26
  */
27
  public function GetTitle() {
28
+ return __( 'External DB Extension', 'wp-security-audit-log' );
29
  }
30
 
31
  /**
classes/Views/Help.php CHANGED
@@ -197,7 +197,7 @@ class WSAL_Views_Help extends WSAL_AbstractView {
197
  </p><p>
198
  <a class="button" href="https://wpactivitylog.com/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=plugin+website" target="_blank"><?php esc_html_e( 'Plugin Website', 'wp-security-audit-log' ); ?></a>
199
  &nbsp;&nbsp;&nbsp;&nbsp;
200
- <a class="button" href="https://wpactivitylog.com/support/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=knowledge+base" target="_blank"><?php esc_html_e( 'Knowledge Base', 'wp-security-audit-log' ); ?></a>
201
  &nbsp;&nbsp;&nbsp;&nbsp;
202
  <a class="button" href="https://wpactivitylog.com/support/kb/list-wordpress-activity-log-event-ids/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=list+events" target="_blank"><?php esc_html_e( 'List of activity logs event IDs', 'wp-security-audit-log' ); ?></a>
203
  </p>
197
  </p><p>
198
  <a class="button" href="https://wpactivitylog.com/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=plugin+website" target="_blank"><?php esc_html_e( 'Plugin Website', 'wp-security-audit-log' ); ?></a>
199
  &nbsp;&nbsp;&nbsp;&nbsp;
200
+ <a class="button" href="https://wpactivitylog.com/support/kb/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=knowledge+base" target="_blank"><?php esc_html_e( 'Knowledge Base', 'wp-security-audit-log' ); ?></a>
201
  &nbsp;&nbsp;&nbsp;&nbsp;
202
  <a class="button" href="https://wpactivitylog.com/support/kb/list-wordpress-activity-log-event-ids/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=list+events" target="_blank"><?php esc_html_e( 'List of activity logs event IDs', 'wp-security-audit-log' ); ?></a>
203
  </p>
classes/Views/Settings.php CHANGED
@@ -29,13 +29,6 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
29
  */
30
  public $adapter_msg = '';
31
 
32
- /**
33
- * Scan settings.
34
- *
35
- * @var array
36
- */
37
- private $scan_settings = array();
38
-
39
  /**
40
  * WSAL Setting Tabs.
41
  *
@@ -67,10 +60,6 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
67
  add_action( 'wp_ajax_AjaxGetAllUsers', array( $this, 'AjaxGetAllUsers' ) );
68
  add_action( 'wp_ajax_AjaxGetAllRoles', array( $this, 'AjaxGetAllRoles' ) );
69
  add_action( 'wp_ajax_AjaxGetAllCPT', array( $this, 'AjaxGetAllCPT' ) );
70
- add_action( 'wp_ajax_wsal_scan_add_exception', array( $this, 'scan_add_exception_file' ) );
71
- add_action( 'wp_ajax_wsal_scan_remove_exception', array( $this, 'scan_remove_exception_file' ) );
72
- add_action( 'wp_ajax_wsal_manual_scan_now', array( $this, 'run_manual_scan_now' ) );
73
- add_action( 'wp_ajax_wsal_stop_file_changes_scan', array( $this, 'stop_file_changes_scan' ) );
74
  add_action( 'wp_ajax_wsal_reset_settings', array( $this, 'reset_settings' ) );
75
  add_action( 'wp_ajax_wsal_purge_activity', array( $this, 'purge_activity' ) );
76
  }
@@ -107,10 +96,9 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
107
  'priority' => 20,
108
  ),
109
  'file-changes' => array(
110
- 'name' => __( 'File Integrity Scan', 'wp-security-audit-log' ),
111
  'link' => add_query_arg( 'tab', 'file-changes', $this->GetUrl() ),
112
  'render' => array( $this, 'tab_file_changes' ),
113
- 'save' => array( $this, 'tab_file_changes_save' ),
114
  'priority' => 30,
115
  ),
116
  'exclude-objects' => array(
@@ -209,27 +197,6 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
209
  return $this->_plugin->settings->get_token_type( $token );
210
  }
211
 
212
- /**
213
- * Method: Load saved settings of this view.
214
- */
215
- public function load_file_changes_settings() {
216
- $default_scan_dirs = array_keys( $this->_plugin->settings->get_server_directories( 'display' ) );
217
-
218
- // Load saved settings of this view.
219
- $this->scan_settings = array(
220
- 'scan_file_changes' => $this->_plugin->GetGlobalOption( 'scan-file-changes', 'enable' ),
221
- 'scan_frequency' => $this->_plugin->GetGlobalOption( 'scan-frequency', 'weekly' ),
222
- 'scan_hour' => $this->_plugin->GetGlobalOption( 'scan-hour', '04' ),
223
- 'scan_day' => $this->_plugin->GetGlobalOption( 'scan-day', '1' ),
224
- 'scan_date' => $this->_plugin->GetGlobalOption( 'scan-date', '10' ),
225
- 'scan_directories' => $this->_plugin->GetGlobalOption( 'scan-directories', $default_scan_dirs ),
226
- 'scan_excluded_dirs' => $this->_plugin->GetGlobalOption( 'scan-excluded-directories', array( trailingslashit( WP_CONTENT_DIR ) . 'cache' ) ),
227
- 'scan_excluded_extensions' => $this->_plugin->GetGlobalOption( 'scan-excluded-extensions', array( 'jpg', 'jpeg', 'png', 'bmp', 'pdf', 'txt', 'log', 'mo', 'po', 'mp3', 'wav', 'gif', 'ico', 'jpe', 'psd', 'raw', 'svg', 'tif', 'tiff', 'aif', 'flac', 'm4a', 'oga', 'ogg', 'ra', 'wma', 'asf', 'avi', 'mkv', 'mov', 'mp4', 'mpe', 'mpeg', 'mpg', 'ogv', 'qt', 'rm', 'vob', 'webm', 'wm', 'wmv' ) ),
228
- 'scan_in_progress' => $this->_plugin->GetGlobalOption( 'scan-in-progress', false ),
229
- 'scan_file_size_limit' => $this->_plugin->GetGlobalOption( 'scan-file-size-limit', 5 ),
230
- );
231
- }
232
-
233
  /**
234
  * Method: Save settings.
235
  *
@@ -1257,481 +1224,40 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
1257
  * Tab: `File Changes`
1258
  */
1259
  private function tab_file_changes() {
1260
- // Load file changes settings.
1261
- $this->load_file_changes_settings();
1262
  ?>
1263
- <p class="description">
1264
- <?php esc_html_e( 'The plugin runs file integrity scans on your website so it keeps a log when a file is added, modified or deleted. All the settings for the file integrity scans can be found in this page.', 'wp-security-audit-log' ); ?>
1265
- <?php echo wp_kses( __( '<a href="https://wpactivitylog.com/support/kb/wordpress-files-changes-warning-activity-logs/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings+pages" target="_blank">Refer to the WordPress file integrity scans feature page</a> for more information.', 'wp-security-audit-log' ), $this->_plugin->allowed_html_tags ); ?>
1266
- </p>
1267
 
1268
- <h3><?php esc_html_e( 'Do you want the plugin to scan your website for file changes?', 'wp-security-audit-log' ); ?></h3>
1269
  <table class="form-table wsal-tab">
1270
  <tbody>
1271
  <tr>
1272
- <th>
1273
- <label for="wsal-file-changes"><?php esc_html_e( 'Keep a Log of File Changes', 'wp-security-audit-log' ); ?></label>
1274
- </th>
1275
- <td>
1276
- <fieldset>
1277
- <label>
1278
- <input id="enable" name="wsal-file-changes" type="radio" value="enable"
1279
- <?php checked( $this->scan_settings['scan_file_changes'], 'enable' ); ?>
1280
- />
1281
- <?php esc_html_e( 'Yes', 'wp-security-audit-log' ); ?>
1282
- </label>
1283
- <br />
1284
- <label>
1285
- <input id="disable" name="wsal-file-changes" type="radio" value="disable"
1286
- <?php checked( $this->scan_settings['scan_file_changes'], 'disable' ); ?>
1287
- />
1288
- <?php esc_html_e( 'No', 'wp-security-audit-log' ); ?>
1289
- </label>
1290
- </fieldset>
1291
- </td>
1292
- </tr>
1293
- </tbody>
1294
- </table>
1295
- <!-- wsal-file-changes -->
1296
-
1297
- <h3><?php esc_html_e( 'Which file changes events do you want to keep a log of in the activity log?', 'wp-security-audit-log' ); ?></h3>
1298
- <p class="description">
1299
- <?php esc_html_e( 'By default the plugin will keep a log whenever a file has been added, modified or deleted. It will also log an event in the activity log when a file is too big to scan or there are too many files to scan. Click on the link to specify which of these events the plugin should keep a log of.', 'wp-security-audit-log' ); ?>
1300
- </p>
1301
- <table class="form-table wsal-tab">
1302
- <tbody>
1303
- <tr>
1304
- <th>
1305
- <label for="wsal-file-alert-types"><?php esc_html_e( 'Alert me when', 'wp-security-audit-log' ); ?></label>
1306
- </th>
1307
- <td>
1308
- <p>
1309
- <?php
1310
- $wsal_events_page = '';
1311
- if ( ! is_multisite() ) {
1312
- $wsal_events_page = add_query_arg( 'page', 'wsal-togglealerts', admin_url( 'admin.php' ) );
1313
- } else {
1314
- $wsal_events_page = add_query_arg( 'page', 'wsal-togglealerts', network_admin_url( 'admin.php' ) );
1315
- }
1316
- ?>
1317
- <a href="<?php echo esc_url( $wsal_events_page . '#tab-system' ); ?>">
1318
- <?php esc_html_e( 'Configure Events', 'wp-security-audit-log' ); ?>
1319
- </a>
1320
- </p>
1321
- </td>
1322
- </tr>
1323
- </tbody>
1324
- </table>
1325
- <!-- wsal-file-alert-types -->
1326
-
1327
- <h3><?php esc_html_e( 'When should the plugin scan your website for file changes?', 'wp-security-audit-log' ); ?></h3>
1328
- <p class="description">
1329
- <?php esc_html_e( 'By default the plugin will run file integrity scans once a week. If you can, ideally you should run file integrity scans on a daily basis. The file integrity scanner is very efficient and requires very little resources. Though if you have a fairly large website we recommend you to scan it when it is the least busy. The scan process should only take a few seconds to complete.', 'wp-security-audit-log' ); ?>
1330
- </p>
1331
- <table class="form-table wsal-tab">
1332
- <tbody>
1333
- <tr>
1334
- <th>
1335
- <label for="wsal-scan-frequency"><?php esc_html_e( 'Scan Frequency', 'wp-security-audit-log' ); ?></label>
1336
- </th>
1337
- <td>
1338
- <?php
1339
- $frequency_options = array(
1340
- 'daily' => __( 'Daily', 'wp-security-audit-log' ),
1341
- 'weekly' => __( 'Weekly', 'wp-security-audit-log' ),
1342
- 'monthly' => __( 'Monthly', 'wp-security-audit-log' ),
1343
- );
1344
- ?>
1345
- <fieldset id="wsal-scan-frequency">
1346
- <select name="wsal-scan-frequency">
1347
- <?php foreach ( $frequency_options as $value => $html ) : ?>
1348
- <option
1349
- value="<?php echo esc_attr( $value ); ?>"
1350
- <?php echo esc_attr( $value === $this->scan_settings['scan_frequency'] ? 'selected' : false ); ?>>
1351
- <?php echo esc_html( $html ); ?>
1352
- </option>
1353
- <?php endforeach; ?>
1354
- </select>
1355
- </fieldset>
1356
- </td>
1357
- </tr>
1358
- <tr id="wsal-scan-time">
1359
- <th>
1360
- <label for="wsal-scan-hour"><?php esc_html_e( 'Scan Time', 'wp-security-audit-log' ); ?></label>
1361
- </th>
1362
- <td>
1363
- <?php
1364
- // Scan hours option.
1365
- $scan_hours = array(
1366
- '00' => __( '00:00', 'wp-security-audit-log' ),
1367
- '01' => __( '01:00', 'wp-security-audit-log' ),
1368
- '02' => __( '02:00', 'wp-security-audit-log' ),
1369
- '03' => __( '03:00', 'wp-security-audit-log' ),
1370
- '04' => __( '04:00', 'wp-security-audit-log' ),
1371
- '05' => __( '05:00', 'wp-security-audit-log' ),
1372
- '06' => __( '06:00', 'wp-security-audit-log' ),
1373
- '07' => __( '07:00', 'wp-security-audit-log' ),
1374
- '08' => __( '08:00', 'wp-security-audit-log' ),
1375
- '09' => __( '09:00', 'wp-security-audit-log' ),
1376
- '10' => __( '10:00', 'wp-security-audit-log' ),
1377
- '11' => __( '11:00', 'wp-security-audit-log' ),
1378
- '12' => __( '12:00', 'wp-security-audit-log' ),
1379
- '13' => __( '13:00', 'wp-security-audit-log' ),
1380
- '14' => __( '14:00', 'wp-security-audit-log' ),
1381
- '15' => __( '15:00', 'wp-security-audit-log' ),
1382
- '16' => __( '16:00', 'wp-security-audit-log' ),
1383
- '17' => __( '17:00', 'wp-security-audit-log' ),
1384
- '18' => __( '18:00', 'wp-security-audit-log' ),
1385
- '19' => __( '19:00', 'wp-security-audit-log' ),
1386
- '20' => __( '20:00', 'wp-security-audit-log' ),
1387
- '21' => __( '21:00', 'wp-security-audit-log' ),
1388
- '22' => __( '22:00', 'wp-security-audit-log' ),
1389
- '23' => __( '23:00', 'wp-security-audit-log' ),
1390
- );
1391
-
1392
- // Scan days option.
1393
- $scan_days = array(
1394
- '1' => __( 'Monday', 'wp-security-audit-log' ),
1395
- '2' => __( 'Tuesday', 'wp-security-audit-log' ),
1396
- '3' => __( 'Wednesday', 'wp-security-audit-log' ),
1397
- '4' => __( 'Thursday', 'wp-security-audit-log' ),
1398
- '5' => __( 'Friday', 'wp-security-audit-log' ),
1399
- '6' => __( 'Saturday', 'wp-security-audit-log' ),
1400
- '7' => __( 'Sunday', 'wp-security-audit-log' ),
1401
- );
1402
-
1403
- // Scan date option.
1404
- $scan_date = array(
1405
- '01' => __( '01', 'wp-security-audit-log' ),
1406
- '02' => __( '02', 'wp-security-audit-log' ),
1407
- '03' => __( '03', 'wp-security-audit-log' ),
1408
- '04' => __( '04', 'wp-security-audit-log' ),
1409
- '05' => __( '05', 'wp-security-audit-log' ),
1410
- '06' => __( '06', 'wp-security-audit-log' ),
1411
- '07' => __( '07', 'wp-security-audit-log' ),
1412
- '08' => __( '08', 'wp-security-audit-log' ),
1413
- '09' => __( '09', 'wp-security-audit-log' ),
1414
- '10' => __( '10', 'wp-security-audit-log' ),
1415
- '11' => __( '11', 'wp-security-audit-log' ),
1416
- '12' => __( '12', 'wp-security-audit-log' ),
1417
- '13' => __( '13', 'wp-security-audit-log' ),
1418
- '14' => __( '14', 'wp-security-audit-log' ),
1419
- '15' => __( '15', 'wp-security-audit-log' ),
1420
- '16' => __( '16', 'wp-security-audit-log' ),
1421
- '17' => __( '17', 'wp-security-audit-log' ),
1422
- '18' => __( '18', 'wp-security-audit-log' ),
1423
- '19' => __( '19', 'wp-security-audit-log' ),
1424
- '20' => __( '20', 'wp-security-audit-log' ),
1425
- '21' => __( '21', 'wp-security-audit-log' ),
1426
- '22' => __( '22', 'wp-security-audit-log' ),
1427
- '23' => __( '23', 'wp-security-audit-log' ),
1428
- '24' => __( '24', 'wp-security-audit-log' ),
1429
- '25' => __( '25', 'wp-security-audit-log' ),
1430
- '26' => __( '26', 'wp-security-audit-log' ),
1431
- '27' => __( '27', 'wp-security-audit-log' ),
1432
- '28' => __( '28', 'wp-security-audit-log' ),
1433
- '29' => __( '29', 'wp-security-audit-log' ),
1434
- '30' => __( '30', 'wp-security-audit-log' ),
1435
- );
1436
- ?>
1437
- <fieldset>
1438
- <span class="wsal-scan-time-container" id="wsal-scan-hour">
1439
- <select name="wsal-scan-hour">
1440
- <?php foreach ( $scan_hours as $value => $html ) : ?>
1441
- <option
1442
- value="<?php echo esc_attr( $value ); ?>"
1443
- <?php echo esc_attr( $value == $this->scan_settings['scan_hour'] ? 'selected' : false ); ?>>
1444
- <?php echo esc_html( $html ); ?>
1445
- </option>
1446
- <?php endforeach; ?>
1447
- </select>
1448
- <br />
1449
- <span class="description">
1450
- <?php esc_html_e( 'Hour', 'wp-security-audit-log' ); ?>
1451
- </span>
1452
- </span>
1453
-
1454
- <span class="wsal-scan-time-container hide" id="wsal-scan-day">
1455
- <select name="wsal-scan-day">
1456
- <?php foreach ( $scan_days as $value => $html ) : ?>
1457
- <option
1458
- value="<?php echo esc_attr( $value ); ?>"
1459
- <?php echo esc_attr( $value == $this->scan_settings['scan_day'] ? 'selected' : false ); ?>>
1460
- <?php echo esc_html( $html ); ?>
1461
- </option>
1462
- <?php endforeach; ?>
1463
- </select>
1464
- <br />
1465
- <span class="description">
1466
- <?php esc_html_e( 'Day', 'wp-security-audit-log' ); ?>
1467
- </span>
1468
- </span>
1469
-
1470
- <span class="wsal-scan-time-container hide" id="wsal-scan-date">
1471
- <select name="wsal-scan-date">
1472
- <?php foreach ( $scan_date as $value => $html ) : ?>
1473
- <option
1474
- value="<?php echo esc_attr( $value ); ?>"
1475
- <?php echo esc_attr( $value == $this->scan_settings['scan_date'] ? 'selected' : false ); ?>>
1476
- <?php echo esc_html( $html ); ?>
1477
- </option>
1478
- <?php endforeach; ?>
1479
- </select>
1480
- <br />
1481
- <span class="description">
1482
- <?php esc_html_e( 'Day', 'wp-security-audit-log' ); ?>
1483
- </span>
1484
- </span>
1485
- </fieldset>
1486
- </td>
1487
- </tr>
1488
- </tbody>
1489
- </table>
1490
- <!-- wsal-scan-frequency -->
1491
-
1492
- <h3><?php esc_html_e( 'Which directories should be scanned for file changes?', 'wp-security-audit-log' ); ?></h3>
1493
- <p class="description">
1494
- <?php esc_html_e( 'The plugin will scan all the directories in your WordPress website by default because that is the most secure option. Though if for some reason you do not want the plugin to scan any of these directories you can uncheck them from the below list.', 'wp-security-audit-log' ); ?>
1495
- </p>
1496
- <table class="form-table wsal-tab">
1497
- <tbody>
1498
- <tr>
1499
- <th>
1500
- <label for="wsal-scan-directories"><?php esc_html_e( 'Directories to scan', 'wp-security-audit-log' ); ?></label>
1501
- </th>
1502
- <td>
1503
- <?php $wp_directories = $this->_plugin->settings->get_server_directories( 'display' ); ?>
1504
- <fieldset id="wsal-scan-directories">
1505
- <?php foreach ( $wp_directories as $value => $html ) : ?>
1506
- <label>
1507
- <input
1508
- name="wsal-scan-directories[<?php echo esc_attr( $value ); ?>]"
1509
- type="checkbox"
1510
- value="<?php echo esc_attr( $value ); ?>"
1511
- <?php echo esc_attr( in_array( $value, $this->scan_settings['scan_directories'], true ) ? 'checked' : false ); ?>
1512
- />
1513
- <?php echo esc_html( $html ); ?>
1514
- </label>
1515
- <br />
1516
- <?php endforeach; ?>
1517
- </fieldset>
1518
- </td>
1519
- </tr>
1520
- </tbody>
1521
- </table>
1522
- <!-- wsal-scan-directories -->
1523
-
1524
- <h3><?php esc_html_e( 'What is the biggest file size the plugin should scan?', 'wp-security-audit-log' ); ?></h3>
1525
- <p class="description"><?php esc_html_e( 'By default the plugin does not scan files that are bigger than 5MB. Such files are not common, hence typically not a target. Though if you are getting a lot of 6032 Events, it is recommended to increase the file size limit from the below option.', 'wp-security-audit-log' ); ?></p>
1526
- <table class="form-table wsal-tab">
1527
- <tr>
1528
- <th><label for="wsal-scan-file-size"><?php esc_html_e( 'File Size Limit', 'wp-security-audit-log' ); ?></label></th>
1529
- <td>
1530
- <fieldset>
1531
- <input type="number" id="wsal-scan-file-size" name="wsal-scan-file-size" min="1" max="100" value="<?php echo isset( $this->scan_settings['scan_file_size_limit'] ) ? esc_attr( $this->scan_settings['scan_file_size_limit'] ) : false; ?>" /> <?php esc_html_e( 'MB', 'wp-security-audit-log' ); ?>
1532
- </fieldset>
1533
- </td>
1534
- </tr>
1535
- </table>
1536
-
1537
- <h3><?php esc_html_e( 'Do you want to exclude specific files or files with a particular extension from the scan?', 'wp-security-audit-log' ); ?></h3>
1538
- <p class="description"><?php esc_html_e( 'The plugin will scan everything that is in the WordPress root directory or below, even if the files and directories are not part of WordPress. It is recommended to scan all source code files and only exclude files that cannot be tampered, such as text files, media files etc, most of which are already excluded by default.', 'wp-security-audit-log' ); ?></p>
1539
- <table class="form-table wsal-tab">
1540
- <tbody>
1541
- <tr>
1542
- <th>
1543
- <label for="wsal_add_dir_name"><?php esc_html_e( 'Exclude All Files in These Directories', 'wp-security-audit-log' ); ?></label>
1544
- </th>
1545
- <td>
1546
- <div class="wsal_file_containter">
1547
- <div id="wsal_dirs">
1548
- <?php foreach ( $this->scan_settings['scan_excluded_dirs'] as $index => $dir ) : ?>
1549
- <span id="wsal_dir-<?php echo esc_attr( $dir ); ?>">
1550
- <input type="checkbox" id="<?php echo esc_attr( $dir ); ?>" value="<?php echo esc_attr( $dir ); ?>" />
1551
- <label for="<?php echo esc_attr( $dir ); ?>"><?php echo esc_html( $dir ); ?></label>
1552
- </span>
1553
- <?php endforeach; ?>
1554
- </div>
1555
- <?php wp_nonce_field( 'wsal-scan-remove-exception-dir', 'wsal_scan_remove_exception_dir' ); ?>
1556
- <input class="button" id="wsal_remove_exception_dir" type="button" value="<?php esc_html_e( 'REMOVE', 'wp-security-audit-log' ); ?>" />
1557
- </div>
1558
- <div class="wsal_file_containter">
1559
- <input type="text" id="wsal_add_dir_name" />
1560
- <?php wp_nonce_field( 'wsal-scan-exception-dir', 'wsal_scan_exception_dir' ); ?>
1561
- <input id="wsal_add_dir" class="button" type="button" value="<?php esc_html_e( 'ADD', 'wp-security-audit-log' ); ?>" />
1562
  </div>
1563
- <p class="description">
1564
- <?php esc_html_e( 'Specify the name of the directory and the path to it in relation to the website\'s root. For example, if you want to want to exclude all files in the sub directory dir1/dir2 specify the following:', 'wp-security-audit-log' ); ?>
1565
- <br>
1566
- <?php echo esc_html( trailingslashit( ABSPATH ) ) . 'dir1/dir2/'; ?>
1567
- </p>
1568
- <span class="error hide" id="wsal_dir_error"></span>
1569
- </td>
1570
- </tr>
1571
- <!-- wsal-scan-exclude-dirs -->
1572
-
1573
- <tr>
1574
- <th>
1575
- <label for="wsal_add_file_name"><?php esc_html_e( 'Exclude These Files', 'wp-security-audit-log' ); ?></label>
1576
- </th>
1577
- <td>
1578
  <?php
1579
- // Get files to be excluded.
1580
- $excluded_files = $this->_plugin->GetGlobalOption( 'scan_excluded_files', array() );
 
 
 
 
 
 
 
1581
  ?>
1582
- <div class="wsal_file_containter">
1583
- <div id="wsal_files">
1584
- <?php foreach ( $excluded_files as $index => $file ) : ?>
1585
- <span id="wsal_file-<?php echo esc_attr( $file ); ?>">
1586
- <input type="checkbox" id="<?php echo esc_attr( $file ); ?>" value="<?php echo esc_attr( $file ); ?>" />
1587
- <label for="<?php echo esc_attr( $file ); ?>"><?php echo esc_html( $file ); ?></label>
1588
- </span>
1589
- <?php endforeach; ?>
1590
- </div>
1591
- <?php wp_nonce_field( 'wsal-scan-remove-exception-file', 'wsal_scan_remove_exception_file' ); ?>
1592
- <input class="button" id="wsal_remove_exception_file" type="button" value="<?php esc_html_e( 'REMOVE', 'wp-security-audit-log' ); ?>" />
1593
- </div>
1594
- <div class="wsal_file_containter">
1595
- <input type="text" id="wsal_add_file_name" />
1596
- <?php wp_nonce_field( 'wsal-scan-exception-file', 'wsal_scan_exception_file' ); ?>
1597
- <input id="wsal_add_file" class="button" type="button" value="<?php esc_html_e( 'ADD', 'wp-security-audit-log' ); ?>" />
1598
- </div>
1599
- <p class="description">
1600
- <?php esc_html_e( 'Specify the name and extension of the file(s) you want to exclude. Wildcard not supported. There is no need to specify the path of the file.', 'wp-security-audit-log' ); ?>
1601
- </p>
1602
- <span class="error hide" id="wsal_file_name_error"></span>
1603
- </td>
1604
- </tr>
1605
- <!-- wsal_add_file_name -->
1606
-
1607
- <tr>
1608
- <th>
1609
- <label for="wsal_add_file_type_name"><?php esc_html_e( 'Exclude these File Types', 'wp-security-audit-log' ); ?></label>
1610
- </th>
1611
- <td>
1612
- <div class="wsal_file_containter">
1613
- <div id="wsal_files_types">
1614
- <?php foreach ( $this->scan_settings['scan_excluded_extensions'] as $index => $file_type ) : ?>
1615
- <span id="wsal_file_type-<?php echo esc_attr( $file_type ); ?>">
1616
- <input type="checkbox" id="<?php echo esc_attr( $file_type ); ?>" value="<?php echo esc_attr( $file_type ); ?>" />
1617
- <label for="<?php echo esc_attr( $file_type ); ?>"><?php echo esc_html( $file_type ); ?></label>
1618
- </span>
1619
- <?php endforeach; ?>
1620
- </div>
1621
- <?php wp_nonce_field( 'wsal-scan-remove-exception-file-type', 'wsal_scan_remove_exception_file_type' ); ?>
1622
- <input class="button" id="wsal_remove_exception_file_type" type="button" value="<?php esc_html_e( 'REMOVE', 'wp-security-audit-log' ); ?>" />
1623
- </div>
1624
- <div class="wsal_file_containter">
1625
- <input type="text" id="wsal_add_file_type_name" />
1626
- <?php wp_nonce_field( 'wsal-scan-exception-file-type', 'wsal_scan_exception_file_type' ); ?>
1627
- <input id="wsal_add_file_type" class="button" type="button" value="<?php esc_html_e( 'ADD', 'wp-security-audit-log' ); ?>" />
1628
- </div>
1629
- <p class="description">
1630
- <?php esc_html_e( 'Specify the extension of the file types you want to exclude. You should exclude any type of logs and backup files that tend to be very big.', 'wp-security-audit-log' ); ?>
1631
- </p>
1632
- <span class="error hide" id="wsal_file_type_error"></span>
1633
- </td>
1634
  </tr>
1635
- <!-- wsal-scan-exclude-extensions -->
1636
  </tbody>
1637
  </table>
1638
 
1639
- <h3><?php esc_html_e( 'Launch an instant file integrity scan', 'wp-security-audit-log' ); ?></h3>
1640
- <p class="description">
1641
- <?php esc_html_e( 'Click the Scan Now button to launch an instant file integrity scan using the configured settings. You can navigate away from this page during the scan. Note that the instant scan can be more resource intensive than scheduled scans.', 'wp-security-audit-log' ); ?>
1642
- </p>
1643
- <table class="form-table wsal-tab">
1644
- <tbody>
1645
- <tr>
1646
- <th>
1647
- <label for="wsal-scan-now"><?php esc_html_e( 'Launch Instant Scan', 'wp-security-audit-log' ); ?></label>
1648
- </th>
1649
- <td>
1650
- <input type="hidden" id="wsal-scan-now-nonce" name="wsal_scan_now_nonce" value="<?php echo esc_attr( wp_create_nonce( 'wsal-scan-now' ) ); ?>" />
1651
- <input type="hidden" id="wsal-stop-scan-nonce" name="wsal_stop_scan_nonce" value="<?php echo esc_attr( wp_create_nonce( 'wsal-stop-scan' ) ); ?>" />
1652
- <?php if ( 'enable' === $this->scan_settings['scan_file_changes'] && ! $this->scan_settings['scan_in_progress'] ) : ?>
1653
- <input type="button" class="button button-primary" id="wsal-scan-now" value="<?php esc_attr_e( 'Scan Now', 'wp-security-audit-log' ); ?>">
1654
- <input type="button" class="button button-secondary" id="wsal-stop-scan" value="<?php esc_attr_e( 'Stop Scan', 'wp-security-audit-log' ); ?>" disabled>
1655
- <?php elseif ( 'enable' === $this->scan_settings['scan_file_changes'] && $this->scan_settings['scan_in_progress'] ) : ?>
1656
- <input type="button" class="button button-primary" id="wsal-scan-now" value="<?php esc_attr_e( 'Scan in Progress', 'wp-security-audit-log' ); ?>" disabled>
1657
- <input type="button" class="button button-ui-primary" id="wsal-stop-scan" value="<?php esc_attr_e( 'Stop Scan', 'wp-security-audit-log' ); ?>">
1658
- <!-- Scan in progress -->
1659
- <?php else : ?>
1660
- <input type="button" class="button button-primary" id="wsal-scan-now" value="<?php esc_attr_e( 'Scan Now', 'wp-security-audit-log' ); ?>" disabled>
1661
- <input type="button" class="button button-secondary" id="wsal-stop-scan" value="<?php esc_attr_e( 'Stop Scan', 'wp-security-audit-log' ); ?>" disabled>
1662
- <?php endif; ?>
1663
- </td>
1664
- </tr>
1665
- <!-- wsal-scan-now -->
1666
- </tbody>
1667
- </table>
1668
  <!-- / File Changes Logging Tab -->
1669
  <?php
1670
  }
1671
 
1672
- /**
1673
- * Save: `File Changes`
1674
- */
1675
- private function tab_file_changes_save() {
1676
- // Get $_POST global array.
1677
- $post_array = filter_input_array( INPUT_POST );
1678
-
1679
- // Check and save enable/disable file changes feature.
1680
- if ( isset( $post_array['wsal-file-changes'] ) && ! empty( $post_array['wsal-file-changes'] ) ) {
1681
- $this->_plugin->SetGlobalOption( 'scan-file-changes', $post_array['wsal-file-changes'] );
1682
-
1683
- // Get file change scan alerts.
1684
- $file_change_events = $this->_plugin->alerts->get_alerts_by_sub_category( 'File Changes' );
1685
- $file_change_events = array_keys( $file_change_events );
1686
-
1687
- // Enable/disable events based on file changes.
1688
- if ( 'disable' === $post_array['wsal-file-changes'] ) {
1689
- // Get disabled events.
1690
- $disabled_events = $this->_plugin->settings->GetDisabledAlerts();
1691
-
1692
- // Merge file changes events.
1693
- $disabled_events = array_merge( $disabled_events, $file_change_events );
1694
-
1695
- // Save the events.
1696
- $this->_plugin->alerts->SetDisabledAlerts( $disabled_events );
1697
- } else {
1698
- // Get disabled events.
1699
- $disabled_events = $this->_plugin->settings->GetDisabledAlerts();
1700
-
1701
- foreach ( $file_change_events as $file_change_event ) {
1702
- // Search for file change events in disabled events.
1703
- $key = array_search( $file_change_event, $disabled_events, true );
1704
-
1705
- // If key is found, then unset it.
1706
- if ( $key ) {
1707
- unset( $disabled_events[ $key ] );
1708
- }
1709
- }
1710
-
1711
- // Save the disabled events.
1712
- $this->_plugin->alerts->SetDisabledAlerts( $disabled_events );
1713
- }
1714
- } else {
1715
- $this->_plugin->SetGlobalOption( 'scan-file-changes', false );
1716
- }
1717
-
1718
- // Check and save scan frequency.
1719
- $this->_plugin->SetGlobalOption( 'scan-frequency', isset( $post_array['wsal-scan-frequency'] ) ? $post_array['wsal-scan-frequency'] : false );
1720
- $this->_plugin->SetGlobalOption( 'scan-hour', isset( $post_array['wsal-scan-hour'] ) ? $post_array['wsal-scan-hour'] : false );
1721
- $this->_plugin->SetGlobalOption( 'scan-day', isset( $post_array['wsal-scan-day'] ) ? $post_array['wsal-scan-day'] : false );
1722
- $this->_plugin->SetGlobalOption( 'scan-date', isset( $post_array['wsal-scan-date'] ) ? $post_array['wsal-scan-date'] : false );
1723
- $this->_plugin->SetGlobalOption( 'scan-file-size-limit', isset( $post_array['wsal-scan-file-size'] ) ? $post_array['wsal-scan-file-size'] : false );
1724
-
1725
- // Check and save scan directories.
1726
- if (
1727
- isset( $post_array['wsal-scan-directories'] )
1728
- && is_array( $post_array['wsal-scan-directories'] )
1729
- ) {
1730
- $scan_directories = array_keys( $post_array['wsal-scan-directories'] );
1731
- $this->_plugin->SetGlobalOption( 'scan-directories', $scan_directories );
1732
- }
1733
- }
1734
-
1735
  /**
1736
  * Tab: `Exclude Objects`
1737
  */
@@ -2232,9 +1758,16 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
2232
  $this->_plugin->settings->deactivate_mainwp_child_stealth_mode();
2233
  }
2234
 
2235
- $custom_logging_dir = ( isset( $post_array['wsal-custom-logs-dir'] ) ) ? filter_var( $post_array['wsal-custom-logs-dir'], FILTER_SANITIZE_STRING ) : WSAL_Settings::DEFAULT_LOGGING_DIR;
 
 
 
 
 
 
 
2236
  if ( ! empty( $custom_logging_dir ) ) {
2237
- $custom_logging_path = trailingslashit( get_home_path() ) . ltrim( trailingslashit( $custom_logging_dir ), '/' );
2238
  if ( ! is_dir( $custom_logging_path ) || ! is_readable( $custom_logging_path ) || ! is_writable( $custom_logging_path ) ) {
2239
  if ( is_writable( dirname( $custom_logging_path ) ) ) {
2240
  $dir_made = wp_mkdir_p( $custom_logging_path );
@@ -2335,9 +1868,6 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
2335
  'invalidFile' => esc_html__( 'Filename cannot be added because it contains invalid characters.', 'wp-security-audit-log' ),
2336
  'invalidFileExt' => esc_html__( 'File extension cannot be added because it contains invalid characters.', 'wp-security-audit-log' ),
2337
  'invalidDir' => esc_html__( 'Directory cannot be added because it contains invalid characters.', 'wp-security-audit-log' ),
2338
- 'scanNow' => esc_html__( 'Scan Now', 'wp-security-audit-log' ),
2339
- 'scanFailed' => esc_html__( 'Scan Failed', 'wp-security-audit-log' ),
2340
- 'scanInProgress' => esc_html__( 'Scan in Progress', 'wp-security-audit-log' ),
2341
  );
2342
  wp_localize_script( 'settings', 'wsal_data', $wsal_data );
2343
  wp_enqueue_script( 'settings' );
@@ -2453,357 +1983,6 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
2453
  exit;
2454
  }
2455
 
2456
- /**
2457
- * Method: Add file to file changes scan exception.
2458
- */
2459
- public function scan_add_exception_file() {
2460
- // Die if user does not have permission to change settings.
2461
- if ( ! $this->_plugin->settings->CurrentUserCan( 'view' ) ) {
2462
- die( 'Access Denied.' );
2463
- }
2464
-
2465
- // Filter $_POST array for security.
2466
- $post_array = filter_input_array( INPUT_POST );
2467
-
2468
- // Get data type to check file or extension.
2469
- if ( ! isset( $post_array['data_type'] ) || empty( $post_array['data_type'] ) ) {
2470
- die( esc_html__( 'Invalid setting type.', 'wp-security-audit-log' ) );
2471
- } else {
2472
- $data_type = $post_array['data_type'];
2473
- }
2474
-
2475
- // Die if nonce verification failed.
2476
- if ( 'file' === $data_type && ! wp_verify_nonce( $post_array['nonce'], 'wsal-scan-exception-file' ) ) {
2477
- die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
2478
- } elseif ( 'extension' === $data_type && ! wp_verify_nonce( $post_array['nonce'], 'wsal-scan-exception-file-type' ) ) {
2479
- die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
2480
- } elseif ( 'dir' === $data_type && ! wp_verify_nonce( $post_array['nonce'], 'wsal-scan-exception-dir' ) ) {
2481
- die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
2482
- }
2483
-
2484
- // Get option type to be excluded.
2485
- if ( 'file' === $data_type ) {
2486
- $excluded_option = $this->_plugin->GetGlobalOption( 'scan_excluded_files', array() );
2487
- } elseif ( 'extension' === $data_type ) {
2488
- $excluded_option = $this->_plugin->GetGlobalOption( 'scan-excluded-extensions', array( 'jpg', 'jpeg', 'png', 'bmp', 'pdf', 'txt', 'log', 'mo', 'po', 'mp3', 'wav' ) );
2489
- } elseif ( 'dir' === $data_type ) {
2490
- $excluded_option = $this->_plugin->GetGlobalOption( 'scan-excluded-directories', array() );
2491
- }
2492
-
2493
- // Check if the file name is set and not empty.
2494
- if ( isset( $post_array['data_name'] ) && ! empty( $post_array['data_name'] ) ) {
2495
- // Check if option already exists.
2496
- if ( ! in_array( $post_array['data_name'], $excluded_option, true ) ) {
2497
- // Add to excluded files array.
2498
- if ( 'dir' === $data_type ) {
2499
- // Prepare directories array.
2500
- // @todo Store this in transient to cache the value. We don't need to load it every time.
2501
- $uploads_dir = wp_upload_dir();
2502
-
2503
- // Server directories.
2504
- $server_dirs = array(
2505
- untrailingslashit( ABSPATH ), // Root directory.
2506
- ABSPATH . 'wp-admin', // WordPress Admin.
2507
- ABSPATH . WPINC, // wp-includes.
2508
- WP_CONTENT_DIR, // wp-content.
2509
- WP_CONTENT_DIR . '/themes', // Themes.
2510
- WP_PLUGIN_DIR, // Plugins.
2511
- $uploads_dir['basedir'], // Uploads.
2512
- );
2513
-
2514
- $dir_name = $post_array['data_name'];
2515
- if ( '/' === substr( $dir_name, -1 ) ) {
2516
- $dir_name = untrailingslashit( $dir_name );
2517
- }
2518
-
2519
- if ( ! in_array( $dir_name, $server_dirs, true ) ) {
2520
- $excluded_option[] = $dir_name;
2521
- } else {
2522
- echo wp_json_encode(
2523
- array(
2524
- 'success' => false,
2525
- 'message' => esc_html__( 'You can exclude this directory using the check boxes above.', 'wp-security-audit-log' ),
2526
- )
2527
- );
2528
- exit();
2529
- }
2530
- } else {
2531
- $excluded_option[] = $post_array['data_name'];
2532
- }
2533
-
2534
- // Save the option.
2535
- if ( 'file' === $data_type ) {
2536
- $this->_plugin->SetGlobalOption( 'scan_excluded_files', $excluded_option );
2537
- } elseif ( 'extension' === $data_type ) {
2538
- $this->_plugin->SetGlobalOption( 'scan-excluded-extensions', $excluded_option );
2539
- } elseif ( 'dir' === $data_type ) {
2540
- $this->_plugin->SetGlobalOption( 'scan-excluded-directories', $excluded_option );
2541
- }
2542
-
2543
- echo wp_json_encode(
2544
- array(
2545
- 'success' => true,
2546
- 'message' => esc_html__( 'Option added to excluded types.', 'wp-security-audit-log' ),
2547
- )
2548
- );
2549
- } else {
2550
- if ( 'file' === $data_type ) {
2551
- $message = esc_html__( 'This file is already excluded from the scan.', 'wp-security-audit-log' );
2552
- } elseif ( 'extension' === $data_type ) {
2553
- $message = esc_html__( 'This file extension is already excluded from the scan.', 'wp-security-audit-log' );
2554
- } elseif ( 'dir' === $data_type ) {
2555
- $message = esc_html__( 'This directory is already excluded from the scan.', 'wp-security-audit-log' );
2556
- }
2557
- echo wp_json_encode(
2558
- array(
2559
- 'success' => false,
2560
- 'message' => $message,
2561
- )
2562
- );
2563
- }
2564
- } else {
2565
- echo wp_json_encode(
2566
- array(
2567
- 'success' => false,
2568
- 'message' => esc_html__( 'Option name is empty.', 'wp-security-audit-log' ),
2569
- )
2570
- );
2571
- }
2572
- exit();
2573
- }
2574
-
2575
- /**
2576
- * Method: Remove files from file changes scan exception.
2577
- */
2578
- public function scan_remove_exception_file() {
2579
- // Die if user does not have permission to change settings.
2580
- if ( ! $this->_plugin->settings->CurrentUserCan( 'view' ) ) {
2581
- die( 'Access Denied.' );
2582
- }
2583
-
2584
- // Filter $_POST array for security.
2585
- $post_array = filter_input_array( INPUT_POST );
2586
-
2587
- // Get data type to check file or extension.
2588
- if ( ! isset( $post_array['data_type'] ) || empty( $post_array['data_type'] ) ) {
2589
- die( esc_html__( 'Invalid setting type.', 'wp-security-audit-log' ) );
2590
- } else {
2591
- $data_type = $post_array['data_type'];
2592
- }
2593
-
2594
- // Die if nonce verification failed.
2595
- if ( 'file' === $data_type && ! wp_verify_nonce( $post_array['nonce'], 'wsal-scan-remove-exception-file' ) ) {
2596
- die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
2597
- } elseif ( 'extension' === $data_type && ! wp_verify_nonce( $post_array['nonce'], 'wsal-scan-remove-exception-file-type' ) ) {
2598
- die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
2599
- } elseif ( 'dir' === $data_type && ! wp_verify_nonce( $post_array['nonce'], 'wsal-scan-remove-exception-dir' ) ) {
2600
- die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
2601
- }
2602
-
2603
- // Get files to be excluded.
2604
- if ( 'file' === $data_type ) {
2605
- $excluded_option = $this->_plugin->GetGlobalOption( 'scan_excluded_files', array() );
2606
- } elseif ( 'extension' === $data_type ) {
2607
- $excluded_option = $this->_plugin->GetGlobalOption( 'scan-excluded-extensions', array( 'jpg', 'jpeg', 'png', 'bmp', 'pdf', 'txt', 'log', 'mo', 'po', 'mp3', 'wav' ) );
2608
- } elseif ( 'dir' === $data_type ) {
2609
- $excluded_option = $this->_plugin->GetGlobalOption( 'scan-excluded-directories', array() );
2610
- }
2611
-
2612
- if ( ! empty( $excluded_option ) && isset( $post_array['data_removed'] ) && ! empty( $post_array['data_removed'] ) ) {
2613
- // Get data_removed.
2614
- $data_removed = $post_array['data_removed'];
2615
-
2616
- // Confirmed array of list to be excluded.
2617
- $to_be_excluded = array();
2618
-
2619
- foreach ( $data_removed as $file ) {
2620
- if ( in_array( $file, $excluded_option, true ) ) {
2621
- $key = array_search( $file, $excluded_option, true );
2622
-
2623
- if ( false !== $key ) {
2624
- $to_be_excluded[] = $excluded_option[ $key ];
2625
- unset( $excluded_option[ $key ] );
2626
- }
2627
- }
2628
- }
2629
-
2630
- // Get excluded scan content.
2631
- $site_content = $this->_plugin->GetGlobalOption( 'site_content' );
2632
- if ( empty( $site_content ) ) {
2633
- $site_content = new stdClass();
2634
- }
2635
- if ( empty( $site_content->skip_files ) ) {
2636
- $site_content->skip_files = array();
2637
- }
2638
- if ( empty( $site_content->skip_extensions ) ) {
2639
- $site_content->skip_extensions = array();
2640
- }
2641
- if ( empty( $site_content->skip_directories ) ) {
2642
- $site_content->skip_directories = array();
2643
- }
2644
-
2645
- // Save the option.
2646
- if ( 'file' === $data_type ) {
2647
- $this->_plugin->SetGlobalOption( 'scan_excluded_files', $excluded_option );
2648
-
2649
- $site_content->skip_files = array_merge( $site_content->skip_files, $to_be_excluded );
2650
- $this->_plugin->SetGlobalOption( 'site_content', $site_content );
2651
- } elseif ( 'extension' === $data_type ) {
2652
- $this->_plugin->SetGlobalOption( 'scan-excluded-extensions', $excluded_option );
2653
-
2654
- $site_content->skip_extensions = array_merge( $site_content->skip_extensions, $to_be_excluded );
2655
- $this->_plugin->SetGlobalOption( 'site_content', $site_content );
2656
- } elseif ( 'dir' === $data_type ) {
2657
- $this->_plugin->SetGlobalOption( 'scan-excluded-directories', $excluded_option );
2658
-
2659
- $site_content->skip_directories = array_merge( $site_content->skip_directories, $to_be_excluded );
2660
- $this->_plugin->SetGlobalOption( 'site_content', $site_content );
2661
- }
2662
-
2663
- echo wp_json_encode(
2664
- array(
2665
- 'success' => true,
2666
- 'message' => esc_html__( 'Option removed from excluded scan types.', 'wp-security-audit-log' ),
2667
- )
2668
- );
2669
- } else {
2670
- echo wp_json_encode(
2671
- array(
2672
- 'success' => false,
2673
- 'message' => esc_html__( 'Something went wrong.', 'wp-security-audit-log' ),
2674
- )
2675
- );
2676
- }
2677
- exit();
2678
- }
2679
-
2680
- /**
2681
- * Method: Run a manual file changes scan.
2682
- */
2683
- public function run_manual_scan_now() {
2684
- // Die if user does not have permission to change settings.
2685
- if ( ! $this->_plugin->settings->CurrentUserCan( 'view' ) ) {
2686
- die( 'Access Denied.' );
2687
- }
2688
-
2689
- // Filter $_POST array for security.
2690
- $post_array = filter_input_array( INPUT_POST );
2691
-
2692
- // Die if nonce verification failed.
2693
- if ( ! wp_verify_nonce( $post_array['nonce'], 'wsal-scan-now' ) ) {
2694
- die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
2695
- }
2696
-
2697
- // Return if a cron is running.
2698
- if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
2699
- echo wp_json_encode(
2700
- array(
2701
- 'success' => false,
2702
- 'message' => esc_html__( 'A cron job is in progress.', 'wp-security-audit-log' ),
2703
- )
2704
- );
2705
- exit();
2706
- }
2707
-
2708
- // Get plugin sensors.
2709
- $sensors = $this->_plugin->sensors->GetSensors();
2710
-
2711
- // Get file changes sensor.
2712
- $file_changes = '';
2713
-
2714
- if ( ! empty( $sensors ) ) {
2715
- foreach ( $sensors as $sensor ) {
2716
- if ( $sensor instanceof WSAL_Sensors_FileChanges ) {
2717
- $file_changes = $sensor;
2718
- }
2719
- }
2720
- }
2721
-
2722
- // Check for file changes sensor.
2723
- if ( ! empty( $file_changes ) && $file_changes instanceof WSAL_Sensors_FileChanges ) {
2724
- // Run a manual scan on all directories.
2725
- for ( $dir = 0; $dir < 7; $dir++ ) {
2726
- if ( ! $this->_plugin->GetGlobalOption( 'stop-scan', false ) ) {
2727
- if ( 0 === $dir ) {
2728
- // Scan started alert.
2729
- $this->_plugin->alerts->Trigger(
2730
- 6033,
2731
- array(
2732
- 'CurrentUserID' => '0',
2733
- 'ScanStatus' => 'started',
2734
- 'EventType' => 'started',
2735
- )
2736
- );
2737
- } elseif ( 6 === $dir ) {
2738
- // Scan stopped.
2739
- $this->_plugin->alerts->Trigger(
2740
- 6033,
2741
- array(
2742
- 'CurrentUserID' => '0',
2743
- 'ScanStatus' => 'stopped',
2744
- 'EventType' => 'stopped',
2745
- )
2746
- );
2747
- }
2748
- $file_changes->detect_file_changes( true, $dir );
2749
- } else {
2750
- break;
2751
- }
2752
- }
2753
- $this->_plugin->SetGlobalOption( 'stop-scan', false );
2754
-
2755
- echo wp_json_encode(
2756
- array(
2757
- 'success' => true,
2758
- 'message' => esc_html__( 'Scan started successfully.', 'wp-security-audit-log' ),
2759
- )
2760
- );
2761
- } else {
2762
- echo wp_json_encode(
2763
- array(
2764
- 'success' => false,
2765
- 'message' => esc_html__( 'Something went wrong.', 'wp-security-audit-log' ),
2766
- )
2767
- );
2768
- }
2769
- exit();
2770
- }
2771
-
2772
- /**
2773
- * Method: Stop a file changes scan.
2774
- */
2775
- public function stop_file_changes_scan() {
2776
- // Die if user does not have permission to change settings.
2777
- if ( ! $this->_plugin->settings->CurrentUserCan( 'view' ) ) {
2778
- die( 'Access Denied.' );
2779
- }
2780
-
2781
- // Filter $_POST array for security.
2782
- $post_array = filter_input_array( INPUT_POST );
2783
-
2784
- // Die if nonce verification failed.
2785
- if ( ! wp_verify_nonce( $post_array['nonce'], 'wsal-stop-scan' ) ) {
2786
- echo wp_json_encode(
2787
- array(
2788
- 'success' => false,
2789
- 'message' => esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ),
2790
- )
2791
- );
2792
- exit();
2793
- }
2794
-
2795
- // Set stop scan option to true.
2796
- $this->_plugin->SetGlobalOption( 'stop-scan', true );
2797
-
2798
- echo wp_json_encode(
2799
- array(
2800
- 'success' => true,
2801
- 'message' => esc_html__( 'Scan started successfully.', 'wp-security-audit-log' ),
2802
- )
2803
- );
2804
- exit();
2805
- }
2806
-
2807
  /**
2808
  * Method: Reset plugin settings table.
2809
  */
29
  */
30
  public $adapter_msg = '';
31
 
 
 
 
 
 
 
 
32
  /**
33
  * WSAL Setting Tabs.
34
  *
60
  add_action( 'wp_ajax_AjaxGetAllUsers', array( $this, 'AjaxGetAllUsers' ) );
61
  add_action( 'wp_ajax_AjaxGetAllRoles', array( $this, 'AjaxGetAllRoles' ) );
62
  add_action( 'wp_ajax_AjaxGetAllCPT', array( $this, 'AjaxGetAllCPT' ) );
 
 
 
 
63
  add_action( 'wp_ajax_wsal_reset_settings', array( $this, 'reset_settings' ) );
64
  add_action( 'wp_ajax_wsal_purge_activity', array( $this, 'purge_activity' ) );
65
  }
96
  'priority' => 20,
97
  ),
98
  'file-changes' => array(
99
+ 'name' => __( 'File Changes', 'wp-security-audit-log' ),
100
  'link' => add_query_arg( 'tab', 'file-changes', $this->GetUrl() ),
101
  'render' => array( $this, 'tab_file_changes' ),
 
102
  'priority' => 30,
103
  ),
104
  'exclude-objects' => array(
197
  return $this->_plugin->settings->get_token_type( $token );
198
  }
199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  /**
201
  * Method: Save settings.
202
  *
1224
  * Tab: `File Changes`
1225
  */
1226
  private function tab_file_changes() {
 
 
1227
  ?>
 
 
 
 
1228
 
 
1229
  <table class="form-table wsal-tab">
1230
  <tbody>
1231
  <tr>
1232
+ <?php if ( ! defined( 'WFCM_PLUGIN_FILE' ) ) : ?>
1233
+ <div class="addon-wrapper" style="max-width: 380px; text-align: center; border: 1px solid #ccc; padding: 25px;">
1234
+ <img src="<?php echo trailingslashit( WSAL_BASE_URL ) . 'img/help/website-file-changes-monitor.jpg'; ?>">
1235
+ <h4><?php echo esc_html__( 'Website File Changes Monitor', 'wp-security-audit-log' ); ?></h4>
1236
+ <p><?php echo esc_html__( 'To keep a log of file changes please install Website File Changes Monitor, a plugin which is also developed by us.', 'wp-security-audit-log' ); ?></p><br>
1237
+ <p><button class="install-addon button button-primary" data-nonce="<?php echo esc_attr( wp_create_nonce( 'wsal-install-addon' ) ); ?>" data-plugin-slug="website-file-changes-monitor/website-file-changes-monitor.php" data-plugin-download-url="https://downloads.wordpress.org/plugin/website-file-changes-monitor.latest-stable.zip"><?php _e( 'Install plugin now', 'wp-security-audit-log' ); ?></button><span class="spinner" style="display: none; visibility: visible; float: none; margin: 0 0 0 8px;"></span> <a href="https://wpactivitylog.com/support/kb/wordpress-files-changes-warning-activity-logs/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings+pages" target="_blank" style="margin-left: 15px;"><?php echo esc_html__( 'Learn More', 'wp-security-audit-log' ); ?></a></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1238
  </div>
1239
+ <?php else : ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1240
  <?php
1241
+ $wcfm_settings_page = '';
1242
+ $redirect_args = array(
1243
+ 'page' => 'wfcm-file-changes',
1244
+ );
1245
+ if ( ! is_multisite() ) {
1246
+ $wcfm_settings_page = add_query_arg( $redirect_args, admin_url( 'admin.php' ) );
1247
+ } else {
1248
+ $wcfm_settings_page = add_query_arg( $redirect_args, network_admin_url( 'admin.php' ) );
1249
+ }
1250
  ?>
1251
+ <p><?php echo esc_html__( 'Configure how often file changes scan run and other settings from the', 'wp-security-audit-log' ); ?> <a class="button button-primary" href="<?php echo esc_url( $wcfm_settings_page ); ?>"><?php echo esc_html__( 'Website File Changes plugin settings', 'wp-security-audit-log' ); ?></a></p>
1252
+ <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1253
  </tr>
 
1254
  </tbody>
1255
  </table>
1256
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1257
  <!-- / File Changes Logging Tab -->
1258
  <?php
1259
  }
1260
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1261
  /**
1262
  * Tab: `Exclude Objects`
1263
  */
1758
  $this->_plugin->settings->deactivate_mainwp_child_stealth_mode();
1759
  }
1760
 
1761
+ $custom_logging_dir = WSAL_Settings::DEFAULT_LOGGING_DIR;
1762
+ if ( isset( $post_array['wsal-custom-logs-dir'] ) ) {
1763
+ $posted_logging_dir = filter_var( $post_array['wsal-custom-logs-dir'], FILTER_SANITIZE_STRING );
1764
+ if (!empty($posted_logging_dir)) {
1765
+ $custom_logging_dir = $posted_logging_dir;
1766
+ }
1767
+ }
1768
+
1769
  if ( ! empty( $custom_logging_dir ) ) {
1770
+ $custom_logging_path = trailingslashit( ABSPATH ) . ltrim( trailingslashit( $custom_logging_dir ), '/' );
1771
  if ( ! is_dir( $custom_logging_path ) || ! is_readable( $custom_logging_path ) || ! is_writable( $custom_logging_path ) ) {
1772
  if ( is_writable( dirname( $custom_logging_path ) ) ) {
1773
  $dir_made = wp_mkdir_p( $custom_logging_path );
1868
  'invalidFile' => esc_html__( 'Filename cannot be added because it contains invalid characters.', 'wp-security-audit-log' ),
1869
  'invalidFileExt' => esc_html__( 'File extension cannot be added because it contains invalid characters.', 'wp-security-audit-log' ),
1870
  'invalidDir' => esc_html__( 'Directory cannot be added because it contains invalid characters.', 'wp-security-audit-log' ),
 
 
 
1871
  );
1872
  wp_localize_script( 'settings', 'wsal_data', $wsal_data );
1873
  wp_enqueue_script( 'settings' );
1983
  exit;
1984
  }
1985
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1986
  /**
1987
  * Method: Reset plugin settings table.
1988
  */
classes/Views/SetupWizard.php CHANGED
@@ -774,7 +774,7 @@ final class WSAL_Views_SetupWizard {
774
  </a>
775
  </li>
776
  <li>
777
- <a href="https://wpactivitylog.com/support/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=wizard+configuration" target="_blank">
778
  <?php esc_html_e( 'Knowledge Base & Support Documents', 'wp-security-audit-log' ); ?>
779
  </a>
780
  </li>
@@ -858,6 +858,10 @@ final class WSAL_Views_SetupWizard {
858
  if ( is_plugin_active( $details['plugin_slug'] ) ) {
859
  $disable_button = 'disabled';
860
  }
 
 
 
 
861
  ?>
862
 
863
  <div class="addon-wrapper">
774
  </a>
775
  </li>
776
  <li>
777
+ <a href="https://wpactivitylog.com/support/kb/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=wizard+configuration" target="_blank">
778
  <?php esc_html_e( 'Knowledge Base & Support Documents', 'wp-security-audit-log' ); ?>
779
  </a>
780
  </li>
858
  if ( is_plugin_active( $details['plugin_slug'] ) ) {
859
  $disable_button = 'disabled';
860
  }
861
+ // Check if this is actually an addon for something, otherwise bail.
862
+ if ( ! isset( $details['addon_for'] ) || ! isset( $details['image_filename'] ) ) {
863
+ break;
864
+ }
865
  ?>
866
 
867
  <div class="addon-wrapper">
classes/Views/ToggleAlerts.php CHANGED
@@ -385,6 +385,10 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
385
  continue; // <- Ignore php alerts.
386
  }
387
 
 
 
 
 
388
  if ( in_array( $alert->type, $obsolete_events, true ) ) {
389
  continue; // <- Ignore promo alerts.
390
  }
@@ -540,7 +544,7 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
540
  }
541
 
542
  // File integrity scan link.
543
- if ( __( 'File Changes', 'wp-security-audit-log' ) === $subname ) :
544
  $wsal_settings_page = '';
545
  $redirect_args = array(
546
  'page' => 'wsal-settings',
@@ -553,12 +557,20 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
553
  }
554
  ?>
555
  <tr>
556
- <td colspan="4">
557
- <a href="<?php echo esc_url( $wsal_settings_page ); ?>" class="wsal-tab-help">
558
- <?php esc_html_e( 'Configure the file integrity scan settings.', 'wp-security-audit-log' ); ?>
559
- </a>
 
 
 
560
  </td>
561
  </tr>
 
 
 
 
 
562
  <?php
563
  endif;
564
  ?>
385
  continue; // <- Ignore php alerts.
386
  }
387
 
388
+ if ( __( 'Monitor File Changes', 'wp-security-audit-log' ) === $subname && ! defined( 'WFCM_PLUGIN_FILE' ) ) {
389
+ break;
390
+ }
391
+
392
  if ( in_array( $alert->type, $obsolete_events, true ) ) {
393
  continue; // <- Ignore promo alerts.
394
  }
544
  }
545
 
546
  // File integrity scan link.
547
+ if ( __( 'Monitor File Changes', 'wp-security-audit-log' ) === $subname && ! defined( 'WFCM_PLUGIN_FILE' ) ) :
548
  $wsal_settings_page = '';
549
  $redirect_args = array(
550
  'page' => 'wsal-settings',
557
  }
558
  ?>
559
  <tr>
560
+ <td>
561
+ <div class="addon-wrapper">
562
+ <img src="<?php echo trailingslashit( WSAL_BASE_URL ) . 'img/help/website-file-changes-monitor.jpg'; ?>">
563
+ <h4><?php echo esc_html__( 'Website File Changes Monitor', 'wp-security-audit-log' ); ?></h4>
564
+ <p><?php echo esc_html__( 'To keep a log of file changes please install Website File Changes Monitor, a plugin which is also developed by us.', 'wp-security-audit-log' ); ?></p><br>
565
+ <p><button class="install-addon button button-primary" data-nonce="<?php echo esc_attr( wp_create_nonce( 'wsal-install-addon' ) ); ?>" data-plugin-slug="website-file-changes-monitor/website-file-changes-monitor.php" data-plugin-download-url="https://downloads.wordpress.org/plugin/website-file-changes-monitor.latest-stable.zip"><?php _e( 'Install plugin now', 'wp-security-audit-log' ); ?></button><span class="spinner" style="display: none; visibility: visible; float: none; margin: 0 0 0 8px;"></span> <a href="https://wpactivitylog.com/support/kb/wordpress-files-changes-warning-activity-logs/?utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings+pages" target="_blank" style="margin-left: 15px;"><?php echo esc_html__( 'Learn More', 'wp-security-audit-log' ); ?></a></p>
566
+ </div>
567
  </td>
568
  </tr>
569
+ <style type="text/css">
570
+ #tab-monitor-file-changes thead {
571
+ display: none;
572
+ }
573
+ </style>
574
  <?php
575
  endif;
576
  ?>
css/extensions.css CHANGED
@@ -29,6 +29,18 @@ input[type="submit"] {
29
  padding: 0;
30
  }
31
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  a {
33
  outline: none;
34
  text-decoration: none;
@@ -414,13 +426,13 @@ ul.premium-list li:before {
414
 
415
  .nav-tabs {
416
  display: -ms-flexbox;
417
- display: flex;
418
- -ms-flex-direction: row-reverse;
419
- flex-direction: row-reverse;
420
- -ms-flex-wrap: wrap;
421
  flex-wrap: wrap;
422
  justify-content: flex-end;
423
- padding-bottom: 20px;
424
  max-width: 1170px;
425
  }
426
 
@@ -433,7 +445,7 @@ ul.premium-list li:before {
433
  .wsal-help-main p {
434
  line-height: 2;
435
  }
436
-
437
  .our-wordpress-plugins {
438
  width: 100%;
439
  max-width: 250px;
@@ -461,9 +473,9 @@ ul.premium-list li:before {
461
  margin: 0;
462
  padding: 20px 0 0;
463
  display: -ms-flexbox;
464
- display: flex;
465
- -ms-flex-wrap: wrap;
466
- flex-wrap: wrap;
467
  }
468
 
469
  .our-wordpress-plugins ul li{
29
  padding: 0;
30
  }
31
 
32
+ body {
33
+ /* margin: 0;
34
+ padding: 0;
35
+ font-family: 'Roboto', sans-serif;
36
+ -webkit-font-smoothing: antialiased;
37
+ font-weight: 400;
38
+ width: 100%;
39
+ min-height: 100%;
40
+ color: #23282d;
41
+ background: #fff; */
42
+ }
43
+
44
  a {
45
  outline: none;
46
  text-decoration: none;
426
 
427
  .nav-tabs {
428
  display: -ms-flexbox;
429
+ display: flex;
430
+ -ms-flex-direction: row-reverse;
431
+ flex-direction: row-reverse;
432
+ -ms-flex-wrap: wrap;
433
  flex-wrap: wrap;
434
  justify-content: flex-end;
435
+ padding-bottom: 20px;
436
  max-width: 1170px;
437
  }
438
 
445
  .wsal-help-main p {
446
  line-height: 2;
447
  }
448
+
449
  .our-wordpress-plugins {
450
  width: 100%;
451
  max-width: 250px;
473
  margin: 0;
474
  padding: 20px 0 0;
475
  display: -ms-flexbox;
476
+ display: flex;
477
+ -ms-flex-wrap: wrap;
478
+ flex-wrap: wrap;
479
  }
480
 
481
  .our-wordpress-plugins ul li{
defaults.php CHANGED
@@ -368,15 +368,6 @@ function wsaldefaults_wsal_init() {
368
  array( 6034, WSAL_CRITICAL, __( 'Purged the activity log', 'wp-security-audit-log' ), __( 'Purged the activity log', 'wp-security-audit-log' ), 'activity-logs', 'deleted' ),
369
  ),
370
 
371
- __( 'File Changes', 'wp-security-audit-log' ) => array(
372
- array( 6028, WSAL_HIGH, __( 'File content has been modified', 'wp-security-audit-log' ), __( 'Content of the file on site modified %LineBreak% File: %File% %LineBreak% Location: %FileLocation%', 'wp-security-audit-log' ), 'file', 'modified' ),
373
- array( 6029, WSAL_CRITICAL, __( 'File added to the site', 'wp-security-audit-log' ), __( 'File added to site %LineBreak% File: %File% %LineBreak% Location: %FileLocation%', 'wp-security-audit-log' ), 'file', 'added' ),
374
- array( 6030, WSAL_MEDIUM, __( 'File deleted from the site', 'wp-security-audit-log' ), __( 'File deleted from site %LineBreak% File: %File% %LineBreak% Location: %FileLocation%', 'wp-security-audit-log' ), 'file', 'deleted' ),
375
- array( 6031, WSAL_INFORMATIONAL, __( 'File not scanned because it is bigger than the maximum file size limit', 'wp-security-audit-log' ), __( 'File not scanned because it is bigger than the maximum file size limit %LineBreak% File: %File% %LineBreak% Location: %FileLocation% %LineBreak% %FileSettings%', 'wp-security-audit-log' ), 'system', 'blocked' ),
376
- array( 6032, WSAL_INFORMATIONAL, __( 'File integrity scan stopped due to the limit of 1 million files', 'wp-security-audit-log' ), __( 'Your website has more than 1 million files so the file integrity scanner cannot scan them all. Contact support for more information. %LineBreak% %ContactSupport%', 'wp-security-audit-log' ), 'system', 'blocked' ),
377
- array( 6033, WSAL_INFORMATIONAL, __( 'File integrity scan started/stopped', 'wp-security-audit-log' ), __( 'The file integrity scan has %ScanStatus%.', 'wp-security-audit-log' ), 'system', 'started' ),
378
- ),
379
-
380
  __( 'User/Visitor Actions', 'wp-security-audit-log' ) => array(
381
  array( 6007, WSAL_INFORMATIONAL, __( 'User requests non-existing pages (404 Error Pages)', 'wp-security-audit-log' ), __( 'Has requested a non existing page (404 error) %LineBreak% Number of times: %Attempts%', 'wp-security-audit-log' ), 'system', 'opened' ),
382
  array( 6023, WSAL_INFORMATIONAL, __( 'Website Visitor User requests non-existing pages (404 Error Pages)', 'wp-security-audit-log' ), __( 'Website visitor has requested a non existing page (404 error) %LineBreak% Number of times: %Attempts%', 'wp-security-audit-log' ), 'system', 'opened' ),
@@ -577,6 +568,18 @@ function wsaldefaults_wsal_init() {
577
  )
578
  );
579
 
 
 
 
 
 
 
 
 
 
 
 
 
580
  // Load Custom alerts.
581
  load_include_custom_file( $wsal );
582
  }
368
  array( 6034, WSAL_CRITICAL, __( 'Purged the activity log', 'wp-security-audit-log' ), __( 'Purged the activity log', 'wp-security-audit-log' ), 'activity-logs', 'deleted' ),
369
  ),
370
 
 
 
 
 
 
 
 
 
 
371
  __( 'User/Visitor Actions', 'wp-security-audit-log' ) => array(
372
  array( 6007, WSAL_INFORMATIONAL, __( 'User requests non-existing pages (404 Error Pages)', 'wp-security-audit-log' ), __( 'Has requested a non existing page (404 error) %LineBreak% Number of times: %Attempts%', 'wp-security-audit-log' ), 'system', 'opened' ),
373
  array( 6023, WSAL_INFORMATIONAL, __( 'Website Visitor User requests non-existing pages (404 Error Pages)', 'wp-security-audit-log' ), __( 'Website visitor has requested a non existing page (404 error) %LineBreak% Number of times: %Attempts%', 'wp-security-audit-log' ), 'system', 'opened' ),
568
  )
569
  );
570
 
571
+ // Dummy item to hold WFCM installer.
572
+ if ( function_exists( 'is_plugin_active' ) && ! defined( 'WFCM_PLUGIN_FILE' ) ) {
573
+ $file_changes_tab = array (
574
+ __( 'File Changes', 'wp-security-audit-log' ) => array(
575
+ __( 'Monitor File Changes', 'wp-security-audit-log' ) => array(
576
+ array( 99999, WSAL_HIGH, __( 'Dummy', 'wp-security-audit-log' ), '', 'file', 'modified' ),
577
+ )
578
+ ),
579
+ );
580
+ $wsal->alerts->RegisterGroup( $file_changes_tab );
581
+ }
582
+
583
  // Load Custom alerts.
584
  load_include_custom_file( $wsal );
585
  }
languages/wp-security-audit-log-it_IT.mo CHANGED
Binary file
languages/wp-security-audit-log.pot CHANGED
@@ -3,8 +3,8 @@ msgid ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: WP Activity Log\n"
6
- "POT-Creation-Date: 2020-04-15 17:04+0100\n"
7
- "PO-Revision-Date: 2020-04-15 17:04+0100\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
@@ -20,7 +20,6 @@ msgstr ""
20
  "X-Poedit-SearchPath-0: .\n"
21
  "X-Poedit-SearchPathExcluded-0: *.js\n"
22
 
23
- #. translators: Event ID
24
  #: classes/AlertManager.php:365
25
  #, php-format
26
  msgid "Event with code %d has not be registered."
@@ -50,20 +49,20 @@ msgstr ""
50
  msgid "Contact us"
51
  msgstr ""
52
 
53
- #: classes/AlertManager.php:1107 classes/AuditLogListView.php:332
54
- #: classes/AuditLogListView.php:366 classes/Views/Settings.php:1183
55
  #: classes/WidgetManager.php:76
56
  msgid "User"
57
  msgstr ""
58
 
59
  #: classes/AlertManager.php:1108 classes/AlertManager.php:1898
60
- #: classes/AuditLogGridView.php:517 classes/AuditLogListView.php:542
61
  #: defaults.php:354
62
  msgid "System"
63
  msgstr ""
64
 
65
  #: classes/AlertManager.php:1109 classes/AuditLogGridView.php:508
66
- #: classes/AuditLogListView.php:530
67
  msgid "Plugin"
68
  msgstr ""
69
 
@@ -120,7 +119,7 @@ msgid "MainWP"
120
  msgstr ""
121
 
122
  #: classes/AlertManager.php:1124 classes/Views/ToggleAlerts.php:222
123
- #: classes/Views/ToggleAlerts.php:352 defaults.php:542
124
  msgid "Yoast SEO"
125
  msgstr ""
126
 
@@ -331,22 +330,22 @@ msgstr ""
331
  msgid "All Sites"
332
  msgstr ""
333
 
334
- #: classes/AuditLogGridView.php:257 classes/AuditLogListView.php:263
335
  msgid "Live Database"
336
  msgstr ""
337
 
338
- #: classes/AuditLogGridView.php:260 classes/AuditLogListView.php:266
339
  msgid "Archive Database"
340
  msgstr ""
341
 
342
  #: classes/AuditLogGridView.php:314 classes/AuditLogGridView.php:338
343
- #: classes/AuditLogListView.php:329 classes/AuditLogListView.php:357
344
  msgid "ID"
345
  msgstr ""
346
 
347
  #: classes/AuditLogGridView.php:315 classes/AuditLogGridView.php:341
348
- #: classes/AuditLogListView.php:330 classes/AuditLogListView.php:360
349
- #: classes/Views/Settings.php:1179 classes/Views/ToggleAlerts.php:326
350
  msgid "Severity"
351
  msgstr ""
352
 
@@ -354,13 +353,13 @@ msgstr ""
354
  msgid "Info"
355
  msgstr ""
356
 
357
- #: classes/AuditLogGridView.php:321 classes/AuditLogListView.php:340
358
- #: classes/AuditLogListView.php:372
359
  msgid "Site"
360
  msgstr ""
361
 
362
  #: classes/AuditLogGridView.php:324 classes/AuditLogGridView.php:347
363
- #: classes/AuditLogListView.php:343 classes/AuditLogListView.php:381
364
  msgid "Message"
365
  msgstr ""
366
 
@@ -368,7 +367,7 @@ msgstr ""
368
  msgid "Grid"
369
  msgstr ""
370
 
371
- #: classes/AuditLogGridView.php:416 classes/AuditLogListView.php:465
372
  msgid "Disable this type of events."
373
  msgstr ""
374
 
@@ -377,26 +376,26 @@ msgid "Message:"
377
  msgstr ""
378
 
379
  #: classes/AuditLogGridView.php:459 classes/AuditLogGridView.php:466
380
- #: classes/AuditLogGridView.php:505 classes/AuditLogListView.php:485
381
- #: classes/AuditLogListView.php:526
382
  msgid "Unknown"
383
  msgstr ""
384
 
385
- #: classes/AuditLogGridView.php:490 classes/AuditLogListView.php:511
386
  msgid "Show me all activity by this User"
387
  msgstr ""
388
 
389
- #: classes/AuditLogGridView.php:511 classes/AuditLogListView.php:534
390
  #: defaults.php:316
391
  msgid "Plugins"
392
  msgstr ""
393
 
394
- #: classes/AuditLogGridView.php:514 classes/AuditLogListView.php:538
395
  msgid "Website Visitor"
396
  msgstr ""
397
 
398
  #: classes/AuditLogGridView.php:551 classes/AuditLogGridView.php:564
399
- #: classes/AuditLogListView.php:574 classes/AuditLogListView.php:587
400
  msgid "Show me all activity originating from this IP Address"
401
  msgstr ""
402
 
@@ -424,68 +423,67 @@ msgstr ""
424
  msgid "Event Type:"
425
  msgstr ""
426
 
427
- #: classes/AuditLogGridView.php:621 classes/AuditLogListView.php:616
428
  msgid "View all details of this change"
429
  msgstr ""
430
 
431
  #: classes/AuditLogGridView.php:622 classes/AuditLogGridView.php:772
432
- #: classes/AuditLogListView.php:617 classes/AuditLogListView.php:771
433
  msgid "Alert Data Inspector"
434
  msgstr ""
435
 
436
- #: classes/AuditLogGridView.php:724 classes/AuditLogListView.php:723
437
- #: classes/Settings.php:1639
438
  msgid "Download the log file"
439
  msgstr ""
440
 
441
- #: classes/AuditLogGridView.php:744 classes/AuditLogListView.php:743
442
- #: classes/Settings.php:1681
443
  msgid "Download the log file."
444
  msgstr ""
445
 
446
- #: classes/AuditLogGridView.php:752 classes/AuditLogListView.php:751
447
- #: classes/Settings.php:1694 classes/Settings.php:1937
448
  msgid "published"
449
  msgstr ""
450
 
451
- #. translators: Mailto link for support.
452
- #: classes/AuditLogGridView.php:780 classes/AuditLogListView.php:779
453
- #: classes/Settings.php:1720 classes/Settings.php:1963
454
  #, php-format
455
  msgid "Contact us on %s for assistance"
456
  msgstr ""
457
 
458
- #: classes/AuditLogGridView.php:914 classes/AuditLogListView.php:913
459
  msgid "Select All"
460
  msgstr ""
461
 
462
- #: classes/AuditLogListView.php:331 classes/AuditLogListView.php:363
463
  msgid "Date"
464
  msgstr ""
465
 
466
- #: classes/AuditLogListView.php:333 classes/AuditLogListView.php:369
467
  msgid "IP"
468
  msgstr ""
469
 
470
- #: classes/AuditLogListView.php:334 classes/AuditLogListView.php:375
471
  msgid "Object"
472
  msgstr ""
473
 
474
- #: classes/AuditLogListView.php:335 classes/AuditLogListView.php:378
475
  msgid "Event Type"
476
  msgstr ""
477
 
478
- #: classes/AuditLogListView.php:440
479
  msgid "Click to toggle."
480
  msgstr ""
481
 
482
- #: classes/AuditLogListView.php:445 classes/Models/Occurrence.php:83
483
- #: classes/ViewManager.php:469
484
  msgid "Alert message not found."
485
  msgstr ""
486
 
487
- #: classes/AuditLogListView.php:446 classes/Models/Occurrence.php:84
488
- #: classes/ViewManager.php:470
489
  msgid "Alert description not found."
490
  msgstr ""
491
 
@@ -500,12 +498,11 @@ msgstr ""
500
  msgid "Code %1$d: %2$s"
501
  msgstr ""
502
 
503
- #: classes/Connector/wp-db-custom.php:213
504
  msgid "Error establishing a database connection"
505
  msgstr ""
506
 
507
- #. translators: 1: wp-config.php. 2: database host
508
- #: classes/Connector/wp-db-custom.php:217
509
  #, php-format
510
  msgid ""
511
  "This either means that the username and password information in your %1$s "
@@ -513,20 +510,19 @@ msgid ""
513
  "This could mean your host&#8217;s database server is down."
514
  msgstr ""
515
 
516
- #: classes/Connector/wp-db-custom.php:223
517
  msgid "Are you sure you have the correct username and password?"
518
  msgstr ""
519
 
520
- #: classes/Connector/wp-db-custom.php:224
521
  msgid "Are you sure that you have typed the correct hostname?"
522
  msgstr ""
523
 
524
- #: classes/Connector/wp-db-custom.php:225
525
  msgid "Are you sure that the database server is running?"
526
  msgstr ""
527
 
528
- #. translators: %s: support forums URL
529
- #: classes/Connector/wp-db-custom.php:230
530
  #, php-format
531
  msgid ""
532
  "If you&#8217;re unsure what these terms mean you should probably contact "
@@ -534,42 +530,38 @@ msgid ""
534
  "\">WordPress Support Forums</a>."
535
  msgstr ""
536
 
537
- #: classes/Connector/wp-db-custom.php:231
538
  msgid "https://wordpress.org/support/"
539
  msgstr ""
540
 
541
- #: classes/Connector/wp-db-custom.php:284
542
  msgid "Can&#8217;t select database"
543
  msgstr ""
544
 
545
- #. translators: %s: database name
546
- #: classes/Connector/wp-db-custom.php:288
547
  #, php-format
548
  msgid ""
549
  "We were able to connect to the database server (which means your username "
550
  "and password is okay) but not able to select the %s database."
551
  msgstr ""
552
 
553
- #: classes/Connector/wp-db-custom.php:293
554
  msgid "Are you sure it exists?"
555
  msgstr ""
556
 
557
- #. translators: 1: database user, 2: database name
558
- #: classes/Connector/wp-db-custom.php:297
559
  #, php-format
560
  msgid "Does the user %1$s have permission to use the %2$s database?"
561
  msgstr ""
562
 
563
- #. translators: %s: database name
564
- #: classes/Connector/wp-db-custom.php:304
565
  #, php-format
566
  msgid ""
567
  "On some systems the name of your database is prefixed with your username, so "
568
  "it would be like <code>username_%1$s</code>. Could that be the problem?"
569
  msgstr ""
570
 
571
- #. translators: %s: support forums URL
572
- #: classes/Connector/wp-db-custom.php:312
573
  #, php-format
574
  msgid ""
575
  "If you don&#8217;t know how to set up a database you should <strong>contact "
@@ -577,37 +569,37 @@ msgid ""
577
  "\">WordPress Support Forums</a>."
578
  msgstr ""
579
 
580
- #: classes/Connector/wp-db-custom.php:313
581
  msgid "https://wordpress.org/support/forums/"
582
  msgstr ""
583
 
584
  #: classes/ConstantManager.php:152 classes/ConstantManager.php:158
585
- #: classes/Views/ToggleAlerts.php:446 classes/Views/ToggleAlerts.php:452
586
  msgid "Critical"
587
  msgstr ""
588
 
589
- #: classes/ConstantManager.php:154 classes/Views/ToggleAlerts.php:448
590
  msgid "Warning"
591
  msgstr ""
592
 
593
- #: classes/ConstantManager.php:156 classes/Views/ToggleAlerts.php:450
594
- #: classes/Views/ToggleAlerts.php:462
595
  msgid "Notification"
596
  msgstr ""
597
 
598
- #: classes/ConstantManager.php:160 classes/Views/ToggleAlerts.php:454
599
  msgid "High"
600
  msgstr ""
601
 
602
- #: classes/ConstantManager.php:162 classes/Views/ToggleAlerts.php:456
603
  msgid "Medium"
604
  msgstr ""
605
 
606
- #: classes/ConstantManager.php:164 classes/Views/ToggleAlerts.php:458
607
  msgid "Low"
608
  msgstr ""
609
 
610
- #: classes/ConstantManager.php:166 classes/Views/ToggleAlerts.php:460
611
  msgid "Informational"
612
  msgstr ""
613
 
@@ -628,7 +620,11 @@ msgstr ""
628
  msgid "BBPress"
629
  msgstr ""
630
 
631
- #: classes/Models/Occurrence.php:226
 
 
 
 
632
  #, php-format
633
  msgid ""
634
  "Alert message was not available, this may have been a custom alert that no "
@@ -636,127 +632,127 @@ msgid ""
636
  msgstr ""
637
 
638
  #: classes/Sensors/Content.php:996 classes/Sensors/Content.php:1004
639
- #: classes/Sensors/WooCommerce.php:605 classes/Sensors/WooCommerce.php:613
640
  msgid "Password Protected"
641
  msgstr ""
642
 
643
  #: classes/Sensors/Content.php:998 classes/Sensors/Content.php:1006
644
- #: classes/Sensors/WooCommerce.php:609 classes/Sensors/WooCommerce.php:617
645
  msgid "Private"
646
  msgstr ""
647
 
648
  #: classes/Sensors/Content.php:1000 classes/Sensors/Content.php:1008
649
- #: classes/Sensors/WooCommerce.php:607 classes/Sensors/WooCommerce.php:615
650
  msgid "Public"
651
  msgstr ""
652
 
653
  #: classes/Sensors/FrontendWooCommerce.php:209 classes/Sensors/Public.php:394
654
- #: classes/Sensors/WooCommerce.php:2171
655
  msgid "In stock"
656
  msgstr ""
657
 
658
  #: classes/Sensors/FrontendWooCommerce.php:211 classes/Sensors/Public.php:396
659
- #: classes/Sensors/WooCommerce.php:2173
660
  msgid "Out of stock"
661
  msgstr ""
662
 
663
  #: classes/Sensors/FrontendWooCommerce.php:213 classes/Sensors/Public.php:398
664
- #: classes/Sensors/WooCommerce.php:2175
665
  msgid "On backorder"
666
  msgstr ""
667
 
668
- #: classes/Sensors/WooCommerce.php:1804 classes/Sensors/WooCommerce.php:1838
669
- #: classes/Sensors/WooCommerce.php:1884
670
  msgid "None, "
671
  msgstr ""
672
 
673
- #: classes/Sensors/WooCommerce.php:1813 classes/Sensors/WooCommerce.php:1847
674
- #: classes/Sensors/WooCommerce.php:1893
675
  msgid "None"
676
  msgstr ""
677
 
678
- #: classes/Sensors/WooCommerce.php:3082
679
  msgid "Visible"
680
  msgstr ""
681
 
682
- #: classes/Sensors/WooCommerce.php:3082
683
  msgid "Non-Visible"
684
  msgstr ""
685
 
686
- #: classes/Settings.php:467
687
  msgid "This function is deprecated"
688
  msgstr ""
689
 
690
- #: classes/Settings.php:1596
691
  msgid "View the content changes"
692
  msgstr ""
693
 
694
- #: classes/Settings.php:1601 classes/Settings.php:1607
695
  msgid "View post in the editor"
696
  msgstr ""
697
 
698
- #: classes/Settings.php:1604
699
  msgid "View Order"
700
  msgstr ""
701
 
702
- #: classes/Settings.php:1612
703
  msgid "View category"
704
  msgstr ""
705
 
706
- #: classes/Settings.php:1615
707
  msgid "View tag"
708
  msgstr ""
709
 
710
- #: classes/Settings.php:1619
711
  msgid "User profile page"
712
  msgstr ""
713
 
714
- #: classes/Settings.php:1732
715
  msgid "Increase maximum file size limit"
716
  msgstr ""
717
 
718
- #: classes/Settings.php:1735
719
  msgid "Contact Support"
720
  msgstr ""
721
 
722
- #: classes/Settings.php:1975
723
  msgid "plugin settings"
724
  msgstr ""
725
 
726
- #: classes/Settings.php:1978
727
  msgid "contact our support"
728
  msgstr ""
729
 
730
- #: classes/Settings.php:2184
731
  msgid "Root directory of WordPress (excluding sub directories)"
732
  msgstr ""
733
 
734
- #: classes/Settings.php:2185
735
  msgid "WP Admin directory (/wp-admin/)"
736
  msgstr ""
737
 
738
- #: classes/Settings.php:2186
739
  msgid "WP Includes directory (/wp-includes/)"
740
  msgstr ""
741
 
742
- #: classes/Settings.php:2187
743
  msgid ""
744
  "/wp-content/ directory (excluding plugins, themes & uploads directories)"
745
  msgstr ""
746
 
747
- #: classes/Settings.php:2188
748
  msgid "Themes directory (/wp-content/themes/)"
749
  msgstr ""
750
 
751
- #: classes/Settings.php:2189
752
  msgid "Plugins directory (/wp-content/plugins/)"
753
  msgstr ""
754
 
755
- #: classes/Settings.php:2190
756
  msgid "Uploads directory (/wp-content/uploads/)"
757
  msgstr ""
758
 
759
- #: classes/Settings.php:2195
760
  msgid ""
761
  "Uploads directory of all sub sites on this network (/wp-content/sites/*)"
762
  msgstr ""
@@ -779,29 +775,29 @@ msgstr ""
779
 
780
  #: classes/Utilities/PluginInstallAndActivate.php:79
781
  msgid ""
782
- "WP Activity Log can keep a log of changes done on other plugins. "
783
- "Install the relevant extension from the below list to keep a log of changes "
784
- "done on that plugin."
785
  msgstr ""
786
 
787
- #: classes/Utilities/PluginInstallAndActivate.php:96
788
- #: classes/Views/SetupWizard.php:852
789
  msgid "Extension for "
790
  msgstr ""
791
 
792
- #: classes/Utilities/PluginInstallAndActivate.php:101
793
- #: classes/Views/SetupWizard.php:857
794
  msgid "Extension installed, activate now?"
795
  msgstr ""
796
 
797
- #: classes/Utilities/PluginInstallAndActivate.php:103
798
- #: classes/Views/SetupWizard.php:260 classes/Views/SetupWizard.php:859
799
- #: wp-security-audit-log.php:1187
800
  msgid "Extension installed"
801
  msgstr ""
802
 
803
- #: classes/Utilities/PluginInstallAndActivate.php:105
804
- #: classes/Views/SetupWizard.php:861
805
  msgid "Install Extension"
806
  msgstr ""
807
 
@@ -809,29 +805,31 @@ msgstr ""
809
  msgid "Tried to install a zip or slug that was not in the allowed list"
810
  msgstr ""
811
 
812
- #: classes/ViewManager.php:264
 
 
 
 
 
 
813
  msgid "Free Premium Trial"
814
  msgstr ""
815
 
816
- #: classes/ViewManager.php:495 classes/Views/Settings.php:259
817
- #: classes/Views/Settings.php:2756 classes/Views/Settings.php:2785
818
  #: classes/Views/SetupWizard.php:83
819
  msgid "Access Denied."
820
  msgstr ""
821
 
822
- #: classes/ViewManager.php:526
823
  msgid "Log count parameter expected."
824
  msgstr ""
825
 
826
- #: classes/ViewManager.php:534 classes/Views/AuditLog.php:808
827
  #: classes/Views/AuditLog.php:885 classes/Views/AuditLog.php:911
828
  #: classes/Views/AuditLog.php:1231 classes/Views/AuditLog.php:1301
829
- #: classes/Views/Settings.php:274 classes/Views/Settings.php:2317
830
- #: classes/Views/Settings.php:2345 classes/Views/Settings.php:2375
831
- #: classes/Views/Settings.php:2420 classes/Views/Settings.php:2422
832
- #: classes/Views/Settings.php:2424 classes/Views/Settings.php:2539
833
- #: classes/Views/Settings.php:2541 classes/Views/Settings.php:2543
834
- #: classes/Views/Settings.php:2637 classes/Views/Settings.php:2732
835
  #: classes/Views/SetupWizard.php:96
836
  msgid "Nonce verification failed."
837
  msgstr ""
@@ -864,8 +862,7 @@ msgid ""
864
  msgstr ""
865
 
866
  #: classes/Views/AuditLog.php:108
867
- msgid ""
868
- "Unlock these and other powerful features with WP Activity Log Premium."
869
  msgstr ""
870
 
871
  #: classes/Views/AuditLog.php:186
@@ -919,12 +916,8 @@ msgstr ""
919
  msgid "No, thank you"
920
  msgstr ""
921
 
922
- #: classes/Views/AuditLog.php:275
923
- msgid "Install extension"
924
- msgstr ""
925
-
926
  #: classes/Views/AuditLog.php:278
927
- msgid "Install extensions"
928
  msgstr ""
929
 
930
  #: classes/Views/AuditLog.php:290
@@ -935,38 +928,42 @@ msgstr ""
935
  msgid "installed. Keep a log of changes in"
936
  msgstr ""
937
 
938
- #: classes/Views/AuditLog.php:352 classes/Views/AuditLog.php:379
939
- msgid "Audit Log Viewer"
 
 
 
 
940
  msgstr ""
941
 
942
- #: classes/Views/AuditLog.php:534 classes/Views/Settings.php:365
943
  #: classes/Views/ToggleAlerts.php:140
944
  msgid "You do not have sufficient permissions to access this page."
945
  msgstr ""
946
 
947
  #: classes/Views/AuditLog.php:582
948
  msgid ""
949
- "Thank you for installing WP Activity Log. Do you want to run the "
950
- "wizard to configure the basic plugin settings?"
951
  msgstr ""
952
 
953
- #: classes/Views/AuditLog.php:584 classes/Views/Settings.php:568
954
- #: classes/Views/Settings.php:595 classes/Views/Settings.php:661
955
- #: classes/Views/Settings.php:719 classes/Views/Settings.php:1214
956
- #: classes/Views/Settings.php:1281 classes/Views/Settings.php:2051
957
- #: classes/Views/Settings.php:2112 classes/Views/Settings.php:2140
958
- #: classes/Views/Settings.php:2161 classes/Views/Settings.php:2171
959
- #: classes/Views/SetupWizard.php:551 classes/Views/SetupWizard.php:599
960
  msgid "Yes"
961
  msgstr ""
962
 
963
- #: classes/Views/AuditLog.php:585 classes/Views/Settings.php:573
964
- #: classes/Views/Settings.php:600 classes/Views/Settings.php:691
965
- #: classes/Views/Settings.php:729 classes/Views/Settings.php:1219
966
- #: classes/Views/Settings.php:1288 classes/Views/Settings.php:2056
967
- #: classes/Views/Settings.php:2119 classes/Views/Settings.php:2147
968
- #: classes/Views/Settings.php:2162 classes/Views/Settings.php:2172
969
- #: classes/Views/SetupWizard.php:556 classes/Views/SetupWizard.php:604
970
  msgid "No"
971
  msgstr ""
972
 
@@ -1176,10 +1173,10 @@ msgstr ""
1176
 
1177
  #: classes/Views/Help.php:178
1178
  msgid ""
1179
- "Getting started with WP Activity Log is really easy; once the plugin "
1180
- "is installed it will automatically keep a log of everything that is "
1181
- "happening on your website and you do not need to do anything. Watch the "
1182
- "video below for a quick overview of the plugin."
1183
  msgstr ""
1184
 
1185
  #: classes/Views/Help.php:182
@@ -1212,8 +1209,8 @@ msgstr ""
1212
 
1213
  #: classes/Views/Help.php:195
1214
  msgid ""
1215
- "For more technical information about the WP Activity Log plugin please "
1216
- "visit the plugin’s knowledge base."
1217
  msgstr ""
1218
 
1219
  #: classes/Views/Help.php:196
@@ -1253,8 +1250,8 @@ msgstr ""
1253
 
1254
  #: classes/Views/Help.php:210
1255
  msgid ""
1256
- "Therefore if you like what you see, and find WP Activity Log useful we "
1257
- "ask you nothing more than to please rate our plugin."
1258
  msgstr ""
1259
 
1260
  #: classes/Views/Help.php:211
@@ -1451,71 +1448,68 @@ msgid ""
1451
  "just a single click."
1452
  msgstr ""
1453
 
1454
- #: classes/Views/Settings.php:96
1455
  msgid "General"
1456
  msgstr ""
1457
 
1458
- #: classes/Views/Settings.php:103
1459
- msgid "Activity Log"
1460
- msgstr ""
1461
-
1462
- #: classes/Views/Settings.php:110
1463
- msgid "File Integrity Scan"
1464
  msgstr ""
1465
 
1466
- #: classes/Views/Settings.php:117
1467
  msgid "Exclude Objects"
1468
  msgstr ""
1469
 
1470
- #: classes/Views/Settings.php:124
1471
  msgid "Import/Export"
1472
  msgstr ""
1473
 
1474
- #: classes/Views/Settings.php:131
1475
  msgid "Advanced Settings"
1476
  msgstr ""
1477
 
1478
- #: classes/Views/Settings.php:179 classes/Views/Settings.php:193
1479
  msgid "Settings"
1480
  msgstr ""
1481
 
1482
- #: classes/Views/Settings.php:241
1483
  msgid "Current user is not allowed to save settings."
1484
  msgstr ""
1485
 
1486
- #: classes/Views/Settings.php:247
1487
  msgid "Unknown settings tab."
1488
  msgstr ""
1489
 
1490
- #: classes/Views/Settings.php:284 classes/Views/SetupWizard.php:106
1491
  msgid "Invalid input."
1492
  msgstr ""
1493
 
1494
- #: classes/Views/Settings.php:377
1495
  msgid "Message sent successfully."
1496
  msgstr ""
1497
 
1498
- #: classes/Views/Settings.php:381 classes/Views/ToggleAlerts.php:157
1499
  msgid "Settings have been saved."
1500
  msgstr ""
1501
 
1502
- #: classes/Views/Settings.php:387 classes/Views/ToggleAlerts.php:163
1503
  msgid "Error: "
1504
  msgstr ""
1505
 
1506
- #: classes/Views/Settings.php:399
1507
  msgid "Old data successfully purged."
1508
  msgstr ""
1509
 
1510
- #: classes/Views/Settings.php:405
1511
  msgid "No data is old enough to be purged."
1512
  msgstr ""
1513
 
1514
- #: classes/Views/Settings.php:436
1515
  msgid "Send Message"
1516
  msgstr ""
1517
 
1518
- #: classes/Views/Settings.php:487
1519
  msgid ""
1520
  "Need help with setting up the plugin to meet your requirements? <a href="
1521
  "\"https://wpactivitylog.com/contact/?"
@@ -1524,165 +1518,161 @@ msgid ""
1524
  "call</a> with our experts for just $50."
1525
  msgstr ""
1526
 
1527
- #: classes/Views/Settings.php:489
1528
  msgid "Use infinite scroll or pagination for the event viewer?"
1529
  msgstr ""
1530
 
1531
- #. translators: Learn more link.
1532
- #: classes/Views/Settings.php:494
1533
  #, php-format
1534
  msgid ""
1535
  "When using infinite scroll the event viewer and search results %s load up "
1536
  "much faster and require less resources."
1537
  msgstr ""
1538
 
1539
- #: classes/Views/Settings.php:495
1540
  msgid "(Premium feature)"
1541
  msgstr ""
1542
 
1543
- #: classes/Views/Settings.php:502
1544
  msgid "Select event viewer view type:"
1545
  msgstr ""
1546
 
1547
- #: classes/Views/Settings.php:507
1548
  msgid "Infinite Scroll (Recommended)"
1549
  msgstr ""
1550
 
1551
- #: classes/Views/Settings.php:512
1552
  msgid "Pagination"
1553
  msgstr ""
1554
 
1555
- #: classes/Views/Settings.php:523
1556
  msgid "Do you want the activity log viewer to auto refresh?"
1557
  msgstr ""
1558
 
1559
- #: classes/Views/Settings.php:524
1560
  msgid ""
1561
  "The activity log viewer auto refreshes every 30 seconds when opened so you "
1562
  "can see the latest events as they happen almost in real time."
1563
  msgstr ""
1564
 
1565
- #: classes/Views/Settings.php:528
1566
  msgid "Refresh Audit Log Viewer"
1567
  msgstr ""
1568
 
1569
- #: classes/Views/Settings.php:534
1570
  msgid "Auto refresh"
1571
  msgstr ""
1572
 
1573
- #: classes/Views/Settings.php:539
1574
  msgid "Do not auto refresh"
1575
  msgstr ""
1576
 
1577
- #: classes/Views/Settings.php:549
1578
  msgid "Display latest events widget in Dashboard & Admin bar"
1579
  msgstr ""
1580
 
1581
- #. translators: Max number of dashboard widget alerts.
1582
- #: classes/Views/Settings.php:554
1583
  #, php-format
1584
  msgid ""
1585
  "The events widget displays the latest %d security events in the dashboard "
1586
  "and the admin bar notification displays the latest event."
1587
  msgstr ""
1588
 
1589
- #: classes/Views/Settings.php:562
1590
  msgid "Dashboard Widget"
1591
  msgstr ""
1592
 
1593
- #: classes/Views/Settings.php:583
1594
  msgid "Admin Bar Notification"
1595
  msgstr ""
1596
 
1597
- #: classes/Views/Settings.php:586
1598
  msgid "Admin Bar Notification (Premium)"
1599
  msgstr ""
1600
 
1601
- #: classes/Views/Settings.php:610
1602
  msgid "Admin Bar Notification Updates"
1603
  msgstr ""
1604
 
1605
- #: classes/Views/Settings.php:613
1606
  msgid "Admin Bar Notification Updates (Premium)"
1607
  msgstr ""
1608
 
1609
- #: classes/Views/Settings.php:622
1610
  msgid "Update in near real time"
1611
  msgstr ""
1612
 
1613
- #: classes/Views/Settings.php:627
1614
  msgid "Update only on page refreshes"
1615
  msgstr ""
1616
 
1617
- #: classes/Views/Settings.php:637
1618
  msgid "Add user notification on the WordPress login page"
1619
  msgstr ""
1620
 
1621
- #: classes/Views/Settings.php:638
1622
  msgid ""
1623
  "Many compliance regulations (such as the GDPR) require website "
1624
  "administrators to tell the users of their website that all the changes they "
1625
  "do when logged in are being logged."
1626
  msgstr ""
1627
 
1628
- #: classes/Views/Settings.php:642
1629
  msgid "Login Page Notification"
1630
  msgstr ""
1631
 
1632
- #: classes/Views/Settings.php:667
1633
  msgid ""
1634
  "For security and auditing purposes, a record of all of your logged-in "
1635
  "actions and changes within the WordPress dashboard will be recorded in an "
1636
  "audit log with the <a href=\"https://wpactivitylog.com/?"
1637
  "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
1638
- "+pages\" target=\"_blank\">WP Activity Log plugin</a>. The audit log "
1639
- "also includes the IP address where you accessed this site from."
1640
  msgstr ""
1641
 
1642
- #: classes/Views/Settings.php:685
1643
  msgid "<strong>Note: </strong>"
1644
  msgstr ""
1645
 
1646
- #: classes/Views/Settings.php:685
1647
  msgid ""
1648
  "The only HTML code allowed in the login page notification is for links ( < a "
1649
  "href >< /a > )."
1650
  msgstr ""
1651
 
1652
- #: classes/Views/Settings.php:701
1653
  msgid "Is your website running behind a firewall or reverse proxy?"
1654
  msgstr ""
1655
 
1656
- #. translators: Learn more link.
1657
- #: classes/Views/Settings.php:706
1658
  #, php-format
1659
  msgid ""
1660
  "If your website is running behind a firewall set this option to yes so the "
1661
  "plugin retrieves the end user’s IP address from the proxy header - %s."
1662
  msgstr ""
1663
 
1664
- #: classes/Views/Settings.php:707 classes/Views/Settings.php:753
1665
- #: classes/Views/Settings.php:804
1666
  msgid "learn more"
1667
  msgstr ""
1668
 
1669
- #: classes/Views/Settings.php:714
1670
  msgid "Reverse Proxy / Firewall Options"
1671
  msgstr ""
1672
 
1673
- #: classes/Views/Settings.php:724
1674
  msgid ""
1675
  "Filter internal IP addresses from the proxy headers. Enable this option only "
1676
  "if you are\tare still seeing the internal IP addresses of the firewall or "
1677
  "proxy."
1678
  msgstr ""
1679
 
1680
- #: classes/Views/Settings.php:740
1681
  msgid "Who can change the plugin settings?"
1682
  msgstr ""
1683
 
1684
- #. translators: Learn more link.
1685
- #: classes/Views/Settings.php:752
1686
  #, php-format
1687
  msgid ""
1688
  "By default only users with administrator role (single site) and super "
@@ -1690,28 +1680,27 @@ msgid ""
1690
  "you can restrict the privileges to just your user - %s."
1691
  msgstr ""
1692
 
1693
- #: classes/Views/Settings.php:762
1694
  msgid "Restrict Plugin Access"
1695
  msgstr ""
1696
 
1697
- #: classes/Views/Settings.php:768
1698
  msgid "Only me"
1699
  msgstr ""
1700
 
1701
- #: classes/Views/Settings.php:775
1702
  msgid "Only superadmins"
1703
  msgstr ""
1704
 
1705
- #: classes/Views/Settings.php:777
1706
  msgid "Only administrators"
1707
  msgstr ""
1708
 
1709
- #: classes/Views/Settings.php:791
1710
  msgid "Allow other users to view the activity log"
1711
  msgstr ""
1712
 
1713
- #. translators: Learn more link.
1714
- #: classes/Views/Settings.php:803
1715
  #, php-format
1716
  msgid ""
1717
  "By default only users with administrator and super administrator (multisite) "
@@ -1719,85 +1708,85 @@ msgid ""
1719
  "with no admin role to view the events - %s."
1720
  msgstr ""
1721
 
1722
- #: classes/Views/Settings.php:813
1723
  msgid "Can View Events"
1724
  msgstr ""
1725
 
1726
- #: classes/Views/Settings.php:821
1727
  msgid ""
1728
  "Specify the username or the users which do not have an admin role but can "
1729
  "also see the WordPress activity role. You can also specify roles."
1730
  msgstr ""
1731
 
1732
- #: classes/Views/Settings.php:847
1733
  msgid "Which email address should the plugin use as a from address?"
1734
  msgstr ""
1735
 
1736
- #: classes/Views/Settings.php:848
1737
  msgid ""
1738
  "By default when the plugin sends an email notification it uses the email "
1739
  "address specified in this website’s general settings. Though you can change "
1740
  "the email address and display name from this section."
1741
  msgstr ""
1742
 
1743
- #: classes/Views/Settings.php:852
1744
  msgid "From Email & Name"
1745
  msgstr ""
1746
 
1747
- #: classes/Views/Settings.php:858
1748
  msgid "Use the email address from the WordPress general settings"
1749
  msgstr ""
1750
 
1751
- #: classes/Views/Settings.php:863
1752
  msgid "Use another email address"
1753
  msgstr ""
1754
 
1755
- #: classes/Views/Settings.php:867
1756
  msgid "Email Address"
1757
  msgstr ""
1758
 
1759
- #: classes/Views/Settings.php:872
1760
  msgid "Display Name"
1761
  msgstr ""
1762
 
1763
- #: classes/Views/Settings.php:883
1764
  msgid "Do you want to hide the plugin from the list of installed plugins?"
1765
  msgstr ""
1766
 
1767
- #: classes/Views/Settings.php:884
1768
  msgid ""
1769
  "By default all installed plugins are listed in the plugins page. If you do "
1770
  "not want other administrators to see that you installed this plugin set this "
1771
- "option to Yes so the WP Activity Log is not listed as an installed "
1772
- "plugin on this website."
1773
  msgstr ""
1774
 
1775
- #: classes/Views/Settings.php:888
1776
  msgid "Hide Plugin in Plugins Page"
1777
  msgstr ""
1778
 
1779
- #: classes/Views/Settings.php:893
1780
  msgid "Yes, hide the plugin from the list of installed plugins"
1781
  msgstr ""
1782
 
1783
- #: classes/Views/Settings.php:898
1784
  msgid "No, do not hide the plugin"
1785
  msgstr ""
1786
 
1787
- #: classes/Views/Settings.php:968
1788
  msgid ""
1789
  "For how long do you want to keep the activity log events (Retention "
1790
  "settings) ?"
1791
  msgstr ""
1792
 
1793
- #: classes/Views/Settings.php:971
1794
  msgid ""
1795
  "The plugin uses an efficient way to store the activity log data in the "
1796
  "WordPress database, though the more data you keep the more disk space will "
1797
  "be required. "
1798
  msgstr ""
1799
 
1800
- #: classes/Views/Settings.php:972
1801
  msgid ""
1802
  "<a href=\"https://wpactivitylog.com/pricing/?"
1803
  "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
@@ -1805,83 +1794,82 @@ msgid ""
1805
  "data in an external database."
1806
  msgstr ""
1807
 
1808
- #. translators: 1: Archive page link tag. 2: Link closing tag.
1809
- #: classes/Views/Settings.php:990
1810
  #, php-format
1811
  msgid ""
1812
  "Retention settings moved to %1$s archiving settings %2$s because archiving "
1813
  "is enabled"
1814
  msgstr ""
1815
 
1816
- #: classes/Views/Settings.php:997
1817
  msgid "Audit Log Retention"
1818
  msgstr ""
1819
 
1820
- #: classes/Views/Settings.php:1003
1821
  msgid "Keep all data"
1822
  msgstr ""
1823
 
1824
- #: classes/Views/Settings.php:1030
1825
  msgid "Delete events older than"
1826
  msgstr ""
1827
 
1828
- #: classes/Views/Settings.php:1037
1829
  msgid "Months"
1830
  msgstr ""
1831
 
1832
- #: classes/Views/Settings.php:1038
1833
  msgid "Years"
1834
  msgstr ""
1835
 
1836
- #: classes/Views/Settings.php:1046
1837
  msgid "The next scheduled purging of activity log data that is older than "
1838
  msgstr ""
1839
 
1840
- #: classes/Views/Settings.php:1053
1841
  msgid "You can run the purging process now by clicking the button below."
1842
  msgstr ""
1843
 
1844
- #: classes/Views/Settings.php:1057
1845
  msgid "Purge Old Data"
1846
  msgstr ""
1847
 
1848
- #: classes/Views/Settings.php:1068
1849
  msgid "What timestamp you would like to see in the WordPress activity log?"
1850
  msgstr ""
1851
 
1852
- #: classes/Views/Settings.php:1069
1853
  msgid ""
1854
  "Note that the WordPress' timezone might be different from that configured on "
1855
  "the server so when you switch from UTC to WordPress timezone or vice versa "
1856
  "you might notice a big difference."
1857
  msgstr ""
1858
 
1859
- #: classes/Views/Settings.php:1073
1860
  msgid "Events Timestamp"
1861
  msgstr ""
1862
 
1863
- #: classes/Views/Settings.php:1093
1864
  msgid "UTC"
1865
  msgstr ""
1866
 
1867
- #: classes/Views/Settings.php:1099
1868
  msgid "Timezone configured on this WordPress website"
1869
  msgstr ""
1870
 
1871
- #: classes/Views/Settings.php:1106
1872
  msgid "Show Milliseconds"
1873
  msgstr ""
1874
 
1875
- #: classes/Views/Settings.php:1122
1876
  msgid "Show Milliseconds in list view"
1877
  msgstr ""
1878
 
1879
- #: classes/Views/Settings.php:1132
1880
  msgid ""
1881
  "What user information should be displayed in the WordPress activity log?"
1882
  msgstr ""
1883
 
1884
- #: classes/Views/Settings.php:1133
1885
  msgid ""
1886
  "Usernames might not be the same as a user's first and last name so it can be "
1887
  "difficult to recognize whose user was that did a change. When there is no "
@@ -1889,57 +1877,57 @@ msgid ""
1889
  "back to the WordPress username."
1890
  msgstr ""
1891
 
1892
- #: classes/Views/Settings.php:1137
1893
  msgid "User Information in Audit Log"
1894
  msgstr ""
1895
 
1896
- #: classes/Views/Settings.php:1143
1897
  msgid "WordPress Username"
1898
  msgstr ""
1899
 
1900
- #: classes/Views/Settings.php:1148
1901
  msgid "First Name & Last Name"
1902
  msgstr ""
1903
 
1904
- #: classes/Views/Settings.php:1153
1905
  msgid "Configured Public Display Name"
1906
  msgstr ""
1907
 
1908
- #: classes/Views/Settings.php:1163
1909
  msgid "Select the columns to be displayed in the WordPress activity log"
1910
  msgstr ""
1911
 
1912
- #: classes/Views/Settings.php:1164
1913
  msgid ""
1914
  "When you deselect a column it won’t be shown in the activity log viewer in "
1915
  "both views. The data will still be recorded by the plugin."
1916
  msgstr ""
1917
 
1918
- #: classes/Views/Settings.php:1168
1919
  msgid "Audit Log Columns Selection"
1920
  msgstr ""
1921
 
1922
- #: classes/Views/Settings.php:1177
1923
  msgid "Event ID"
1924
  msgstr ""
1925
 
1926
- #: classes/Views/Settings.php:1181
1927
  msgid "Date & Time"
1928
  msgstr ""
1929
 
1930
- #: classes/Views/Settings.php:1185
1931
  msgid "Source IP Address"
1932
  msgstr ""
1933
 
1934
- #: classes/Views/Settings.php:1187
1935
  msgid "Info (used in Grid view mode only)"
1936
  msgstr ""
1937
 
1938
- #: classes/Views/Settings.php:1202
1939
  msgid "Do you want to keep a log of WordPress background activity?"
1940
  msgstr ""
1941
 
1942
- #: classes/Views/Settings.php:1204
1943
  msgid ""
1944
  "WordPress does a lot of things in the background that you do not necessarily "
1945
  "need to know about, such as; deletion of post revisions, deletion of auto "
@@ -1947,1007 +1935,554 @@ msgid ""
1947
  "might be a lot and are irrelevant to the user."
1948
  msgstr ""
1949
 
1950
- #: classes/Views/Settings.php:1209
1951
  msgid "Enable Events for WordPress Background Activity"
1952
  msgstr ""
1953
 
1954
- #: classes/Views/Settings.php:1264
1955
- msgid ""
1956
- "The plugin runs file integrity scans on your website so it keeps a log when "
1957
- "a file is added, modified or deleted. All the settings for the file "
1958
- "integrity scans can be found in this page."
1959
  msgstr ""
1960
 
1961
- #: classes/Views/Settings.php:1265
1962
  msgid ""
1963
- "<a href=\"https://wpactivitylog.com/support/kb/wordpress-"
1964
- "files-changes-warning-activity-logs/?"
1965
- "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
1966
- "+pages\" target=\"_blank\">Refer to the WordPress file integrity scans "
1967
- "feature page</a> for more information."
1968
  msgstr ""
1969
 
1970
- #: classes/Views/Settings.php:1268
1971
- msgid "Do you want the plugin to scan your website for file changes?"
1972
  msgstr ""
1973
 
1974
- #: classes/Views/Settings.php:1273
1975
- msgid "Keep a Log of File Changes"
1976
  msgstr ""
1977
 
1978
- #: classes/Views/Settings.php:1297
1979
- msgid ""
1980
- "Which file changes events do you want to keep a log of in the activity log?"
1981
  msgstr ""
1982
 
1983
- #: classes/Views/Settings.php:1299
 
 
 
 
1984
  msgid ""
1985
- "By default the plugin will keep a log whenever a file has been added, "
1986
- "modified or deleted. It will also log an event in the activity log when a "
1987
- "file is too big to scan or there are too many files to scan. Click on the "
1988
- "link to specify which of these events the plugin should keep a log of."
1989
  msgstr ""
1990
 
1991
- #: classes/Views/Settings.php:1305
1992
- msgid "Alert me when"
1993
  msgstr ""
1994
 
1995
- #: classes/Views/Settings.php:1318
1996
- msgid "Configure Events"
1997
  msgstr ""
1998
 
1999
- #: classes/Views/Settings.php:1327
2000
- msgid "When should the plugin scan your website for file changes?"
2001
  msgstr ""
2002
 
2003
- #: classes/Views/Settings.php:1329
2004
  msgid ""
2005
- "By default the plugin will run file integrity scans once a week. If you can, "
2006
- "ideally you should run file integrity scans on a daily basis. The file "
2007
- "integrity scanner is very efficient and requires very little resources. "
2008
- "Though if you have a fairly large website we recommend you to scan it when "
2009
- "it is the least busy. The scan process should only take a few seconds to "
2010
- "complete."
2011
  msgstr ""
2012
 
2013
- #: classes/Views/Settings.php:1335
2014
- msgid "Scan Frequency"
2015
  msgstr ""
2016
 
2017
- #: classes/Views/Settings.php:1340
2018
- msgid "Daily"
 
 
 
2019
  msgstr ""
2020
 
2021
- #: classes/Views/Settings.php:1341
2022
- msgid "Weekly"
2023
  msgstr ""
2024
 
2025
- #: classes/Views/Settings.php:1342
2026
- msgid "Monthly"
 
 
2027
  msgstr ""
2028
 
2029
- #: classes/Views/Settings.php:1360
2030
- msgid "Scan Time"
2031
  msgstr ""
2032
 
2033
- #: classes/Views/Settings.php:1366
2034
- msgid "00:00"
 
 
 
2035
  msgstr ""
2036
 
2037
- #: classes/Views/Settings.php:1367
2038
- msgid "01:00"
2039
  msgstr ""
2040
 
2041
- #: classes/Views/Settings.php:1368
2042
- msgid "02:00"
2043
  msgstr ""
2044
 
2045
- #: classes/Views/Settings.php:1369
2046
- msgid "03:00"
 
 
 
2047
  msgstr ""
2048
 
2049
- #: classes/Views/Settings.php:1370
2050
- msgid "04:00"
 
2051
  msgstr ""
2052
 
2053
- #: classes/Views/Settings.php:1371
2054
- msgid "05:00"
 
2055
  msgstr ""
2056
 
2057
- #: classes/Views/Settings.php:1372
2058
- msgid "06:00"
2059
  msgstr ""
2060
 
2061
- #: classes/Views/Settings.php:1373
2062
- msgid "07:00"
2063
  msgstr ""
2064
 
2065
- #: classes/Views/Settings.php:1374
2066
- msgid "08:00"
2067
  msgstr ""
2068
 
2069
- #: classes/Views/Settings.php:1375
2070
- msgid "09:00"
2071
  msgstr ""
2072
 
2073
- #: classes/Views/Settings.php:1376
2074
- msgid "10:00"
2075
  msgstr ""
2076
 
2077
- #: classes/Views/Settings.php:1377
2078
- msgid "11:00"
2079
  msgstr ""
2080
 
2081
- #: classes/Views/Settings.php:1378
2082
- msgid "12:00"
 
 
 
2083
  msgstr ""
2084
 
2085
- #: classes/Views/Settings.php:1379
2086
- msgid "13:00"
2087
  msgstr ""
2088
 
2089
- #: classes/Views/Settings.php:1380
2090
- msgid "14:00"
 
 
 
 
2091
  msgstr ""
2092
 
2093
- #: classes/Views/Settings.php:1381
2094
- msgid "15:00"
2095
  msgstr ""
2096
 
2097
- #: classes/Views/Settings.php:1382
2098
- msgid "16:00"
 
 
2099
  msgstr ""
2100
 
2101
- #: classes/Views/Settings.php:1383
2102
- msgid "17:00"
 
 
2103
  msgstr ""
2104
 
2105
- #: classes/Views/Settings.php:1384
2106
- msgid "18:00"
 
 
 
2107
  msgstr ""
2108
 
2109
- #: classes/Views/Settings.php:1385
2110
- msgid "19:00"
2111
  msgstr ""
2112
 
2113
- #: classes/Views/Settings.php:1386
2114
- msgid "20:00"
 
 
2115
  msgstr ""
2116
 
2117
- #: classes/Views/Settings.php:1387
2118
- msgid "21:00"
2119
  msgstr ""
2120
 
2121
- #: classes/Views/Settings.php:1388
2122
- msgid "22:00"
 
 
 
2123
  msgstr ""
2124
 
2125
- #: classes/Views/Settings.php:1389
2126
- msgid "23:00"
2127
  msgstr ""
2128
 
2129
- #: classes/Views/Settings.php:1394
2130
- msgid "Monday"
2131
  msgstr ""
2132
 
2133
- #: classes/Views/Settings.php:1395
2134
- msgid "Tuesday"
2135
  msgstr ""
2136
 
2137
- #: classes/Views/Settings.php:1396
2138
- msgid "Wednesday"
 
 
2139
  msgstr ""
2140
 
2141
- #: classes/Views/Settings.php:1397
2142
- msgid "Thursday"
2143
  msgstr ""
2144
 
2145
- #: classes/Views/Settings.php:1398
2146
- msgid "Friday"
2147
  msgstr ""
2148
 
2149
- #: classes/Views/Settings.php:1399
2150
- msgid "Saturday"
2151
  msgstr ""
2152
 
2153
- #: classes/Views/Settings.php:1400
2154
- msgid "Sunday"
 
 
 
 
 
2155
  msgstr ""
2156
 
2157
- #: classes/Views/Settings.php:1405
2158
- msgid "01"
2159
  msgstr ""
2160
 
2161
- #: classes/Views/Settings.php:1406
2162
- msgid "02"
2163
  msgstr ""
2164
 
2165
- #: classes/Views/Settings.php:1407
2166
- msgid "03"
 
 
 
 
 
2167
  msgstr ""
2168
 
2169
- #: classes/Views/Settings.php:1408
2170
- msgid "04"
2171
  msgstr ""
2172
 
2173
- #: classes/Views/Settings.php:1409
2174
- msgid "05"
2175
  msgstr ""
2176
 
2177
- #: classes/Views/Settings.php:1410
2178
- msgid "06"
2179
  msgstr ""
2180
 
2181
- #: classes/Views/Settings.php:1411
2182
- msgid "07"
2183
  msgstr ""
2184
 
2185
- #: classes/Views/Settings.php:1412
2186
- msgid "08"
2187
  msgstr ""
2188
 
2189
- #: classes/Views/Settings.php:1413
2190
- msgid "09"
2191
  msgstr ""
2192
 
2193
- #: classes/Views/Settings.php:1414
2194
- msgid "10"
2195
  msgstr ""
2196
 
2197
- #: classes/Views/Settings.php:1415
2198
- msgid "11"
2199
  msgstr ""
2200
 
2201
- #: classes/Views/Settings.php:1416
2202
- msgid "12"
2203
  msgstr ""
2204
 
2205
- #: classes/Views/Settings.php:1417
2206
- msgid "13"
2207
  msgstr ""
2208
 
2209
- #: classes/Views/Settings.php:1418
2210
- msgid "14"
2211
  msgstr ""
2212
 
2213
- #: classes/Views/Settings.php:1419
2214
- msgid "15"
2215
  msgstr ""
2216
 
2217
- #: classes/Views/Settings.php:1420
2218
- msgid "16"
2219
  msgstr ""
2220
 
2221
- #: classes/Views/Settings.php:1421
2222
- msgid "17"
2223
  msgstr ""
2224
 
2225
- #: classes/Views/Settings.php:1422
2226
- msgid "18"
2227
  msgstr ""
2228
 
2229
- #: classes/Views/Settings.php:1423
2230
- msgid "19"
2231
  msgstr ""
2232
 
2233
- #: classes/Views/Settings.php:1424
2234
- msgid "20"
2235
  msgstr ""
2236
 
2237
- #: classes/Views/Settings.php:1425
2238
- msgid "21"
2239
  msgstr ""
2240
 
2241
- #: classes/Views/Settings.php:1426
2242
- msgid "22"
2243
  msgstr ""
2244
 
2245
- #: classes/Views/Settings.php:1427
2246
- msgid "23"
2247
  msgstr ""
2248
 
2249
- #: classes/Views/Settings.php:1428
2250
- msgid "24"
 
2251
  msgstr ""
2252
 
2253
- #: classes/Views/Settings.php:1429
2254
- msgid "25"
2255
  msgstr ""
2256
 
2257
- #: classes/Views/Settings.php:1430
2258
- msgid "26"
2259
  msgstr ""
2260
 
2261
- #: classes/Views/Settings.php:1431
2262
- msgid "27"
2263
  msgstr ""
2264
 
2265
- #: classes/Views/Settings.php:1432
2266
- msgid "28"
2267
  msgstr ""
2268
 
2269
- #: classes/Views/Settings.php:1433
2270
- msgid "29"
2271
  msgstr ""
2272
 
2273
- #: classes/Views/Settings.php:1434
2274
- msgid "30"
2275
  msgstr ""
2276
 
2277
- #: classes/Views/Settings.php:1450
2278
- msgid "Hour"
2279
  msgstr ""
2280
 
2281
- #: classes/Views/Settings.php:1466 classes/Views/Settings.php:1482
2282
- msgid "Day"
2283
  msgstr ""
2284
 
2285
- #: classes/Views/Settings.php:1492
2286
- msgid "Which directories should be scanned for file changes?"
2287
  msgstr ""
2288
 
2289
- #: classes/Views/Settings.php:1494
 
2290
  msgid ""
2291
- "The plugin will scan all the directories in your WordPress website by "
2292
- "default because that is the most secure option. Though if for some reason "
2293
- "you do not want the plugin to scan any of these directories you can uncheck "
2294
- "them from the below list."
2295
- msgstr ""
2296
-
2297
- #: classes/Views/Settings.php:1500
2298
- msgid "Directories to scan"
2299
- msgstr ""
2300
-
2301
- #: classes/Views/Settings.php:1524
2302
- msgid "What is the biggest file size the plugin should scan?"
2303
  msgstr ""
2304
 
2305
- #: classes/Views/Settings.php:1525
2306
  msgid ""
2307
- "By default the plugin does not scan files that are bigger than 5MB. Such "
2308
- "files are not common, hence typically not a target. Though if you are "
2309
- "getting a lot of 6032 Events, it is recommended to increase the file size "
2310
- "limit from the below option."
2311
  msgstr ""
2312
 
2313
- #: classes/Views/Settings.php:1528
2314
- msgid "File Size Limit"
2315
  msgstr ""
2316
 
2317
- #: classes/Views/Settings.php:1531
2318
- msgid "MB"
2319
  msgstr ""
2320
 
2321
- #: classes/Views/Settings.php:1537
2322
- msgid ""
2323
- "Do you want to exclude specific files or files with a particular extension "
2324
- "from the scan?"
2325
  msgstr ""
2326
 
2327
- #: classes/Views/Settings.php:1538
2328
  msgid ""
2329
- "The plugin will scan everything that is in the WordPress root directory or "
2330
- "below, even if the files and directories are not part of WordPress. It is "
2331
- "recommended to scan all source code files and only exclude files that cannot "
2332
- "be tampered, such as text files, media files etc, most of which are already "
2333
- "excluded by default."
2334
  msgstr ""
2335
 
2336
- #: classes/Views/Settings.php:1543
2337
- msgid "Exclude All Files in These Directories"
2338
  msgstr ""
2339
 
2340
- #: classes/Views/Settings.php:1556 classes/Views/Settings.php:1592
2341
- #: classes/Views/Settings.php:1622
2342
- msgid "REMOVE"
 
2343
  msgstr ""
2344
 
2345
- #: classes/Views/Settings.php:1561 classes/Views/Settings.php:1597
2346
- #: classes/Views/Settings.php:1627
2347
- msgid "ADD"
 
 
2348
  msgstr ""
2349
 
2350
- #: classes/Views/Settings.php:1564
2351
  msgid ""
2352
- "Specify the name of the directory and the path to it in relation to the "
2353
- "website's root. For example, if you want to want to exclude all files in the "
2354
- "sub directory dir1/dir2 specify the following:"
2355
  msgstr ""
2356
 
2357
- #: classes/Views/Settings.php:1575
2358
- msgid "Exclude These Files"
 
 
 
 
2359
  msgstr ""
2360
 
2361
- #: classes/Views/Settings.php:1600
2362
  msgid ""
2363
- "Specify the name and extension of the file(s) you want to exclude. Wildcard "
2364
- "not supported. There is no need to specify the path of the file."
 
2365
  msgstr ""
2366
 
2367
- #: classes/Views/Settings.php:1609
2368
- msgid "Exclude these File Types"
 
 
 
2369
  msgstr ""
2370
 
2371
- #: classes/Views/Settings.php:1630
2372
  msgid ""
2373
- "Specify the extension of the file types you want to exclude. You should "
2374
- "exclude any type of logs and backup files that tend to be very big."
2375
  msgstr ""
2376
 
2377
- #: classes/Views/Settings.php:1639
2378
- msgid "Launch an instant file integrity scan"
2379
  msgstr ""
2380
 
2381
- #: classes/Views/Settings.php:1641
2382
  msgid ""
2383
- "Click the Scan Now button to launch an instant file integrity scan using the "
2384
- "configured settings. You can navigate away from this page during the scan. "
2385
- "Note that the instant scan can be more resource intensive than scheduled "
2386
- "scans."
2387
  msgstr ""
2388
 
2389
- #: classes/Views/Settings.php:1647
2390
- msgid "Launch Instant Scan"
2391
  msgstr ""
2392
 
2393
- #: classes/Views/Settings.php:1653 classes/Views/Settings.php:1660
2394
- #: classes/Views/Settings.php:2281
2395
- msgid "Scan Now"
2396
  msgstr ""
2397
 
2398
- #: classes/Views/Settings.php:1654 classes/Views/Settings.php:1657
2399
- #: classes/Views/Settings.php:1661
2400
- msgid "Stop Scan"
2401
  msgstr ""
2402
 
2403
- #: classes/Views/Settings.php:1656 classes/Views/Settings.php:2283
2404
- msgid "Scan in Progress"
2405
  msgstr ""
2406
 
2407
- #: classes/Views/Settings.php:1740
2408
  msgid ""
2409
- "By default the plugin keeps a log of all user changes done on your WordPress "
2410
- "website. Use the setting below to exclude any objects from the activity log. "
2411
- "When an object is excluded from the activity log, any event in which that "
2412
- "object is referred will not be logged in the activity log."
 
 
 
2413
  msgstr ""
2414
 
2415
- #: classes/Views/Settings.php:1744
2416
- msgid "Exclude Users:"
 
 
 
 
2417
  msgstr ""
2418
 
2419
- #: classes/Views/Settings.php:1765
2420
- msgid "Exclude Roles:"
 
 
2421
  msgstr ""
2422
 
2423
- #: classes/Views/Settings.php:1786
2424
- msgid "Exclude IP Address(es):"
2425
  msgstr ""
2426
 
2427
- #: classes/Views/Settings.php:1802
2428
- msgid ""
2429
- "You can exclude an individual IP address or a range of IP addresses. To "
2430
- "exclude a range use the following format: [first IP]-[last octet of the last "
2431
- "IP]. Example: 172.16.180.6-127."
2432
  msgstr ""
2433
 
2434
- #: classes/Views/Settings.php:1808
2435
- msgid "Exclude Post Type:"
2436
  msgstr ""
2437
 
2438
- #: classes/Views/Settings.php:1824
2439
- msgid ""
2440
- "WordPress has the post and page post types by default though your website "
2441
- "might use more post types (custom post types). You can exclude all post "
2442
- "types, including the default WordPress ones."
2443
  msgstr ""
2444
 
2445
- #: classes/Views/Settings.php:1830
2446
- msgid "Exclude Custom Fields:"
 
 
 
 
 
2447
  msgstr ""
2448
 
2449
- #: classes/Views/Settings.php:1846
2450
- msgid ""
2451
- "You can use the * wildcard to exclude multiple matching custom fields. For "
2452
- "example to exclude all custom fields starting with wp123 enter wp123*"
2453
- msgstr ""
2454
-
2455
- #: classes/Views/Settings.php:1852
2456
- msgid "Exclude Non-Existing URLs:"
2457
- msgstr ""
2458
-
2459
- #: classes/Views/Settings.php:1868
2460
- msgid ""
2461
- "Add the non existing URLs for which you do not want to be alerted of HTTP "
2462
- "404 errors in the activity log by specifying the complete URL.\tExamples "
2463
- "below:"
2464
- msgstr ""
2465
-
2466
- #: classes/Views/Settings.php:1868
2467
- msgid "File: "
2468
- msgstr ""
2469
-
2470
- #: classes/Views/Settings.php:1868
2471
- msgid "Directory: "
2472
- msgstr ""
2473
-
2474
- #: classes/Views/Settings.php:1901
2475
- msgid ""
2476
- "You can export and import the plugin settings from here, which can also be "
2477
- "used as a plugin configuration backup. The plugin settings are exported to a "
2478
- "JSON file."
2479
- msgstr ""
2480
-
2481
- #: classes/Views/Settings.php:1902 classes/Views/Settings.php:1906
2482
- #: classes/Views/Settings.php:1929
2483
- msgid "Export Settings"
2484
- msgstr ""
2485
-
2486
- #: classes/Views/Settings.php:1936 classes/Views/Settings.php:1940
2487
- #: classes/Views/Settings.php:1944
2488
- msgid "Import Settings"
2489
- msgstr ""
2490
-
2491
- #: classes/Views/Settings.php:1996
2492
- msgid "Current user is not allowed to import files."
2493
- msgstr ""
2494
-
2495
- #: classes/Views/Settings.php:2015
2496
- msgid "The plugin settings have been imported successfully."
2497
- msgstr ""
2498
-
2499
- #: classes/Views/Settings.php:2017
2500
- msgid "No settings found to import."
2501
- msgstr ""
2502
-
2503
- #: classes/Views/Settings.php:2020
2504
- msgid "Invalid file or file size is too large."
2505
- msgstr ""
2506
-
2507
- #: classes/Views/Settings.php:2023
2508
- msgid "Error occurred while uploading the file."
2509
- msgstr ""
2510
-
2511
- #: classes/Views/Settings.php:2034
2512
- msgid "These settings are for advanced users."
2513
- msgstr ""
2514
-
2515
- #: classes/Views/Settings.php:2035
2516
- msgid ""
2517
- "If you have any questions <a href=\"https://wpactivitylog.com/"
2518
- "contact/?"
2519
- "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
2520
- "+pages\" target=\"_blank\">contact us</a>."
2521
- msgstr ""
2522
-
2523
- #: classes/Views/Settings.php:2038
2524
- msgid ""
2525
- "Troubleshooting setting: Keep a debug log of all the requests this website "
2526
- "receives"
2527
- msgstr ""
2528
-
2529
- #: classes/Views/Settings.php:2039
2530
- msgid ""
2531
- "Only enable the request log on testing, staging and development website. "
2532
- "Never enable logging on a live website unless instructed to do so. Enabling "
2533
- "request logging on a live website may degrade the performance of the website."
2534
- msgstr ""
2535
-
2536
- #: classes/Views/Settings.php:2043
2537
- msgid "Request Log"
2538
- msgstr ""
2539
-
2540
- #: classes/Views/Settings.php:2061
2541
- msgid ""
2542
- "<strong>Note:</strong> The requests debug log file is saved as request.log."
2543
- "php in the /wp-content/uploads/wp-security-audit-log/ directory."
2544
- msgstr ""
2545
-
2546
- #: classes/Views/Settings.php:2073
2547
- msgid "Reset plugin settings to default"
2548
- msgstr ""
2549
-
2550
- #: classes/Views/Settings.php:2074
2551
- msgid ""
2552
- "Click the RESET button to reset ALL plugin settings to default. Note that "
2553
- "the activity log data will be retained and only the plugin settings will be "
2554
- "reset. To purge the data of the activity log use the setting below."
2555
- msgstr ""
2556
-
2557
- #: classes/Views/Settings.php:2078
2558
- msgid "Reset Settings"
2559
- msgstr ""
2560
-
2561
- #: classes/Views/Settings.php:2080
2562
- msgid "RESET"
2563
- msgstr ""
2564
-
2565
- #: classes/Views/Settings.php:2086
2566
- msgid "Purge the WordPress activity log"
2567
- msgstr ""
2568
-
2569
- #: classes/Views/Settings.php:2087
2570
- msgid ""
2571
- "Click the Purge button below to delete all the data from the WordPress "
2572
- "activity log and start afresh."
2573
- msgstr ""
2574
-
2575
- #: classes/Views/Settings.php:2091
2576
- msgid "Purge Activity Log"
2577
- msgstr ""
2578
-
2579
- #: classes/Views/Settings.php:2093
2580
- msgid "PURGE"
2581
- msgstr ""
2582
-
2583
- #: classes/Views/Settings.php:2099
2584
- msgid "MainWP Child Site Stealth Mode"
2585
- msgstr ""
2586
-
2587
- #: classes/Views/Settings.php:2100
2588
- msgid ""
2589
- "This option is enabled automatically when the plugin detects the MainWP "
2590
- "Child plugin on the site. When this setting is enabled plugin access is "
2591
- "restricted to the administrator who installs the plugin, the plugin is not "
2592
- "shown in the list of installed plugins and no admin notifications are shown. "
2593
- "Disable this option to change the plugin to the default setup."
2594
- msgstr ""
2595
-
2596
- #: classes/Views/Settings.php:2104
2597
- msgid "Enable MainWP Child Site Stealth Mode"
2598
- msgstr ""
2599
-
2600
- #: classes/Views/Settings.php:2128
2601
- msgid "Do you want to delete the plugin data from the database upon uninstall?"
2602
- msgstr ""
2603
-
2604
- #: classes/Views/Settings.php:2129
2605
- msgid ""
2606
- "The plugin saves the activity log data and settings in the WordPress "
2607
- "database. By default upon uninstalling the plugin the data is kept in the "
2608
- "database so if it is installed again, you can still access the data. If the "
2609
- "data is deleted it is not possible to recover it so you won't be able to "
2610
- "access it again even when you reinstall the plugin."
2611
- msgstr ""
2612
-
2613
- #: classes/Views/Settings.php:2133
2614
- msgid "Remove Data on Uninstall"
2615
- msgstr ""
2616
-
2617
- #: classes/Views/Settings.php:2158
2618
- msgid "Are you sure you want to reset all the plugin settings to default?"
2619
- msgstr ""
2620
-
2621
- #: classes/Views/Settings.php:2168
2622
- msgid "Are you sure you want to purge all the activity log data?"
2623
- msgstr ""
2624
-
2625
- #: classes/Views/Settings.php:2198
2626
- msgid "MainWP Child plugin is not active on this website."
2627
- msgstr ""
2628
-
2629
- #: classes/Views/Settings.php:2274
2630
- msgid "The specified value is not a valid URL!"
2631
- msgstr ""
2632
-
2633
- #: classes/Views/Settings.php:2275
2634
- msgid "The specified value is not a valid post type!"
2635
- msgstr ""
2636
-
2637
- #: classes/Views/Settings.php:2276
2638
- msgid "The specified value is not a valid IP address!"
2639
- msgstr ""
2640
-
2641
- #: classes/Views/Settings.php:2277
2642
- msgid "The specified value is not a user nor a role!"
2643
- msgstr ""
2644
-
2645
- #: classes/Views/Settings.php:2278
2646
- msgid "Filename cannot be added because it contains invalid characters."
2647
- msgstr ""
2648
-
2649
- #: classes/Views/Settings.php:2279
2650
- msgid "File extension cannot be added because it contains invalid characters."
2651
- msgstr ""
2652
-
2653
- #: classes/Views/Settings.php:2280
2654
- msgid "Directory cannot be added because it contains invalid characters."
2655
- msgstr ""
2656
-
2657
- #: classes/Views/Settings.php:2282
2658
- msgid "Scan Failed"
2659
- msgstr ""
2660
-
2661
- #: classes/Views/Settings.php:2413 classes/Views/Settings.php:2532
2662
- msgid "Invalid setting type."
2663
- msgstr ""
2664
-
2665
- #: classes/Views/Settings.php:2468
2666
- msgid "You can exclude this directory using the check boxes above."
2667
- msgstr ""
2668
-
2669
- #: classes/Views/Settings.php:2489
2670
- msgid "Option added to excluded types."
2671
- msgstr ""
2672
-
2673
- #: classes/Views/Settings.php:2494
2674
- msgid "This file is already excluded from the scan."
2675
- msgstr ""
2676
-
2677
- #: classes/Views/Settings.php:2496
2678
- msgid "This file extension is already excluded from the scan."
2679
- msgstr ""
2680
-
2681
- #: classes/Views/Settings.php:2498
2682
- msgid "This directory is already excluded from the scan."
2683
- msgstr ""
2684
-
2685
- #: classes/Views/Settings.php:2511
2686
- msgid "Option name is empty."
2687
- msgstr ""
2688
-
2689
- #: classes/Views/Settings.php:2609
2690
- msgid "Option removed from excluded scan types."
2691
- msgstr ""
2692
-
2693
- #: classes/Views/Settings.php:2616 classes/Views/Settings.php:2708
2694
- msgid "Something went wrong."
2695
- msgstr ""
2696
-
2697
- #: classes/Views/Settings.php:2645
2698
- msgid "A cron job is in progress."
2699
- msgstr ""
2700
-
2701
- #: classes/Views/Settings.php:2701 classes/Views/Settings.php:2744
2702
- msgid "Scan started successfully."
2703
- msgstr ""
2704
-
2705
- #: classes/Views/Settings.php:2770 classes/Views/Settings.php:2797
2706
- msgid "Tables has been reset."
2707
- msgstr ""
2708
-
2709
- #: classes/Views/Settings.php:2772 classes/Views/Settings.php:2799
2710
- msgid "Reset query failed."
2711
- msgstr ""
2712
-
2713
- #: classes/Views/Settings.php:2775 classes/Views/Settings.php:2802
2714
- msgid "Nonce Verification Failed."
2715
- msgstr ""
2716
-
2717
- #: classes/Views/SetupWizard.php:164
2718
- msgid "Welcome"
2719
- msgstr ""
2720
-
2721
- #: classes/Views/SetupWizard.php:168
2722
- msgid "Log Details"
2723
- msgstr ""
2724
-
2725
- #: classes/Views/SetupWizard.php:173
2726
- msgid "Log In"
2727
- msgstr ""
2728
-
2729
- #: classes/Views/SetupWizard.php:178
2730
- msgid "404s"
2731
- msgstr ""
2732
-
2733
- #: classes/Views/SetupWizard.php:183
2734
- msgid "User Registrations"
2735
- msgstr ""
2736
-
2737
- #: classes/Views/SetupWizard.php:188
2738
- msgid "Log Retention"
2739
- msgstr ""
2740
-
2741
- #: classes/Views/SetupWizard.php:193 classes/Views/SetupWizard.php:782
2742
- #: classes/Views/SetupWizard.php:783
2743
- msgid "Finish"
2744
- msgstr ""
2745
-
2746
- #: classes/Views/SetupWizard.php:250
2747
- msgid "Specified value in not a user."
2748
- msgstr ""
2749
-
2750
- #: classes/Views/SetupWizard.php:251
2751
- msgid "Specified value in not a role."
2752
- msgstr ""
2753
-
2754
- #: classes/Views/SetupWizard.php:252
2755
- msgid "Specified value in not an IP address."
2756
- msgstr ""
2757
-
2758
- #: classes/Views/SetupWizard.php:258 wp-security-audit-log.php:1185
2759
- msgid "Installing, please wait"
2760
- msgstr ""
2761
-
2762
- #: classes/Views/SetupWizard.php:259 wp-security-audit-log.php:1186
2763
- msgid "Already installed"
2764
- msgstr ""
2765
-
2766
- #: classes/Views/SetupWizard.php:261 wp-security-audit-log.php:1188
2767
- msgid "Extension activated"
2768
- msgstr ""
2769
-
2770
- #: classes/Views/SetupWizard.php:262 wp-security-audit-log.php:1189
2771
- msgid "Install failed"
2772
- msgstr ""
2773
-
2774
- #: classes/Views/SetupWizard.php:292
2775
- msgid "WP Activity Log &rsaquo; Setup Wizard"
2776
- msgstr ""
2777
-
2778
- #: classes/Views/SetupWizard.php:311
2779
- msgid "Close Wizard"
2780
- msgstr ""
2781
-
2782
- #: classes/Views/SetupWizard.php:404
2783
- #, php-format
2784
- msgid ""
2785
- "You have reached an invaild step - %1$sreturn to the start of the wizard%2$s."
2786
- msgstr ""
2787
-
2788
- #: classes/Views/SetupWizard.php:421
2789
- msgid ""
2790
- "This wizard helps you configure the basic plugin settings. All these "
2791
- "settings can be changed at a later stage from the plugin settings."
2792
- msgstr ""
2793
-
2794
- #: classes/Views/SetupWizard.php:426
2795
- msgid "Start Configuring the Plugin"
2796
- msgstr ""
2797
-
2798
- #: classes/Views/SetupWizard.php:430
2799
- msgid "Exit Wizard"
2800
- msgstr ""
2801
-
2802
- #: classes/Views/SetupWizard.php:443
2803
- msgid "Please select the level of detail for your WordPress activity logs:"
2804
- msgstr ""
2805
-
2806
- #: classes/Views/SetupWizard.php:447
2807
- msgid ""
2808
- "Basic (I want a high level overview and I am not interested in the detail)"
2809
- msgstr ""
2810
-
2811
- #: classes/Views/SetupWizard.php:452
2812
- msgid "Geek (I want to know everything that is happening on my WordPress)"
2813
- msgstr ""
2814
-
2815
- #: classes/Views/SetupWizard.php:454
2816
- msgid ""
2817
- "Note: You can change the WordPress logging level from the plugin’s settings "
2818
- "anytime."
2819
- msgstr ""
2820
-
2821
- #: classes/Views/SetupWizard.php:457 classes/Views/SetupWizard.php:514
2822
- #: classes/Views/SetupWizard.php:562 classes/Views/SetupWizard.php:611
2823
- #: classes/Views/SetupWizard.php:671 classes/Views/SetupWizard.php:672
2824
- #: classes/Views/SetupWizard.php:874 classes/Views/SetupWizard.php:875
2825
- msgid "Next"
2826
- msgstr ""
2827
-
2828
- #: classes/Views/SetupWizard.php:498
2829
- msgid ""
2830
- "Do you or your users use other pages to log in to WordPress other than the "
2831
- "default login page ( /wp-admin/ )?"
2832
- msgstr ""
2833
-
2834
- #: classes/Views/SetupWizard.php:502
2835
- msgid "Yes, we use other pages to login to WordPress."
2836
- msgstr ""
2837
-
2838
- #: classes/Views/SetupWizard.php:507
2839
- msgid "No, we only use the default WordPress login page."
2840
- msgstr ""
2841
-
2842
- #: classes/Views/SetupWizard.php:509
2843
- msgid ""
2844
- "If your website is a membership or ecommerce website most probably you have "
2845
- "more than one area from where the users can login. If you are not sure, "
2846
- "select Yes."
2847
- msgstr ""
2848
-
2849
- #: classes/Views/SetupWizard.php:512 classes/Views/SetupWizard.php:560
2850
- #: classes/Views/SetupWizard.php:609 classes/Views/SetupWizard.php:663
2851
- msgid ""
2852
- "Note: You can change the WordPress activity log retention settings at any "
2853
- "time from the plugin settings later on."
2854
- msgstr ""
2855
-
2856
- #: classes/Views/SetupWizard.php:547
2857
- msgid ""
2858
- "Do you want to keep a log of (non-logged in) visitors’ requests to non-"
2859
- "existing URLs which generate a HTTP 404 error response?"
2860
- msgstr ""
2861
-
2862
- #: classes/Views/SetupWizard.php:595
2863
- msgid "Can visitors register for a user on your website?"
2864
- msgstr ""
2865
-
2866
- #: classes/Views/SetupWizard.php:606
2867
- msgid ""
2868
- "If you are not sure about this setting, check if the Membership setting in "
2869
- "the WordPress General settings is checked or not. If it is not checked "
2870
- "(default) select No."
2871
- msgstr ""
2872
-
2873
- #: classes/Views/SetupWizard.php:645
2874
- msgid "How long do you want to keep the data in the WordPress activity Log?"
2875
- msgstr ""
2876
-
2877
- #: classes/Views/SetupWizard.php:650
2878
- msgid "6 months (data older than 6 months will be deleted)"
2879
- msgstr ""
2880
-
2881
- #: classes/Views/SetupWizard.php:655
2882
- msgid "12 months (data older than 12 months will be deleted)"
2883
- msgstr ""
2884
-
2885
- #: classes/Views/SetupWizard.php:660
2886
- msgid "Keep all data."
2887
- msgstr ""
2888
-
2889
- #: classes/Views/SetupWizard.php:681
2890
- msgid ""
2891
- "The plugin stores the data in the WordPress database in a very efficient "
2892
- "way, though the more data you keep the more hard disk space it will consume. "
2893
- "If you need need to retain a lot of data we would recommend you to <a href="
2894
- "\"https://wpactivitylog.com/premium-features/?"
2895
- "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=wizard"
2896
- "+configuration\" target=\"_blank\">upgrade to Premium</a> and use the "
2897
- "Database tools to store the WordPress activity log in an external database."
2898
- msgstr ""
2899
-
2900
- #: classes/Views/SetupWizard.php:685
2901
- msgid ""
2902
- "The plugin stores the data in the WordPress database in a very efficient "
2903
- "way, though the more data you keep the more hard disk space it will consume. "
2904
- "If you need need to retain a lot of data we would recommend you to store the "
2905
- "WordPress activity log in an external database or enable archiving."
2906
- msgstr ""
2907
-
2908
- #: classes/Views/SetupWizard.php:753
2909
- msgid ""
2910
- "Your plugin is all set and it is ready to start keeping a record of "
2911
- "everything that is happening on your WordPress in a WordPress activity log."
2912
- msgstr ""
2913
-
2914
- #: classes/Views/SetupWizard.php:754
2915
- msgid "Below are a few useful links you might need to refer to:"
2916
- msgstr ""
2917
-
2918
- #: classes/Views/SetupWizard.php:759
2919
- msgid "Getting started with the WP Activity Log plugin"
2920
- msgstr ""
2921
-
2922
- #: classes/Views/SetupWizard.php:764
2923
- msgid "Knowledge Base & Support Documents"
2924
- msgstr ""
2925
-
2926
- #: classes/Views/SetupWizard.php:769
2927
- msgid "Benefits of keeping a WordPress activity log"
2928
- msgstr ""
2929
-
2930
- #: classes/Views/SetupWizard.php:774
2931
- msgid ""
2932
- "We trust this plugin meets all your activity log requirements. Should you "
2933
- "encounter any problems, have feature requests or would like to share some "
2934
- "feedback, <a href=\"https://wpactivitylog.com/contact/?"
2935
- "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=wizard"
2936
- "+configuration\" target=\"_blank\">please get in touch!</a>"
2937
- msgstr ""
2938
-
2939
- #: classes/Views/SetupWizard.php:810
2940
  msgid "Third Party Extensions"
2941
  msgstr ""
2942
 
2943
- #: classes/Views/SetupWizard.php:836
2944
  msgid "Monitoring changes done in third party plugins"
2945
  msgstr ""
2946
 
2947
- #: classes/Views/SetupWizard.php:837
2948
  msgid ""
2949
  "We noticed that the below plugins are installed on this website. You can "
2950
- "install our extensions to also keep a log of changes users do on these plugins."
 
2951
  msgstr ""
2952
 
2953
  #: classes/Views/ToggleAlerts.php:27 classes/Views/ToggleAlerts.php:41
@@ -2974,10 +2509,10 @@ msgstr ""
2974
  msgid ""
2975
  "Use the Log level drop down menu above to use one of our preset log levels. "
2976
  "Alternatively you can enable or disable any of the individual events from "
2977
- "the below tabs. Refer to <a href=\"https://wpactivitylog.com/"
2978
- "support-documentation/list-wordpress-audit-trail-alerts/\" target=\"_blank"
2979
- "\">the complete list of WordPress activity log event IDs</a> for reference "
2980
- "on all the events the plugin can keep a log of."
2981
  msgstr ""
2982
 
2983
  #: classes/Views/ToggleAlerts.php:224
@@ -2996,11 +2531,6 @@ msgstr ""
2996
  msgid "Description"
2997
  msgstr ""
2998
 
2999
- #: classes/Views/ToggleAlerts.php:330 classes/Views/ToggleAlerts.php:438
3000
- #: classes/Views/ToggleAlerts.php:543 defaults.php:371
3001
- msgid "File Changes"
3002
- msgstr ""
3003
-
3004
  #: classes/Views/ToggleAlerts.php:331 defaults.php:104
3005
  msgid "Content"
3006
  msgstr ""
@@ -3011,7 +2541,7 @@ msgid ""
3011
  "page or a post with a custom post type."
3012
  msgstr ""
3013
 
3014
- #: classes/Views/ToggleAlerts.php:337 defaults.php:417
3015
  msgid "WooCommerce"
3016
  msgstr ""
3017
 
@@ -3025,7 +2555,7 @@ msgid ""
3025
  "been disabled."
3026
  msgstr ""
3027
 
3028
- #: classes/Views/ToggleAlerts.php:348 defaults.php:418
3029
  msgid "Products"
3030
  msgstr ""
3031
 
@@ -3035,11 +2565,11 @@ msgid ""
3035
  "been disabled."
3036
  msgstr ""
3037
 
3038
- #: classes/Views/ToggleAlerts.php:362 defaults.php:543
3039
  msgid "Post Changes"
3040
  msgstr ""
3041
 
3042
- #: classes/Views/ToggleAlerts.php:365 defaults.php:407
3043
  msgid "MultiSite"
3044
  msgstr ""
3045
 
@@ -3056,63 +2586,68 @@ msgstr ""
3056
  msgid "Logins & Logouts"
3057
  msgstr ""
3058
 
3059
- #: classes/Views/ToggleAlerts.php:395
 
 
 
 
 
3060
  msgid "Not Implemented"
3061
  msgstr ""
3062
 
3063
- #: classes/Views/ToggleAlerts.php:398
3064
  msgid "Not Available"
3065
  msgstr ""
3066
 
3067
- #: classes/Views/ToggleAlerts.php:408
3068
  msgid "User Sessions"
3069
  msgstr ""
3070
 
3071
- #: classes/Views/ToggleAlerts.php:410
3072
  msgid "Files"
3073
  msgstr ""
3074
 
3075
- #: classes/Views/ToggleAlerts.php:412
3076
  msgid "Post Settings"
3077
  msgstr ""
3078
 
3079
- #: classes/Views/ToggleAlerts.php:414
3080
  msgid "Product Admin"
3081
  msgstr ""
3082
 
3083
- #: classes/Views/ToggleAlerts.php:416
3084
  msgid "Product Attributes"
3085
  msgstr ""
3086
 
3087
- #: classes/Views/ToggleAlerts.php:480 classes/Views/ToggleAlerts.php:622
3088
  msgid ""
3089
  "Capture 404 requests to file (the log file are created in the /wp-content/"
3090
  "uploads/wp-security-audit-log/404s/ directory)"
3091
  msgstr ""
3092
 
3093
- #: classes/Views/ToggleAlerts.php:488 classes/Views/ToggleAlerts.php:626
3094
  msgid "Purge log files older than one month"
3095
  msgstr ""
3096
 
3097
- #: classes/Views/ToggleAlerts.php:493
3098
  msgid ""
3099
  "Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
3100
  "to non-existing pages from the same IP address. Increase the value in this "
3101
  "setting to the desired amount to keep a log of more or less requests."
3102
  msgstr ""
3103
 
3104
- #: classes/Views/ToggleAlerts.php:498 classes/Views/ToggleAlerts.php:634
3105
  msgid "Record the referrer that generated the 404 error."
3106
  msgstr ""
3107
 
3108
- #: classes/Views/ToggleAlerts.php:510 classes/Views/ToggleAlerts.php:523
3109
  msgid ""
3110
  "Number of login attempts to log. Enter 0 to log all failed login attempts. "
3111
  "(By default the plugin only logs up to 10 failed login because the process "
3112
  "can be very resource intensive in case of a brute force attack)"
3113
  msgstr ""
3114
 
3115
- #: classes/Views/ToggleAlerts.php:536
3116
  msgid ""
3117
  "Log all stock changes. Disable this setting to only keep a log of stock "
3118
  "changes done manually via the WooCommerce dashboard. Therefore automated "
@@ -3120,11 +2655,7 @@ msgid ""
3120
  "plugins will not be logged."
3121
  msgstr ""
3122
 
3123
- #: classes/Views/ToggleAlerts.php:558
3124
- msgid "Configure the file integrity scan settings."
3125
- msgstr ""
3126
-
3127
- #: classes/Views/ToggleAlerts.php:579
3128
  msgid ""
3129
  "This plugin keeps a log of what your website users are doing when they are "
3130
  "logged in. On top of that it can also keep a log of some important events of "
@@ -3132,38 +2663,38 @@ msgid ""
3132
  "any of the front-end sensors:"
3133
  msgstr ""
3134
 
3135
- #: classes/Views/ToggleAlerts.php:584
3136
  msgid "Front-end users registrations"
3137
  msgstr ""
3138
 
3139
- #: classes/Views/ToggleAlerts.php:590
3140
  msgid ""
3141
  "Keep a log when a visitor registers a user on the website. Only enable this "
3142
  "if you allow visitors to register as users on your website. User "
3143
  "registration is disabled by default in WordPress."
3144
  msgstr ""
3145
 
3146
- #: classes/Views/ToggleAlerts.php:595
3147
  msgid "Front-end users logins"
3148
  msgstr ""
3149
 
3150
- #: classes/Views/ToggleAlerts.php:601
3151
  msgid ""
3152
  "Keep a log when users login to the website from other login pages / forms "
3153
  "other than the default WordPress login page."
3154
  msgstr ""
3155
 
3156
- #: classes/Views/ToggleAlerts.php:606
3157
  msgid "Website visitors 404 errors"
3158
  msgstr ""
3159
 
3160
- #: classes/Views/ToggleAlerts.php:612
3161
  msgid ""
3162
  "Event ID 6023: Keep a log when a website visitor requests a non-existing URL "
3163
  "(HTTP 404 response error)."
3164
  msgstr ""
3165
 
3166
- #: classes/Views/ToggleAlerts.php:630
3167
  msgid ""
3168
  "Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
3169
  "to non-existing pages from the same IP address. Increase the value in this "
@@ -3172,50 +2703,49 @@ msgid ""
3172
  "scanned the plugin will consume more resources to log all the requests."
3173
  msgstr ""
3174
 
3175
- #: classes/Views/ToggleAlerts.php:638
3176
  msgid "Front-end WooCommerce activity"
3177
  msgstr ""
3178
 
3179
- #: classes/Views/ToggleAlerts.php:644
3180
  msgid ""
3181
  "Keep a log of product stocks and orders changes done by website visitors "
3182
  "(non-logged in). Regardless of the state of this setting, the plugin always "
3183
  "keeps a log of changes done by logged in users."
3184
  msgstr ""
3185
 
3186
- #: classes/Views/ToggleAlerts.php:654
3187
  msgid "Save Changes"
3188
  msgstr ""
3189
 
3190
- #: classes/Views/ToggleAlerts.php:661
3191
  msgid "Log Level Updated"
3192
  msgstr ""
3193
 
3194
- #. translators: Alerts log level.
3195
- #: classes/Views/ToggleAlerts.php:665
3196
  #, php-format
3197
  msgid "The %s log level has been successfully loaded and applied."
3198
  msgstr ""
3199
 
3200
- #: classes/Views/ToggleAlerts.php:669
3201
  msgid "OK"
3202
  msgstr ""
3203
 
3204
- #: classes/Views/ToggleAlerts.php:684
3205
  msgid "Enable File Integrity Scanner"
3206
  msgstr ""
3207
 
3208
- #: classes/Views/ToggleAlerts.php:686
3209
  msgid ""
3210
  "The file integrity scanner is switched off. To enable this event it has to "
3211
  "be switched on."
3212
  msgstr ""
3213
 
3214
- #: classes/Views/ToggleAlerts.php:690
3215
  msgid "SWITCH ON"
3216
  msgstr ""
3217
 
3218
- #: classes/Views/ToggleAlerts.php:691
3219
  msgid "DISABLE EVENT"
3220
  msgstr ""
3221
 
@@ -5127,361 +4657,301 @@ msgstr ""
5127
  #: defaults.php:361
5128
  msgid ""
5129
  "Updated WordPress %LineBreak% Previous version: %OldVersion% %LineBreak% New "
5130
- "version: %NewVersion%"
5131
- msgstr ""
5132
-
5133
- #: defaults.php:362
5134
- msgid "Advertising Extensions"
5135
- msgstr ""
5136
-
5137
- #: defaults.php:362
5138
- msgid "%PromoName% %PromoMessage%"
5139
- msgstr ""
5140
-
5141
- #: defaults.php:365
5142
- msgid "Activity log plugin"
5143
- msgstr ""
5144
-
5145
- #: defaults.php:366
5146
- msgid "Events automatically pruned by system"
5147
- msgstr ""
5148
-
5149
- #: defaults.php:366
5150
- msgid "System automatically deleted %EventCount% event(s)"
5151
- msgstr ""
5152
-
5153
- #: defaults.php:367
5154
- msgid "Reset plugin's settings to default"
5155
- msgstr ""
5156
-
5157
- #: defaults.php:367
5158
- msgid "Reset the WP Activity Log plugin settings to default"
5159
- msgstr ""
5160
-
5161
- #: defaults.php:368
5162
- msgid "Purged the activity log"
5163
- msgstr ""
5164
-
5165
- #: defaults.php:372
5166
- msgid "File content has been modified"
5167
- msgstr ""
5168
-
5169
- #: defaults.php:372
5170
- msgid ""
5171
- "Content of the file on site modified %LineBreak% File: %File% %LineBreak% "
5172
- "Location: %FileLocation%"
5173
- msgstr ""
5174
-
5175
- #: defaults.php:373
5176
- msgid "File added to the site"
5177
- msgstr ""
5178
-
5179
- #: defaults.php:373
5180
- msgid ""
5181
- "File added to site %LineBreak% File: %File% %LineBreak% Location: "
5182
- "%FileLocation%"
5183
  msgstr ""
5184
 
5185
- #: defaults.php:374
5186
- msgid "File deleted from the site"
5187
  msgstr ""
5188
 
5189
- #: defaults.php:374
5190
- msgid ""
5191
- "File deleted from site %LineBreak% File: %File% %LineBreak% Location: "
5192
- "%FileLocation%"
5193
  msgstr ""
5194
 
5195
- #: defaults.php:375
5196
- msgid "File not scanned because it is bigger than the maximum file size limit"
5197
  msgstr ""
5198
 
5199
- #: defaults.php:375
5200
- msgid ""
5201
- "File not scanned because it is bigger than the maximum file size limit "
5202
- "%LineBreak% File: %File% %LineBreak% Location: %FileLocation% %LineBreak% "
5203
- "%FileSettings%"
5204
  msgstr ""
5205
 
5206
- #: defaults.php:376
5207
- msgid "File integrity scan stopped due to the limit of 1 million files"
5208
  msgstr ""
5209
 
5210
- #: defaults.php:376
5211
- msgid ""
5212
- "Your website has more than 1 million files so the file integrity scanner "
5213
- "cannot scan them all. Contact support for more information. %LineBreak% "
5214
- "%ContactSupport%"
5215
  msgstr ""
5216
 
5217
- #: defaults.php:377
5218
- msgid "File integrity scan started/stopped"
5219
  msgstr ""
5220
 
5221
- #: defaults.php:377
5222
- msgid "The file integrity scan has %ScanStatus%."
5223
  msgstr ""
5224
 
5225
- #: defaults.php:380
5226
  msgid "User/Visitor Actions"
5227
  msgstr ""
5228
 
5229
- #: defaults.php:381
5230
  msgid "User requests non-existing pages (404 Error Pages)"
5231
  msgstr ""
5232
 
5233
- #: defaults.php:381
5234
  msgid ""
5235
  "Has requested a non existing page (404 error) %LineBreak% Number of times: "
5236
  "%Attempts%"
5237
  msgstr ""
5238
 
5239
- #: defaults.php:382
5240
  msgid "Website Visitor User requests non-existing pages (404 Error Pages)"
5241
  msgstr ""
5242
 
5243
- #: defaults.php:382
5244
  msgid ""
5245
  "Website visitor has requested a non existing page (404 error) %LineBreak% "
5246
  "Number of times: %Attempts%"
5247
  msgstr ""
5248
 
5249
- #: defaults.php:385
5250
  msgid "WordPress Site Settings"
5251
  msgstr ""
5252
 
5253
- #: defaults.php:386
5254
  msgid "Option Anyone Can Register in WordPress settings changed"
5255
  msgstr ""
5256
 
5257
- #: defaults.php:386
5258
  msgid "The option Anyone can register"
5259
  msgstr ""
5260
 
5261
- #: defaults.php:387
5262
  msgid "New User Default Role changed"
5263
  msgstr ""
5264
 
5265
- #: defaults.php:387
5266
  msgid ""
5267
  "Changed the new user default role %LineBreak% Previous role: %OldRole% "
5268
  "%LineBreak% New role: %NewRole%"
5269
  msgstr ""
5270
 
5271
- #: defaults.php:388
5272
  msgid "WordPress Administrator Notification email changed"
5273
  msgstr ""
5274
 
5275
- #: defaults.php:388
5276
  msgid ""
5277
  "Changed the WordPress administrator notification email address %LineBreak% "
5278
  "Previous address %OldEmail% %LineBreak% New address: %NewEmail%"
5279
  msgstr ""
5280
 
5281
- #: defaults.php:389
5282
  msgid "User changes the WordPress Permalinks"
5283
  msgstr ""
5284
 
5285
- #: defaults.php:389
5286
  msgid ""
5287
  "Changed the WordPress permalinks %LineBreak% Previous permalinks: %OldPattern"
5288
  "% %LineBreak% New permalinks: %NewPattern%"
5289
  msgstr ""
5290
 
5291
- #: defaults.php:390
5292
  msgid ""
5293
  "Enabled/Disabled the option Discourage search engines from indexing this site"
5294
  msgstr ""
5295
 
5296
- #: defaults.php:390
5297
  msgid "Discourage search engines from indexing this site."
5298
  msgstr ""
5299
 
5300
- #: defaults.php:391
5301
  msgid "Enabled/Disabled comments on all the website"
5302
  msgstr ""
5303
 
5304
- #: defaults.php:391
5305
  msgid "Comments on the website"
5306
  msgstr ""
5307
 
5308
- #: defaults.php:392
5309
  msgid "Enabled/Disabled the option Comment author must fill out name and email"
5310
  msgstr ""
5311
 
5312
- #: defaults.php:392
5313
  msgid "The option Comment author must fill out name and email"
5314
  msgstr ""
5315
 
5316
- #: defaults.php:393
5317
  msgid ""
5318
  "Enabled/Disabled the option Users must be logged in and registered to comment"
5319
  msgstr ""
5320
 
5321
- #: defaults.php:393
5322
  msgid "The option Users must be logged in and registered to comment"
5323
  msgstr ""
5324
 
5325
- #: defaults.php:394
5326
  msgid "Enabled/Disabled the option to automatically close comments"
5327
  msgstr ""
5328
 
5329
- #: defaults.php:394
5330
  msgid "The option to Automatically close comments after %Value% days"
5331
  msgstr ""
5332
 
5333
- #: defaults.php:395
5334
  msgid "Changed the value of the option Automatically close comments"
5335
  msgstr ""
5336
 
5337
- #: defaults.php:395
5338
  msgid ""
5339
  "Changed the value of the option to Automatically close comments after a "
5340
  "number of days %LineBreak% Previous value: %OldValue% %LineBreak% New value: "
5341
  "%NewValue%"
5342
  msgstr ""
5343
 
5344
- #: defaults.php:396
5345
  msgid "Enabled/Disabled the option for comments to be manually approved"
5346
  msgstr ""
5347
 
5348
- #: defaults.php:396
5349
  msgid "The option for comments to be manually approved"
5350
  msgstr ""
5351
 
5352
- #: defaults.php:397
5353
  msgid ""
5354
  "Enabled/Disabled the option for an author to have previously approved "
5355
  "comments for the comments to appear"
5356
  msgstr ""
5357
 
5358
- #: defaults.php:397
5359
  msgid ""
5360
  "The option for an author to have previously approved comments for the "
5361
  "comments to appear"
5362
  msgstr ""
5363
 
5364
- #: defaults.php:398
5365
  msgid ""
5366
  "Changed the number of links that a comment must have to be held in the queue"
5367
  msgstr ""
5368
 
5369
- #: defaults.php:398
5370
  msgid ""
5371
  "Changed the minimum number of links a comment must have to be held in the "
5372
  "queue %LineBreak% Previous value: %OldValue% %LineBreak% New value: %NewValue"
5373
  "%"
5374
  msgstr ""
5375
 
5376
- #: defaults.php:399
5377
  msgid "Modified the list of keywords for comments moderation"
5378
  msgstr ""
5379
 
5380
- #: defaults.php:399
5381
  msgid "Modified the list of keywords for comments medoration"
5382
  msgstr ""
5383
 
5384
- #: defaults.php:400
5385
  msgid "Modified the list of keywords for comments blacklisting"
5386
  msgstr ""
5387
 
5388
- #: defaults.php:401
5389
  msgid "Option WordPress Address (URL) in WordPress settings changed"
5390
  msgstr ""
5391
 
5392
- #: defaults.php:401
5393
  msgid ""
5394
  "Changed the WordPress address (URL) %LineBreak% Previous URL: %old_url% "
5395
  "%LineBreak% New URL: %new_url%"
5396
  msgstr ""
5397
 
5398
- #: defaults.php:402
5399
  msgid "Option Site Address (URL) in WordPress settings changed"
5400
  msgstr ""
5401
 
5402
- #: defaults.php:402
5403
  msgid ""
5404
  "Changed the site address (URL) %LineBreak% Previous URL: %old_url% %LineBreak"
5405
  "% New URL: %new_url%"
5406
  msgstr ""
5407
 
5408
- #: defaults.php:406
5409
  msgid "Multisite Network Sites"
5410
  msgstr ""
5411
 
5412
- #: defaults.php:408
5413
  msgid "New site added on the network"
5414
  msgstr ""
5415
 
5416
- #: defaults.php:408
5417
  msgid "New site on the network: %SiteName% %LineBreak% URL: %BlogURL%"
5418
  msgstr ""
5419
 
5420
- #: defaults.php:409
5421
  msgid "Existing site archived"
5422
  msgstr ""
5423
 
5424
- #: defaults.php:409
5425
  msgid "Archived the site: %SiteName% %LineBreak% URL: %BlogURL%"
5426
  msgstr ""
5427
 
5428
- #: defaults.php:410
5429
  msgid "Archived site has been unarchived"
5430
  msgstr ""
5431
 
5432
- #: defaults.php:410
5433
  msgid "Unarchived the site: %SiteName% %LineBreak% URL: %BlogURL%"
5434
  msgstr ""
5435
 
5436
- #: defaults.php:411
5437
  msgid "Deactivated site has been activated"
5438
  msgstr ""
5439
 
5440
- #: defaults.php:411
5441
  msgid "Activated the site: %SiteName% %LineBreak% URL: %BlogURL%"
5442
  msgstr ""
5443
 
5444
- #: defaults.php:412
5445
  msgid "Site has been deactivated"
5446
  msgstr ""
5447
 
5448
- #: defaults.php:412
5449
  msgid "Deactivated the site: %SiteName% %LineBreak% URL: %BlogURL%"
5450
  msgstr ""
5451
 
5452
- #: defaults.php:413
5453
  msgid "Existing site deleted from network"
5454
  msgstr ""
5455
 
5456
- #: defaults.php:413
5457
  msgid "The site: %SiteName% %LineBreak% URL: %BlogURL%"
5458
  msgstr ""
5459
 
5460
- #: defaults.php:419
5461
  msgid "User created a new product"
5462
  msgstr ""
5463
 
5464
- #: defaults.php:419
5465
  msgid ""
5466
  "Created a new product called %ProductTitle% %LineBreak% ID: %PostID% "
5467
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5468
  msgstr ""
5469
 
5470
- #: defaults.php:420
5471
  msgid "User published a product"
5472
  msgstr ""
5473
 
5474
- #: defaults.php:420
5475
  msgid ""
5476
  "Published the product called %ProductTitle% %LineBreak% ID: %PostID% "
5477
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5478
  msgstr ""
5479
 
5480
- #: defaults.php:421
5481
  msgid "User changed the category of a product"
5482
  msgstr ""
5483
 
5484
- #: defaults.php:421
5485
  msgid ""
5486
  "Changed the category of the product %ProductTitle% %LineBreak% ID: %PostID% "
5487
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous categories: "
@@ -5489,64 +4959,64 @@ msgid ""
5489
  "%EditorLinkProduct%"
5490
  msgstr ""
5491
 
5492
- #: defaults.php:422
5493
  msgid "User modified the short description of a product"
5494
  msgstr ""
5495
 
5496
- #: defaults.php:422
5497
  msgid ""
5498
  "Changed the short description of the product %ProductTitle% %LineBreak% ID: "
5499
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5500
  msgstr ""
5501
 
5502
- #: defaults.php:423
5503
  msgid "User modified the text of a product"
5504
  msgstr ""
5505
 
5506
- #: defaults.php:423
5507
  msgid ""
5508
  "Changed the text of the product %ProductTitle% %LineBreak% ID: %PostID% "
5509
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5510
  msgstr ""
5511
 
5512
- #: defaults.php:424
5513
  msgid "User changed the URL of a product"
5514
  msgstr ""
5515
 
5516
- #: defaults.php:424
5517
  msgid ""
5518
  "Changed the URL of the product %ProductTitle% %LineBreak% ID: %PostID% "
5519
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous URL: %OldUrl% "
5520
  "%LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkProduct%"
5521
  msgstr ""
5522
 
5523
- #: defaults.php:425
5524
  msgid "User changed the Product Data of a product"
5525
  msgstr ""
5526
 
5527
- #: defaults.php:425
5528
  msgid ""
5529
  "Changed the type of the product %ProductTitle% %LineBreak% ID: %PostID% "
5530
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous type: %OldType% "
5531
  "%LineBreak% New type: %NewType% %LineBreak% %EditorLinkProduct%"
5532
  msgstr ""
5533
 
5534
- #: defaults.php:426
5535
  msgid "User changed the date of a product"
5536
  msgstr ""
5537
 
5538
- #: defaults.php:426
5539
  msgid ""
5540
  "Changed the date of the product %ProductTitle% %LineBreak% ID: %PostID% "
5541
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous date: %OldDate% "
5542
  "%LineBreak% New date: %NewDate% %LineBreak% %EditorLinkProduct%"
5543
  msgstr ""
5544
 
5545
- #: defaults.php:427
5546
  msgid "User changed the visibility of a product"
5547
  msgstr ""
5548
 
5549
- #: defaults.php:427
5550
  msgid ""
5551
  "Changed the visibility of the product %ProductTitle% %LineBreak% ID: %PostID"
5552
  "% %LineBreak% Status: %ProductStatus% %LineBreak% Previous visibility: "
@@ -5554,122 +5024,122 @@ msgid ""
5554
  "%EditorLinkProduct%"
5555
  msgstr ""
5556
 
5557
- #: defaults.php:428
5558
  msgid "User modified the product"
5559
  msgstr ""
5560
 
5561
- #: defaults.php:428
5562
  msgid ""
5563
  "Modified the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% "
5564
  "Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5565
  msgstr ""
5566
 
5567
- #: defaults.php:429
5568
  msgid "User modified the draft product"
5569
  msgstr ""
5570
 
5571
- #: defaults.php:429
5572
  msgid ""
5573
  "Modified the draft product %ProductTitle%. View the product: "
5574
  "%EditorLinkProduct%."
5575
  msgstr ""
5576
 
5577
- #: defaults.php:430
5578
  msgid "User moved a product to trash"
5579
  msgstr ""
5580
 
5581
- #: defaults.php:430
5582
  msgid ""
5583
  "Moved the product %ProductTitle% to trash %LineBreak% ID: %PostID% %LineBreak"
5584
  "% Status: %ProductStatus%"
5585
  msgstr ""
5586
 
5587
- #: defaults.php:431
5588
  msgid "User permanently deleted a product"
5589
  msgstr ""
5590
 
5591
- #: defaults.php:431
5592
  msgid "Permanently deleted the product %ProductTitle% %LineBreak% ID: %PostID%"
5593
  msgstr ""
5594
 
5595
- #: defaults.php:432
5596
  msgid "User restored a product from the trash"
5597
  msgstr ""
5598
 
5599
- #: defaults.php:432
5600
  msgid ""
5601
  "Restored the product %ProductTitle% from trash %LineBreak% ID: %PostID% "
5602
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5603
  msgstr ""
5604
 
5605
- #: defaults.php:433
5606
  msgid "User changed status of a product"
5607
  msgstr ""
5608
 
5609
- #: defaults.php:433
5610
  msgid ""
5611
  "Changed the status of the product %ProductTitle% %LineBreak% ID: %PostID% "
5612
  "%LineBreak% Previous status: %OldStatus% %LineBreak% New status: %NewStatus% "
5613
  "%LineBreak% %EditorLinkProduct%"
5614
  msgstr ""
5615
 
5616
- #: defaults.php:434
5617
  msgid "User opened a product in the editor"
5618
  msgstr ""
5619
 
5620
- #: defaults.php:434
5621
  msgid ""
5622
  "Opened the product %ProductTitle% in the editor %LineBreak% ID: %PostID% "
5623
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5624
  msgstr ""
5625
 
5626
- #: defaults.php:435
5627
  msgid "User viewed a product"
5628
  msgstr ""
5629
 
5630
- #: defaults.php:435
5631
  msgid ""
5632
  "Viewed the product %ProductTitle% page %LineBreak% ID: %PostID% %LineBreak% "
5633
  "Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5634
  msgstr ""
5635
 
5636
- #: defaults.php:436
5637
  msgid "User renamed a product"
5638
  msgstr ""
5639
 
5640
- #: defaults.php:436
5641
  msgid ""
5642
  "Old name: %OldTitle% %LineBreak% New name: %NewTitle% %LineBreak% ID: %PostID"
5643
  "% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5644
  msgstr ""
5645
 
5646
- #: defaults.php:437
5647
  msgid "User changed type of a price"
5648
  msgstr ""
5649
 
5650
- #: defaults.php:437
5651
  msgid ""
5652
  "Changed the %PriceType% of the product %ProductTitle% %LineBreak% ID: %PostID"
5653
  "% %LineBreak% Status: %ProductStatus% %LineBreak% Previous price: %OldPrice% "
5654
  "%LineBreak% New price: %NewPrice% %LineBreak% %EditorLinkProduct%"
5655
  msgstr ""
5656
 
5657
- #: defaults.php:438
5658
  msgid "User changed the SKU of a product"
5659
  msgstr ""
5660
 
5661
- #: defaults.php:438
5662
  msgid ""
5663
  "Changed the SKU of the product %ProductTitle% %LineBreak% ID: %PostID% "
5664
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous SKU: %OldSku% "
5665
  "%LineBreak% New SKU: %NewSku% %LineBreak% %EditorLinkProduct%"
5666
  msgstr ""
5667
 
5668
- #: defaults.php:439
5669
  msgid "User changed the stock status of a product"
5670
  msgstr ""
5671
 
5672
- #: defaults.php:439
5673
  msgid ""
5674
  "Changed the stock status of the product %ProductTitle% %LineBreak% ID: "
5675
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous stock "
@@ -5677,11 +5147,11 @@ msgid ""
5677
  "%EditorLinkProduct%"
5678
  msgstr ""
5679
 
5680
- #: defaults.php:440
5681
  msgid "User changed the stock quantity"
5682
  msgstr ""
5683
 
5684
- #: defaults.php:440
5685
  msgid ""
5686
  "Changed the stock quantity of the product %ProductTitle% %LineBreak% ID: "
5687
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous quantity: "
@@ -5689,33 +5159,33 @@ msgid ""
5689
  "%EditorLinkProduct%"
5690
  msgstr ""
5691
 
5692
- #: defaults.php:441
5693
  msgid "User set a product type"
5694
  msgstr ""
5695
 
5696
- #: defaults.php:441
5697
  msgid ""
5698
  "Changed the type of the %NewType% product %ProductTitle% %LineBreak% ID: "
5699
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous type: "
5700
  "%OldType% %LineBreak% New type: %NewType% %LineBreak% %EditorLinkProduct%"
5701
  msgstr ""
5702
 
5703
- #: defaults.php:442
5704
  msgid "User changed the weight of a product"
5705
  msgstr ""
5706
 
5707
- #: defaults.php:442
5708
  msgid ""
5709
  "Changed the weight of the product %ProductTitle% %LineBreak% ID: %PostID% "
5710
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous weight: %OldWeight% "
5711
  "%LineBreak% New weight: %NewWeight% %LineBreak% %EditorLinkProduct%"
5712
  msgstr ""
5713
 
5714
- #: defaults.php:443
5715
  msgid "User changed the dimensions of a product"
5716
  msgstr ""
5717
 
5718
- #: defaults.php:443
5719
  msgid ""
5720
  "Changed the %DimensionType% dimensions of the product %ProductTitle% "
5721
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -5723,33 +5193,33 @@ msgid ""
5723
  "%LineBreak% %EditorLinkProduct%"
5724
  msgstr ""
5725
 
5726
- #: defaults.php:444
5727
  msgid "User added the Downloadable File to a product"
5728
  msgstr ""
5729
 
5730
- #: defaults.php:444
5731
  msgid ""
5732
  "Added a downloadable file to the product %ProductTitle% %LineBreak% ID: "
5733
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% File name: %FileName"
5734
  "% %LineBreak% File URL: %FileUrl% %LineBreak% %EditorLinkProduct%"
5735
  msgstr ""
5736
 
5737
- #: defaults.php:445
5738
  msgid "User Removed the Downloadable File from a product"
5739
  msgstr ""
5740
 
5741
- #: defaults.php:445
5742
  msgid ""
5743
  "Removed the downloadable file from the product %ProductTitle% %LineBreak% "
5744
  "ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% File name: "
5745
  "%FileName% %LineBreak% File URL: %FileUrl% %LineBreak% %EditorLinkProduct%"
5746
  msgstr ""
5747
 
5748
- #: defaults.php:446
5749
  msgid "User changed the name of a Downloadable File in a product"
5750
  msgstr ""
5751
 
5752
- #: defaults.php:446
5753
  msgid ""
5754
  "Changed the name of the downloadable file to the product %ProductTitle% "
5755
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -5757,11 +5227,11 @@ msgid ""
5757
  "% %EditorLinkProduct%"
5758
  msgstr ""
5759
 
5760
- #: defaults.php:447
5761
  msgid "User changed the URL of the Downloadable File in a product"
5762
  msgstr ""
5763
 
5764
- #: defaults.php:447
5765
  msgid ""
5766
  "Changed the URL of the downloadable file to the product %ProductTitle% "
5767
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -5769,11 +5239,11 @@ msgid ""
5769
  "URL: %NewUrl% %LineBreak% %EditorLinkProduct%"
5770
  msgstr ""
5771
 
5772
- #: defaults.php:448
5773
  msgid "User changed the catalog visibility of a product"
5774
  msgstr ""
5775
 
5776
- #: defaults.php:448
5777
  msgid ""
5778
  "Changed the product visibility of the product %ProductTitle% %LineBreak% ID: "
5779
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous setting: "
@@ -5781,21 +5251,21 @@ msgid ""
5781
  "%EditorLinkProduct%"
5782
  msgstr ""
5783
 
5784
- #: defaults.php:449
5785
  msgid "User changed the setting Featured Product of a product"
5786
  msgstr ""
5787
 
5788
- #: defaults.php:449
5789
  msgid ""
5790
  "The setting Featured Product for the product %ProductTitle% %LineBreak% ID: "
5791
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5792
  msgstr ""
5793
 
5794
- #: defaults.php:450
5795
  msgid "User changed the Allow Backorders setting of a product"
5796
  msgstr ""
5797
 
5798
- #: defaults.php:450
5799
  msgid ""
5800
  "Changed the Allow Backorders setting for the product %ProductTitle% "
5801
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -5803,33 +5273,33 @@ msgid ""
5803
  "%EditorLinkProduct%"
5804
  msgstr ""
5805
 
5806
- #: defaults.php:451
5807
  msgid "User added/removed products to upsell of a product"
5808
  msgstr ""
5809
 
5810
- #: defaults.php:451
5811
  msgid ""
5812
  "Products to Upsell in the product %ProductTitle% %LineBreak% ID: %PostID% "
5813
  "%LineBreak% Status: %ProductStatus% %LineBreak% Product: %UpsellTitle% "
5814
  "%LineBreak% %EditorLinkProduct%"
5815
  msgstr ""
5816
 
5817
- #: defaults.php:452
5818
  msgid "User added/removed products to cross-sells of a product"
5819
  msgstr ""
5820
 
5821
- #: defaults.php:452
5822
  msgid ""
5823
  "Product to Cross-sell in the product %ProductTitle% %LineBreak% ID: %PostID% "
5824
  "%LineBreak% Status: %ProductStatus% %LineBreak% Product: %CrossSellTitle% "
5825
  "%LineBreak% %EditorLinkProduct%"
5826
  msgstr ""
5827
 
5828
- #: defaults.php:453
5829
  msgid "System changed the stock quantity of a product"
5830
  msgstr ""
5831
 
5832
- #: defaults.php:453
5833
  msgid ""
5834
  "The stock quantity of the product %ProductTitle% was changed due to a "
5835
  "purchase. %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% "
@@ -5837,11 +5307,11 @@ msgid ""
5837
  "% %LineBreak% %EditorLinkProduct%"
5838
  msgstr ""
5839
 
5840
- #: defaults.php:454
5841
  msgid "Added a new attribute of a product"
5842
  msgstr ""
5843
 
5844
- #: defaults.php:454
5845
  msgid ""
5846
  "A new attribute to the product %ProductTitle% %LineBreak% ID: %ProductID% "
5847
  "%LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: "
@@ -5849,11 +5319,11 @@ msgid ""
5849
  "%EditorLinkProduct%"
5850
  msgstr ""
5851
 
5852
- #: defaults.php:455
5853
  msgid "Modified the value of an attribute of a product"
5854
  msgstr ""
5855
 
5856
- #: defaults.php:455
5857
  msgid ""
5858
  "Modified the value of an attribute in the product %ProductTitle% %LineBreak% "
5859
  "ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute "
@@ -5861,11 +5331,11 @@ msgid ""
5861
  "%LineBreak% New attribute value: %NewValue% %LineBreak% %EditorLinkProduct%"
5862
  msgstr ""
5863
 
5864
- #: defaults.php:456
5865
  msgid "Changed the name of an attribute of a product"
5866
  msgstr ""
5867
 
5868
- #: defaults.php:456
5869
  msgid ""
5870
  "Changed the name of an attribute in the product %ProductTitle% %LineBreak% "
5871
  "ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous "
@@ -5873,11 +5343,11 @@ msgid ""
5873
  "%LineBreak% %EditorLinkProduct%"
5874
  msgstr ""
5875
 
5876
- #: defaults.php:457
5877
  msgid "Deleted an attribute of a product"
5878
  msgstr ""
5879
 
5880
- #: defaults.php:457
5881
  msgid ""
5882
  "An attribute from the product %ProductTitle% %LineBreak% ID: %ProductID% "
5883
  "%LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: "
@@ -5885,11 +5355,11 @@ msgid ""
5885
  "%EditorLinkProduct%"
5886
  msgstr ""
5887
 
5888
- #: defaults.php:458
5889
  msgid "Set the attribute visibility of a product"
5890
  msgstr ""
5891
 
5892
- #: defaults.php:458
5893
  msgid ""
5894
  "Changed the visibility of an attribute in the product %ProductTitle% "
5895
  "%LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -5897,574 +5367,574 @@ msgid ""
5897
  "%AttributeVisiblilty% %LineBreak% %EditorLinkProduct%"
5898
  msgstr ""
5899
 
5900
- #: defaults.php:461
5901
  msgid "Store"
5902
  msgstr ""
5903
 
5904
- #: defaults.php:462
5905
  msgid "User changed the Weight Unit"
5906
  msgstr ""
5907
 
5908
- #: defaults.php:462
5909
  msgid ""
5910
  "Changed the weight unit of the store %LineBreak% Previous weight unit: "
5911
  "%OldUnit% %LineBreak% New weight unit: %NewUnit%"
5912
  msgstr ""
5913
 
5914
- #: defaults.php:463
5915
  msgid "User changed the Dimensions Unit"
5916
  msgstr ""
5917
 
5918
- #: defaults.php:463
5919
  msgid ""
5920
  "Changed the dimensions unit of the store %LineBreak% Previous dimensions "
5921
  "unit: %OldUnit% %LineBreak% New dimensions unit: %NewUnit%"
5922
  msgstr ""
5923
 
5924
- #: defaults.php:464
5925
  msgid "User changed the Base Location"
5926
  msgstr ""
5927
 
5928
- #: defaults.php:464
5929
  msgid ""
5930
  "Changed the base location %LineBreak% Previous address: %OldLocation% "
5931
  "%LineBreak% New address: %NewLocation%"
5932
  msgstr ""
5933
 
5934
- #: defaults.php:465
5935
  msgid "User enabled/disabled taxes"
5936
  msgstr ""
5937
 
5938
- #: defaults.php:465
5939
  msgid "Taxes in WooCommerce"
5940
  msgstr ""
5941
 
5942
- #: defaults.php:466
5943
  msgid "User changed the currency"
5944
  msgstr ""
5945
 
5946
- #: defaults.php:466
5947
  msgid ""
5948
  "Changed the currency of the store %LineBreak% Previous currency: %OldCurrency"
5949
  "% %LineBreak% New currency: %NewCurrency%"
5950
  msgstr ""
5951
 
5952
- #: defaults.php:467
5953
  msgid "User enabled/disabled the use of coupons during checkout"
5954
  msgstr ""
5955
 
5956
- #: defaults.php:467
5957
  msgid "The use of coupons during checkout"
5958
  msgstr ""
5959
 
5960
- #: defaults.php:468
5961
  msgid "User enabled/disabled guest checkout"
5962
  msgstr ""
5963
 
5964
- #: defaults.php:468
5965
  msgid "Guest checkout in the store"
5966
  msgstr ""
5967
 
5968
- #: defaults.php:469
5969
  msgid "User enabled/disabled cash on delivery"
5970
  msgstr ""
5971
 
5972
- #: defaults.php:469
5973
  msgid "The option cash on delivery"
5974
  msgstr ""
5975
 
5976
- #: defaults.php:470
5977
  msgid "User modified selling location(s)"
5978
  msgstr ""
5979
 
5980
- #: defaults.php:470
5981
  msgid ""
5982
  "The setting Selling location(s) %LineBreak% Old setting: %old% %LineBreak% "
5983
  "New Setting: %new%"
5984
  msgstr ""
5985
 
5986
- #: defaults.php:471
5987
  msgid "User modified excluded selling location(s)"
5988
  msgstr ""
5989
 
5990
- #: defaults.php:471
5991
  msgid ""
5992
  "Changed the list of excluded countries to sell to %LineBreak% Old setting: "
5993
  "%old% %LineBreak% New Setting: %new%"
5994
  msgstr ""
5995
 
5996
- #: defaults.php:472
5997
  msgid "User modified exclusive selling location(s)"
5998
  msgstr ""
5999
 
6000
- #: defaults.php:472
6001
  msgid ""
6002
  "Changed the list of countries to sell to %LineBreak% Old setting: %old% "
6003
  "%LineBreak% New Setting: %new%"
6004
  msgstr ""
6005
 
6006
- #: defaults.php:473
6007
  msgid "User modified shipping location(s)"
6008
  msgstr ""
6009
 
6010
- #: defaults.php:473
6011
  msgid ""
6012
  "The setting Shipping location(s) %LineBreak% Old setting: %old% %LineBreak% "
6013
  "New Setting: %new%"
6014
  msgstr ""
6015
 
6016
- #: defaults.php:474
6017
  msgid "User modified exclusive shipping location(s)"
6018
  msgstr ""
6019
 
6020
- #: defaults.php:474
6021
  msgid ""
6022
  "Changed the list of specific countries to ship to %LineBreak% Old setting: "
6023
  "%old% %LineBreak% New Setting: %new%"
6024
  msgstr ""
6025
 
6026
- #: defaults.php:475
6027
  msgid "User modified default customer location"
6028
  msgstr ""
6029
 
6030
- #: defaults.php:475
6031
  msgid ""
6032
  "The setting Default customer location %LineBreak% Old setting: %old% "
6033
  "%LineBreak% New Setting: %new%"
6034
  msgstr ""
6035
 
6036
- #: defaults.php:476
6037
  msgid "User modified the cart page"
6038
  msgstr ""
6039
 
6040
- #: defaults.php:476
6041
  msgid ""
6042
  "Changed the Cart Page %LineBreak% Old page: %old% %LineBreak% New page: %new%"
6043
  msgstr ""
6044
 
6045
- #: defaults.php:477
6046
  msgid "User modified the checkout page"
6047
  msgstr ""
6048
 
6049
- #: defaults.php:477
6050
  msgid ""
6051
  "Changed the Checkout page %LineBreak% Old page: %old% %LineBreak% New page: "
6052
  "%new%"
6053
  msgstr ""
6054
 
6055
- #: defaults.php:478
6056
  msgid "User modified the my account page"
6057
  msgstr ""
6058
 
6059
- #: defaults.php:478
6060
  msgid ""
6061
  "Changed the My Account Page %LineBreak% Old page: %old% %LineBreak% New "
6062
  "page: %new%"
6063
  msgstr ""
6064
 
6065
- #: defaults.php:479
6066
  msgid "User modified the terms and conditions page"
6067
  msgstr ""
6068
 
6069
- #: defaults.php:479
6070
  msgid ""
6071
  "Changed the Terms and Conditions Page %LineBreak% Old page: %old% %LineBreak"
6072
  "% New page: %new%"
6073
  msgstr ""
6074
 
6075
- #: defaults.php:482
6076
  msgid "Payment Gateways"
6077
  msgstr ""
6078
 
6079
- #: defaults.php:483
6080
  msgid "User enabled/disabled a payment gateway"
6081
  msgstr ""
6082
 
6083
- #: defaults.php:483 defaults.php:485
6084
  msgid "The payment gateway %GatewayName%"
6085
  msgstr ""
6086
 
6087
- #: defaults.php:484
6088
  msgid "User disabled a payment gateway"
6089
  msgstr ""
6090
 
6091
- #: defaults.php:484
6092
  msgid "Disabled the payment gateway %GatewayName%"
6093
  msgstr ""
6094
 
6095
- #: defaults.php:485
6096
  msgid "User modified a payment gateway"
6097
  msgstr ""
6098
 
6099
- #: defaults.php:488
6100
  msgid "Tax Settings"
6101
  msgstr ""
6102
 
6103
- #: defaults.php:489
6104
  msgid "User modified prices with tax option"
6105
  msgstr ""
6106
 
6107
- #: defaults.php:489
6108
  msgid "Set the option that prices are %TaxStatus% of tax"
6109
  msgstr ""
6110
 
6111
- #: defaults.php:490
6112
  msgid "User modified tax calculation base"
6113
  msgstr ""
6114
 
6115
- #: defaults.php:490
6116
  msgid "Set the setting Calculate tax based on to %Setting%"
6117
  msgstr ""
6118
 
6119
- #: defaults.php:491
6120
  msgid "User modified shipping tax class"
6121
  msgstr ""
6122
 
6123
- #: defaults.php:491
6124
  msgid "Set the Shipping tax class to %Setting%"
6125
  msgstr ""
6126
 
6127
- #: defaults.php:492
6128
  msgid "User enabled/disabled rounding of tax"
6129
  msgstr ""
6130
 
6131
- #: defaults.php:492
6132
  msgid "Rounding of tax at subtotal level"
6133
  msgstr ""
6134
 
6135
- #: defaults.php:493
6136
  msgid "User modified a shipping zone"
6137
  msgstr ""
6138
 
6139
- #: defaults.php:493
6140
  msgid "The shipping zone %ShippingZoneName%"
6141
  msgstr ""
6142
 
6143
- #: defaults.php:496
6144
  msgid "WC Categories"
6145
  msgstr ""
6146
 
6147
- #: defaults.php:497
6148
  msgid "User created a new product category"
6149
  msgstr ""
6150
 
6151
- #: defaults.php:497
6152
  msgid ""
6153
  "A new product category called %CategoryName% %LineBreak% Category slug is "
6154
  "%Slug% %LineBreak% %ProductCatLink%"
6155
  msgstr ""
6156
 
6157
- #: defaults.php:498
6158
  msgid "User deleted a product category"
6159
  msgstr ""
6160
 
6161
- #: defaults.php:498
6162
  msgid ""
6163
  "The product category called %CategoryName% %LineBreak% Category slug: "
6164
  "%CategorySlug%"
6165
  msgstr ""
6166
 
6167
- #: defaults.php:499
6168
  msgid "User changed the slug of a product category"
6169
  msgstr ""
6170
 
6171
- #: defaults.php:499
6172
  msgid ""
6173
  "Changed the slug of the product category called %CategoryName% %LineBreak% "
6174
  "Previous category slug: %OldSlug% %LineBreak% New category slug: %NewSlug% "
6175
  "%LineBreak% %ProductCatLink%"
6176
  msgstr ""
6177
 
6178
- #: defaults.php:500
6179
  msgid "User changed the parent category of a product category"
6180
  msgstr ""
6181
 
6182
- #: defaults.php:500
6183
  msgid ""
6184
  "Changed the parent of the product category %CategoryName% %LineBreak% "
6185
  "Category slug: %CategorySlug% %LineBreak% Previous parent: %OldParentCat% "
6186
  "%LineBreak% New parent: %NewParentCat% %LineBreak% %ProductCatLink%"
6187
  msgstr ""
6188
 
6189
- #: defaults.php:501
6190
  msgid "User changed the display type of a product category"
6191
  msgstr ""
6192
 
6193
- #: defaults.php:501
6194
  msgid ""
6195
  "Changed the display type of the product category %CategoryName% %LineBreak% "
6196
  "%CategorySlug% %LineBreak% Previous display type: %OldDisplayType% %LineBreak"
6197
  "% New display type: %NewDisplayType% %LineBreak% %ProductCatLink%"
6198
  msgstr ""
6199
 
6200
- #: defaults.php:502
6201
  msgid "User changed the name of a product category"
6202
  msgstr ""
6203
 
6204
- #: defaults.php:502
6205
  msgid ""
6206
  "Previous name: %OldName% %LineBreak% New name: %NewName% %LineBreak% "
6207
  "Category slug: %CategorySlug% %LineBreak% %ProductCatLink%"
6208
  msgstr ""
6209
 
6210
- #: defaults.php:505
6211
  msgid "Attributes"
6212
  msgstr ""
6213
 
6214
- #: defaults.php:506
6215
  msgid "User created a new attribute"
6216
  msgstr ""
6217
 
6218
- #: defaults.php:506
6219
  msgid ""
6220
  "A new attribute in WooCommerce called %AttributeName% %LineBreak% Attribute "
6221
  "slug: %AttributeSlug%"
6222
  msgstr ""
6223
 
6224
- #: defaults.php:507
6225
  msgid "User deleted an attribute"
6226
  msgstr ""
6227
 
6228
- #: defaults.php:507
6229
  msgid ""
6230
  "The WooCommerce attribute called %AttributeName% %LineBreak% Attribute slug: "
6231
  "%AttributeSlug%"
6232
  msgstr ""
6233
 
6234
- #: defaults.php:508
6235
  msgid "User changed the slug of an attribute"
6236
  msgstr ""
6237
 
6238
- #: defaults.php:508
6239
  msgid ""
6240
  "Changed the slug of the WooCommerce attribute %AttributeName% %LineBreak% "
6241
  "Previous slug: %OldSlug% %LineBreak% New slug: %NewSlug%"
6242
  msgstr ""
6243
 
6244
- #: defaults.php:509
6245
  msgid "User changed the name of an attribute"
6246
  msgstr ""
6247
 
6248
- #: defaults.php:509
6249
  msgid ""
6250
  "Changed the name of the WooCommerce attribute %AttributeName% %LineBreak% "
6251
  "Attribute slug: %AttributeSlug% %LineBreak% Previous name: %OldName% "
6252
  "%LineBreak% New name: %NewName%"
6253
  msgstr ""
6254
 
6255
- #: defaults.php:510
6256
  msgid "User changed the default sort order of an attribute"
6257
  msgstr ""
6258
 
6259
- #: defaults.php:510
6260
  msgid ""
6261
  "Changed the Default Sort Order of the attribute %AttributeName% in "
6262
  "WooCommerce %LineBreak% Attribute slug: %AttributeSlug% %LineBreak% Previous "
6263
  "sorting order: %OldSortOrder% %LineBreak% New sorting order: %NewSortOrder%"
6264
  msgstr ""
6265
 
6266
- #: defaults.php:511
6267
  msgid "User enabled/disabled the option Enable Archives of an attribute"
6268
  msgstr ""
6269
 
6270
- #: defaults.php:511
6271
  msgid "The option Enable Archives in WooCommerce attribute %AttributeName%"
6272
  msgstr ""
6273
 
6274
- #: defaults.php:514
6275
  msgid "Coupons"
6276
  msgstr ""
6277
 
6278
- #: defaults.php:515
6279
  msgid "User published a new coupon"
6280
  msgstr ""
6281
 
6282
- #: defaults.php:515
6283
  msgid ""
6284
  "Published a new coupon called %CouponName% %LineBreak% %EditorLinkCoupon%"
6285
  msgstr ""
6286
 
6287
- #: defaults.php:516
6288
  msgid "User changed the discount type of a coupon"
6289
  msgstr ""
6290
 
6291
- #: defaults.php:516
6292
  msgid ""
6293
  "Changed the Discount Type in coupon %CouponName% %LineBreak% Previous "
6294
  "discount type: %OldDiscountType% %LineBreak% New discount type: "
6295
  "%NewDiscountType% %LineBreak% %EditorLinkCoupon%"
6296
  msgstr ""
6297
 
6298
- #: defaults.php:517
6299
  msgid "User changed the coupon amount of a coupon"
6300
  msgstr ""
6301
 
6302
- #: defaults.php:517
6303
  msgid ""
6304
  "Changed the Coupon amount in coupon %CouponName% %LineBreak% Previous "
6305
  "amount: %OldAmount% %LineBreak% New amount: %NewAmount% %LineBreak% "
6306
  "%EditorLinkCoupon%"
6307
  msgstr ""
6308
 
6309
- #: defaults.php:518
6310
  msgid "User changed the coupon expire date of a coupon"
6311
  msgstr ""
6312
 
6313
- #: defaults.php:518
6314
  msgid ""
6315
  "Changed the expire date of the coupon %CouponName% %LineBreak% Previous "
6316
  "date: %OldDate% %LineBreak% New date: %NewDate% %LineBreak% %EditorLinkCoupon"
6317
  "%"
6318
  msgstr ""
6319
 
6320
- #: defaults.php:519
6321
  msgid "User changed the usage restriction settings of a coupon"
6322
  msgstr ""
6323
 
6324
- #: defaults.php:519
6325
  msgid ""
6326
  "Changed the Usage Restriction of the coupon %CouponName% %LineBreak% "
6327
  "Previous usage restriction: %OldMetaValue% %LineBreak% New usage "
6328
  "restriction: %NewMetaValue% %LineBreak% %EditorLinkCoupon%"
6329
  msgstr ""
6330
 
6331
- #: defaults.php:520
6332
  msgid "User changed the usage limits settings of a coupon"
6333
  msgstr ""
6334
 
6335
- #: defaults.php:520
6336
  msgid ""
6337
  "Changed the Usage Limits of the coupon %CouponName% %LineBreak% Previous "
6338
  "usage limits: %OldMetaValue% %LineBreak% New usage limits: %NewMetaValue% "
6339
  "%LineBreak% %EditorLinkCoupon%"
6340
  msgstr ""
6341
 
6342
- #: defaults.php:521
6343
  msgid "User changed the description of a coupon"
6344
  msgstr ""
6345
 
6346
- #: defaults.php:521
6347
  msgid ""
6348
  "Changed the description of the coupon %CouponName% %LineBreak% Previous "
6349
  "description: %OldDescription% %LineBreak% New description: %NewDescription% "
6350
  "%LineBreak% %EditorLinkCoupon%"
6351
  msgstr ""
6352
 
6353
- #: defaults.php:522
6354
  msgid "User changed the status of a coupon"
6355
  msgstr ""
6356
 
6357
- #: defaults.php:522
6358
  msgid ""
6359
  "Changed the Status of the WooCommerce coupon %CouponName% from %OldStatus% "
6360
  "to %NewStatus%."
6361
  msgstr ""
6362
 
6363
- #: defaults.php:523
6364
  msgid "User renamed a WooCommerce coupon"
6365
  msgstr ""
6366
 
6367
- #: defaults.php:523
6368
  msgid ""
6369
  "Old coupon name: %OldName% %LineBreak% New coupon name: %NewName% %LineBreak"
6370
  "% %EditorLinkCoupon%"
6371
  msgstr ""
6372
 
6373
- #: defaults.php:526
6374
  msgid "Orders"
6375
  msgstr ""
6376
 
6377
- #: defaults.php:527
6378
  msgid "A WooCommerce order has been placed"
6379
  msgstr ""
6380
 
6381
- #: defaults.php:527
6382
  msgid ""
6383
  "A new order has been placed %LineBreak% Order name: %OrderTitle% %LineBreak% "
6384
  "%EditorLinkOrder%"
6385
  msgstr ""
6386
 
6387
- #: defaults.php:528
6388
  msgid "WooCommerce order status changed"
6389
  msgstr ""
6390
 
6391
- #: defaults.php:528
6392
  msgid ""
6393
  "Marked an order %OrderTitle% as %OrderStatus% %LineBreak% %EditorLinkOrder%"
6394
  msgstr ""
6395
 
6396
- #: defaults.php:529
6397
  msgid "User moved a WooCommerce order to trash"
6398
  msgstr ""
6399
 
6400
- #: defaults.php:529
6401
  msgid "Moved the order %OrderTitle% to trash"
6402
  msgstr ""
6403
 
6404
- #: defaults.php:530
6405
  msgid "User moved a WooCommerce order out of trash"
6406
  msgstr ""
6407
 
6408
- #: defaults.php:530
6409
  msgid ""
6410
  "Restored the order %OrderTitle% from the trash %LineBreak% %EditorLinkOrder%"
6411
  msgstr ""
6412
 
6413
- #: defaults.php:531
6414
  msgid "User permanently deleted a WooCommerce order"
6415
  msgstr ""
6416
 
6417
- #: defaults.php:531
6418
  msgid "Permanently deleted the order %OrderTitle%"
6419
  msgstr ""
6420
 
6421
- #: defaults.php:532
6422
  msgid "User edited a WooCommerce order"
6423
  msgstr ""
6424
 
6425
- #: defaults.php:532
6426
  msgid "Edited the details in order %OrderTitle% %LineBreak% %EditorLinkOrder%"
6427
  msgstr ""
6428
 
6429
- #: defaults.php:533
6430
  msgid "User refunded a WooCommerce order"
6431
  msgstr ""
6432
 
6433
- #: defaults.php:533
6434
  msgid "Refunded the order %OrderTitle% %LineBreak% %EditorLinkOrder%"
6435
  msgstr ""
6436
 
6437
- #: defaults.php:536
6438
  msgid "User Profile"
6439
  msgstr ""
6440
 
6441
- #: defaults.php:537
6442
  msgid "User changed the billing address details"
6443
  msgstr ""
6444
 
6445
- #: defaults.php:537
6446
  msgid ""
6447
  "Changed the billing address details of the user %TargetUsername% %LineBreak% "
6448
  "Role: %Roles% %LineBreak% New Billing address: %NewValue% %LineBreak% "
6449
  "%EditUserLink%"
6450
  msgstr ""
6451
 
6452
- #: defaults.php:538
6453
  msgid "User changed the shipping address details"
6454
  msgstr ""
6455
 
6456
- #: defaults.php:538
6457
  msgid ""
6458
  "Changed the shipping address details of the user %TargetUsername% %LineBreak"
6459
  "% Role: %Roles% %LineBreak% New Shipping address: %NewValue% %LineBreak% "
6460
  "%EditUserLink%"
6461
  msgstr ""
6462
 
6463
- #: defaults.php:544
6464
  msgid "User changed title of a SEO post"
6465
  msgstr ""
6466
 
6467
- #: defaults.php:544
6468
  msgid ""
6469
  "Changed the Meta title of the post %PostTitle% %LineBreak% ID: %PostID% "
6470
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -6472,11 +5942,11 @@ msgid ""
6472
  "% %EditorLinkPost%"
6473
  msgstr ""
6474
 
6475
- #: defaults.php:545
6476
  msgid "User changed the meta description of a SEO post"
6477
  msgstr ""
6478
 
6479
- #: defaults.php:545
6480
  msgid ""
6481
  "Changed the Meta Description of the post %PostTitle% %LineBreak% ID: %PostID"
6482
  "% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -6484,13 +5954,13 @@ msgid ""
6484
  "%LineBreak% %EditorLinkPost%"
6485
  msgstr ""
6486
 
6487
- #: defaults.php:546
6488
  msgid ""
6489
  "User changed setting to allow search engines to show post in search results "
6490
  "of a SEO post"
6491
  msgstr ""
6492
 
6493
- #: defaults.php:546
6494
  msgid ""
6495
  "Changed the setting to allow search engines to show post in search results "
6496
  "for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType"
@@ -6498,24 +5968,24 @@ msgid ""
6498
  "%LineBreak% New setting: %NewStatus% %LineBreak% %EditorLinkPost%"
6499
  msgstr ""
6500
 
6501
- #: defaults.php:547
6502
  msgid ""
6503
  "User Enabled/Disabled the option for search engine to follow links of a SEO "
6504
  "post"
6505
  msgstr ""
6506
 
6507
- #: defaults.php:547
6508
  msgid ""
6509
  "The option for search engine to follow links in post %PostTitle% %LineBreak% "
6510
  "ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
6511
  "%LineBreak% %EditorLinkPost%"
6512
  msgstr ""
6513
 
6514
- #: defaults.php:548
6515
  msgid "User set the meta robots advanced setting of a SEO post"
6516
  msgstr ""
6517
 
6518
- #: defaults.php:548
6519
  msgid ""
6520
  "Changed the Meta Robots Advanced setting for the post %PostTitle% %LineBreak"
6521
  "% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
@@ -6523,11 +5993,11 @@ msgid ""
6523
  "% %LineBreak% %EditorLinkPost%"
6524
  msgstr ""
6525
 
6526
- #: defaults.php:549
6527
  msgid "User changed the canonical URL of a SEO post"
6528
  msgstr ""
6529
 
6530
- #: defaults.php:549
6531
  msgid ""
6532
  "Changed the Canonical URL of the post %PostTitle% %LineBreak% ID: %PostID% "
6533
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -6535,11 +6005,11 @@ msgid ""
6535
  "%LineBreak% %EditorLinkPost%"
6536
  msgstr ""
6537
 
6538
- #: defaults.php:550
6539
  msgid "User changed the focus keyword of a SEO post"
6540
  msgstr ""
6541
 
6542
- #: defaults.php:550
6543
  msgid ""
6544
  "Changed the focus keyword for the post %PostTitle% %LineBreak% ID: %PostID% "
6545
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -6547,210 +6017,212 @@ msgid ""
6547
  "%LineBreak% %EditorLinkPost%"
6548
  msgstr ""
6549
 
6550
- #: defaults.php:551
6551
  msgid "User Enabled/Disabled the option Cornerston Content of a SEO post"
6552
  msgstr ""
6553
 
6554
- #: defaults.php:551
6555
  msgid ""
6556
  "The option Cornerstone Content in the post %PostTitle% %LineBreak% ID: "
6557
  "%PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
6558
  "%LineBreak% %EditorLinkPost%"
6559
  msgstr ""
6560
 
6561
- #: defaults.php:554
6562
  msgid "Website Changes"
6563
  msgstr ""
6564
 
6565
- #: defaults.php:555
6566
  msgid "User changed the Title Separator setting"
6567
  msgstr ""
6568
 
6569
- #: defaults.php:555
6570
  msgid ""
6571
  "Changed the default title separator %LineBreak% Previous separator: %old% "
6572
  "%LineBreak% New separator: %new%"
6573
  msgstr ""
6574
 
6575
- #: defaults.php:556
6576
  msgid "User changed the Homepage Title setting"
6577
  msgstr ""
6578
 
6579
- #: defaults.php:556
6580
  msgid ""
6581
  "Changed the homepage Meta title %LineBreak% Previous title: %old% %LineBreak"
6582
  "% New title: %new%"
6583
  msgstr ""
6584
 
6585
- #: defaults.php:557
6586
  msgid "User changed the Homepage Meta description setting"
6587
  msgstr ""
6588
 
6589
- #: defaults.php:557
6590
  msgid ""
6591
  "Changed the homepage Meta description %LineBreak% Previous description: %old"
6592
  "% %LineBreak% New description: %new%"
6593
  msgstr ""
6594
 
6595
- #: defaults.php:558
6596
  msgid "User changed the Company or Person setting"
6597
  msgstr ""
6598
 
6599
- #: defaults.php:558
6600
  msgid ""
6601
  "Changed the Company or Person setting %LineBreak% Previous setting: %old% "
6602
  "%LineBreak% New setting: %new%"
6603
  msgstr ""
6604
 
6605
- #: defaults.php:561
6606
  msgid "Plugin Settings Changes"
6607
  msgstr ""
6608
 
6609
- #: defaults.php:562
6610
  msgid ""
6611
  "User Enabled/Disabled the option Show Posts/Pages in Search Results in the "
6612
  "Yoast SEO plugin settings"
6613
  msgstr ""
6614
 
6615
- #: defaults.php:562
6616
  msgid "The option to show %SEOPostType% in search results"
6617
  msgstr ""
6618
 
6619
- #: defaults.php:563
6620
  msgid ""
6621
  "User changed the Posts/Pages title template in the Yoast SEO plugin settings"
6622
  msgstr ""
6623
 
6624
- #: defaults.php:563
6625
  msgid ""
6626
  "Changed the %SEOPostType% Meta (SEO) title template %LineBreak% Previous "
6627
  "template: %old% %LineBreak% New template: %new%"
6628
  msgstr ""
6629
 
6630
- #: defaults.php:564
6631
  msgid "User Enabled/Disabled SEO analysis in the Yoast SEO plugin settings"
6632
  msgstr ""
6633
 
6634
- #: defaults.php:564
6635
  msgid "The SEO Analysis feature"
6636
  msgstr ""
6637
 
6638
- #: defaults.php:565
6639
  msgid ""
6640
  "User Enabled/Disabled readability analysis in the Yoast SEO plugin settings"
6641
  msgstr ""
6642
 
6643
- #: defaults.php:565
6644
  msgid "The Readability Analysis feature"
6645
  msgstr ""
6646
 
6647
- #: defaults.php:566
6648
  msgid ""
6649
  "User Enabled/Disabled cornerstone content in the Yoast SEO plugin settings"
6650
  msgstr ""
6651
 
6652
- #: defaults.php:566
6653
  msgid "The Cornerstone content feature"
6654
  msgstr ""
6655
 
6656
- #: defaults.php:567
6657
  msgid ""
6658
  "User Enabled/Disabled the text link counter in the Yoast SEO plugin settings"
6659
  msgstr ""
6660
 
6661
- #: defaults.php:567
6662
  msgid "The Text link counter feature"
6663
  msgstr ""
6664
 
6665
- #: defaults.php:568
6666
  msgid "User Enabled/Disabled XML sitemaps in the Yoast SEO plugin settings"
6667
  msgstr ""
6668
 
6669
- #: defaults.php:568
6670
  msgid "The XML sitemap feature"
6671
  msgstr ""
6672
 
6673
- #: defaults.php:569
6674
  msgid "User Enabled/Disabled ryte integration in the Yoast SEO plugin settings"
6675
  msgstr ""
6676
 
6677
- #: defaults.php:569
6678
  msgid "The Ryte integration feature"
6679
  msgstr ""
6680
 
6681
- #: defaults.php:570
6682
  msgid ""
6683
  "User Enabled/Disabled the admin bar menu in the Yoast SEO plugin settings"
6684
  msgstr ""
6685
 
6686
- #: defaults.php:570
6687
  msgid "The Admin bar menu feature"
6688
  msgstr ""
6689
 
6690
- #: defaults.php:571
6691
  msgid ""
6692
  "User changed the Posts/Pages meta description template in the Yoast SEO "
6693
  "plugin settings"
6694
  msgstr ""
6695
 
6696
- #: defaults.php:571
6697
  msgid ""
6698
  "Changed the %SEOPostType% Meta description template %LineBreak% Previous "
6699
  "template: %old% New template: %new%"
6700
  msgstr ""
6701
 
6702
- #: defaults.php:572
6703
  msgid ""
6704
  "User set the option Date in Snippet Preview for Posts/Pages in the Yoast SEO "
6705
  "plugin settings"
6706
  msgstr ""
6707
 
6708
- #: defaults.php:572
6709
  msgid "The option Date in Snippet Preview for %SEOPostType%"
6710
  msgstr ""
6711
 
6712
- #: defaults.php:573
6713
  msgid ""
6714
  "User set the option Yoast SEO Meta Box for Posts/Pages in the Yoast SEO "
6715
  "plugin settings"
6716
  msgstr ""
6717
 
6718
- #: defaults.php:573
6719
  msgid "The option Yoast SEO Meta Box for %SEOPostType%"
6720
  msgstr ""
6721
 
6722
- #: defaults.php:574
6723
  msgid ""
6724
  "User Enabled/Disabled the advanced settings for authors in the Yoast SEO "
6725
  "plugin settings"
6726
  msgstr ""
6727
 
6728
- #: defaults.php:574
6729
  msgid "The Security: no advanced settings for authors feature"
6730
  msgstr ""
6731
 
6732
- #. translators: Username
6733
- #: wp-security-audit-log.php:837 wp-security-audit-log.php:864
 
 
 
6734
  #, php-format
6735
  msgid "Hey %1$s"
6736
  msgstr ""
6737
 
6738
- #: wp-security-audit-log.php:838
6739
  msgid ""
6740
  "Never miss an important update! Opt-in to our security and feature updates "
6741
  "notifications, and non-sensitive diagnostic tracking with freemius.com."
6742
  msgstr ""
6743
 
6744
- #: wp-security-audit-log.php:839 wp-security-audit-log.php:867
6745
  msgid "Note: "
6746
  msgstr ""
6747
 
6748
- #: wp-security-audit-log.php:840 wp-security-audit-log.php:868
6749
  msgid "NO AUDIT LOG ACTIVITY & DATA IS SENT BACK TO OUR SERVERS."
6750
  msgstr ""
6751
 
6752
- #. translators: 1: Plugin name. 2: Freemius link.
6753
- #: wp-security-audit-log.php:866
6754
  #, php-format
6755
  msgid ""
6756
  "Please help us improve %2$s! If you opt-in, some non-sensitive data about "
@@ -6758,8 +6230,7 @@ msgid ""
6758
  "use. If you skip this, that's okay! %2$s will still work just fine."
6759
  msgstr ""
6760
 
6761
- #. translators: Plugin name
6762
- #: wp-security-audit-log.php:888
6763
  #, php-format
6764
  msgid ""
6765
  "Get a free 7-day trial of the premium edition of %s. No credit card "
@@ -6767,170 +6238,169 @@ msgid ""
6767
  msgstr ""
6768
 
6769
  #. Plugin Name of the plugin/theme
6770
- #: wp-security-audit-log.php:889
6771
  msgid "WP Activity Log"
6772
  msgstr ""
6773
 
6774
- #: wp-security-audit-log.php:893
6775
  msgid "Start free trial"
6776
  msgstr ""
6777
 
6778
- #: wp-security-audit-log.php:961
6779
  #, php-format
6780
  msgid ""
6781
  "You need to activate the licence key to use WP Securitity Audit Log Premium. "
6782
  "%2$s"
6783
  msgstr ""
6784
 
6785
- #: wp-security-audit-log.php:962
6786
  msgid "Activate the licence key now"
6787
  msgstr ""
6788
 
6789
- #: wp-security-audit-log.php:979
6790
  #, php-format
6791
  msgid ""
6792
  "The license is limited to %s sub-sites. You need to upgrade your license to "
6793
  "cover all the sub-sites on this network."
6794
  msgstr ""
6795
 
6796
- #: wp-security-audit-log.php:1089
6797
  msgid ""
6798
  "Error: You do not have sufficient permissions to disable this custom field."
6799
  msgstr ""
6800
 
6801
- #: wp-security-audit-log.php:1122
6802
  #, php-format
6803
  msgid ""
6804
  "Custom Field %1$s is no longer being monitored.<br />Enable the monitoring "
6805
  "of this custom field again from the"
6806
  msgstr ""
6807
 
6808
- #: wp-security-audit-log.php:1122
6809
  msgid "Excluded Objects"
6810
  msgstr ""
6811
 
6812
- #: wp-security-audit-log.php:1122
6813
  msgid " tab in the plugin settings"
6814
  msgstr ""
6815
 
6816
- #: wp-security-audit-log.php:1134
6817
  msgid "Error: You do not have sufficient permissions to disable this alert."
6818
  msgstr ""
6819
 
6820
- #: wp-security-audit-log.php:1158
6821
  #, php-format
6822
  msgid "Alert %1$s is no longer being monitored.<br /> %2$s"
6823
  msgstr ""
6824
 
6825
- #: wp-security-audit-log.php:1158
6826
  msgid ""
6827
  "You can enable this alert again from the Enable/Disable Alerts node in the "
6828
  "plugin menu."
6829
  msgstr ""
6830
 
6831
- #: wp-security-audit-log.php:1259
6832
  #, php-format
6833
  msgid ""
6834
  "You are using a version of PHP that is older than %s, which is no longer "
6835
  "supported."
6836
  msgstr ""
6837
 
6838
- #: wp-security-audit-log.php:1261
6839
  msgid ""
6840
  "Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
6841
  "\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
6842
  "are using."
6843
  msgstr ""
6844
 
6845
- #: wp-security-audit-log.php:1263
6846
  msgid ""
6847
- "The WP Activity Log plugin is a multisite network tool, so it has to "
6848
- "be activated at network level."
6849
  msgstr ""
6850
 
6851
- #: wp-security-audit-log.php:1265
6852
  msgid "Redirect me to the network dashboard"
6853
  msgstr ""
6854
 
6855
- #: wp-security-audit-log.php:1270
6856
  #, php-format
6857
  msgid "Please install the %s plugin on the MainWP dashboard."
6858
  msgstr ""
6859
 
6860
- #: wp-security-audit-log.php:1270
6861
  msgid "Activity Log for MainWP"
6862
  msgstr ""
6863
 
6864
- #: wp-security-audit-log.php:1272
6865
  #, php-format
6866
  msgid ""
6867
- "The WP Activity Log should be installed on the child sites only. Refer "
6868
- "to the %s for more information."
6869
  msgstr ""
6870
 
6871
- #: wp-security-audit-log.php:1272
6872
  msgid "getting started guide"
6873
  msgstr ""
6874
 
6875
- #: wp-security-audit-log.php:1358
6876
  msgid ""
6877
  "This plugin uses 3 tables in the WordPress database to store the activity "
6878
  "log and settings. It seems that these tables were not created."
6879
  msgstr ""
6880
 
6881
- #: wp-security-audit-log.php:1360
6882
  msgid ""
6883
  "This could happen because the database user does not have the right "
6884
  "privileges to create the tables in the database. We recommend you to update "
6885
  "the privileges and try enabling the plugin again."
6886
  msgstr ""
6887
 
6888
- #: wp-security-audit-log.php:1362
6889
  #, php-format
6890
  msgid ""
6891
  "If after doing so you still have issues, please send us an email on %s for "
6892
  "assistance."
6893
  msgstr ""
6894
 
6895
- #: wp-security-audit-log.php:1362
6896
  msgid "support@wpsecurityauditlog.com"
6897
  msgstr ""
6898
 
6899
- #: wp-security-audit-log.php:2007
6900
  msgid ""
6901
  "For security and auditing purposes, a record of all of your logged-in "
6902
  "actions and changes within the WordPress dashboard will be recorded in an "
6903
- "audit log with the <a href=\"https://wpactivitylog.com/\" target="
6904
- "\"_blank\">WP Activity Log plugin</a>. The audit log also includes the "
6905
- "IP address where you accessed this site from."
6906
  msgstr ""
6907
 
6908
- #: wp-security-audit-log.php:2026
6909
  msgid "Every 6 hours"
6910
  msgstr ""
6911
 
6912
- #: wp-security-audit-log.php:2030
6913
  msgid "Every 45 minutes"
6914
  msgstr ""
6915
 
6916
- #: wp-security-audit-log.php:2034
6917
  msgid "Every 30 minutes"
6918
  msgstr ""
6919
 
6920
- #: wp-security-audit-log.php:2038
6921
  msgid "Every 15 minutes"
6922
  msgstr ""
6923
 
6924
- #: wp-security-audit-log.php:2042
6925
  msgid "Every 10 minutes"
6926
  msgstr ""
6927
 
6928
- #: wp-security-audit-log.php:2046
6929
  msgid "Every 1 minute"
6930
  msgstr ""
6931
 
6932
- #. translators: 1. Deprecated method name 2. Version since deprecated
6933
- #: wp-security-audit-log.php:2060
6934
  #, php-format
6935
  msgid "Method %1$s is deprecated since version %2$s!"
6936
  msgstr ""
@@ -6943,8 +6413,8 @@ msgstr ""
6943
  msgid ""
6944
  "Identify WordPress security issues before they become a problem. Keep track "
6945
  "of everything happening on your WordPress including WordPress users "
6946
- "activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit "
6947
- "Log generates a security alert for everything that happens on your WordPress "
6948
  "blogs and websites. Use the Audit Log Viewer included in the plugin to see "
6949
  "all the security alerts."
6950
  msgstr ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: WP Activity Log\n"
6
+ "POT-Creation-Date: 2020-06-24 13:40+0100\n"
7
+ "PO-Revision-Date: 2020-06-24 13:40+0100\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
20
  "X-Poedit-SearchPath-0: .\n"
21
  "X-Poedit-SearchPathExcluded-0: *.js\n"
22
 
 
23
  #: classes/AlertManager.php:365
24
  #, php-format
25
  msgid "Event with code %d has not be registered."
49
  msgid "Contact us"
50
  msgstr ""
51
 
52
+ #: classes/AlertManager.php:1107 classes/AuditLogListView.php:333
53
+ #: classes/AuditLogListView.php:367 classes/Views/Settings.php:1150
54
  #: classes/WidgetManager.php:76
55
  msgid "User"
56
  msgstr ""
57
 
58
  #: classes/AlertManager.php:1108 classes/AlertManager.php:1898
59
+ #: classes/AuditLogGridView.php:517 classes/AuditLogListView.php:543
60
  #: defaults.php:354
61
  msgid "System"
62
  msgstr ""
63
 
64
  #: classes/AlertManager.php:1109 classes/AuditLogGridView.php:508
65
+ #: classes/AuditLogListView.php:531
66
  msgid "Plugin"
67
  msgstr ""
68
 
119
  msgstr ""
120
 
121
  #: classes/AlertManager.php:1124 classes/Views/ToggleAlerts.php:222
122
+ #: classes/Views/ToggleAlerts.php:352 defaults.php:533
123
  msgid "Yoast SEO"
124
  msgstr ""
125
 
330
  msgid "All Sites"
331
  msgstr ""
332
 
333
+ #: classes/AuditLogGridView.php:257 classes/AuditLogListView.php:264
334
  msgid "Live Database"
335
  msgstr ""
336
 
337
+ #: classes/AuditLogGridView.php:260 classes/AuditLogListView.php:267
338
  msgid "Archive Database"
339
  msgstr ""
340
 
341
  #: classes/AuditLogGridView.php:314 classes/AuditLogGridView.php:338
342
+ #: classes/AuditLogListView.php:330 classes/AuditLogListView.php:358
343
  msgid "ID"
344
  msgstr ""
345
 
346
  #: classes/AuditLogGridView.php:315 classes/AuditLogGridView.php:341
347
+ #: classes/AuditLogListView.php:331 classes/AuditLogListView.php:361
348
+ #: classes/Views/Settings.php:1146 classes/Views/ToggleAlerts.php:326
349
  msgid "Severity"
350
  msgstr ""
351
 
353
  msgid "Info"
354
  msgstr ""
355
 
356
+ #: classes/AuditLogGridView.php:321 classes/AuditLogListView.php:341
357
+ #: classes/AuditLogListView.php:373
358
  msgid "Site"
359
  msgstr ""
360
 
361
  #: classes/AuditLogGridView.php:324 classes/AuditLogGridView.php:347
362
+ #: classes/AuditLogListView.php:344 classes/AuditLogListView.php:382
363
  msgid "Message"
364
  msgstr ""
365
 
367
  msgid "Grid"
368
  msgstr ""
369
 
370
+ #: classes/AuditLogGridView.php:416 classes/AuditLogListView.php:466
371
  msgid "Disable this type of events."
372
  msgstr ""
373
 
376
  msgstr ""
377
 
378
  #: classes/AuditLogGridView.php:459 classes/AuditLogGridView.php:466
379
+ #: classes/AuditLogGridView.php:505 classes/AuditLogListView.php:486
380
+ #: classes/AuditLogListView.php:527
381
  msgid "Unknown"
382
  msgstr ""
383
 
384
+ #: classes/AuditLogGridView.php:490 classes/AuditLogListView.php:512
385
  msgid "Show me all activity by this User"
386
  msgstr ""
387
 
388
+ #: classes/AuditLogGridView.php:511 classes/AuditLogListView.php:535
389
  #: defaults.php:316
390
  msgid "Plugins"
391
  msgstr ""
392
 
393
+ #: classes/AuditLogGridView.php:514 classes/AuditLogListView.php:539
394
  msgid "Website Visitor"
395
  msgstr ""
396
 
397
  #: classes/AuditLogGridView.php:551 classes/AuditLogGridView.php:564
398
+ #: classes/AuditLogListView.php:575 classes/AuditLogListView.php:588
399
  msgid "Show me all activity originating from this IP Address"
400
  msgstr ""
401
 
423
  msgid "Event Type:"
424
  msgstr ""
425
 
426
+ #: classes/AuditLogGridView.php:621 classes/AuditLogListView.php:617
427
  msgid "View all details of this change"
428
  msgstr ""
429
 
430
  #: classes/AuditLogGridView.php:622 classes/AuditLogGridView.php:772
431
+ #: classes/AuditLogListView.php:618 classes/AuditLogListView.php:772
432
  msgid "Alert Data Inspector"
433
  msgstr ""
434
 
435
+ #: classes/AuditLogGridView.php:724 classes/AuditLogListView.php:724
436
+ #: classes/Settings.php:1645
437
  msgid "Download the log file"
438
  msgstr ""
439
 
440
+ #: classes/AuditLogGridView.php:744 classes/AuditLogListView.php:744
441
+ #: classes/Settings.php:1687
442
  msgid "Download the log file."
443
  msgstr ""
444
 
445
+ #: classes/AuditLogGridView.php:752 classes/AuditLogListView.php:752
446
+ #: classes/Settings.php:1700 classes/Settings.php:1943
447
  msgid "published"
448
  msgstr ""
449
 
450
+ #: classes/AuditLogGridView.php:780 classes/AuditLogListView.php:780
451
+ #: classes/Settings.php:1726 classes/Settings.php:1969
 
452
  #, php-format
453
  msgid "Contact us on %s for assistance"
454
  msgstr ""
455
 
456
+ #: classes/AuditLogGridView.php:914 classes/AuditLogListView.php:914
457
  msgid "Select All"
458
  msgstr ""
459
 
460
+ #: classes/AuditLogListView.php:332 classes/AuditLogListView.php:364
461
  msgid "Date"
462
  msgstr ""
463
 
464
+ #: classes/AuditLogListView.php:334 classes/AuditLogListView.php:370
465
  msgid "IP"
466
  msgstr ""
467
 
468
+ #: classes/AuditLogListView.php:335 classes/AuditLogListView.php:376
469
  msgid "Object"
470
  msgstr ""
471
 
472
+ #: classes/AuditLogListView.php:336 classes/AuditLogListView.php:379
473
  msgid "Event Type"
474
  msgstr ""
475
 
476
+ #: classes/AuditLogListView.php:441
477
  msgid "Click to toggle."
478
  msgstr ""
479
 
480
+ #: classes/AuditLogListView.php:446 classes/Models/Occurrence.php:83
481
+ #: classes/ViewManager.php:497
482
  msgid "Alert message not found."
483
  msgstr ""
484
 
485
+ #: classes/AuditLogListView.php:447 classes/Models/Occurrence.php:84
486
+ #: classes/ViewManager.php:498
487
  msgid "Alert description not found."
488
  msgstr ""
489
 
498
  msgid "Code %1$d: %2$s"
499
  msgstr ""
500
 
501
+ #: classes/Connector/wp-db-custom.php:212
502
  msgid "Error establishing a database connection"
503
  msgstr ""
504
 
505
+ #: classes/Connector/wp-db-custom.php:216
 
506
  #, php-format
507
  msgid ""
508
  "This either means that the username and password information in your %1$s "
510
  "This could mean your host&#8217;s database server is down."
511
  msgstr ""
512
 
513
+ #: classes/Connector/wp-db-custom.php:222
514
  msgid "Are you sure you have the correct username and password?"
515
  msgstr ""
516
 
517
+ #: classes/Connector/wp-db-custom.php:223
518
  msgid "Are you sure that you have typed the correct hostname?"
519
  msgstr ""
520
 
521
+ #: classes/Connector/wp-db-custom.php:224
522
  msgid "Are you sure that the database server is running?"
523
  msgstr ""
524
 
525
+ #: classes/Connector/wp-db-custom.php:229
 
526
  #, php-format
527
  msgid ""
528
  "If you&#8217;re unsure what these terms mean you should probably contact "
530
  "\">WordPress Support Forums</a>."
531
  msgstr ""
532
 
533
+ #: classes/Connector/wp-db-custom.php:230
534
  msgid "https://wordpress.org/support/"
535
  msgstr ""
536
 
537
+ #: classes/Connector/wp-db-custom.php:283
538
  msgid "Can&#8217;t select database"
539
  msgstr ""
540
 
541
+ #: classes/Connector/wp-db-custom.php:287
 
542
  #, php-format
543
  msgid ""
544
  "We were able to connect to the database server (which means your username "
545
  "and password is okay) but not able to select the %s database."
546
  msgstr ""
547
 
548
+ #: classes/Connector/wp-db-custom.php:292
549
  msgid "Are you sure it exists?"
550
  msgstr ""
551
 
552
+ #: classes/Connector/wp-db-custom.php:296
 
553
  #, php-format
554
  msgid "Does the user %1$s have permission to use the %2$s database?"
555
  msgstr ""
556
 
557
+ #: classes/Connector/wp-db-custom.php:303
 
558
  #, php-format
559
  msgid ""
560
  "On some systems the name of your database is prefixed with your username, so "
561
  "it would be like <code>username_%1$s</code>. Could that be the problem?"
562
  msgstr ""
563
 
564
+ #: classes/Connector/wp-db-custom.php:311
 
565
  #, php-format
566
  msgid ""
567
  "If you don&#8217;t know how to set up a database you should <strong>contact "
569
  "\">WordPress Support Forums</a>."
570
  msgstr ""
571
 
572
+ #: classes/Connector/wp-db-custom.php:312
573
  msgid "https://wordpress.org/support/forums/"
574
  msgstr ""
575
 
576
  #: classes/ConstantManager.php:152 classes/ConstantManager.php:158
577
+ #: classes/Views/ToggleAlerts.php:450 classes/Views/ToggleAlerts.php:456
578
  msgid "Critical"
579
  msgstr ""
580
 
581
+ #: classes/ConstantManager.php:154 classes/Views/ToggleAlerts.php:452
582
  msgid "Warning"
583
  msgstr ""
584
 
585
+ #: classes/ConstantManager.php:156 classes/Views/ToggleAlerts.php:454
586
+ #: classes/Views/ToggleAlerts.php:466
587
  msgid "Notification"
588
  msgstr ""
589
 
590
+ #: classes/ConstantManager.php:160 classes/Views/ToggleAlerts.php:458
591
  msgid "High"
592
  msgstr ""
593
 
594
+ #: classes/ConstantManager.php:162 classes/Views/ToggleAlerts.php:460
595
  msgid "Medium"
596
  msgstr ""
597
 
598
+ #: classes/ConstantManager.php:164 classes/Views/ToggleAlerts.php:462
599
  msgid "Low"
600
  msgstr ""
601
 
602
+ #: classes/ConstantManager.php:166 classes/Views/ToggleAlerts.php:464
603
  msgid "Informational"
604
  msgstr ""
605
 
620
  msgid "BBPress"
621
  msgstr ""
622
 
623
+ #: classes/Models/Occurrence.php:208
624
+ msgid "WFCM"
625
+ msgstr ""
626
+
627
+ #: classes/Models/Occurrence.php:230
628
  #, php-format
629
  msgid ""
630
  "Alert message was not available, this may have been a custom alert that no "
632
  msgstr ""
633
 
634
  #: classes/Sensors/Content.php:996 classes/Sensors/Content.php:1004
635
+ #: classes/Sensors/WooCommerce.php:606 classes/Sensors/WooCommerce.php:614
636
  msgid "Password Protected"
637
  msgstr ""
638
 
639
  #: classes/Sensors/Content.php:998 classes/Sensors/Content.php:1006
640
+ #: classes/Sensors/WooCommerce.php:610 classes/Sensors/WooCommerce.php:618
641
  msgid "Private"
642
  msgstr ""
643
 
644
  #: classes/Sensors/Content.php:1000 classes/Sensors/Content.php:1008
645
+ #: classes/Sensors/WooCommerce.php:608 classes/Sensors/WooCommerce.php:616
646
  msgid "Public"
647
  msgstr ""
648
 
649
  #: classes/Sensors/FrontendWooCommerce.php:209 classes/Sensors/Public.php:394
650
+ #: classes/Sensors/WooCommerce.php:2172
651
  msgid "In stock"
652
  msgstr ""
653
 
654
  #: classes/Sensors/FrontendWooCommerce.php:211 classes/Sensors/Public.php:396
655
+ #: classes/Sensors/WooCommerce.php:2174
656
  msgid "Out of stock"
657
  msgstr ""
658
 
659
  #: classes/Sensors/FrontendWooCommerce.php:213 classes/Sensors/Public.php:398
660
+ #: classes/Sensors/WooCommerce.php:2176
661
  msgid "On backorder"
662
  msgstr ""
663
 
664
+ #: classes/Sensors/WooCommerce.php:1805 classes/Sensors/WooCommerce.php:1839
665
+ #: classes/Sensors/WooCommerce.php:1885
666
  msgid "None, "
667
  msgstr ""
668
 
669
+ #: classes/Sensors/WooCommerce.php:1814 classes/Sensors/WooCommerce.php:1848
670
+ #: classes/Sensors/WooCommerce.php:1894
671
  msgid "None"
672
  msgstr ""
673
 
674
+ #: classes/Sensors/WooCommerce.php:3083
675
  msgid "Visible"
676
  msgstr ""
677
 
678
+ #: classes/Sensors/WooCommerce.php:3083
679
  msgid "Non-Visible"
680
  msgstr ""
681
 
682
+ #: classes/Settings.php:473
683
  msgid "This function is deprecated"
684
  msgstr ""
685
 
686
+ #: classes/Settings.php:1602
687
  msgid "View the content changes"
688
  msgstr ""
689
 
690
+ #: classes/Settings.php:1607 classes/Settings.php:1613
691
  msgid "View post in the editor"
692
  msgstr ""
693
 
694
+ #: classes/Settings.php:1610
695
  msgid "View Order"
696
  msgstr ""
697
 
698
+ #: classes/Settings.php:1618
699
  msgid "View category"
700
  msgstr ""
701
 
702
+ #: classes/Settings.php:1621
703
  msgid "View tag"
704
  msgstr ""
705
 
706
+ #: classes/Settings.php:1625
707
  msgid "User profile page"
708
  msgstr ""
709
 
710
+ #: classes/Settings.php:1738
711
  msgid "Increase maximum file size limit"
712
  msgstr ""
713
 
714
+ #: classes/Settings.php:1741
715
  msgid "Contact Support"
716
  msgstr ""
717
 
718
+ #: classes/Settings.php:1981
719
  msgid "plugin settings"
720
  msgstr ""
721
 
722
+ #: classes/Settings.php:1984
723
  msgid "contact our support"
724
  msgstr ""
725
 
726
+ #: classes/Settings.php:2190
727
  msgid "Root directory of WordPress (excluding sub directories)"
728
  msgstr ""
729
 
730
+ #: classes/Settings.php:2191
731
  msgid "WP Admin directory (/wp-admin/)"
732
  msgstr ""
733
 
734
+ #: classes/Settings.php:2192
735
  msgid "WP Includes directory (/wp-includes/)"
736
  msgstr ""
737
 
738
+ #: classes/Settings.php:2193
739
  msgid ""
740
  "/wp-content/ directory (excluding plugins, themes & uploads directories)"
741
  msgstr ""
742
 
743
+ #: classes/Settings.php:2194
744
  msgid "Themes directory (/wp-content/themes/)"
745
  msgstr ""
746
 
747
+ #: classes/Settings.php:2195
748
  msgid "Plugins directory (/wp-content/plugins/)"
749
  msgstr ""
750
 
751
+ #: classes/Settings.php:2196
752
  msgid "Uploads directory (/wp-content/uploads/)"
753
  msgstr ""
754
 
755
+ #: classes/Settings.php:2201
756
  msgid ""
757
  "Uploads directory of all sub sites on this network (/wp-content/sites/*)"
758
  msgstr ""
775
 
776
  #: classes/Utilities/PluginInstallAndActivate.php:79
777
  msgid ""
778
+ "WP Activity Log can keep a log of changes done on other plugins. Install the "
779
+ "relevant extension from the below list to keep a log of changes done on that "
780
+ "plugin."
781
  msgstr ""
782
 
783
+ #: classes/Utilities/PluginInstallAndActivate.php:100
784
+ #: classes/Views/SetupWizard.php:870
785
  msgid "Extension for "
786
  msgstr ""
787
 
788
+ #: classes/Utilities/PluginInstallAndActivate.php:105
789
+ #: classes/Views/SetupWizard.php:875
790
  msgid "Extension installed, activate now?"
791
  msgstr ""
792
 
793
+ #: classes/Utilities/PluginInstallAndActivate.php:107
794
+ #: classes/Views/SetupWizard.php:274 classes/Views/SetupWizard.php:877
795
+ #: wp-security-audit-log.php:1168
796
  msgid "Extension installed"
797
  msgstr ""
798
 
799
+ #: classes/Utilities/PluginInstallAndActivate.php:109
800
+ #: classes/Views/AuditLog.php:275 classes/Views/SetupWizard.php:879
801
  msgid "Install Extension"
802
  msgstr ""
803
 
805
  msgid "Tried to install a zip or slug that was not in the allowed list"
806
  msgstr ""
807
 
808
+ #: classes/ViewManager.php:155
809
+ msgid ""
810
+ "WP Activity Log requires Website File Changes Monitor 1.6.0. Please upgrade "
811
+ "that plugin."
812
+ msgstr ""
813
+
814
+ #: classes/ViewManager.php:292
815
  msgid "Free Premium Trial"
816
  msgstr ""
817
 
818
+ #: classes/ViewManager.php:523 classes/Views/Settings.php:226
819
+ #: classes/Views/Settings.php:1992 classes/Views/Settings.php:2021
820
  #: classes/Views/SetupWizard.php:83
821
  msgid "Access Denied."
822
  msgstr ""
823
 
824
+ #: classes/ViewManager.php:554
825
  msgid "Log count parameter expected."
826
  msgstr ""
827
 
828
+ #: classes/ViewManager.php:562 classes/Views/AuditLog.php:808
829
  #: classes/Views/AuditLog.php:885 classes/Views/AuditLog.php:911
830
  #: classes/Views/AuditLog.php:1231 classes/Views/AuditLog.php:1301
831
+ #: classes/Views/Settings.php:241 classes/Views/Settings.php:1904
832
+ #: classes/Views/Settings.php:1932 classes/Views/Settings.php:1962
 
 
 
 
833
  #: classes/Views/SetupWizard.php:96
834
  msgid "Nonce verification failed."
835
  msgstr ""
862
  msgstr ""
863
 
864
  #: classes/Views/AuditLog.php:108
865
+ msgid "Unlock these and other powerful features with WP Activity Log Premium."
 
866
  msgstr ""
867
 
868
  #: classes/Views/AuditLog.php:186
916
  msgid "No, thank you"
917
  msgstr ""
918
 
 
 
 
 
919
  #: classes/Views/AuditLog.php:278
920
+ msgid "Install Extensions"
921
  msgstr ""
922
 
923
  #: classes/Views/AuditLog.php:290
928
  msgid "installed. Keep a log of changes in"
929
  msgstr ""
930
 
931
+ #: classes/Views/AuditLog.php:352 classes/Views/Settings.php:92
932
+ msgid "Activity Log Viewer"
933
+ msgstr ""
934
+
935
+ #: classes/Views/AuditLog.php:379
936
+ msgid "Log Viewer"
937
  msgstr ""
938
 
939
+ #: classes/Views/AuditLog.php:534 classes/Views/Settings.php:332
940
  #: classes/Views/ToggleAlerts.php:140
941
  msgid "You do not have sufficient permissions to access this page."
942
  msgstr ""
943
 
944
  #: classes/Views/AuditLog.php:582
945
  msgid ""
946
+ "Thank you for installing WP Activity Log. Do you want to run the wizard to "
947
+ "configure the basic plugin settings?"
948
  msgstr ""
949
 
950
+ #: classes/Views/AuditLog.php:584 classes/Views/Settings.php:535
951
+ #: classes/Views/Settings.php:562 classes/Views/Settings.php:628
952
+ #: classes/Views/Settings.php:686 classes/Views/Settings.php:1181
953
+ #: classes/Views/Settings.php:1607 classes/Views/Settings.php:1668
954
+ #: classes/Views/Settings.php:1696 classes/Views/Settings.php:1717
955
+ #: classes/Views/Settings.php:1727 classes/Views/SetupWizard.php:565
956
+ #: classes/Views/SetupWizard.php:613
957
  msgid "Yes"
958
  msgstr ""
959
 
960
+ #: classes/Views/AuditLog.php:585 classes/Views/Settings.php:540
961
+ #: classes/Views/Settings.php:567 classes/Views/Settings.php:658
962
+ #: classes/Views/Settings.php:696 classes/Views/Settings.php:1186
963
+ #: classes/Views/Settings.php:1612 classes/Views/Settings.php:1675
964
+ #: classes/Views/Settings.php:1703 classes/Views/Settings.php:1718
965
+ #: classes/Views/Settings.php:1728 classes/Views/SetupWizard.php:570
966
+ #: classes/Views/SetupWizard.php:618
967
  msgid "No"
968
  msgstr ""
969
 
1173
 
1174
  #: classes/Views/Help.php:178
1175
  msgid ""
1176
+ "Getting started with WP Activity Log is really easy; once the plugin is "
1177
+ "installed it will automatically keep a log of everything that is happening "
1178
+ "on your website and you do not need to do anything. Watch the video below "
1179
+ "for a quick overview of the plugin."
1180
  msgstr ""
1181
 
1182
  #: classes/Views/Help.php:182
1209
 
1210
  #: classes/Views/Help.php:195
1211
  msgid ""
1212
+ "For more technical information about the WP Activity Log plugin please visit "
1213
+ "the plugin’s knowledge base."
1214
  msgstr ""
1215
 
1216
  #: classes/Views/Help.php:196
1250
 
1251
  #: classes/Views/Help.php:210
1252
  msgid ""
1253
+ "Therefore if you like what you see, and find WP Activity Log useful we ask "
1254
+ "you nothing more than to please rate our plugin."
1255
  msgstr ""
1256
 
1257
  #: classes/Views/Help.php:211
1448
  "just a single click."
1449
  msgstr ""
1450
 
1451
+ #: classes/Views/Settings.php:85
1452
  msgid "General"
1453
  msgstr ""
1454
 
1455
+ #: classes/Views/Settings.php:99 classes/Views/ToggleAlerts.php:330
1456
+ #: classes/Views/ToggleAlerts.php:442 defaults.php:574
1457
+ msgid "File Changes"
 
 
 
1458
  msgstr ""
1459
 
1460
+ #: classes/Views/Settings.php:105
1461
  msgid "Exclude Objects"
1462
  msgstr ""
1463
 
1464
+ #: classes/Views/Settings.php:112
1465
  msgid "Import/Export"
1466
  msgstr ""
1467
 
1468
+ #: classes/Views/Settings.php:119
1469
  msgid "Advanced Settings"
1470
  msgstr ""
1471
 
1472
+ #: classes/Views/Settings.php:167 classes/Views/Settings.php:181
1473
  msgid "Settings"
1474
  msgstr ""
1475
 
1476
+ #: classes/Views/Settings.php:208
1477
  msgid "Current user is not allowed to save settings."
1478
  msgstr ""
1479
 
1480
+ #: classes/Views/Settings.php:214
1481
  msgid "Unknown settings tab."
1482
  msgstr ""
1483
 
1484
+ #: classes/Views/Settings.php:251 classes/Views/SetupWizard.php:106
1485
  msgid "Invalid input."
1486
  msgstr ""
1487
 
1488
+ #: classes/Views/Settings.php:344
1489
  msgid "Message sent successfully."
1490
  msgstr ""
1491
 
1492
+ #: classes/Views/Settings.php:348 classes/Views/ToggleAlerts.php:157
1493
  msgid "Settings have been saved."
1494
  msgstr ""
1495
 
1496
+ #: classes/Views/Settings.php:354 classes/Views/ToggleAlerts.php:163
1497
  msgid "Error: "
1498
  msgstr ""
1499
 
1500
+ #: classes/Views/Settings.php:366
1501
  msgid "Old data successfully purged."
1502
  msgstr ""
1503
 
1504
+ #: classes/Views/Settings.php:372
1505
  msgid "No data is old enough to be purged."
1506
  msgstr ""
1507
 
1508
+ #: classes/Views/Settings.php:403
1509
  msgid "Send Message"
1510
  msgstr ""
1511
 
1512
+ #: classes/Views/Settings.php:454
1513
  msgid ""
1514
  "Need help with setting up the plugin to meet your requirements? <a href="
1515
  "\"https://wpactivitylog.com/contact/?"
1518
  "call</a> with our experts for just $50."
1519
  msgstr ""
1520
 
1521
+ #: classes/Views/Settings.php:456
1522
  msgid "Use infinite scroll or pagination for the event viewer?"
1523
  msgstr ""
1524
 
1525
+ #: classes/Views/Settings.php:461
 
1526
  #, php-format
1527
  msgid ""
1528
  "When using infinite scroll the event viewer and search results %s load up "
1529
  "much faster and require less resources."
1530
  msgstr ""
1531
 
1532
+ #: classes/Views/Settings.php:462
1533
  msgid "(Premium feature)"
1534
  msgstr ""
1535
 
1536
+ #: classes/Views/Settings.php:469
1537
  msgid "Select event viewer view type:"
1538
  msgstr ""
1539
 
1540
+ #: classes/Views/Settings.php:474
1541
  msgid "Infinite Scroll (Recommended)"
1542
  msgstr ""
1543
 
1544
+ #: classes/Views/Settings.php:479
1545
  msgid "Pagination"
1546
  msgstr ""
1547
 
1548
+ #: classes/Views/Settings.php:490
1549
  msgid "Do you want the activity log viewer to auto refresh?"
1550
  msgstr ""
1551
 
1552
+ #: classes/Views/Settings.php:491
1553
  msgid ""
1554
  "The activity log viewer auto refreshes every 30 seconds when opened so you "
1555
  "can see the latest events as they happen almost in real time."
1556
  msgstr ""
1557
 
1558
+ #: classes/Views/Settings.php:495
1559
  msgid "Refresh Audit Log Viewer"
1560
  msgstr ""
1561
 
1562
+ #: classes/Views/Settings.php:501
1563
  msgid "Auto refresh"
1564
  msgstr ""
1565
 
1566
+ #: classes/Views/Settings.php:506
1567
  msgid "Do not auto refresh"
1568
  msgstr ""
1569
 
1570
+ #: classes/Views/Settings.php:516
1571
  msgid "Display latest events widget in Dashboard & Admin bar"
1572
  msgstr ""
1573
 
1574
+ #: classes/Views/Settings.php:521
 
1575
  #, php-format
1576
  msgid ""
1577
  "The events widget displays the latest %d security events in the dashboard "
1578
  "and the admin bar notification displays the latest event."
1579
  msgstr ""
1580
 
1581
+ #: classes/Views/Settings.php:529
1582
  msgid "Dashboard Widget"
1583
  msgstr ""
1584
 
1585
+ #: classes/Views/Settings.php:550
1586
  msgid "Admin Bar Notification"
1587
  msgstr ""
1588
 
1589
+ #: classes/Views/Settings.php:553
1590
  msgid "Admin Bar Notification (Premium)"
1591
  msgstr ""
1592
 
1593
+ #: classes/Views/Settings.php:577
1594
  msgid "Admin Bar Notification Updates"
1595
  msgstr ""
1596
 
1597
+ #: classes/Views/Settings.php:580
1598
  msgid "Admin Bar Notification Updates (Premium)"
1599
  msgstr ""
1600
 
1601
+ #: classes/Views/Settings.php:589
1602
  msgid "Update in near real time"
1603
  msgstr ""
1604
 
1605
+ #: classes/Views/Settings.php:594
1606
  msgid "Update only on page refreshes"
1607
  msgstr ""
1608
 
1609
+ #: classes/Views/Settings.php:604
1610
  msgid "Add user notification on the WordPress login page"
1611
  msgstr ""
1612
 
1613
+ #: classes/Views/Settings.php:605
1614
  msgid ""
1615
  "Many compliance regulations (such as the GDPR) require website "
1616
  "administrators to tell the users of their website that all the changes they "
1617
  "do when logged in are being logged."
1618
  msgstr ""
1619
 
1620
+ #: classes/Views/Settings.php:609
1621
  msgid "Login Page Notification"
1622
  msgstr ""
1623
 
1624
+ #: classes/Views/Settings.php:634
1625
  msgid ""
1626
  "For security and auditing purposes, a record of all of your logged-in "
1627
  "actions and changes within the WordPress dashboard will be recorded in an "
1628
  "audit log with the <a href=\"https://wpactivitylog.com/?"
1629
  "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
1630
+ "+pages\" target=\"_blank\">WP Activity Log plugin</a>. The audit log also "
1631
+ "includes the IP address where you accessed this site from."
1632
  msgstr ""
1633
 
1634
+ #: classes/Views/Settings.php:652
1635
  msgid "<strong>Note: </strong>"
1636
  msgstr ""
1637
 
1638
+ #: classes/Views/Settings.php:652
1639
  msgid ""
1640
  "The only HTML code allowed in the login page notification is for links ( < a "
1641
  "href >< /a > )."
1642
  msgstr ""
1643
 
1644
+ #: classes/Views/Settings.php:668
1645
  msgid "Is your website running behind a firewall or reverse proxy?"
1646
  msgstr ""
1647
 
1648
+ #: classes/Views/Settings.php:673
 
1649
  #, php-format
1650
  msgid ""
1651
  "If your website is running behind a firewall set this option to yes so the "
1652
  "plugin retrieves the end user’s IP address from the proxy header - %s."
1653
  msgstr ""
1654
 
1655
+ #: classes/Views/Settings.php:674 classes/Views/Settings.php:720
1656
+ #: classes/Views/Settings.php:771
1657
  msgid "learn more"
1658
  msgstr ""
1659
 
1660
+ #: classes/Views/Settings.php:681
1661
  msgid "Reverse Proxy / Firewall Options"
1662
  msgstr ""
1663
 
1664
+ #: classes/Views/Settings.php:691
1665
  msgid ""
1666
  "Filter internal IP addresses from the proxy headers. Enable this option only "
1667
  "if you are\tare still seeing the internal IP addresses of the firewall or "
1668
  "proxy."
1669
  msgstr ""
1670
 
1671
+ #: classes/Views/Settings.php:707
1672
  msgid "Who can change the plugin settings?"
1673
  msgstr ""
1674
 
1675
+ #: classes/Views/Settings.php:719
 
1676
  #, php-format
1677
  msgid ""
1678
  "By default only users with administrator role (single site) and super "
1680
  "you can restrict the privileges to just your user - %s."
1681
  msgstr ""
1682
 
1683
+ #: classes/Views/Settings.php:729
1684
  msgid "Restrict Plugin Access"
1685
  msgstr ""
1686
 
1687
+ #: classes/Views/Settings.php:735
1688
  msgid "Only me"
1689
  msgstr ""
1690
 
1691
+ #: classes/Views/Settings.php:742
1692
  msgid "Only superadmins"
1693
  msgstr ""
1694
 
1695
+ #: classes/Views/Settings.php:744
1696
  msgid "Only administrators"
1697
  msgstr ""
1698
 
1699
+ #: classes/Views/Settings.php:758
1700
  msgid "Allow other users to view the activity log"
1701
  msgstr ""
1702
 
1703
+ #: classes/Views/Settings.php:770
 
1704
  #, php-format
1705
  msgid ""
1706
  "By default only users with administrator and super administrator (multisite) "
1708
  "with no admin role to view the events - %s."
1709
  msgstr ""
1710
 
1711
+ #: classes/Views/Settings.php:780
1712
  msgid "Can View Events"
1713
  msgstr ""
1714
 
1715
+ #: classes/Views/Settings.php:788
1716
  msgid ""
1717
  "Specify the username or the users which do not have an admin role but can "
1718
  "also see the WordPress activity role. You can also specify roles."
1719
  msgstr ""
1720
 
1721
+ #: classes/Views/Settings.php:814
1722
  msgid "Which email address should the plugin use as a from address?"
1723
  msgstr ""
1724
 
1725
+ #: classes/Views/Settings.php:815
1726
  msgid ""
1727
  "By default when the plugin sends an email notification it uses the email "
1728
  "address specified in this website’s general settings. Though you can change "
1729
  "the email address and display name from this section."
1730
  msgstr ""
1731
 
1732
+ #: classes/Views/Settings.php:819
1733
  msgid "From Email & Name"
1734
  msgstr ""
1735
 
1736
+ #: classes/Views/Settings.php:825
1737
  msgid "Use the email address from the WordPress general settings"
1738
  msgstr ""
1739
 
1740
+ #: classes/Views/Settings.php:830
1741
  msgid "Use another email address"
1742
  msgstr ""
1743
 
1744
+ #: classes/Views/Settings.php:834
1745
  msgid "Email Address"
1746
  msgstr ""
1747
 
1748
+ #: classes/Views/Settings.php:839
1749
  msgid "Display Name"
1750
  msgstr ""
1751
 
1752
+ #: classes/Views/Settings.php:850
1753
  msgid "Do you want to hide the plugin from the list of installed plugins?"
1754
  msgstr ""
1755
 
1756
+ #: classes/Views/Settings.php:851
1757
  msgid ""
1758
  "By default all installed plugins are listed in the plugins page. If you do "
1759
  "not want other administrators to see that you installed this plugin set this "
1760
+ "option to Yes so the WP Activity Log is not listed as an installed plugin on "
1761
+ "this website."
1762
  msgstr ""
1763
 
1764
+ #: classes/Views/Settings.php:855
1765
  msgid "Hide Plugin in Plugins Page"
1766
  msgstr ""
1767
 
1768
+ #: classes/Views/Settings.php:860
1769
  msgid "Yes, hide the plugin from the list of installed plugins"
1770
  msgstr ""
1771
 
1772
+ #: classes/Views/Settings.php:865
1773
  msgid "No, do not hide the plugin"
1774
  msgstr ""
1775
 
1776
+ #: classes/Views/Settings.php:935
1777
  msgid ""
1778
  "For how long do you want to keep the activity log events (Retention "
1779
  "settings) ?"
1780
  msgstr ""
1781
 
1782
+ #: classes/Views/Settings.php:938
1783
  msgid ""
1784
  "The plugin uses an efficient way to store the activity log data in the "
1785
  "WordPress database, though the more data you keep the more disk space will "
1786
  "be required. "
1787
  msgstr ""
1788
 
1789
+ #: classes/Views/Settings.php:939
1790
  msgid ""
1791
  "<a href=\"https://wpactivitylog.com/pricing/?"
1792
  "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
1794
  "data in an external database."
1795
  msgstr ""
1796
 
1797
+ #: classes/Views/Settings.php:957
 
1798
  #, php-format
1799
  msgid ""
1800
  "Retention settings moved to %1$s archiving settings %2$s because archiving "
1801
  "is enabled"
1802
  msgstr ""
1803
 
1804
+ #: classes/Views/Settings.php:964
1805
  msgid "Audit Log Retention"
1806
  msgstr ""
1807
 
1808
+ #: classes/Views/Settings.php:970
1809
  msgid "Keep all data"
1810
  msgstr ""
1811
 
1812
+ #: classes/Views/Settings.php:997
1813
  msgid "Delete events older than"
1814
  msgstr ""
1815
 
1816
+ #: classes/Views/Settings.php:1004
1817
  msgid "Months"
1818
  msgstr ""
1819
 
1820
+ #: classes/Views/Settings.php:1005
1821
  msgid "Years"
1822
  msgstr ""
1823
 
1824
+ #: classes/Views/Settings.php:1013
1825
  msgid "The next scheduled purging of activity log data that is older than "
1826
  msgstr ""
1827
 
1828
+ #: classes/Views/Settings.php:1020
1829
  msgid "You can run the purging process now by clicking the button below."
1830
  msgstr ""
1831
 
1832
+ #: classes/Views/Settings.php:1024
1833
  msgid "Purge Old Data"
1834
  msgstr ""
1835
 
1836
+ #: classes/Views/Settings.php:1035
1837
  msgid "What timestamp you would like to see in the WordPress activity log?"
1838
  msgstr ""
1839
 
1840
+ #: classes/Views/Settings.php:1036
1841
  msgid ""
1842
  "Note that the WordPress' timezone might be different from that configured on "
1843
  "the server so when you switch from UTC to WordPress timezone or vice versa "
1844
  "you might notice a big difference."
1845
  msgstr ""
1846
 
1847
+ #: classes/Views/Settings.php:1040
1848
  msgid "Events Timestamp"
1849
  msgstr ""
1850
 
1851
+ #: classes/Views/Settings.php:1060
1852
  msgid "UTC"
1853
  msgstr ""
1854
 
1855
+ #: classes/Views/Settings.php:1066
1856
  msgid "Timezone configured on this WordPress website"
1857
  msgstr ""
1858
 
1859
+ #: classes/Views/Settings.php:1073
1860
  msgid "Show Milliseconds"
1861
  msgstr ""
1862
 
1863
+ #: classes/Views/Settings.php:1089
1864
  msgid "Show Milliseconds in list view"
1865
  msgstr ""
1866
 
1867
+ #: classes/Views/Settings.php:1099
1868
  msgid ""
1869
  "What user information should be displayed in the WordPress activity log?"
1870
  msgstr ""
1871
 
1872
+ #: classes/Views/Settings.php:1100
1873
  msgid ""
1874
  "Usernames might not be the same as a user's first and last name so it can be "
1875
  "difficult to recognize whose user was that did a change. When there is no "
1877
  "back to the WordPress username."
1878
  msgstr ""
1879
 
1880
+ #: classes/Views/Settings.php:1104
1881
  msgid "User Information in Audit Log"
1882
  msgstr ""
1883
 
1884
+ #: classes/Views/Settings.php:1110
1885
  msgid "WordPress Username"
1886
  msgstr ""
1887
 
1888
+ #: classes/Views/Settings.php:1115
1889
  msgid "First Name & Last Name"
1890
  msgstr ""
1891
 
1892
+ #: classes/Views/Settings.php:1120
1893
  msgid "Configured Public Display Name"
1894
  msgstr ""
1895
 
1896
+ #: classes/Views/Settings.php:1130
1897
  msgid "Select the columns to be displayed in the WordPress activity log"
1898
  msgstr ""
1899
 
1900
+ #: classes/Views/Settings.php:1131
1901
  msgid ""
1902
  "When you deselect a column it won’t be shown in the activity log viewer in "
1903
  "both views. The data will still be recorded by the plugin."
1904
  msgstr ""
1905
 
1906
+ #: classes/Views/Settings.php:1135
1907
  msgid "Audit Log Columns Selection"
1908
  msgstr ""
1909
 
1910
+ #: classes/Views/Settings.php:1144
1911
  msgid "Event ID"
1912
  msgstr ""
1913
 
1914
+ #: classes/Views/Settings.php:1148
1915
  msgid "Date & Time"
1916
  msgstr ""
1917
 
1918
+ #: classes/Views/Settings.php:1152
1919
  msgid "Source IP Address"
1920
  msgstr ""
1921
 
1922
+ #: classes/Views/Settings.php:1154
1923
  msgid "Info (used in Grid view mode only)"
1924
  msgstr ""
1925
 
1926
+ #: classes/Views/Settings.php:1169
1927
  msgid "Do you want to keep a log of WordPress background activity?"
1928
  msgstr ""
1929
 
1930
+ #: classes/Views/Settings.php:1171
1931
  msgid ""
1932
  "WordPress does a lot of things in the background that you do not necessarily "
1933
  "need to know about, such as; deletion of post revisions, deletion of auto "
1935
  "might be a lot and are irrelevant to the user."
1936
  msgstr ""
1937
 
1938
+ #: classes/Views/Settings.php:1176
1939
  msgid "Enable Events for WordPress Background Activity"
1940
  msgstr ""
1941
 
1942
+ #: classes/Views/Settings.php:1235 classes/Views/ToggleAlerts.php:563
1943
+ msgid "Website File Changes Monitor"
 
 
 
1944
  msgstr ""
1945
 
1946
+ #: classes/Views/Settings.php:1236 classes/Views/ToggleAlerts.php:564
1947
  msgid ""
1948
+ "To keep a log of file changes please install Website File Changes Monitor, a "
1949
+ "plugin which is also developed by us."
 
 
 
1950
  msgstr ""
1951
 
1952
+ #: classes/Views/Settings.php:1237 classes/Views/ToggleAlerts.php:565
1953
+ msgid "Install plugin now"
1954
  msgstr ""
1955
 
1956
+ #: classes/Views/Settings.php:1237 classes/Views/ToggleAlerts.php:565
1957
+ msgid "Learn More"
1958
  msgstr ""
1959
 
1960
+ #: classes/Views/Settings.php:1251
1961
+ msgid "Configure how often file changes scan run and other settings from the"
 
1962
  msgstr ""
1963
 
1964
+ #: classes/Views/Settings.php:1251
1965
+ msgid "Website File Changes plugin settings"
1966
+ msgstr ""
1967
+
1968
+ #: classes/Views/Settings.php:1266
1969
  msgid ""
1970
+ "By default the plugin keeps a log of all user changes done on your WordPress "
1971
+ "website. Use the setting below to exclude any objects from the activity log. "
1972
+ "When an object is excluded from the activity log, any event in which that "
1973
+ "object is referred will not be logged in the activity log."
1974
  msgstr ""
1975
 
1976
+ #: classes/Views/Settings.php:1270
1977
+ msgid "Exclude Users:"
1978
  msgstr ""
1979
 
1980
+ #: classes/Views/Settings.php:1291
1981
+ msgid "Exclude Roles:"
1982
  msgstr ""
1983
 
1984
+ #: classes/Views/Settings.php:1312
1985
+ msgid "Exclude IP Address(es):"
1986
  msgstr ""
1987
 
1988
+ #: classes/Views/Settings.php:1328
1989
  msgid ""
1990
+ "You can exclude an individual IP address or a range of IP addresses. To "
1991
+ "exclude a range use the following format: [first IP]-[last octet of the last "
1992
+ "IP]. Example: 172.16.180.6-127."
 
 
 
1993
  msgstr ""
1994
 
1995
+ #: classes/Views/Settings.php:1334
1996
+ msgid "Exclude Post Type:"
1997
  msgstr ""
1998
 
1999
+ #: classes/Views/Settings.php:1350
2000
+ msgid ""
2001
+ "WordPress has the post and page post types by default though your website "
2002
+ "might use more post types (custom post types). You can exclude all post "
2003
+ "types, including the default WordPress ones."
2004
  msgstr ""
2005
 
2006
+ #: classes/Views/Settings.php:1356
2007
+ msgid "Exclude Custom Fields:"
2008
  msgstr ""
2009
 
2010
+ #: classes/Views/Settings.php:1372
2011
+ msgid ""
2012
+ "You can use the * wildcard to exclude multiple matching custom fields. For "
2013
+ "example to exclude all custom fields starting with wp123 enter wp123*"
2014
  msgstr ""
2015
 
2016
+ #: classes/Views/Settings.php:1378
2017
+ msgid "Exclude Non-Existing URLs:"
2018
  msgstr ""
2019
 
2020
+ #: classes/Views/Settings.php:1394
2021
+ msgid ""
2022
+ "Add the non existing URLs for which you do not want to be alerted of HTTP "
2023
+ "404 errors in the activity log by specifying the complete URL.\tExamples "
2024
+ "below:"
2025
  msgstr ""
2026
 
2027
+ #: classes/Views/Settings.php:1394
2028
+ msgid "File: "
2029
  msgstr ""
2030
 
2031
+ #: classes/Views/Settings.php:1394
2032
+ msgid "Directory: "
2033
  msgstr ""
2034
 
2035
+ #: classes/Views/Settings.php:1427
2036
+ msgid ""
2037
+ "You can export and import the plugin settings from here, which can also be "
2038
+ "used as a plugin configuration backup. The plugin settings are exported to a "
2039
+ "JSON file."
2040
  msgstr ""
2041
 
2042
+ #: classes/Views/Settings.php:1428 classes/Views/Settings.php:1432
2043
+ #: classes/Views/Settings.php:1455
2044
+ msgid "Export Settings"
2045
  msgstr ""
2046
 
2047
+ #: classes/Views/Settings.php:1462 classes/Views/Settings.php:1466
2048
+ #: classes/Views/Settings.php:1470
2049
+ msgid "Import Settings"
2050
  msgstr ""
2051
 
2052
+ #: classes/Views/Settings.php:1522
2053
+ msgid "Current user is not allowed to import files."
2054
  msgstr ""
2055
 
2056
+ #: classes/Views/Settings.php:1541
2057
+ msgid "The plugin settings have been imported successfully."
2058
  msgstr ""
2059
 
2060
+ #: classes/Views/Settings.php:1543
2061
+ msgid "No settings found to import."
2062
  msgstr ""
2063
 
2064
+ #: classes/Views/Settings.php:1546
2065
+ msgid "Invalid file or file size is too large."
2066
  msgstr ""
2067
 
2068
+ #: classes/Views/Settings.php:1549
2069
+ msgid "Error occurred while uploading the file."
2070
  msgstr ""
2071
 
2072
+ #: classes/Views/Settings.php:1560
2073
+ msgid "These settings are for advanced users."
2074
  msgstr ""
2075
 
2076
+ #: classes/Views/Settings.php:1561
2077
+ msgid ""
2078
+ "If you have any questions <a href=\"https://wpactivitylog.com/contact/?"
2079
+ "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
2080
+ "+pages\" target=\"_blank\">contact us</a>."
2081
  msgstr ""
2082
 
2083
+ #: classes/Views/Settings.php:1564
2084
+ msgid "Where do you want to save the log files?"
2085
  msgstr ""
2086
 
2087
+ #: classes/Views/Settings.php:1565
2088
+ msgid ""
2089
+ "The plugin uses a number of log files. It uses these log files to keep a log "
2090
+ "of 1) requests to non-existing URLs from logged in users (event ID 6007) and "
2091
+ "non-logged in users (6023), 2) the request log. Use the below setting to "
2092
+ "save the log files in different location. Please specify the relative path."
2093
  msgstr ""
2094
 
2095
+ #: classes/Views/Settings.php:1570
2096
+ msgid "Log files location"
2097
  msgstr ""
2098
 
2099
+ #: classes/Views/Settings.php:1581
2100
+ msgid ""
2101
+ "<strong>Note:</strong> Enter a path from the root of your website: eg \"/wp-"
2102
+ "content/uploads/wp-security-audit-log/\"."
2103
  msgstr ""
2104
 
2105
+ #: classes/Views/Settings.php:1594
2106
+ msgid ""
2107
+ "Troubleshooting setting: Keep a debug log of all the requests this website "
2108
+ "receives"
2109
  msgstr ""
2110
 
2111
+ #: classes/Views/Settings.php:1595
2112
+ msgid ""
2113
+ "Only enable the request log on testing, staging and development website. "
2114
+ "Never enable logging on a live website unless instructed to do so. Enabling "
2115
+ "request logging on a live website may degrade the performance of the website."
2116
  msgstr ""
2117
 
2118
+ #: classes/Views/Settings.php:1599
2119
+ msgid "Request Log"
2120
  msgstr ""
2121
 
2122
+ #: classes/Views/Settings.php:1617
2123
+ msgid ""
2124
+ "<strong>Note:</strong> The requests debug log file is saved as request.log."
2125
+ "php in the /wp-content/uploads/wp-security-audit-log/ directory."
2126
  msgstr ""
2127
 
2128
+ #: classes/Views/Settings.php:1629
2129
+ msgid "Reset plugin settings to default"
2130
  msgstr ""
2131
 
2132
+ #: classes/Views/Settings.php:1630
2133
+ msgid ""
2134
+ "Click the RESET button to reset ALL plugin settings to default. Note that "
2135
+ "the activity log data will be retained and only the plugin settings will be "
2136
+ "reset. To purge the data of the activity log use the setting below."
2137
  msgstr ""
2138
 
2139
+ #: classes/Views/Settings.php:1634
2140
+ msgid "Reset Settings"
2141
  msgstr ""
2142
 
2143
+ #: classes/Views/Settings.php:1636
2144
+ msgid "RESET"
2145
  msgstr ""
2146
 
2147
+ #: classes/Views/Settings.php:1642
2148
+ msgid "Purge the WordPress activity log"
2149
  msgstr ""
2150
 
2151
+ #: classes/Views/Settings.php:1643
2152
+ msgid ""
2153
+ "Click the Purge button below to delete all the data from the WordPress "
2154
+ "activity log and start afresh."
2155
  msgstr ""
2156
 
2157
+ #: classes/Views/Settings.php:1647
2158
+ msgid "Purge Activity Log"
2159
  msgstr ""
2160
 
2161
+ #: classes/Views/Settings.php:1649
2162
+ msgid "PURGE"
2163
  msgstr ""
2164
 
2165
+ #: classes/Views/Settings.php:1655
2166
+ msgid "MainWP Child Site Stealth Mode"
2167
  msgstr ""
2168
 
2169
+ #: classes/Views/Settings.php:1656
2170
+ msgid ""
2171
+ "This option is enabled automatically when the plugin detects the MainWP "
2172
+ "Child plugin on the site. When this setting is enabled plugin access is "
2173
+ "restricted to the administrator who installs the plugin, the plugin is not "
2174
+ "shown in the list of installed plugins and no admin notifications are shown. "
2175
+ "Disable this option to change the plugin to the default setup."
2176
  msgstr ""
2177
 
2178
+ #: classes/Views/Settings.php:1660
2179
+ msgid "Enable MainWP Child Site Stealth Mode"
2180
  msgstr ""
2181
 
2182
+ #: classes/Views/Settings.php:1684
2183
+ msgid "Do you want to delete the plugin data from the database upon uninstall?"
2184
  msgstr ""
2185
 
2186
+ #: classes/Views/Settings.php:1685
2187
+ msgid ""
2188
+ "The plugin saves the activity log data and settings in the WordPress "
2189
+ "database. By default upon uninstalling the plugin the data is kept in the "
2190
+ "database so if it is installed again, you can still access the data. If the "
2191
+ "data is deleted it is not possible to recover it so you won't be able to "
2192
+ "access it again even when you reinstall the plugin."
2193
  msgstr ""
2194
 
2195
+ #: classes/Views/Settings.php:1689
2196
+ msgid "Remove Data on Uninstall"
2197
  msgstr ""
2198
 
2199
+ #: classes/Views/Settings.php:1714
2200
+ msgid "Are you sure you want to reset all the plugin settings to default?"
2201
  msgstr ""
2202
 
2203
+ #: classes/Views/Settings.php:1724
2204
+ msgid "Are you sure you want to purge all the activity log data?"
2205
  msgstr ""
2206
 
2207
+ #: classes/Views/Settings.php:1754
2208
+ msgid "MainWP Child plugin is not active on this website."
2209
  msgstr ""
2210
 
2211
+ #: classes/Views/Settings.php:1864
2212
+ msgid "The specified value is not a valid URL!"
2213
  msgstr ""
2214
 
2215
+ #: classes/Views/Settings.php:1865
2216
+ msgid "The specified value is not a valid post type!"
2217
  msgstr ""
2218
 
2219
+ #: classes/Views/Settings.php:1866
2220
+ msgid "The specified value is not a valid IP address!"
2221
  msgstr ""
2222
 
2223
+ #: classes/Views/Settings.php:1867
2224
+ msgid "The specified value is not a user nor a role!"
2225
  msgstr ""
2226
 
2227
+ #: classes/Views/Settings.php:1868
2228
+ msgid "Filename cannot be added because it contains invalid characters."
2229
  msgstr ""
2230
 
2231
+ #: classes/Views/Settings.php:1869
2232
+ msgid "File extension cannot be added because it contains invalid characters."
2233
  msgstr ""
2234
 
2235
+ #: classes/Views/Settings.php:1870
2236
+ msgid "Directory cannot be added because it contains invalid characters."
2237
  msgstr ""
2238
 
2239
+ #: classes/Views/Settings.php:2006 classes/Views/Settings.php:2033
2240
+ msgid "Tables has been reset."
2241
  msgstr ""
2242
 
2243
+ #: classes/Views/Settings.php:2008 classes/Views/Settings.php:2035
2244
+ msgid "Reset query failed."
2245
  msgstr ""
2246
 
2247
+ #: classes/Views/Settings.php:2011 classes/Views/Settings.php:2038
2248
+ msgid "Nonce Verification Failed."
2249
  msgstr ""
2250
 
2251
+ #: classes/Views/SetupWizard.php:178
2252
+ msgid "Welcome"
2253
  msgstr ""
2254
 
2255
+ #: classes/Views/SetupWizard.php:182
2256
+ msgid "Log Details"
2257
  msgstr ""
2258
 
2259
+ #: classes/Views/SetupWizard.php:187
2260
+ msgid "Log In"
2261
  msgstr ""
2262
 
2263
+ #: classes/Views/SetupWizard.php:192
2264
+ msgid "404s"
2265
  msgstr ""
2266
 
2267
+ #: classes/Views/SetupWizard.php:197
2268
+ msgid "User Registrations"
2269
  msgstr ""
2270
 
2271
+ #: classes/Views/SetupWizard.php:202
2272
+ msgid "Log Retention"
2273
  msgstr ""
2274
 
2275
+ #: classes/Views/SetupWizard.php:207 classes/Views/SetupWizard.php:796
2276
+ #: classes/Views/SetupWizard.php:797
2277
+ msgid "Finish"
2278
  msgstr ""
2279
 
2280
+ #: classes/Views/SetupWizard.php:264
2281
+ msgid "Specified value in not a user."
2282
  msgstr ""
2283
 
2284
+ #: classes/Views/SetupWizard.php:265
2285
+ msgid "Specified value in not a role."
2286
  msgstr ""
2287
 
2288
+ #: classes/Views/SetupWizard.php:266
2289
+ msgid "Specified value in not an IP address."
2290
  msgstr ""
2291
 
2292
+ #: classes/Views/SetupWizard.php:272 wp-security-audit-log.php:1166
2293
+ msgid "Installing, please wait"
2294
  msgstr ""
2295
 
2296
+ #: classes/Views/SetupWizard.php:273 wp-security-audit-log.php:1167
2297
+ msgid "Already installed"
2298
  msgstr ""
2299
 
2300
+ #: classes/Views/SetupWizard.php:275 wp-security-audit-log.php:1169
2301
+ msgid "Extension activated"
2302
  msgstr ""
2303
 
2304
+ #: classes/Views/SetupWizard.php:276 wp-security-audit-log.php:1170
2305
+ msgid "Install failed"
2306
  msgstr ""
2307
 
2308
+ #: classes/Views/SetupWizard.php:306
2309
+ msgid "WP Activity Log &rsaquo; Setup Wizard"
2310
  msgstr ""
2311
 
2312
+ #: classes/Views/SetupWizard.php:325
2313
+ msgid "Close Wizard"
2314
  msgstr ""
2315
 
2316
+ #: classes/Views/SetupWizard.php:418
2317
+ #, php-format
2318
  msgid ""
2319
+ "You have reached an invaild step - %1$sreturn to the start of the wizard%2$s."
 
 
 
 
 
 
 
 
 
 
 
2320
  msgstr ""
2321
 
2322
+ #: classes/Views/SetupWizard.php:435
2323
  msgid ""
2324
+ "This wizard helps you configure the basic plugin settings. All these "
2325
+ "settings can be changed at a later stage from the plugin settings."
 
 
2326
  msgstr ""
2327
 
2328
+ #: classes/Views/SetupWizard.php:440
2329
+ msgid "Start Configuring the Plugin"
2330
  msgstr ""
2331
 
2332
+ #: classes/Views/SetupWizard.php:444
2333
+ msgid "Exit Wizard"
2334
  msgstr ""
2335
 
2336
+ #: classes/Views/SetupWizard.php:457
2337
+ msgid "Please select the level of detail for your WordPress activity logs:"
 
 
2338
  msgstr ""
2339
 
2340
+ #: classes/Views/SetupWizard.php:461
2341
  msgid ""
2342
+ "Basic (I want a high level overview and I am not interested in the detail)"
 
 
 
 
2343
  msgstr ""
2344
 
2345
+ #: classes/Views/SetupWizard.php:466
2346
+ msgid "Geek (I want to know everything that is happening on my WordPress)"
2347
  msgstr ""
2348
 
2349
+ #: classes/Views/SetupWizard.php:468
2350
+ msgid ""
2351
+ "Note: You can change the WordPress logging level from the plugin’s settings "
2352
+ "anytime."
2353
  msgstr ""
2354
 
2355
+ #: classes/Views/SetupWizard.php:471 classes/Views/SetupWizard.php:528
2356
+ #: classes/Views/SetupWizard.php:576 classes/Views/SetupWizard.php:625
2357
+ #: classes/Views/SetupWizard.php:685 classes/Views/SetupWizard.php:686
2358
+ #: classes/Views/SetupWizard.php:892 classes/Views/SetupWizard.php:893
2359
+ msgid "Next"
2360
  msgstr ""
2361
 
2362
+ #: classes/Views/SetupWizard.php:512
2363
  msgid ""
2364
+ "Do you or your users use other pages to log in to WordPress other than the "
2365
+ "default login page ( /wp-admin/ )?"
 
2366
  msgstr ""
2367
 
2368
+ #: classes/Views/SetupWizard.php:516
2369
+ msgid "Yes, we use other pages to login to WordPress."
2370
+ msgstr ""
2371
+
2372
+ #: classes/Views/SetupWizard.php:521
2373
+ msgid "No, we only use the default WordPress login page."
2374
  msgstr ""
2375
 
2376
+ #: classes/Views/SetupWizard.php:523
2377
  msgid ""
2378
+ "If your website is a membership or ecommerce website most probably you have "
2379
+ "more than one area from where the users can login. If you are not sure, "
2380
+ "select Yes."
2381
  msgstr ""
2382
 
2383
+ #: classes/Views/SetupWizard.php:526 classes/Views/SetupWizard.php:574
2384
+ #: classes/Views/SetupWizard.php:623 classes/Views/SetupWizard.php:677
2385
+ msgid ""
2386
+ "Note: You can change the WordPress activity log retention settings at any "
2387
+ "time from the plugin settings later on."
2388
  msgstr ""
2389
 
2390
+ #: classes/Views/SetupWizard.php:561
2391
  msgid ""
2392
+ "Do you want to keep a log of (non-logged in) visitors’ requests to non-"
2393
+ "existing URLs which generate a HTTP 404 error response?"
2394
  msgstr ""
2395
 
2396
+ #: classes/Views/SetupWizard.php:609
2397
+ msgid "Can visitors register for a user on your website?"
2398
  msgstr ""
2399
 
2400
+ #: classes/Views/SetupWizard.php:620
2401
  msgid ""
2402
+ "If you are not sure about this setting, check if the Membership setting in "
2403
+ "the WordPress General settings is checked or not. If it is not checked "
2404
+ "(default) select No."
 
2405
  msgstr ""
2406
 
2407
+ #: classes/Views/SetupWizard.php:659
2408
+ msgid "How long do you want to keep the data in the WordPress activity Log?"
2409
  msgstr ""
2410
 
2411
+ #: classes/Views/SetupWizard.php:664
2412
+ msgid "6 months (data older than 6 months will be deleted)"
 
2413
  msgstr ""
2414
 
2415
+ #: classes/Views/SetupWizard.php:669
2416
+ msgid "12 months (data older than 12 months will be deleted)"
 
2417
  msgstr ""
2418
 
2419
+ #: classes/Views/SetupWizard.php:674
2420
+ msgid "Keep all data."
2421
  msgstr ""
2422
 
2423
+ #: classes/Views/SetupWizard.php:695
2424
  msgid ""
2425
+ "The plugin stores the data in the WordPress database in a very efficient "
2426
+ "way, though the more data you keep the more hard disk space it will consume. "
2427
+ "If you need need to retain a lot of data we would recommend you to <a href="
2428
+ "\"https://wpactivitylog.com/features/?"
2429
+ "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=wizard"
2430
+ "+configuration\" target=\"_blank\">upgrade to Premium</a> and use the "
2431
+ "Database tools to store the WordPress activity log in an external database."
2432
  msgstr ""
2433
 
2434
+ #: classes/Views/SetupWizard.php:699
2435
+ msgid ""
2436
+ "The plugin stores the data in the WordPress database in a very efficient "
2437
+ "way, though the more data you keep the more hard disk space it will consume. "
2438
+ "If you need need to retain a lot of data we would recommend you to store the "
2439
+ "WordPress activity log in an external database or enable archiving."
2440
  msgstr ""
2441
 
2442
+ #: classes/Views/SetupWizard.php:767
2443
+ msgid ""
2444
+ "Your plugin is all set and it is ready to start keeping a record of "
2445
+ "everything that is happening on your WordPress in a WordPress activity log."
2446
  msgstr ""
2447
 
2448
+ #: classes/Views/SetupWizard.php:768
2449
+ msgid "Below are a few useful links you might need to refer to:"
2450
  msgstr ""
2451
 
2452
+ #: classes/Views/SetupWizard.php:773
2453
+ msgid "Getting started with the WP Activity Log plugin"
 
 
 
2454
  msgstr ""
2455
 
2456
+ #: classes/Views/SetupWizard.php:778
2457
+ msgid "Knowledge Base & Support Documents"
2458
  msgstr ""
2459
 
2460
+ #: classes/Views/SetupWizard.php:783
2461
+ msgid "Benefits of keeping a WordPress activity log"
 
 
 
2462
  msgstr ""
2463
 
2464
+ #: classes/Views/SetupWizard.php:788
2465
+ msgid ""
2466
+ "We trust this plugin meets all your activity log requirements. Should you "
2467
+ "encounter any problems, have feature requests or would like to share some "
2468
+ "feedback, <a href=\"https://wpactivitylog.com/contact/?"
2469
+ "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=wizard"
2470
+ "+configuration\" target=\"_blank\">please get in touch!</a>"
2471
  msgstr ""
2472
 
2473
+ #: classes/Views/SetupWizard.php:824
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2474
  msgid "Third Party Extensions"
2475
  msgstr ""
2476
 
2477
+ #: classes/Views/SetupWizard.php:850
2478
  msgid "Monitoring changes done in third party plugins"
2479
  msgstr ""
2480
 
2481
+ #: classes/Views/SetupWizard.php:851
2482
  msgid ""
2483
  "We noticed that the below plugins are installed on this website. You can "
2484
+ "install our extensions to also keep a log of changes users do on these "
2485
+ "plugins."
2486
  msgstr ""
2487
 
2488
  #: classes/Views/ToggleAlerts.php:27 classes/Views/ToggleAlerts.php:41
2509
  msgid ""
2510
  "Use the Log level drop down menu above to use one of our preset log levels. "
2511
  "Alternatively you can enable or disable any of the individual events from "
2512
+ "the below tabs. Refer to <a href=\"https://wpactivitylog.com/support/kb/list-"
2513
+ "wordpress-activity-log-event-ids/\" target=\"_blank\">the complete list of "
2514
+ "WordPress activity log event IDs</a> for reference on all the events the "
2515
+ "plugin can keep a log of."
2516
  msgstr ""
2517
 
2518
  #: classes/Views/ToggleAlerts.php:224
2531
  msgid "Description"
2532
  msgstr ""
2533
 
 
 
 
 
 
2534
  #: classes/Views/ToggleAlerts.php:331 defaults.php:104
2535
  msgid "Content"
2536
  msgstr ""
2541
  "page or a post with a custom post type."
2542
  msgstr ""
2543
 
2544
+ #: classes/Views/ToggleAlerts.php:337 defaults.php:408
2545
  msgid "WooCommerce"
2546
  msgstr ""
2547
 
2555
  "been disabled."
2556
  msgstr ""
2557
 
2558
+ #: classes/Views/ToggleAlerts.php:348 defaults.php:409
2559
  msgid "Products"
2560
  msgstr ""
2561
 
2565
  "been disabled."
2566
  msgstr ""
2567
 
2568
+ #: classes/Views/ToggleAlerts.php:362 defaults.php:534
2569
  msgid "Post Changes"
2570
  msgstr ""
2571
 
2572
+ #: classes/Views/ToggleAlerts.php:365 defaults.php:398
2573
  msgid "MultiSite"
2574
  msgstr ""
2575
 
2586
  msgid "Logins & Logouts"
2587
  msgstr ""
2588
 
2589
+ #: classes/Views/ToggleAlerts.php:388 classes/Views/ToggleAlerts.php:547
2590
+ #: defaults.php:575
2591
+ msgid "Monitor File Changes"
2592
+ msgstr ""
2593
+
2594
+ #: classes/Views/ToggleAlerts.php:399
2595
  msgid "Not Implemented"
2596
  msgstr ""
2597
 
2598
+ #: classes/Views/ToggleAlerts.php:402
2599
  msgid "Not Available"
2600
  msgstr ""
2601
 
2602
+ #: classes/Views/ToggleAlerts.php:412
2603
  msgid "User Sessions"
2604
  msgstr ""
2605
 
2606
+ #: classes/Views/ToggleAlerts.php:414
2607
  msgid "Files"
2608
  msgstr ""
2609
 
2610
+ #: classes/Views/ToggleAlerts.php:416
2611
  msgid "Post Settings"
2612
  msgstr ""
2613
 
2614
+ #: classes/Views/ToggleAlerts.php:418
2615
  msgid "Product Admin"
2616
  msgstr ""
2617
 
2618
+ #: classes/Views/ToggleAlerts.php:420
2619
  msgid "Product Attributes"
2620
  msgstr ""
2621
 
2622
+ #: classes/Views/ToggleAlerts.php:484 classes/Views/ToggleAlerts.php:634
2623
  msgid ""
2624
  "Capture 404 requests to file (the log file are created in the /wp-content/"
2625
  "uploads/wp-security-audit-log/404s/ directory)"
2626
  msgstr ""
2627
 
2628
+ #: classes/Views/ToggleAlerts.php:492 classes/Views/ToggleAlerts.php:638
2629
  msgid "Purge log files older than one month"
2630
  msgstr ""
2631
 
2632
+ #: classes/Views/ToggleAlerts.php:497
2633
  msgid ""
2634
  "Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
2635
  "to non-existing pages from the same IP address. Increase the value in this "
2636
  "setting to the desired amount to keep a log of more or less requests."
2637
  msgstr ""
2638
 
2639
+ #: classes/Views/ToggleAlerts.php:502 classes/Views/ToggleAlerts.php:646
2640
  msgid "Record the referrer that generated the 404 error."
2641
  msgstr ""
2642
 
2643
+ #: classes/Views/ToggleAlerts.php:514 classes/Views/ToggleAlerts.php:527
2644
  msgid ""
2645
  "Number of login attempts to log. Enter 0 to log all failed login attempts. "
2646
  "(By default the plugin only logs up to 10 failed login because the process "
2647
  "can be very resource intensive in case of a brute force attack)"
2648
  msgstr ""
2649
 
2650
+ #: classes/Views/ToggleAlerts.php:540
2651
  msgid ""
2652
  "Log all stock changes. Disable this setting to only keep a log of stock "
2653
  "changes done manually via the WooCommerce dashboard. Therefore automated "
2655
  "plugins will not be logged."
2656
  msgstr ""
2657
 
2658
+ #: classes/Views/ToggleAlerts.php:591
 
 
 
 
2659
  msgid ""
2660
  "This plugin keeps a log of what your website users are doing when they are "
2661
  "logged in. On top of that it can also keep a log of some important events of "
2663
  "any of the front-end sensors:"
2664
  msgstr ""
2665
 
2666
+ #: classes/Views/ToggleAlerts.php:596
2667
  msgid "Front-end users registrations"
2668
  msgstr ""
2669
 
2670
+ #: classes/Views/ToggleAlerts.php:602
2671
  msgid ""
2672
  "Keep a log when a visitor registers a user on the website. Only enable this "
2673
  "if you allow visitors to register as users on your website. User "
2674
  "registration is disabled by default in WordPress."
2675
  msgstr ""
2676
 
2677
+ #: classes/Views/ToggleAlerts.php:607
2678
  msgid "Front-end users logins"
2679
  msgstr ""
2680
 
2681
+ #: classes/Views/ToggleAlerts.php:613
2682
  msgid ""
2683
  "Keep a log when users login to the website from other login pages / forms "
2684
  "other than the default WordPress login page."
2685
  msgstr ""
2686
 
2687
+ #: classes/Views/ToggleAlerts.php:618
2688
  msgid "Website visitors 404 errors"
2689
  msgstr ""
2690
 
2691
+ #: classes/Views/ToggleAlerts.php:624
2692
  msgid ""
2693
  "Event ID 6023: Keep a log when a website visitor requests a non-existing URL "
2694
  "(HTTP 404 response error)."
2695
  msgstr ""
2696
 
2697
+ #: classes/Views/ToggleAlerts.php:642
2698
  msgid ""
2699
  "Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
2700
  "to non-existing pages from the same IP address. Increase the value in this "
2703
  "scanned the plugin will consume more resources to log all the requests."
2704
  msgstr ""
2705
 
2706
+ #: classes/Views/ToggleAlerts.php:650
2707
  msgid "Front-end WooCommerce activity"
2708
  msgstr ""
2709
 
2710
+ #: classes/Views/ToggleAlerts.php:656
2711
  msgid ""
2712
  "Keep a log of product stocks and orders changes done by website visitors "
2713
  "(non-logged in). Regardless of the state of this setting, the plugin always "
2714
  "keeps a log of changes done by logged in users."
2715
  msgstr ""
2716
 
2717
+ #: classes/Views/ToggleAlerts.php:666
2718
  msgid "Save Changes"
2719
  msgstr ""
2720
 
2721
+ #: classes/Views/ToggleAlerts.php:673
2722
  msgid "Log Level Updated"
2723
  msgstr ""
2724
 
2725
+ #: classes/Views/ToggleAlerts.php:677
 
2726
  #, php-format
2727
  msgid "The %s log level has been successfully loaded and applied."
2728
  msgstr ""
2729
 
2730
+ #: classes/Views/ToggleAlerts.php:681
2731
  msgid "OK"
2732
  msgstr ""
2733
 
2734
+ #: classes/Views/ToggleAlerts.php:696
2735
  msgid "Enable File Integrity Scanner"
2736
  msgstr ""
2737
 
2738
+ #: classes/Views/ToggleAlerts.php:698
2739
  msgid ""
2740
  "The file integrity scanner is switched off. To enable this event it has to "
2741
  "be switched on."
2742
  msgstr ""
2743
 
2744
+ #: classes/Views/ToggleAlerts.php:702
2745
  msgid "SWITCH ON"
2746
  msgstr ""
2747
 
2748
+ #: classes/Views/ToggleAlerts.php:703
2749
  msgid "DISABLE EVENT"
2750
  msgstr ""
2751
 
4657
  #: defaults.php:361
4658
  msgid ""
4659
  "Updated WordPress %LineBreak% Previous version: %OldVersion% %LineBreak% New "
4660
+ "version: %NewVersion%"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4661
  msgstr ""
4662
 
4663
+ #: defaults.php:362
4664
+ msgid "Advertising Extensions"
4665
  msgstr ""
4666
 
4667
+ #: defaults.php:362
4668
+ msgid "%PromoName% %PromoMessage%"
 
 
4669
  msgstr ""
4670
 
4671
+ #: defaults.php:365
4672
+ msgid "Activity log plugin"
4673
  msgstr ""
4674
 
4675
+ #: defaults.php:366
4676
+ msgid "Events automatically pruned by system"
 
 
 
4677
  msgstr ""
4678
 
4679
+ #: defaults.php:366
4680
+ msgid "System automatically deleted %EventCount% event(s)"
4681
  msgstr ""
4682
 
4683
+ #: defaults.php:367
4684
+ msgid "Reset plugin's settings to default"
 
 
 
4685
  msgstr ""
4686
 
4687
+ #: defaults.php:367
4688
+ msgid "Reset the WP Activity Log plugin settings to default"
4689
  msgstr ""
4690
 
4691
+ #: defaults.php:368
4692
+ msgid "Purged the activity log"
4693
  msgstr ""
4694
 
4695
+ #: defaults.php:371
4696
  msgid "User/Visitor Actions"
4697
  msgstr ""
4698
 
4699
+ #: defaults.php:372
4700
  msgid "User requests non-existing pages (404 Error Pages)"
4701
  msgstr ""
4702
 
4703
+ #: defaults.php:372
4704
  msgid ""
4705
  "Has requested a non existing page (404 error) %LineBreak% Number of times: "
4706
  "%Attempts%"
4707
  msgstr ""
4708
 
4709
+ #: defaults.php:373
4710
  msgid "Website Visitor User requests non-existing pages (404 Error Pages)"
4711
  msgstr ""
4712
 
4713
+ #: defaults.php:373
4714
  msgid ""
4715
  "Website visitor has requested a non existing page (404 error) %LineBreak% "
4716
  "Number of times: %Attempts%"
4717
  msgstr ""
4718
 
4719
+ #: defaults.php:376
4720
  msgid "WordPress Site Settings"
4721
  msgstr ""
4722
 
4723
+ #: defaults.php:377
4724
  msgid "Option Anyone Can Register in WordPress settings changed"
4725
  msgstr ""
4726
 
4727
+ #: defaults.php:377
4728
  msgid "The option Anyone can register"
4729
  msgstr ""
4730
 
4731
+ #: defaults.php:378
4732
  msgid "New User Default Role changed"
4733
  msgstr ""
4734
 
4735
+ #: defaults.php:378
4736
  msgid ""
4737
  "Changed the new user default role %LineBreak% Previous role: %OldRole% "
4738
  "%LineBreak% New role: %NewRole%"
4739
  msgstr ""
4740
 
4741
+ #: defaults.php:379
4742
  msgid "WordPress Administrator Notification email changed"
4743
  msgstr ""
4744
 
4745
+ #: defaults.php:379
4746
  msgid ""
4747
  "Changed the WordPress administrator notification email address %LineBreak% "
4748
  "Previous address %OldEmail% %LineBreak% New address: %NewEmail%"
4749
  msgstr ""
4750
 
4751
+ #: defaults.php:380
4752
  msgid "User changes the WordPress Permalinks"
4753
  msgstr ""
4754
 
4755
+ #: defaults.php:380
4756
  msgid ""
4757
  "Changed the WordPress permalinks %LineBreak% Previous permalinks: %OldPattern"
4758
  "% %LineBreak% New permalinks: %NewPattern%"
4759
  msgstr ""
4760
 
4761
+ #: defaults.php:381
4762
  msgid ""
4763
  "Enabled/Disabled the option Discourage search engines from indexing this site"
4764
  msgstr ""
4765
 
4766
+ #: defaults.php:381
4767
  msgid "Discourage search engines from indexing this site."
4768
  msgstr ""
4769
 
4770
+ #: defaults.php:382
4771
  msgid "Enabled/Disabled comments on all the website"
4772
  msgstr ""
4773
 
4774
+ #: defaults.php:382
4775
  msgid "Comments on the website"
4776
  msgstr ""
4777
 
4778
+ #: defaults.php:383
4779
  msgid "Enabled/Disabled the option Comment author must fill out name and email"
4780
  msgstr ""
4781
 
4782
+ #: defaults.php:383
4783
  msgid "The option Comment author must fill out name and email"
4784
  msgstr ""
4785
 
4786
+ #: defaults.php:384
4787
  msgid ""
4788
  "Enabled/Disabled the option Users must be logged in and registered to comment"
4789
  msgstr ""
4790
 
4791
+ #: defaults.php:384
4792
  msgid "The option Users must be logged in and registered to comment"
4793
  msgstr ""
4794
 
4795
+ #: defaults.php:385
4796
  msgid "Enabled/Disabled the option to automatically close comments"
4797
  msgstr ""
4798
 
4799
+ #: defaults.php:385
4800
  msgid "The option to Automatically close comments after %Value% days"
4801
  msgstr ""
4802
 
4803
+ #: defaults.php:386
4804
  msgid "Changed the value of the option Automatically close comments"
4805
  msgstr ""
4806
 
4807
+ #: defaults.php:386
4808
  msgid ""
4809
  "Changed the value of the option to Automatically close comments after a "
4810
  "number of days %LineBreak% Previous value: %OldValue% %LineBreak% New value: "
4811
  "%NewValue%"
4812
  msgstr ""
4813
 
4814
+ #: defaults.php:387
4815
  msgid "Enabled/Disabled the option for comments to be manually approved"
4816
  msgstr ""
4817
 
4818
+ #: defaults.php:387
4819
  msgid "The option for comments to be manually approved"
4820
  msgstr ""
4821
 
4822
+ #: defaults.php:388
4823
  msgid ""
4824
  "Enabled/Disabled the option for an author to have previously approved "
4825
  "comments for the comments to appear"
4826
  msgstr ""
4827
 
4828
+ #: defaults.php:388
4829
  msgid ""
4830
  "The option for an author to have previously approved comments for the "
4831
  "comments to appear"
4832
  msgstr ""
4833
 
4834
+ #: defaults.php:389
4835
  msgid ""
4836
  "Changed the number of links that a comment must have to be held in the queue"
4837
  msgstr ""
4838
 
4839
+ #: defaults.php:389
4840
  msgid ""
4841
  "Changed the minimum number of links a comment must have to be held in the "
4842
  "queue %LineBreak% Previous value: %OldValue% %LineBreak% New value: %NewValue"
4843
  "%"
4844
  msgstr ""
4845
 
4846
+ #: defaults.php:390
4847
  msgid "Modified the list of keywords for comments moderation"
4848
  msgstr ""
4849
 
4850
+ #: defaults.php:390
4851
  msgid "Modified the list of keywords for comments medoration"
4852
  msgstr ""
4853
 
4854
+ #: defaults.php:391
4855
  msgid "Modified the list of keywords for comments blacklisting"
4856
  msgstr ""
4857
 
4858
+ #: defaults.php:392
4859
  msgid "Option WordPress Address (URL) in WordPress settings changed"
4860
  msgstr ""
4861
 
4862
+ #: defaults.php:392
4863
  msgid ""
4864
  "Changed the WordPress address (URL) %LineBreak% Previous URL: %old_url% "
4865
  "%LineBreak% New URL: %new_url%"
4866
  msgstr ""
4867
 
4868
+ #: defaults.php:393
4869
  msgid "Option Site Address (URL) in WordPress settings changed"
4870
  msgstr ""
4871
 
4872
+ #: defaults.php:393
4873
  msgid ""
4874
  "Changed the site address (URL) %LineBreak% Previous URL: %old_url% %LineBreak"
4875
  "% New URL: %new_url%"
4876
  msgstr ""
4877
 
4878
+ #: defaults.php:397
4879
  msgid "Multisite Network Sites"
4880
  msgstr ""
4881
 
4882
+ #: defaults.php:399
4883
  msgid "New site added on the network"
4884
  msgstr ""
4885
 
4886
+ #: defaults.php:399
4887
  msgid "New site on the network: %SiteName% %LineBreak% URL: %BlogURL%"
4888
  msgstr ""
4889
 
4890
+ #: defaults.php:400
4891
  msgid "Existing site archived"
4892
  msgstr ""
4893
 
4894
+ #: defaults.php:400
4895
  msgid "Archived the site: %SiteName% %LineBreak% URL: %BlogURL%"
4896
  msgstr ""
4897
 
4898
+ #: defaults.php:401
4899
  msgid "Archived site has been unarchived"
4900
  msgstr ""
4901
 
4902
+ #: defaults.php:401
4903
  msgid "Unarchived the site: %SiteName% %LineBreak% URL: %BlogURL%"
4904
  msgstr ""
4905
 
4906
+ #: defaults.php:402
4907
  msgid "Deactivated site has been activated"
4908
  msgstr ""
4909
 
4910
+ #: defaults.php:402
4911
  msgid "Activated the site: %SiteName% %LineBreak% URL: %BlogURL%"
4912
  msgstr ""
4913
 
4914
+ #: defaults.php:403
4915
  msgid "Site has been deactivated"
4916
  msgstr ""
4917
 
4918
+ #: defaults.php:403
4919
  msgid "Deactivated the site: %SiteName% %LineBreak% URL: %BlogURL%"
4920
  msgstr ""
4921
 
4922
+ #: defaults.php:404
4923
  msgid "Existing site deleted from network"
4924
  msgstr ""
4925
 
4926
+ #: defaults.php:404
4927
  msgid "The site: %SiteName% %LineBreak% URL: %BlogURL%"
4928
  msgstr ""
4929
 
4930
+ #: defaults.php:410
4931
  msgid "User created a new product"
4932
  msgstr ""
4933
 
4934
+ #: defaults.php:410
4935
  msgid ""
4936
  "Created a new product called %ProductTitle% %LineBreak% ID: %PostID% "
4937
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
4938
  msgstr ""
4939
 
4940
+ #: defaults.php:411
4941
  msgid "User published a product"
4942
  msgstr ""
4943
 
4944
+ #: defaults.php:411
4945
  msgid ""
4946
  "Published the product called %ProductTitle% %LineBreak% ID: %PostID% "
4947
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
4948
  msgstr ""
4949
 
4950
+ #: defaults.php:412
4951
  msgid "User changed the category of a product"
4952
  msgstr ""
4953
 
4954
+ #: defaults.php:412
4955
  msgid ""
4956
  "Changed the category of the product %ProductTitle% %LineBreak% ID: %PostID% "
4957
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous categories: "
4959
  "%EditorLinkProduct%"
4960
  msgstr ""
4961
 
4962
+ #: defaults.php:413
4963
  msgid "User modified the short description of a product"
4964
  msgstr ""
4965
 
4966
+ #: defaults.php:413
4967
  msgid ""
4968
  "Changed the short description of the product %ProductTitle% %LineBreak% ID: "
4969
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
4970
  msgstr ""
4971
 
4972
+ #: defaults.php:414
4973
  msgid "User modified the text of a product"
4974
  msgstr ""
4975
 
4976
+ #: defaults.php:414
4977
  msgid ""
4978
  "Changed the text of the product %ProductTitle% %LineBreak% ID: %PostID% "
4979
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
4980
  msgstr ""
4981
 
4982
+ #: defaults.php:415
4983
  msgid "User changed the URL of a product"
4984
  msgstr ""
4985
 
4986
+ #: defaults.php:415
4987
  msgid ""
4988
  "Changed the URL of the product %ProductTitle% %LineBreak% ID: %PostID% "
4989
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous URL: %OldUrl% "
4990
  "%LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkProduct%"
4991
  msgstr ""
4992
 
4993
+ #: defaults.php:416
4994
  msgid "User changed the Product Data of a product"
4995
  msgstr ""
4996
 
4997
+ #: defaults.php:416
4998
  msgid ""
4999
  "Changed the type of the product %ProductTitle% %LineBreak% ID: %PostID% "
5000
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous type: %OldType% "
5001
  "%LineBreak% New type: %NewType% %LineBreak% %EditorLinkProduct%"
5002
  msgstr ""
5003
 
5004
+ #: defaults.php:417
5005
  msgid "User changed the date of a product"
5006
  msgstr ""
5007
 
5008
+ #: defaults.php:417
5009
  msgid ""
5010
  "Changed the date of the product %ProductTitle% %LineBreak% ID: %PostID% "
5011
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous date: %OldDate% "
5012
  "%LineBreak% New date: %NewDate% %LineBreak% %EditorLinkProduct%"
5013
  msgstr ""
5014
 
5015
+ #: defaults.php:418
5016
  msgid "User changed the visibility of a product"
5017
  msgstr ""
5018
 
5019
+ #: defaults.php:418
5020
  msgid ""
5021
  "Changed the visibility of the product %ProductTitle% %LineBreak% ID: %PostID"
5022
  "% %LineBreak% Status: %ProductStatus% %LineBreak% Previous visibility: "
5024
  "%EditorLinkProduct%"
5025
  msgstr ""
5026
 
5027
+ #: defaults.php:419
5028
  msgid "User modified the product"
5029
  msgstr ""
5030
 
5031
+ #: defaults.php:419
5032
  msgid ""
5033
  "Modified the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% "
5034
  "Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5035
  msgstr ""
5036
 
5037
+ #: defaults.php:420
5038
  msgid "User modified the draft product"
5039
  msgstr ""
5040
 
5041
+ #: defaults.php:420
5042
  msgid ""
5043
  "Modified the draft product %ProductTitle%. View the product: "
5044
  "%EditorLinkProduct%."
5045
  msgstr ""
5046
 
5047
+ #: defaults.php:421
5048
  msgid "User moved a product to trash"
5049
  msgstr ""
5050
 
5051
+ #: defaults.php:421
5052
  msgid ""
5053
  "Moved the product %ProductTitle% to trash %LineBreak% ID: %PostID% %LineBreak"
5054
  "% Status: %ProductStatus%"
5055
  msgstr ""
5056
 
5057
+ #: defaults.php:422
5058
  msgid "User permanently deleted a product"
5059
  msgstr ""
5060
 
5061
+ #: defaults.php:422
5062
  msgid "Permanently deleted the product %ProductTitle% %LineBreak% ID: %PostID%"
5063
  msgstr ""
5064
 
5065
+ #: defaults.php:423
5066
  msgid "User restored a product from the trash"
5067
  msgstr ""
5068
 
5069
+ #: defaults.php:423
5070
  msgid ""
5071
  "Restored the product %ProductTitle% from trash %LineBreak% ID: %PostID% "
5072
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5073
  msgstr ""
5074
 
5075
+ #: defaults.php:424
5076
  msgid "User changed status of a product"
5077
  msgstr ""
5078
 
5079
+ #: defaults.php:424
5080
  msgid ""
5081
  "Changed the status of the product %ProductTitle% %LineBreak% ID: %PostID% "
5082
  "%LineBreak% Previous status: %OldStatus% %LineBreak% New status: %NewStatus% "
5083
  "%LineBreak% %EditorLinkProduct%"
5084
  msgstr ""
5085
 
5086
+ #: defaults.php:425
5087
  msgid "User opened a product in the editor"
5088
  msgstr ""
5089
 
5090
+ #: defaults.php:425
5091
  msgid ""
5092
  "Opened the product %ProductTitle% in the editor %LineBreak% ID: %PostID% "
5093
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5094
  msgstr ""
5095
 
5096
+ #: defaults.php:426
5097
  msgid "User viewed a product"
5098
  msgstr ""
5099
 
5100
+ #: defaults.php:426
5101
  msgid ""
5102
  "Viewed the product %ProductTitle% page %LineBreak% ID: %PostID% %LineBreak% "
5103
  "Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5104
  msgstr ""
5105
 
5106
+ #: defaults.php:427
5107
  msgid "User renamed a product"
5108
  msgstr ""
5109
 
5110
+ #: defaults.php:427
5111
  msgid ""
5112
  "Old name: %OldTitle% %LineBreak% New name: %NewTitle% %LineBreak% ID: %PostID"
5113
  "% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5114
  msgstr ""
5115
 
5116
+ #: defaults.php:428
5117
  msgid "User changed type of a price"
5118
  msgstr ""
5119
 
5120
+ #: defaults.php:428
5121
  msgid ""
5122
  "Changed the %PriceType% of the product %ProductTitle% %LineBreak% ID: %PostID"
5123
  "% %LineBreak% Status: %ProductStatus% %LineBreak% Previous price: %OldPrice% "
5124
  "%LineBreak% New price: %NewPrice% %LineBreak% %EditorLinkProduct%"
5125
  msgstr ""
5126
 
5127
+ #: defaults.php:429
5128
  msgid "User changed the SKU of a product"
5129
  msgstr ""
5130
 
5131
+ #: defaults.php:429
5132
  msgid ""
5133
  "Changed the SKU of the product %ProductTitle% %LineBreak% ID: %PostID% "
5134
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous SKU: %OldSku% "
5135
  "%LineBreak% New SKU: %NewSku% %LineBreak% %EditorLinkProduct%"
5136
  msgstr ""
5137
 
5138
+ #: defaults.php:430
5139
  msgid "User changed the stock status of a product"
5140
  msgstr ""
5141
 
5142
+ #: defaults.php:430
5143
  msgid ""
5144
  "Changed the stock status of the product %ProductTitle% %LineBreak% ID: "
5145
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous stock "
5147
  "%EditorLinkProduct%"
5148
  msgstr ""
5149
 
5150
+ #: defaults.php:431
5151
  msgid "User changed the stock quantity"
5152
  msgstr ""
5153
 
5154
+ #: defaults.php:431
5155
  msgid ""
5156
  "Changed the stock quantity of the product %ProductTitle% %LineBreak% ID: "
5157
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous quantity: "
5159
  "%EditorLinkProduct%"
5160
  msgstr ""
5161
 
5162
+ #: defaults.php:432
5163
  msgid "User set a product type"
5164
  msgstr ""
5165
 
5166
+ #: defaults.php:432
5167
  msgid ""
5168
  "Changed the type of the %NewType% product %ProductTitle% %LineBreak% ID: "
5169
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous type: "
5170
  "%OldType% %LineBreak% New type: %NewType% %LineBreak% %EditorLinkProduct%"
5171
  msgstr ""
5172
 
5173
+ #: defaults.php:433
5174
  msgid "User changed the weight of a product"
5175
  msgstr ""
5176
 
5177
+ #: defaults.php:433
5178
  msgid ""
5179
  "Changed the weight of the product %ProductTitle% %LineBreak% ID: %PostID% "
5180
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous weight: %OldWeight% "
5181
  "%LineBreak% New weight: %NewWeight% %LineBreak% %EditorLinkProduct%"
5182
  msgstr ""
5183
 
5184
+ #: defaults.php:434
5185
  msgid "User changed the dimensions of a product"
5186
  msgstr ""
5187
 
5188
+ #: defaults.php:434
5189
  msgid ""
5190
  "Changed the %DimensionType% dimensions of the product %ProductTitle% "
5191
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5193
  "%LineBreak% %EditorLinkProduct%"
5194
  msgstr ""
5195
 
5196
+ #: defaults.php:435
5197
  msgid "User added the Downloadable File to a product"
5198
  msgstr ""
5199
 
5200
+ #: defaults.php:435
5201
  msgid ""
5202
  "Added a downloadable file to the product %ProductTitle% %LineBreak% ID: "
5203
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% File name: %FileName"
5204
  "% %LineBreak% File URL: %FileUrl% %LineBreak% %EditorLinkProduct%"
5205
  msgstr ""
5206
 
5207
+ #: defaults.php:436
5208
  msgid "User Removed the Downloadable File from a product"
5209
  msgstr ""
5210
 
5211
+ #: defaults.php:436
5212
  msgid ""
5213
  "Removed the downloadable file from the product %ProductTitle% %LineBreak% "
5214
  "ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% File name: "
5215
  "%FileName% %LineBreak% File URL: %FileUrl% %LineBreak% %EditorLinkProduct%"
5216
  msgstr ""
5217
 
5218
+ #: defaults.php:437
5219
  msgid "User changed the name of a Downloadable File in a product"
5220
  msgstr ""
5221
 
5222
+ #: defaults.php:437
5223
  msgid ""
5224
  "Changed the name of the downloadable file to the product %ProductTitle% "
5225
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5227
  "% %EditorLinkProduct%"
5228
  msgstr ""
5229
 
5230
+ #: defaults.php:438
5231
  msgid "User changed the URL of the Downloadable File in a product"
5232
  msgstr ""
5233
 
5234
+ #: defaults.php:438
5235
  msgid ""
5236
  "Changed the URL of the downloadable file to the product %ProductTitle% "
5237
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5239
  "URL: %NewUrl% %LineBreak% %EditorLinkProduct%"
5240
  msgstr ""
5241
 
5242
+ #: defaults.php:439
5243
  msgid "User changed the catalog visibility of a product"
5244
  msgstr ""
5245
 
5246
+ #: defaults.php:439
5247
  msgid ""
5248
  "Changed the product visibility of the product %ProductTitle% %LineBreak% ID: "
5249
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous setting: "
5251
  "%EditorLinkProduct%"
5252
  msgstr ""
5253
 
5254
+ #: defaults.php:440
5255
  msgid "User changed the setting Featured Product of a product"
5256
  msgstr ""
5257
 
5258
+ #: defaults.php:440
5259
  msgid ""
5260
  "The setting Featured Product for the product %ProductTitle% %LineBreak% ID: "
5261
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5262
  msgstr ""
5263
 
5264
+ #: defaults.php:441
5265
  msgid "User changed the Allow Backorders setting of a product"
5266
  msgstr ""
5267
 
5268
+ #: defaults.php:441
5269
  msgid ""
5270
  "Changed the Allow Backorders setting for the product %ProductTitle% "
5271
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5273
  "%EditorLinkProduct%"
5274
  msgstr ""
5275
 
5276
+ #: defaults.php:442
5277
  msgid "User added/removed products to upsell of a product"
5278
  msgstr ""
5279
 
5280
+ #: defaults.php:442
5281
  msgid ""
5282
  "Products to Upsell in the product %ProductTitle% %LineBreak% ID: %PostID% "
5283
  "%LineBreak% Status: %ProductStatus% %LineBreak% Product: %UpsellTitle% "
5284
  "%LineBreak% %EditorLinkProduct%"
5285
  msgstr ""
5286
 
5287
+ #: defaults.php:443
5288
  msgid "User added/removed products to cross-sells of a product"
5289
  msgstr ""
5290
 
5291
+ #: defaults.php:443
5292
  msgid ""
5293
  "Product to Cross-sell in the product %ProductTitle% %LineBreak% ID: %PostID% "
5294
  "%LineBreak% Status: %ProductStatus% %LineBreak% Product: %CrossSellTitle% "
5295
  "%LineBreak% %EditorLinkProduct%"
5296
  msgstr ""
5297
 
5298
+ #: defaults.php:444
5299
  msgid "System changed the stock quantity of a product"
5300
  msgstr ""
5301
 
5302
+ #: defaults.php:444
5303
  msgid ""
5304
  "The stock quantity of the product %ProductTitle% was changed due to a "
5305
  "purchase. %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% "
5307
  "% %LineBreak% %EditorLinkProduct%"
5308
  msgstr ""
5309
 
5310
+ #: defaults.php:445
5311
  msgid "Added a new attribute of a product"
5312
  msgstr ""
5313
 
5314
+ #: defaults.php:445
5315
  msgid ""
5316
  "A new attribute to the product %ProductTitle% %LineBreak% ID: %ProductID% "
5317
  "%LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: "
5319
  "%EditorLinkProduct%"
5320
  msgstr ""
5321
 
5322
+ #: defaults.php:446
5323
  msgid "Modified the value of an attribute of a product"
5324
  msgstr ""
5325
 
5326
+ #: defaults.php:446
5327
  msgid ""
5328
  "Modified the value of an attribute in the product %ProductTitle% %LineBreak% "
5329
  "ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute "
5331
  "%LineBreak% New attribute value: %NewValue% %LineBreak% %EditorLinkProduct%"
5332
  msgstr ""
5333
 
5334
+ #: defaults.php:447
5335
  msgid "Changed the name of an attribute of a product"
5336
  msgstr ""
5337
 
5338
+ #: defaults.php:447
5339
  msgid ""
5340
  "Changed the name of an attribute in the product %ProductTitle% %LineBreak% "
5341
  "ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous "
5343
  "%LineBreak% %EditorLinkProduct%"
5344
  msgstr ""
5345
 
5346
+ #: defaults.php:448
5347
  msgid "Deleted an attribute of a product"
5348
  msgstr ""
5349
 
5350
+ #: defaults.php:448
5351
  msgid ""
5352
  "An attribute from the product %ProductTitle% %LineBreak% ID: %ProductID% "
5353
  "%LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: "
5355
  "%EditorLinkProduct%"
5356
  msgstr ""
5357
 
5358
+ #: defaults.php:449
5359
  msgid "Set the attribute visibility of a product"
5360
  msgstr ""
5361
 
5362
+ #: defaults.php:449
5363
  msgid ""
5364
  "Changed the visibility of an attribute in the product %ProductTitle% "
5365
  "%LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5367
  "%AttributeVisiblilty% %LineBreak% %EditorLinkProduct%"
5368
  msgstr ""
5369
 
5370
+ #: defaults.php:452
5371
  msgid "Store"
5372
  msgstr ""
5373
 
5374
+ #: defaults.php:453
5375
  msgid "User changed the Weight Unit"
5376
  msgstr ""
5377
 
5378
+ #: defaults.php:453
5379
  msgid ""
5380
  "Changed the weight unit of the store %LineBreak% Previous weight unit: "
5381
  "%OldUnit% %LineBreak% New weight unit: %NewUnit%"
5382
  msgstr ""
5383
 
5384
+ #: defaults.php:454
5385
  msgid "User changed the Dimensions Unit"
5386
  msgstr ""
5387
 
5388
+ #: defaults.php:454
5389
  msgid ""
5390
  "Changed the dimensions unit of the store %LineBreak% Previous dimensions "
5391
  "unit: %OldUnit% %LineBreak% New dimensions unit: %NewUnit%"
5392
  msgstr ""
5393
 
5394
+ #: defaults.php:455
5395
  msgid "User changed the Base Location"
5396
  msgstr ""
5397
 
5398
+ #: defaults.php:455
5399
  msgid ""
5400
  "Changed the base location %LineBreak% Previous address: %OldLocation% "
5401
  "%LineBreak% New address: %NewLocation%"
5402
  msgstr ""
5403
 
5404
+ #: defaults.php:456
5405
  msgid "User enabled/disabled taxes"
5406
  msgstr ""
5407
 
5408
+ #: defaults.php:456
5409
  msgid "Taxes in WooCommerce"
5410
  msgstr ""
5411
 
5412
+ #: defaults.php:457
5413
  msgid "User changed the currency"
5414
  msgstr ""
5415
 
5416
+ #: defaults.php:457
5417
  msgid ""
5418
  "Changed the currency of the store %LineBreak% Previous currency: %OldCurrency"
5419
  "% %LineBreak% New currency: %NewCurrency%"
5420
  msgstr ""
5421
 
5422
+ #: defaults.php:458
5423
  msgid "User enabled/disabled the use of coupons during checkout"
5424
  msgstr ""
5425
 
5426
+ #: defaults.php:458
5427
  msgid "The use of coupons during checkout"
5428
  msgstr ""
5429
 
5430
+ #: defaults.php:459
5431
  msgid "User enabled/disabled guest checkout"
5432
  msgstr ""
5433
 
5434
+ #: defaults.php:459
5435
  msgid "Guest checkout in the store"
5436
  msgstr ""
5437
 
5438
+ #: defaults.php:460
5439
  msgid "User enabled/disabled cash on delivery"
5440
  msgstr ""
5441
 
5442
+ #: defaults.php:460
5443
  msgid "The option cash on delivery"
5444
  msgstr ""
5445
 
5446
+ #: defaults.php:461
5447
  msgid "User modified selling location(s)"
5448
  msgstr ""
5449
 
5450
+ #: defaults.php:461
5451
  msgid ""
5452
  "The setting Selling location(s) %LineBreak% Old setting: %old% %LineBreak% "
5453
  "New Setting: %new%"
5454
  msgstr ""
5455
 
5456
+ #: defaults.php:462
5457
  msgid "User modified excluded selling location(s)"
5458
  msgstr ""
5459
 
5460
+ #: defaults.php:462
5461
  msgid ""
5462
  "Changed the list of excluded countries to sell to %LineBreak% Old setting: "
5463
  "%old% %LineBreak% New Setting: %new%"
5464
  msgstr ""
5465
 
5466
+ #: defaults.php:463
5467
  msgid "User modified exclusive selling location(s)"
5468
  msgstr ""
5469
 
5470
+ #: defaults.php:463
5471
  msgid ""
5472
  "Changed the list of countries to sell to %LineBreak% Old setting: %old% "
5473
  "%LineBreak% New Setting: %new%"
5474
  msgstr ""
5475
 
5476
+ #: defaults.php:464
5477
  msgid "User modified shipping location(s)"
5478
  msgstr ""
5479
 
5480
+ #: defaults.php:464
5481
  msgid ""
5482
  "The setting Shipping location(s) %LineBreak% Old setting: %old% %LineBreak% "
5483
  "New Setting: %new%"
5484
  msgstr ""
5485
 
5486
+ #: defaults.php:465
5487
  msgid "User modified exclusive shipping location(s)"
5488
  msgstr ""
5489
 
5490
+ #: defaults.php:465
5491
  msgid ""
5492
  "Changed the list of specific countries to ship to %LineBreak% Old setting: "
5493
  "%old% %LineBreak% New Setting: %new%"
5494
  msgstr ""
5495
 
5496
+ #: defaults.php:466
5497
  msgid "User modified default customer location"
5498
  msgstr ""
5499
 
5500
+ #: defaults.php:466
5501
  msgid ""
5502
  "The setting Default customer location %LineBreak% Old setting: %old% "
5503
  "%LineBreak% New Setting: %new%"
5504
  msgstr ""
5505
 
5506
+ #: defaults.php:467
5507
  msgid "User modified the cart page"
5508
  msgstr ""
5509
 
5510
+ #: defaults.php:467
5511
  msgid ""
5512
  "Changed the Cart Page %LineBreak% Old page: %old% %LineBreak% New page: %new%"
5513
  msgstr ""
5514
 
5515
+ #: defaults.php:468
5516
  msgid "User modified the checkout page"
5517
  msgstr ""
5518
 
5519
+ #: defaults.php:468
5520
  msgid ""
5521
  "Changed the Checkout page %LineBreak% Old page: %old% %LineBreak% New page: "
5522
  "%new%"
5523
  msgstr ""
5524
 
5525
+ #: defaults.php:469
5526
  msgid "User modified the my account page"
5527
  msgstr ""
5528
 
5529
+ #: defaults.php:469
5530
  msgid ""
5531
  "Changed the My Account Page %LineBreak% Old page: %old% %LineBreak% New "
5532
  "page: %new%"
5533
  msgstr ""
5534
 
5535
+ #: defaults.php:470
5536
  msgid "User modified the terms and conditions page"
5537
  msgstr ""
5538
 
5539
+ #: defaults.php:470
5540
  msgid ""
5541
  "Changed the Terms and Conditions Page %LineBreak% Old page: %old% %LineBreak"
5542
  "% New page: %new%"
5543
  msgstr ""
5544
 
5545
+ #: defaults.php:473
5546
  msgid "Payment Gateways"
5547
  msgstr ""
5548
 
5549
+ #: defaults.php:474
5550
  msgid "User enabled/disabled a payment gateway"
5551
  msgstr ""
5552
 
5553
+ #: defaults.php:474 defaults.php:476
5554
  msgid "The payment gateway %GatewayName%"
5555
  msgstr ""
5556
 
5557
+ #: defaults.php:475
5558
  msgid "User disabled a payment gateway"
5559
  msgstr ""
5560
 
5561
+ #: defaults.php:475
5562
  msgid "Disabled the payment gateway %GatewayName%"
5563
  msgstr ""
5564
 
5565
+ #: defaults.php:476
5566
  msgid "User modified a payment gateway"
5567
  msgstr ""
5568
 
5569
+ #: defaults.php:479
5570
  msgid "Tax Settings"
5571
  msgstr ""
5572
 
5573
+ #: defaults.php:480
5574
  msgid "User modified prices with tax option"
5575
  msgstr ""
5576
 
5577
+ #: defaults.php:480
5578
  msgid "Set the option that prices are %TaxStatus% of tax"
5579
  msgstr ""
5580
 
5581
+ #: defaults.php:481
5582
  msgid "User modified tax calculation base"
5583
  msgstr ""
5584
 
5585
+ #: defaults.php:481
5586
  msgid "Set the setting Calculate tax based on to %Setting%"
5587
  msgstr ""
5588
 
5589
+ #: defaults.php:482
5590
  msgid "User modified shipping tax class"
5591
  msgstr ""
5592
 
5593
+ #: defaults.php:482
5594
  msgid "Set the Shipping tax class to %Setting%"
5595
  msgstr ""
5596
 
5597
+ #: defaults.php:483
5598
  msgid "User enabled/disabled rounding of tax"
5599
  msgstr ""
5600
 
5601
+ #: defaults.php:483
5602
  msgid "Rounding of tax at subtotal level"
5603
  msgstr ""
5604
 
5605
+ #: defaults.php:484
5606
  msgid "User modified a shipping zone"
5607
  msgstr ""
5608
 
5609
+ #: defaults.php:484
5610
  msgid "The shipping zone %ShippingZoneName%"
5611
  msgstr ""
5612
 
5613
+ #: defaults.php:487
5614
  msgid "WC Categories"
5615
  msgstr ""
5616
 
5617
+ #: defaults.php:488
5618
  msgid "User created a new product category"
5619
  msgstr ""
5620
 
5621
+ #: defaults.php:488
5622
  msgid ""
5623
  "A new product category called %CategoryName% %LineBreak% Category slug is "
5624
  "%Slug% %LineBreak% %ProductCatLink%"
5625
  msgstr ""
5626
 
5627
+ #: defaults.php:489
5628
  msgid "User deleted a product category"
5629
  msgstr ""
5630
 
5631
+ #: defaults.php:489
5632
  msgid ""
5633
  "The product category called %CategoryName% %LineBreak% Category slug: "
5634
  "%CategorySlug%"
5635
  msgstr ""
5636
 
5637
+ #: defaults.php:490
5638
  msgid "User changed the slug of a product category"
5639
  msgstr ""
5640
 
5641
+ #: defaults.php:490
5642
  msgid ""
5643
  "Changed the slug of the product category called %CategoryName% %LineBreak% "
5644
  "Previous category slug: %OldSlug% %LineBreak% New category slug: %NewSlug% "
5645
  "%LineBreak% %ProductCatLink%"
5646
  msgstr ""
5647
 
5648
+ #: defaults.php:491
5649
  msgid "User changed the parent category of a product category"
5650
  msgstr ""
5651
 
5652
+ #: defaults.php:491
5653
  msgid ""
5654
  "Changed the parent of the product category %CategoryName% %LineBreak% "
5655
  "Category slug: %CategorySlug% %LineBreak% Previous parent: %OldParentCat% "
5656
  "%LineBreak% New parent: %NewParentCat% %LineBreak% %ProductCatLink%"
5657
  msgstr ""
5658
 
5659
+ #: defaults.php:492
5660
  msgid "User changed the display type of a product category"
5661
  msgstr ""
5662
 
5663
+ #: defaults.php:492
5664
  msgid ""
5665
  "Changed the display type of the product category %CategoryName% %LineBreak% "
5666
  "%CategorySlug% %LineBreak% Previous display type: %OldDisplayType% %LineBreak"
5667
  "% New display type: %NewDisplayType% %LineBreak% %ProductCatLink%"
5668
  msgstr ""
5669
 
5670
+ #: defaults.php:493
5671
  msgid "User changed the name of a product category"
5672
  msgstr ""
5673
 
5674
+ #: defaults.php:493
5675
  msgid ""
5676
  "Previous name: %OldName% %LineBreak% New name: %NewName% %LineBreak% "
5677
  "Category slug: %CategorySlug% %LineBreak% %ProductCatLink%"
5678
  msgstr ""
5679
 
5680
+ #: defaults.php:496
5681
  msgid "Attributes"
5682
  msgstr ""
5683
 
5684
+ #: defaults.php:497
5685
  msgid "User created a new attribute"
5686
  msgstr ""
5687
 
5688
+ #: defaults.php:497
5689
  msgid ""
5690
  "A new attribute in WooCommerce called %AttributeName% %LineBreak% Attribute "
5691
  "slug: %AttributeSlug%"
5692
  msgstr ""
5693
 
5694
+ #: defaults.php:498
5695
  msgid "User deleted an attribute"
5696
  msgstr ""
5697
 
5698
+ #: defaults.php:498
5699
  msgid ""
5700
  "The WooCommerce attribute called %AttributeName% %LineBreak% Attribute slug: "
5701
  "%AttributeSlug%"
5702
  msgstr ""
5703
 
5704
+ #: defaults.php:499
5705
  msgid "User changed the slug of an attribute"
5706
  msgstr ""
5707
 
5708
+ #: defaults.php:499
5709
  msgid ""
5710
  "Changed the slug of the WooCommerce attribute %AttributeName% %LineBreak% "
5711
  "Previous slug: %OldSlug% %LineBreak% New slug: %NewSlug%"
5712
  msgstr ""
5713
 
5714
+ #: defaults.php:500
5715
  msgid "User changed the name of an attribute"
5716
  msgstr ""
5717
 
5718
+ #: defaults.php:500
5719
  msgid ""
5720
  "Changed the name of the WooCommerce attribute %AttributeName% %LineBreak% "
5721
  "Attribute slug: %AttributeSlug% %LineBreak% Previous name: %OldName% "
5722
  "%LineBreak% New name: %NewName%"
5723
  msgstr ""
5724
 
5725
+ #: defaults.php:501
5726
  msgid "User changed the default sort order of an attribute"
5727
  msgstr ""
5728
 
5729
+ #: defaults.php:501
5730
  msgid ""
5731
  "Changed the Default Sort Order of the attribute %AttributeName% in "
5732
  "WooCommerce %LineBreak% Attribute slug: %AttributeSlug% %LineBreak% Previous "
5733
  "sorting order: %OldSortOrder% %LineBreak% New sorting order: %NewSortOrder%"
5734
  msgstr ""
5735
 
5736
+ #: defaults.php:502
5737
  msgid "User enabled/disabled the option Enable Archives of an attribute"
5738
  msgstr ""
5739
 
5740
+ #: defaults.php:502
5741
  msgid "The option Enable Archives in WooCommerce attribute %AttributeName%"
5742
  msgstr ""
5743
 
5744
+ #: defaults.php:505
5745
  msgid "Coupons"
5746
  msgstr ""
5747
 
5748
+ #: defaults.php:506
5749
  msgid "User published a new coupon"
5750
  msgstr ""
5751
 
5752
+ #: defaults.php:506
5753
  msgid ""
5754
  "Published a new coupon called %CouponName% %LineBreak% %EditorLinkCoupon%"
5755
  msgstr ""
5756
 
5757
+ #: defaults.php:507
5758
  msgid "User changed the discount type of a coupon"
5759
  msgstr ""
5760
 
5761
+ #: defaults.php:507
5762
  msgid ""
5763
  "Changed the Discount Type in coupon %CouponName% %LineBreak% Previous "
5764
  "discount type: %OldDiscountType% %LineBreak% New discount type: "
5765
  "%NewDiscountType% %LineBreak% %EditorLinkCoupon%"
5766
  msgstr ""
5767
 
5768
+ #: defaults.php:508
5769
  msgid "User changed the coupon amount of a coupon"
5770
  msgstr ""
5771
 
5772
+ #: defaults.php:508
5773
  msgid ""
5774
  "Changed the Coupon amount in coupon %CouponName% %LineBreak% Previous "
5775
  "amount: %OldAmount% %LineBreak% New amount: %NewAmount% %LineBreak% "
5776
  "%EditorLinkCoupon%"
5777
  msgstr ""
5778
 
5779
+ #: defaults.php:509
5780
  msgid "User changed the coupon expire date of a coupon"
5781
  msgstr ""
5782
 
5783
+ #: defaults.php:509
5784
  msgid ""
5785
  "Changed the expire date of the coupon %CouponName% %LineBreak% Previous "
5786
  "date: %OldDate% %LineBreak% New date: %NewDate% %LineBreak% %EditorLinkCoupon"
5787
  "%"
5788
  msgstr ""
5789
 
5790
+ #: defaults.php:510
5791
  msgid "User changed the usage restriction settings of a coupon"
5792
  msgstr ""
5793
 
5794
+ #: defaults.php:510
5795
  msgid ""
5796
  "Changed the Usage Restriction of the coupon %CouponName% %LineBreak% "
5797
  "Previous usage restriction: %OldMetaValue% %LineBreak% New usage "
5798
  "restriction: %NewMetaValue% %LineBreak% %EditorLinkCoupon%"
5799
  msgstr ""
5800
 
5801
+ #: defaults.php:511
5802
  msgid "User changed the usage limits settings of a coupon"
5803
  msgstr ""
5804
 
5805
+ #: defaults.php:511
5806
  msgid ""
5807
  "Changed the Usage Limits of the coupon %CouponName% %LineBreak% Previous "
5808
  "usage limits: %OldMetaValue% %LineBreak% New usage limits: %NewMetaValue% "
5809
  "%LineBreak% %EditorLinkCoupon%"
5810
  msgstr ""
5811
 
5812
+ #: defaults.php:512
5813
  msgid "User changed the description of a coupon"
5814
  msgstr ""
5815
 
5816
+ #: defaults.php:512
5817
  msgid ""
5818
  "Changed the description of the coupon %CouponName% %LineBreak% Previous "
5819
  "description: %OldDescription% %LineBreak% New description: %NewDescription% "
5820
  "%LineBreak% %EditorLinkCoupon%"
5821
  msgstr ""
5822
 
5823
+ #: defaults.php:513
5824
  msgid "User changed the status of a coupon"
5825
  msgstr ""
5826
 
5827
+ #: defaults.php:513
5828
  msgid ""
5829
  "Changed the Status of the WooCommerce coupon %CouponName% from %OldStatus% "
5830
  "to %NewStatus%."
5831
  msgstr ""
5832
 
5833
+ #: defaults.php:514
5834
  msgid "User renamed a WooCommerce coupon"
5835
  msgstr ""
5836
 
5837
+ #: defaults.php:514
5838
  msgid ""
5839
  "Old coupon name: %OldName% %LineBreak% New coupon name: %NewName% %LineBreak"
5840
  "% %EditorLinkCoupon%"
5841
  msgstr ""
5842
 
5843
+ #: defaults.php:517
5844
  msgid "Orders"
5845
  msgstr ""
5846
 
5847
+ #: defaults.php:518
5848
  msgid "A WooCommerce order has been placed"
5849
  msgstr ""
5850
 
5851
+ #: defaults.php:518
5852
  msgid ""
5853
  "A new order has been placed %LineBreak% Order name: %OrderTitle% %LineBreak% "
5854
  "%EditorLinkOrder%"
5855
  msgstr ""
5856
 
5857
+ #: defaults.php:519
5858
  msgid "WooCommerce order status changed"
5859
  msgstr ""
5860
 
5861
+ #: defaults.php:519
5862
  msgid ""
5863
  "Marked an order %OrderTitle% as %OrderStatus% %LineBreak% %EditorLinkOrder%"
5864
  msgstr ""
5865
 
5866
+ #: defaults.php:520
5867
  msgid "User moved a WooCommerce order to trash"
5868
  msgstr ""
5869
 
5870
+ #: defaults.php:520
5871
  msgid "Moved the order %OrderTitle% to trash"
5872
  msgstr ""
5873
 
5874
+ #: defaults.php:521
5875
  msgid "User moved a WooCommerce order out of trash"
5876
  msgstr ""
5877
 
5878
+ #: defaults.php:521
5879
  msgid ""
5880
  "Restored the order %OrderTitle% from the trash %LineBreak% %EditorLinkOrder%"
5881
  msgstr ""
5882
 
5883
+ #: defaults.php:522
5884
  msgid "User permanently deleted a WooCommerce order"
5885
  msgstr ""
5886
 
5887
+ #: defaults.php:522
5888
  msgid "Permanently deleted the order %OrderTitle%"
5889
  msgstr ""
5890
 
5891
+ #: defaults.php:523
5892
  msgid "User edited a WooCommerce order"
5893
  msgstr ""
5894
 
5895
+ #: defaults.php:523
5896
  msgid "Edited the details in order %OrderTitle% %LineBreak% %EditorLinkOrder%"
5897
  msgstr ""
5898
 
5899
+ #: defaults.php:524
5900
  msgid "User refunded a WooCommerce order"
5901
  msgstr ""
5902
 
5903
+ #: defaults.php:524
5904
  msgid "Refunded the order %OrderTitle% %LineBreak% %EditorLinkOrder%"
5905
  msgstr ""
5906
 
5907
+ #: defaults.php:527
5908
  msgid "User Profile"
5909
  msgstr ""
5910
 
5911
+ #: defaults.php:528
5912
  msgid "User changed the billing address details"
5913
  msgstr ""
5914
 
5915
+ #: defaults.php:528
5916
  msgid ""
5917
  "Changed the billing address details of the user %TargetUsername% %LineBreak% "
5918
  "Role: %Roles% %LineBreak% New Billing address: %NewValue% %LineBreak% "
5919
  "%EditUserLink%"
5920
  msgstr ""
5921
 
5922
+ #: defaults.php:529
5923
  msgid "User changed the shipping address details"
5924
  msgstr ""
5925
 
5926
+ #: defaults.php:529
5927
  msgid ""
5928
  "Changed the shipping address details of the user %TargetUsername% %LineBreak"
5929
  "% Role: %Roles% %LineBreak% New Shipping address: %NewValue% %LineBreak% "
5930
  "%EditUserLink%"
5931
  msgstr ""
5932
 
5933
+ #: defaults.php:535
5934
  msgid "User changed title of a SEO post"
5935
  msgstr ""
5936
 
5937
+ #: defaults.php:535
5938
  msgid ""
5939
  "Changed the Meta title of the post %PostTitle% %LineBreak% ID: %PostID% "
5940
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
5942
  "% %EditorLinkPost%"
5943
  msgstr ""
5944
 
5945
+ #: defaults.php:536
5946
  msgid "User changed the meta description of a SEO post"
5947
  msgstr ""
5948
 
5949
+ #: defaults.php:536
5950
  msgid ""
5951
  "Changed the Meta Description of the post %PostTitle% %LineBreak% ID: %PostID"
5952
  "% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
5954
  "%LineBreak% %EditorLinkPost%"
5955
  msgstr ""
5956
 
5957
+ #: defaults.php:537
5958
  msgid ""
5959
  "User changed setting to allow search engines to show post in search results "
5960
  "of a SEO post"
5961
  msgstr ""
5962
 
5963
+ #: defaults.php:537
5964
  msgid ""
5965
  "Changed the setting to allow search engines to show post in search results "
5966
  "for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType"
5968
  "%LineBreak% New setting: %NewStatus% %LineBreak% %EditorLinkPost%"
5969
  msgstr ""
5970
 
5971
+ #: defaults.php:538
5972
  msgid ""
5973
  "User Enabled/Disabled the option for search engine to follow links of a SEO "
5974
  "post"
5975
  msgstr ""
5976
 
5977
+ #: defaults.php:538
5978
  msgid ""
5979
  "The option for search engine to follow links in post %PostTitle% %LineBreak% "
5980
  "ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
5981
  "%LineBreak% %EditorLinkPost%"
5982
  msgstr ""
5983
 
5984
+ #: defaults.php:539
5985
  msgid "User set the meta robots advanced setting of a SEO post"
5986
  msgstr ""
5987
 
5988
+ #: defaults.php:539
5989
  msgid ""
5990
  "Changed the Meta Robots Advanced setting for the post %PostTitle% %LineBreak"
5991
  "% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
5993
  "% %LineBreak% %EditorLinkPost%"
5994
  msgstr ""
5995
 
5996
+ #: defaults.php:540
5997
  msgid "User changed the canonical URL of a SEO post"
5998
  msgstr ""
5999
 
6000
+ #: defaults.php:540
6001
  msgid ""
6002
  "Changed the Canonical URL of the post %PostTitle% %LineBreak% ID: %PostID% "
6003
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
6005
  "%LineBreak% %EditorLinkPost%"
6006
  msgstr ""
6007
 
6008
+ #: defaults.php:541
6009
  msgid "User changed the focus keyword of a SEO post"
6010
  msgstr ""
6011
 
6012
+ #: defaults.php:541
6013
  msgid ""
6014
  "Changed the focus keyword for the post %PostTitle% %LineBreak% ID: %PostID% "
6015
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
6017
  "%LineBreak% %EditorLinkPost%"
6018
  msgstr ""
6019
 
6020
+ #: defaults.php:542
6021
  msgid "User Enabled/Disabled the option Cornerston Content of a SEO post"
6022
  msgstr ""
6023
 
6024
+ #: defaults.php:542
6025
  msgid ""
6026
  "The option Cornerstone Content in the post %PostTitle% %LineBreak% ID: "
6027
  "%PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
6028
  "%LineBreak% %EditorLinkPost%"
6029
  msgstr ""
6030
 
6031
+ #: defaults.php:545
6032
  msgid "Website Changes"
6033
  msgstr ""
6034
 
6035
+ #: defaults.php:546
6036
  msgid "User changed the Title Separator setting"
6037
  msgstr ""
6038
 
6039
+ #: defaults.php:546
6040
  msgid ""
6041
  "Changed the default title separator %LineBreak% Previous separator: %old% "
6042
  "%LineBreak% New separator: %new%"
6043
  msgstr ""
6044
 
6045
+ #: defaults.php:547
6046
  msgid "User changed the Homepage Title setting"
6047
  msgstr ""
6048
 
6049
+ #: defaults.php:547
6050
  msgid ""
6051
  "Changed the homepage Meta title %LineBreak% Previous title: %old% %LineBreak"
6052
  "% New title: %new%"
6053
  msgstr ""
6054
 
6055
+ #: defaults.php:548
6056
  msgid "User changed the Homepage Meta description setting"
6057
  msgstr ""
6058
 
6059
+ #: defaults.php:548
6060
  msgid ""
6061
  "Changed the homepage Meta description %LineBreak% Previous description: %old"
6062
  "% %LineBreak% New description: %new%"
6063
  msgstr ""
6064
 
6065
+ #: defaults.php:549
6066
  msgid "User changed the Company or Person setting"
6067
  msgstr ""
6068
 
6069
+ #: defaults.php:549
6070
  msgid ""
6071
  "Changed the Company or Person setting %LineBreak% Previous setting: %old% "
6072
  "%LineBreak% New setting: %new%"
6073
  msgstr ""
6074
 
6075
+ #: defaults.php:552
6076
  msgid "Plugin Settings Changes"
6077
  msgstr ""
6078
 
6079
+ #: defaults.php:553
6080
  msgid ""
6081
  "User Enabled/Disabled the option Show Posts/Pages in Search Results in the "
6082
  "Yoast SEO plugin settings"
6083
  msgstr ""
6084
 
6085
+ #: defaults.php:553
6086
  msgid "The option to show %SEOPostType% in search results"
6087
  msgstr ""
6088
 
6089
+ #: defaults.php:554
6090
  msgid ""
6091
  "User changed the Posts/Pages title template in the Yoast SEO plugin settings"
6092
  msgstr ""
6093
 
6094
+ #: defaults.php:554
6095
  msgid ""
6096
  "Changed the %SEOPostType% Meta (SEO) title template %LineBreak% Previous "
6097
  "template: %old% %LineBreak% New template: %new%"
6098
  msgstr ""
6099
 
6100
+ #: defaults.php:555
6101
  msgid "User Enabled/Disabled SEO analysis in the Yoast SEO plugin settings"
6102
  msgstr ""
6103
 
6104
+ #: defaults.php:555
6105
  msgid "The SEO Analysis feature"
6106
  msgstr ""
6107
 
6108
+ #: defaults.php:556
6109
  msgid ""
6110
  "User Enabled/Disabled readability analysis in the Yoast SEO plugin settings"
6111
  msgstr ""
6112
 
6113
+ #: defaults.php:556
6114
  msgid "The Readability Analysis feature"
6115
  msgstr ""
6116
 
6117
+ #: defaults.php:557
6118
  msgid ""
6119
  "User Enabled/Disabled cornerstone content in the Yoast SEO plugin settings"
6120
  msgstr ""
6121
 
6122
+ #: defaults.php:557
6123
  msgid "The Cornerstone content feature"
6124
  msgstr ""
6125
 
6126
+ #: defaults.php:558
6127
  msgid ""
6128
  "User Enabled/Disabled the text link counter in the Yoast SEO plugin settings"
6129
  msgstr ""
6130
 
6131
+ #: defaults.php:558
6132
  msgid "The Text link counter feature"
6133
  msgstr ""
6134
 
6135
+ #: defaults.php:559
6136
  msgid "User Enabled/Disabled XML sitemaps in the Yoast SEO plugin settings"
6137
  msgstr ""
6138
 
6139
+ #: defaults.php:559
6140
  msgid "The XML sitemap feature"
6141
  msgstr ""
6142
 
6143
+ #: defaults.php:560
6144
  msgid "User Enabled/Disabled ryte integration in the Yoast SEO plugin settings"
6145
  msgstr ""
6146
 
6147
+ #: defaults.php:560
6148
  msgid "The Ryte integration feature"
6149
  msgstr ""
6150
 
6151
+ #: defaults.php:561
6152
  msgid ""
6153
  "User Enabled/Disabled the admin bar menu in the Yoast SEO plugin settings"
6154
  msgstr ""
6155
 
6156
+ #: defaults.php:561
6157
  msgid "The Admin bar menu feature"
6158
  msgstr ""
6159
 
6160
+ #: defaults.php:562
6161
  msgid ""
6162
  "User changed the Posts/Pages meta description template in the Yoast SEO "
6163
  "plugin settings"
6164
  msgstr ""
6165
 
6166
+ #: defaults.php:562
6167
  msgid ""
6168
  "Changed the %SEOPostType% Meta description template %LineBreak% Previous "
6169
  "template: %old% New template: %new%"
6170
  msgstr ""
6171
 
6172
+ #: defaults.php:563
6173
  msgid ""
6174
  "User set the option Date in Snippet Preview for Posts/Pages in the Yoast SEO "
6175
  "plugin settings"
6176
  msgstr ""
6177
 
6178
+ #: defaults.php:563
6179
  msgid "The option Date in Snippet Preview for %SEOPostType%"
6180
  msgstr ""
6181
 
6182
+ #: defaults.php:564
6183
  msgid ""
6184
  "User set the option Yoast SEO Meta Box for Posts/Pages in the Yoast SEO "
6185
  "plugin settings"
6186
  msgstr ""
6187
 
6188
+ #: defaults.php:564
6189
  msgid "The option Yoast SEO Meta Box for %SEOPostType%"
6190
  msgstr ""
6191
 
6192
+ #: defaults.php:565
6193
  msgid ""
6194
  "User Enabled/Disabled the advanced settings for authors in the Yoast SEO "
6195
  "plugin settings"
6196
  msgstr ""
6197
 
6198
+ #: defaults.php:565
6199
  msgid "The Security: no advanced settings for authors feature"
6200
  msgstr ""
6201
 
6202
+ #: defaults.php:576
6203
+ msgid "Dummy"
6204
+ msgstr ""
6205
+
6206
+ #: wp-security-audit-log.php:818 wp-security-audit-log.php:845
6207
  #, php-format
6208
  msgid "Hey %1$s"
6209
  msgstr ""
6210
 
6211
+ #: wp-security-audit-log.php:819
6212
  msgid ""
6213
  "Never miss an important update! Opt-in to our security and feature updates "
6214
  "notifications, and non-sensitive diagnostic tracking with freemius.com."
6215
  msgstr ""
6216
 
6217
+ #: wp-security-audit-log.php:820 wp-security-audit-log.php:848
6218
  msgid "Note: "
6219
  msgstr ""
6220
 
6221
+ #: wp-security-audit-log.php:821 wp-security-audit-log.php:849
6222
  msgid "NO AUDIT LOG ACTIVITY & DATA IS SENT BACK TO OUR SERVERS."
6223
  msgstr ""
6224
 
6225
+ #: wp-security-audit-log.php:847
 
6226
  #, php-format
6227
  msgid ""
6228
  "Please help us improve %2$s! If you opt-in, some non-sensitive data about "
6230
  "use. If you skip this, that's okay! %2$s will still work just fine."
6231
  msgstr ""
6232
 
6233
+ #: wp-security-audit-log.php:869
 
6234
  #, php-format
6235
  msgid ""
6236
  "Get a free 7-day trial of the premium edition of %s. No credit card "
6238
  msgstr ""
6239
 
6240
  #. Plugin Name of the plugin/theme
6241
+ #: wp-security-audit-log.php:870
6242
  msgid "WP Activity Log"
6243
  msgstr ""
6244
 
6245
+ #: wp-security-audit-log.php:874
6246
  msgid "Start free trial"
6247
  msgstr ""
6248
 
6249
+ #: wp-security-audit-log.php:942
6250
  #, php-format
6251
  msgid ""
6252
  "You need to activate the licence key to use WP Securitity Audit Log Premium. "
6253
  "%2$s"
6254
  msgstr ""
6255
 
6256
+ #: wp-security-audit-log.php:943
6257
  msgid "Activate the licence key now"
6258
  msgstr ""
6259
 
6260
+ #: wp-security-audit-log.php:960
6261
  #, php-format
6262
  msgid ""
6263
  "The license is limited to %s sub-sites. You need to upgrade your license to "
6264
  "cover all the sub-sites on this network."
6265
  msgstr ""
6266
 
6267
+ #: wp-security-audit-log.php:1070
6268
  msgid ""
6269
  "Error: You do not have sufficient permissions to disable this custom field."
6270
  msgstr ""
6271
 
6272
+ #: wp-security-audit-log.php:1103
6273
  #, php-format
6274
  msgid ""
6275
  "Custom Field %1$s is no longer being monitored.<br />Enable the monitoring "
6276
  "of this custom field again from the"
6277
  msgstr ""
6278
 
6279
+ #: wp-security-audit-log.php:1103
6280
  msgid "Excluded Objects"
6281
  msgstr ""
6282
 
6283
+ #: wp-security-audit-log.php:1103
6284
  msgid " tab in the plugin settings"
6285
  msgstr ""
6286
 
6287
+ #: wp-security-audit-log.php:1115
6288
  msgid "Error: You do not have sufficient permissions to disable this alert."
6289
  msgstr ""
6290
 
6291
+ #: wp-security-audit-log.php:1139
6292
  #, php-format
6293
  msgid "Alert %1$s is no longer being monitored.<br /> %2$s"
6294
  msgstr ""
6295
 
6296
+ #: wp-security-audit-log.php:1139
6297
  msgid ""
6298
  "You can enable this alert again from the Enable/Disable Alerts node in the "
6299
  "plugin menu."
6300
  msgstr ""
6301
 
6302
+ #: wp-security-audit-log.php:1240
6303
  #, php-format
6304
  msgid ""
6305
  "You are using a version of PHP that is older than %s, which is no longer "
6306
  "supported."
6307
  msgstr ""
6308
 
6309
+ #: wp-security-audit-log.php:1242
6310
  msgid ""
6311
  "Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
6312
  "\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
6313
  "are using."
6314
  msgstr ""
6315
 
6316
+ #: wp-security-audit-log.php:1244
6317
  msgid ""
6318
+ "The WP Activity Log plugin is a multisite network tool, so it has to be "
6319
+ "activated at network level."
6320
  msgstr ""
6321
 
6322
+ #: wp-security-audit-log.php:1246
6323
  msgid "Redirect me to the network dashboard"
6324
  msgstr ""
6325
 
6326
+ #: wp-security-audit-log.php:1251
6327
  #, php-format
6328
  msgid "Please install the %s plugin on the MainWP dashboard."
6329
  msgstr ""
6330
 
6331
+ #: wp-security-audit-log.php:1251
6332
  msgid "Activity Log for MainWP"
6333
  msgstr ""
6334
 
6335
+ #: wp-security-audit-log.php:1253
6336
  #, php-format
6337
  msgid ""
6338
+ "The WP Activity Log should be installed on the child sites only. Refer to "
6339
+ "the %s for more information."
6340
  msgstr ""
6341
 
6342
+ #: wp-security-audit-log.php:1253
6343
  msgid "getting started guide"
6344
  msgstr ""
6345
 
6346
+ #: wp-security-audit-log.php:1339
6347
  msgid ""
6348
  "This plugin uses 3 tables in the WordPress database to store the activity "
6349
  "log and settings. It seems that these tables were not created."
6350
  msgstr ""
6351
 
6352
+ #: wp-security-audit-log.php:1341
6353
  msgid ""
6354
  "This could happen because the database user does not have the right "
6355
  "privileges to create the tables in the database. We recommend you to update "
6356
  "the privileges and try enabling the plugin again."
6357
  msgstr ""
6358
 
6359
+ #: wp-security-audit-log.php:1343
6360
  #, php-format
6361
  msgid ""
6362
  "If after doing so you still have issues, please send us an email on %s for "
6363
  "assistance."
6364
  msgstr ""
6365
 
6366
+ #: wp-security-audit-log.php:1343
6367
  msgid "support@wpsecurityauditlog.com"
6368
  msgstr ""
6369
 
6370
+ #: wp-security-audit-log.php:1925
6371
  msgid ""
6372
  "For security and auditing purposes, a record of all of your logged-in "
6373
  "actions and changes within the WordPress dashboard will be recorded in an "
6374
+ "audit log with the <a href=\"https://wpactivitylog.com/\" target=\"_blank"
6375
+ "\">WP Activity Log plugin</a>. The audit log also includes the IP address "
6376
+ "where you accessed this site from."
6377
  msgstr ""
6378
 
6379
+ #: wp-security-audit-log.php:1944
6380
  msgid "Every 6 hours"
6381
  msgstr ""
6382
 
6383
+ #: wp-security-audit-log.php:1948
6384
  msgid "Every 45 minutes"
6385
  msgstr ""
6386
 
6387
+ #: wp-security-audit-log.php:1952
6388
  msgid "Every 30 minutes"
6389
  msgstr ""
6390
 
6391
+ #: wp-security-audit-log.php:1956
6392
  msgid "Every 15 minutes"
6393
  msgstr ""
6394
 
6395
+ #: wp-security-audit-log.php:1960
6396
  msgid "Every 10 minutes"
6397
  msgstr ""
6398
 
6399
+ #: wp-security-audit-log.php:1964
6400
  msgid "Every 1 minute"
6401
  msgstr ""
6402
 
6403
+ #: wp-security-audit-log.php:1978
 
6404
  #, php-format
6405
  msgid "Method %1$s is deprecated since version %2$s!"
6406
  msgstr ""
6413
  msgid ""
6414
  "Identify WordPress security issues before they become a problem. Keep track "
6415
  "of everything happening on your WordPress including WordPress users "
6416
+ "activity. Similar to Windows Event Log and Linux Syslog, WP Activity Log "
6417
+ "generates a security alert for everything that happens on your WordPress "
6418
  "blogs and websites. Use the Audit Log Viewer included in the plugin to see "
6419
  "all the security alerts."
6420
  msgstr ""
readme.txt CHANGED
@@ -6,7 +6,7 @@ License URI: https://www.gnu.org/licenses/gpl.html
6
  Tags: activity log, wordpress activity logs, security audit log, audit log, user tracking, security event log, audit trail, wordpress security monitor, wordpress admin, wordpress admin monitoring, user activity, admin, multisite, SMS alerts, wordpress monitoring, email notification, wordpress email alerts, tracking, user tracking, user activity report, wordpress audit trail
7
  Requires at least: 3.6
8
  Tested up to: 5.4.1
9
- Stable tag: 4.1.0
10
  Requires PHP: 5.5
11
 
12
  The #1 user-rated activity log plugin. Keep a comprehensive log of the changes that happen on your site with this easy to use plugin.
@@ -204,26 +204,19 @@ Please refer to our [support pages](https://wpactivitylog.com/support/?utm_sourc
204
 
205
  == Changelog ==
206
 
207
- = 4.1.0 (2020-05-26) =
208
 
209
- Release notes: [New session policies per user roles & other improvements](https://wpactivitylog.com/wsal-4-1/)
210
 
211
- * **New Features**
212
- * New [WordPress users sessions management](https://wpactivitylog.com/features/wordpress-users-sessions-management-tools/) module with configurable policies per user role.
213
- * Setting to configure the log files location (request log file, 6007 and 6023 events).
 
 
 
 
214
 
215
- * **Plugin Improvements**
216
- * [Activity log reports](https://wpactivitylog.com/features/reports-wordpress-activity-log/) now support user roles which have the space character in the name.
217
- * Removed more legacy code from the plugin (the check for encryption method).
218
- * Removed old update scripts (for when updating from versions prior to 3.5.2).
219
- * Moved 10 more plugin settings from the custom table to the wp_options table (performance improvement).
220
- * Standardized the format of all placeholders in the UI (now they are all using default WordPress format).
221
- * Removed premium only code from free edition.
222
-
223
- * **Bug fixes**
224
- * Scheduled daily reports included data of the last 24 hours instead of the previous day.
225
- * Resaving the activity logs archiving settings generated errors (didn't check if connection was already setup).
226
- * Issue with the plugin when installed on MainWP child sites ([support ticket](https://wordpress.org/support/topic/cannot-use-object-of-type-wsal_models_occurrencequery-as-array/)).
227
- * Plugin adding Menu entry with no title (used by the wizard).
228
 
229
  Refer to the [complete plugin changelog](https://wpactivitylog.com/support/kb/plugin-changelog/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=WSAL&utm_content=plugin+repos+description) for more detailed information about what was new, improved and fixed in previous versions of the WP Activity Log plugin.
6
  Tags: activity log, wordpress activity logs, security audit log, audit log, user tracking, security event log, audit trail, wordpress security monitor, wordpress admin, wordpress admin monitoring, user activity, admin, multisite, SMS alerts, wordpress monitoring, email notification, wordpress email alerts, tracking, user tracking, user activity report, wordpress audit trail
7
  Requires at least: 3.6
8
  Tested up to: 5.4.1
9
+ Stable tag: 4.1.2
10
  Requires PHP: 5.5
11
 
12
  The #1 user-rated activity log plugin. Keep a comprehensive log of the changes that happen on your site with this easy to use plugin.
204
 
205
  == Changelog ==
206
 
207
+ = 4.1.2 (2020-06-24) =
208
 
209
+ Release notes: [WP Activity Log fully integrated with Website File Changes Monitor](https://www.wpwhitesecurity.com/wfcm-1-6/)
210
 
211
+ * **New**
212
+ * Plugin now uses the [Website File Changes Monitor](https://www.wpwhitesecurity.com/wordpress-plugins/website-file-changes-monitor/) plugin for file integrity monitor scans.
213
+
214
+ * **Improvements**
215
+ * Event ID 6033 now reports when [file integrity monitoring](https://www.wpwhitesecurity.com/wordpress-file-integrity-scanning-site/) scans start and stop.
216
+ * File changes events in the activity log link directly to the changes reported in Website File Changes Monitor.
217
+ * Log files custom path setting reverts to default path if left empty.
218
 
219
+ * **Bug fix**
220
+ * Plugin creating the log files outside website directory if Website URL is different than WordPress URL.
 
 
 
 
 
 
 
 
 
 
 
221
 
222
  Refer to the [complete plugin changelog](https://wpactivitylog.com/support/kb/plugin-changelog/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=WSAL&utm_content=plugin+repos+description) for more detailed information about what was new, improved and fixed in previous versions of the WP Activity Log plugin.
sdk/class-wsal-browser.php CHANGED
@@ -616,16 +616,16 @@ class WSAL_Browser {
616
  * Reset all properties
617
  */
618
  public function reset() {
619
- $http_user_agent = filter_input( INPUT_SERVER, 'HTTP_USER_AGENT', FILTER_SANITIZE_STRING );
620
- $this->_agent = ! empty( $http_user_agent ) ? $http_user_agent : '';
621
  $this->_browser_name = $this->BROWSER_UNKNOWN;
622
- $this->_version = $this->VERSION_UNKNOWN;
623
- $this->_platform = $this->PLATFORM_UNKNOWN;
624
- $this->_os = $this->OPERATING_SYSTEM_UNKNOWN;
625
- $this->_is_aol = false;
626
- $this->_is_mobile = false;
627
- $this->_is_robot = false;
628
- $this->_aol_version = $this->VERSION_UNKNOWN;
629
  }
630
 
631
  /**
@@ -801,10 +801,10 @@ class WSAL_Browser {
801
  * @return string formatted string with a summary of the browser
802
  */
803
  public function __toString() {
804
- $text1 = $this->getUserAgent(); // Grabs the UA (user agent) string.
805
- $ua_line1 = substr( $text1, 0, 32 ); // The first line we print should only be the first 32 characters of the UA string.
806
- $text2 = $this->getUserAgent(); // Now we grab it again and save it to a string.
807
- $towrap_ua = str_replace( $ua_line1, '', $text2 ); // The rest of the printoff (other than first line) is equivolent.
808
 
809
  /**
810
  * To the whole string minus the part we printed off. IE
@@ -905,7 +905,7 @@ class WSAL_Browser {
905
  */
906
  public function checkBrowserBlackBerry() {
907
  if ( stripos( $this->_agent, 'blackberry' ) !== false ) {
908
- $aresult = explode( '/', stristr( $this->_agent, 'BlackBerry' ) );
909
  $aversion = explode( ' ', $aresult[1] );
910
  $this->setVersion( $aversion[0] );
911
  $this->_browser_name = $this->BROWSER_BLACKBERRY;
@@ -940,7 +940,7 @@ class WSAL_Browser {
940
  */
941
  public function checkBrowserGoogleBot() {
942
  if ( stripos( $this->_agent, 'googlebot' ) !== false ) {
943
- $aresult = explode( '/', stristr( $this->_agent, 'googlebot' ) );
944
  $aversion = explode( ' ', $aresult[1] );
945
  $this->setVersion( str_replace( ';', '', $aversion[0] ) );
946
  $this->_browser_name = $this->BROWSER_GOOGLEBOT;
@@ -957,7 +957,7 @@ class WSAL_Browser {
957
  */
958
  public function checkBrowserMSNBot() {
959
  if ( stripos( $this->_agent, 'msnbot' ) !== false ) {
960
- $aresult = explode( '/', stristr( $this->_agent, 'msnbot' ) );
961
  $aversion = explode( ' ', $aresult[1] );
962
  $this->setVersion( str_replace( ';', '', $aversion[0] ) );
963
  $this->_browser_name = $this->BROWSER_MSNBOT;
@@ -974,15 +974,15 @@ class WSAL_Browser {
974
  */
975
  public function checkBrowserW3CValidator() {
976
  if ( stripos( $this->_agent, 'W3C-checklink' ) !== false ) {
977
- $aresult = explode( '/', stristr( $this->_agent, 'W3C-checklink' ) );
978
  $aversion = explode( ' ', $aresult[1] );
979
  $this->setVersion( $aversion[0] );
980
  $this->_browser_name = $this->BROWSER_W3CVALIDATOR;
981
  return true;
982
  } elseif ( stripos( $this->_agent, 'W3C_Validator' ) !== false ) {
983
  // Some of the Validator versions do not delineate w/ a slash - add it back in.
984
- $ua = str_replace( 'W3C_Validator ', 'W3C_Validator/', $this->_agent );
985
- $aresult = explode( '/', stristr( $ua, 'W3C_Validator' ) );
986
  $aversion = explode( ' ', $aresult[1] );
987
  $this->setVersion( $aversion[0] );
988
  $this->_browser_name = $this->BROWSER_W3CVALIDATOR;
@@ -998,7 +998,7 @@ class WSAL_Browser {
998
  */
999
  public function checkBrowserSlurp() {
1000
  if ( stripos( $this->_agent, 'slurp' ) !== false ) {
1001
- $aresult = explode( '/', stristr( $this->_agent, 'Slurp' ) );
1002
  $aversion = explode( ' ', $aresult[1] );
1003
  $this->setVersion( $aversion[0] );
1004
  $this->_browser_name = $this->BROWSER_SLURP;
@@ -1067,7 +1067,7 @@ class WSAL_Browser {
1067
  if ( stripos( $this->_agent, 'opera mini' ) !== false ) {
1068
  $resultant = stristr( $this->_agent, 'opera mini' );
1069
  if ( preg_match( '/\//', $resultant ) ) {
1070
- $aresult = explode( '/', $resultant );
1071
  $aversion = explode( ' ', $aresult[1] );
1072
  $this->setVersion( $aversion[0] );
1073
  } else {
@@ -1082,7 +1082,7 @@ class WSAL_Browser {
1082
  if ( preg_match( '/Version\/(10.*)$/', $resultant, $matches ) ) {
1083
  $this->setVersion( $matches[1] );
1084
  } elseif ( preg_match( '/\//', $resultant ) ) {
1085
- $aresult = explode( '/', str_replace( '(', ' ', $resultant ) );
1086
  $aversion = explode( ' ', $aresult[1] );
1087
  $this->setVersion( $aversion[0] );
1088
  } else {
@@ -1102,7 +1102,7 @@ class WSAL_Browser {
1102
  */
1103
  public function checkBrowserChrome() {
1104
  if ( stripos( $this->_agent, 'Chrome' ) !== false ) {
1105
- $aresult = explode( '/', stristr( $this->_agent, 'Chrome' ) );
1106
  $aversion = explode( ' ', $aresult[1] );
1107
  $this->setVersion( $aversion[0] );
1108
  $this->setBrowser( $this->BROWSER_CHROME );
@@ -1119,7 +1119,7 @@ class WSAL_Browser {
1119
  */
1120
  public function checkBrowserWebTv() {
1121
  if ( stripos( $this->_agent, 'webtv' ) !== false ) {
1122
- $aresult = explode( '/', stristr( $this->_agent, 'webtv' ) );
1123
  $aversion = explode( ' ', $aresult[1] );
1124
  $this->setVersion( $aversion[0] );
1125
  $this->setBrowser( $this->BROWSER_WEBTV );
@@ -1135,7 +1135,7 @@ class WSAL_Browser {
1135
  */
1136
  public function checkBrowserNetPositive() {
1137
  if ( stripos( $this->_agent, 'NetPositive' ) !== false ) {
1138
- $aresult = explode( '/', stristr( $this->_agent, 'NetPositive' ) );
1139
  $aversion = explode( ' ', $aresult[1] );
1140
  $this->setVersion( str_replace( array( '(', ')', ';' ), '', $aversion[0] ) );
1141
  $this->setBrowser( $this->BROWSER_NETPOSITIVE );
@@ -1151,7 +1151,7 @@ class WSAL_Browser {
1151
  */
1152
  public function checkBrowserGaleon() {
1153
  if ( stripos( $this->_agent, 'galeon' ) !== false ) {
1154
- $aresult = explode( ' ', stristr( $this->_agent, 'galeon' ) );
1155
  $aversion = explode( '/', $aresult[0] );
1156
  $this->setVersion( $aversion[1] );
1157
  $this->setBrowser( $this->BROWSER_GALEON );
@@ -1167,7 +1167,7 @@ class WSAL_Browser {
1167
  */
1168
  public function checkBrowserKonqueror() {
1169
  if ( stripos( $this->_agent, 'Konqueror' ) !== false ) {
1170
- $aresult = explode( ' ', stristr( $this->_agent, 'Konqueror' ) );
1171
  $aversion = explode( '/', $aresult[0] );
1172
  $this->setVersion( $aversion[1] );
1173
  $this->setBrowser( $this->BROWSER_KONQUEROR );
@@ -1198,7 +1198,7 @@ class WSAL_Browser {
1198
  */
1199
  public function checkBrowserOmniWeb() {
1200
  if ( stripos( $this->_agent, 'omniweb' ) !== false ) {
1201
- $aresult = explode( '/', stristr( $this->_agent, 'omniweb' ) );
1202
  $aversion = explode( ' ', isset( $aresult[1] ) ? $aresult[1] : '' );
1203
  $this->setVersion( $aversion[0] );
1204
  $this->setBrowser( $this->BROWSER_OMNIWEB );
@@ -1330,7 +1330,7 @@ class WSAL_Browser {
1330
  */
1331
  public function checkBrowserIceweasel() {
1332
  if ( stripos( $this->_agent, 'Iceweasel' ) !== false ) {
1333
- $aresult = explode( '/', stristr( $this->_agent, 'Iceweasel' ) );
1334
  $aversion = explode( ' ', $aresult[1] );
1335
  $this->setVersion( $aversion[0] );
1336
  $this->setBrowser( $this->BROWSER_ICEWEASEL );
@@ -1371,7 +1371,7 @@ class WSAL_Browser {
1371
  */
1372
  public function checkBrowserLynx() {
1373
  if ( stripos( $this->_agent, 'lynx' ) !== false ) {
1374
- $aresult = explode( '/', stristr( $this->_agent, 'Lynx' ) );
1375
  $aversion = explode( ' ', ( isset( $aresult[1] ) ? $aresult[1] : '' ) );
1376
  $this->setVersion( $aversion[0] );
1377
  $this->setBrowser( $this->BROWSER_LYNX );
@@ -1387,7 +1387,7 @@ class WSAL_Browser {
1387
  */
1388
  public function checkBrowserAmaya() {
1389
  if ( stripos( $this->_agent, 'amaya' ) !== false ) {
1390
- $aresult = explode( '/', stristr( $this->_agent, 'Amaya' ) );
1391
  $aversion = explode( ' ', $aresult[1] );
1392
  $this->setVersion( $aversion[0] );
1393
  $this->setBrowser( $this->BROWSER_AMAYA );
616
  * Reset all properties
617
  */
618
  public function reset() {
619
+ $http_user_agent = filter_input( INPUT_SERVER, 'HTTP_USER_AGENT', FILTER_SANITIZE_STRING );
620
+ $this->_agent = ! empty( $http_user_agent ) ? $http_user_agent : '';
621
  $this->_browser_name = $this->BROWSER_UNKNOWN;
622
+ $this->_version = $this->VERSION_UNKNOWN;
623
+ $this->_platform = $this->PLATFORM_UNKNOWN;
624
+ $this->_os = $this->OPERATING_SYSTEM_UNKNOWN;
625
+ $this->_is_aol = false;
626
+ $this->_is_mobile = false;
627
+ $this->_is_robot = false;
628
+ $this->_aol_version = $this->VERSION_UNKNOWN;
629
  }
630
 
631
  /**
801
  * @return string formatted string with a summary of the browser
802
  */
803
  public function __toString() {
804
+ $text1 = $this->getUserAgent(); // Grabs the UA (user agent) string.
805
+ $ua_line1 = substr( $text1, 0, 32 ); // The first line we print should only be the first 32 characters of the UA string.
806
+ $text2 = $this->getUserAgent(); // Now we grab it again and save it to a string.
807
+ $towrap_ua = str_replace( $ua_line1, '', $text2 ); // The rest of the printoff (other than first line) is equivolent.
808
 
809
  /**
810
  * To the whole string minus the part we printed off. IE
905
  */
906
  public function checkBrowserBlackBerry() {
907
  if ( stripos( $this->_agent, 'blackberry' ) !== false ) {
908
+ $aresult = explode( '/', stristr( $this->_agent, 'BlackBerry' ) );
909
  $aversion = explode( ' ', $aresult[1] );
910
  $this->setVersion( $aversion[0] );
911
  $this->_browser_name = $this->BROWSER_BLACKBERRY;
940
  */
941
  public function checkBrowserGoogleBot() {
942
  if ( stripos( $this->_agent, 'googlebot' ) !== false ) {
943
+ $aresult = explode( '/', stristr( $this->_agent, 'googlebot' ) );
944
  $aversion = explode( ' ', $aresult[1] );
945
  $this->setVersion( str_replace( ';', '', $aversion[0] ) );
946
  $this->_browser_name = $this->BROWSER_GOOGLEBOT;
957
  */
958
  public function checkBrowserMSNBot() {
959
  if ( stripos( $this->_agent, 'msnbot' ) !== false ) {
960
+ $aresult = explode( '/', stristr( $this->_agent, 'msnbot' ) );
961
  $aversion = explode( ' ', $aresult[1] );
962
  $this->setVersion( str_replace( ';', '', $aversion[0] ) );
963
  $this->_browser_name = $this->BROWSER_MSNBOT;
974
  */
975
  public function checkBrowserW3CValidator() {
976
  if ( stripos( $this->_agent, 'W3C-checklink' ) !== false ) {
977
+ $aresult = explode( '/', stristr( $this->_agent, 'W3C-checklink' ) );
978
  $aversion = explode( ' ', $aresult[1] );
979
  $this->setVersion( $aversion[0] );
980
  $this->_browser_name = $this->BROWSER_W3CVALIDATOR;
981
  return true;
982
  } elseif ( stripos( $this->_agent, 'W3C_Validator' ) !== false ) {
983
  // Some of the Validator versions do not delineate w/ a slash - add it back in.
984
+ $ua = str_replace( 'W3C_Validator ', 'W3C_Validator/', $this->_agent );
985
+ $aresult = explode( '/', stristr( $ua, 'W3C_Validator' ) );
986
  $aversion = explode( ' ', $aresult[1] );
987
  $this->setVersion( $aversion[0] );
988
  $this->_browser_name = $this->BROWSER_W3CVALIDATOR;
998
  */
999
  public function checkBrowserSlurp() {
1000
  if ( stripos( $this->_agent, 'slurp' ) !== false ) {
1001
+ $aresult = explode( '/', stristr( $this->_agent, 'Slurp' ) );
1002
  $aversion = explode( ' ', $aresult[1] );
1003
  $this->setVersion( $aversion[0] );
1004
  $this->_browser_name = $this->BROWSER_SLURP;
1067
  if ( stripos( $this->_agent, 'opera mini' ) !== false ) {
1068
  $resultant = stristr( $this->_agent, 'opera mini' );
1069
  if ( preg_match( '/\//', $resultant ) ) {
1070
+ $aresult = explode( '/', $resultant );
1071
  $aversion = explode( ' ', $aresult[1] );
1072
  $this->setVersion( $aversion[0] );
1073
  } else {
1082
  if ( preg_match( '/Version\/(10.*)$/', $resultant, $matches ) ) {
1083
  $this->setVersion( $matches[1] );
1084
  } elseif ( preg_match( '/\//', $resultant ) ) {
1085
+ $aresult = explode( '/', str_replace( '(', ' ', $resultant ) );
1086
  $aversion = explode( ' ', $aresult[1] );
1087
  $this->setVersion( $aversion[0] );
1088
  } else {
1102
  */
1103
  public function checkBrowserChrome() {
1104
  if ( stripos( $this->_agent, 'Chrome' ) !== false ) {
1105
+ $aresult = explode( '/', stristr( $this->_agent, 'Chrome' ) );
1106
  $aversion = explode( ' ', $aresult[1] );
1107
  $this->setVersion( $aversion[0] );
1108
  $this->setBrowser( $this->BROWSER_CHROME );
1119
  */
1120
  public function checkBrowserWebTv() {
1121
  if ( stripos( $this->_agent, 'webtv' ) !== false ) {
1122
+ $aresult = explode( '/', stristr( $this->_agent, 'webtv' ) );
1123
  $aversion = explode( ' ', $aresult[1] );
1124
  $this->setVersion( $aversion[0] );
1125
  $this->setBrowser( $this->BROWSER_WEBTV );
1135
  */
1136
  public function checkBrowserNetPositive() {
1137
  if ( stripos( $this->_agent, 'NetPositive' ) !== false ) {
1138
+ $aresult = explode( '/', stristr( $this->_agent, 'NetPositive' ) );
1139
  $aversion = explode( ' ', $aresult[1] );
1140
  $this->setVersion( str_replace( array( '(', ')', ';' ), '', $aversion[0] ) );
1141
  $this->setBrowser( $this->BROWSER_NETPOSITIVE );
1151
  */
1152
  public function checkBrowserGaleon() {
1153
  if ( stripos( $this->_agent, 'galeon' ) !== false ) {
1154
+ $aresult = explode( ' ', stristr( $this->_agent, 'galeon' ) );
1155
  $aversion = explode( '/', $aresult[0] );
1156
  $this->setVersion( $aversion[1] );
1157
  $this->setBrowser( $this->BROWSER_GALEON );
1167
  */
1168
  public function checkBrowserKonqueror() {
1169
  if ( stripos( $this->_agent, 'Konqueror' ) !== false ) {
1170
+ $aresult = explode( ' ', stristr( $this->_agent, 'Konqueror' ) );
1171
  $aversion = explode( '/', $aresult[0] );
1172
  $this->setVersion( $aversion[1] );
1173
  $this->setBrowser( $this->BROWSER_KONQUEROR );
1198
  */
1199
  public function checkBrowserOmniWeb() {
1200
  if ( stripos( $this->_agent, 'omniweb' ) !== false ) {
1201
+ $aresult = explode( '/', stristr( $this->_agent, 'omniweb' ) );
1202
  $aversion = explode( ' ', isset( $aresult[1] ) ? $aresult[1] : '' );
1203
  $this->setVersion( $aversion[0] );
1204
  $this->setBrowser( $this->BROWSER_OMNIWEB );
1330
  */
1331
  public function checkBrowserIceweasel() {
1332
  if ( stripos( $this->_agent, 'Iceweasel' ) !== false ) {
1333
+ $aresult = explode( '/', stristr( $this->_agent, 'Iceweasel' ) );
1334
  $aversion = explode( ' ', $aresult[1] );
1335
  $this->setVersion( $aversion[0] );
1336
  $this->setBrowser( $this->BROWSER_ICEWEASEL );
1371
  */
1372
  public function checkBrowserLynx() {
1373
  if ( stripos( $this->_agent, 'lynx' ) !== false ) {
1374
+ $aresult = explode( '/', stristr( $this->_agent, 'Lynx' ) );
1375
  $aversion = explode( ' ', ( isset( $aresult[1] ) ? $aresult[1] : '' ) );
1376
  $this->setVersion( $aversion[0] );
1377
  $this->setBrowser( $this->BROWSER_LYNX );
1387
  */
1388
  public function checkBrowserAmaya() {
1389
  if ( stripos( $this->_agent, 'amaya' ) !== false ) {
1390
+ $aresult = explode( '/', stristr( $this->_agent, 'Amaya' ) );
1391
  $aversion = explode( ' ', $aresult[1] );
1392
  $this->setVersion( $aversion[0] );
1393
  $this->setBrowser( $this->BROWSER_AMAYA );
sdk/freemius/assets/img/wp-security-audit-log.png CHANGED
Binary file
sdk/freemius/includes/class-freemius.php CHANGED
@@ -3913,7 +3913,7 @@
3913
  if ( $is_connected ) {
3914
  FS_GDPR_Manager::instance()->store_is_required( $pong->is_gdpr_required );
3915
  }
3916
-
3917
  $this->store_connectivity_info( $pong, $is_connected );
3918
 
3919
  return $this->_has_api_connection;
@@ -9546,7 +9546,7 @@
9546
 
9547
  if ( is_object( $fs ) ) {
9548
  $fs->remove_sdk_reference();
9549
-
9550
  self::require_plugin_essentials();
9551
 
9552
  if ( is_plugin_active( $fs->_free_plugin_basename ) ||
@@ -12594,7 +12594,7 @@
12594
  // Subscription cancellation dialog box is currently not supported for multisite networks.
12595
  return array();
12596
  }
12597
-
12598
  if ( $this->is_whitelabeled() ) {
12599
  return array();
12600
  }
@@ -12690,7 +12690,7 @@
12690
  ! $this->is_premium() &&
12691
  /**
12692
  * Also handle the case when an upgrade was made using the free version.
12693
- *
12694
  * @author Leo Fajardo (@leorw)
12695
  * @since 2.3.2
12696
  */
@@ -12860,7 +12860,7 @@
12860
  */
12861
  function _activate_license_ajax_action() {
12862
  $this->_logger->entrance();
12863
-
12864
  $this->check_ajax_referer( 'activate_license' );
12865
 
12866
  $license_key = trim( fs_request_get( 'license_key' ) );
@@ -12918,7 +12918,7 @@
12918
  foreach ( $installs_info_by_slug_map as $slug => $install_info ) {
12919
  $install_ids[ $slug ] = $install_info['install']->id;
12920
  }
12921
-
12922
  $params['install_ids'] = implode( ',', array_values( $install_ids ) );
12923
 
12924
  $install = $this->get_api_site_scope()->call( $this->add_show_pending( '/' ), 'put', $params );
@@ -12971,7 +12971,7 @@
12971
  *
12972
  * @author Vova Feldman (@svovaf)
12973
  * @since 2.3.0
12974
- *
12975
  * @param string $license_key
12976
  * @param null|bool $is_marketing_allowed
12977
  * @param null|number $plugin_id
3913
  if ( $is_connected ) {
3914
  FS_GDPR_Manager::instance()->store_is_required( $pong->is_gdpr_required );
3915
  }
3916
+
3917
  $this->store_connectivity_info( $pong, $is_connected );
3918
 
3919
  return $this->_has_api_connection;
9546
 
9547
  if ( is_object( $fs ) ) {
9548
  $fs->remove_sdk_reference();
9549
+
9550
  self::require_plugin_essentials();
9551
 
9552
  if ( is_plugin_active( $fs->_free_plugin_basename ) ||
12594
  // Subscription cancellation dialog box is currently not supported for multisite networks.
12595
  return array();
12596
  }
12597
+
12598
  if ( $this->is_whitelabeled() ) {
12599
  return array();
12600
  }
12690
  ! $this->is_premium() &&
12691
  /**
12692
  * Also handle the case when an upgrade was made using the free version.
12693
+ *
12694
  * @author Leo Fajardo (@leorw)
12695
  * @since 2.3.2
12696
  */
12860
  */
12861
  function _activate_license_ajax_action() {
12862
  $this->_logger->entrance();
12863
+
12864
  $this->check_ajax_referer( 'activate_license' );
12865
 
12866
  $license_key = trim( fs_request_get( 'license_key' ) );
12918
  foreach ( $installs_info_by_slug_map as $slug => $install_info ) {
12919
  $install_ids[ $slug ] = $install_info['install']->id;
12920
  }
12921
+
12922
  $params['install_ids'] = implode( ',', array_values( $install_ids ) );
12923
 
12924
  $install = $this->get_api_site_scope()->call( $this->add_show_pending( '/' ), 'put', $params );
12971
  *
12972
  * @author Vova Feldman (@svovaf)
12973
  * @since 2.3.0
12974
+ *
12975
  * @param string $license_key
12976
  * @param null|bool $is_marketing_allowed
12977
  * @param null|number $plugin_id
sdk/freemius/includes/fs-plugin-info-dialog.php CHANGED
@@ -1628,4 +1628,4 @@
1628
  iframe_footer();
1629
  exit;
1630
  }
1631
- }
1628
  iframe_footer();
1629
  exit;
1630
  }
1631
+ }
wp-security-audit-log.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: http://wpactivitylog.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 Activity 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: 4.1.0
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 = '4.1.0';
50
 
51
  // Plugin constants.
52
  const PLG_CLS_PRFX = 'WSAL_';
@@ -788,7 +788,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
788
  }
789
  // Plugin Docs URL.
790
  if ( ! defined( 'WSAL_DOCS_URL' ) ) {
791
- define( 'WSAL_DOCS_URL', 'https://wpactivitylog.com/support/kb/' );
792
  }
793
  // Plugin Issue Reporting URL.
794
  if ( ! defined( 'WSAL_ISSUE_URL' ) ) {
@@ -1211,16 +1211,16 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1211
  $this->settings->SetPruningDate( $pruning_date );
1212
  }
1213
 
1214
- $log_404 = $this->GetGlobalOption( 'log-404' );
1215
  // If old setting is empty enable 404 logging by default.
1216
  if ( false === $log_404 ) {
1217
- $this->SetGlobalOption( 'log-404', 'on' );
1218
  }
1219
 
1220
- $purge_log_404 = $this->GetGlobalOption( 'purge-404-log' );
1221
  // If old setting is empty enable 404 purge log by default.
1222
  if ( false === $purge_log_404 ) {
1223
- $this->SetGlobalOption( 'purge-404-log', 'on' );
1224
  }
1225
 
1226
  // Load translations.
@@ -1304,16 +1304,16 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1304
  $this->settings->SetDisabledAlerts( array( 2099, 2126 ) );
1305
  }
1306
 
1307
- $log_404 = $this->GetGlobalOption( 'log-404' );
1308
  // If old setting is empty enable 404 logging by default.
1309
  if ( false === $log_404 ) {
1310
- $this->SetGlobalOption( 'log-404', 'on' );
1311
  }
1312
 
1313
- $purge_log_404 = $this->GetGlobalOption( 'purge-404-log' );
1314
  // If old setting is empty enable 404 purge log by default.
1315
  if ( false === $purge_log_404 ) {
1316
- $this->SetGlobalOption( 'purge-404-log', 'on' );
1317
  }
1318
 
1319
  // Install cleanup hook (remove older one if it exists).
@@ -1386,44 +1386,6 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1386
  $delete_transient_fn( 'wsal-is-advert-dismissed' ); // Delete advert transient.
1387
  }
1388
 
1389
- /**
1390
- * IMPORTANT: VERSION SPECIFIC UPDATE
1391
- *
1392
- * It only needs to run when old version of the plugin is less than 3.2.3
1393
- * & the plugin is being updated to version 3.2.3 or later versions.
1394
- *
1395
- * @since 3.2.3
1396
- */
1397
- if ( version_compare( $old_version, '3.2.3', '<' ) && version_compare( $new_version, '3.2.2', '>' ) ) {
1398
- $this->getConnector()->getAdapter( 'Option' )->update_value_column();
1399
-
1400
- // Migrate file scan options to WSAL Options table.
1401
- $initial_scan_option = 'wsal_is_initial_scan_';
1402
- $initial_scan_option_migrate = 'is_initial_scan_';
1403
- $local_scan_files = 'wsal_local_files_';
1404
- $local_scan_files_migrate = 'local_files_';
1405
-
1406
- for ( $index = 0; $index < 7; $index++ ) {
1407
- // Initial scan option.
1408
- $initial_option_value = get_site_option( $initial_scan_option . $index, 'yes' );
1409
- delete_site_option( $initial_scan_option . $index );
1410
-
1411
- // If option already does not exist then create it.
1412
- if ( ! $this->GetGlobalOption( $initial_scan_option_migrate . $index, false ) ) {
1413
- $this->SetGlobalOption( $initial_scan_option_migrate . $index, $initial_option_value );
1414
- }
1415
-
1416
- // Local files option.
1417
- $local_files_value = get_site_option( $local_scan_files . $index, array() );
1418
- delete_site_option( $local_scan_files . $index );
1419
-
1420
- // If option already does not exist then create it.
1421
- if ( ! $this->GetGlobalOption( $local_scan_files_migrate . $index, false ) ) {
1422
- $this->SetGlobalOption( $local_scan_files_migrate . $index, $local_files_value );
1423
- }
1424
- }
1425
- }
1426
-
1427
  /**
1428
  * IMPORTANT: VERSION SPECIFIC UPDATE
1429
  *
@@ -1520,32 +1482,6 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1520
  $this->settings->set_frontend_events( $frontend_events );
1521
  }
1522
 
1523
- /**
1524
- * Upgrade routine for versions of the plugin prior to 3.5.2+
1525
- *
1526
- * NOTE: this uses a version compare of 1 minor version in the
1527
- * future to enure that when old crons need removed they are.
1528
- *
1529
- * @since 3.5.2
1530
- */
1531
- if ( version_compare( $old_version, '3.5.2', '<=' ) ) {
1532
- /*
1533
- * Handle remapping old, unprefixed, cron tasks to new ones
1534
- * that have the prefix in the handle.
1535
- *
1536
- * NOTE: Not using 'wsal_init' because `wsalCommonClass`
1537
- * isn't set on WpSecurityAuditLog that early.
1538
- */
1539
- add_action(
1540
- 'init',
1541
- function() {
1542
- require_once 'classes/Update/Task/CronNameRemap.php';
1543
- $cron_name_remapper = new WSAL\Update\Task\CronNameRemap( WpSecurityAuditLog::GetInstance() );
1544
- $cron_name_remapper->run();
1545
- }
1546
- );
1547
- }
1548
-
1549
  if ( version_compare( $old_version, '4.0.0', '<=' ) ) {
1550
  /*
1551
  * Ensure that the grid view 'info' colum is set to display.
@@ -1573,8 +1509,9 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1573
  * any for each new version we release.
1574
  *
1575
  * @since 4.0.3
 
1576
  */
1577
- if ( version_compare( $old_version, '4.0.3', '<=' ) ) {
1578
 
1579
  require_once 'classes/Update/Task/MoveSettingsToOptionsTable.php';
1580
  // run the update routine.
@@ -2121,6 +2058,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
2121
 
2122
  return $plugins;
2123
  }
 
2124
  }
2125
 
2126
  // Begin load sequence.
4
  * Plugin URI: http://wpactivitylog.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 Activity 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: 4.1.2
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 = '4.1.2';
50
 
51
  // Plugin constants.
52
  const PLG_CLS_PRFX = 'WSAL_';
788
  }
789
  // Plugin Docs URL.
790
  if ( ! defined( 'WSAL_DOCS_URL' ) ) {
791
+ define( 'WSAL_DOCS_URL', 'https://wpactivitylog.com/support/' );
792
  }
793
  // Plugin Issue Reporting URL.
794
  if ( ! defined( 'WSAL_ISSUE_URL' ) ) {
1211
  $this->settings->SetPruningDate( $pruning_date );
1212
  }
1213
 
1214
+ $log_404 = $this->options_helper->get_option_value( 'log-404' );
1215
  // If old setting is empty enable 404 logging by default.
1216
  if ( false === $log_404 ) {
1217
+ $this->options_helper->set_option_value( 'log-404', 'on' );
1218
  }
1219
 
1220
+ $purge_log_404 = $this->options_helper->get_option_value( 'purge-404-log' );
1221
  // If old setting is empty enable 404 purge log by default.
1222
  if ( false === $purge_log_404 ) {
1223
+ $this->options_helper->set_option_value( 'purge-404-log', 'on' );
1224
  }
1225
 
1226
  // Load translations.
1304
  $this->settings->SetDisabledAlerts( array( 2099, 2126 ) );
1305
  }
1306
 
1307
+ $log_404 = $this->options_helper->get_option_value( 'log-404' );
1308
  // If old setting is empty enable 404 logging by default.
1309
  if ( false === $log_404 ) {
1310
+ $this->options_helper->set_option_value( 'log-404', 'on' );
1311
  }
1312
 
1313
+ $purge_log_404 = $this->options_helper->get_option_value( 'purge-404-log' );
1314
  // If old setting is empty enable 404 purge log by default.
1315
  if ( false === $purge_log_404 ) {
1316
+ $this->options_helper->set_option_value( 'purge-404-log', 'on' );
1317
  }
1318
 
1319
  // Install cleanup hook (remove older one if it exists).
1386
  $delete_transient_fn( 'wsal-is-advert-dismissed' ); // Delete advert transient.
1387
  }
1388
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1389
  /**
1390
  * IMPORTANT: VERSION SPECIFIC UPDATE
1391
  *
1482
  $this->settings->set_frontend_events( $frontend_events );
1483
  }
1484
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1485
  if ( version_compare( $old_version, '4.0.0', '<=' ) ) {
1486
  /*
1487
  * Ensure that the grid view 'info' colum is set to display.
1509
  * any for each new version we release.
1510
  *
1511
  * @since 4.0.3
1512
+ * @since 4.1.0 - updated the compare tag.
1513
  */
1514
+ if ( version_compare( $old_version, '4.1.0', '<=' ) ) {
1515
 
1516
  require_once 'classes/Update/Task/MoveSettingsToOptionsTable.php';
1517
  // run the update routine.
2058
 
2059
  return $plugins;
2060
  }
2061
+
2062
  }
2063
 
2064
  // Begin load sequence.