WP Security Audit Log - Version 4.0.3

Version Description

(2020-04-16) =

Release notes: Update 4.0.3 - New bbPress add-on & improved WooCommerce activity logs

  • BREAKING CHANGE

    • Individual add-ons (pre 2018) will not be supported anymore.
  • New features

    • Two new activity log objects: WooCommerce coupon and Yoast SEO metabox.
    • Plugin detector that detects plugins for which we have add-ons and prompts the user to install the add-ons.
  • New activity log event IDs

    • 9105: The stock quantity of a product was changed due to an order.
    • 9085: The WooCommerce setting "Selling location(s)" was changed.
    • 9086: List of excluded countries to sell to in WooCommerce was changed.
    • 9087: List of countries to sell to in WooCommerce was changed.
    • 9088: The WooCommerce setting "Shipping location(s)" was changed.
    • 9090: The WooCommerce setting "Default custom location" was changed.
    • 9091: The "Cart page" in the WooCommerce settings was changed.
    • 9092: The "Checkout page" in the WooCommerce settings was changed.
    • 9093: The "My Account page" in the WooCommerce settings was changed.
    • 9094: The "Terms & conditions page" in the WooCommerce settings was changed.

Refer to the activity logs for WooCommerce for more details on WooCommerce support.

  • Improvements

    • Drastically improved the coverage of the WooCommerce activity log sensor.
    • WooCommerce sensor now detects changes done from the new interface (WooCommerce Admin).
    • Event 9029 (WooCommerce store base location change) now reports both the old and new address.
    • Updated WooCommerce sensor to detect all the changes in the tax options (event IDs 9078 - 9081).
    • Changed the event type from "Modified" to "Renamed" in the events where in which the object is renamed.
    • "Plugins" is reported instead of a username when a change is done automatically by a plugin.
    • Improved the activity logs external database connection test during connection setup.
    • Removed obsolete code which was only used in previous versions from the defaults.php file.
    • Improved event ID 2055 (deleted custom field) so it is not reported when a custom field is deleted autoamtically due to the post being deleted.
    • Removed redundant filters wsal_event_type_text and wsal_event_object_text.
    • Moved 10 plugin settings to the WordPress options table as part of the plugin improvement project.
    • External database connector now reports actual MySQL error for improved troubleshooting.
    • All the changes done to a bbPress forum or topic are reported, even when done at the same time.
  • Bug fixes

    • Event ID 8808 not firing when Cornerstone article setting is enabled or disabled in a post.
    • Event ID 9066 not firing when the expiry date of a WooCommerce coupon is changed.
    • Plugin reporting event ID 2001 instead of 5019 when a plugin automatically creates posts.
    • Fixed a minor compatibility issue in the Hide plugin functionality (support ticket).
    • Event ID 9063 reported instead of event ID 9071 when reporting a WooCommerce coupon change.
    • Events ID 1005 (multiple sessions detected) and 1007 (user terminated another user's session) were only working when frontend sensor was enabled.
    • Activity logs view buttons link to first site on network instead of network dashboard on multisite network.
    • Error reported when the role property was undefined.
    • Fixed a PHP 7.3 compatibility issue (support ticket).

Please refer to the complete plugin change log for more detailed information about what was new, improved and fixed in previous versions of the WP Security Audit Log plugin.

Download this release

Release Info

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

Code changes from version 4.0.2 to 4.0.3

classes/AlertManager.php CHANGED
@@ -240,7 +240,6 @@ final class WSAL_AlertManager {
240
  $this->log_temp_alerts();
241
  }
242
 
243
- // Get username.
244
  $username = wp_get_current_user()->user_login;
245
  // if user switching plugin class exists and filter is set to disable then try get the old user.
246
  if ( apply_filters( 'wsal_disable_user_switching_plugin_tracking', false ) && class_exists( 'user_switching' ) ) {
@@ -348,6 +347,8 @@ final class WSAL_AlertManager {
348
  * @throws Exception - Error if alert is not registered.
349
  */
350
  protected function _CommitItem( $type, $data, $cond, $_retry = true ) {
 
 
351
  if ( ! $cond || ! ! call_user_func( $cond, $this ) ) {
352
  if ( $this->IsEnabled( $type ) ) {
353
  if ( isset( $this->_alerts[ $type ] ) ) {
@@ -600,25 +601,35 @@ final class WSAL_AlertManager {
600
  * @see https://en.wikipedia.org/wiki/Syslog#Severity_level
601
  * @since 3.3.1
602
  */
603
- if ( 'E_CRITICAL' === $severity->name ) {
604
- $event_data['Severity'] = 2;
605
- } elseif ( 'E_WARNING' === $severity->name ) {
606
- $event_data['Severity'] = 4;
607
- } elseif ( 'E_NOTICE' === $severity->name ) {
608
- $event_data['Severity'] = 5;
609
- } elseif ( 'WSAL_CRITICAL' === $severity->name ) {
610
- $event_data['Severity'] = 1;
611
- } elseif ( 'WSAL_HIGH' === $severity->name ) {
612
- $event_data['Severity'] = 6;
613
- } elseif ( 'WSAL_MEDIUM' === $severity->name ) {
614
- $event_data['Severity'] = 10;
615
- } elseif ( 'WSAL_LOW' === $severity->name ) {
616
- $event_data['Severity'] = 15;
617
- } elseif ( 'WSAL_INFORMATIONAL' === $severity->name ) {
618
- $event_data['Severity'] = 20;
619
- } else {
 
 
 
 
 
 
 
 
 
 
620
  // assuming this is a missclasified item and using info code.
621
- $code = 20;
622
  }
623
 
624
  // Add event object.
@@ -1086,145 +1097,91 @@ final class WSAL_AlertManager {
1086
  /**
1087
  * Get event objects.
1088
  *
1089
- * @return array
 
 
 
1090
  */
1091
- public function get_event_objects_data() {
1092
  $objects = array(
1093
- 'user' => __( 'User', 'wp-security-audit-log' ),
1094
- 'system' => __( 'System', 'wp-security-audit-log' ),
1095
- 'plugin' => __( 'Plugin', 'wp-security-audit-log' ),
1096
- 'database' => __( 'Database', 'wp-security-audit-log' ),
1097
- 'post' => __( 'Post', 'wp-security-audit-log' ),
1098
- 'file' => __( 'File', 'wp-security-audit-log' ),
1099
- 'tag' => __( 'Tag', 'wp-security-audit-log' ),
1100
- 'comment' => __( 'Comment', 'wp-security-audit-log' ),
1101
- 'setting' => __( 'Setting', 'wp-security-audit-log' ),
1102
- 'file' => __( 'File', 'wp-security-audit-log' ),
1103
- 'system-setting' => __( 'System Setting', 'wp-security-audit-log' ),
1104
- 'bbpress' => __( 'BBPress', 'wp-security-audit-log' ),
1105
- 'bbpress-forum' => __( 'BBPress Forum', 'wp-security-audit-log' ),
1106
- 'woocommerce-product' => __( 'WooCommerce Product', 'wp-security-audit-log' ),
1107
- 'woocommerce-store' => __( 'WooCommerce Store', 'wp-security-audit-log' ),
1108
- 'mainwp-network' => __( 'MainWP Network', 'wp-security-audit-log' ),
1109
- 'mainwp' => __( 'MainWP', 'wp-security-audit-log' ),
1110
- 'yoast-seo' => __( 'Yoast SEO', 'wp-security-audit-log' ),
1111
- 'category' => __( 'Category', 'wp-security-audit-log' ),
1112
- 'custom-field' => __( 'Custom Field', 'wp-security-audit-log' ),
1113
- 'widget' => __( 'Widget', 'wp-security-audit-log' ),
1114
- 'menu' => __( 'Menu', 'wp-security-audit-log' ),
1115
- 'theme' => __( 'Theme', 'wp-security-audit-log' ),
1116
- 'activity-logs' => __( 'Activity Logs', 'wp-security-audit-log' ),
1117
- 'multisite-network' => __( 'Multisite Network', 'wp-security-audit-log' ),
1118
- 'ip-address' => __( 'IP Address', 'wp-security-audit-log' ),
 
1119
  );
1120
  asort( $objects );
1121
- return apply_filters(
1122
  'wsal_event_objects',
1123
  $objects
1124
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1125
  }
1126
 
1127
  /**
1128
  * Returns the text to display for object.
1129
  *
1130
- * @param string $object - Object.
 
 
 
 
 
 
 
 
 
 
1131
  * @return string
1132
  */
1133
  public function get_display_object_text( $object ) {
1134
- $display = '';
1135
-
1136
- switch ( $object ) {
1137
- case 'user':
1138
- $display = __( 'User', 'wp-security-audit-log' );
1139
- break;
1140
- case 'system':
1141
- $display = __( 'System', 'wp-security-audit-log' );
1142
- break;
1143
- case 'plugin':
1144
- $display = __( 'Plugin', 'wp-security-audit-log' );
1145
- break;
1146
- case 'database':
1147
- $display = __( 'Database', 'wp-security-audit-log' );
1148
- break;
1149
- case 'post':
1150
- $display = __( 'Post', 'wp-security-audit-log' );
1151
- break;
1152
- case 'file':
1153
- $display = __( 'File', 'wp-security-audit-log' );
1154
- break;
1155
- case 'tag':
1156
- $display = __( 'Tag', 'wp-security-audit-log' );
1157
- break;
1158
- case 'comment':
1159
- $display = __( 'Comment', 'wp-security-audit-log' );
1160
- break;
1161
- case 'setting':
1162
- $display = __( 'Setting', 'wp-security-audit-log' );
1163
- break;
1164
- case 'file':
1165
- $display = __( 'File', 'wp-security-audit-log' );
1166
- break;
1167
- case 'system-setting':
1168
- $display = __( 'System Setting', 'wp-security-audit-log' );
1169
- break;
1170
- case 'bbpress':
1171
- $display = __( 'BBPress', 'wp-security-audit-log' );
1172
- break;
1173
- case 'bbpress-forum':
1174
- $display = __( 'BBPress Forum', 'wp-security-audit-log' );
1175
- break;
1176
- case 'woocommerce-product':
1177
- $display = __( 'WooCommerce Product', 'wp-security-audit-log' );
1178
- break;
1179
- case 'woocommerce-store':
1180
- $display = __( 'WooCommerce Store', 'wp-security-audit-log' );
1181
- break;
1182
- case 'mainwp-network':
1183
- $display = __( 'MainWP Network', 'wp-security-audit-log' );
1184
- break;
1185
- case 'mainwp':
1186
- $display = __( 'MainWP', 'wp-security-audit-log' );
1187
- break;
1188
- case 'yoast-seo':
1189
- $display = __( 'Yoast SEO', 'wp-security-audit-log' );
1190
- break;
1191
- case 'category':
1192
- $display = __( 'Category', 'wp-security-audit-log' );
1193
- break;
1194
- case 'custom-field':
1195
- $display = __( 'Custom Field', 'wp-security-audit-log' );
1196
- break;
1197
- case 'widget':
1198
- $display = __( 'Widget', 'wp-security-audit-log' );
1199
- break;
1200
- case 'menu':
1201
- $display = __( 'Menu', 'wp-security-audit-log' );
1202
- break;
1203
- case 'theme':
1204
- $display = __( 'Theme', 'wp-security-audit-log' );
1205
- break;
1206
- case 'activity-logs':
1207
- $display = __( 'Activity Logs', 'wp-security-audit-log' );
1208
- break;
1209
- case 'multisite-network':
1210
- $display = __( 'Multisite Network', 'wp-security-audit-log' );
1211
- break;
1212
- case 'ip-address':
1213
- $display = __( 'IP Address', 'wp-security-audit-log' );
1214
- break;
1215
- default:
1216
- break;
1217
- }
1218
-
1219
- return apply_filters( 'wsal_event_object_text', $display, $object );
1220
  }
1221
 
1222
  /**
1223
- * Get event type data.
1224
  *
1225
- * @return array
 
 
 
1226
  */
1227
- public function get_event_type_data() {
1228
  $types = array(
1229
  'login' => __( 'Login', 'wp-security-audit-log' ),
1230
  'logout' => __( 'Logout', 'wp-security-audit-log' ),
@@ -1252,116 +1209,51 @@ final class WSAL_AlertManager {
1252
  'stopped' => __( 'Stopped', 'wp-security-audit-log' ),
1253
  'removed' => __( 'Removed', 'wp-security-audit-log' ),
1254
  'unblocked' => __( 'Unblocked', 'wp-security-audit-log' ),
1255
- 'renamed' => __( 'Renamed', 'wp-security-audit-log' ),
1256
  'duplicated' => __( 'Duplicated', 'wp-security-audit-log' ),
1257
  );
1258
  // sort the types alphabetically.
1259
  asort( $types );
1260
- return apply_filters(
1261
  'wsal_event_type_data',
1262
  $types
1263
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1264
  }
1265
 
1266
  /**
1267
  * Returns the text to display for event type.
1268
  *
 
 
 
 
 
 
 
 
 
 
1269
  * @param string $event_type - Event type.
1270
  * @return string
1271
  */
1272
  public function get_display_event_type_text( $event_type ) {
1273
- $display = '';
1274
-
1275
- switch ( $event_type ) {
1276
- case 'login':
1277
- $display = __( 'Login', 'wp-security-audit-log' );
1278
- break;
1279
- case 'logout':
1280
- $display = __( 'Logout', 'wp-security-audit-log' );
1281
- break;
1282
- case 'installed':
1283
- $display = __( 'Installed', 'wp-security-audit-log' );
1284
- break;
1285
- case 'activated':
1286
- $display = __( 'Activated', 'wp-security-audit-log' );
1287
- break;
1288
- case 'deactivated':
1289
- $display = __( 'Deactivated', 'wp-security-audit-log' );
1290
- break;
1291
- case 'uninstalled':
1292
- $display = __( 'Uninstalled', 'wp-security-audit-log' );
1293
- break;
1294
- case 'updated':
1295
- $display = __( 'Updated', 'wp-security-audit-log' );
1296
- break;
1297
- case 'created':
1298
- $display = __( 'Created', 'wp-security-audit-log' );
1299
- break;
1300
- case 'modified':
1301
- $display = __( 'Modified', 'wp-security-audit-log' );
1302
- break;
1303
- case 'deleted':
1304
- $display = __( 'Deleted', 'wp-security-audit-log' );
1305
- break;
1306
- case 'published':
1307
- $display = __( 'Published', 'wp-security-audit-log' );
1308
- break;
1309
- case 'approved':
1310
- $display = __( 'Approved', 'wp-security-audit-log' );
1311
- break;
1312
- case 'unapproved':
1313
- $display = __( 'Unapproved', 'wp-security-audit-log' );
1314
- break;
1315
- case 'enabled':
1316
- $display = __( 'Enabled', 'wp-security-audit-log' );
1317
- break;
1318
- case 'disabled':
1319
- $display = __( 'Disabled', 'wp-security-audit-log' );
1320
- break;
1321
- case 'added':
1322
- $display = __( 'Added', 'wp-security-audit-log' );
1323
- break;
1324
- case 'failed-login':
1325
- $display = __( 'Failed Login', 'wp-security-audit-log' );
1326
- break;
1327
- case 'blocked':
1328
- $display = __( 'Blocked', 'wp-security-audit-log' );
1329
- break;
1330
- case 'uploaded':
1331
- $display = __( 'Uploaded', 'wp-security-audit-log' );
1332
- break;
1333
- case 'restored':
1334
- $display = __( 'Restored', 'wp-security-audit-log' );
1335
- break;
1336
- case 'opened':
1337
- $display = __( 'Opened', 'wp-security-audit-log' );
1338
- break;
1339
- case 'viewed':
1340
- $display = __( 'Viewed', 'wp-security-audit-log' );
1341
- break;
1342
- case 'started':
1343
- $display = __( 'Started', 'wp-security-audit-log' );
1344
- break;
1345
- case 'stopped':
1346
- $display = __( 'Stopped', 'wp-security-audit-log' );
1347
- break;
1348
- case 'removed':
1349
- $display = __( 'Removed', 'wp-security-audit-log' );
1350
- break;
1351
- case 'unblocked':
1352
- $display = __( 'Unblocked', 'wp-security-audit-log' );
1353
- break;
1354
- case 'renamed':
1355
- $display = __( 'Renamed', 'wp-security-audit-log' );
1356
- break;
1357
- case 'duplicated':
1358
- $display = __( 'Duplicated', 'wp-security-audit-log' );
1359
- break;
1360
- default:
1361
- break;
1362
- }
1363
-
1364
- return apply_filters( 'wsal_event_type_text', $display, $event_type );
1365
  }
1366
 
1367
  /**
240
  $this->log_temp_alerts();
241
  }
242
 
 
243
  $username = wp_get_current_user()->user_login;
244
  // if user switching plugin class exists and filter is set to disable then try get the old user.
245
  if ( apply_filters( 'wsal_disable_user_switching_plugin_tracking', false ) && class_exists( 'user_switching' ) ) {
347
  * @throws Exception - Error if alert is not registered.
348
  */
349
  protected function _CommitItem( $type, $data, $cond, $_retry = true ) {
350
+ // Double NOT operation here is intentional. Same as ! ( bool ) [ $value ]
351
+ // NOTE: return false on a true condition to compensate.
352
  if ( ! $cond || ! ! call_user_func( $cond, $this ) ) {
353
  if ( $this->IsEnabled( $type ) ) {
354
  if ( isset( $this->_alerts[ $type ] ) ) {
601
  * @see https://en.wikipedia.org/wiki/Syslog#Severity_level
602
  * @since 3.3.1
603
  */
604
+ if ( is_object( $severity ) && property_exists( $severity, 'name' ) ) {
605
+ if ( 'E_CRITICAL' === $severity->name ) {
606
+ $event_data['Severity'] = 2;
607
+ } elseif ( 'E_WARNING' === $severity->name ) {
608
+ $event_data['Severity'] = 4;
609
+ } elseif ( 'E_NOTICE' === $severity->name ) {
610
+ $event_data['Severity'] = 5;
611
+ } elseif ( 'WSAL_CRITICAL' === $severity->name ) {
612
+ $event_data['Severity'] = 1;
613
+ } elseif ( 'WSAL_HIGH' === $severity->name ) {
614
+ $event_data['Severity'] = 6;
615
+ } elseif ( 'WSAL_MEDIUM' === $severity->name ) {
616
+ $event_data['Severity'] = 10;
617
+ } elseif ( 'WSAL_LOW' === $severity->name ) {
618
+ $event_data['Severity'] = 15;
619
+ } elseif ( 'WSAL_INFORMATIONAL' === $severity->name ) {
620
+ $event_data['Severity'] = 20;
621
+ }
622
+ }
623
+
624
+ /*
625
+ * In cases where we were not able to figure out a severity already
626
+ * use a default of 20: info.
627
+ *
628
+ * @since 4.3.0
629
+ */
630
+ if ( ! isset( $event_data['Severity'] ) ) {
631
  // assuming this is a missclasified item and using info code.
632
+ $event_data['Severity'] = 20;
633
  }
634
 
635
  // Add event object.
1097
  /**
1098
  * Get event objects.
1099
  *
1100
+ * @since 4.0.3 - added param to request an individual object.
1101
+ * @param string $object An object the string is requested for (optional).
1102
+ *
1103
+ * @return array|string
1104
  */
1105
+ public function get_event_objects_data( $object = '' ) {
1106
  $objects = array(
1107
+ 'user' => __( 'User', 'wp-security-audit-log' ),
1108
+ 'system' => __( 'System', 'wp-security-audit-log' ),
1109
+ 'plugin' => __( 'Plugin', 'wp-security-audit-log' ),
1110
+ 'database' => __( 'Database', 'wp-security-audit-log' ),
1111
+ 'post' => __( 'Post', 'wp-security-audit-log' ),
1112
+ 'file' => __( 'File', 'wp-security-audit-log' ),
1113
+ 'tag' => __( 'Tag', 'wp-security-audit-log' ),
1114
+ 'comment' => __( 'Comment', 'wp-security-audit-log' ),
1115
+ 'setting' => __( 'Setting', 'wp-security-audit-log' ),
1116
+ 'file' => __( 'File', 'wp-security-audit-log' ),
1117
+ 'system-setting' => __( 'System Setting', 'wp-security-audit-log' ),
1118
+ 'woocommerce-product' => __( 'WooCommerce Product', 'wp-security-audit-log' ),
1119
+ 'woocommerce-store' => __( 'WooCommerce Store', 'wp-security-audit-log' ),
1120
+ 'woocommerce-coupon' => __( 'WooCommerce Coupon', 'wp-security-audit-log' ),
1121
+ 'woocommerce-category' => __( 'WooCommerce Category', 'wp-security-audit-log' ),
1122
+ 'mainwp-network' => __( 'MainWP Network', 'wp-security-audit-log' ),
1123
+ 'mainwp' => __( 'MainWP', 'wp-security-audit-log' ),
1124
+ 'yoast-seo' => __( 'Yoast SEO', 'wp-security-audit-log' ),
1125
+ 'yoast-seo-metabox' => __( 'Yoast SEO Meta Box', 'wp-security-audit-log' ),
1126
+ 'category' => __( 'Category', 'wp-security-audit-log' ),
1127
+ 'custom-field' => __( 'Custom Field', 'wp-security-audit-log' ),
1128
+ 'widget' => __( 'Widget', 'wp-security-audit-log' ),
1129
+ 'menu' => __( 'Menu', 'wp-security-audit-log' ),
1130
+ 'theme' => __( 'Theme', 'wp-security-audit-log' ),
1131
+ 'activity-logs' => __( 'Activity Logs', 'wp-security-audit-log' ),
1132
+ 'multisite-network' => __( 'Multisite Network', 'wp-security-audit-log' ),
1133
+ 'ip-address' => __( 'IP Address', 'wp-security-audit-log' ),
1134
  );
1135
  asort( $objects );
1136
+ $objects = apply_filters(
1137
  'wsal_event_objects',
1138
  $objects
1139
  );
1140
+
1141
+ /**
1142
+ * If a specific object was requested then try return that otherwise
1143
+ * the full array gets returned.
1144
+ *
1145
+ * @since 4.0.3
1146
+ */
1147
+ if ( ! empty( $object ) ) {
1148
+ // NOTE: if we requested object doesn't exist returns 'unknown object'.
1149
+ return ( isset( $objects[ $object ] ) ) ? $objects[ $object ] : __( 'unknown object', 'wp-security-audit-log' );
1150
+ }
1151
+
1152
+ // if a specific object was not requested return the full array.
1153
+ return $objects;
1154
  }
1155
 
1156
  /**
1157
  * Returns the text to display for object.
1158
  *
1159
+ * @deprecated 4.0.3 - please use get_event_objects_data() directly.
1160
+ * @since 4.0.3 - adjusted to return directly from companion data method.
1161
+ *
1162
+ * NOTE: along with this depreciation the filter `wsal_event_object_text`
1163
+ * is being removed, use `wsal_event_objects` filter instead.
1164
+ *
1165
+ * @TODO: this is to be removed shortly after version 4.0.3 - after other
1166
+ * plugins have had a chance to adjust to using the get_event_objects_data()
1167
+ * function directly.
1168
+ *
1169
+ * @param string $object - Object type.
1170
  * @return string
1171
  */
1172
  public function get_display_object_text( $object ) {
1173
+ return get_event_objects_data( $object );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1174
  }
1175
 
1176
  /**
1177
+ * Get event type data array or optionally just value of a single type.
1178
  *
1179
+ * @since 4.0.3 - added param to request an individual type.
1180
+ * @param string $type A type that the string is requested for (optional).
1181
+ *
1182
+ * @return array|string
1183
  */
1184
+ public function get_event_type_data( $type = '' ) {
1185
  $types = array(
1186
  'login' => __( 'Login', 'wp-security-audit-log' ),
1187
  'logout' => __( 'Logout', 'wp-security-audit-log' ),
1209
  'stopped' => __( 'Stopped', 'wp-security-audit-log' ),
1210
  'removed' => __( 'Removed', 'wp-security-audit-log' ),
1211
  'unblocked' => __( 'Unblocked', 'wp-security-audit-log' ),
1212
+ 'renamed' => __( 'Renamed', 'wp-security-audit-log' ),
1213
  'duplicated' => __( 'Duplicated', 'wp-security-audit-log' ),
1214
  );
1215
  // sort the types alphabetically.
1216
  asort( $types );
1217
+ $types = apply_filters(
1218
  'wsal_event_type_data',
1219
  $types
1220
  );
1221
+
1222
+ /**
1223
+ * If a specific type was requested then try return that otherwise the
1224
+ * full array gets returned.
1225
+ *
1226
+ * @since 4.0.3
1227
+ */
1228
+ if ( ! empty( $type ) ) {
1229
+ // NOTE: if we requested type doesn't exist returns 'unknown type'.
1230
+ return ( isset( $types[ $type ] ) ) ? $types[ $type ] : __( 'unknown type', 'wp-security-audit-log' );
1231
+ }
1232
+
1233
+ // if a specific type was not requested return the full array.
1234
+ return $types;
1235
+
1236
  }
1237
 
1238
  /**
1239
  * Returns the text to display for event type.
1240
  *
1241
+ * @deprecated 4.0.3 - please use get_event_type_data() directly.
1242
+ * @since 4.0.3 - adjusted to return directly from companion data method.
1243
+ *
1244
+ * NOTE: along with this depreciation the filter `wsal_event_type_text` is
1245
+ * being removed, use `wsal_event_type_data` filter instead.
1246
+ *
1247
+ * @TODO: this is to be removed shortly after version 4.0.3 - after other
1248
+ * plugins have had a chance to adjust to using the get_event_type_data()
1249
+ * function directly.
1250
+ *
1251
  * @param string $event_type - Event type.
1252
  * @return string
1253
  */
1254
  public function get_display_event_type_text( $event_type ) {
1255
+ // Try get string from the companion data method.
1256
+ return get_event_type_data( $event_type );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1257
  }
1258
 
1259
  /**
classes/AuditLogGridView.php CHANGED
@@ -163,10 +163,9 @@ class WSAL_AuditLogGridView extends WP_List_Table {
163
  <div class="display-type-buttons">
164
  <?php
165
  $user_selected_view = $this->_plugin->views->views[0]->detect_view_type();
166
- $view_link = get_admin_url( null, 'admin.php?page=wsal-auditlog' );
167
  ?>
168
- <a id ="wsal-list-view-toggle" href="<?php echo esc_url( add_query_arg( 'view', 'list', $view_link ) ); ?>" class="button wsal-button dashicons-before dashicons-list-view" <?php echo ( 'list' === $user_selected_view ) ? esc_attr( 'disabled' ) : ''; ?>><?php esc_html_e( 'List View', 'wp-security-audit-log' ); ?></a>
169
- <a id ="wsal-grid-view-toggle" href="<?php echo esc_url( add_query_arg( 'view', 'grid', $view_link ) ); ?>" class="button wsal-button dashicons-before dashicons-grid-view" <?php echo ( 'grid' === $user_selected_view ) ? esc_attr( 'disabled' ) : ''; ?>><?php esc_html_e( 'Grid View', 'wp-security-audit-log' ); ?></a>
170
  </div>
171
  <?php
172
  $this->pagination( $which );
@@ -412,9 +411,11 @@ class WSAL_AuditLogGridView extends WP_List_Table {
412
  if ( ! $this->_plugin->settings->CurrentUserCan( 'edit' ) ) {
413
  return '<span class="log-disable">' . str_pad( $item->alert_id, 4, '0', STR_PAD_LEFT ) . ' </span>';
414
  }
415
-
416
- return '<span class="log-disable" data-disable-alert-nonce="' . wp_create_nonce( 'disable-alert-nonce' . $item->alert_id ) . '" data-tooltip="' . __( 'Disable this type of events.', 'wp-security-audit-log' ) . '<br>' . $item->alert_id . ' - ' . esc_html( $code->desc ) . $extra_msg . '" data-alert-id="' . $item->alert_id . '" ' . esc_attr( 'data-link=' . $data_link ) . ' >'
 
417
  . str_pad( $item->alert_id, 4, '0', STR_PAD_LEFT ) . ' </span>';
 
418
  case 'code':
419
  $code = $this->_plugin->alerts->GetAlert( $item->alert_id );
420
  $code = $code ? $code->code : 0;
@@ -581,9 +582,9 @@ class WSAL_AuditLogGridView extends WP_List_Table {
581
 
582
 
583
 
584
- $eventobj = isset( $this->item_meta[ $item->getId() ]['Object'] ) ? $this->_plugin->alerts->get_display_object_text( $this->item_meta[ $item->getId() ]['Object'] ) : '';
585
 
586
- $eventtypeobj = isset( $this->item_meta[ $item->getId() ]['EventType'] ) ? $this->_plugin->alerts->get_display_event_type_text( $this->item_meta[ $item->getId() ]['EventType'] ) : '';
587
 
588
  ob_start();
589
  ?>
163
  <div class="display-type-buttons">
164
  <?php
165
  $user_selected_view = $this->_plugin->views->views[0]->detect_view_type();
 
166
  ?>
167
+ <a id ="wsal-list-view-toggle" href="<?php echo esc_url( add_query_arg( 'view', 'list' ) ); ?>" class="button wsal-button dashicons-before dashicons-list-view" <?php echo ( 'list' === $user_selected_view ) ? esc_attr( 'disabled' ) : ''; ?>><?php esc_html_e( 'List View', 'wp-security-audit-log' ); ?></a>
168
+ <a id ="wsal-grid-view-toggle" href="<?php echo esc_url( add_query_arg( 'view', 'grid' ) ); ?>" class="button wsal-button dashicons-before dashicons-grid-view" <?php echo ( 'grid' === $user_selected_view ) ? esc_attr( 'disabled' ) : ''; ?>><?php esc_html_e( 'Grid View', 'wp-security-audit-log' ); ?></a>
169
  </div>
170
  <?php
171
  $this->pagination( $which );
411
  if ( ! $this->_plugin->settings->CurrentUserCan( 'edit' ) ) {
412
  return '<span class="log-disable">' . str_pad( $item->alert_id, 4, '0', STR_PAD_LEFT ) . ' </span>';
413
  }
414
+ // add description to $extra_msg only if one is available.
415
+ $extra_msg = ( isset( $code->desc ) ) ? ' - ' . esc_html( $code->desc ) . $extra_msg : $extra_msg;
416
+ return '<span class="log-disable" data-disable-alert-nonce="' . wp_create_nonce( 'disable-alert-nonce' . $item->alert_id ) . '" data-tooltip="' . __( 'Disable this type of events.', 'wp-security-audit-log' ) . '<br>' . $item->alert_id . $extra_msg . '" data-alert-id="' . $item->alert_id . '" ' . esc_attr( 'data-link=' . $data_link ) . ' >'
417
  . str_pad( $item->alert_id, 4, '0', STR_PAD_LEFT ) . ' </span>';
418
+
419
  case 'code':
420
  $code = $this->_plugin->alerts->GetAlert( $item->alert_id );
421
  $code = $code ? $code->code : 0;
582
 
583
 
584
 
585
+ $eventobj = isset( $this->item_meta[ $item->getId() ]['Object'] ) ? $this->_plugin->alerts->get_event_objects_data( $this->item_meta[ $item->getId() ]['Object'] ) : '';
586
 
587
+ $eventtypeobj = isset( $this->item_meta[ $item->getId() ]['EventType'] ) ? $this->_plugin->alerts->get_event_type_data( $this->item_meta[ $item->getId() ]['EventType'] ) : '';
588
 
589
  ob_start();
590
  ?>
classes/AuditLogListView.php CHANGED
@@ -169,10 +169,9 @@ class WSAL_AuditLogListView extends WP_List_Table {
169
  <div class="display-type-buttons">
170
  <?php
171
  $user_selected_view = $this->_plugin->views->views[0]->detect_view_type();
172
- $view_link = get_admin_url( null, 'admin.php?page=wsal-auditlog' );
173
  ?>
174
- <a id ="wsal-list-view-toggle" href="<?php echo esc_url( add_query_arg( 'view', 'list', $view_link ) ); ?>" class="button wsal-button dashicons-before dashicons-list-view" <?php echo ( 'list' === $user_selected_view ) ? esc_attr( 'disabled' ) : ''; ?>><?php esc_html_e( 'List View', 'wp-security-audit-log' ); ?></a>
175
- <a id ="wsal-grid-view-toggle" href="<?php echo esc_url( add_query_arg( 'view', 'grid', $view_link ) ); ?>" class="button wsal-button dashicons-before dashicons-grid-view" <?php echo ( 'grid' === $user_selected_view ) ? esc_attr( 'disabled' ) : ''; ?>><?php esc_html_e( 'Grid View', 'wp-security-audit-log' ); ?></a>
176
  </div>
177
  <?php
178
  $this->pagination( $which );
@@ -618,9 +617,9 @@ class WSAL_AuditLogListView extends WP_List_Table {
618
  return '<a class="more-info thickbox" data-tooltip="' . $tooltip . '" title="' . __( 'Alert Data Inspector', 'wp-security-audit-log' ) . '"'
619
  . ' href="' . $url . '&amp;TB_iframe=true&amp;width=600&amp;height=550">&hellip;</a>';
620
  case 'object':
621
- return isset( $this->item_meta[ $item->getId() ]['Object'] ) ? $this->_plugin->alerts->get_display_object_text( $this->item_meta[ $item->getId() ]['Object'] ) : '';
622
  case 'event_type':
623
- return isset( $this->item_meta[ $item->getId() ]['EventType'] ) ? $this->_plugin->alerts->get_display_event_type_text( $this->item_meta[ $item->getId() ]['EventType'] ) : '';
624
  default:
625
  return isset( $item->$column_name )
626
  ? esc_html( $item->$column_name )
169
  <div class="display-type-buttons">
170
  <?php
171
  $user_selected_view = $this->_plugin->views->views[0]->detect_view_type();
 
172
  ?>
173
+ <a id ="wsal-list-view-toggle" href="<?php echo esc_url( add_query_arg( 'view', 'list' ) ); ?>" class="button wsal-button dashicons-before dashicons-list-view" <?php echo ( 'list' === $user_selected_view ) ? esc_attr( 'disabled' ) : ''; ?>><?php esc_html_e( 'List View', 'wp-security-audit-log' ); ?></a>
174
+ <a id ="wsal-grid-view-toggle" href="<?php echo esc_url( add_query_arg( 'view', 'grid' ) ); ?>" class="button wsal-button dashicons-before dashicons-grid-view" <?php echo ( 'grid' === $user_selected_view ) ? esc_attr( 'disabled' ) : ''; ?>><?php esc_html_e( 'Grid View', 'wp-security-audit-log' ); ?></a>
175
  </div>
176
  <?php
177
  $this->pagination( $which );
617
  return '<a class="more-info thickbox" data-tooltip="' . $tooltip . '" title="' . __( 'Alert Data Inspector', 'wp-security-audit-log' ) . '"'
618
  . ' href="' . $url . '&amp;TB_iframe=true&amp;width=600&amp;height=550">&hellip;</a>';
619
  case 'object':
620
+ return isset( $this->item_meta[ $item->getId() ]['Object'] ) ? $this->_plugin->alerts->get_event_objects_data( $this->item_meta[ $item->getId() ]['Object'] ) : '';
621
  case 'event_type':
622
+ return isset( $this->item_meta[ $item->getId() ]['EventType'] ) ? $this->_plugin->alerts->get_event_type_data( $this->item_meta[ $item->getId() ]['EventType'] ) : '';
623
  default:
624
  return isset( $item->$column_name )
625
  ? esc_html( $item->$column_name )
classes/Connector/MySQLDB.php CHANGED
@@ -57,12 +57,22 @@ class WSAL_Connector_MySQLDB extends WSAL_Connector_AbstractConnector implements
57
  } elseif ( ! isset( $new_wpdb->dbh ) ) {
58
  $error_code = mysqli_connect_errno();
59
 
60
- if ( 2002 === $error_code ) {
61
- throw new Exception( __( 'Error establishing a database connection. Hostname is not valid.' ), $error_code );
62
- } elseif ( 1045 === $error_code ) {
63
  throw new Exception( __( 'Error establishing a database connection. DB username or password are not valid.' ), $error_code );
64
  } else {
65
- throw new Exception( mysqli_connect_error(), $error_code );
 
 
 
 
 
 
 
 
 
 
 
 
66
  }
67
  } elseif ( isset( $new_wpdb->db_select_error ) ) {
68
  throw new Exception( 'Error: Database ' . $connection_config['name'] . ' is unknown.', '1046' );
@@ -410,7 +420,7 @@ class WSAL_Connector_MySQLDB extends WSAL_Connector_AbstractConnector implements
410
  public function encryptString( $plaintext ) {
411
  // Check for previous version.
412
  $plugin = WpSecurityAuditLog::GetInstance();
413
- $version = $plugin->GetGlobalOption( 'version', '0.0.0' );
414
 
415
  $ciphertext = false;
416
  $encrypt_method = 'AES-256-CBC';
@@ -451,7 +461,7 @@ class WSAL_Connector_MySQLDB extends WSAL_Connector_AbstractConnector implements
451
  public function decryptString( $ciphertext_base64 ) {
452
  // Check for previous version.
453
  $plugin = WpSecurityAuditLog::GetInstance();
454
- $version = $plugin->GetGlobalOption( 'version', '0.0.0' );
455
 
456
  $plaintext = false;
457
  $encrypt_method = 'AES-256-CBC';
57
  } elseif ( ! isset( $new_wpdb->dbh ) ) {
58
  $error_code = mysqli_connect_errno();
59
 
60
+ if ( 1045 === $error_code ) {
 
 
61
  throw new Exception( __( 'Error establishing a database connection. DB username or password are not valid.' ), $error_code );
62
  } else {
63
+ $error_message = mysqli_connect_error();
64
+ // if we get an error message from mysqli then use it otherwise use a generic message.
65
+ if ( $error_message ) {
66
+ throw new Exception(
67
+ sprintf(
68
+ /* translators: 1 - mysqli error code, 2 - mysqli error message */
69
+ __( 'Code %1$d: %2$s', 'wp-security-audit-log' ),
70
+ $error_code,
71
+ $error_message
72
+ ),
73
+ $error_code
74
+ );
75
+ }
76
  }
77
  } elseif ( isset( $new_wpdb->db_select_error ) ) {
78
  throw new Exception( 'Error: Database ' . $connection_config['name'] . ' is unknown.', '1046' );
420
  public function encryptString( $plaintext ) {
421
  // Check for previous version.
422
  $plugin = WpSecurityAuditLog::GetInstance();
423
+ $version = $plugin->options_helper->get_option_value( 'version', '0.0.0' );
424
 
425
  $ciphertext = false;
426
  $encrypt_method = 'AES-256-CBC';
461
  public function decryptString( $ciphertext_base64 ) {
462
  // Check for previous version.
463
  $plugin = WpSecurityAuditLog::GetInstance();
464
+ $version = $plugin->options_helper->get_option_value( 'version', '0.0.0' );
465
 
466
  $plaintext = false;
467
  $encrypt_method = 'AES-256-CBC';
classes/EDD_SL_Plugin_Updater.php DELETED
@@ -1,221 +0,0 @@
1
- <?php
2
- /**
3
- * Class: Plugin Updater.
4
- *
5
- * Allowes plugins to use their own update API.
6
- *
7
- * @package Wsal
8
- */
9
-
10
- // Exit if accessed directly.
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- }
14
-
15
- // Uncomment this line for testing.
16
- // set_site_transient( 'update_plugins', null );
17
-
18
- /**
19
- * Class: Plugin Updater.
20
- *
21
- * Allows plugins to use their own update API.
22
- *
23
- * @author Pippin Williamson
24
- * @version 1.2
25
- * @package Wsal
26
- */
27
- class EDD_SL_Plugin_Updater {
28
-
29
- /**
30
- * API URL.
31
- *
32
- * @var string
33
- */
34
- private $api_url = '';
35
-
36
- /**
37
- * API Data.
38
- *
39
- * @var array
40
- */
41
- private $api_data = array();
42
-
43
- /**
44
- * Plugin Name.
45
- *
46
- * @var string
47
- */
48
- private $name = '';
49
-
50
- /**
51
- * SLug.
52
- *
53
- * @var string
54
- */
55
- private $slug = '';
56
-
57
- /**
58
- * Check?
59
- *
60
- * @var bool
61
- */
62
- private $do_check = false;
63
-
64
- /**
65
- * Class constructor.
66
- *
67
- * @uses plugin_basename()
68
- * @uses hook()
69
- *
70
- * @param string $_api_url The URL pointing to the custom API endpoint.
71
- * @param string $_plugin_file Path to the plugin file.
72
- * @param array $_api_data Optional data to send with API calls.
73
- * @return void
74
- */
75
- public function __construct( $_api_url, $_plugin_file, $_api_data = null ) {
76
- $this->api_url = trailingslashit( $_api_url );
77
- $this->api_data = urlencode_deep( $_api_data );
78
- $this->name = plugin_basename( $_plugin_file );
79
- $this->slug = basename( $_plugin_file, '.php' );
80
- $this->version = $_api_data['version'];
81
-
82
- // Set up hooks.
83
- $this->hook();
84
- }
85
-
86
- /**
87
- * Set up WordPress filters to hook into WP's update process.
88
- *
89
- * @uses add_filter()
90
- * @return void
91
- */
92
- private function hook() {
93
- add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'pre_set_site_transient_update_plugins_filter' ) );
94
- add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
95
- add_filter( 'http_request_args', array( $this, 'http_request_args' ), 10, 2 );
96
- }
97
-
98
- /**
99
- * Check for Updates at the defined API endpoint and modify the update array.
100
- *
101
- * This function dives into the update API just when WordPress creates its update array,
102
- * then adds a custom API call and injects the custom plugin data retrieved from the API.
103
- * It is reassembled from parts of the native WordPress plugin update code.
104
- * See wp-includes/update.php line 121 for the original wp_update_plugins() function.
105
- *
106
- * @uses api_request()
107
- *
108
- * @param array $_transient_data Update array build by WordPress.
109
- * @return array Modified update array with custom plugin data.
110
- */
111
- public function pre_set_site_transient_update_plugins_filter( $_transient_data ) {
112
- if ( empty( $_transient_data ) || ! $this->do_check ) {
113
- // This ensures that the custom API request only runs on the second time that WP fires the update check.
114
- $this->do_check = true;
115
- return $_transient_data;
116
- }
117
-
118
- $to_send = array(
119
- 'slug' => $this->slug,
120
- );
121
- $api_response = $this->api_request( 'plugin_latest_version', $to_send );
122
-
123
- if ( false !== $api_response && is_object( $api_response ) && isset( $api_response->new_version ) ) {
124
- if ( version_compare( $this->version, $api_response->new_version, '<' ) ) {
125
- $_transient_data->response[ $this->name ] = $api_response;
126
- }
127
- }
128
- return $_transient_data;
129
- }
130
-
131
- /**
132
- * Updates information on the "View version x.x details" page with custom data.
133
- *
134
- * @uses api_request()
135
- *
136
- * @param mixed $_data - Data.
137
- * @param string $_action - Action.
138
- * @param object $_args - Arguments.
139
- * @return object $_data
140
- */
141
- public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
142
- if ( ( 'plugin_information' != $_action ) || ! isset( $_args->slug ) || ($_args->slug != $this->slug) ) {
143
- return $_data;
144
- }
145
- $to_send = array(
146
- 'slug' => $this->slug,
147
- );
148
-
149
- $api_response = $this->api_request( 'plugin_information', $to_send );
150
- if ( false !== $api_response ) {
151
- $_data = $api_response;
152
- }
153
-
154
- return $_data;
155
- }
156
-
157
- /**
158
- * Disable SSL verification in order to prevent download update failures
159
- *
160
- * @param array $args - Arguments.
161
- * @param string $url - URL.
162
- * @return array $args
163
- */
164
- public function http_request_args( $args, $url ) {
165
- // If it is an https request and we are performing a package download, disable ssl verification.
166
- if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'edd_action=package_download' ) ) {
167
- $args['sslverify'] = false;
168
- }
169
- return $args;
170
- }
171
-
172
- /**
173
- * Calls the API and, if successfull, returns the object delivered by the API.
174
- *
175
- * @uses get_bloginfo()
176
- * @uses wp_remote_post()
177
- * @uses is_wp_error()
178
- *
179
- * @param string $_action The requested action.
180
- * @param array $_data Parameters for the API action.
181
- * @return false||object
182
- */
183
- private function api_request( $_action, $_data ) {
184
- global $wp_version;
185
- $data = array_merge( $this->api_data, $_data );
186
-
187
- if ( $data['slug'] != $this->slug ) {
188
- return;
189
- }
190
-
191
- if ( empty( $data['license'] ) ) {
192
- return;
193
- }
194
-
195
- $api_params = array(
196
- 'edd_action' => 'get_version',
197
- 'license' => $data['license'],
198
- 'name' => $data['item_name'],
199
- 'slug' => $this->slug,
200
- 'author' => $data['author'],
201
- 'url' => home_url(),
202
- );
203
- $request = wp_remote_post(
204
- $this->api_url, array(
205
- 'timeout' => 15,
206
- 'sslverify' => false,
207
- 'body' => $api_params,
208
- )
209
- );
210
-
211
- if ( ! is_wp_error( $request ) ) {
212
- $request = json_decode( wp_remote_retrieve_body( $request ) );
213
- if ( $request && isset( $request->sections ) ) {
214
- $request->sections = maybe_unserialize( $request->sections );
215
- }
216
- return $request;
217
- } else {
218
- return false;
219
- }
220
- }
221
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/Helpers/Options.php ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: WSAL\Models\Options
4
+ *
5
+ * Option Model gets and sets the options from the main WP options table.
6
+ *
7
+ * @since 4.0.2
8
+ * @package Wsal
9
+ */
10
+
11
+ namespace WSAL\Helpers;
12
+
13
+ /**
14
+ * WordPress options are always loaded from the default WordPress database.
15
+ *
16
+ * NOTE: there is primiarily a wrapper class around core functions and it has
17
+ * no cache layer here as wp has an internal options cache of it's own.
18
+ *
19
+ * @since 4.0.2
20
+ */
21
+ class Options {
22
+
23
+ /**
24
+ * Instance of the main plugin class.
25
+ *
26
+ * @since 4.0.2
27
+ * @var WpSecurityAuditLog
28
+ */
29
+ private $plugin;
30
+
31
+ /**
32
+ * Prefix used when setting/getting options.
33
+ *
34
+ * @since 4.0.2
35
+ * @var @var string
36
+ */
37
+ public $prefix;
38
+
39
+ /**
40
+ * Sets up this class with the main plugin instance and a prefix.
41
+ *
42
+ * @method __construct
43
+ * @since 4.0.2
44
+ * @param WpSecurityAuditLog $plugin The main plugin class instance.
45
+ * @param string $prefix A prefix to use when setting/getting.
46
+ */
47
+ public function __construct( $plugin, $prefix = '' ) {
48
+ // the main plugin file incase we need to get data from it.
49
+ $this->plugin = $plugin;
50
+ // sets the prefix used when getting all options through this class.
51
+ $this->set_prefix( $prefix );
52
+ }
53
+
54
+ /**
55
+ * Setter to allow changing prefixes when class isn't fetching own options.
56
+ *
57
+ * @method set_prefix
58
+ * @since 4.0.2
59
+ * @param string $prefix The prefix string to use when fetching.
60
+ */
61
+ public function set_prefix( $prefix = '' ) {
62
+ $this->prefix = ( is_string( $prefix ) ) ? $prefix : '';
63
+ }
64
+
65
+ /**
66
+ * Gets the value of an option.
67
+ *
68
+ * First attempts to get it from the class cache, then looks in the WP
69
+ * options table. If it gets fetched then store it in the cache.
70
+ *
71
+ * @method get_option_value
72
+ * @since 4.0.2
73
+ * @param string $option_name option name we want to get a value for.
74
+ * @param mixed $default a default value to use when one doesn't exist.
75
+ * @return mixed
76
+ */
77
+ public function get_option_value( $option_name = '', $default = null ) {
78
+ // bail early if no option name was requested.
79
+ if ( empty( $option_name ) || ! is_string( $option_name ) ) {
80
+ return;
81
+ }
82
+ return \get_option( $this->prefix . $option_name, $default );
83
+ }
84
+
85
+ /**
86
+ * Sets the value of an option.
87
+ *
88
+ * @method set_option_value
89
+ * @since 4.0.2
90
+ * @param string $option_name The name of option to save.
91
+ * @param mixed $value A value to store under the option name.
92
+ * @param bool $autoload Whether or not to autoload this option.
93
+ * @return bool Whether or not the option was updated.
94
+ */
95
+ public function set_option_value( $option_name = '', $value = null, $autoload = true ) {
96
+ // bail early if no option name or value was passed.
97
+ if ( empty( $option_name ) || null === $value ) {
98
+ return;
99
+ }
100
+ return \update_option( $this->prefix . $option_name, $value, $autoload );
101
+ }
102
+
103
+ /**
104
+ * Deletes an option from the WP options table.
105
+ *
106
+ * NOTE: This is just a strait wrapper around the core function.
107
+ *
108
+ * @method delete_option
109
+ * @since 4.0.2
110
+ * @param string $option_name Name of the option to delete.
111
+ * @return bool
112
+ */
113
+ public function delete_option( $option_name = '' ) {
114
+ return \delete_option( $option_name );
115
+ }
116
+
117
+ }
classes/LicenseManager.php DELETED
@@ -1,268 +0,0 @@
1
- <?php
2
- /**
3
- * Class: License Manager.
4
- *
5
- * License manager used in all the Add-Ons licenses.
6
- *
7
- * @package Wsal
8
- */
9
-
10
- // Exit if accessed directly.
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- }
14
-
15
- // Since other plugins might use this class.
16
- if ( ! class_exists( 'EDD_SL_Plugin_Updater' ) ) {
17
- require_once( 'EDD_SL_Plugin_Updater.php' );
18
- }
19
-
20
- /**
21
- * Class: License Manager.
22
- *
23
- * License Manager used in all the Add-Ons licenses.
24
- *
25
- * @package Wsal
26
- */
27
- class WSAL_LicenseManager {
28
-
29
- /**
30
- * Instance of WpSecurityAuditLog.
31
- *
32
- * @var WpSecurityAuditLog
33
- */
34
- protected $plugin;
35
-
36
- /**
37
- * Array of Add-Ons.
38
- *
39
- * @var array
40
- */
41
- protected $plugins = array();
42
-
43
- /**
44
- * Method: Constructor.
45
- *
46
- * @param WpSecurityAuditLog $plugin - Instance of WpSecurityAuditLog.
47
- */
48
- public function __construct( WpSecurityAuditLog $plugin ) {
49
- $this->plugin = $plugin;
50
- add_action( 'plugins_loaded', array( $this, 'LoadPlugins' ) );
51
- }
52
-
53
- /**
54
- * Method: Get Store URL.
55
- */
56
- protected function GetStoreUrl() {
57
- return 'https://www.wpsecurityauditlog.com/';
58
- }
59
-
60
- /**
61
- * Method: Count Add-Ons.
62
- */
63
- public function CountPlugins() {
64
- return count( $this->plugins );
65
- }
66
-
67
- /**
68
- * Method: Get Add-Ons.
69
- */
70
- public function Plugins() {
71
- return $this->plugins;
72
- }
73
-
74
- /**
75
- * Method: Load Add-Ons.
76
- */
77
- public function LoadPlugins() {
78
- foreach ( apply_filters( 'wsal_register', array() ) as $plugin_file ) {
79
- $this->AddPremiumPlugin( $plugin_file );
80
- }
81
- }
82
-
83
- /**
84
- * Method: Get Plugin Data.
85
- *
86
- * @param string $plugin_file - Plugin file.
87
- * @param string $license - Plugin License.
88
- */
89
- protected function GetPluginData( $plugin_file, $license ) {
90
- // A hack since get_plugin_data() is not available now.
91
- $plugin_data = get_file_data(
92
- $plugin_file, array(
93
- 'Name' => 'Plugin Name',
94
- 'PluginURI' => 'Plugin URI',
95
- 'Version' => 'Version',
96
- 'Description' => 'Description',
97
- 'Author' => 'Author',
98
- 'TextDomain' => 'Text Domain',
99
- 'DomainPath' => 'Domain Path',
100
- ), 'plugin'
101
- );
102
-
103
- $plugin_updater = is_null( $license )
104
- ? null
105
- : new EDD_SL_Plugin_Updater(
106
- $this->GetStoreUrl(),
107
- $plugin_file,
108
- array(
109
- 'license' => $license,
110
- 'item_name' => $plugin_data['Name'],
111
- 'author' => $plugin_data['Author'],
112
- 'version' => $plugin_data['Version'],
113
- )
114
- );
115
-
116
- return array(
117
- 'PluginData' => $plugin_data,
118
- 'EddUpdater' => $plugin_updater,
119
- );
120
- }
121
-
122
- /**
123
- * Method: Add Premium Plugin.
124
- *
125
- * @param string $plugin_file - Plugin File.
126
- */
127
- public function AddPremiumPlugin( $plugin_file ) {
128
- if ( isset( $plugin_file ) ) {
129
- $name = sanitize_key( basename( $plugin_file ) );
130
- $license = $this->plugin->settings->GetLicenseKey( $name );
131
- $this->plugins[ $name ] = $this->GetPluginData( $plugin_file, $license );
132
- }
133
- }
134
-
135
- /**
136
- * Method: Add Plugin.
137
- *
138
- * @param string $plugin_file - Plugin File.
139
- */
140
- public function AddPlugin( $plugin_file ) {
141
- if ( isset( $plugin_file ) ) {
142
- $name = sanitize_key( basename( $plugin_file ) );
143
- $this->plugins[ $name ] = $this->GetPluginData( $plugin_file, null );
144
- }
145
- }
146
-
147
- /**
148
- * Method: Get Blog IDs.
149
- */
150
- protected function GetBlogIds() {
151
- global $wpdb;
152
- $sql = 'SELECT blog_id FROM ' . $wpdb->blogs;
153
- return $wpdb->get_col( $sql );
154
- }
155
-
156
- /**
157
- * Method: Activate Premium Plugin license.
158
- *
159
- * @param string $name - Plugin name.
160
- * @param string $license - Plugin license.
161
- */
162
- public function ActivateLicense( $name, $license ) {
163
- $this->plugin->settings->SetLicenseKey( $name, $license );
164
-
165
- $plugins = $this->Plugins();
166
- $api_params = array(
167
- 'edd_action' => 'activate_license',
168
- 'license' => urlencode( $license ),
169
- 'item_name' => urlencode( $plugins[ $name ]['PluginData']['Name'] ),
170
- 'url' => urlencode( home_url() ),
171
- );
172
-
173
- $blog_ids = $this->plugin->IsMultisite() ? $this->GetBlogIds() : array( 1 );
174
-
175
- foreach ( $blog_ids as $blog_id ) {
176
- if ( $this->plugin->IsMultisite() ) {
177
- $api_params['url'] = urlencode( get_home_url( $blog_id ) );
178
- }
179
-
180
- $response = wp_remote_get(
181
- esc_url_raw( add_query_arg( $api_params, $this->GetStoreUrl() ) ),
182
- array(
183
- 'timeout' => 15,
184
- 'sslverify' => false,
185
- )
186
- );
187
-
188
- if ( is_wp_error( $response ) ) {
189
- $this->plugin->settings->SetLicenseErrors( $name, 'Invalid Licensing Server Response: ' . $response->get_error_message() );
190
- $this->DeactivateLicense( $name, $license );
191
- return false;
192
- }
193
-
194
- $license_data = json_decode( wp_remote_retrieve_body( $response ) );
195
-
196
- if ( is_object( $license_data ) ) {
197
- $this->plugin->settings->SetLicenseStatus( $name, $license_data->license );
198
- if ( 'valid' !== $license_data->license ) {
199
- $error = 'License Not Valid';
200
- if ( isset( $license_data->error ) ) {
201
- $error .= ': ' . ucfirst( str_replace( '_', ' ', $license_data->error ) );
202
- }
203
- $this->plugin->settings->SetLicenseErrors( $name, $error );
204
- $this->DeactivateLicense( $name, $license );
205
- return false;
206
- }
207
- } else {
208
- $this->plugin->settings->SetLicenseErrors( $name, 'Unexpected Licensing Server Response' );
209
- $this->DeactivateLicense( $name, $license );
210
- return false;
211
- }
212
- }
213
-
214
- return true;
215
- }
216
-
217
- /**
218
- * Method: Check Plugin License.
219
- *
220
- * @param string $name - Plugin name.
221
- */
222
- public function IsLicenseValid( $name ) {
223
- return trim( strtolower( $this->plugin->settings->GetLicenseStatus( $name ) ) ) === 'valid';
224
- }
225
-
226
- /**
227
- * Method: Deactivate Premium Plugin license.
228
- *
229
- * @param string $name - Plugin name.
230
- * @param string $license - Plugin license.
231
- */
232
- public function DeactivateLicense( $name, $license = null ) {
233
- $this->plugin->settings->SetLicenseStatus( $name, '' );
234
-
235
- // Deactivate it on the server (if license was given).
236
- if ( ! is_null( $license ) ) {
237
- $plugins = $this->Plugins();
238
- $api_params = array(
239
- 'edd_action' => 'deactivate_license',
240
- 'license' => urlencode( $license ),
241
- 'item_name' => urlencode( $plugins[ $name ]['PluginData']['Name'] ),
242
- 'url' => urlencode( home_url() ),
243
- );
244
-
245
- $blog_ids = $this->plugin->IsMultisite() ? $this->GetBlogIds() : array( 1 );
246
-
247
- foreach ( $blog_ids as $blog_id ) {
248
- if ( $this->plugin->IsMultisite() ) {
249
- $api_params['url'] = urlencode( get_home_url( $blog_id ) );
250
- }
251
-
252
- $response = wp_remote_get(
253
- esc_url_raw( add_query_arg( $api_params, $this->GetStoreUrl() ) ),
254
- array(
255
- 'timeout' => 15,
256
- 'sslverify' => false,
257
- )
258
- );
259
-
260
- if ( is_wp_error( $response ) ) {
261
- return false;
262
- }
263
-
264
- wp_remote_retrieve_body( $response );
265
- }
266
- }
267
- }
268
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/Loggers/Database.php CHANGED
@@ -204,14 +204,6 @@ class WSAL_Loggers_Database extends WSAL_AbstractLogger {
204
  if ( 0 == $deleted_count ) {
205
  return; // Nothing to delete.
206
  }
207
- // Keep track of what we're doing.
208
- $this->plugin->alerts->Trigger(
209
- 0003, array(
210
- 'Message' => 'Running system cleanup.',
211
- 'Query SQL' => $result['sql'],
212
- 'Query Args' => $result['args'],
213
- ), true
214
- );
215
 
216
  // Notify system.
217
  do_action( 'wsal_prune', $deleted_count, vsprintf( $result['sql'], $result['args'] ) );
204
  if ( 0 == $deleted_count ) {
205
  return; // Nothing to delete.
206
  }
 
 
 
 
 
 
 
 
207
 
208
  // Notify system.
209
  do_action( 'wsal_prune', $deleted_count, vsprintf( $result['sql'], $result['args'] ) );
classes/Models/Occurrence.php CHANGED
@@ -110,7 +110,8 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
110
  * @param mixed $value - Meta value.
111
  */
112
  public function SetMetaValue( $name, $value ) {
113
- if ( ! empty( $value ) ) {
 
114
  // Get meta adapter.
115
  $model = new WSAL_Models_Meta();
116
  $model->occurrence_id = $this->getId();
@@ -183,7 +184,44 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
183
  if ( null !== $alert_object && method_exists( $alert_object, 'GetMessage' ) ) {
184
  $this->_cachedmessage = $alert_object->GetMessage( $meta_array, $meta_formatter, $this->_cachedmessage, $this->getId(), $highlight );
185
  } else {
186
- $this->_cachedmessage = sprintf(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  /* Translators: 1: html that opens a link, 2: html that closes a link. */
188
  __( 'Alert message was not available, this may have been a custom alert that no longer exists. Read more about custom events %1$shere%2$s.', 'wp-security-audit-log' ),
189
  '<a href="https://www.wpsecurityauditlog.com/support-documentation/create-custom-alerts-wordpress-audit-trail/" target="_blank">',
110
  * @param mixed $value - Meta value.
111
  */
112
  public function SetMetaValue( $name, $value ) {
113
+ // check explicitly for `0` string values.
114
+ if ( '0' === $value || ! empty( $value ) ) {
115
  // Get meta adapter.
116
  $model = new WSAL_Models_Meta();
117
  $model->occurrence_id = $this->getId();
184
  if ( null !== $alert_object && method_exists( $alert_object, 'GetMessage' ) ) {
185
  $this->_cachedmessage = $alert_object->GetMessage( $meta_array, $meta_formatter, $this->_cachedmessage, $this->getId(), $highlight );
186
  } else {
187
+ /**
188
+ * Reaching this point means we have an event we don't know
189
+ * about. It could be a custom event or possibly a removed
190
+ * event.
191
+ *
192
+ * We currently have 2 sets of custom events that we can flag
193
+ * specific messages about. WPForms and BBPress. Both are
194
+ * available as plugin add-ons.
195
+ *
196
+ * @since 4.0.2
197
+ */
198
+ $addon_event_codes = array(
199
+ 'wpforms' => array(
200
+ 'name' => __( 'WPForms', 'wp-security-audit-log' ),
201
+ 'event_ids' => array( 5500, 5501, 5502, 5503, 5504, 5505, 5506 ),
202
+ ),
203
+ 'bbpress' => array(
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 ) {
210
+ $f1 = in_array( $this->alert_id, $addon['event_ids'], true );
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 ) . '">',
218
+ '</button>'
219
+ );
220
+ // return this message early.
221
+ return $message;
222
+ }
223
+ }
224
+ $this->_cachedmessage = isset( $cached_message ) ? $cached_message : sprintf(
225
  /* Translators: 1: html that opens a link, 2: html that closes a link. */
226
  __( 'Alert message was not available, this may have been a custom alert that no longer exists. Read more about custom events %1$shere%2$s.', 'wp-security-audit-log' ),
227
  '<a href="https://www.wpsecurityauditlog.com/support-documentation/create-custom-alerts-wordpress-audit-trail/" target="_blank">',
classes/Sensors/BBPress.php DELETED
@@ -1,641 +0,0 @@
1
- <?php
2
- /**
3
- * Sensor: BBPress
4
- *
5
- * BBPress sensor class file.
6
- *
7
- * @since 1.0.0
8
- * @package Wsal
9
- */
10
-
11
- // Exit if accessed directly.
12
- if ( ! defined( 'ABSPATH' ) ) {
13
- exit;
14
- }
15
-
16
- /**
17
- * Support for BBPress Forum Plugin.
18
- *
19
- * 8000 User created new forum
20
- * 8001 User changed status of a forum
21
- * 8002 User changed visibility of a forum
22
- * 8003 User changed the URL of a forum
23
- * 8004 User changed order of a forum
24
- * 8005 User moved forum to trash
25
- * 8006 User permanently deleted forum
26
- * 8007 User restored forum from trash
27
- * 8008 User changed the parent of a forum
28
- * 8011 User changed type of a forum
29
- * 8014 User created new topic
30
- * 8015 User changed status of a topic
31
- * 8016 User changed type of a topic
32
- * 8017 User changed URL of a topic
33
- * 8018 User changed the forum of a topic
34
- * 8019 User moved topic to trash
35
- * 8020 User permanently deleted topic
36
- * 8021 User restored topic from trash
37
- * 8022 User changed visibility of a topic
38
- *
39
- * @package Wsal
40
- * @subpackage Sensors
41
- */
42
- class WSAL_Sensors_BBPress extends WSAL_AbstractSensor {
43
-
44
- /**
45
- * Old permalink
46
- *
47
- * @var string
48
- */
49
- protected $_OldLink = null;
50
-
51
- /**
52
- * Listening to events using WP hooks.
53
- */
54
- public function HookEvents() {
55
- if ( current_user_can( 'edit_posts' ) ) {
56
- add_action( 'admin_init', array( $this, 'EventAdminInit' ) );
57
- }
58
- add_action( 'post_updated', array( $this, 'CheckForumChange' ), 10, 3 );
59
- add_action( 'delete_post', array( $this, 'EventForumDeleted' ), 10, 1 );
60
- add_action( 'wp_trash_post', array( $this, 'EventForumTrashed' ), 10, 1 );
61
- add_action( 'untrash_post', array( $this, 'EventForumUntrashed' ) );
62
- }
63
-
64
- /**
65
- * Triggered when a user accesses the admin area.
66
- */
67
- public function EventAdminInit() {
68
- // Load old data, if applicable.
69
- $this->RetrieveOldData();
70
- // Check for Ajax changes.
71
- $this->TriggerAjaxChange();
72
- }
73
-
74
- /**
75
- * Retrieve Old data.
76
- *
77
- * @global mixed $_POST post data
78
- */
79
- protected function RetrieveOldData() {
80
- // Filter $_POST array for security.
81
- $post_array = filter_input_array( INPUT_POST );
82
-
83
- if ( isset( $post_array['post_ID'] )
84
- && isset( $post_array['_wpnonce'] )
85
- && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) {
86
- return false;
87
- }
88
-
89
- if ( isset( $post_array ) && isset( $post_array['post_ID'] )
90
- && ! ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
91
- && ! ( isset( $post_array['action'] ) && 'autosave' === $post_array['action'] )
92
- ) {
93
- $post_id = intval( $post_array['post_ID'] );
94
- $this->_OldLink = get_permalink( $post_id );
95
- }
96
- }
97
-
98
- /**
99
- * Calls event forum changes.
100
- *
101
- * @param integer $post_id - Post ID.
102
- * @param stdClass $newpost - The new post.
103
- * @param stdClass $oldpost - The old post.
104
- */
105
- public function CheckForumChange( $post_id, $newpost, $oldpost ) {
106
- if ( $this->CheckBBPress( $oldpost ) ) {
107
- $changes = 0 + $this->EventForumCreation( $oldpost, $newpost );
108
- // Change Visibility.
109
- if ( ! $changes ) {
110
- $changes = $this->EventForumChangedVisibility( $oldpost );
111
- }
112
- // Change Type.
113
- if ( ! $changes ) {
114
- $changes = $this->EventForumChangedType( $oldpost );
115
- }
116
- // Change status.
117
- if ( ! $changes ) {
118
- $changes = $this->EventForumChangedStatus( $oldpost );
119
- }
120
- // Change Order, Parent or URL.
121
- if ( ! $changes ) {
122
- $changes = $this->EventForumChanged( $oldpost, $newpost );
123
- }
124
- }
125
- }
126
-
127
- /**
128
- * Permanently deleted.
129
- *
130
- * @param integer $post_id Post ID.
131
- */
132
- public function EventForumDeleted( $post_id ) {
133
- $post = get_post( $post_id );
134
- if ( $this->CheckBBPress( $post ) ) {
135
- switch ( $post->post_type ) {
136
- case 'forum':
137
- $this->EventForumByCode( $post, 8006 );
138
- break;
139
- case 'topic':
140
- $this->EventTopicByCode( $post, 8020 );
141
- break;
142
- }
143
- }
144
- }
145
-
146
- /**
147
- * Moved to Trash.
148
- *
149
- * @param integer $post_id Post ID.
150
- */
151
- public function EventForumTrashed( $post_id ) {
152
- $post = get_post( $post_id );
153
- if ( $this->CheckBBPress( $post ) ) {
154
- switch ( $post->post_type ) {
155
- case 'forum':
156
- $this->EventForumByCode( $post, 8005 );
157
- break;
158
- case 'topic':
159
- $this->EventTopicByCode( $post, 8019 );
160
- break;
161
- }
162
- }
163
- }
164
-
165
- /**
166
- * Restored from Trash.
167
- *
168
- * @param integer $post_id Post ID.
169
- */
170
- public function EventForumUntrashed( $post_id ) {
171
- $post = get_post( $post_id );
172
- if ( $this->CheckBBPress( $post ) ) {
173
- switch ( $post->post_type ) {
174
- case 'forum':
175
- $this->EventForumByCode( $post, 8007 );
176
- break;
177
- case 'topic':
178
- $this->EventTopicByCode( $post, 8021 );
179
- break;
180
- }
181
- }
182
- }
183
-
184
- /**
185
- * Check post type.
186
- *
187
- * @param stdClass $post Post.
188
- * @return boolean
189
- */
190
- private function CheckBBPress( $post ) {
191
- switch ( $post->post_type ) {
192
- case 'forum':
193
- case 'topic':
194
- case 'reply':
195
- return true;
196
- default:
197
- return false;
198
- }
199
- }
200
-
201
- /**
202
- * Event post creation.
203
- *
204
- * @param stdClass $old_post - The old post.
205
- * @param stdClass $new_post - The new post.
206
- * @return boolean
207
- */
208
- private function EventForumCreation( $old_post, $new_post ) {
209
- // Filter $_POST array for security.
210
- $post_array = filter_input_array( INPUT_POST );
211
-
212
- if ( isset( $post_array['post_ID'] )
213
- && isset( $post_array['_wpnonce'] )
214
- && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) {
215
- return false;
216
- }
217
-
218
- $original = isset( $post_array['original_post_status'] ) ? $post_array['original_post_status'] : '';
219
- if ( 'draft' === $old_post->post_status || 'auto-draft' === $original ) {
220
- $editor_link = $this->GetEditorLink( $new_post );
221
- if ( 'publish' === $new_post->post_status ) {
222
- switch ( $old_post->post_type ) {
223
- case 'forum':
224
- $this->plugin->alerts->Trigger(
225
- 8000, array(
226
- 'ForumName' => $new_post->post_title,
227
- 'ForumURL' => get_permalink( $new_post->ID ),
228
- $editor_link['name'] => $editor_link['value'],
229
- )
230
- );
231
- break;
232
- case 'topic':
233
- $this->plugin->alerts->Trigger(
234
- 8014, array(
235
- 'TopicName' => $new_post->post_title,
236
- 'TopicURL' => get_permalink( $new_post->ID ),
237
- $editor_link['name'] => $editor_link['value'],
238
- )
239
- );
240
- break;
241
- }
242
- return 1;
243
- }
244
- }
245
- return 0;
246
- }
247
-
248
- /**
249
- * Event post changed visibility.
250
- *
251
- * @param stdClass $post The post.
252
- * @return boolean $result
253
- */
254
- private function EventForumChangedVisibility( $post ) {
255
- // Filter $_POST array for security.
256
- $post_array = filter_input_array( INPUT_POST );
257
-
258
- if ( isset( $post_array['post_ID'] )
259
- && isset( $post_array['_wpnonce'] )
260
- && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) {
261
- return false;
262
- }
263
-
264
- $result = 0;
265
- $editor_link = $this->GetEditorLink( $post );
266
- switch ( $post->post_type ) {
267
- case 'forum':
268
- $old_visibility = ! empty( $post_array['visibility'] ) ? $post_array['visibility'] : '';
269
- $new_visibility = ! empty( $post_array['bbp_forum_visibility'] ) ? $post_array['bbp_forum_visibility'] : '';
270
- $new_visibility = ( 'publish' === $new_visibility ) ? 'public' : $new_visibility;
271
-
272
- if ( ! empty( $new_visibility ) && 'auto-draft' != $old_visibility && $old_visibility != $new_visibility ) {
273
- $this->plugin->alerts->Trigger(
274
- 8002, array(
275
- 'ForumName' => $post->post_title,
276
- 'OldVisibility' => $old_visibility,
277
- 'NewVisibility' => $new_visibility,
278
- $editor_link['name'] => $editor_link['value'],
279
- )
280
- );
281
- $result = 1;
282
- }
283
- break;
284
- case 'topic':
285
- $old_visibility = ! empty( $post_array['hidden_post_visibility'] ) ? $post_array['hidden_post_visibility'] : '';
286
- $new_visibility = ! empty( $post_array['visibility'] ) ? $post_array['visibility'] : '';
287
- $new_visibility = ( 'password' === $new_visibility ) ? 'password protected' : $new_visibility;
288
-
289
- if ( ! empty( $new_visibility ) && 'auto-draft' != $old_visibility && $old_visibility != $new_visibility ) {
290
- $this->plugin->alerts->Trigger(
291
- 8022, array(
292
- 'TopicName' => $post->post_title,
293
- 'OldVisibility' => $old_visibility,
294
- 'NewVisibility' => $new_visibility,
295
- $editor_link['name'] => $editor_link['value'],
296
- )
297
- );
298
- $result = 1;
299
- }
300
- break;
301
- }
302
- return $result;
303
- }
304
-
305
- /**
306
- * Event post changed type.
307
- *
308
- * @param stdClass $post The post.
309
- * @return boolean $result
310
- */
311
- private function EventForumChangedType( $post ) {
312
- // Filter $_POST array for security.
313
- $post_array = filter_input_array( INPUT_POST );
314
-
315
- if ( isset( $post_array['post_ID'] )
316
- && isset( $post_array['_wpnonce'] )
317
- && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) {
318
- return false;
319
- }
320
-
321
- $result = 0;
322
- $editor_link = $this->GetEditorLink( $post );
323
- switch ( $post->post_type ) {
324
- case 'forum':
325
- $bbp_forum_type = get_post_meta( $post->ID, '_bbp_forum_type', true );
326
- $old_type = ! empty( $bbp_forum_type ) ? $bbp_forum_type : 'forum';
327
- $new_type = ! empty( $post_array['bbp_forum_type'] ) ? $post_array['bbp_forum_type'] : '';
328
- if ( ! empty( $new_type ) && $old_type != $new_type ) {
329
- $this->plugin->alerts->Trigger(
330
- 8011, array(
331
- 'ForumName' => $post->post_title,
332
- 'OldType' => $old_type,
333
- 'NewType' => $new_type,
334
- $editor_link['name'] => $editor_link['value'],
335
- )
336
- );
337
- $result = 1;
338
- }
339
- break;
340
- case 'topic':
341
- if ( ! empty( $post_array['parent_id'] ) ) {
342
- $post_id = $post_array['parent_id'];
343
- } else {
344
- $post_id = $post->ID;
345
- }
346
- $bbp_sticky_topics = maybe_unserialize( get_post_meta( $post_id, '_bbp_sticky_topics', true ) );
347
- $fn = $this->IsMultisite() ? 'get_site_option' : 'get_option';
348
- $bbp_super_sticky_topics = maybe_unserialize( $fn( '_bbp_super_sticky_topics' ) );
349
- if ( ! empty( $bbp_sticky_topics ) && in_array( $post->ID, $bbp_sticky_topics ) ) {
350
- $old_type = 'sticky';
351
- } elseif ( ! empty( $bbp_super_sticky_topics ) && in_array( $post->ID, $bbp_super_sticky_topics ) ) {
352
- $old_type = 'super';
353
- } else {
354
- $old_type = 'unstick';
355
- }
356
- $new_type = ! empty( $post_array['bbp_stick_topic'] ) ? $post_array['bbp_stick_topic'] : '';
357
- if ( ! empty( $new_type ) && $old_type != $new_type ) {
358
- $this->plugin->alerts->Trigger(
359
- 8016, array(
360
- 'TopicName' => $post->post_title,
361
- 'OldType' => ( 'unstick' == $old_type ) ? 'normal' : (( 'super' == $old_type ) ? 'super sticky' : $old_type),
362
- 'NewType' => ( 'unstick' == $new_type ) ? 'normal' : (( 'super' == $new_type ) ? 'super sticky' : $new_type),
363
- $editor_link['name'] => $editor_link['value'],
364
- )
365
- );
366
- $result = 1;
367
- }
368
- break;
369
- }
370
- return $result;
371
- }
372
-
373
- /**
374
- * Event post changed status.
375
- *
376
- * @param stdClass $post The post.
377
- * @return boolean $result
378
- */
379
- private function EventForumChangedStatus( $post ) {
380
- // Filter $_POST and $_GET array for security.
381
- $post_array = filter_input_array( INPUT_POST );
382
- $get_array = filter_input_array( INPUT_GET );
383
-
384
- if ( isset( $post_array['post_ID'] )
385
- && isset( $post_array['_wpnonce'] )
386
- && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) {
387
- return false;
388
- }
389
-
390
- $result = 0;
391
- $editor_link = $this->GetEditorLink( $post );
392
- switch ( $post->post_type ) {
393
- case 'forum':
394
- $bbp_status = get_post_meta( $post->ID, '_bbp_status', true );
395
- $old_status = ! empty( $bbp_status ) ? $bbp_status : 'open';
396
- $new_status = ! empty( $post_array['bbp_forum_status'] ) ? $post_array['bbp_forum_status'] : '';
397
- if ( ! empty( $new_status ) && $old_status !== $new_status ) {
398
- $this->plugin->alerts->Trigger(
399
- 8001, array(
400
- 'ForumName' => $post->post_title,
401
- 'OldStatus' => $old_status,
402
- 'NewStatus' => $new_status,
403
- $editor_link['name'] => $editor_link['value'],
404
- )
405
- );
406
- $result = 1;
407
- }
408
- break;
409
- case 'topic':
410
- $old_status = ! empty( $post_array['original_post_status'] ) ? $post_array['original_post_status'] : '';
411
- $new_status = ! empty( $post_array['post_status'] ) ? $post_array['post_status'] : '';
412
- // In case of Ajax request Spam/Not spam.
413
- if ( isset( $get_array['action'] ) && 'bbp_toggle_topic_spam' === $get_array['action'] ) {
414
- $old_status = $post->post_status;
415
- $new_status = 'spam';
416
- if ( isset( $get_array['post_status'] ) && 'spam' === $get_array['post_status'] ) {
417
- $new_status = 'publish';
418
- }
419
- }
420
- // In case of Ajax request Close/Open.
421
- if ( isset( $get_array['action'] ) && 'bbp_toggle_topic_close' === $get_array['action'] ) {
422
- $old_status = $post->post_status;
423
- $new_status = 'closed';
424
- if ( isset( $get_array['post_status'] ) && 'closed' === $get_array['post_status'] ) {
425
- $new_status = 'publish';
426
- }
427
- }
428
- if ( ! empty( $new_status ) && $old_status !== $new_status ) {
429
- $this->plugin->alerts->Trigger(
430
- 8015, array(
431
- 'TopicName' => $post->post_title,
432
- 'OldStatus' => ( 'publish' === $old_status ) ? 'open' : $old_status,
433
- 'NewStatus' => ( 'publish' === $new_status ) ? 'open' : $new_status,
434
- $editor_link['name'] => $editor_link['value'],
435
- )
436
- );
437
- $result = 1;
438
- }
439
- break;
440
- }
441
- return $result;
442
- }
443
-
444
- /**
445
- * Event post changed (order, parent, URL).
446
- *
447
- * @param stdClass $old_post - The old post.
448
- * @param stdClass $new_post - The new post.
449
- * @return boolean $result
450
- */
451
- private function EventForumChanged( $old_post, $new_post ) {
452
- $editor_link = $this->GetEditorLink( $new_post );
453
- // Changed Order.
454
- if ( $old_post->menu_order != $new_post->menu_order ) {
455
- $this->plugin->alerts->Trigger(
456
- 8004, array(
457
- 'ForumName' => $new_post->post_title,
458
- 'OldOrder' => $old_post->menu_order,
459
- 'NewOrder' => $new_post->menu_order,
460
- $editor_link['name'] => $editor_link['value'],
461
- )
462
- );
463
- return 1;
464
- }
465
- // Changed Parent.
466
- if ( $old_post->post_parent != $new_post->post_parent ) {
467
- switch ( $old_post->post_type ) {
468
- case 'forum':
469
- $this->plugin->alerts->Trigger(
470
- 8008, array(
471
- 'ForumName' => $new_post->post_title,
472
- 'OldParent' => $old_post->post_parent ? get_the_title( $old_post->post_parent ) : 'no parent',
473
- 'NewParent' => $new_post->post_parent ? get_the_title( $new_post->post_parent ) : 'no parent',
474
- $editor_link['name'] => $editor_link['value'],
475
- )
476
- );
477
- break;
478
- case 'topic':
479
- $this->plugin->alerts->Trigger(
480
- 8018, array(
481
- 'TopicName' => $new_post->post_title,
482
- 'OldForum' => $old_post->post_parent ? get_the_title( $old_post->post_parent ) : 'no parent',
483
- 'NewForum' => $new_post->post_parent ? get_the_title( $new_post->post_parent ) : 'no parent',
484
- $editor_link['name'] => $editor_link['value'],
485
- )
486
- );
487
- break;
488
- }
489
- return 1;
490
- }
491
- // Changed URL.
492
- $old_link = $this->_OldLink;
493
- $new_link = get_permalink( $new_post->ID );
494
- if ( ! empty( $old_link ) && $old_link != $new_link ) {
495
- switch ( $old_post->post_type ) {
496
- case 'forum':
497
- $this->plugin->alerts->Trigger(
498
- 8003, array(
499
- 'ForumName' => $new_post->post_title,
500
- 'OldUrl' => $old_link,
501
- 'NewUrl' => $new_link,
502
- $editor_link['name'] => $editor_link['value'],
503
- )
504
- );
505
- break;
506
- case 'topic':
507
- $this->plugin->alerts->Trigger(
508
- 8017, array(
509
- 'TopicName' => $new_post->post_title,
510
- 'OldUrl' => $old_link,
511
- 'NewUrl' => $new_link,
512
- $editor_link['name'] => $editor_link['value'],
513
- )
514
- );
515
- break;
516
- }
517
- return 1;
518
- }
519
- return 0;
520
- }
521
-
522
- /**
523
- * Trigger Event (Forum).
524
- *
525
- * @param stdClass $post - The post.
526
- * @param integer $event - Event code.
527
- */
528
- private function EventForumByCode( $post, $event ) {
529
- $editor_link = $this->GetEditorLink( $post );
530
- $this->plugin->alerts->Trigger(
531
- $event, array(
532
- 'ForumID' => $post->ID,
533
- 'ForumName' => $post->post_title,
534
- $editor_link['name'] => $editor_link['value'],
535
- )
536
- );
537
- }
538
-
539
- /**
540
- * Trigger Event (Topic).
541
- *
542
- * @param stdClass $post - The post.
543
- * @param integer $event - Event code.
544
- */
545
- private function EventTopicByCode( $post, $event ) {
546
- $editor_link = $this->GetEditorLink( $post );
547
- $this->plugin->alerts->Trigger(
548
- $event, array(
549
- 'TopicID' => $post->ID,
550
- 'TopicName' => $post->post_title,
551
- $editor_link['name'] => $editor_link['value'],
552
- )
553
- );
554
- }
555
-
556
- /**
557
- * Trigger of ajax events generated in the Topic Grid
558
- *
559
- * @global mixed $_GET Get data
560
- */
561
- public function TriggerAjaxChange() {
562
- // Filter $_GET array for security.
563
- $get_array = filter_input_array( INPUT_GET );
564
-
565
- if ( ! empty( $get_array['post_type'] ) && ! empty( $get_array['topic_id'] ) ) {
566
- if ( 'topic' == $get_array['post_type'] ) {
567
- $post = get_post( $get_array['topic_id'] );
568
-
569
- // Topic type.
570
- if ( isset( $get_array['action'] ) && 'bbp_toggle_topic_stick' == $get_array['action'] ) {
571
- if ( ! empty( $post->post_parent ) ) {
572
- $post_id = $post->post_parent;
573
- } else {
574
- $post_id = $get_array['topic_id'];
575
- }
576
-
577
- $bbp_sticky_topics = maybe_unserialize( get_post_meta( $post_id, '_bbp_sticky_topics', true ) );
578
- $fn = $this->IsMultisite() ? 'get_site_option' : 'get_option';
579
- $bbp_super_sticky_topics = maybe_unserialize( $fn( '_bbp_super_sticky_topics' ) );
580
- if ( ! empty( $bbp_sticky_topics ) && in_array( $get_array['topic_id'], $bbp_sticky_topics ) ) {
581
- $old_type = 'sticky';
582
- } elseif ( ! empty( $bbp_super_sticky_topics ) && in_array( $get_array['topic_id'], $bbp_super_sticky_topics ) ) {
583
- $old_type = 'super sticky';
584
- } else {
585
- $old_type = 'normal';
586
- }
587
-
588
- switch ( $old_type ) {
589
- case 'sticky':
590
- case 'super sticky':
591
- $new_type = 'normal';
592
- break;
593
- case 'normal':
594
- if ( isset( $get_array['super'] ) && 1 == $get_array['super'] ) {
595
- $new_type = 'super sticky';
596
- } else {
597
- $new_type = 'sticky';
598
- }
599
- break;
600
- }
601
- $editor_link = $this->GetEditorLink( $post );
602
-
603
- if ( ! empty( $new_type ) && $old_type != $new_type ) {
604
- $this->plugin->alerts->Trigger(
605
- 8016, array(
606
- 'TopicName' => $post->post_title,
607
- 'OldType' => $old_type,
608
- 'NewType' => $new_type,
609
- $editor_link['name'] => $editor_link['value'],
610
- )
611
- );
612
- }
613
- }
614
- }
615
- }
616
- }
617
-
618
- /**
619
- * Get editor link.
620
- *
621
- * @param stdClass $post - The post.
622
- * @return array $editor_link_array - Name and value link.
623
- */
624
- private function GetEditorLink( $post ) {
625
- $name = 'EditorLink';
626
- switch ( $post->post_type ) {
627
- case 'forum':
628
- $name .= 'Forum' ;
629
- break;
630
- case 'topic':
631
- $name .= 'Topic' ;
632
- break;
633
- }
634
- $value = get_edit_post_link( $post->ID );
635
- $editor_link_array = array(
636
- 'name' => $name,
637
- 'value' => $value,
638
- );
639
- return $editor_link_array;
640
- }
641
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/Sensors/Content.php CHANGED
@@ -138,6 +138,11 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
138
  return;
139
  }
140
 
 
 
 
 
 
141
  // Ignorable states.
142
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
143
  // Check post creation event.
@@ -189,6 +194,9 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
189
 
190
  // If a status change event has occurred, then don't log event 2002 (post modified).
191
  $changes = $status_event ? true : $changes;
 
 
 
192
  $this->check_modification_change( $post->ID, $this->_old_post, $post, $changes );
193
  }
194
  } else {
@@ -579,6 +587,7 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
579
  array(
580
  'old_name' => $old_name,
581
  'new_name' => $new_name,
 
582
  'cat_link' => $term_link,
583
  )
584
  );
@@ -786,7 +795,8 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
786
  $event_data['PublishingDate'] = $new_post->post_date;
787
  $this->plugin->alerts->Trigger( $event, $event_data );
788
  } else {
789
- $this->plugin->alerts->Trigger( $event, $event_data );
 
790
  }
791
  }
792
  }
@@ -900,7 +910,8 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
900
  $event_data['NewStatus'] = $newpost->post_status;
901
  $this->plugin->alerts->Trigger( $event, $event_data );
902
  } else {
903
- $this->plugin->alerts->Trigger( $event, $event_data );
 
904
  }
905
  }
906
 
@@ -1242,8 +1253,9 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
1242
  if ( $event ) {
1243
  if ( 2002 === $event ) {
1244
  // Get Yoast alerts.
1245
- $yoast_alerts = $this->plugin->alerts->get_alerts_by_category( 'Yoast SEO' );
1246
-
 
1247
  // Check all alerts.
1248
  foreach ( $yoast_alerts as $alert_code => $alert ) {
1249
  if ( $this->plugin->alerts->WillOrHasTriggered( $alert_code ) ) {
@@ -1252,7 +1264,7 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
1252
  }
1253
 
1254
  // Get post meta events.
1255
- $meta_events = array( 2053, 2054, 2055, 2062 );
1256
  foreach ( $meta_events as $meta_event ) {
1257
  if ( $this->plugin->alerts->WillOrHasTriggered( $meta_event ) ) {
1258
  return 0; // Return if any meta event has or will trigger.
@@ -1266,7 +1278,11 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
1266
  $event_data['RevisionLink'] = $this->get_post_revision( $post_id, $oldpost );
1267
 
1268
  if ( 2002 === $event ) {
1269
- $this->plugin->alerts->TriggerIf( $event, $event_data, array( $this, 'must_not_contain_events' ) );
 
 
 
 
1270
  } else {
1271
  $this->plugin->alerts->Trigger( $event, $event_data );
1272
  }
@@ -1371,6 +1387,10 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
1371
  return false;
1372
  } elseif ( $manager->WillOrHasTriggered( 2120 ) ) {
1373
  return false;
 
 
 
 
1374
  }
1375
  return true;
1376
  }
@@ -1542,4 +1562,55 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
1542
  return true;
1543
  }
1544
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1545
  }
138
  return;
139
  }
140
 
141
+ // Check other sensors.
142
+ if ( $this->check_other_sensors( $post ) ) {
143
+ return;
144
+ }
145
+
146
  // Ignorable states.
147
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
148
  // Check post creation event.
194
 
195
  // If a status change event has occurred, then don't log event 2002 (post modified).
196
  $changes = $status_event ? true : $changes;
197
+ if ( '1' === $changes ) {
198
+ remove_action( 'save_post', array( $this, 'post_changed' ), 10, 3 );
199
+ }
200
  $this->check_modification_change( $post->ID, $this->_old_post, $post, $changes );
201
  }
202
  } else {
587
  array(
588
  'old_name' => $old_name,
589
  'new_name' => $new_name,
590
+ 'slug' => $new_slug,
591
  'cat_link' => $term_link,
592
  )
593
  );
795
  $event_data['PublishingDate'] = $new_post->post_date;
796
  $this->plugin->alerts->Trigger( $event, $event_data );
797
  } else {
798
+ // NOTE: this triggers if NOT firing event 5019.
799
+ $this->plugin->alerts->TriggerIf( $event, $event_data, array( $this, 'plugin_not_created_post' ) );
800
  }
801
  }
802
  }
910
  $event_data['NewStatus'] = $newpost->post_status;
911
  $this->plugin->alerts->Trigger( $event, $event_data );
912
  } else {
913
+ // NOTE: this triggers if NOT firing event 5019.
914
+ $this->plugin->alerts->TriggerIf( $event, $event_data, array( $this, 'plugin_not_created_post' ) );
915
  }
916
  }
917
 
1253
  if ( $event ) {
1254
  if ( 2002 === $event ) {
1255
  // Get Yoast alerts.
1256
+ $yoast_alerts = $this->plugin->alerts->get_alerts_by_category( 'Yoast SEO' );
1257
+ $yoast_metabox_alerts = $this->plugin->alerts->get_alerts_by_category( 'Yoast SEO Meta Box' );
1258
+ $yoast_alerts = $yoast_alerts + $yoast_metabox_alerts;
1259
  // Check all alerts.
1260
  foreach ( $yoast_alerts as $alert_code => $alert ) {
1261
  if ( $this->plugin->alerts->WillOrHasTriggered( $alert_code ) ) {
1264
  }
1265
 
1266
  // Get post meta events.
1267
+ $meta_events = array( 2053, 2054, 2055, 2062, 2016, 2120, 2119 );
1268
  foreach ( $meta_events as $meta_event ) {
1269
  if ( $this->plugin->alerts->WillOrHasTriggered( $meta_event ) ) {
1270
  return 0; // Return if any meta event has or will trigger.
1278
  $event_data['RevisionLink'] = $this->get_post_revision( $post_id, $oldpost );
1279
 
1280
  if ( 2002 === $event ) {
1281
+ if ( ! $this->was_triggered_recently( 2112 ) ) {
1282
+ if ( $content_changed ) {
1283
+ $this->plugin->alerts->TriggerIf( $event, $event_data, array( $this, 'must_not_contain_events' ) );
1284
+ }
1285
+ }
1286
  } else {
1287
  $this->plugin->alerts->Trigger( $event, $event_data );
1288
  }
1387
  return false;
1388
  } elseif ( $manager->WillOrHasTriggered( 2120 ) ) {
1389
  return false;
1390
+ } elseif ( $manager->WillOrHasTriggered( 2016 ) ) {
1391
+ return false;
1392
+ } elseif ( $manager->WillOrHasTriggered( 2017 ) ) {
1393
+ return false;
1394
  }
1395
  return true;
1396
  }
1562
  return true;
1563
  }
1564
  }
1565
+
1566
+ /**
1567
+ * Callback to test if a post was just made by a plugin.
1568
+ *
1569
+ * NOTE: the return is flipped to handle a double NOT in _CommitItem().
1570
+ *
1571
+ * @method plugin_not_created_post
1572
+ * @since 4.0.2
1573
+ * @param WSAL_AlertManager $manager the alert manager from the plugin.
1574
+ * @return boolean
1575
+ */
1576
+ public function plugin_not_created_post( $manager ) {
1577
+ $triggered = $manager->WillOrHasTriggered( 5019 );
1578
+ // inverting value here to account for the double NOT in _CommitItem().
1579
+ return ! $triggered;
1580
+ }
1581
+
1582
+ /**
1583
+ * Check if the alert was triggered recently.
1584
+ *
1585
+ * Checks last 5 events if they occured less than 20 seconds ago.
1586
+ *
1587
+ * @param integer|array $alert_id - Alert code.
1588
+ * @return boolean
1589
+ */
1590
+ private function was_triggered_recently( $alert_id ) {
1591
+ // if we have already checked this don't check again.
1592
+ if ( isset( $this->cached_alert_checks ) && array_key_exists( $alert_id, $this->cached_alert_checks ) && $this->cached_alert_checks[$alert_id] ) {
1593
+ return true;
1594
+ }
1595
+ $query = new WSAL_Models_OccurrenceQuery();
1596
+ $query->addOrderBy( 'created_on', true );
1597
+ $query->setLimit( 5 );
1598
+ $last_occurences = $query->getAdapter()->Execute( $query );
1599
+ $known_to_trigger = false;
1600
+ foreach ( $last_occurences as $last_occurence ) {
1601
+ if ( $known_to_trigger ) {
1602
+ break;
1603
+ }
1604
+ if ( ! empty( $last_occurence ) && ( $last_occurence->created_on + 5 ) > time() ) {
1605
+ if ( ! is_array( $alert_id ) && $last_occurence->alert_id === $alert_id ) {
1606
+ $known_to_trigger = true;
1607
+ } elseif ( is_array( $alert_id ) && in_array( $last_occurence[0]->alert_id, $alert_id, true ) ) {
1608
+ $known_to_trigger = true;
1609
+ }
1610
+ }
1611
+ }
1612
+ // once we know the answer to this don't check again to avoid queries.
1613
+ $this->cached_alert_checks[ $alert_id ] = $known_to_trigger;
1614
+ return $known_to_trigger;
1615
+ }
1616
  }
classes/Sensors/FrontendWooCommerce.php CHANGED
@@ -176,8 +176,13 @@ class WSAL_Sensors_FrontendWooCommerce extends WSAL_AbstractSensor {
176
  // If stock has changed then trigger the alert.
177
  if ( ( $old_stock !== $new_stock ) && ( 'on' === $wc_all_stock_changes ) ) {
178
  $editor_link = $this->get_editor_link( $post );
 
 
 
 
 
179
  $this->plugin->alerts->Trigger(
180
- 9019,
181
  array(
182
  'PostID' => $post->ID,
183
  'ProductTitle' => $product_title,
176
  // If stock has changed then trigger the alert.
177
  if ( ( $old_stock !== $new_stock ) && ( 'on' === $wc_all_stock_changes ) ) {
178
  $editor_link = $this->get_editor_link( $post );
179
+ /**
180
+ * Event was changed from 9019 to 9105
181
+ *
182
+ * @since 4.0.3
183
+ */
184
  $this->plugin->alerts->Trigger(
185
+ 9105,
186
  array(
187
  'PostID' => $post->ID,
188
  'ProductTitle' => $product_title,
classes/Sensors/MetaData.php CHANGED
@@ -364,21 +364,23 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
364
  continue;
365
  }
366
 
367
- $this->plugin->alerts->Trigger(
368
- 2055,
369
- array(
370
- 'PostID' => $object_id,
371
- 'PostTitle' => $post->post_title,
372
- 'PostStatus' => $post->post_status,
373
- 'PostType' => $post->post_type,
374
- 'PostDate' => $post->post_date,
375
- 'PostUrl' => get_permalink( $post->ID ),
376
- 'MetaID' => $meta_id,
377
- 'MetaKey' => $meta_key,
378
- 'MetaValue' => $meta_value,
379
- $editor_link['name'] => $editor_link['value'],
380
- )
381
- );
 
 
382
  }
383
  }
384
 
364
  continue;
365
  }
366
 
367
+ if( 'trash' !== $post->post_status ) {
368
+ $this->plugin->alerts->Trigger(
369
+ 2055,
370
+ array(
371
+ 'PostID' => $object_id,
372
+ 'PostTitle' => $post->post_title,
373
+ 'PostStatus' => $post->post_status,
374
+ 'PostType' => $post->post_type,
375
+ 'PostDate' => $post->post_date,
376
+ 'PostUrl' => get_permalink( $post->ID ),
377
+ 'MetaID' => $meta_id,
378
+ 'MetaKey' => $meta_key,
379
+ 'MetaValue' => $meta_value,
380
+ $editor_link['name'] => $editor_link['value'],
381
+ )
382
+ );
383
+ }
384
  }
385
  }
386
 
classes/Sensors/PluginsThemes.php CHANGED
@@ -213,6 +213,8 @@ class WSAL_Sensors_PluginsThemes extends WSAL_AbstractSensor {
213
  ),
214
  )
215
  );
 
 
216
  }
217
 
218
  // Activate plugin.
@@ -261,6 +263,8 @@ class WSAL_Sensors_PluginsThemes extends WSAL_AbstractSensor {
261
  ),
262
  )
263
  );
 
 
264
  }
265
  } elseif ( isset( $post_array['checked'] ) && ! empty( $post_array['checked'] ) ) {
266
  foreach ( $post_array['checked'] as $plugin_file ) {
@@ -280,6 +284,8 @@ class WSAL_Sensors_PluginsThemes extends WSAL_AbstractSensor {
280
  ),
281
  )
282
  );
 
 
283
  }
284
  }
285
  }
@@ -319,6 +325,7 @@ class WSAL_Sensors_PluginsThemes extends WSAL_AbstractSensor {
319
  ),
320
  )
321
  );
 
322
  }
323
  } elseif ( isset( $post_array['checked'] ) && ! empty( $post_array['checked'] ) ) {
324
  foreach ( $post_array['checked'] as $plugin_file ) {
@@ -337,6 +344,7 @@ class WSAL_Sensors_PluginsThemes extends WSAL_AbstractSensor {
337
  ),
338
  )
339
  );
 
340
  }
341
  }
342
  }
@@ -363,6 +371,7 @@ class WSAL_Sensors_PluginsThemes extends WSAL_AbstractSensor {
363
  ),
364
  )
365
  );
 
366
  }
367
  }
368
  }
@@ -392,6 +401,8 @@ class WSAL_Sensors_PluginsThemes extends WSAL_AbstractSensor {
392
 
393
  // Remove it from the list.
394
  $this->remove_site_plugin( $plugin_dir );
 
 
395
  }
396
  }
397
 
@@ -1429,4 +1440,67 @@ class WSAL_Sensors_PluginsThemes extends WSAL_AbstractSensor {
1429
  }
1430
  return $theme;
1431
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1432
  }
213
  ),
214
  )
215
  );
216
+
217
+ $this->run_addon_check( $plugin_dir );
218
  }
219
 
220
  // Activate plugin.
263
  ),
264
  )
265
  );
266
+
267
+ $this->run_addon_check( $plugin_file );
268
  }
269
  } elseif ( isset( $post_array['checked'] ) && ! empty( $post_array['checked'] ) ) {
270
  foreach ( $post_array['checked'] as $plugin_file ) {
284
  ),
285
  )
286
  );
287
+
288
+ $this->run_addon_check( $plugin_file );
289
  }
290
  }
291
  }
325
  ),
326
  )
327
  );
328
+ $this->run_addon_removal_check( $plugin_file );
329
  }
330
  } elseif ( isset( $post_array['checked'] ) && ! empty( $post_array['checked'] ) ) {
331
  foreach ( $post_array['checked'] as $plugin_file ) {
344
  ),
345
  )
346
  );
347
+ $this->run_addon_removal_check( $plugin_file );
348
  }
349
  }
350
  }
371
  ),
372
  )
373
  );
374
+ $this->run_addon_removal_check( $plugin_file );
375
  }
376
  }
377
  }
401
 
402
  // Remove it from the list.
403
  $this->remove_site_plugin( $plugin_dir );
404
+
405
+ $this->run_addon_removal_check( $plugin_file );
406
  }
407
  }
408
 
1440
  }
1441
  return $theme;
1442
  }
1443
+
1444
+ public function run_addon_check( $plugin_dir ) {
1445
+ $plugin_filename = basename( preg_replace( '/\\.[^.\\s]{3,4}$/', '', $plugin_dir ) );
1446
+
1447
+ if ( is_array( $plugin_filename ) ) {
1448
+ $plugin_filename = array_map( 'strval', $plugin_filename );
1449
+ }
1450
+
1451
+ // Grab list of plugins we have addons for.
1452
+ $predefined_plugins = WSAL_PluginInstallAndActivate::get_installable_plugins();
1453
+ $predefined_plugins_addon = array_column( $predefined_plugins, 'addon_for' );
1454
+ $predefined_plugins_slugs = array_column( $predefined_plugins, 'plugin_slug' );
1455
+ $all_plugins = get_plugins();
1456
+ $all_plugins = array_keys( $all_plugins );
1457
+
1458
+ foreach ( $predefined_plugins_addon as $plugin ) {
1459
+ // Check if plugin file starts with the same string as our addon_for, or if its equal.
1460
+ if ( $plugin_filename === $plugin ) {
1461
+ $addon_slug = array( array_search( $plugin, array_column( $predefined_plugins, 'addon_for', 'plugin_slug' ) ) );
1462
+ $is_addon_installed = array_intersect( $all_plugins, $addon_slug );
1463
+ if ( empty( $is_addon_installed ) ) {
1464
+ $current_value = get_option( 'wsal_installed_plugin_addon_available' );
1465
+ $plugin_filename = array( $plugin_filename );
1466
+ if ( isset( $current_value ) && is_array( $current_value ) ) {
1467
+ $new_plugin_filenames = array_unique( array_merge( $current_value, $plugin_filename ) );
1468
+ } else {
1469
+ $new_plugin_filenames = $plugin_filename;
1470
+ }
1471
+ $this->plugin->options_helper->set_option_value( 'installed_plugin_addon_available', $new_plugin_filenames );
1472
+ delete_option( 'wsal_addon_available_notice_dismissed' );
1473
+ }
1474
+ }
1475
+ }
1476
+ }
1477
+
1478
+ public function run_addon_removal_check( $plugin_dir ) {
1479
+ $plugin_filename = basename( preg_replace( '/\\.[^.\\s]{3,4}$/', '', $plugin_dir ) );
1480
+
1481
+ if ( is_array( $plugin_filename ) ) {
1482
+ $plugin_filename = array_map( 'strval', $plugin_filename );
1483
+ }
1484
+
1485
+ // Grab list of plugins we have addons for.
1486
+ $predefined_plugins = WSAL_PluginInstallAndActivate::get_installable_plugins();
1487
+ $predefined_plugins_addon = array_column( $predefined_plugins, 'addon_for' );
1488
+ $predefined_plugins_slugs = array_column( $predefined_plugins, 'plugin_slug' );
1489
+ $all_plugins = get_plugins();
1490
+ $all_plugins = array_keys( $all_plugins );
1491
+
1492
+ foreach ( $predefined_plugins_addon as $plugin ) {
1493
+ // Check if plugin file starts with the same string as our addon_for, or if its equal.
1494
+ if ( $plugin_filename === $plugin ) {
1495
+ $current_installed = get_option( 'wsal_installed_plugin_addon_available' );
1496
+ if ( isset( $current_installed ) && ! empty( $current_installed ) ) {
1497
+ if ( ( $key = array_search( $plugin, $current_installed ) ) !== false ) {
1498
+ unset( $current_installed[$key] );
1499
+ }
1500
+ }
1501
+
1502
+ $this->plugin->options_helper->set_option_value( 'installed_plugin_addon_available', $current_installed );
1503
+ }
1504
+ }
1505
+ }
1506
  }
classes/Sensors/Public.php CHANGED
@@ -361,8 +361,13 @@ class WSAL_Sensors_Public extends WSAL_AbstractSensor {
361
  // If stock has changed then trigger the alert.
362
  if ( ( $old_stock !== $new_stock ) && ( 'on' === $wc_all_stock_changes ) ) {
363
  $editor_link = $this->get_editor_link( $post );
 
 
 
 
 
364
  $this->plugin->alerts->Trigger(
365
- 9019,
366
  array(
367
  'PostID' => $post->ID,
368
  'ProductTitle' => $product_title,
361
  // If stock has changed then trigger the alert.
362
  if ( ( $old_stock !== $new_stock ) && ( 'on' === $wc_all_stock_changes ) ) {
363
  $editor_link = $this->get_editor_link( $post );
364
+ /**
365
+ * Event was changed from 9019 to 9105
366
+ *
367
+ * @since 4.0.3
368
+ */
369
  $this->plugin->alerts->Trigger(
370
+ 9105,
371
  array(
372
  'PostID' => $post->ID,
373
  'ProductTitle' => $product_title,
classes/Sensors/System.php CHANGED
@@ -507,63 +507,6 @@ class WSAL_Sensors_System extends WSAL_AbstractSensor {
507
  }
508
  }
509
  }
510
-
511
- /* BBPress Forum support Setting */
512
- if ( isset( $post_array['action'] ) && 'update' === $post_array['action'] && isset( $post_array['_bbp_default_role'] ) ) {
513
- $old_role = get_option( '_bbp_default_role' );
514
- $new_role = $post_array['_bbp_default_role'];
515
- if ( $old_role != $new_role ) {
516
- $this->plugin->alerts->Trigger(
517
- 8009,
518
- array(
519
- 'OldRole' => $old_role,
520
- 'NewRole' => $new_role,
521
- )
522
- );
523
- }
524
- }
525
-
526
- if ( isset( $post_array['action'] ) && 'update' === $post_array['action'] && isset( $post_array['option_page'] ) && ( 'bbpress' === $post_array['option_page'] ) ) {
527
- // Anonymous posting.
528
- $allow_anonymous = get_option( '_bbp_allow_anonymous' );
529
- $old_status = ! empty( $allow_anonymous ) ? 1 : 0;
530
- $new_status = ! empty( $post_array['_bbp_allow_anonymous'] ) ? 1 : 0;
531
-
532
- if ( $old_status !== $new_status ) {
533
- $this->plugin->alerts->Trigger(
534
- 8010,
535
- array( 'EventType' => ( 1 === $new_status ) ? 'enabled' : 'disabled' )
536
- );
537
- }
538
-
539
- // Disallow editing after.
540
- $bbp_edit_lock = get_option( '_bbp_edit_lock' );
541
- $old_time = ! empty( $bbp_edit_lock ) ? $bbp_edit_lock : '';
542
- $new_time = ! empty( $post_array['_bbp_edit_lock'] ) ? $post_array['_bbp_edit_lock'] : '';
543
- if ( $old_time != $new_time ) {
544
- $this->plugin->alerts->Trigger(
545
- 8012,
546
- array(
547
- 'OldTime' => $old_time,
548
- 'NewTime' => $new_time,
549
- )
550
- );
551
- }
552
-
553
- // Throttle posting every.
554
- $bbp_throttle_time = get_option( '_bbp_throttle_time' );
555
- $old_time2 = ! empty( $bbp_throttle_time ) ? $bbp_throttle_time : '';
556
- $new_time2 = ! empty( $post_array['_bbp_throttle_time'] ) ? $post_array['_bbp_throttle_time'] : '';
557
- if ( $old_time2 != $new_time2 ) {
558
- $this->plugin->alerts->Trigger(
559
- 8013,
560
- array(
561
- 'OldTime' => $old_time2,
562
- 'NewTime' => $new_time2,
563
- )
564
- );
565
- }
566
- }
567
  }
568
 
569
  /**
507
  }
508
  }
509
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
510
  }
511
 
512
  /**
classes/Sensors/UserProfile.php CHANGED
@@ -67,38 +67,6 @@ class WSAL_Sensors_UserProfile extends WSAL_AbstractSensor {
67
  // Get new user data.
68
  $new_userdata = get_userdata( $user_id );
69
 
70
- if ( WpSecurityAuditLog::is_bbpress_active() ) {
71
- // BBPress user roles.
72
- $bbpress_roles = array( 'bbp_spectator', 'bbp_moderator', 'bbp_participant', 'bbp_keymaster', 'bbp_blocked' );
73
-
74
- // Get bbpress user roles data.
75
- $old_bbpress_roles = array_intersect( $bbpress_roles, $old_userdata->roles );
76
- $new_bbpress_roles = array_intersect( $bbpress_roles, $new_userdata->roles );
77
-
78
- $old_bbpress_roles = array_map( array( $this, 'filter_role_names' ), $old_bbpress_roles );
79
- $new_bbpress_roles = array_map( array( $this, 'filter_role_names' ), $new_bbpress_roles );
80
-
81
- // Convert array to string.
82
- $old_bbpress_roles = is_array( $old_bbpress_roles ) ? implode( ', ', $old_bbpress_roles ) : '';
83
- $new_bbpress_roles = is_array( $new_bbpress_roles ) ? implode( ', ', $new_bbpress_roles ) : '';
84
-
85
- if ( $old_bbpress_roles !== $new_bbpress_roles ) {
86
- $current_user = wp_get_current_user();
87
- $this->plugin->alerts->Trigger(
88
- 4013,
89
- array(
90
- 'TargetUsername' => $new_userdata->user_login,
91
- 'OldRole' => $old_bbpress_roles,
92
- 'NewRole' => $new_bbpress_roles,
93
- 'UserChanger' => $current_user->user_login,
94
- 'FirstName' => $new_userdata->user_firstname,
95
- 'LastName' => $new_userdata->user_lastname,
96
- 'EditUserLink' => add_query_arg( 'user_id', $new_userdata->ID, admin_url( 'user-edit.php' ) )
97
- )
98
- );
99
- }
100
- }
101
-
102
  // Alert if user password is changed.
103
  if ( $old_userdata->user_pass !== $new_userdata->user_pass ) {
104
  $event = get_current_user_id() === $user_id ? 4003 : 4004;
@@ -171,20 +139,8 @@ class WSAL_Sensors_UserProfile extends WSAL_AbstractSensor {
171
  return;
172
  }
173
 
174
- // If BBPress plugin is active then check for user roles change.
175
- if ( WpSecurityAuditLog::is_bbpress_active() ) {
176
- // BBPress user roles.
177
- $bbpress_roles = array( 'bbp_spectator', 'bbp_moderator', 'bbp_participant', 'bbp_keymaster', 'bbp_blocked' );
178
-
179
- // Set WP roles.
180
- $old_roles = array_diff( $old_roles, $bbpress_roles );
181
- $new_roles = array_diff( $user->roles, $bbpress_roles );
182
- $old_roles = array_map( array( $this, 'filter_role_names' ), $old_roles );
183
- $new_roles = array_map( array( $this, 'filter_role_names' ), $new_roles );
184
- } else {
185
- $old_roles = array_map( array( $this, 'filter_role_names' ), $old_roles );
186
- $new_roles = array_map( array( $this, 'filter_role_names' ), $user->roles );
187
- }
188
 
189
  // Get roles.
190
  $old_roles = is_array( $old_roles ) ? implode( ', ', $old_roles ) : '';
67
  // Get new user data.
68
  $new_userdata = get_userdata( $user_id );
69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  // Alert if user password is changed.
71
  if ( $old_userdata->user_pass !== $new_userdata->user_pass ) {
72
  $event = get_current_user_id() === $user_id ? 4003 : 4004;
139
  return;
140
  }
141
 
142
+ $old_roles = array_map( array( $this, 'filter_role_names' ), $old_roles );
143
+ $new_roles = array_map( array( $this, 'filter_role_names' ), $user->roles );
 
 
 
 
 
 
 
 
 
 
 
 
144
 
145
  // Get roles.
146
  $old_roles = is_array( $old_roles ) ? implode( ', ', $old_roles ) : '';
classes/Sensors/WooCommerce.php CHANGED
@@ -139,6 +139,12 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
139
  */
140
  private $request_data = array();
141
 
 
 
 
 
 
 
142
  /**
143
  * Listening to events using WP hooks.
144
  */
@@ -171,6 +177,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
171
  add_action( 'updated_user_meta', array( $this, 'wc_user_meta_updated' ), 10, 4 );
172
  add_action( 'woocommerce_before_product_object_save', array( $this, 'check_product_changes_before_save' ), 10, 1 );
173
  add_action( 'woocommerce_product_quick_edit_save', array( $this, 'inline_product_changed' ), 10, 1 );
 
 
174
  }
175
 
176
  /**
@@ -208,6 +216,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
208
  $this->_old_link = get_post_permalink( $post_id, false, true );
209
  $this->_old_cats = 'product' === $post->post_type ? $this->GetProductCategories( $this->_old_post ) : null;
210
  $this->_old_data = 'product' === $post->post_type ? $this->GetProductData( $this->old_product ) : null;
 
211
  }
212
  }
213
 
@@ -405,8 +414,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
405
 
406
  $old_cats = is_array( $old_cats ) ? implode( ', ', $old_cats ) : $old_cats;
407
  $new_cats = is_array( $new_cats ) ? implode( ', ', $new_cats ) : $new_cats;
408
-
409
- if ( $old_cats !== $new_cats ) {
410
  $editor_link = $this->GetEditorLink( $newpost );
411
  $this->plugin->alerts->Trigger(
412
  9003,
@@ -498,7 +506,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
498
  * @return int
499
  */
500
  protected function CheckPermalinkChange( $old_link, $new_link, $post ) {
501
- if ( $old_link && $new_link && ( $old_link !== $new_link ) ) {
502
  $editor_link = $this->GetEditorLink( $post );
503
  $this->plugin->alerts->Trigger(
504
  9006,
@@ -924,12 +932,14 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
924
  * @return int
925
  */
926
  protected function CheckModifyChange( $oldpost, $newpost ) {
927
- if ( 'trash' === $oldpost->post_status || 'trash' === $newpost->post_status ) {
928
  return 0;
929
  }
930
 
931
  // Get Yoast alerts.
932
- $yoast_alerts = $this->plugin->alerts->get_alerts_by_sub_category( 'Yoast SEO' );
 
 
933
 
934
  // Check all alerts.
935
  foreach ( $yoast_alerts as $alert_code => $alert ) {
@@ -1113,16 +1123,16 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
1113
  );
1114
  return 1;
1115
  }
1116
- // elseif ( 'shop_coupon' === $newpost->post_type ) {
1117
- // Get coupon data.
1118
- // $coupon_data = $this->get_coupon_event_data( $newpost );
1119
- // Set status event data.
1120
- // $coupon_data['OldStatus'] = $oldpost->post_status;
1121
- // $coupon_data['NewStatus'] = $newpost->post_status;
1122
- // Log the event.
1123
- // $this->plugin->alerts->Trigger( 9070, $coupon_data );
1124
- // return 1;
1125
- // }
1126
  }
1127
  }
1128
  return 0;
@@ -1591,19 +1601,26 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
1591
  return $result;
1592
  }
1593
 
 
 
 
 
 
 
 
1594
  /**
1595
  * Trigger events Settings: 9027, 9028, 9029, 9030, 9031, 9032, 9033
1596
  */
1597
- protected function CheckSettingsChange() {
1598
  // Verify WooCommerce settings page nonce.
1599
  if ( isset( $_POST['_wpnonce'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ), 'woocommerce-settings' ) ) {
1600
  // Verify settings page via $_GET array.
1601
  if ( isset( $_GET['page'] ) && 'wc-settings' === sanitize_text_field( wp_unslash( $_GET['page'] ) ) ) {
1602
  if ( isset( $_GET['tab'] ) && 'products' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1603
  // Check weight unit event.
1604
- if ( isset( $_POST['woocommerce_weight_unit'] ) ) {
1605
- $old_unit = $this->GetConfig( 'weight_unit' );
1606
- $new_unit = sanitize_text_field( wp_unslash( $_POST['woocommerce_weight_unit'] ) );
1607
  if ( $old_unit !== $new_unit ) {
1608
  $this->plugin->alerts->Trigger(
1609
  9027,
@@ -1616,9 +1633,9 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
1616
  }
1617
 
1618
  // Check dimension unit event.
1619
- if ( isset( $_POST['woocommerce_dimension_unit'] ) ) {
1620
- $old_unit = $this->GetConfig( 'dimension_unit' );
1621
- $new_unit = sanitize_text_field( wp_unslash( $_POST['woocommerce_dimension_unit'] ) );
1622
  if ( $old_unit !== $new_unit ) {
1623
  $this->plugin->alerts->Trigger(
1624
  9028,
@@ -1631,67 +1648,18 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
1631
  }
1632
  } elseif ( isset( $_GET['tab'] ) && 'account' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1633
  // Guest Checkout event.
1634
- $old_enable_guest_checkout = $this->GetConfig( 'enable_guest_checkout' );
1635
- $new_enable_guest_checkout = isset( $_POST['woocommerce_enable_guest_checkout'] ) ? 'yes' : 'no';
1636
- if ( $old_enable_guest_checkout !== $new_enable_guest_checkout ) {
1637
- $status = 'yes' === $new_enable_guest_checkout ? 'enabled' : 'disabled';
1638
- $this->plugin->alerts->Trigger( 9033, array( 'EventType' => $status ) );
1639
- }
1640
- } elseif ( isset( $_GET['tab'] ) && 'checkout' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1641
- // Get payment method.
1642
- $gateway = isset( $_GET['section'] ) ? sanitize_text_field( wp_unslash( $_GET['section'] ) ) : false;
1643
-
1644
- // Set to true if payment gateways are enabled or disabled.
1645
- $status_change = false;
1646
-
1647
- // Check Cash On Delivery section.
1648
- if ( $gateway && 'cod' === sanitize_text_field( wp_unslash( $gateway ) ) ) {
1649
- // Check COD event.
1650
- $old_cash_on_delivery = $this->GetConfig( 'cod_settings' );
1651
- $old_cash_on_delivery = isset( $old_cash_on_delivery['enabled'] ) ? $old_cash_on_delivery['enabled'] : '';
1652
- $new_cash_on_delivery = isset( $_POST['woocommerce_cod_enabled'] ) ? 'yes' : 'no';
1653
-
1654
- // Check status change.
1655
- if ( $old_cash_on_delivery !== $new_cash_on_delivery ) {
1656
- $status = 'yes' === $new_cash_on_delivery ? 'enabled' : 'disabled';
1657
- $this->plugin->alerts->Trigger( 9034, array( 'EventType' => $status ) );
1658
- $status_change = true;
1659
- }
1660
- } elseif ( $gateway ) {
1661
- // Get old gateway settings.
1662
- $gateway_settings = $this->GetConfig( $gateway . '_settings' );
1663
- $old_gateway_status = isset( $gateway_settings['enabled'] ) ? $gateway_settings['enabled'] : false;
1664
- $new_gateway_status = isset( $_POST[ 'woocommerce_' . $gateway . '_enabled' ] ) ? 'yes' : 'no';
1665
-
1666
- // Check status change.
1667
- if ( $old_gateway_status !== $new_gateway_status ) {
1668
- // Gateway enabled.
1669
- $this->plugin->alerts->Trigger(
1670
- 9074,
1671
- array(
1672
- 'GatewayID' => $gateway,
1673
- 'GatewayName' => isset( $gateway_settings['title'] ) ? $gateway_settings['title'] : false,
1674
- 'EventType' => 'yes' === $new_gateway_status ? 'enabled' : 'disabled',
1675
- )
1676
- );
1677
- $status_change = true;
1678
  }
1679
  }
1680
-
1681
- if ( $gateway && ! $status_change ) {
1682
- $gateway_settings = $this->GetConfig( $gateway . '_settings' );
1683
- $this->plugin->alerts->Trigger(
1684
- 9076,
1685
- array(
1686
- 'GatewayID' => $gateway,
1687
- 'GatewayName' => isset( $gateway_settings['title'] ) ? $gateway_settings['title'] : false,
1688
- )
1689
- );
1690
- }
1691
- } elseif ( isset( $_GET['tab'] ) && 'tax' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1692
  // Check prices entered with tax setting.
1693
- if ( isset( $_POST['woocommerce_prices_include_tax'] ) ) {
1694
- $old_price_tax = $this->GetConfig( 'prices_include_tax' );
1695
  $new_price_tax = sanitize_text_field( wp_unslash( $_POST['woocommerce_prices_include_tax'] ) );
1696
  if ( $old_price_tax !== $new_price_tax ) {
1697
  $this->plugin->alerts->Trigger( 9078, array( 'TaxStatus' => 'yes' === $new_price_tax ? 'including' : 'excluding' ) );
@@ -1699,8 +1667,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
1699
  }
1700
 
1701
  // Check calculate tax based on setting.
1702
- if ( isset( $_POST['woocommerce_tax_based_on'] ) ) {
1703
- $old_tax_base = $this->GetConfig( 'tax_based_on' );
1704
  $new_tax_base = sanitize_text_field( wp_unslash( $_POST['woocommerce_tax_based_on'] ) );
1705
  if ( $old_tax_base !== $new_tax_base ) {
1706
  $setting = '';
@@ -1725,8 +1693,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
1725
  }
1726
 
1727
  // Check shipping tax class setting.
1728
- if ( isset( $_POST['woocommerce_shipping_tax_class'] ) ) {
1729
- $old_tax_class = $this->GetConfig( 'shipping_tax_class' );
1730
  $new_tax_class = sanitize_text_field( wp_unslash( $_POST['woocommerce_shipping_tax_class'] ) );
1731
  if ( $old_tax_class !== $new_tax_class ) {
1732
  $setting = '';
@@ -1753,36 +1721,202 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
1753
  }
1754
 
1755
  // Check rounding of tax setting.
1756
- $old_tax_round = $this->GetConfig( 'tax_round_at_subtotal' );
1757
- $new_tax_round = isset( $_POST['woocommerce_tax_round_at_subtotal'] ) ? 'yes' : 'no';
1758
- if ( $old_tax_round !== $new_tax_round ) {
1759
- $this->plugin->alerts->Trigger( 9081, array( 'EventType' => 'yes' === $new_tax_round ? 'enabled' : 'disabled' ) );
 
 
1760
  }
1761
  } elseif ( empty( $_GET['tab'] ) || 'general' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1762
  // "Enable Coupon" event.
1763
- $old_enable_coupons = $this->GetConfig( 'enable_coupons' );
1764
- $new_enable_coupons = isset( $_POST['woocommerce_enable_coupons'] ) ? 'yes' : 'no';
1765
- if ( $old_enable_coupons !== $new_enable_coupons ) {
1766
- $status = 'yes' === $new_enable_coupons ? 'enabled' : 'disabled';
1767
- $this->plugin->alerts->Trigger( 9032, array( 'EventType' => $status ) );
 
 
1768
  }
1769
 
1770
- if ( isset( $_POST['woocommerce_default_country'] ) ) {
1771
  // Default country event.
1772
- $old_location = $this->GetConfig( 'default_country' );
1773
- $new_location = sanitize_text_field( wp_unslash( $_POST['woocommerce_default_country'] ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1774
  if ( $old_location !== $new_location ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1775
  $this->plugin->alerts->Trigger(
1776
- 9029,
1777
  array(
1778
- 'OldLocation' => $old_location,
1779
- 'NewLocation' => $new_location,
1780
  )
1781
  );
1782
  }
 
1783
 
1784
- // Calculate taxes event.
1785
- $old_calc_taxes = $this->GetConfig( 'calc_taxes' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1786
  $new_calc_taxes = isset( $_POST['woocommerce_calc_taxes'] ) ? 'yes' : 'no';
1787
  if ( $old_calc_taxes !== $new_calc_taxes ) {
1788
  $status = 'yes' === $new_calc_taxes ? 'enabled' : 'disabled';
@@ -1791,19 +1925,147 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
1791
  }
1792
 
1793
  // Store current event.
1794
- if ( isset( $_POST['woocommerce_currency'] ) ) {
1795
- $old_currency = $this->GetConfig( 'currency' );
1796
- $new_currency = sanitize_text_field( wp_unslash( $_POST['woocommerce_currency'] ) );
1797
- if ( $old_currency !== $new_currency ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1798
  $this->plugin->alerts->Trigger(
1799
- 9031,
1800
  array(
1801
- 'OldCurrency' => $old_currency,
1802
- 'NewCurrency' => $new_currency,
 
1803
  )
1804
  );
 
1805
  }
1806
  }
 
 
 
 
 
 
 
 
 
 
 
1807
  }
1808
  }
1809
  }
@@ -2089,7 +2351,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
2089
  }
2090
  if ( ! empty( $product->post_title ) ) {
2091
  $event = 9072;
2092
- if ( ! $this->WasTriggered( $event ) ) {
2093
  $editor_link = $this->GetEditorLink( $product );
2094
  $this->plugin->alerts->Trigger(
2095
  $event,
@@ -2680,158 +2942,158 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
2680
  * @param array $data - Data array.
2681
  * @return int
2682
  */
2683
- private function check_attributes_change( $oldpost, $data = false ) {
2684
- $post_attributes = get_post_meta( $oldpost->ID, '_product_attributes', true ); // Get post attribute meta.
2685
- $post_attributes = ! $post_attributes ? array() : $post_attributes;
2686
-
2687
- if ( ! $data ) {
2688
- // @codingStandardsIgnoreStart
2689
- $data = $_POST;
2690
- // @codingStandardsIgnoreEnd
2691
- }
2692
-
2693
- $attribute_names = isset( $data['attribute_names'] ) ? array_map( 'sanitize_text_field', wp_unslash( $data['attribute_names'] ) ) : false;
2694
- $attribute_position = isset( $data['attribute_position'] ) ? array_map( 'sanitize_text_field', wp_unslash( $data['attribute_position'] ) ) : false;
2695
- $attribute_visibility = isset( $data['attribute_visibility'] ) ? array_map( 'sanitize_text_field', wp_unslash( $data['attribute_visibility'] ) ) : false;
2696
- $attribute_values = isset( $data['attribute_values'] ) ? $data['attribute_values'] : false;
2697
-
2698
- if ( ! empty( $attribute_names ) && ! empty( $attribute_values ) ) {
2699
- $new_attributes = array();
2700
- foreach ( $attribute_names as $key => $name ) {
2701
- $attr_key = $this->get_attribute_key( $name );
2702
- $new_attributes[ $attr_key ] = array(
2703
- 'name' => $name,
2704
- 'value' => isset( $attribute_values[ $key ] ) ? $this->get_string_attribute_value( $attribute_values[ $key ] ) : false,
2705
- 'position' => isset( $attribute_position[ $key ] ) ? $attribute_position[ $key ] : false,
2706
- 'is_visible' => isset( $attribute_visibility[ $key ] ) ? $attribute_visibility[ $key ] : false,
2707
- );
2708
- }
2709
-
2710
- // Compare old and new attributes.
2711
- $added_attributes = array_diff_key( $new_attributes, $post_attributes );
2712
- $deleted_attributes = array_diff_key( $post_attributes, $new_attributes );
2713
-
2714
- // Get product editor link.
2715
- $editor_link = $this->GetEditorLink( $oldpost );
2716
-
2717
- // Result.
2718
- $result = 0;
2719
-
2720
- // Event 9047.
2721
- if ( ! empty( $added_attributes ) ) {
2722
- foreach ( $added_attributes as $added_attribute ) {
2723
- if ( $added_attribute && ! empty( $added_attribute['name'] ) ) {
2724
- $this->plugin->alerts->Trigger(
2725
- 9047,
2726
- array(
2727
- 'AttributeName' => $added_attribute['name'],
2728
- 'AttributeValue' => $added_attribute['value'],
2729
- 'ProductID' => $oldpost->ID,
2730
- 'ProductTitle' => $oldpost->post_title,
2731
- 'ProductStatus' => $oldpost->post_status,
2732
- $editor_link['name'] => $editor_link['value'],
2733
- )
2734
- );
2735
- $result = 1;
2736
- }
2737
- }
2738
- }
2739
-
2740
- // Event 9050.
2741
- if ( ! empty( $deleted_attributes ) ) {
2742
- foreach ( $deleted_attributes as $deleted_attribute ) {
2743
- $this->plugin->alerts->Trigger(
2744
- 9050,
2745
- array(
2746
- 'AttributeName' => $deleted_attribute['name'],
2747
- 'AttributeValue' => $deleted_attribute['value'],
2748
- 'ProductID' => $oldpost->ID,
2749
- 'ProductTitle' => $oldpost->post_title,
2750
- 'ProductStatus' => $oldpost->post_status,
2751
- 'ProductUrl' => get_permalink( $oldpost->ID ),
2752
- $editor_link['name'] => $editor_link['value'],
2753
- )
2754
- );
2755
- $result = 1;
2756
- }
2757
- }
2758
-
2759
- // Event 9048, 9049 & 9051.
2760
- if ( ! empty( $new_attributes ) ) {
2761
- foreach ( $new_attributes as $attr_key => $new_attr ) {
2762
- // Get old attribute value.
2763
- $old_value = '';
2764
- if ( false !== strpos( $attr_key, 'pa_' ) ) {
2765
- $old_value = $this->get_wc_product_attributes( $oldpost, $attr_key );
2766
- } else {
2767
- $old_value = isset( $post_attributes[ $attr_key ]['value'] ) ? $post_attributes[ $attr_key ]['value'] : false;
2768
- }
2769
- $new_value = isset( $new_attr['value'] ) ? $new_attr['value'] : false; // Get new attribute value.
2770
-
2771
- // Get old and new attribute names.
2772
- $old_name = isset( $post_attributes[ $attr_key ]['name'] ) ? $post_attributes[ $attr_key ]['name'] : false;
2773
- $new_name = isset( $new_attr['name'] ) ? $new_attr['name'] : false;
2774
-
2775
- // Get old and new attribute visibility.
2776
- $old_visible = isset( $post_attributes[ $attr_key ]['is_visible'] ) ? (int) $post_attributes[ $attr_key ]['is_visible'] : false;
2777
- $new_visible = isset( $new_attr['is_visible'] ) ? (int) $new_attr['is_visible'] : false;
2778
-
2779
- // Value change.
2780
- if ( $old_value && $new_value && $old_value !== $new_value ) {
2781
- $this->plugin->alerts->Trigger(
2782
- 9048,
2783
- array(
2784
- 'AttributeName' => $new_attr['name'],
2785
- 'OldValue' => $old_value,
2786
- 'NewValue' => $new_value,
2787
- 'ProductID' => $oldpost->ID,
2788
- 'ProductTitle' => $oldpost->post_title,
2789
- 'ProductStatus' => $oldpost->post_status,
2790
- $editor_link['name'] => $editor_link['value'],
2791
- )
2792
- );
2793
- $result = 1;
2794
- }
2795
-
2796
- // Name change.
2797
- if ( $old_name && $new_name && $old_name !== $new_name ) {
2798
- $this->plugin->alerts->Trigger(
2799
- 9049,
2800
- array(
2801
- 'AttributeName' => $new_attr['name'],
2802
- 'OldValue' => $old_name,
2803
- 'NewValue' => $new_name,
2804
- 'ProductID' => $oldpost->ID,
2805
- 'ProductTitle' => $oldpost->post_title,
2806
- 'ProductStatus' => $oldpost->post_status,
2807
- 'ProductUrl' => get_permalink( $oldpost->ID ),
2808
- $editor_link['name'] => $editor_link['value'],
2809
- )
2810
- );
2811
- $result = 1;
2812
- }
2813
-
2814
- // Visibility change.
2815
- if ( ! empty( $new_attr['name'] ) && $old_visible !== $new_visible ) {
2816
- $this->plugin->alerts->Trigger(
2817
- 9051,
2818
- array(
2819
- 'AttributeName' => $new_attr['name'],
2820
- 'AttributeVisiblilty' => 1 === $new_visible ? __( 'Visible', 'wp-security-audit-log' ) : __( 'Non-Visible', 'wp-security-audit-log' ),
2821
- 'ProductID' => $oldpost->ID,
2822
- 'ProductTitle' => $oldpost->post_title,
2823
- 'ProductStatus' => $oldpost->post_status,
2824
- $editor_link['name'] => $editor_link['value'],
2825
- )
2826
- );
2827
- $result = 1;
2828
- }
2829
- }
2830
- }
2831
- return $result;
2832
- }
2833
- return 0;
2834
- }
2835
 
2836
  /**
2837
  * Check Product Variations Change.
@@ -3169,6 +3431,10 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
3169
  if ( ! empty( $meta_key ) && 'shop_coupon' === $coupon->post_type && in_array( $meta_key, $this->coupon_meta, true ) ) {
3170
  return false;
3171
  }
 
 
 
 
3172
  return $log_event;
3173
  }
3174
 
@@ -3190,7 +3456,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
3190
  return $log_meta_event;
3191
  }
3192
 
3193
- $ignore_coupon_meta = array( 'date_expires', 'usage_count', 'free_shipping' ); // Ignore these meta keys.
3194
  $usage_restriction_meta = array( 'individual_use', 'product_ids', 'exclude_product_ids', 'product_categories', 'exclude_product_categories', 'exclude_sale_items', 'minimum_amount', 'maximum_amount', 'customer_email' ); // Event 9067.
3195
  $usage_limits_meta = array( 'usage_limit', 'usage_limit_per_user', 'limit_usage_to_x_items' ); // Event 9068.
3196
 
@@ -3217,10 +3483,10 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
3217
 
3218
  // Set event id.
3219
  $event_id = 9065;
3220
- } elseif ( 'expiry_date' === $meta_key ) {
3221
  // Set coupon expiry date data.
3222
- $coupon_data['OldDate'] = isset( $old_meta_obj->val ) ? $old_meta_obj->val : false;
3223
- $coupon_data['NewDate'] = $meta_value;
3224
 
3225
  // Set event id.
3226
  $event_id = 9066;
@@ -3321,33 +3587,157 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
3321
 
3322
  if ( false !== strpos( $meta_key, 'billing_' ) ) {
3323
  $event_id = 9083;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3324
  } elseif ( false !== strpos( $meta_key, 'shipping_' ) ) {
3325
  $event_id = 9084;
3326
- }
 
 
3327
 
3328
- if ( $event_id ) {
3329
- $user = get_user_by( 'ID', $user_id );
3330
- // $old_address_key = 'Old' . $this->get_key_for_event( $meta_key );
3331
- // $new_address_key = 'New' . $this->get_key_for_event( $meta_key );
3332
- $address_field = str_replace( array( 'shipping_', 'billing_' ), '', $meta_key );
3333
- $address_field = ucwords( str_replace( '_', ' ', $address_field ) );
3334
 
3335
- $this->plugin->alerts->Trigger(
3336
- $event_id,
3337
- array(
3338
- 'TargetUsername' => $user ? $user->user_login : false,
3339
- 'AddressField' => $address_field,
3340
- 'OldValue' => $this->wc_user_meta[ $meta_id ]->value,
3341
- 'NewValue' => $meta_value,
3342
- 'EditUserLink' => add_query_arg( 'user_id', $user_id, admin_url( 'user-edit.php' ) ),
3343
- 'Roles' => is_array( $user->roles ) ? implode( ', ', $user->roles ) : $user->roles,
3344
- )
3345
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3346
  }
 
 
3347
  }
3348
  }
3349
  }
3350
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3351
  /**
3352
  * Check if meta key belongs to WooCommerce user meta.
3353
  *
@@ -3418,4 +3808,39 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
3418
  );
3419
  return ! empty( $tag_id ) ? add_query_arg( $tag_args, admin_url( 'term.php' ) ) : null;
3420
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3421
  }
139
  */
140
  private $request_data = array();
141
 
142
+ /**
143
+ * Count changed meta fields.
144
+ */
145
+ private $updated_field_count = 0;
146
+ private $updated_shipping_field_count = 0;
147
+
148
  /**
149
  * Listening to events using WP hooks.
150
  */
177
  add_action( 'updated_user_meta', array( $this, 'wc_user_meta_updated' ), 10, 4 );
178
  add_action( 'woocommerce_before_product_object_save', array( $this, 'check_product_changes_before_save' ), 10, 1 );
179
  add_action( 'woocommerce_product_quick_edit_save', array( $this, 'inline_product_changed' ), 10, 1 );
180
+
181
+ add_action( 'updated_option', array( $this, 'settings_updated' ), 10, 3 );
182
  }
183
 
184
  /**
216
  $this->_old_link = get_post_permalink( $post_id, false, true );
217
  $this->_old_cats = 'product' === $post->post_type ? $this->GetProductCategories( $this->_old_post ) : null;
218
  $this->_old_data = 'product' === $post->post_type ? $this->GetProductData( $this->old_product ) : null;
219
+ $this->_old_product_attributes = get_post_meta( $post->ID, '_product_attributes' );
220
  }
221
  }
222
 
414
 
415
  $old_cats = is_array( $old_cats ) ? implode( ', ', $old_cats ) : $old_cats;
416
  $new_cats = is_array( $new_cats ) ? implode( ', ', $new_cats ) : $new_cats;
417
+ if ( ! empty( $old_cats ) && $old_cats !== $new_cats ) {
 
418
  $editor_link = $this->GetEditorLink( $newpost );
419
  $this->plugin->alerts->Trigger(
420
  9003,
506
  * @return int
507
  */
508
  protected function CheckPermalinkChange( $old_link, $new_link, $post ) {
509
+ if ( ! empty( $old_cats ) && $old_link && $new_link && ( $old_link !== $new_link ) ) {
510
  $editor_link = $this->GetEditorLink( $post );
511
  $this->plugin->alerts->Trigger(
512
  9006,
932
  * @return int
933
  */
934
  protected function CheckModifyChange( $oldpost, $newpost ) {
935
+ if ( 'trash' === $oldpost->post_status || 'trash' === $newpost->post_status || 'auto-draft' === $oldpost->post_status ) {
936
  return 0;
937
  }
938
 
939
  // Get Yoast alerts.
940
+ $yoast_alerts = $this->plugin->alerts->get_alerts_by_category( 'Yoast SEO' );
941
+ $yoast_metabox_alerts = $this->plugin->alerts->get_alerts_by_category( 'Yoast SEO Meta Box' );
942
+ $yoast_alerts = $yoast_alerts + $yoast_metabox_alerts;
943
 
944
  // Check all alerts.
945
  foreach ( $yoast_alerts as $alert_code => $alert ) {
1123
  );
1124
  return 1;
1125
  }
1126
+ if ( 'shop_coupon' === $newpost->post_type ) {
1127
+ // Get coupon data.
1128
+ $coupon_data = $this->get_coupon_event_data( $newpost );
1129
+ // Set status event data.
1130
+ $coupon_data['OldStatus'] = $oldpost->post_status;
1131
+ $coupon_data['NewStatus'] = $newpost->post_status;
1132
+ // Log the event.
1133
+ $this->plugin->alerts->Trigger( 9070, $coupon_data );
1134
+ return 1;
1135
+ }
1136
  }
1137
  }
1138
  return 0;
1601
  return $result;
1602
  }
1603
 
1604
+ /**
1605
+ * Get the config setting
1606
+ *
1607
+ * @param string $option_name - Option Name.
1608
+ * @return string
1609
+ */
1610
+
1611
  /**
1612
  * Trigger events Settings: 9027, 9028, 9029, 9030, 9031, 9032, 9033
1613
  */
1614
+ public function settings_updated( $option, $old_value, $value ) {
1615
  // Verify WooCommerce settings page nonce.
1616
  if ( isset( $_POST['_wpnonce'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ), 'woocommerce-settings' ) ) {
1617
  // Verify settings page via $_GET array.
1618
  if ( isset( $_GET['page'] ) && 'wc-settings' === sanitize_text_field( wp_unslash( $_GET['page'] ) ) ) {
1619
  if ( isset( $_GET['tab'] ) && 'products' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1620
  // Check weight unit event.
1621
+ if ( isset( $_POST['woocommerce_weight_unit'] ) && $option === 'woocommerce_weight_unit' ) {
1622
+ $old_unit = $old_value;
1623
+ $new_unit = sanitize_text_field( wp_unslash( $value ) );
1624
  if ( $old_unit !== $new_unit ) {
1625
  $this->plugin->alerts->Trigger(
1626
  9027,
1633
  }
1634
 
1635
  // Check dimension unit event.
1636
+ if ( isset( $_POST['woocommerce_dimension_unit'] ) && $option === 'woocommerce_dimension_unit' ) {
1637
+ $old_unit = $old_value;
1638
+ $new_unit = sanitize_text_field( wp_unslash( $value ) );
1639
  if ( $old_unit !== $new_unit ) {
1640
  $this->plugin->alerts->Trigger(
1641
  9028,
1648
  }
1649
  } elseif ( isset( $_GET['tab'] ) && 'account' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1650
  // Guest Checkout event.
1651
+ if ( $option === 'woocommerce_enable_guest_checkout' ) {
1652
+ $old_enable_guest_checkout = $old_value;
1653
+ $new_enable_guest_checkout = isset( $_POST['woocommerce_enable_guest_checkout'] ) ? 'yes' : 'no';
1654
+ if ( $old_enable_guest_checkout !== $new_enable_guest_checkout ) {
1655
+ $status = ( 'yes' === $new_enable_guest_checkout ) ? 'enabled' : 'disabled';
1656
+ $this->plugin->alerts->Trigger( 9033, array( 'EventType' => $status ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1657
  }
1658
  }
1659
+ } if ( isset( $_GET['tab'] ) && 'tax' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
 
 
 
 
 
 
 
 
 
 
 
1660
  // Check prices entered with tax setting.
1661
+ if ( isset( $_POST['woocommerce_prices_include_tax'] ) && $option === 'woocommerce_prices_include_tax' ) {
1662
+ $old_price_tax = $old_value;
1663
  $new_price_tax = sanitize_text_field( wp_unslash( $_POST['woocommerce_prices_include_tax'] ) );
1664
  if ( $old_price_tax !== $new_price_tax ) {
1665
  $this->plugin->alerts->Trigger( 9078, array( 'TaxStatus' => 'yes' === $new_price_tax ? 'including' : 'excluding' ) );
1667
  }
1668
 
1669
  // Check calculate tax based on setting.
1670
+ if ( isset( $_POST['woocommerce_tax_based_on'] ) && $option === 'woocommerce_tax_based_on' ) {
1671
+ $old_tax_base = $old_value;
1672
  $new_tax_base = sanitize_text_field( wp_unslash( $_POST['woocommerce_tax_based_on'] ) );
1673
  if ( $old_tax_base !== $new_tax_base ) {
1674
  $setting = '';
1693
  }
1694
 
1695
  // Check shipping tax class setting.
1696
+ if ( isset( $_POST['woocommerce_shipping_tax_class'] ) && $option === 'woocommerce_shipping_tax_class' ) {
1697
+ $old_tax_class = $old_value;
1698
  $new_tax_class = sanitize_text_field( wp_unslash( $_POST['woocommerce_shipping_tax_class'] ) );
1699
  if ( $old_tax_class !== $new_tax_class ) {
1700
  $setting = '';
1721
  }
1722
 
1723
  // Check rounding of tax setting.
1724
+ if ( $option === 'woocommerce_tax_round_at_subtotal' ) {
1725
+ $old_tax_round = $old_value;
1726
+ $new_tax_round = isset( $_POST['woocommerce_tax_round_at_subtotal'] ) ? 'yes' : 'no';
1727
+ if ( $old_tax_round !== $new_tax_round ) {
1728
+ $this->plugin->alerts->Trigger( 9081, array( 'EventType' => 'yes' === $new_tax_round ? 'enabled' : 'disabled' ) );
1729
+ }
1730
  }
1731
  } elseif ( empty( $_GET['tab'] ) || 'general' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1732
  // "Enable Coupon" event.
1733
+ if ( $option === 'woocommerce_enable_coupons' ) {
1734
+ $old_enable_coupons = $old_value;
1735
+ $new_enable_coupons = isset( $_POST['woocommerce_enable_coupons'] ) ? 'yes' : 'no';
1736
+ if ( $old_enable_coupons !== $new_enable_coupons ) {
1737
+ $status = 'yes' === $new_enable_coupons ? 'enabled' : 'disabled';
1738
+ $this->plugin->alerts->Trigger( 9032, array( 'EventType' => $status ) );
1739
+ }
1740
  }
1741
 
1742
+ if ( isset( $_POST['woocommerce_store_address'] ) && $option === 'woocommerce_store_address' || isset( $_POST['woocommerce_store_address_2'] ) && $option === 'woocommerce_store_address_2' || isset( $_POST['woocommerce_store_city'] ) && $option === 'woocommerce_store_city' || isset( $_POST['woocommerce_default_country'] ) && $option === 'woocommerce_default_country' || isset( $_POST['woocommerce_store_postcode'] ) && $option === 'woocommerce_store_postcode' ) {
1743
  // Default country event.
1744
+ $old_location_array = array();
1745
+ if ( $option === 'woocommerce_store_address' ) {
1746
+ $old_location = $old_value . ', ' . $this->GetConfig( 'store_address_2' ) . ', ' . $this->GetConfig( 'store_city' ) . ', ' . WC()->countries->countries[ strtok( $this->GetConfig( 'default_country' ), ':') ] . ', ' . $this->GetConfig( 'store_postcode' );
1747
+ $new_location = sanitize_text_field( wp_unslash( $_POST['woocommerce_store_address'] ) ) . ', ' . $this->GetConfig( 'store_address_2' ) . ', ' . $this->GetConfig( 'store_city' ) . ', ' . WC()->countries->countries[ strtok( $this->GetConfig( 'default_country' ), ':') ] . ', ' . $this->GetConfig( 'store_postcode' );
1748
+ }
1749
+ if ( $option === 'woocommerce_store_address_2' ) {
1750
+ $old_location = $this->GetConfig( 'store_address' ) . ', ' . $old_value . ', ' . $this->GetConfig( 'store_city' ) . ', ' . WC()->countries->countries[ strtok( $this->GetConfig( 'default_country' ), ':') ] . ', ' . $this->GetConfig( 'store_postcode' );
1751
+ $new_location = $this->GetConfig( 'store_address' ) . ', ' . sanitize_text_field( wp_unslash( $_POST['woocommerce_store_address'] ) ) . ', ' . $this->GetConfig( 'store_city' ) . ', ' . WC()->countries->countries[ strtok( $this->GetConfig( 'default_country' ), ':') ] . ', ' . $this->GetConfig( 'store_postcode' );
1752
+ }
1753
+ if ( $option === 'woocommerce_store_city' ) {
1754
+ $old_location = $this->GetConfig( 'store_address' ) . ', ' . $this->GetConfig( 'store_address_2' ) . ', ' . $old_value . ', ' . $this->GetConfig( 'default_country' ) . ', ' . $this->GetConfig( 'store_postcode' );
1755
+ $new_location = $this->GetConfig( 'store_address' ) . ', ' . $this->GetConfig( 'store_address_2' ) . ', ' . sanitize_text_field( wp_unslash( $_POST['woocommerce_store_city'] ) ) . ', ' . WC()->countries->countries[ strtok( $this->GetConfig( 'default_country' ), ':') ] . ', ' . $this->GetConfig( 'store_postcode' );
1756
+ }
1757
+ if ( $option === 'woocommerce_default_country' ) {
1758
+ $old_location = $this->GetConfig( 'store_address' ) . ', ' . $this->GetConfig( 'store_address_2' ) . ', ' . $this->GetConfig( 'store_address' ) . ', ' . WC()->countries->countries[ strtok( $old_value, ':') ] . ', ' . $old_value;
1759
+ $new_location = $this->GetConfig( 'store_address' ) . ', ' . $this->GetConfig( 'store_address_2' ) . ', ' . $this->GetConfig( 'store_address' ) . ', ' . WC()->countries->countries[ strtok( $_POST['woocommerce_default_country'], ':') ] . ', ' . $this->GetConfig( 'store_postcode' );
1760
+ }
1761
+ if ( $option === 'woocommerce_store_postcode' ) {
1762
+ $old_location = $this->GetConfig( 'store_address' ) . ', ' . $this->GetConfig( 'store_address_2' ) . ', ' . $this->GetConfig( 'store_address' ) . ', ' . $this->GetConfig( 'default_country' ) . ', ' . $old_value;
1763
+ $new_location = $this->GetConfig( 'store_address' ) . ', ' . $this->GetConfig( 'store_address_2' ) . ', ' . $this->GetConfig( 'store_address' ) . ', ' . WC()->countries->countries[ strtok( $this->GetConfig( 'default_country' ), ':') ] . ', ' . sanitize_text_field( wp_unslash( $_POST['woocommerce_store_postcode'] ) );
1764
+ }
1765
+
1766
  if ( $old_location !== $new_location ) {
1767
+ if ( ! $this->was_triggered_recently( 9029 ) ) {
1768
+ $this->plugin->alerts->Trigger(
1769
+ 9029,
1770
+ array(
1771
+ 'OldLocation' => $old_location,
1772
+ 'NewLocation' => $new_location,
1773
+ )
1774
+ );
1775
+ }
1776
+ }
1777
+ }
1778
+
1779
+ if ( $option === 'woocommerce_allowed_countries' ) {
1780
+ if ( $old_value !== $value ) {
1781
+ $this->plugin->alerts->Trigger(
1782
+ 9085,
1783
+ array(
1784
+ 'old' => $old_value,
1785
+ 'new' => $value,
1786
+ )
1787
+ );
1788
+ }
1789
+ }
1790
+
1791
+ if ( $option === 'woocommerce_specific_allowed_countries' ) {
1792
+ if ( empty( $old_value ) ) {
1793
+ $old_value = get_option( 'woocommerce_specific_allowed_countries' );
1794
+ }
1795
+ if ( $old_value !== $value ) {
1796
+ // Check if any old values are present
1797
+ if ( ! empty( $old_value ) ) {
1798
+ $old_country_codes = '';
1799
+ // add each old country to a string to output in alert.
1800
+ foreach ($old_value as $old_country_code) {
1801
+ $old_country_codes .= WC()->countries->countries[$old_country_code] . ', ';
1802
+ }
1803
+ } else {
1804
+ $old_country_codes = __( 'None, ', 'wp-security-audit-log' );
1805
+ }
1806
+ // Check if any new values are present
1807
+ if ( ! empty( $value ) ) {
1808
+ $country_codes = '';
1809
+ foreach ($value as $country_code) {
1810
+ $country_codes .= WC()->countries->countries[$country_code] . ', ';
1811
+ }
1812
+ } else {
1813
+ $country_codes = __( 'None', 'wp-security-audit-log' );
1814
+ }
1815
  $this->plugin->alerts->Trigger(
1816
+ 9086,
1817
  array(
1818
+ 'old' => rtrim( $old_country_codes, ', ' ),
1819
+ 'new' => rtrim( $country_codes, ', ' ),
1820
  )
1821
  );
1822
  }
1823
+ }
1824
 
1825
+ if ( $option === 'woocommerce_all_except_countries' ) {
1826
+ if ( empty( $old_value ) ) {
1827
+ $old_value = get_option( 'woocommerce_all_except_countries' );
1828
+ }
1829
+ if ( $old_value !== $value ) {
1830
+ // Check if any old values are present
1831
+ if ( ! empty( $old_value ) ) {
1832
+ $old_country_codes = '';
1833
+ // add each old country to a string to output in alert.
1834
+ foreach ($old_value as $old_country_code) {
1835
+ $old_country_codes .= WC()->countries->countries[$old_country_code] . ', ';
1836
+ }
1837
+ } else {
1838
+ $old_country_codes = __( 'None, ', 'wp-security-audit-log' );
1839
+ }
1840
+ // Check if any new values are present
1841
+ if ( ! empty( $value ) ) {
1842
+ $country_codes = '';
1843
+ foreach ($value as $country_code) {
1844
+ $country_codes .= WC()->countries->countries[$country_code] . ', ';
1845
+ }
1846
+ } else {
1847
+ $country_codes = __( 'None', 'wp-security-audit-log' );
1848
+ }
1849
+ $this->plugin->alerts->Trigger(
1850
+ 9087,
1851
+ array(
1852
+ 'old' => rtrim( $old_country_codes, ', ' ),
1853
+ 'new' => rtrim( $country_codes, ', ' ),
1854
+ )
1855
+ );
1856
+ }
1857
+ }
1858
+
1859
+ if ( $option === 'woocommerce_ship_to_countries' && $value !== 'NULL' ) {
1860
+ if ( $old_value !== $value ) {
1861
+ $this->plugin->alerts->Trigger(
1862
+ 9088,
1863
+ array(
1864
+ 'old' => $old_value,
1865
+ 'new' => $value,
1866
+ )
1867
+ );
1868
+ }
1869
+ }
1870
+
1871
+ if ( $option === 'woocommerce_specific_ship_to_countries' && $value !== 'NULL' ) {
1872
+ if ( empty( $old_value ) ) {
1873
+ $old_value = get_option( 'woocommerce_specific_ship_to_countries' );
1874
+ }
1875
+ if ( $old_value !== $value ) {
1876
+ // Check if any old values are present
1877
+ if ( ! empty( $old_value ) ) {
1878
+ $old_country_codes = '';
1879
+ // add each old country to a string to output in alert.
1880
+ foreach ($old_value as $old_country_code) {
1881
+ $old_country_codes .= WC()->countries->countries[$old_country_code] . ', ';
1882
+ }
1883
+ } else {
1884
+ $old_country_codes = __( 'None, ', 'wp-security-audit-log' );
1885
+ }
1886
+ // Check if any new values are present
1887
+ if ( ! empty( $value ) ) {
1888
+ $country_codes = '';
1889
+ foreach ($value as $country_code) {
1890
+ $country_codes .= WC()->countries->countries[$country_code] . ', ';
1891
+ }
1892
+ } else {
1893
+ $country_codes = __( 'None', 'wp-security-audit-log' );
1894
+ }
1895
+ $this->plugin->alerts->Trigger(
1896
+ 9089,
1897
+ array(
1898
+ 'old' => rtrim( $old_country_codes, ', ' ),
1899
+ 'new' => rtrim( $country_codes, ', ' ),
1900
+ )
1901
+ );
1902
+ }
1903
+ }
1904
+
1905
+ if ( $option === 'woocommerce_default_customer_address' ) {
1906
+ if ( $old_value !== $value ) {
1907
+ $this->plugin->alerts->Trigger(
1908
+ 9090,
1909
+ array(
1910
+ 'old' => $old_value,
1911
+ 'new' => $value,
1912
+ )
1913
+ );
1914
+ }
1915
+ }
1916
+
1917
+ // Calculate taxes event.
1918
+ if ( $option === 'woocommerce_calc_taxes' ) {
1919
+ $old_calc_taxes = $old_value;
1920
  $new_calc_taxes = isset( $_POST['woocommerce_calc_taxes'] ) ? 'yes' : 'no';
1921
  if ( $old_calc_taxes !== $new_calc_taxes ) {
1922
  $status = 'yes' === $new_calc_taxes ? 'enabled' : 'disabled';
1925
  }
1926
 
1927
  // Store current event.
1928
+ if ( $option === 'woocommerce_currency' ) {
1929
+ if ( isset( $_POST['woocommerce_currency'] ) ) {
1930
+ if( $old_value === 'NULL' ) {
1931
+ $old_value = get_option(' woocommerce_currency' );
1932
+ } else {
1933
+ $old_currency = $old_value;
1934
+ }
1935
+ $new_currency = sanitize_text_field( wp_unslash( $_POST['woocommerce_currency'] ) );
1936
+ if ( $old_currency !== $new_currency ) {
1937
+ $this->plugin->alerts->Trigger(
1938
+ 9031,
1939
+ array(
1940
+ 'OldCurrency' => $old_currency,
1941
+ 'NewCurrency' => $new_currency,
1942
+ )
1943
+ );
1944
+ }
1945
+ }
1946
+ }
1947
+ } elseif ( empty( $_GET['tab'] ) || 'advanced' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
1948
+ if ( $option === 'woocommerce_cart_page_id' ) {
1949
+ if ( $old_value !== $value ) {
1950
+ if( $old_value === 'NULL' ) {
1951
+ $old_value = get_option(' woocommerce_cart_page_id' );
1952
+ } else {
1953
+ $old_value = get_the_title( $old_value );
1954
+ }
1955
+ $this->plugin->alerts->Trigger(
1956
+ 9091,
1957
+ array(
1958
+ 'old' => $old_value,
1959
+ 'new' => get_the_title( $value ),
1960
+ )
1961
+ );
1962
+ }
1963
+ }
1964
+
1965
+ if ( $option === 'woocommerce_checkout_page_id' ) {
1966
+ if ( $old_value !== $value ) {
1967
+ if( $old_value === 'NULL' ) {
1968
+ $old_value = get_option(' woocommerce_cart_page_id' );
1969
+ } else {
1970
+ $old_value = get_the_title( $old_value );
1971
+ }
1972
+ $this->plugin->alerts->Trigger(
1973
+ 9092,
1974
+ array(
1975
+ 'old' => $old_value,
1976
+ 'new' => get_the_title( $value ),
1977
+ )
1978
+ );
1979
+ }
1980
+ }
1981
+
1982
+ if ( $option === 'woocommerce_myaccount_page_id' ) {
1983
+ if ( $old_value !== $value ) {
1984
+ $this->plugin->alerts->Trigger(
1985
+ 9093,
1986
+ array(
1987
+ 'old' => get_the_title( $old_value ),
1988
+ 'new' => get_the_title( $value ),
1989
+ )
1990
+ );
1991
+ }
1992
+ }
1993
+
1994
+ if ( $option === 'woocommerce_terms_page_id' ) {
1995
+ if ( $old_value !== $value ) {
1996
+ $this->plugin->alerts->Trigger(
1997
+ 9094,
1998
+ array(
1999
+ 'old' => get_the_title( $old_value ),
2000
+ 'new' => get_the_title( $value ),
2001
+ )
2002
+ );
2003
+ }
2004
+ }
2005
+ }
2006
+ }
2007
+ }
2008
+ }
2009
+
2010
+ /**
2011
+ * Trigger events Settings: 9027, 9028, 9029, 9030, 9031, 9032, 9033
2012
+ */
2013
+ protected function CheckSettingsChange() {
2014
+ // Verify WooCommerce settings page nonce.
2015
+ if ( isset( $_POST['_wpnonce'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ), 'woocommerce-settings' ) ) {
2016
+ // Verify settings page via $_GET array.
2017
+ if ( isset( $_GET['page'] ) && 'wc-settings' === sanitize_text_field( wp_unslash( $_GET['page'] ) ) ) {
2018
+ if ( isset( $_GET['tab'] ) && 'checkout' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
2019
+ // Get payment method.
2020
+ $gateway = isset( $_GET['section'] ) ? sanitize_text_field( wp_unslash( $_GET['section'] ) ) : false;
2021
+
2022
+ // Set to true if payment gateways are enabled or disabled.
2023
+ $status_change = false;
2024
+
2025
+ // Check Cash On Delivery section.
2026
+ if ( $gateway && 'cod' === sanitize_text_field( wp_unslash( $gateway ) ) ) {
2027
+ // Check COD event.
2028
+ $old_cash_on_delivery = $this->GetConfig( 'cod_settings' );
2029
+ $old_cash_on_delivery = isset( $old_cash_on_delivery['enabled'] ) ? $old_cash_on_delivery['enabled'] : '';
2030
+ $new_cash_on_delivery = isset( $_POST['woocommerce_cod_enabled'] ) ? 'yes' : 'no';
2031
+
2032
+ // Check status change.
2033
+ if ( $old_cash_on_delivery !== $new_cash_on_delivery ) {
2034
+ $status = 'yes' === $new_cash_on_delivery ? 'enabled' : 'disabled';
2035
+ $this->plugin->alerts->Trigger( 9034, array( 'EventType' => $status ) );
2036
+ $status_change = true;
2037
+ }
2038
+ } elseif ( $gateway ) {
2039
+ // Get old gateway settings.
2040
+ $gateway_settings = $this->GetConfig( $gateway . '_settings' );
2041
+ $old_gateway_status = isset( $gateway_settings['enabled'] ) ? $gateway_settings['enabled'] : false;
2042
+ $new_gateway_status = isset( $_POST[ 'woocommerce_' . $gateway . '_enabled' ] ) ? 'yes' : 'no';
2043
+
2044
+ // Check status change.
2045
+ if ( $old_gateway_status !== $new_gateway_status ) {
2046
+ // Gateway enabled.
2047
  $this->plugin->alerts->Trigger(
2048
+ 9074,
2049
  array(
2050
+ 'GatewayID' => $gateway,
2051
+ 'GatewayName' => isset( $gateway_settings['title'] ) ? $gateway_settings['title'] : false,
2052
+ 'EventType' => 'yes' === $new_gateway_status ? 'enabled' : 'disabled',
2053
  )
2054
  );
2055
+ $status_change = true;
2056
  }
2057
  }
2058
+
2059
+ if ( $gateway && ! $status_change ) {
2060
+ $gateway_settings = $this->GetConfig( $gateway . '_settings' );
2061
+ $this->plugin->alerts->Trigger(
2062
+ 9076,
2063
+ array(
2064
+ 'GatewayID' => $gateway,
2065
+ 'GatewayName' => isset( $gateway_settings['title'] ) ? $gateway_settings['title'] : false,
2066
+ )
2067
+ );
2068
+ }
2069
  }
2070
  }
2071
  }
2351
  }
2352
  if ( ! empty( $product->post_title ) ) {
2353
  $event = 9072;
2354
+ if ( ! $this->WasTriggered( $event ) && ! $this->WasTriggered( 9001 ) ) {
2355
  $editor_link = $this->GetEditorLink( $product );
2356
  $this->plugin->alerts->Trigger(
2357
  $event,
2942
  * @param array $data - Data array.
2943
  * @return int
2944
  */
2945
+ private function check_attributes_change( $oldpost, $data = false ) {
2946
+ $post_attributes = get_post_meta( $oldpost->ID, '_product_attributes', true ); // Get post attribute meta.
2947
+ $post_attributes = ! $post_attributes ? array() : $post_attributes;
2948
+
2949
+ if ( ! $data ) {
2950
+ // @codingStandardsIgnoreStart
2951
+ $data = $_POST;
2952
+ // @codingStandardsIgnoreEnd
2953
+ }
2954
+
2955
+ $attribute_names = isset( $data['attribute_names'] ) ? array_map( 'sanitize_text_field', wp_unslash( $data['attribute_names'] ) ) : false;
2956
+ $attribute_position = isset( $data['attribute_position'] ) ? array_map( 'sanitize_text_field', wp_unslash( $data['attribute_position'] ) ) : false;
2957
+ $attribute_visibility = isset( $data['attribute_visibility'] ) ? array_map( 'sanitize_text_field', wp_unslash( $data['attribute_visibility'] ) ) : false;
2958
+ $attribute_values = isset( $data['attribute_values'] ) ? $data['attribute_values'] : false;
2959
+
2960
+ if ( ! empty( $attribute_names ) && ! empty( $attribute_values ) ) {
2961
+ $new_attributes = array();
2962
+ foreach ( $attribute_names as $key => $name ) {
2963
+ $attr_key = $this->get_attribute_key( $name );
2964
+ $new_attributes[ $attr_key ] = array(
2965
+ 'name' => $name,
2966
+ 'value' => isset( $attribute_values[ $key ] ) ? $this->get_string_attribute_value( $attribute_values[ $key ] ) : false,
2967
+ 'position' => isset( $attribute_position[ $key ] ) ? $attribute_position[ $key ] : false,
2968
+ 'is_visible' => isset( $attribute_visibility[ $key ] ) ? $attribute_visibility[ $key ] : false,
2969
+ );
2970
+ }
2971
+
2972
+ // Compare old and new attributes.
2973
+ $added_attributes = array_diff_key( $new_attributes, $post_attributes );
2974
+ $deleted_attributes = array_diff_key( $post_attributes, $new_attributes );
2975
+
2976
+ // Get product editor link.
2977
+ $editor_link = $this->GetEditorLink( $oldpost );
2978
+
2979
+ // Result.
2980
+ $result = 0;
2981
+
2982
+ // Event 9047.
2983
+ if ( ! empty( $added_attributes ) ) {
2984
+ foreach ( $added_attributes as $added_attribute ) {
2985
+ if ( $added_attribute && ! empty( $added_attribute['name'] ) ) {
2986
+ $this->plugin->alerts->Trigger(
2987
+ 9047,
2988
+ array(
2989
+ 'AttributeName' => $added_attribute['name'],
2990
+ 'AttributeValue' => $added_attribute['value'],
2991
+ 'ProductID' => $oldpost->ID,
2992
+ 'ProductTitle' => $oldpost->post_title,
2993
+ 'ProductStatus' => $oldpost->post_status,
2994
+ $editor_link['name'] => $editor_link['value'],
2995
+ )
2996
+ );
2997
+ $result = 1;
2998
+ }
2999
+ }
3000
+ }
3001
+
3002
+ // Event 9050.
3003
+ if ( ! empty( $deleted_attributes ) ) {
3004
+ foreach ( $deleted_attributes as $deleted_attribute ) {
3005
+ $this->plugin->alerts->Trigger(
3006
+ 9050,
3007
+ array(
3008
+ 'AttributeName' => $deleted_attribute['name'],
3009
+ 'AttributeValue' => $deleted_attribute['value'],
3010
+ 'ProductID' => $oldpost->ID,
3011
+ 'ProductTitle' => $oldpost->post_title,
3012
+ 'ProductStatus' => $oldpost->post_status,
3013
+ 'ProductUrl' => get_permalink( $oldpost->ID ),
3014
+ $editor_link['name'] => $editor_link['value'],
3015
+ )
3016
+ );
3017
+ $result = 1;
3018
+ }
3019
+ }
3020
+
3021
+ // Event 9048, 9049 & 9051.
3022
+ if ( ! empty( $new_attributes ) ) {
3023
+ foreach ( $new_attributes as $attr_key => $new_attr ) {
3024
+ // Get old attribute value.
3025
+ $old_value = '';
3026
+ if ( false !== strpos( $attr_key, 'pa_' ) ) {
3027
+ $old_value = $this->get_wc_product_attributes( $oldpost, $attr_key );
3028
+ } else {
3029
+ $old_value = isset( $post_attributes[ $attr_key ]['value'] ) ? $post_attributes[ $attr_key ]['value'] : false;
3030
+ }
3031
+ $new_value = isset( $new_attr['value'] ) ? $new_attr['value'] : false; // Get new attribute value.
3032
+
3033
+ // Get old and new attribute names.
3034
+ $old_name = isset( $post_attributes[ $attr_key ]['name'] ) ? $post_attributes[ $attr_key ]['name'] : false;
3035
+ $new_name = isset( $new_attr['name'] ) ? $new_attr['name'] : false;
3036
+
3037
+ // Get old and new attribute visibility.
3038
+ $old_visible = isset( $post_attributes[ $attr_key ]['is_visible'] ) ? (int) $post_attributes[ $attr_key ]['is_visible'] : false;
3039
+ $new_visible = isset( $new_attr['is_visible'] ) ? (int) $new_attr['is_visible'] : false;
3040
+
3041
+ // Value change.
3042
+ if ( $old_value && $new_value && $old_value !== $new_value ) {
3043
+ $this->plugin->alerts->Trigger(
3044
+ 9048,
3045
+ array(
3046
+ 'AttributeName' => $new_attr['name'],
3047
+ 'OldValue' => $old_value,
3048
+ 'NewValue' => $new_value,
3049
+ 'ProductID' => $oldpost->ID,
3050
+ 'ProductTitle' => $oldpost->post_title,
3051
+ 'ProductStatus' => $oldpost->post_status,
3052
+ $editor_link['name'] => $editor_link['value'],
3053
+ )
3054
+ );
3055
+ $result = 1;
3056
+ }
3057
+
3058
+ // Name change.
3059
+ if ( $old_name && $new_name && $old_name !== $new_name ) {
3060
+ $this->plugin->alerts->Trigger(
3061
+ 9049,
3062
+ array(
3063
+ 'AttributeName' => $new_attr['name'],
3064
+ 'OldValue' => $old_name,
3065
+ 'NewValue' => $new_name,
3066
+ 'ProductID' => $oldpost->ID,
3067
+ 'ProductTitle' => $oldpost->post_title,
3068
+ 'ProductStatus' => $oldpost->post_status,
3069
+ 'ProductUrl' => get_permalink( $oldpost->ID ),
3070
+ $editor_link['name'] => $editor_link['value'],
3071
+ )
3072
+ );
3073
+ $result = 1;
3074
+ }
3075
+
3076
+ // Visibility change.
3077
+ if ( ! empty( $new_attr['name'] ) && $old_visible !== $new_visible ) {
3078
+ $this->plugin->alerts->Trigger(
3079
+ 9051,
3080
+ array(
3081
+ 'AttributeName' => $new_attr['name'],
3082
+ 'AttributeVisiblilty' => 1 === $new_visible ? __( 'Visible', 'wp-security-audit-log' ) : __( 'Non-Visible', 'wp-security-audit-log' ),
3083
+ 'ProductID' => $oldpost->ID,
3084
+ 'ProductTitle' => $oldpost->post_title,
3085
+ 'ProductStatus' => $oldpost->post_status,
3086
+ $editor_link['name'] => $editor_link['value'],
3087
+ )
3088
+ );
3089
+ $result = 1;
3090
+ }
3091
+ }
3092
+ }
3093
+ return $result;
3094
+ }
3095
+ return 0;
3096
+ }
3097
 
3098
  /**
3099
  * Check Product Variations Change.
3431
  if ( ! empty( $meta_key ) && 'shop_coupon' === $coupon->post_type && in_array( $meta_key, $this->coupon_meta, true ) ) {
3432
  return false;
3433
  }
3434
+ // Do not report total sales as its added automatically when a product is published.
3435
+ if ( ! empty( $meta_key ) && 'total_sales' === $meta_key ) {
3436
+ return false;
3437
+ }
3438
  return $log_event;
3439
  }
3440
 
3456
  return $log_meta_event;
3457
  }
3458
 
3459
+ $ignore_coupon_meta = array( 'usage_count', 'free_shipping' ); // Ignore these meta keys.
3460
  $usage_restriction_meta = array( 'individual_use', 'product_ids', 'exclude_product_ids', 'product_categories', 'exclude_product_categories', 'exclude_sale_items', 'minimum_amount', 'maximum_amount', 'customer_email' ); // Event 9067.
3461
  $usage_limits_meta = array( 'usage_limit', 'usage_limit_per_user', 'limit_usage_to_x_items' ); // Event 9068.
3462
 
3483
 
3484
  // Set event id.
3485
  $event_id = 9065;
3486
+ } elseif ( 'date_expires' === $meta_key ) {
3487
  // Set coupon expiry date data.
3488
+ $coupon_data['OldDate'] = isset( $old_meta_obj->val ) ? date( get_option('date_format'), $old_meta_obj->val ) : false;
3489
+ $coupon_data['NewDate'] = date( get_option('date_format'), $meta_value );
3490
 
3491
  // Set event id.
3492
  $event_id = 9066;
3587
 
3588
  if ( false !== strpos( $meta_key, 'billing_' ) ) {
3589
  $event_id = 9083;
3590
+ if( $meta_key === 'billing_first_name') {
3591
+ $new_address = $meta_value . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . get_user_meta( $user_id, 'billing_company', true ) . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ' ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . get_user_meta( $user_id, 'billing_email', true );
3592
+ }
3593
+
3594
+ if( $meta_key === 'billing_last_name') {
3595
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . $meta_value . ', ' . get_user_meta( $user_id, 'billing_company', true ) . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ' ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . get_user_meta( $user_id, 'billing_email', true );
3596
+ }
3597
+
3598
+ if( $meta_key === 'billing_company') {
3599
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ', ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . get_user_meta( $user_id, 'billing_email', true );
3600
+ }
3601
+
3602
+ if( $meta_key === 'billing_country') {
3603
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . get_user_meta( $user_id, 'billing_company', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ', ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . get_user_meta( $user_id, 'billing_email', true );
3604
+ }
3605
+
3606
+ if( $meta_key === 'billing_address_1') {
3607
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . get_user_meta( $user_id, 'billing_company', true ) . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ' ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . get_user_meta( $user_id, 'billing_email', true );
3608
+ }
3609
+
3610
+ if( $meta_key === 'billing_address_2') {
3611
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . get_user_meta( $user_id, 'billing_company', true ) . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ', ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . get_user_meta( $user_id, 'billing_email', true );
3612
+ }
3613
+
3614
+ if( $meta_key === 'billing_city') {
3615
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ' ' . get_user_meta( $user_id, 'billing_company', true ) . ' ' . get_user_meta( $user_id, 'billing_country', true ) . ' ' . get_user_meta( $user_id, 'billing_address_1', true ) . ' ' . get_user_meta( $user_id, 'billing_address_2', true ) . ' ' . $meta_value . ' ' . get_user_meta( $user_id, 'billing_state', true ) . ' ' . get_user_meta( $user_id, 'billing_postcode', true ) . ' ' . get_user_meta( $user_id, 'billing_phone', true ) . ' ' . get_user_meta( $user_id, 'billing_email', true );
3616
+ }
3617
+
3618
+ if( $meta_key === 'billing_state') {
3619
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . get_user_meta( $user_id, 'billing_email', true );
3620
+ }
3621
+
3622
+ if( $meta_key === 'billing_postcode') {
3623
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . get_user_meta( $user_id, 'billing_company', true ) . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ', ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . get_user_meta( $user_id, 'billing_email', true );
3624
+ }
3625
+
3626
+ if( $meta_key === 'billing_phone') {
3627
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . get_user_meta( $user_id, 'billing_company', true ) . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ', ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'billing_email', true );
3628
+ }
3629
+
3630
+ if( $meta_key === 'billing_email') {
3631
+ $new_address = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true ) . ', ' . get_user_meta( $user_id, 'billing_company', true ) . ', ' . get_user_meta( $user_id, 'billing_country', true ) . ', ' . get_user_meta( $user_id, 'billing_address_1', true ) . ', ' . get_user_meta( $user_id, 'billing_address_2', true ) . ', ' . get_user_meta( $user_id, 'billing_city', true ) . ', ' . get_user_meta( $user_id, 'billing_state', true ) . ', ' . get_user_meta( $user_id, 'billing_postcode', true ) . ', ' . get_user_meta( $user_id, 'billing_phone', true ) . ', ' . $meta_value;
3632
+ }
3633
+
3634
+ $new_address = str_replace( ' ,', '', $new_address );
3635
+
3636
+ if ( $event_id ) {
3637
+ $user = get_user_by( 'ID', $user_id );
3638
+ if ( $event_id === 9083 ) {
3639
+ // Add 1 to our changed fields counter
3640
+ $this->updated_field_count++;
3641
+ $this->plugin->alerts->TriggerIf(
3642
+ $event_id,
3643
+ array(
3644
+ 'TargetUsername' => $user ? $user->user_login : false,
3645
+ 'NewValue' => $new_address,
3646
+ 'EditUserLink' => add_query_arg( 'user_id', $user_id, admin_url( 'user-edit.php' ) ),
3647
+ 'Roles' => is_array( $user->roles ) ? implode( ', ', $user->roles ) : $user->roles,
3648
+ ),
3649
+ array(
3650
+ $this,
3651
+ 'must_not_repeat_billing'
3652
+ )
3653
+ );
3654
+ }
3655
+ }
3656
+
3657
  } elseif ( false !== strpos( $meta_key, 'shipping_' ) ) {
3658
  $event_id = 9084;
3659
+ if( $meta_key === 'shipping_first_name') {
3660
+ $new_address = $meta_value . ' ' . get_user_meta( $user_id, 'shipping_last_name', true ) . ', ' . get_user_meta( $user_id, 'shipping_company', true ) . ', ' . get_user_meta( $user_id, 'shipping_country', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_1', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_2', true ) . ', ' . get_user_meta( $user_id, 'shipping_city', true ) . ' ' . get_user_meta( $user_id, 'shipping_state', true ) . ', ' . get_user_meta( $user_id, 'shipping_postcode', true );
3661
+ }
3662
 
3663
+ if( $meta_key === 'shipping_last_name') {
3664
+ $new_address = get_user_meta( $user_id, 'shipping_first_name', true ) . ' ' . $meta_value . ', ' . get_user_meta( $user_id, 'shipping_company', true ) . ', ' . get_user_meta( $user_id, 'shipping_country', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_1', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_2', true ) . ', ' . get_user_meta( $user_id, 'shipping_city', true ) . ' ' . get_user_meta( $user_id, 'shipping_state', true ) . ', ' . get_user_meta( $user_id, 'shipping_postcode', true );
3665
+ }
 
 
 
3666
 
3667
+ if( $meta_key === 'shipping_company') {
3668
+ $new_address = get_user_meta( $user_id, 'shipping_first_name', true ) . ' ' . get_user_meta( $user_id, 'shipping_last_name', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'shipping_country', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_1', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_2', true ) . ', ' . get_user_meta( $user_id, 'shipping_city', true ) . ', ' . get_user_meta( $user_id, 'shipping_state', true ) . ', ' . get_user_meta( $user_id, 'shipping_postcode', true );
3669
+ }
3670
+
3671
+ if( $meta_key === 'shipping_country') {
3672
+ $new_address = get_user_meta( $user_id, 'shipping_first_name', true ) . ' ' . get_user_meta( $user_id, 'shipping_last_name', true ) . ', ' . get_user_meta( $user_id, 'shipping_company', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'shipping_address_1', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_2', true ) . ', ' . get_user_meta( $user_id, 'shipping_city', true ) . ', ' . get_user_meta( $user_id, 'shipping_state', true ) . ', ' . get_user_meta( $user_id, 'shipping_postcode', true );
3673
+ }
3674
+
3675
+ if( $meta_key === 'shipping_address_1') {
3676
+ $new_address = get_user_meta( $user_id, 'shipping_first_name', true ) . ' ' . get_user_meta( $user_id, 'shipping_last_name', true ) . ', ' . get_user_meta( $user_id, 'shipping_company', true ) . ', ' . get_user_meta( $user_id, 'shipping_country', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'shipping_address_2', true ) . ', ' . get_user_meta( $user_id, 'shipping_city', true ) . ' ' . get_user_meta( $user_id, 'shipping_state', true ) . ', ' . get_user_meta( $user_id, 'shipping_postcode', true );
3677
+ }
3678
+
3679
+ if( $meta_key === 'shipping_address_2') {
3680
+ $new_address = get_user_meta( $user_id, 'shipping_first_name', true ) . ' ' . get_user_meta( $user_id, 'shipping_last_name', true ) . ', ' . get_user_meta( $user_id, 'shipping_company', true ) . ', ' . get_user_meta( $user_id, 'shipping_country', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_1', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'shipping_city', true ) . ', ' . get_user_meta( $user_id, 'shipping_state', true ) . ', ' . get_user_meta( $user_id, 'shipping_postcode', true );
3681
+ }
3682
+
3683
+ if( $meta_key === 'shipping_city') {
3684
+ $new_address = get_user_meta( $user_id, 'shipping_first_name', true ) . ' ' . get_user_meta( $user_id, 'shipping_last_name', true ) . ' ' . get_user_meta( $user_id, 'shipping_company', true ) . ' ' . get_user_meta( $user_id, 'shipping_country', true ) . ' ' . get_user_meta( $user_id, 'shipping_address_1', true ) . ' ' . get_user_meta( $user_id, 'shipping_address_2', true ) . ' ' . $meta_value . ' ' . get_user_meta( $user_id, 'shipping_state', true ) . ' ' . get_user_meta( $user_id, 'shipping_postcode', true );
3685
+ }
3686
+
3687
+ if( $meta_key === 'shipping_state') {
3688
+ $new_address = get_user_meta( $user_id, 'shipping_first_name', true ) . ' ' . get_user_meta( $user_id, 'shipping_last_name', true ) . ', ' . get_user_meta( $user_id, 'shipping_state', true ) . ', ' . get_user_meta( $user_id, 'shipping_country', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_1', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_2', true ) . ', ' . get_user_meta( $user_id, 'shipping_city', true ) . ', ' . $meta_value . ', ' . get_user_meta( $user_id, 'shipping_postcode', true );
3689
+ }
3690
+
3691
+ if( $meta_key === 'shipping_postcode') {
3692
+ $new_address = get_user_meta( $user_id, 'shipping_first_name', true ) . ' ' . get_user_meta( $user_id, 'shipping_last_name', true ) . ', ' . get_user_meta( $user_id, 'shipping_company', true ) . ', ' . get_user_meta( $user_id, 'shipping_country', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_1', true ) . ', ' . get_user_meta( $user_id, 'shipping_address_2', true ) . ', ' . get_user_meta( $user_id, 'shipping_city', true ) . ', ' . get_user_meta( $user_id, 'shipping_state', true ) . ', ' . $meta_value;
3693
+ }
3694
+
3695
+ // Strip address of, ', ,' in case a field is missing something.
3696
+ $new_address = str_replace( ' ,', '', $new_address );
3697
+
3698
+ if ( $event_id ) {
3699
+ $user = get_user_by( 'ID', $user_id );
3700
+
3701
+ if ( $event_id === 9084 ) {
3702
+ $this->updated_shipping_field_count++;
3703
+ $this->plugin->alerts->TriggerIf(
3704
+ $event_id,
3705
+ array(
3706
+ 'TargetUsername' => $user ? $user->user_login : false,
3707
+ 'NewValue' => $new_address,
3708
+ 'EditUserLink' => add_query_arg( 'user_id', $user_id, admin_url( 'user-edit.php' ) ),
3709
+ 'Roles' => is_array( $user->roles ) ? implode( ', ', $user->roles ) : $user->roles,
3710
+ ),
3711
+ array(
3712
+ $this,
3713
+ 'must_not_repeat_shipping'
3714
+ )
3715
+ );
3716
+ }
3717
+ }
3718
  }
3719
+
3720
+
3721
  }
3722
  }
3723
  }
3724
 
3725
+ public function must_not_repeat_billing( WSAL_AlertManager $manager ) {
3726
+ $this->updated_field_count--;
3727
+ if ( $this->updated_field_count == 1 ) {
3728
+ return true;
3729
+ }
3730
+ return false;
3731
+ }
3732
+
3733
+ public function must_not_repeat_shipping( WSAL_AlertManager $manager ) {
3734
+ $this->updated_shipping_field_count--;
3735
+ if ( $this->updated_shipping_field_count == 1 ) {
3736
+ return true;
3737
+ }
3738
+ return false;
3739
+ }
3740
+
3741
  /**
3742
  * Check if meta key belongs to WooCommerce user meta.
3743
  *
3808
  );
3809
  return ! empty( $tag_id ) ? add_query_arg( $tag_args, admin_url( 'term.php' ) ) : null;
3810
  }
3811
+
3812
+ /**
3813
+ * Check if the alert was triggered recently.
3814
+ *
3815
+ * Checks last 5 events if they occured less than 20 seconds ago.
3816
+ *
3817
+ * @param integer|array $alert_id - Alert code.
3818
+ * @return boolean
3819
+ */
3820
+ private function was_triggered_recently( $alert_id ) {
3821
+ // if we have already checked this don't check again.
3822
+ if ( isset( $this->cached_alert_checks ) && array_key_exists( $alert_id, $this->cached_alert_checks ) && $this->cached_alert_checks[$alert_id] ) {
3823
+ return true;
3824
+ }
3825
+ $query = new WSAL_Models_OccurrenceQuery();
3826
+ $query->addOrderBy( 'created_on', true );
3827
+ $query->setLimit( 5 );
3828
+ $last_occurences = $query->getAdapter()->Execute( $query );
3829
+ $known_to_trigger = false;
3830
+ foreach ( $last_occurences as $last_occurence ) {
3831
+ if ( $known_to_trigger ) {
3832
+ break;
3833
+ }
3834
+ if ( ! empty( $last_occurence ) && ( $last_occurence->created_on + 20 ) > time() ) {
3835
+ if ( ! is_array( $alert_id ) && $last_occurence->alert_id === $alert_id ) {
3836
+ $known_to_trigger = true;
3837
+ } elseif ( is_array( $alert_id ) && in_array( $last_occurence[0]->alert_id, $alert_id, true ) ) {
3838
+ $known_to_trigger = true;
3839
+ }
3840
+ }
3841
+ }
3842
+ // once we know the answer to this don't check again to avoid queries.
3843
+ $this->cached_alert_checks[ $alert_id ] = $known_to_trigger;
3844
+ return $known_to_trigger;
3845
+ }
3846
  }
classes/Sensors/YoastSEO.php CHANGED
@@ -44,7 +44,7 @@ class WSAL_Sensors_YoastSEO extends WSAL_AbstractSensor {
44
  '_yoast_wpseo_title' => '',
45
  '_yoast_wpseo_metadesc' => '',
46
  '_yoast_wpseo_focuskw' => '',
47
- '_yst_is_cornerstone' => '',
48
  '_yoast_wpseo_meta-robots-noindex' => '',
49
  '_yoast_wpseo_meta-robots-nofollow' => '',
50
  '_yoast_wpseo_meta-robots-adv' => '',
@@ -107,7 +107,7 @@ class WSAL_Sensors_YoastSEO extends WSAL_AbstractSensor {
107
  '_yoast_wpseo_title' => get_post_meta( $this->post_id, '_yoast_wpseo_title', true ),
108
  '_yoast_wpseo_metadesc' => get_post_meta( $this->post_id, '_yoast_wpseo_metadesc', true ),
109
  '_yoast_wpseo_focuskw' => get_post_meta( $this->post_id, '_yoast_wpseo_focuskw', true ),
110
- '_yst_is_cornerstone' => get_post_meta( $this->post_id, '_yst_is_cornerstone', true ),
111
  '_yoast_wpseo_meta-robots-noindex' => get_post_meta( $this->post_id, '_yoast_wpseo_meta-robots-noindex', true ),
112
  '_yoast_wpseo_meta-robots-nofollow' => get_post_meta( $this->post_id, '_yoast_wpseo_meta-robots-nofollow', true ),
113
  '_yoast_wpseo_meta-robots-adv' => get_post_meta( $this->post_id, '_yoast_wpseo_meta-robots-adv', true ),
@@ -130,11 +130,6 @@ class WSAL_Sensors_YoastSEO extends WSAL_AbstractSensor {
130
  // Set prefix of meta data.
131
  $prefix = '_yoast_wpseo_';
132
 
133
- // Check prefix.
134
- if ( 'is_cornerstone' === $key ) {
135
- $prefix = '_yst_';
136
- }
137
-
138
  // Option to retrieve.
139
  $option = $prefix . $key;
140
 
@@ -174,7 +169,7 @@ class WSAL_Sensors_YoastSEO extends WSAL_AbstractSensor {
174
  'yoast_wpseo_title' => FILTER_SANITIZE_STRING,
175
  'yoast_wpseo_metadesc' => FILTER_SANITIZE_STRING,
176
  'yoast_wpseo_focuskw' => FILTER_SANITIZE_STRING,
177
- '_yst_is_cornerstone' => FILTER_VALIDATE_INT,
178
  'yoast_wpseo_meta-robots-noindex' => FILTER_VALIDATE_INT,
179
  'yoast_wpseo_meta-robots-nofollow' => FILTER_VALIDATE_INT,
180
  'yoast_wpseo_meta-robots-adv' => array(
@@ -198,7 +193,7 @@ class WSAL_Sensors_YoastSEO extends WSAL_AbstractSensor {
198
  $this->check_robots_advanced_change( $post_array['yoast_wpseo_meta-robots-adv'] ); // Meta Robots Advanced.
199
  $this->check_canonical_url_change( $post_array['yoast_wpseo_canonical'] ); // Canonical URL.
200
  $this->check_focus_keys_change( $post_array['yoast_wpseo_focuskw'] ); // Focus keywords.
201
- $this->check_cornerstone_change( $post_array['_yst_is_cornerstone'] ); // Cornerstone.
202
  }
203
  }
204
 
@@ -219,7 +214,6 @@ class WSAL_Sensors_YoastSEO extends WSAL_AbstractSensor {
219
  // Remove whitespaces at the ends of the titles.
220
  $old_title = trim( $old_title );
221
  $title = trim( $title );
222
-
223
  // If title is changed then log alert.
224
  if ( $old_title !== $title ) {
225
  $editor_link = $this->get_editor_link( $this->post_id );
@@ -567,43 +561,66 @@ class WSAL_Sensors_YoastSEO extends WSAL_AbstractSensor {
567
  // Webmaster URL alerts.
568
  if ( 'wpseo' === $option ) {
569
  // SEO analysis.
570
- if ( $old_value['keyword_analysis_active'] !== $new_value['keyword_analysis_active'] ) {
571
- $this->yoast_setting_switch_alert( 'keyword_analysis_active', $new_value['keyword_analysis_active'] );
 
 
572
  }
573
 
574
  // Readability analysis.
575
- if ( $old_value['content_analysis_active'] !== $new_value['content_analysis_active'] ) {
576
- $this->yoast_setting_switch_alert( 'content_analysis_active', $new_value['content_analysis_active'] );
 
 
577
  }
578
 
579
  // Cornerstone Content.
580
- if ( $old_value['enable_cornerstone_content'] !== $new_value['enable_cornerstone_content'] ) {
581
- $this->yoast_setting_switch_alert( 'enable_cornerstone_content', $new_value['enable_cornerstone_content'] );
 
 
582
  }
583
 
584
  // Text Link Counter.
585
- if ( $old_value['enable_text_link_counter'] !== $new_value['enable_text_link_counter'] ) {
586
- $this->yoast_setting_switch_alert( 'enable_text_link_counter', $new_value['enable_text_link_counter'] );
 
 
587
  }
588
 
589
  // XML Sitemaps.
590
- if ( $old_value['enable_xml_sitemap'] !== $new_value['enable_xml_sitemap'] ) {
591
- $this->yoast_setting_switch_alert( 'enable_xml_sitemap', $new_value['enable_xml_sitemap'] );
 
 
592
  }
593
 
594
- // Ryte integration.
595
- if ( $old_value['onpage_indexability'] !== $new_value['onpage_indexability'] ) {
596
- $this->yoast_setting_switch_alert( 'onpage_indexability', $new_value['onpage_indexability'] );
 
 
 
 
 
 
 
 
 
597
  }
598
 
599
  // Admin bar menu.
600
- if ( $old_value['enable_admin_bar_menu'] !== $new_value['enable_admin_bar_menu'] ) {
601
- $this->yoast_setting_switch_alert( 'enable_admin_bar_menu', $new_value['enable_admin_bar_menu'] );
 
 
602
  }
603
 
604
  // Advanced settings for authors.
605
- if ( $old_value['disableadvanced_meta'] !== $new_value['disableadvanced_meta'] ) {
606
- $this->yoast_setting_switch_alert( 'disableadvanced_meta', $new_value['disableadvanced_meta'] );
 
 
607
  }
608
  }
609
  }
@@ -772,7 +789,9 @@ class WSAL_Sensors_YoastSEO extends WSAL_AbstractSensor {
772
  $alert_code = 8819;
773
  break;
774
 
 
775
  case 'onpage_indexability':
 
776
  $alert_code = 8820;
777
  break;
778
 
44
  '_yoast_wpseo_title' => '',
45
  '_yoast_wpseo_metadesc' => '',
46
  '_yoast_wpseo_focuskw' => '',
47
+ '_yoast_wpseo_is_cornerstone' => '',
48
  '_yoast_wpseo_meta-robots-noindex' => '',
49
  '_yoast_wpseo_meta-robots-nofollow' => '',
50
  '_yoast_wpseo_meta-robots-adv' => '',
107
  '_yoast_wpseo_title' => get_post_meta( $this->post_id, '_yoast_wpseo_title', true ),
108
  '_yoast_wpseo_metadesc' => get_post_meta( $this->post_id, '_yoast_wpseo_metadesc', true ),
109
  '_yoast_wpseo_focuskw' => get_post_meta( $this->post_id, '_yoast_wpseo_focuskw', true ),
110
+ '_yoast_wpseo_is_cornerstone' => get_post_meta( $this->post_id, '_yoast_wpseo_is_cornerstone', true ),
111
  '_yoast_wpseo_meta-robots-noindex' => get_post_meta( $this->post_id, '_yoast_wpseo_meta-robots-noindex', true ),
112
  '_yoast_wpseo_meta-robots-nofollow' => get_post_meta( $this->post_id, '_yoast_wpseo_meta-robots-nofollow', true ),
113
  '_yoast_wpseo_meta-robots-adv' => get_post_meta( $this->post_id, '_yoast_wpseo_meta-robots-adv', true ),
130
  // Set prefix of meta data.
131
  $prefix = '_yoast_wpseo_';
132
 
 
 
 
 
 
133
  // Option to retrieve.
134
  $option = $prefix . $key;
135
 
169
  'yoast_wpseo_title' => FILTER_SANITIZE_STRING,
170
  'yoast_wpseo_metadesc' => FILTER_SANITIZE_STRING,
171
  'yoast_wpseo_focuskw' => FILTER_SANITIZE_STRING,
172
+ 'yoast_wpseo_is_cornerstone' => FILTER_VALIDATE_BOOLEAN,
173
  'yoast_wpseo_meta-robots-noindex' => FILTER_VALIDATE_INT,
174
  'yoast_wpseo_meta-robots-nofollow' => FILTER_VALIDATE_INT,
175
  'yoast_wpseo_meta-robots-adv' => array(
193
  $this->check_robots_advanced_change( $post_array['yoast_wpseo_meta-robots-adv'] ); // Meta Robots Advanced.
194
  $this->check_canonical_url_change( $post_array['yoast_wpseo_canonical'] ); // Canonical URL.
195
  $this->check_focus_keys_change( $post_array['yoast_wpseo_focuskw'] ); // Focus keywords.
196
+ $this->check_cornerstone_change( $post_array['yoast_wpseo_is_cornerstone'] ); // Cornerstone.
197
  }
198
  }
199
 
214
  // Remove whitespaces at the ends of the titles.
215
  $old_title = trim( $old_title );
216
  $title = trim( $title );
 
217
  // If title is changed then log alert.
218
  if ( $old_title !== $title ) {
219
  $editor_link = $this->get_editor_link( $this->post_id );
561
  // Webmaster URL alerts.
562
  if ( 'wpseo' === $option ) {
563
  // SEO analysis.
564
+ if ( isset( $old_value['keyword_analysis_active'] ) && isset( $new_value['keyword_analysis_active'] ) ) {
565
+ if ( $old_value['keyword_analysis_active'] !== $new_value['keyword_analysis_active'] ) {
566
+ $this->yoast_setting_switch_alert( 'keyword_analysis_active', $new_value['keyword_analysis_active'] );
567
+ }
568
  }
569
 
570
  // Readability analysis.
571
+ if ( isset( $old_value['content_analysis_active'] ) && isset( $new_value['content_analysis_active'] ) ) {
572
+ if ( $old_value['content_analysis_active'] !== $new_value['content_analysis_active'] ) {
573
+ $this->yoast_setting_switch_alert( 'content_analysis_active', $new_value['content_analysis_active'] );
574
+ }
575
  }
576
 
577
  // Cornerstone Content.
578
+ if ( isset( $old_value['enable_cornerstone_content'] ) && isset( $new_value['enable_cornerstone_content'] ) ) {
579
+ if ( $old_value['enable_cornerstone_content'] !== $new_value['enable_cornerstone_content'] ) {
580
+ $this->yoast_setting_switch_alert( 'enable_cornerstone_content', $new_value['enable_cornerstone_content'] );
581
+ }
582
  }
583
 
584
  // Text Link Counter.
585
+ if ( isset( $old_value['enable_text_link_counter'] ) && isset( $new_value['enable_text_link_counter'] ) ) {
586
+ if ( $old_value['enable_text_link_counter'] !== $new_value['enable_text_link_counter'] ) {
587
+ $this->yoast_setting_switch_alert( 'enable_text_link_counter', $new_value['enable_text_link_counter'] );
588
+ }
589
  }
590
 
591
  // XML Sitemaps.
592
+ if ( isset( $old_value['enable_xml_sitemap'] ) && isset( $new_value['enable_xml_sitemap'] ) ) {
593
+ if ( $old_value['enable_xml_sitemap'] !== $new_value['enable_xml_sitemap'] ) {
594
+ $this->yoast_setting_switch_alert( 'enable_xml_sitemap', $new_value['enable_xml_sitemap'] );
595
+ }
596
  }
597
 
598
+
599
+ /**
600
+ * Ryte integration.
601
+ *
602
+ * NOTE: Reenamed in yoast plugin v13.2.
603
+ *
604
+ * @see: https://github.com/Yoast/wordpress-seo/pull/14123
605
+ */
606
+ if ( isset( $old_value['ryte_indexability'] ) && isset( $new_value['ryte_indexability'] ) ) {
607
+ if ( $old_value['ryte_indexability'] !== $new_value['ryte_indexability'] ) {
608
+ $this->yoast_setting_switch_alert( 'ryte_indexability', $new_value['ryte_indexability'] );
609
+ }
610
  }
611
 
612
  // Admin bar menu.
613
+ if ( isset( $old_value['enable_admin_bar_menu'] ) && isset( $new_value['enable_admin_bar_menu'] ) ) {
614
+ if ( $old_value['enable_admin_bar_menu'] !== $new_value['enable_admin_bar_menu'] ) {
615
+ $this->yoast_setting_switch_alert( 'enable_admin_bar_menu', $new_value['enable_admin_bar_menu'] );
616
+ }
617
  }
618
 
619
  // Advanced settings for authors.
620
+ if ( isset( $old_value['disableadvanced_meta'] ) && isset( $new_value['disableadvanced_meta'] ) ) {
621
+ if ( $old_value['disableadvanced_meta'] !== $new_value['disableadvanced_meta'] ) {
622
+ $this->yoast_setting_switch_alert( 'disableadvanced_meta', $new_value['disableadvanced_meta'] );
623
+ }
624
  }
625
  }
626
  }
789
  $alert_code = 8819;
790
  break;
791
 
792
+ // renamed to ryte_integration. see: https://github.com/Yoast/wordpress-seo/pull/14123
793
  case 'onpage_indexability':
794
+ case 'ryte_indexability':
795
  $alert_code = 8820;
796
  break;
797
 
classes/Settings.php CHANGED
@@ -380,7 +380,7 @@ class WSAL_Settings {
380
  */
381
  public function GetPruningDate() {
382
  if ( ! $this->_pruning ) {
383
- $this->_pruning = $this->_plugin->GetGlobalOption( 'pruning-date' );
384
  if ( ! strtotime( $this->_pruning ) ) {
385
  $this->_pruning = $this->GetDefaultPruningDate();
386
  }
@@ -395,7 +395,7 @@ class WSAL_Settings {
395
  */
396
  public function SetPruningDate( $newvalue ) {
397
  if ( strtotime( $newvalue ) ) {
398
- $this->_plugin->SetGlobalOption( 'pruning-date', $newvalue );
399
  $this->_pruning = $newvalue;
400
  }
401
  }
@@ -406,7 +406,7 @@ class WSAL_Settings {
406
  * @return string
407
  */
408
  public function get_pruning_unit() {
409
- return $this->_plugin->GetGlobalOption( 'pruning-unit', 'months' );
410
  }
411
 
412
  /**
@@ -415,7 +415,7 @@ class WSAL_Settings {
415
  * @param string $newvalue – New value of pruning unit.
416
  */
417
  public function set_pruning_unit( $newvalue ) {
418
- $this->_plugin->SetGlobalOption( 'pruning-unit', $newvalue );
419
  }
420
 
421
  /**
@@ -424,7 +424,7 @@ class WSAL_Settings {
424
  * @return integer
425
  */
426
  public function GetPruningLimit() {
427
- $val = (int) $this->_plugin->GetGlobalOption( 'pruning-limit' );
428
  return $val ? $val : $this->GetMaxAllowedAlerts();
429
  }
430
 
@@ -435,23 +435,23 @@ class WSAL_Settings {
435
  */
436
  public function SetPruningLimit( $newvalue ) {
437
  $newvalue = max( /*min(*/ (int) $newvalue/*, $this->GetMaxAllowedAlerts())*/, 1 );
438
- $this->_plugin->SetGlobalOption( 'pruning-limit', $newvalue );
439
  }
440
 
441
  public function SetPruningDateEnabled( $enabled ) {
442
- $this->_plugin->SetGlobalOption( 'pruning-date-e', $enabled );
443
  }
444
 
445
  public function SetPruningLimitEnabled( $enabled ) {
446
- $this->_plugin->SetGlobalOption( 'pruning-limit-e', $enabled );
447
  }
448
 
449
  public function IsPruningDateEnabled() {
450
- return $this->_plugin->GetGlobalOption( 'pruning-date-e' );
451
  }
452
 
453
  public function IsPruningLimitEnabled() {
454
- return $this->_plugin->GetGlobalOption( 'pruning-limit-e' );
455
  }
456
 
457
  public function IsRestrictAdmins() {
@@ -464,8 +464,6 @@ class WSAL_Settings {
464
  * @deprecated
465
  */
466
  public function IsSandboxPageEnabled() {
467
- // $plugins = $this->_plugin->licensing->plugins();
468
- // return isset($plugins['wsal-sandbox-extensionphp']);
469
  return esc_html__( 'This function is deprecated', 'wp-security-audit-log' );
470
  }
471
 
@@ -522,7 +520,7 @@ class WSAL_Settings {
522
  public function GetDisabledAlerts() {
523
  if ( ! $this->_disabled ) {
524
  $this->_disabled = implode( ',', $this->GetDefaultDisabledAlerts() );
525
- $this->_disabled = $this->_plugin->GetGlobalOption( 'disabled-alerts', $this->_disabled );
526
  $this->_disabled = ( '' == $this->_disabled ) ? array() : explode( ',', $this->_disabled );
527
  $this->_disabled = array_map( 'intval', $this->_disabled );
528
  }
@@ -536,7 +534,7 @@ class WSAL_Settings {
536
  */
537
  public function SetDisabledAlerts( $types ) {
538
  $this->_disabled = array_unique( array_map( 'intval', $types ) );
539
- $this->_plugin->SetGlobalOption( 'disabled-alerts', implode( ',', $this->_disabled ) );
540
  }
541
 
542
  public function IsIncognito() {
@@ -767,66 +765,6 @@ class WSAL_Settings {
767
  return function_exists( 'is_super_admin' ) && is_super_admin( $user_id );
768
  }
769
 
770
- public function GetLicenses() {
771
- return $this->_plugin->GetGlobalOption( 'licenses' );
772
- }
773
-
774
- public function GetLicense( $name ) {
775
- $data = $this->GetLicenses();
776
- $name = sanitize_key( basename( $name ) );
777
- return isset( $data[ $name ] ) ? $data[ $name ] : array();
778
- }
779
-
780
- public function SetLicenses( $data ) {
781
- $this->_plugin->SetGlobalOption( 'licenses', $data );
782
- }
783
-
784
- public function GetLicenseKey( $name ) {
785
- $data = $this->GetLicense( $name );
786
- return isset( $data['key'] ) ? $data['key'] : '';
787
- }
788
-
789
- public function GetLicenseStatus( $name ) {
790
- $data = $this->GetLicense( $name );
791
- return isset( $data['sts'] ) ? $data['sts'] : '';
792
- }
793
-
794
- public function GetLicenseErrors( $name ) {
795
- $data = $this->GetLicense( $name );
796
- return isset( $data['err'] ) ? $data['err'] : '';
797
- }
798
-
799
- public function SetLicenseKey( $name, $key ) {
800
- $data = $this->GetLicenses();
801
- if ( ! isset( $data[ $name ] ) ) {
802
- $data[ $name ] = array();
803
- }
804
- $data[ $name ]['key'] = $key;
805
- $this->SetLicenses( $data );
806
- }
807
-
808
- public function SetLicenseStatus( $name, $status ) {
809
- $data = $this->GetLicenses();
810
- if ( ! isset( $data[ $name ] ) ) {
811
- $data[ $name ] = array();
812
- }
813
- $data[ $name ]['sts'] = $status;
814
- $this->SetLicenses( $data );
815
- }
816
-
817
- public function SetLicenseErrors( $name, $errors ) {
818
- $data = $this->GetLicenses();
819
- if ( ! isset( $data[ $name ] ) ) {
820
- $data[ $name ] = array();
821
- }
822
- $data[ $name ]['err'] = $errors;
823
- $this->SetLicenses( $data );
824
- }
825
-
826
- public function ClearLicenses() {
827
- $this->SetLicenses( array() );
828
- }
829
-
830
  public function IsMainIPFromProxy() {
831
  return $this->_plugin->GetGlobalOption( 'use-proxy-ip' );
832
  }
@@ -1123,11 +1061,11 @@ class WSAL_Settings {
1123
  * Server's timezone or WordPress' timezone.
1124
  */
1125
  public function GetTimezone() {
1126
- return $this->_plugin->GetGlobalOption( 'timezone', 'wp' );
1127
  }
1128
 
1129
  public function SetTimezone( $newvalue ) {
1130
- $this->_plugin->SetGlobalOption( 'timezone', $newvalue );
1131
  }
1132
 
1133
  /**
@@ -1161,7 +1099,7 @@ class WSAL_Settings {
1161
  * Get type of username to display.
1162
  */
1163
  public function get_type_username() {
1164
- return $this->_plugin->GetGlobalOption( 'type_username', 'display_name' );
1165
  }
1166
 
1167
  /**
@@ -1171,7 +1109,7 @@ class WSAL_Settings {
1171
  * @since 2.6.5
1172
  */
1173
  public function set_type_username( $newvalue ) {
1174
- $this->_plugin->SetGlobalOption( 'type_username', $newvalue );
1175
  }
1176
 
1177
  public function GetAdapterConfig( $name_field, $default_value = false ) {
@@ -1232,19 +1170,19 @@ class WSAL_Settings {
1232
  }
1233
 
1234
  public function GetColumnsSelected() {
1235
- return $this->_plugin->GetGlobalOption( 'columns', array() );
1236
  }
1237
 
1238
  public function SetColumns( $columns ) {
1239
- $this->_plugin->SetGlobalOption( 'columns', json_encode( $columns ) );
1240
  }
1241
 
1242
  public function IsWPBackend() {
1243
- return $this->_plugin->GetGlobalOption( 'wp-backend' );
1244
  }
1245
 
1246
  public function SetWPBackend( $enabled ) {
1247
- $this->_plugin->SetGlobalOption( 'wp-backend', $enabled );
1248
  }
1249
 
1250
  /**
@@ -1669,17 +1607,13 @@ class WSAL_Settings {
1669
  return '<a target="_blank" href="' . esc_url( $value ) . '">' . __( 'View post in the editor', 'wp-security-audit-log' ) . '</a>';
1670
 
1671
  case '%CategoryLink%' == $name:
 
 
1672
  return '<a target="_blank" href="' . esc_url( $value ) . '">' . __( 'View category', 'wp-security-audit-log' ) . '</a>';
1673
 
1674
  case '%TagLink%' == $name:
1675
  return '<a target="_blank" href="' . esc_url( $value ) . '">' . __( 'View tag', 'wp-security-audit-log' ) . '</a>';
1676
 
1677
- case '%EditorLinkForum%' == $name:
1678
- return '<a target="_blank" href="' . esc_url( $value ) . '">' . __( 'View the Forum in editor', 'wp-security-audit-log' ) . '</a>';
1679
-
1680
- case '%EditorLinkTopic%' == $name:
1681
- return '<a target="_blank" href="' . esc_url( $value ) . '">' . __( 'View the Topic in editor', 'wp-security-audit-log' ) . '</a>';
1682
-
1683
  case '%EditUserLink%' === $name:
1684
  if ( 'NULL' !== $value ) {
1685
  return '<a href="' . $value . '" target="_blank">' . __( 'User profile page', 'wp-security-audit-log' ) . '</a>';
@@ -1947,6 +1881,8 @@ class WSAL_Settings {
1947
  return ' View the <' . esc_url( $value ) . '|page>';
1948
 
1949
  case '%CategoryLink%' === $name:
 
 
1950
  return ' View the <' . esc_url( $value ) . '|category>';
1951
 
1952
  case '%TagLink%' === $name:
380
  */
381
  public function GetPruningDate() {
382
  if ( ! $this->_pruning ) {
383
+ $this->_pruning = $this->_plugin->options_helper->get_option_value( 'pruning-date' );
384
  if ( ! strtotime( $this->_pruning ) ) {
385
  $this->_pruning = $this->GetDefaultPruningDate();
386
  }
395
  */
396
  public function SetPruningDate( $newvalue ) {
397
  if ( strtotime( $newvalue ) ) {
398
+ $this->_plugin->options_helper->set_option_value( 'pruning-date', $newvalue );
399
  $this->_pruning = $newvalue;
400
  }
401
  }
406
  * @return string
407
  */
408
  public function get_pruning_unit() {
409
+ return $this->_plugin->options_helper->get_option_value( 'pruning-unit', 'months' );
410
  }
411
 
412
  /**
415
  * @param string $newvalue – New value of pruning unit.
416
  */
417
  public function set_pruning_unit( $newvalue ) {
418
+ $this->_plugin->options_helper->set_option_value( 'pruning-unit', $newvalue );
419
  }
420
 
421
  /**
424
  * @return integer
425
  */
426
  public function GetPruningLimit() {
427
+ $val = (int) $this->_plugin->options_helper->get_option_value( 'pruning-limit' );
428
  return $val ? $val : $this->GetMaxAllowedAlerts();
429
  }
430
 
435
  */
436
  public function SetPruningLimit( $newvalue ) {
437
  $newvalue = max( /*min(*/ (int) $newvalue/*, $this->GetMaxAllowedAlerts())*/, 1 );
438
+ $this->_plugin->options_helper->set_option_value( 'pruning-limit', $newvalue );
439
  }
440
 
441
  public function SetPruningDateEnabled( $enabled ) {
442
+ $this->_plugin->options_helper->set_option_value( 'pruning-date-e', $enabled );
443
  }
444
 
445
  public function SetPruningLimitEnabled( $enabled ) {
446
+ $this->_plugin->options_helper->set_option_value( 'pruning-limit-e', $enabled );
447
  }
448
 
449
  public function IsPruningDateEnabled() {
450
+ return $this->_plugin->options_helper->get_option_value( 'pruning-date-e' );
451
  }
452
 
453
  public function IsPruningLimitEnabled() {
454
+ return $this->_plugin->options_helper->get_option_value( 'pruning-limit-e' );
455
  }
456
 
457
  public function IsRestrictAdmins() {
464
  * @deprecated
465
  */
466
  public function IsSandboxPageEnabled() {
 
 
467
  return esc_html__( 'This function is deprecated', 'wp-security-audit-log' );
468
  }
469
 
520
  public function GetDisabledAlerts() {
521
  if ( ! $this->_disabled ) {
522
  $this->_disabled = implode( ',', $this->GetDefaultDisabledAlerts() );
523
+ $this->_disabled = $this->_plugin->options_helper->get_option_value( 'disabled-alerts', $this->_disabled );
524
  $this->_disabled = ( '' == $this->_disabled ) ? array() : explode( ',', $this->_disabled );
525
  $this->_disabled = array_map( 'intval', $this->_disabled );
526
  }
534
  */
535
  public function SetDisabledAlerts( $types ) {
536
  $this->_disabled = array_unique( array_map( 'intval', $types ) );
537
+ $this->_plugin->options_helper->set_option_value( 'disabled-alerts', implode( ',', $this->_disabled ) );
538
  }
539
 
540
  public function IsIncognito() {
765
  return function_exists( 'is_super_admin' ) && is_super_admin( $user_id );
766
  }
767
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
768
  public function IsMainIPFromProxy() {
769
  return $this->_plugin->GetGlobalOption( 'use-proxy-ip' );
770
  }
1061
  * Server's timezone or WordPress' timezone.
1062
  */
1063
  public function GetTimezone() {
1064
+ return $this->_plugin->options_helper->get_option_value( 'timezone', 'wp' );
1065
  }
1066
 
1067
  public function SetTimezone( $newvalue ) {
1068
+ $this->_plugin->options_helper->set_option_value( 'timezone', $newvalue );
1069
  }
1070
 
1071
  /**
1099
  * Get type of username to display.
1100
  */
1101
  public function get_type_username() {
1102
+ return $this->_plugin->options_helper->get_option_value( 'type_username', 'display_name' );
1103
  }
1104
 
1105
  /**
1109
  * @since 2.6.5
1110
  */
1111
  public function set_type_username( $newvalue ) {
1112
+ $this->_plugin->options_helper->set_option_value( 'type_username', $newvalue );
1113
  }
1114
 
1115
  public function GetAdapterConfig( $name_field, $default_value = false ) {
1170
  }
1171
 
1172
  public function GetColumnsSelected() {
1173
+ return $this->_plugin->options_helper->get_option_value( 'columns', array() );
1174
  }
1175
 
1176
  public function SetColumns( $columns ) {
1177
+ $this->_plugin->options_helper->set_option_value( 'columns', json_encode( $columns ) );
1178
  }
1179
 
1180
  public function IsWPBackend() {
1181
+ return $this->_plugin->options_helper->get_option_value( 'wp-backend' );
1182
  }
1183
 
1184
  public function SetWPBackend( $enabled ) {
1185
+ $this->_plugin->options_helper->set_option_value( 'wp-backend', $enabled );
1186
  }
1187
 
1188
  /**
1607
  return '<a target="_blank" href="' . esc_url( $value ) . '">' . __( 'View post in the editor', 'wp-security-audit-log' ) . '</a>';
1608
 
1609
  case '%CategoryLink%' == $name:
1610
+ case '%cat_link%' == $name:
1611
+ case '%ProductCatLink%' == $name:
1612
  return '<a target="_blank" href="' . esc_url( $value ) . '">' . __( 'View category', 'wp-security-audit-log' ) . '</a>';
1613
 
1614
  case '%TagLink%' == $name:
1615
  return '<a target="_blank" href="' . esc_url( $value ) . '">' . __( 'View tag', 'wp-security-audit-log' ) . '</a>';
1616
 
 
 
 
 
 
 
1617
  case '%EditUserLink%' === $name:
1618
  if ( 'NULL' !== $value ) {
1619
  return '<a href="' . $value . '" target="_blank">' . __( 'User profile page', 'wp-security-audit-log' ) . '</a>';
1881
  return ' View the <' . esc_url( $value ) . '|page>';
1882
 
1883
  case '%CategoryLink%' === $name:
1884
+ case '%cat_link%' === $name:
1885
+ case '%ProductCatLink%' == $name:
1886
  return ' View the <' . esc_url( $value ) . '|category>';
1887
 
1888
  case '%TagLink%' === $name:
classes/Update/Task/MoveSettingsToOptionsTable.php ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Task to handle moving some options from the custom table to the default
4
+ * site options table.
5
+ *
6
+ * NOTE: This helps to simply setting/getting options and also benefits from
7
+ * WPs in-built caching optimizations already applied to that table.
8
+ *
9
+ * @package Wsal
10
+ * @since 4.0.3
11
+ */
12
+
13
+ namespace WSAL\Update\Task;
14
+
15
+ /**
16
+ * Remaps remaps old cron names to new ones and schedules them at the same
17
+ * time as the original was scheduled.
18
+ */
19
+ class MoveSettingsToOptionstable {
20
+
21
+ /**
22
+ * Holds the main plugin instance to work on.
23
+ *
24
+ * @var \WpSecurityAuditLog
25
+ */
26
+ private $wsal;
27
+
28
+ /**
29
+ * The prefix to use when creating the new settings.
30
+ *
31
+ * @var string
32
+ */
33
+ private $prefix = '';
34
+
35
+ /**
36
+ * The version we are upgrading from.
37
+ *
38
+ * @var null|string
39
+ */
40
+ private $old_version;
41
+
42
+ /**
43
+ * The version we upgraded to.
44
+ *
45
+ * @var null|string
46
+ */
47
+ private $new_version;
48
+
49
+ /**
50
+ * Sets up the class properties.
51
+ *
52
+ * @method __construct
53
+ * @since 4.0.3
54
+ * @param \WpSecurityAuditLog $wsal An instance of the main plugin.
55
+ * @param string $prefix The prefix string to prepend to options.
56
+ */
57
+ public function __construct( $wsal, $prefix = '' ) {
58
+ $this->wsal = $wsal;
59
+ $this->prefix = $prefix;
60
+ add_filter( 'wsal_update_move_settings', array( $this, 'settings_to_move_4_0_3' ) );
61
+ }
62
+
63
+ /**
64
+ * Passes in the version strings so we can decide what settings to move.
65
+ *
66
+ * @method pass_versions
67
+ * @since 4.0.3
68
+ * @param string $old_version The old version string.
69
+ * @param string $new_version The new version string.
70
+ */
71
+ public function set_versions( $old_version = '', $new_version = '' ) {
72
+ $this->old_version = $old_version;
73
+ $this->new_version = $new_version;
74
+ }
75
+
76
+ /**
77
+ * Loop through an array of cron tasks and remap them if the name changed.
78
+ *
79
+ * NOTE: The expected data used in this is a single dimentional array with
80
+ * option names.
81
+ *
82
+ * @method run
83
+ * @since 4.0.2
84
+ */
85
+ public function run() {
86
+ // bail early if we don't have a main plugin object to work with.
87
+ if ( null === $this->wsal || ! is_a( $this->wsal, 'WpSecurityAuditLog' ) ) {
88
+ return;
89
+ }
90
+ // bail early if options versions were not yet set.
91
+ if ( null === $this->old_version || null === $this->new_version ) {
92
+ return;
93
+ }
94
+
95
+ // get an array of options to move.
96
+ $settings_to_move = apply_filters( 'wsal_update_move_settings', array() );
97
+
98
+ // Loop through array of options to move to WP options table.
99
+ foreach ( $settings_to_move as $setting ) {
100
+ $value = $this->wsal->options_helper->get_option_value( $setting );
101
+ // to prevent override of already migrated data we will first check
102
+ // if option value exists in the standard options table.
103
+ if ( null !== $value ) {
104
+ // skip to next item as this already exists in options table.
105
+ continue;
106
+ }
107
+
108
+ // no options value existed in the default table, check in the
109
+ // plugins custom table.
110
+ $value = $this->wsal->GetGlobalOption( $setting );
111
+ if ( $value ) {
112
+ // if we got data from the custom table save it.
113
+ $this->wsal->options_helper->set_option_value( $setting, $value );
114
+ }
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Filters in a list of settings to move in the 4.0.3 update.
120
+ *
121
+ * NOTE: Should fire if coming from before 4.0.1 to 4.0.3 or later.
122
+ *
123
+ * @method settings_to_move_4_0_3
124
+ * @since 4.0.3
125
+ * @param array $settings An array of settings to move.
126
+ * @return array
127
+ */
128
+ public function settings_to_move_4_0_3( $settings ) {
129
+ if ( \version_compare( $this->old_version, '4.0.2', '>=' ) && \version_compare( $this->new_version, '4.0.3', '<=' ) ) {
130
+ // settings moved in this version update.
131
+ $settings = array_merge(
132
+ $settings,
133
+ array(
134
+ 'pruning-date-e',
135
+ 'pruning-date',
136
+ 'pruning-unit',
137
+ 'version',
138
+ 'timezone',
139
+ 'type_username',
140
+ 'dismissed-privacy-notice',
141
+ 'columns',
142
+ 'disabled-alerts',
143
+ 'wp-backend',
144
+ )
145
+ );
146
+ }
147
+ // Return an array of all the setting we are wanting moved.
148
+ return $settings;
149
+ }
150
+
151
+ }
classes/Utilities/PluginInstallAndActivate.php CHANGED
@@ -27,7 +27,7 @@ if ( ! class_exists( 'WSAL_PluginInstallAndActivate' ) ) {
27
  * @param string $plugin_slug installed plugin slug.
28
  * @return void|bool
29
  */
30
- public function is_plugin_installed( $plugin_slug = '' ) {
31
  // bail early if we don't have a slug to work with.
32
  if ( empty( $plugin_slug ) ) {
33
  return;
@@ -126,14 +126,17 @@ if ( ! class_exists( 'WSAL_PluginInstallAndActivate' ) ) {
126
  */
127
  public static function get_installable_plugins() {
128
  $plugins = array(
129
- // array(
130
- // 'title' => 'BBPress Add-on',
131
- // 'image_filename' => 'bbpress.png',
132
- // 'plugin_slug' => 'wp-bootstrap-blocks/wp-bootstrap-blocks.php',
133
- // 'plugin_url' => 'https://downloads.wordpress.org/plugin/wp-bootstrap-blocks.latest-stable.zip', // TODO: make this match live url.
134
- // 'event_tab_id' => '#tab-bbpress-forums',
135
- // ),
136
  array(
 
 
 
 
 
 
 
 
 
 
137
  'title' => 'WPForms',
138
  'image_filename' => 'wpforms.png',
139
  'plugin_slug' => 'wp-security-audit-log-add-on-for-wpforms/wsal-wpforms.php',
27
  * @param string $plugin_slug installed plugin slug.
28
  * @return void|bool
29
  */
30
+ public static function is_plugin_installed( $plugin_slug = '' ) {
31
  // bail early if we don't have a slug to work with.
32
  if ( empty( $plugin_slug ) ) {
33
  return;
126
  */
127
  public static function get_installable_plugins() {
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',
135
+ 'event_tab_id' => '#tab-bbpress-forums',
136
+ 'plugin_description' => 'Keep a log of your sites bbPress activity, from forum and topic creation, user profile changes and more.',
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',
classes/Utilities/PluginInstallerAction.php CHANGED
@@ -24,7 +24,9 @@ if ( ! class_exists( 'WSAL_PluginInstallerAction' ) ) {
24
  * @since 4.0.1
25
  */
26
  public function register() {
 
27
  add_action( 'wp_ajax_run_addon_install', array( $this, 'run_addon_install' ) );
 
28
  }
29
 
30
  /**
@@ -36,11 +38,27 @@ if ( ! class_exists( 'WSAL_PluginInstallerAction' ) ) {
36
  public function run_addon_install() {
37
  check_ajax_referer( 'wsal-install-addon' );
38
 
39
- $plugin_zip = ( isset( $_POST['plugin_url'] ) ) ? esc_url_raw( wp_unslash( $_POST['plugin_url'] ) ) : '';
40
- $plugin_slug = ( isset( $_POST['plugin_slug'] ) ) ? sanitize_textarea_field( wp_unslash( $_POST['plugin_slug'] ) ) : '';
41
-
42
  $predefined_plugins = WSAL_PluginInstallAndActivate::get_installable_plugins();
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  // validate that the plugin is in the allowed list.
45
  $valid = false;
46
  foreach ( $predefined_plugins as $plugin ) {
24
  * @since 4.0.1
25
  */
26
  public function register() {
27
+ // @TODO: remove this unprefixed call and swap to prefixed only.
28
  add_action( 'wp_ajax_run_addon_install', array( $this, 'run_addon_install' ) );
29
+ add_action( 'wp_ajax_wsal_run_addon_install', array( $this, 'run_addon_install' ) );
30
  }
31
 
32
  /**
38
  public function run_addon_install() {
39
  check_ajax_referer( 'wsal-install-addon' );
40
 
 
 
 
41
  $predefined_plugins = WSAL_PluginInstallAndActivate::get_installable_plugins();
42
 
43
+ if ( ! ( isset( $_POST['addon_for'] ) && is_array( $predefined_plugins ) ) ) {
44
+ // no 'addon_for' passed, check for a zip and slug.
45
+ $plugin_zip = ( isset( $_POST['plugin_url'] ) ) ? esc_url_raw( wp_unslash( $_POST['plugin_url'] ) ) : '';
46
+ $plugin_slug = ( isset( $_POST['plugin_slug'] ) ) ? sanitize_textarea_field( wp_unslash( $_POST['plugin_slug'] ) ) : '';
47
+ } else {
48
+ /*
49
+ * Key POSTed as an 'addon_for', try get the zip and slug.
50
+ *
51
+ * @since 4.0.2
52
+ */
53
+ $addon = sanitize_text_field( wp_unslash( $_POST['addon_for'] ) );
54
+ foreach ( $predefined_plugins as $plugin ) {
55
+ if ( strtolower( $plugin['addon_for'] ) === $addon ) {
56
+ $plugin_zip = $plugin['plugin_url'];
57
+ $plugin_slug = $plugin['plugin_slug'];
58
+ }
59
+ }
60
+ }
61
+
62
  // validate that the plugin is in the allowed list.
63
  $valid = false;
64
  foreach ( $predefined_plugins as $plugin ) {
classes/ViewManager.php CHANGED
@@ -66,7 +66,6 @@ class WSAL_ViewManager {
66
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/EmailNotifications.php';
67
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/Search.php';
68
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/ExternalDB.php';
69
- $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/Licensing.php';
70
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/LogInUsers.php';
71
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/Reports.php';
72
  }
@@ -81,6 +80,15 @@ class WSAL_ViewManager {
81
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/SetupWizard.php';
82
  }
83
 
 
 
 
 
 
 
 
 
 
84
  /**
85
  * Skipped Views.
86
  *
66
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/EmailNotifications.php';
67
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/Search.php';
68
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/ExternalDB.php';
 
69
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/LogInUsers.php';
70
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/Reports.php';
71
  }
80
  $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/SetupWizard.php';
81
  }
82
 
83
+ /**
84
+ * Removed in version 4.0.3 however some upgrade methods result in the
85
+ * file being left behind and `AddFromFile()` tries to load it as a
86
+ * class resulting in a fatal error because of it not existing.
87
+ *
88
+ * @since 4.0.4
89
+ */
90
+ $skip_views[] = $this->_plugin->GetBaseDir() . 'classes/Views/Licensing.php';
91
+
92
  /**
93
  * Skipped Views.
94
  *
classes/Views/AuditLog.php CHANGED
@@ -79,6 +79,7 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
79
  add_action( 'wp_ajax_wsal_exclude_url', array( $this, 'wsal_exclude_url' ) );
80
  add_action( 'wp_ajax_wsal_dismiss_advert', array( $this, 'wsal_dismiss_advert' ) );
81
  add_action( 'wp_ajax_wsal_dismiss_notice_disconnect', array( $this, 'dismiss_notice_disconnect' ) );
 
82
  add_action( 'wp_ajax_wsal_dismiss_wp_pointer', array( $this, 'dismiss_wp_pointer' ) );
83
  add_action( 'all_admin_notices', array( $this, 'AdminNoticesPremium' ) );
84
  add_action( 'admin_enqueue_scripts', array( $this, 'load_pointers' ), 1000 );
@@ -241,6 +242,63 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
241
  endif;
242
  }
243
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  }
245
 
246
  /**
@@ -261,6 +319,25 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
261
  die( 'Nonce verification failed!' );
262
  }
263
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  /**
265
  * Method: Check if view has shortcut link.
266
  */
@@ -948,15 +1025,29 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
948
  true
949
  );
950
  $audit_log_data = array(
951
- 'page' => isset( $this->page_args->page ) ? $this->page_args->page : false,
952
- 'siteId' => isset( $this->page_args->site_id ) ? $this->page_args->site_id : false,
953
- 'orderBy' => isset( $this->page_args->order_by ) ? $this->page_args->order_by : false,
954
- 'order' => isset( $this->page_args->order ) ? $this->page_args->order : false,
955
- 'searchTerm' => isset( $this->page_args->search_term ) ? $this->page_args->search_term : false,
956
- 'searchFilters' => isset( $this->page_args->search_filters ) ? $this->page_args->search_filters : false,
957
- 'viewerNonce' => wp_create_nonce( 'wsal_auditlog_viewer_nonce' ),
958
- 'infiniteScroll' => $this->_plugin->settings->is_infinite_scroll(),
959
- 'userView' => ( in_array( $this->user_last_view, $this->supported_view_types(), true ) ) ? $this->user_last_view : 'list',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
960
  );
961
  wp_localize_script( 'auditlog', 'wsalAuditLogArgs', $audit_log_data );
962
  wp_enqueue_script( 'auditlog' );
@@ -994,7 +1085,7 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
994
  }
995
 
996
  // Get dismissed pointers.
997
- $dismissed = explode( ',', (string) $this->_plugin->GetGlobalOption( 'dismissed-privacy-notice', true ) );
998
  $valid_pointers = array();
999
 
1000
  // Check pointers and remove dismissed ones.
@@ -1169,7 +1260,7 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
1169
  wp_die( 0 );
1170
  }
1171
 
1172
- $dismissed = array_filter( explode( ',', (string) $this->_plugin->GetGlobalOption( 'dismissed-privacy-notice', true ) ) );
1173
 
1174
  if ( in_array( $pointer, $dismissed ) ) {
1175
  wp_die( 0 );
@@ -1178,7 +1269,7 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
1178
  $dismissed[] = $pointer;
1179
  $dismissed = implode( ',', $dismissed );
1180
 
1181
- $this->_plugin->SetGlobalOption( 'dismissed-privacy-notice', $dismissed );
1182
  wp_die( 1 );
1183
  }
1184
 
79
  add_action( 'wp_ajax_wsal_exclude_url', array( $this, 'wsal_exclude_url' ) );
80
  add_action( 'wp_ajax_wsal_dismiss_advert', array( $this, 'wsal_dismiss_advert' ) );
81
  add_action( 'wp_ajax_wsal_dismiss_notice_disconnect', array( $this, 'dismiss_notice_disconnect' ) );
82
+ add_action( 'wp_ajax_wsal_dismiss_notice_addon_available', array( $this, 'dismiss_notice_addon_available' ) );
83
  add_action( 'wp_ajax_wsal_dismiss_wp_pointer', array( $this, 'dismiss_wp_pointer' ) );
84
  add_action( 'all_admin_notices', array( $this, 'AdminNoticesPremium' ) );
85
  add_action( 'admin_enqueue_scripts', array( $this, 'load_pointers' ), 1000 );
242
  endif;
243
  }
244
  }
245
+
246
+ // Display add-on available notice.
247
+ $screen = get_current_screen();
248
+ $notice_already_dismissed = get_option( 'wsal_addon_available_notice_dismissed' );
249
+ if ( $screen->base === 'toplevel_page_wsal-auditlog' && $is_current_view && ! $notice_already_dismissed ) {
250
+ $addons_available = get_option( 'wsal_installed_plugin_addon_available' );
251
+ $all_plugins = get_plugins();
252
+ $all_plugins = array_keys( $all_plugins );
253
+ $predefined_plugins = WSAL_PluginInstallAndActivate::get_installable_plugins();
254
+ $predefined_plugins_slugs = array_column( $predefined_plugins, 'plugin_slug' );
255
+ $is_addon_installed = array_intersect( $all_plugins, $predefined_plugins_slugs );
256
+ $display_notice = false;
257
+
258
+ if ( isset( $addons_available ) && is_array( $addons_available ) ) {
259
+ $addon_names = '';
260
+ $i = 0;
261
+ foreach ( $addons_available as $addon ) {
262
+ $addon_slug = array( array_search( $addon, array_column( $predefined_plugins, 'addon_for', 'plugin_slug' ) ) );
263
+ $is_addon_installed = array_intersect( $all_plugins, $addon_slug );
264
+
265
+ if ( empty( $is_addon_installed ) ) {
266
+ $addon = str_replace( '-', ' ', $addon);
267
+ if ( $addon === 'bbpress' ) {
268
+ $addon = 'bbPress';
269
+ }
270
+ if ( $addon === 'wpforms' ) {
271
+ $addon = 'WPForms';
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
+ }
282
+ $i++;
283
+ }
284
+ ?>
285
+ <?php if ( $display_notice ) : ?>
286
+ <div class="notice notice-information is-dismissible" id="wsal-notice-addon-available">
287
+ <p><?php $message = printf(
288
+ /* translators: %1$s: is the user name, %2$s is the website name */
289
+ '%1$s %2$s %3$s %4$s. <a href="%6$s" class="button button-primary">%5$s</a>',
290
+ esc_html__( 'You have', 'wp-2fa' ),
291
+ $addon_names,
292
+ esc_html__( 'installed. Keep a log of changes in', 'wp-2fa' ),
293
+ $addon_names,
294
+ $button_label,
295
+ esc_url( add_query_arg( 'page', 'wsal-togglealerts#tab-third-party-plugins', admin_url( 'admin.php' ) ) )
296
+ ); ?></p>
297
+ <?php wp_nonce_field( 'wsal_dismiss_notice_addon_available', 'wsal-dismiss-notice-addon-available', false, true ); ?>
298
+ </div>
299
+ <?php endif;
300
+ }
301
+ }
302
  }
303
 
304
  /**
319
  die( 'Nonce verification failed!' );
320
  }
321
 
322
+ /**
323
+ * Method: Ajax handler for dismissing addon notice.
324
+ */
325
+ public function dismiss_notice_addon_available() {
326
+ // Get $_POST array arguments.
327
+ $post_array_args = array(
328
+ 'nonce' => FILTER_SANITIZE_STRING,
329
+ );
330
+ $post_array = filter_input_array( INPUT_POST, $post_array_args );
331
+
332
+ // Verify nonce.
333
+ if ( wp_verify_nonce( $post_array['nonce'], 'wsal_dismiss_notice_addon_available' ) ) {
334
+ add_option( 'wsal_addon_available_notice_dismissed', true );
335
+ die();
336
+ }
337
+ die( 'Nonce verification failed!' );
338
+ }
339
+
340
+
341
  /**
342
  * Method: Check if view has shortcut link.
343
  */
1025
  true
1026
  );
1027
  $audit_log_data = array(
1028
+ 'page' => isset( $this->page_args->page ) ? $this->page_args->page : false,
1029
+ 'siteId' => isset( $this->page_args->site_id ) ? $this->page_args->site_id : false,
1030
+ 'orderBy' => isset( $this->page_args->order_by ) ? $this->page_args->order_by : false,
1031
+ 'order' => isset( $this->page_args->order ) ? $this->page_args->order : false,
1032
+ 'searchTerm' => isset( $this->page_args->search_term ) ? $this->page_args->search_term : false,
1033
+ 'searchFilters' => isset( $this->page_args->search_filters ) ? $this->page_args->search_filters : false,
1034
+ 'viewerNonce' => wp_create_nonce( 'wsal_auditlog_viewer_nonce' ),
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' ),
1044
+ 'msgError' => sprintf(
1045
+ /* translators: 1 - an opening link tag, 2 - the closing tag. */
1046
+ __( '<br>An error occured when trying to install and activate the plugin. Please try install it again from the %1$sevent settings%2$s page.', 'wp-security-audit-log' ),
1047
+ '<a href="' . esc_url( add_query_arg( 'page', 'wsal-togglealerts#tab-third-party-plugins', admin_url( 'admin.php' ) ) ) . '">',
1048
+ '</a>'
1049
+ ),
1050
+ ),
1051
  );
1052
  wp_localize_script( 'auditlog', 'wsalAuditLogArgs', $audit_log_data );
1053
  wp_enqueue_script( 'auditlog' );
1085
  }
1086
 
1087
  // Get dismissed pointers.
1088
+ $dismissed = explode( ',', (string) $this->_plugin->options_helper->get_option_value( 'dismissed-privacy-notice', true ) );
1089
  $valid_pointers = array();
1090
 
1091
  // Check pointers and remove dismissed ones.
1260
  wp_die( 0 );
1261
  }
1262
 
1263
+ $dismissed = array_filter( explode( ',', (string) $this->_plugin->options_helper->get_option_value( 'dismissed-privacy-notice', true ) ) );
1264
 
1265
  if ( in_array( $pointer, $dismissed ) ) {
1266
  wp_die( 0 );
1269
  $dismissed[] = $pointer;
1270
  $dismissed = implode( ',', $dismissed );
1271
 
1272
+ $this->_plugin->options_helper->set_option_value( 'dismissed-privacy-notice', $dismissed );
1273
  wp_die( 1 );
1274
  }
1275
 
classes/Views/Help.php CHANGED
@@ -257,6 +257,12 @@ class WSAL_Views_Help extends WSAL_AbstractView {
257
  'alt' => 'Website File Changes Monitor',
258
  'link' => 'https://www.wpwhitesecurity.com/wordpress-plugins/website-file-changes-monitor/?utm_source=plugin&utm_medium=referral&utm_campaign=WFCM&utm_content=WSAL+banner',
259
  ),
 
 
 
 
 
 
260
  array(
261
  'img' => trailingslashit( WSAL_BASE_URL ) . 'img/help/activity-log-for-mainwp.jpg',
262
  'desc' => __( 'See the child sites activity logs from the central MainWP dashboard', 'wp-security-audit-log' ),
257
  'alt' => 'Website File Changes Monitor',
258
  'link' => 'https://www.wpwhitesecurity.com/wordpress-plugins/website-file-changes-monitor/?utm_source=plugin&utm_medium=referral&utm_campaign=WFCM&utm_content=WSAL+banner',
259
  ),
260
+ array(
261
+ 'img' => trailingslashit( WSAL_BASE_URL ) . 'img/help/wp-2fa-img.jpg',
262
+ 'desc' => __( 'Add an extra layer of security to your login pages with 2FA & require your users to use it.', 'wp-security-audit-log' ),
263
+ 'alt' => 'WP 2FA',
264
+ 'link' => 'https://www.wpwhitesecurity.com/wordpress-plugins/wp-2fa/?utm_source=plugin&utm_medium=referral&utm_campaign=WP2FA&utm_content=WSAL+banner',
265
+ ),
266
  array(
267
  'img' => trailingslashit( WSAL_BASE_URL ) . 'img/help/activity-log-for-mainwp.jpg',
268
  'desc' => __( 'See the child sites activity logs from the central MainWP dashboard', 'wp-security-audit-log' ),
classes/Views/Licensing.php DELETED
@@ -1,163 +0,0 @@
1
- <?php
2
- /**
3
- * View: Licensing
4
- *
5
- * WSAL licensing page.
6
- *
7
- * @package Wsal
8
- */
9
-
10
- // Exit if accessed directly.
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- }
14
-
15
- /**
16
- * Class: Licensing View.
17
- *
18
- * Licensing Page for all the Add-Ons enabled.
19
- *
20
- * @package Wsal
21
- */
22
- class WSAL_Views_Licensing extends WSAL_AbstractView {
23
-
24
- /**
25
- * Method: Get View Title.
26
- */
27
- public function GetTitle() {
28
- return __( 'Licensing', 'wp-security-audit-log' );
29
- }
30
-
31
- /**
32
- * Method: Get View Icon.
33
- */
34
- public function GetIcon() {
35
- return 'dashicons-cart';
36
- }
37
-
38
- /**
39
- * Method: Get View Name.
40
- */
41
- public function GetName() {
42
- return __( 'Licensing', 'wp-security-audit-log' );
43
- }
44
-
45
- /**
46
- * Method: Get View Weight.
47
- */
48
- public function GetWeight() {
49
- return 13;
50
- }
51
-
52
- /**
53
- * Check if the view is accessible.
54
- */
55
- public function IsAccessible() {
56
- return ! ! $this->_plugin->licensing->CountPlugins();
57
- }
58
-
59
- /**
60
- * Method: Save.
61
- */
62
- protected function Save() {
63
- // Clear licenses.
64
- $this->_plugin->settings->ClearLicenses();
65
-
66
- // Filter $_POST array for security.
67
- $post_array = filter_input_array( INPUT_POST );
68
-
69
- // Save and activate license.
70
- if ( isset( $post_array['license'] ) ) {
71
- foreach ( $post_array['license'] as $name => $key ) {
72
- $this->_plugin->licensing->ActivateLicense( $name, $key );
73
- }
74
- }
75
- }
76
-
77
- /**
78
- * Method: Get View.
79
- */
80
- public function Render() {
81
- if ( ! $this->_plugin->settings->CurrentUserCan( 'edit' ) ) {
82
- wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'wp-security-audit-log' ) );
83
- }
84
-
85
- // Filter $_POST array for security.
86
- $post_array = filter_input_array( INPUT_POST );
87
-
88
- // Verify nonce for security.
89
- if ( isset( $post_array['_wpnonce'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'wsal-licensing' ) ) {
90
- wp_die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
91
- }
92
-
93
- if ( isset( $post_array['submit'] ) ) {
94
- try {
95
- $this->Save();
96
- ?><div class="updated"><p><?php esc_html_e( 'Settings have been saved.', 'wp-security-audit-log' ); ?></p></div>
97
- <?php
98
- } catch ( Exception $ex ) {
99
- ?>
100
- <div class="error">
101
- <p><?php esc_html_e( 'Error: ', 'wp-security-audit-log' ); ?><?php echo esc_html( $ex->getMessage() ); ?></p>
102
- </div>
103
- <?php
104
- }
105
- }
106
- ?>
107
- <form id="audit-log-licensing" method="post">
108
- <input type="hidden" name="page" value="<?php echo isset( $_GET['page'] ) ? esc_attr( sanitize_text_field( wp_unslash( $_GET['page'] ) ) ) : false; ?>" />
109
- <?php wp_nonce_field( 'wsal-licensing' ); ?>
110
- <table class="wp-list-table widefat fixed">
111
- <thead>
112
- <tr>
113
- <th><?php esc_html_e( 'Plugin', 'wp-security-audit-log' ); ?></th>
114
- <th><?php esc_html_e( 'License', 'wp-security-audit-log' ); ?></th>
115
- <th></th>
116
- </tr>
117
- </thead>
118
- <tbody>
119
- <?php $counter = 0; ?>
120
- <?php foreach ( $this->_plugin->licensing->Plugins() as $name => $plugin ) : ?>
121
- <?php $license_key = trim( $this->_plugin->settings->GetLicenseKey( $name ) ); ?>
122
- <?php $license_status = trim( $this->_plugin->settings->GetLicenseStatus( $name ) ); ?>
123
- <?php $license_errors = trim( $this->_plugin->settings->GetLicenseErrors( $name ) ); ?>
124
- <tr class="<?php echo ( 0 === $counter++ % 2 ) ? 'alternate' : ''; ?>">
125
- <td>
126
- <a href="<?php echo esc_attr( $plugin['PluginData']['PluginURI'] ); ?>" target="_blank">
127
- <?php echo esc_html( $plugin['PluginData']['Name'] ); ?>
128
- </a><br/><small><b>
129
- <?php esc_html_e( 'Version', 'wp-security-audit-log' ); ?>
130
- <?php echo esc_html( $plugin['PluginData']['Version'] ); ?>
131
- </b></small>
132
- </td>
133
- <td>
134
- <input type="text" style="width: 100%; margin: 6px 0;"
135
- name="license[<?php echo esc_attr( $name ); ?>]"
136
- value="<?php echo esc_attr( $license_key ); ?>"/>
137
- </td>
138
- <td style="vertical-align: middle;">
139
- <?php if ( $license_key ) : ?>
140
- <?php if ( 'valid' === $license_status ) : ?>
141
- <?php esc_html_e( 'Active', 'wp-security-audit-log' ); ?>
142
- <?php else : ?>
143
- <?php esc_html_e( 'Inactive', 'wp-security-audit-log' ); ?><br/>
144
- <small><?php echo esc_html( $license_errors ); ?></small>
145
- <?php endif; ?>
146
- <?php endif; ?>
147
- </td>
148
- </tr>
149
- <?php endforeach; ?>
150
- </tbody>
151
- <tfoot>
152
- <tr>
153
- <th><?php esc_html_e( 'Plugin', 'wp-security-audit-log' ); ?></th>
154
- <th><?php esc_html_e( 'License', 'wp-security-audit-log' ); ?></th>
155
- <th></th>
156
- </tr>
157
- </tfoot>
158
- </table>
159
- <?php submit_button(); ?>
160
- </form>
161
- <?php
162
- }
163
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/Views/SetupWizard.php CHANGED
@@ -136,6 +136,26 @@ final class WSAL_Views_SetupWizard {
136
  return;
137
  }
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  /**
140
  * Wizard Steps.
141
  */
@@ -207,13 +227,21 @@ final class WSAL_Views_SetupWizard {
207
  /**
208
  * Enqueue Scripts.
209
  */
 
 
 
 
 
 
 
 
210
  wp_register_script(
211
- 'wsal-wizard-js',
212
- $this->wsal->GetBaseUrl() . '/js/dist/wsal-wizard.min.js',
213
- array(),
214
- filemtime( $this->wsal->GetBaseDir() . 'js/dist/wsal-wizard.min.js' ),
215
- false
216
- );
217
 
218
  // Data array.
219
  $data_array = array(
@@ -225,6 +253,17 @@ final class WSAL_Views_SetupWizard {
225
  );
226
  wp_localize_script( 'wsal-wizard-js', 'wsalData', $data_array );
227
 
 
 
 
 
 
 
 
 
 
 
 
228
  /**
229
  * Save Wizard Settings.
230
  */
@@ -252,6 +291,8 @@ final class WSAL_Views_SetupWizard {
252
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
253
  <title><?php esc_html_e( 'WP Security Audit Log &rsaquo; Setup Wizard', 'wp-security-audit-log' ); ?></title>
254
  <?php wp_print_scripts( 'wsal-wizard-js' ); ?>
 
 
255
  <?php do_action( 'admin_print_styles' ); ?>
256
  <?php do_action( 'admin_head' ); ?>
257
  </head>
@@ -671,19 +712,19 @@ final class WSAL_Views_SetupWizard {
671
  switch ( $pruning_limit ) {
672
  case '6':
673
  // 6 months.
674
- $this->wsal->SetGlobalOption( 'pruning-date-e', true );
675
- $this->wsal->SetGlobalOption( 'pruning-date', $pruning_limit . ' months' );
676
  break;
677
 
678
  case '12':
679
  // 12 months.
680
- $this->wsal->SetGlobalOption( 'pruning-date-e', true );
681
- $this->wsal->SetGlobalOption( 'pruning-date', $pruning_limit . ' months' );
682
  break;
683
 
684
  case 'none':
685
  // None.
686
- $this->wsal->SetGlobalOption( 'pruning-date-e', false );
687
  break;
688
 
689
  default:
@@ -759,4 +800,94 @@ final class WSAL_Views_SetupWizard {
759
  wp_safe_redirect( esc_url_raw( $this->get_next_step() ) );
760
  exit();
761
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
762
  }
136
  return;
137
  }
138
 
139
+ // Grab list of instaleld plugins.
140
+ $all_plugins = get_plugins();
141
+ $plugin_filenames = array();
142
+ foreach ( $all_plugins as $plugin => $info ) {
143
+ // here we strip all of the plugin slug, leaving just the filename itself. Neat!
144
+ $plugin_filenames[] = preg_replace( '/\\.[^.\\s]{3,4}$/', '', substr( basename( json_encode( $plugin ) ), 0, -1 ) );
145
+ }
146
+
147
+ // Grab list of plugins we have addons for.
148
+ $predefined_plugins = WSAL_PluginInstallAndActivate::get_installable_plugins();
149
+ $predefined_plugins = array_column( $predefined_plugins, 'addon_for' );
150
+
151
+ // Loop through plugins and create an array of slugs, we will compare these agains the plugins we have addons for.
152
+ $we_have_addon = array_intersect( $plugin_filenames, $predefined_plugins );
153
+
154
+ // Check if we have a match, if so, lets fire up out nifty slide.
155
+ if ( ! empty( $we_have_addon ) ) {
156
+ add_filter( 'wsal_wizard_default_steps', array( $this, 'wsal_add_wizard_step' ) );
157
+ }
158
+
159
  /**
160
  * Wizard Steps.
161
  */
227
  /**
228
  * Enqueue Scripts.
229
  */
230
+ wp_register_script(
231
+ 'wsal-wizard-js',
232
+ $this->wsal->GetBaseUrl() . '/js/dist/wsal-wizard.min.js',
233
+ array( ),
234
+ filemtime( $this->wsal->GetBaseDir() . 'js/dist/wsal-wizard.min.js' ),
235
+ false
236
+ );
237
+
238
  wp_register_script(
239
+ 'wsal-common',
240
+ $this->wsal->GetBaseUrl() . '/js/common.js',
241
+ array( 'jquery' ),
242
+ filemtime( $this->wsal->GetBaseDir() . '/js/common.js' ),
243
+ true
244
+ );
245
 
246
  // Data array.
247
  $data_array = array(
253
  );
254
  wp_localize_script( 'wsal-wizard-js', 'wsalData', $data_array );
255
 
256
+ $installer_script_data = array(
257
+ 'ajaxURL' => admin_url( 'admin-ajax.php' ),
258
+ 'installing' => __( 'Installing, please wait', 'wp-security-audit-log' ),
259
+ 'already_installed' => __( 'Already installed', 'wp-security-audit-log' ),
260
+ 'installed' => __( 'Add-on installed', 'wp-security-audit-log' ),
261
+ 'activated' => __( 'Add-on activated', 'wp-security-audit-log' ),
262
+ 'failed' => __( 'Install failed', 'wp-security-audit-log' ),
263
+ );
264
+ wp_localize_script( 'wsal-common', 'wsalCommonData', $installer_script_data );
265
+
266
+
267
  /**
268
  * Save Wizard Settings.
269
  */
291
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
292
  <title><?php esc_html_e( 'WP Security Audit Log &rsaquo; Setup Wizard', 'wp-security-audit-log' ); ?></title>
293
  <?php wp_print_scripts( 'wsal-wizard-js' ); ?>
294
+ <?php wp_print_scripts( 'wsal-common' ); ?>
295
+
296
  <?php do_action( 'admin_print_styles' ); ?>
297
  <?php do_action( 'admin_head' ); ?>
298
  </head>
712
  switch ( $pruning_limit ) {
713
  case '6':
714
  // 6 months.
715
+ $this->wsal->options_helper->set_option_value( 'pruning-date-e', true );
716
+ $this->wsal->options_helper->set_option_value( 'pruning-date', $pruning_limit . ' months' );
717
  break;
718
 
719
  case '12':
720
  // 12 months.
721
+ $this->wsal->options_helper->set_option_value( 'pruning-date-e', true );
722
+ $this->wsal->options_helper->set_option_value( 'pruning-date', $pruning_limit . ' months' );
723
  break;
724
 
725
  case 'none':
726
  // None.
727
+ $this->wsal->options_helper->set_option_value( 'pruning-date-e', false );
728
  break;
729
 
730
  default:
800
  wp_safe_redirect( esc_url_raw( $this->get_next_step() ) );
801
  exit();
802
  }
803
+
804
+ /**
805
+ * 3rd Party plugins
806
+ */
807
+ function wsal_add_wizard_step( $wizard_steps ) {
808
+ $new_wizard_steps = array(
809
+ 'test' => array(
810
+ 'name' => __( 'Third Party Add-ons', 'wp-security-audit-log' ),
811
+ 'content' => array( $this, 'addons_step' ),
812
+ 'save' => array( $this, 'addons_step_save' ),
813
+ ),
814
+ );
815
+
816
+ // Count number of items in the array.
817
+ $number_of_steps = count( $wizard_steps );
818
+ // Subtract 1, as we want to insert our step one before the last item.
819
+ $number_of_steps = $number_of_steps - 1;
820
+
821
+ // Slice the steps up, so we have 2 parts we can insert our slide between.
822
+ $first_part = array_slice( $wizard_steps, 0, $number_of_steps, true );
823
+ $last_part = array_slice( $wizard_steps, -1, 1, true );
824
+
825
+ // combine the two arrays.
826
+ $wizard_steps = $first_part + $new_wizard_steps + $last_part;
827
+
828
+ return $wizard_steps;
829
+ }
830
+
831
+ private function addons_step() {
832
+ $our_plugins = WSAL_PluginInstallAndActivate::get_installable_plugins();
833
+ ?>
834
+ <form method="post" class="wsal-setup-form">
835
+ <?php wp_nonce_field( 'wsal-step-addon' ); ?>
836
+ <h4><?php esc_html_e( 'Monitoring changes done in third party plugins', 'wp-security-audit-log' ); ?></h4>
837
+ <p><?php esc_html_e( 'We noticed that the below plugins are installed on this website. You can install our add-ons to also keep a log of changes users do on these plugins.', 'wp-security-audit-log' ); ?></p>
838
+ <?php
839
+ // Create a nonce to pass through via data attr.
840
+ $nonce = wp_create_nonce( 'wsal-install-addon' );
841
+ // Loop through plugins and output.
842
+ foreach ( $our_plugins as $details ) {
843
+ $disable_button = '';
844
+ if ( is_plugin_active( $details['plugin_slug'] ) ) {
845
+ $disable_button = 'disabled';
846
+ }
847
+ ?>
848
+
849
+ <div class="addon-wrapper">
850
+ <img src="<?php echo esc_url( trailingslashit( WSAL_BASE_URL ) . 'img/addons/' . $details['image_filename'] ); ?>">
851
+ <div class="addon-content">
852
+ <h5><?php esc_html_e( 'Add-on for ', 'wp-security-audit-log' ); ?><?php echo esc_html( $details['title'] ); ?></h5>
853
+ <p><?php echo sanitize_text_field( $details['plugin_description'] ); ?></p>
854
+ <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'] ); ?>">
855
+ <?php
856
+ if ( WSAL_PluginInstallAndActivate::is_plugin_installed( $details['plugin_slug'] ) && ! is_plugin_active( $details['plugin_slug'] ) ) {
857
+ esc_html_e( 'Add-on installed, activate now?', 'wp-security-audit-log' );
858
+ } elseif ( WSAL_PluginInstallAndActivate::is_plugin_installed( $details['plugin_slug'] ) && is_plugin_active( $details['plugin_slug'] ) ) {
859
+ esc_html_e( 'Add-on installed', 'wp-security-audit-log' );
860
+ } else {
861
+ esc_html_e( 'Install Add-on', 'wp-security-audit-log' );
862
+ }
863
+ ?>
864
+ </button><span class="spinner" style="display: none; visibility: visible; float: none; margin: 0 0 0 8px;"></span></p>
865
+ </div>
866
+ </div>
867
+ <?php
868
+ }
869
+ ?>
870
+ <div class="wsal-setup-actions">
871
+ <button class="button button-primary"
872
+ type="submit"
873
+ name="save_step"
874
+ value="<?php esc_attr_e( 'Next', 'wp-security-audit-log' ); ?>">
875
+ <?php esc_html_e( 'Next', 'wp-security-audit-log' ); ?>
876
+ </button>
877
+ </div>
878
+ </form>
879
+ <?php
880
+ }
881
+
882
+ /**
883
+ * Step Save: `Addons`
884
+ */
885
+ private function addons_step_save() {
886
+ // Check nonce.
887
+ check_admin_referer( 'wsal-step-addon' );
888
+
889
+ wp_safe_redirect( esc_url_raw( $this->get_next_step() ) );
890
+ exit();
891
+ }
892
+
893
  }
classes/Views/ToggleAlerts.php CHANGED
@@ -180,7 +180,7 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
180
  }
181
  }
182
 
183
- $disabled_events = $this->_plugin->GetGlobalOption( 'disabled-alerts' ); // Get disabled events.
184
  $disabled_events = explode( ',', $disabled_events );
185
  $events_diff = array_diff( $disabled_events, $this->_plugin->settings->geek_alerts ); // Calculate the difference of events.
186
  $events_diff = array_filter( $events_diff ); // Remove empty values.
@@ -188,7 +188,7 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
188
  $log_details = $this->_plugin->GetGlobalOption( 'details-level', false ); // Get log level option.
189
 
190
  $subcat_alerts = array( 1004, 2010, 2111, 9007, 9047 );
191
- $obsolete_events = array( 9999, 2126, 6023, 9011, 9070, 9075 );
192
  ?>
193
  <p>
194
  <form method="post" id="wsal-alerts-level">
@@ -288,17 +288,6 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
288
  if ( ! is_multisite() ) {
289
  $disabled = 'disabled';
290
  }
291
- } elseif ( 'bbPress User Profiles' === $subname ) {
292
- // Check if BBPress plugin exists.
293
- if ( ! WpSecurityAuditLog::is_bbpress_active() ) {
294
- $disabled = 'disabled';
295
- }
296
- }
297
- break;
298
- case 'bbPress Forums':
299
- // Check if BBPress plugin exists.
300
- if ( ! WpSecurityAuditLog::is_bbpress_active() ) {
301
- $disabled = 'disabled';
302
  }
303
  break;
304
 
@@ -345,19 +334,6 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
345
  <p class="wsal-tab-help description"><?php echo wp_kses( __( '<strong>Note:</strong> Post refers to any type of content, i.e. blog post, page or a post with a custom post type.', 'wp-security-audit-log' ), $this->_plugin->allowed_html_tags ); ?></p>
346
  </td>
347
  </tr>
348
- <?php elseif ( __( 'BBPress Forum', 'wp-security-audit-log' ) === $subname ) : ?>
349
- <?php if ( ! empty( $disabled ) ) : ?>
350
- <tr>
351
- <td colspan="4">
352
- <p class="wsal-tab-help wsal-tab-notice description"><?php esc_html_e( 'The plugin BBPress is not installed on your website so these events have been disabled.', 'wp-security-audit-log' ); ?></p>
353
- </td>
354
- </tr>
355
- <?php endif; ?>
356
- <tr>
357
- <td colspan="4">
358
- <h3 class="sub-category"><?php esc_html_e( 'Forums', 'wp-security-audit-log' ); ?></h3>
359
- </td>
360
- </tr>
361
  <?php elseif ( __( 'WooCommerce', 'wp-security-audit-log' ) === $subname || __( 'WooCommerce Products', 'wp-security-audit-log' ) === $subname ) : ?>
362
  <?php if ( ! empty( $disabled ) ) : ?>
363
  <tr>
180
  }
181
  }
182
 
183
+ $disabled_events = $this->_plugin->options_helper->get_option_value( 'disabled-alerts' ); // Get disabled events.
184
  $disabled_events = explode( ',', $disabled_events );
185
  $events_diff = array_diff( $disabled_events, $this->_plugin->settings->geek_alerts ); // Calculate the difference of events.
186
  $events_diff = array_filter( $events_diff ); // Remove empty values.
188
  $log_details = $this->_plugin->GetGlobalOption( 'details-level', false ); // Get log level option.
189
 
190
  $subcat_alerts = array( 1004, 2010, 2111, 9007, 9047 );
191
+ $obsolete_events = array( 9999, 2126, 6023, 9011, 9070, 9075, 4013 );
192
  ?>
193
  <p>
194
  <form method="post" id="wsal-alerts-level">
288
  if ( ! is_multisite() ) {
289
  $disabled = 'disabled';
290
  }
 
 
 
 
 
 
 
 
 
 
 
291
  }
292
  break;
293
 
334
  <p class="wsal-tab-help description"><?php echo wp_kses( __( '<strong>Note:</strong> Post refers to any type of content, i.e. blog post, page or a post with a custom post type.', 'wp-security-audit-log' ), $this->_plugin->allowed_html_tags ); ?></p>
335
  </td>
336
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
337
  <?php elseif ( __( 'WooCommerce', 'wp-security-audit-log' ) === $subname || __( 'WooCommerce Products', 'wp-security-audit-log' ) === $subname ) : ?>
338
  <?php if ( ! empty( $disabled ) ) : ?>
339
  <tr>
classes/WidgetManager.php CHANGED
@@ -62,14 +62,8 @@ class WSAL_WidgetManager {
62
  * Method: Render widget.
63
  */
64
  public function render_widget() {
65
- $query = new WSAL_Models_OccurrenceQuery();
66
-
67
- $bid = (int) $this->get_view_site_id();
68
- if ( $bid ) {
69
- $query->addCondition( 'site_id = %s ', $bid );
70
- }
71
- $query->addOrderBy( 'created_on', true );
72
- $query->setLimit( $this->_plugin->settings->GetDashboardWidgetMaxAlerts() );
73
  $results = $query->getAdapter()->Execute( $query );
74
 
75
  ?><div>
@@ -105,6 +99,27 @@ class WSAL_WidgetManager {
105
  <?php
106
  }
107
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  /**
109
  * Method: Get view site id.
110
  */
62
  * Method: Render widget.
63
  */
64
  public function render_widget() {
65
+ // get the events for the dashboard widget.
66
+ $query = $this->get_dashboard_widget_query();
 
 
 
 
 
 
67
  $results = $query->getAdapter()->Execute( $query );
68
 
69
  ?><div>
99
  <?php
100
  }
101
 
102
+ /**
103
+ * Gets the query for the events displayed in the dashboard widget.
104
+ *
105
+ * @method get_dashboard_widget_query
106
+ * @since 4.0.3
107
+ * @return WSAL_Models_OccurrenceQuery
108
+ */
109
+ public function get_dashboard_widget_query() {
110
+ $query = new WSAL_Models_OccurrenceQuery();
111
+ // get the site we are on (of multisite).
112
+ $bid = (int) $this->get_view_site_id();
113
+ if ( $bid ) {
114
+ $query->addCondition( 'site_id = %s ', $bid );
115
+ }
116
+ // order by date of creation.
117
+ $query->addOrderBy( 'created_on', true );
118
+ // set the limit based on the limit option for dashboard alerts.
119
+ $query->setLimit( $this->_plugin->settings->GetDashboardWidgetMaxAlerts() );
120
+ return $query;
121
+ }
122
+
123
  /**
124
  * Method: Get view site id.
125
  */
css/auditlog.css CHANGED
@@ -59,7 +59,7 @@ td.code.column-code a{
59
  }
60
 
61
  .column-object {
62
- width: 135px;
63
  }
64
 
65
  .column-event_type {
59
  }
60
 
61
  .column-object {
62
+ width: 150px;
63
  }
64
 
65
  .column-event_type {
css/dist/wsal-wizard.build.css CHANGED
@@ -171,3 +171,35 @@ body {
171
  p.description {
172
  font-size: 13px;
173
  font-style: italic; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
  p.description {
172
  font-size: 13px;
173
  font-style: italic; }
174
+
175
+ /* Addons */
176
+ .addon-wrapper {
177
+ width: auto;
178
+ border: 1px solid #ccc;
179
+ border-radius: 4px;
180
+ padding: 15px;
181
+ float: left;
182
+ display: flex;
183
+ margin-top: 15px;
184
+ }
185
+
186
+ .addon-wrapper:hover {
187
+ border-color: #BDD63A;
188
+ }
189
+
190
+ .addon-wrapper img {
191
+ max-width: 170px;
192
+ margin-right: 15px;
193
+ align-self: center;
194
+ }
195
+
196
+ .addon-content h5 {
197
+ margin-top: 0;
198
+ margin-bottom: 10px;
199
+ }
200
+
201
+
202
+ .addon-wrapper + .wsal-setup-actions {
203
+ clear: both;
204
+ border-top: 30px solid #fff;
205
+ }
defaults.php CHANGED
@@ -19,10 +19,6 @@ if ( ! class_exists( 'WpSecurityAuditLog' ) ) {
19
 
20
  // Define custom / new PHP constants.
21
  defined( 'E_CRITICAL' ) || define( 'E_CRITICAL', 'E_CRITICAL' );
22
- defined( 'E_DEBUG' ) || define( 'E_DEBUG', 'E_DEBUG' );
23
- defined( 'E_RECOVERABLE_ERROR' ) || define( 'E_RECOVERABLE_ERROR', 'E_RECOVERABLE_ERROR' );
24
- defined( 'E_DEPRECATED' ) || define( 'E_DEPRECATED', 'E_DEPRECATED' );
25
- defined( 'E_USER_DEPRECATED' ) || define( 'E_USER_DEPRECATED', 'E_USER_DEPRECATED' );
26
 
27
  /**
28
  * Load Custom Alerts from uploads/wp-security-audit-log/custom-alerts.php if exists
@@ -79,81 +75,6 @@ function wsaldefaults_wsal_init() {
79
  $wsal->alerts = new WSAL_AlertManager( $wsal );
80
  }
81
 
82
- $wsal->constants->UseConstants(
83
- array(
84
- // Default PHP constants.
85
- array(
86
- 'name' => 'E_ERROR',
87
- 'description' => __( 'Fatal run-time error.', 'wp-security-audit-log' ),
88
- ),
89
- array(
90
- 'name' => 'E_WARNING',
91
- 'description' => __( 'Run-time warning (non-fatal error).', 'wp-security-audit-log' ),
92
- ),
93
- array(
94
- 'name' => 'E_PARSE',
95
- 'description' => __( 'Compile-time parse error.', 'wp-security-audit-log' ),
96
- ),
97
- array(
98
- 'name' => 'E_NOTICE',
99
- 'description' => __( 'Run-time notice.', 'wp-security-audit-log' ),
100
- ),
101
- array(
102
- 'name' => 'E_CORE_ERROR',
103
- 'description' => __( 'Fatal error that occurred during startup.', 'wp-security-audit-log' ),
104
- ),
105
- array(
106
- 'name' => 'E_CORE_WARNING',
107
- 'description' => __( 'Warnings that occurred during startup.', 'wp-security-audit-log' ),
108
- ),
109
- array(
110
- 'name' => 'E_COMPILE_ERROR',
111
- 'description' => __( 'Fatal compile-time error.', 'wp-security-audit-log' ),
112
- ),
113
- array(
114
- 'name' => 'E_COMPILE_WARNING',
115
- 'description' => __( 'Compile-time warning.', 'wp-security-audit-log' ),
116
- ),
117
- array(
118
- 'name' => 'E_USER_ERROR',
119
- 'description' => __( 'User-generated error message.', 'wp-security-audit-log' ),
120
- ),
121
- array(
122
- 'name' => 'E_USER_WARNING',
123
- 'description' => __( 'User-generated warning message.', 'wp-security-audit-log' ),
124
- ),
125
- array(
126
- 'name' => 'E_USER_NOTICE',
127
- 'description' => __( 'User-generated notice message.', 'wp-security-audit-log' ),
128
- ),
129
- array(
130
- 'name' => 'E_STRICT',
131
- 'description' => __( 'Non-standard/optimal code warning.', 'wp-security-audit-log' ),
132
- ),
133
- array(
134
- 'name' => 'E_RECOVERABLE_ERROR',
135
- 'description' => __( 'Catchable fatal error.', 'wp-security-audit-log' ),
136
- ),
137
- array(
138
- 'name' => 'E_DEPRECATED',
139
- 'description' => __( 'Run-time deprecation notices.', 'wp-security-audit-log' ),
140
- ),
141
- array(
142
- 'name' => 'E_USER_DEPRECATED',
143
- 'description' => __( 'Run-time user deprecation notices.', 'wp-security-audit-log' ),
144
- ),
145
- // Custom constants.
146
- array(
147
- 'name' => 'E_CRITICAL',
148
- 'description' => __( 'Critical, high-impact messages.', 'wp-security-audit-log' ),
149
- ),
150
- array(
151
- 'name' => 'E_DEBUG',
152
- 'description' => __( 'Debug informational messages.', 'wp-security-audit-log' ),
153
- ),
154
- )
155
- );
156
-
157
  $wsal->constants->AddConstant( 'WSAL_CRITICAL', 1, __( 'Critical severity events.', 'wp-security-audit-log' ) );
158
  $wsal->constants->AddConstant( 'WSAL_HIGH', 6, __( 'High severity events.', 'wp-security-audit-log' ) );
159
  $wsal->constants->AddConstant( 'WSAL_MEDIUM', 10, __( 'Medium severity events.', 'wp-security-audit-log' ) );
@@ -185,7 +106,7 @@ function wsaldefaults_wsal_init() {
185
  array( 2001, WSAL_LOW, __( 'User published a post', 'wp-security-audit-log' ), __( 'Published the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'published' ),
186
  array( 2002, WSAL_LOW, __( 'User modified a post', 'wp-security-audit-log' ), __( 'Modified the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
187
  array( 2008, WSAL_MEDIUM, __( 'User permanently deleted a post from the trash', 'wp-security-audit-log' ), __( 'Permanently deleted the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType%', 'wp-security-audit-log' ), 'post', 'deleted' ),
188
- array( 2012, WSAL_MEDIUM, __( 'User moved a post to the trash', 'wp-security-audit-log' ), __( 'Moved the post %PostTitle% to trash %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'deleted' ),
189
  array( 2014, WSAL_LOW, __( 'User restored a post from trash', 'wp-security-audit-log' ), __( 'Restored the post %PostTitle% from trash %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'restored' ),
190
  array( 2017, WSAL_INFORMATIONAL, __( 'User changed post URL', 'wp-security-audit-log' ), __( 'Changed the URL of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous URL: %OldUrl% %LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
191
  array( 2019, WSAL_INFORMATIONAL, __( 'User changed post author', 'wp-security-audit-log' ), __( 'Changed the author of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous author: %OldAuthor% %LineBreak% New author: %NewAuthor% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%.', 'wp-security-audit-log' ), 'post', 'modified' ),
@@ -222,7 +143,7 @@ function wsaldefaults_wsal_init() {
222
  array( 2023, WSAL_MEDIUM, __( 'User created new category', 'wp-security-audit-log' ), __( 'Created the category %CategoryName% %LineBreak% Slug: %Slug% %LineBreak% %CategoryLink%', 'wp-security-audit-log' ), 'category', 'created' ),
223
  array( 2024, WSAL_MEDIUM, __( 'User deleted category', 'wp-security-audit-log' ), __( 'Deleted the category %CategoryName% %LineBreak% Slug: %Slug%', 'wp-security-audit-log' ), 'category', 'deleted' ),
224
  array( 2052, WSAL_LOW, __( 'Changed the parent of a category', 'wp-security-audit-log' ), __( 'Changed the parent of the category %CategoryName% %LineBreak% Slug: %Slug% %LineBreak% Previous parent: %OldParent% %LineBreak% New parent: %NewParent% %LineBreak% %CategoryLink%', 'wp-security-audit-log' ), 'category', 'modified' ),
225
- array( 2127, WSAL_LOW, __( 'User changed category name', 'wp-security-audit-log' ), __( 'Changed the name of the category: %new_name% %LineBreak% Slug: %Slug% %LineBreak% Previous name: %old_name% %LineBreak% %cat_link%', 'wp-security-audit-log' ), 'category', 'modified' ),
226
  array( 2128, WSAL_LOW, __( 'User changed category slug', 'wp-security-audit-log' ), __( 'Changed the slug of the category: %CategoryName% %LineBreak% Previous slug: %old_slug% %LineBreak% New slug: %new_slug% %LineBreak% %cat_link%', 'wp-security-audit-log' ), 'category', 'modified' ),
227
  ),
228
 
@@ -230,7 +151,7 @@ function wsaldefaults_wsal_init() {
230
  array( 2053, WSAL_LOW, __( 'User created a custom field for a post', 'wp-security-audit-log' ), __( 'Created a new custom field called %MetaKey% in the post %PostTitle% %LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% %LineBreak% Custom field value: %MetaValue% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%', 'wp-security-audit-log' ), 'post', 'modified' ),
231
  array( 2054, WSAL_LOW, __( 'User updated a custom field value for a post', 'wp-security-audit-log' ), __( 'Modified the value of the custom field %MetaKey% in the post %PostTitle% %LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% %LineBreak% Previous custom field value: %MetaValueOld% %LineBreak% New custom field value: %MetaValueNew% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%.', 'wp-security-audit-log' ), 'custom-field', 'modified' ),
232
  array( 2055, WSAL_MEDIUM, __( 'User deleted a custom field from a post', 'wp-security-audit-log' ), __( 'Deleted the custom field %MetaKey% from the post %PostTitle% %LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'custom-field', 'deleted' ),
233
- array( 2062, WSAL_LOW, __( 'User updated a custom field name for a post', 'wp-security-audit-log' ), __( 'Old custom field name: %MetaKeyOld% %LineBreak% New custom field name: %MetaKeyNew% %LineBreak% Post: %PostTitle% %LineBreak% Post ID: %PostID% %LineBreak% Post Type:%PostType% %LineBreak% Post Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'custom-field', 'renamed' ),
234
  ),
235
 
236
  /**
@@ -389,10 +310,6 @@ function wsaldefaults_wsal_init() {
389
  array( 4011, WSAL_MEDIUM, __( 'User removed from site', 'wp-security-audit-log' ), __( 'Removed user %TargetUsername% from site: %SiteName% %LineBreak% Previous role: %TargetUserRole% %LineBreak% First name: %FirstName% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'modified' ),
390
  array( 4012, WSAL_CRITICAL, __( 'New network user created', 'wp-security-audit-log' ), __( 'Created a new network user %NewUserData->Username% %LineBreak% First name: %NewUserData->FirstName% %LineBreak% Last name: %NewUserData->LastName% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'created' ),
391
  ),
392
-
393
- __( 'bbPress User Profiles', 'wp-security-audit-log' ) => array(
394
- array( 4013, WSAL_LOW, __( 'The forum role of a user was changed by another WordPress user', 'wp-security-audit-log' ), __( 'Change the forum role of user %TargetUsername% %LineBreak% Previous role: %OldRole% %LineBreak% New role: %NewRole% %LineBreak% First name: %FirstName% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'modified' ),
395
- ),
396
  ),
397
 
398
  __( 'Plugins & Themes', 'wp-security-audit-log' ) => array(
@@ -486,40 +403,6 @@ function wsaldefaults_wsal_init() {
486
  ),
487
  ),
488
 
489
- __( 'bbPress Forums', 'wp-security-audit-log' ) => array(
490
- __( 'Forums', 'wp-security-audit-log' ) => array(
491
- array( 8000, WSAL_INFORMATIONAL, __( 'User created new forum', 'wp-security-audit-log' ), __( 'New forum called %ForumName% %LineBreak% %EditorLinkForum%', 'wp-security-audit-log' ), 'bbpress-forum', 'created' ),
492
- array( 8001, WSAL_MEDIUM, __( 'User changed status of a forum', 'wp-security-audit-log' ), __( 'Changed the status of the forum %ForumName% %LineBreak% Previous Status: %OldStatus% %LineBreak% New Status: %NewStatus% %LineBreak% %EditorLinkForum%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
493
- array( 8002, WSAL_MEDIUM, __( 'User changed visibility of a forum', 'wp-security-audit-log' ), __( 'Changed the visibility of the forum %ForumName% %LineBreak% Previous visibility: %OldVisibility% %LineBreak% New visibility: %NewVisibility% %LineBreak% %EditorLinkForum%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
494
- array( 8003, WSAL_LOW, __( 'User changed the URL of a forum', 'wp-security-audit-log' ), __( 'Changed the URL of the forum %ForumName% %LineBreak% Previous URL: %OldUrl% %LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkForum%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
495
- array( 8004, WSAL_INFORMATIONAL, __( 'User changed order of a forum', 'wp-security-audit-log' ), __( 'Changed the sorting order of the forum %ForumName% %LineBreak% Previous sorting order: %OldOrder% %LineBreak% New sorting order: %NewOrder% %LineBreak% %EditorLinkForum%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
496
- array( 8005, WSAL_HIGH, __( 'User moved forum to trash', 'wp-security-audit-log' ), __( 'Moved the forum %ForumName% to trash', 'wp-security-audit-log' ), 'bbpress-forum', 'deleted' ),
497
- array( 8006, WSAL_HIGH, __( 'User permanently deleted forum', 'wp-security-audit-log' ), __( 'Permanently deleted the forum %ForumName%', 'wp-security-audit-log' ), 'bbpress-forum', 'deleted' ),
498
- array( 8007, WSAL_HIGH, __( 'User restored forum from trash', 'wp-security-audit-log' ), __( 'Restored the forum %ForumName% from trash', 'wp-security-audit-log' ), 'bbpress-forum', 'restored' ),
499
- array( 8008, WSAL_LOW, __( 'User changed the parent of a forum', 'wp-security-audit-log' ), __( 'Changed the parent of the forum %ForumName% %LineBreak% Previous parent: %OldParent% %LineBreak% New parent: %NewParent% %LineBreak% %EditorLinkForum%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
500
- array( 8011, WSAL_LOW, __( 'User changed type of a forum', 'wp-security-audit-log' ), __( 'Changed the type of the forum %ForumName% %LineBreak% Previous type: %OldType% %LineBreak% New type: %NewType% %LineBreak% %EditorLinkForum%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
501
- ),
502
-
503
- __( 'bbPress Forum Topics', 'wp-security-audit-log' ) => array(
504
- array( 8014, WSAL_INFORMATIONAL, __( 'User created new topic', 'wp-security-audit-log' ), __( 'New topic called %TopicName% %LineBreak% %EditorLinkTopic%', 'wp-security-audit-log' ), 'bbpress-forum', 'created' ),
505
- array( 8015, WSAL_INFORMATIONAL, __( 'User changed status of a topic', 'wp-security-audit-log' ), __( 'Changed the status of the topic %TopicName% %LineBreak% Previous status: %OldStatus% %LineBreak% New status: %NewStatus% %LineBreak% %EditorLinkTopic%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
506
- array( 8016, WSAL_INFORMATIONAL, __( 'User changed type of a topic', 'wp-security-audit-log' ), __( 'Changed the type of the topic %TopicName% %LineBreak% Previous type: %OldType% %LineBreak% New type: %NewType% %LineBreak% %EditorLinkTopic%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
507
- array( 8017, WSAL_INFORMATIONAL, __( 'User changed URL of a topic', 'wp-security-audit-log' ), __( 'Changed the URL of the topic %TopicName% %LineBreak% Previous URL: %OldUrl% %LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkTopic%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
508
- array( 8018, WSAL_INFORMATIONAL, __( 'User changed the forum of a topic', 'wp-security-audit-log' ), __( 'Changed the forum of the topic %TopicName% %LineBreak% Previous forum: %OldForum% %LineBreak% New forum: %NewForum% %LineBreak% %EditorLinkTopic%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
509
- array( 8019, WSAL_MEDIUM, __( 'User moved topic to trash', 'wp-security-audit-log' ), __( 'Moved the %TopicName% to trash', 'wp-security-audit-log' ), 'bbpress-forum', 'deleted' ),
510
- array( 8020, WSAL_MEDIUM, __( 'User permanently deleted topic', 'wp-security-audit-log' ), __( 'Permanently deleted the topic %TopicName%', 'wp-security-audit-log' ), 'bbpress-forum', 'deleted' ),
511
- array( 8021, WSAL_INFORMATIONAL, __( 'User restored topic from trash', 'wp-security-audit-log' ), __( 'Restored the topic %TopicName% from trash', 'wp-security-audit-log' ), 'bbpress-forum', 'restored' ),
512
- array( 8022, WSAL_LOW, __( 'User changed visibility of a topic', 'wp-security-audit-log' ), __( 'Changed the visibility of the topic %TopicName% %LineBreak% Previous visibility: %OldVisibility% %LineBreak% New visibility: %NewVisibility% %LineBreak% %EditorLinkTopic%', 'wp-security-audit-log' ), 'bbpress-forum', 'modified' ),
513
- ),
514
-
515
- __( 'bbPress Settings', 'wp-security-audit-log' ) => array(
516
- array( 8009, WSAL_HIGH, __( 'User changed forum\'s role', 'wp-security-audit-log' ), __( 'Changed the forum user\'s auto role %LineBreak% Previous role: %OldRole% %LineBreak% New role: %NewRole%', 'wp-security-audit-log' ), 'bbpress', 'modified' ),
517
- array( 8010, WSAL_CRITICAL, __( 'User changed option of a forum', 'wp-security-audit-log' ), __( 'The option for anonymous posting on the forums', 'wp-security-audit-log' ), 'bbpress', 'enabled' ),
518
- array( 8012, WSAL_MEDIUM, __( 'User changed time to disallow post editing', 'wp-security-audit-log' ), __( 'Changed the time to disallow post editing in the forums %LineBreak% Previous time: %OldTime% %LineBreak% New time: %NewTime%', 'wp-security-audit-log' ), 'bbpress', 'modified' ),
519
- array( 8013, WSAL_HIGH, __( 'User changed the forum setting posting throttle time', 'wp-security-audit-log' ), __( 'Changed the posting throttle time in the forums %LineBreak% Previous time: %OldTime% %LineBreak% New time: %NewTime%', 'wp-security-audit-log' ), 'bbpress', 'modified' ),
520
- ),
521
- ),
522
-
523
  __( 'Multisite Network Sites', 'wp-security-audit-log' ) => array(
524
  __( 'MultiSite', 'wp-security-audit-log' ) => array(
525
  array( 7000, WSAL_CRITICAL, __( 'New site added on the network', 'wp-security-audit-log' ), __( 'New site on the network: %SiteName% %LineBreak% URL: %BlogURL%', 'wp-security-audit-log' ), 'multisite-network', 'added' ),
@@ -534,7 +417,7 @@ function wsaldefaults_wsal_init() {
534
  __( 'WooCommerce', 'wp-security-audit-log' ) => array(
535
  __( 'Products', 'wp-security-audit-log' ) => array(
536
  array( 9000, WSAL_LOW, __( 'User created a new product', 'wp-security-audit-log' ), __( 'Created a new product called %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'created' ),
537
- array( 9001, WSAL_MEDIUM, __( 'User published a product', 'wp-security-audit-log' ), __( 'Published the product called %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'published' ),
538
  array( 9003, WSAL_LOW, __( 'User changed the category of a product', 'wp-security-audit-log' ), __( 'Changed the category of the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous categories: %OldCategories% %LineBreak% New categories: %NewCategories% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
539
  array( 9004, WSAL_INFORMATIONAL, __( 'User modified the short description of a product', 'wp-security-audit-log' ), __( 'Changed the short description of the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
540
  array( 9005, WSAL_LOW, __( 'User modified the text of a product', 'wp-security-audit-log' ), __( 'Changed the text of the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
@@ -567,9 +450,10 @@ function wsaldefaults_wsal_init() {
567
  array( 9044, WSAL_INFORMATIONAL, __( 'User changed the Allow Backorders setting of a product', 'wp-security-audit-log' ), __( 'Changed the Allow Backorders setting for the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous status: %OldStatus% %LineBreak% New status: %NewStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
568
  array( 9045, WSAL_MEDIUM, __( 'User added/removed products to upsell of a product', 'wp-security-audit-log' ), __( 'Products to Upsell in the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Product: %UpsellTitle% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'added' ),
569
  array( 9046, WSAL_MEDIUM, __( 'User added/removed products to cross-sells of a product', 'wp-security-audit-log' ), __( 'Product to Cross-sell in the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Product: %CrossSellTitle% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'added' ),
 
570
  array( 9047, WSAL_LOW, __( 'Added a new attribute of a product', 'wp-security-audit-log' ), __( 'A new attribute to the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: %AttributeName% %LineBreak% Attribute value: %AttributeValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'added' ),
571
  array( 9048, WSAL_LOW, __( 'Modified the value of an attribute of a product', 'wp-security-audit-log' ), __( 'Modified the value of an attribute in the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: %AttributeName% %LineBreak% Previous attribute value: %OldValue% %LineBreak% New attribute value: %NewValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
572
- array( 9049, WSAL_LOW, __( 'Changed the name of an attribute of a product', 'wp-security-audit-log' ), __( 'Changed the name of an attribute in the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous attribute name: %OldValue% %LineBreak% New attribute name: %NewValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
573
  array( 9050, WSAL_LOW, __( 'Deleted an attribute of a product', 'wp-security-audit-log' ), __( 'An attribute from the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: %AttributeName% %LineBreak% Attribute value: %AttributeValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'deleted' ),
574
  array( 9051, WSAL_LOW, __( 'Set the attribute visibility of a product', 'wp-security-audit-log' ), __( 'Changed the visibility of an attribute in the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: %AttributeName% %LineBreak% Attribute visibility: %AttributeVisiblilty% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
575
  ),
@@ -577,12 +461,22 @@ function wsaldefaults_wsal_init() {
577
  __( 'Store', 'wp-security-audit-log' ) => array(
578
  array( 9027, WSAL_HIGH, __( 'User changed the Weight Unit', 'wp-security-audit-log' ), __( 'Changed the weight unit of the store %LineBreak% Previous weight unit: %OldUnit% %LineBreak% New weight unit: %NewUnit%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
579
  array( 9028, WSAL_HIGH, __( 'User changed the Dimensions Unit', 'wp-security-audit-log' ), __( 'Changed the dimensions unit of the store %LineBreak% Previous dimensions unit: %OldUnit% %LineBreak% New dimensions unit: %NewUnit%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
580
- array( 9029, WSAL_HIGH, __( 'User changed the Base Location', 'wp-security-audit-log' ), __( 'Changed the base location %LineBreak% Previous location: %OldLocation% %LineBreak% New location: %NewLocation%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
581
- array( 9030, WSAL_HIGH, __( 'User enabled/disabled taxes', 'wp-security-audit-log' ), __( 'Taxes in the WooCommerce store', 'wp-security-audit-log' ), 'woocommerce-store', 'enabled' ),
582
  array( 9031, WSAL_HIGH, __( 'User changed the currency', 'wp-security-audit-log' ), __( 'Changed the currency of the store %LineBreak% Previous currency: %OldCurrency% %LineBreak% New currency: %NewCurrency%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
583
  array( 9032, WSAL_HIGH, __( 'User enabled/disabled the use of coupons during checkout', 'wp-security-audit-log' ), __( 'The use of coupons during checkout', 'wp-security-audit-log' ), 'woocommerce-store', 'enabled' ),
584
  array( 9033, WSAL_MEDIUM, __( 'User enabled/disabled guest checkout', 'wp-security-audit-log' ), __( 'Guest checkout in the store', 'wp-security-audit-log' ), 'woocommerce-store', 'enabled' ),
585
  array( 9034, WSAL_HIGH, __( 'User enabled/disabled cash on delivery', 'wp-security-audit-log' ), __( 'The option cash on delivery', 'wp-security-audit-log' ), 'woocommerce-store', 'enabled' ),
 
 
 
 
 
 
 
 
 
 
586
  ),
587
 
588
  __( 'Payment Gateways', 'wp-security-audit-log' ) => array(
@@ -600,12 +494,12 @@ function wsaldefaults_wsal_init() {
600
  ),
601
 
602
  __( 'WC Categories', 'wp-security-audit-log' ) => array(
603
- array( 9002, WSAL_INFORMATIONAL, __( 'User created a new product category', 'wp-security-audit-log' ), __( 'A new product category called %CategoryName% %LineBreak% Category slug is %Slug% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-store', 'created' ),
604
- array( 9052, WSAL_MEDIUM, __( 'User deleted a product category', 'wp-security-audit-log' ), __( 'The product category called %CategoryName% %LineBreak% Category slug: %CategorySlug%', 'wp-security-audit-log' ), 'woocommerce-store', 'deleted' ),
605
- array( 9053, WSAL_INFORMATIONAL, __( 'User changed the slug of a product category', 'wp-security-audit-log' ), __( 'Changed the slug of the product category called %CategoryName% %LineBreak% Previous category slug: %OldSlug% %LineBreak% New category slug: %NewSlug% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
606
- array( 9054, WSAL_MEDIUM, __( 'User changed the parent category of a product category', 'wp-security-audit-log' ), __( 'Changed the parent of the product category %CategoryName% %LineBreak% Category slug: %CategorySlug% Previous parent: %OldParentCat% %LineBreak% New parent: %NewParentCat% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
607
- array( 9055, WSAL_INFORMATIONAL, __( 'User changed the display type of a product category', 'wp-security-audit-log' ), __( 'Changed the display type of the product category %CategoryName% %LineBreak% %CategorySlug% %LineBreak% Previous display type: %OldDisplayType% %LineBreak% New display type: %NewDisplayType% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
608
- array( 9056, WSAL_LOW, __( 'User changed the name of a product category', 'wp-security-audit-log' ), __( 'Changed the name of the product category %CategoryName% %LineBreak% %CategorySlug% %LineBreak% Previous name: %OldName% %LineBreak% New name: %NewName% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
609
  ),
610
 
611
  __( 'Attributes', 'wp-security-audit-log' ) => array(
@@ -618,15 +512,15 @@ function wsaldefaults_wsal_init() {
618
  ),
619
 
620
  __( 'Coupons', 'wp-security-audit-log' ) => array(
621
- array( 9063, WSAL_LOW, __( 'User published a new coupon', 'wp-security-audit-log' ), __( 'Published a new coupon called %CouponName% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'published' ),
622
  array( 9064, WSAL_LOW, __( 'User changed the discount type of a coupon', 'wp-security-audit-log' ), __( 'Changed the Discount Type in coupon %CouponName% %LineBreak% Previous discount type: %OldDiscountType% %LineBreak% New discount type: %NewDiscountType% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
623
  array( 9065, WSAL_LOW, __( 'User changed the coupon amount of a coupon', 'wp-security-audit-log' ), __( 'Changed the Coupon amount in coupon %CouponName% %LineBreak% Previous amount: %OldAmount% %LineBreak% New amount: %NewAmount% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
624
  array( 9066, WSAL_LOW, __( 'User changed the coupon expire date of a coupon', 'wp-security-audit-log' ), __( 'Changed the expire date of the coupon %CouponName% %LineBreak% Previous date: %OldDate% %LineBreak% New date: %NewDate% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
625
  array( 9067, WSAL_LOW, __( 'User changed the usage restriction settings of a coupon', 'wp-security-audit-log' ), __( 'Changed the Usage Restriction of the coupon %CouponName% %LineBreak% Previous usage restriction: %OldMetaValue% %LineBreak% New usage restriction: %NewMetaValue% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
626
  array( 9068, WSAL_LOW, __( 'User changed the usage limits settings of a coupon', 'wp-security-audit-log' ), __( 'Changed the Usage Limits of the coupon %CouponName% %LineBreak% Previous usage limits: %OldMetaValue% %LineBreak% New usage limits: %NewMetaValue% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
627
- array( 9069, WSAL_INFORMATIONAL, __( 'User changed the description of a coupon', 'wp-security-audit-log' ), __( 'Changed the description of the coupon %CouponName% %LineBreak% Previous description: %OldDescription% %LineBreak% New description: %NewDescription% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
628
- array( 9070, E_WARNING, __( 'User changed the status of a coupon', 'wp-security-audit-log' ), __( 'Changed the Status of the WooCommerce coupon %CouponName% from %OldStatus% to %NewStatus%.', 'wp-security-audit-log' ), 'woocommerce-store' ),
629
- array( 9071, WSAL_INFORMATIONAL, __( 'User renamed a WooCommerce coupon', 'wp-security-audit-log' ), __( 'Old coupon name: %OldName% %LineBreak% New coupon name: %NewName% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'renamed' ),
630
  ),
631
 
632
  __( 'Orders', 'wp-security-audit-log' ) => array(
@@ -640,21 +534,21 @@ function wsaldefaults_wsal_init() {
640
  ),
641
 
642
  __( 'User Profile', 'wp-security-audit-log' ) => array(
643
- array( 9083, WSAL_INFORMATIONAL, __( 'User changed the billing address details', 'wp-security-audit-log' ), __( 'Changed the billing address details of the user %TargetUsername% %LineBreak% Role: %Roles% %LineBreak% Billing address field: %AddressField% %LineBreak% Previous value: %OldValue% %LineBreak% New value: %NewValue% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'modified' ),
644
- array( 9084, WSAL_INFORMATIONAL, __( 'User changed the shipping address details', 'wp-security-audit-log' ), __( 'Changed the shipping address details of the user %TargetUsername% %LineBreak% Role: %Roles% %LineBreak% Shipping address field: %AddressField% %LineBreak% Previous value: %OldValue% %LineBreak% New value: %NewValue% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'modified' ),
645
  ),
646
  ),
647
 
648
  __( 'Yoast SEO', 'wp-security-audit-log' ) => array(
649
  __( 'Post Changes', 'wp-security-audit-log' ) => array(
650
- array( 8801, WSAL_INFORMATIONAL, __( 'User changed title of a SEO post', 'wp-security-audit-log' ), __( 'Changed the Meta title of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous title: %OldSEOTitle% %LineBreak% New title: %NewSEOTitle% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
651
- array( 8802, WSAL_INFORMATIONAL, __( 'User changed the meta description of a SEO post', 'wp-security-audit-log' ), __( 'Changed the Meta Description of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous description: %old_desc% %LineBreak% New description: %new_desc% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
652
- array( 8803, WSAL_INFORMATIONAL, __( 'User changed setting to allow search engines to show post in search results of a SEO post', 'wp-security-audit-log' ), __( 'Changed the setting to allow search engines to show post in search results for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous setting: %OldStatus% %LineBreak% New setting: %NewStatus% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
653
- array( 8804, WSAL_INFORMATIONAL, __( 'User Enabled/Disabled the option for search engine to follow links of a SEO post', 'wp-security-audit-log' ), __( 'The option for search engine to follow links in post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'enabled' ),
654
- array( 8805, WSAL_LOW, __( 'User set the meta robots advanced setting of a SEO post', 'wp-security-audit-log' ), __( 'Changed the Meta Robots Advanced setting for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous setting: %OldStatus% %LineBreak% New setting: %NewStatus% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
655
- array( 8806, WSAL_INFORMATIONAL, __( 'User changed the canonical URL of a SEO post', 'wp-security-audit-log' ), __( 'Changed the Canonical URL of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous URL: %OldCanonicalUrl% %LineBreak% New URL: %NewCanonicalUrl% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
656
- array( 8807, WSAL_INFORMATIONAL, __( 'User changed the focus keyword of a SEO post', 'wp-security-audit-log' ), __( 'Changed the focus keyword for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous keyword: %old_keywords% %LineBreak% New keyword: %new_keywords% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
657
- array( 8808, WSAL_INFORMATIONAL, __( 'User Enabled/Disabled the option Cornerston Content of a SEO post', 'wp-security-audit-log' ), __( 'The option Cornerstone Content in the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'enabled' ),
658
  ),
659
 
660
  __( 'Website Changes', 'wp-security-audit-log' ) => array(
19
 
20
  // Define custom / new PHP constants.
21
  defined( 'E_CRITICAL' ) || define( 'E_CRITICAL', 'E_CRITICAL' );
 
 
 
 
22
 
23
  /**
24
  * Load Custom Alerts from uploads/wp-security-audit-log/custom-alerts.php if exists
75
  $wsal->alerts = new WSAL_AlertManager( $wsal );
76
  }
77
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  $wsal->constants->AddConstant( 'WSAL_CRITICAL', 1, __( 'Critical severity events.', 'wp-security-audit-log' ) );
79
  $wsal->constants->AddConstant( 'WSAL_HIGH', 6, __( 'High severity events.', 'wp-security-audit-log' ) );
80
  $wsal->constants->AddConstant( 'WSAL_MEDIUM', 10, __( 'Medium severity events.', 'wp-security-audit-log' ) );
106
  array( 2001, WSAL_LOW, __( 'User published a post', 'wp-security-audit-log' ), __( 'Published the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'published' ),
107
  array( 2002, WSAL_LOW, __( 'User modified a post', 'wp-security-audit-log' ), __( 'Modified the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
108
  array( 2008, WSAL_MEDIUM, __( 'User permanently deleted a post from the trash', 'wp-security-audit-log' ), __( 'Permanently deleted the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType%', 'wp-security-audit-log' ), 'post', 'deleted' ),
109
+ array( 2012, WSAL_MEDIUM, __( 'User moved a post to the trash', 'wp-security-audit-log' ), __( 'Moved the post %PostTitle% to trash %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished%', 'wp-security-audit-log' ), 'post', 'deleted' ),
110
  array( 2014, WSAL_LOW, __( 'User restored a post from trash', 'wp-security-audit-log' ), __( 'Restored the post %PostTitle% from trash %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'restored' ),
111
  array( 2017, WSAL_INFORMATIONAL, __( 'User changed post URL', 'wp-security-audit-log' ), __( 'Changed the URL of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous URL: %OldUrl% %LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'post', 'modified' ),
112
  array( 2019, WSAL_INFORMATIONAL, __( 'User changed post author', 'wp-security-audit-log' ), __( 'Changed the author of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous author: %OldAuthor% %LineBreak% New author: %NewAuthor% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%.', 'wp-security-audit-log' ), 'post', 'modified' ),
143
  array( 2023, WSAL_MEDIUM, __( 'User created new category', 'wp-security-audit-log' ), __( 'Created the category %CategoryName% %LineBreak% Slug: %Slug% %LineBreak% %CategoryLink%', 'wp-security-audit-log' ), 'category', 'created' ),
144
  array( 2024, WSAL_MEDIUM, __( 'User deleted category', 'wp-security-audit-log' ), __( 'Deleted the category %CategoryName% %LineBreak% Slug: %Slug%', 'wp-security-audit-log' ), 'category', 'deleted' ),
145
  array( 2052, WSAL_LOW, __( 'Changed the parent of a category', 'wp-security-audit-log' ), __( 'Changed the parent of the category %CategoryName% %LineBreak% Slug: %Slug% %LineBreak% Previous parent: %OldParent% %LineBreak% New parent: %NewParent% %LineBreak% %CategoryLink%', 'wp-security-audit-log' ), 'category', 'modified' ),
146
+ array( 2127, WSAL_LOW, __( 'User changed category name', 'wp-security-audit-log' ), __( 'Previous name: %old_name% %LineBreak% New name: %new_name% %LineBreak% Slug: %slug% %LineBreak% %cat_link%', 'wp-security-audit-log' ), 'category', 'renamed' ),
147
  array( 2128, WSAL_LOW, __( 'User changed category slug', 'wp-security-audit-log' ), __( 'Changed the slug of the category: %CategoryName% %LineBreak% Previous slug: %old_slug% %LineBreak% New slug: %new_slug% %LineBreak% %cat_link%', 'wp-security-audit-log' ), 'category', 'modified' ),
148
  ),
149
 
151
  array( 2053, WSAL_LOW, __( 'User created a custom field for a post', 'wp-security-audit-log' ), __( 'Created a new custom field called %MetaKey% in the post %PostTitle% %LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% %LineBreak% Custom field value: %MetaValue% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%', 'wp-security-audit-log' ), 'post', 'modified' ),
152
  array( 2054, WSAL_LOW, __( 'User updated a custom field value for a post', 'wp-security-audit-log' ), __( 'Modified the value of the custom field %MetaKey% in the post %PostTitle% %LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% %LineBreak% Previous custom field value: %MetaValueOld% %LineBreak% New custom field value: %MetaValueNew% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%.', 'wp-security-audit-log' ), 'custom-field', 'modified' ),
153
  array( 2055, WSAL_MEDIUM, __( 'User deleted a custom field from a post', 'wp-security-audit-log' ), __( 'Deleted the custom field %MetaKey% from the post %PostTitle% %LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'custom-field', 'deleted' ),
154
+ array( 2062, WSAL_LOW, __( 'User updated a custom field name for a post', 'wp-security-audit-log' ), __( 'Old custom field name: %MetaKeyOld% %LineBreak% New custom field name: %MetaKeyNew% %LineBreak% Post: %PostTitle% %LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'custom-field', 'renamed' ),
155
  ),
156
 
157
  /**
310
  array( 4011, WSAL_MEDIUM, __( 'User removed from site', 'wp-security-audit-log' ), __( 'Removed user %TargetUsername% from site: %SiteName% %LineBreak% Previous role: %TargetUserRole% %LineBreak% First name: %FirstName% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'modified' ),
311
  array( 4012, WSAL_CRITICAL, __( 'New network user created', 'wp-security-audit-log' ), __( 'Created a new network user %NewUserData->Username% %LineBreak% First name: %NewUserData->FirstName% %LineBreak% Last name: %NewUserData->LastName% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'created' ),
312
  ),
 
 
 
 
313
  ),
314
 
315
  __( 'Plugins & Themes', 'wp-security-audit-log' ) => array(
403
  ),
404
  ),
405
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
406
  __( 'Multisite Network Sites', 'wp-security-audit-log' ) => array(
407
  __( 'MultiSite', 'wp-security-audit-log' ) => array(
408
  array( 7000, WSAL_CRITICAL, __( 'New site added on the network', 'wp-security-audit-log' ), __( 'New site on the network: %SiteName% %LineBreak% URL: %BlogURL%', 'wp-security-audit-log' ), 'multisite-network', 'added' ),
417
  __( 'WooCommerce', 'wp-security-audit-log' ) => array(
418
  __( 'Products', 'wp-security-audit-log' ) => array(
419
  array( 9000, WSAL_LOW, __( 'User created a new product', 'wp-security-audit-log' ), __( 'Created a new product called %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'created' ),
420
+ array( 9001, WSAL_MEDIUM, __( 'User published a product', 'wp-security-audit-log' ), __( 'Published the product called %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'published' ),
421
  array( 9003, WSAL_LOW, __( 'User changed the category of a product', 'wp-security-audit-log' ), __( 'Changed the category of the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous categories: %OldCategories% %LineBreak% New categories: %NewCategories% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
422
  array( 9004, WSAL_INFORMATIONAL, __( 'User modified the short description of a product', 'wp-security-audit-log' ), __( 'Changed the short description of the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
423
  array( 9005, WSAL_LOW, __( 'User modified the text of a product', 'wp-security-audit-log' ), __( 'Changed the text of the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
450
  array( 9044, WSAL_INFORMATIONAL, __( 'User changed the Allow Backorders setting of a product', 'wp-security-audit-log' ), __( 'Changed the Allow Backorders setting for the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous status: %OldStatus% %LineBreak% New status: %NewStatus% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
451
  array( 9045, WSAL_MEDIUM, __( 'User added/removed products to upsell of a product', 'wp-security-audit-log' ), __( 'Products to Upsell in the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Product: %UpsellTitle% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'added' ),
452
  array( 9046, WSAL_MEDIUM, __( 'User added/removed products to cross-sells of a product', 'wp-security-audit-log' ), __( 'Product to Cross-sell in the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Product: %CrossSellTitle% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'added' ),
453
+ array( 9105, WSAL_LOW, __( 'System changed the stock quantity of a product', 'wp-security-audit-log' ), __( 'The stock quantity of the product %ProductTitle% was changed due to a purchase. %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous quantity: %OldValue% %LineBreak% New quantity: %NewValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
454
  array( 9047, WSAL_LOW, __( 'Added a new attribute of a product', 'wp-security-audit-log' ), __( 'A new attribute to the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: %AttributeName% %LineBreak% Attribute value: %AttributeValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'added' ),
455
  array( 9048, WSAL_LOW, __( 'Modified the value of an attribute of a product', 'wp-security-audit-log' ), __( 'Modified the value of an attribute in the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: %AttributeName% %LineBreak% Previous attribute value: %OldValue% %LineBreak% New attribute value: %NewValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
456
+ array( 9049, WSAL_LOW, __( 'Changed the name of an attribute of a product', 'wp-security-audit-log' ), __( 'Changed the name of an attribute in the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous attribute name: %OldValue% %LineBreak% New attribute name: %NewValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'renamed' ),
457
  array( 9050, WSAL_LOW, __( 'Deleted an attribute of a product', 'wp-security-audit-log' ), __( 'An attribute from the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: %AttributeName% %LineBreak% Attribute value: %AttributeValue% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'deleted' ),
458
  array( 9051, WSAL_LOW, __( 'Set the attribute visibility of a product', 'wp-security-audit-log' ), __( 'Changed the visibility of an attribute in the product %ProductTitle% %LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: %AttributeName% %LineBreak% Attribute visibility: %AttributeVisiblilty% %LineBreak% %EditorLinkProduct%', 'wp-security-audit-log' ), 'woocommerce-product', 'modified' ),
459
  ),
461
  __( 'Store', 'wp-security-audit-log' ) => array(
462
  array( 9027, WSAL_HIGH, __( 'User changed the Weight Unit', 'wp-security-audit-log' ), __( 'Changed the weight unit of the store %LineBreak% Previous weight unit: %OldUnit% %LineBreak% New weight unit: %NewUnit%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
463
  array( 9028, WSAL_HIGH, __( 'User changed the Dimensions Unit', 'wp-security-audit-log' ), __( 'Changed the dimensions unit of the store %LineBreak% Previous dimensions unit: %OldUnit% %LineBreak% New dimensions unit: %NewUnit%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
464
+ array( 9029, WSAL_HIGH, __( 'User changed the Base Location', 'wp-security-audit-log' ), __( 'Changed the base location %LineBreak% Previous address: %OldLocation% %LineBreak% New address: %NewLocation%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
465
+ array( 9030, WSAL_HIGH, __( 'User enabled/disabled taxes', 'wp-security-audit-log' ), __( 'Taxes in WooCommerce', 'wp-security-audit-log' ), 'woocommerce-store', 'enabled' ),
466
  array( 9031, WSAL_HIGH, __( 'User changed the currency', 'wp-security-audit-log' ), __( 'Changed the currency of the store %LineBreak% Previous currency: %OldCurrency% %LineBreak% New currency: %NewCurrency%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
467
  array( 9032, WSAL_HIGH, __( 'User enabled/disabled the use of coupons during checkout', 'wp-security-audit-log' ), __( 'The use of coupons during checkout', 'wp-security-audit-log' ), 'woocommerce-store', 'enabled' ),
468
  array( 9033, WSAL_MEDIUM, __( 'User enabled/disabled guest checkout', 'wp-security-audit-log' ), __( 'Guest checkout in the store', 'wp-security-audit-log' ), 'woocommerce-store', 'enabled' ),
469
  array( 9034, WSAL_HIGH, __( 'User enabled/disabled cash on delivery', 'wp-security-audit-log' ), __( 'The option cash on delivery', 'wp-security-audit-log' ), 'woocommerce-store', 'enabled' ),
470
+ array( 9085, WSAL_HIGH, __( 'User modified selling location(s)', 'wp-security-audit-log' ), __( 'The setting Selling location(s) %LineBreak% Old setting: %old% %LineBreak% New Setting: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
471
+ array( 9086, WSAL_HIGH, __( 'User modified excluded selling location(s)', 'wp-security-audit-log' ), __( 'Changed the list of excluded countries to sell to %LineBreak% Old setting: %old% %LineBreak% New Setting: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
472
+ array( 9087, WSAL_HIGH, __( 'User modified exclusive selling location(s)', 'wp-security-audit-log' ), __( 'Changed the list of countries to sell to %LineBreak% Old setting: %old% %LineBreak% New Setting: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
473
+ array( 9088, WSAL_HIGH, __( 'User modified shipping location(s)', 'wp-security-audit-log' ), __( 'The setting Shipping location(s) %LineBreak% Old setting: %old% %LineBreak% New Setting: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
474
+ array( 9089, WSAL_HIGH, __( 'User modified exclusive shipping location(s)', 'wp-security-audit-log' ), __( 'Changed the list of specific countries to ship to %LineBreak% Old setting: %old% %LineBreak% New Setting: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
475
+ array( 9090, WSAL_HIGH, __( 'User modified default customer location', 'wp-security-audit-log' ), __( 'The setting Default customer location %LineBreak% Old setting: %old% %LineBreak% New Setting: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
476
+ array( 9091, WSAL_HIGH, __( 'User modified the cart page', 'wp-security-audit-log' ), __( 'Changed the Cart Page %LineBreak% Old page: %old% %LineBreak% New page: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
477
+ array( 9092, WSAL_HIGH, __( 'User modified the checkout page', 'wp-security-audit-log' ), __( 'Changed the Checkout page %LineBreak% Old page: %old% %LineBreak% New page: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
478
+ array( 9093, WSAL_HIGH, __( 'User modified the my account page', 'wp-security-audit-log' ), __( 'Changed the My Account Page %LineBreak% Old page: %old% %LineBreak% New page: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
479
+ array( 9094, WSAL_HIGH, __( 'User modified the terms and conditions page', 'wp-security-audit-log' ), __( 'Changed the Terms and Conditions Page %LineBreak% Old page: %old% %LineBreak% New page: %new%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
480
  ),
481
 
482
  __( 'Payment Gateways', 'wp-security-audit-log' ) => array(
494
  ),
495
 
496
  __( 'WC Categories', 'wp-security-audit-log' ) => array(
497
+ array( 9002, WSAL_INFORMATIONAL, __( 'User created a new product category', 'wp-security-audit-log' ), __( 'A new product category called %CategoryName% %LineBreak% Category slug is %Slug% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-category', 'created' ),
498
+ array( 9052, WSAL_MEDIUM, __( 'User deleted a product category', 'wp-security-audit-log' ), __( 'The product category called %CategoryName% %LineBreak% Category slug: %CategorySlug%', 'wp-security-audit-log' ), 'woocommerce-category', 'deleted' ),
499
+ array( 9053, WSAL_INFORMATIONAL, __( 'User changed the slug of a product category', 'wp-security-audit-log' ), __( 'Changed the slug of the product category called %CategoryName% %LineBreak% Previous category slug: %OldSlug% %LineBreak% New category slug: %NewSlug% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-category', 'modified' ),
500
+ array( 9054, WSAL_MEDIUM, __( 'User changed the parent category of a product category', 'wp-security-audit-log' ), __( 'Changed the parent of the product category %CategoryName% %LineBreak% Category slug: %CategorySlug% %LineBreak% Previous parent: %OldParentCat% %LineBreak% New parent: %NewParentCat% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-category', 'modified' ),
501
+ array( 9055, WSAL_INFORMATIONAL, __( 'User changed the display type of a product category', 'wp-security-audit-log' ), __( 'Changed the display type of the product category %CategoryName% %LineBreak% %CategorySlug% %LineBreak% Previous display type: %OldDisplayType% %LineBreak% New display type: %NewDisplayType% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-category', 'modified' ),
502
+ array( 9056, WSAL_LOW, __( 'User changed the name of a product category', 'wp-security-audit-log' ), __( 'Previous name: %OldName% %LineBreak% New name: %NewName% %LineBreak% Category slug: %CategorySlug% %LineBreak% %ProductCatLink%', 'wp-security-audit-log' ), 'woocommerce-category', 'renamed' ),
503
  ),
504
 
505
  __( 'Attributes', 'wp-security-audit-log' ) => array(
512
  ),
513
 
514
  __( 'Coupons', 'wp-security-audit-log' ) => array(
515
+ array( 9063, WSAL_LOW, __( 'User published a new coupon', 'wp-security-audit-log' ), __( 'Published a new coupon called %CouponName% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-coupon', 'published' ),
516
  array( 9064, WSAL_LOW, __( 'User changed the discount type of a coupon', 'wp-security-audit-log' ), __( 'Changed the Discount Type in coupon %CouponName% %LineBreak% Previous discount type: %OldDiscountType% %LineBreak% New discount type: %NewDiscountType% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
517
  array( 9065, WSAL_LOW, __( 'User changed the coupon amount of a coupon', 'wp-security-audit-log' ), __( 'Changed the Coupon amount in coupon %CouponName% %LineBreak% Previous amount: %OldAmount% %LineBreak% New amount: %NewAmount% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
518
  array( 9066, WSAL_LOW, __( 'User changed the coupon expire date of a coupon', 'wp-security-audit-log' ), __( 'Changed the expire date of the coupon %CouponName% %LineBreak% Previous date: %OldDate% %LineBreak% New date: %NewDate% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
519
  array( 9067, WSAL_LOW, __( 'User changed the usage restriction settings of a coupon', 'wp-security-audit-log' ), __( 'Changed the Usage Restriction of the coupon %CouponName% %LineBreak% Previous usage restriction: %OldMetaValue% %LineBreak% New usage restriction: %NewMetaValue% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
520
  array( 9068, WSAL_LOW, __( 'User changed the usage limits settings of a coupon', 'wp-security-audit-log' ), __( 'Changed the Usage Limits of the coupon %CouponName% %LineBreak% Previous usage limits: %OldMetaValue% %LineBreak% New usage limits: %NewMetaValue% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-store', 'modified' ),
521
+ array( 9069, WSAL_INFORMATIONAL, __( 'User changed the description of a coupon', 'wp-security-audit-log' ), __( 'Changed the description of the coupon %CouponName% %LineBreak% Previous description: %OldDescription% %LineBreak% New description: %NewDescription% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-coupon', 'modified' ),
522
+ array( 9070, E_WARNING, __( 'User changed the status of a coupon', 'wp-security-audit-log' ), __( 'Changed the Status of the WooCommerce coupon %CouponName% from %OldStatus% to %NewStatus%.', 'wp-security-audit-log' ), 'woocommerce-coupon', 'modified' ),
523
+ array( 9071, WSAL_INFORMATIONAL, __( 'User renamed a WooCommerce coupon', 'wp-security-audit-log' ), __( 'Old coupon name: %OldName% %LineBreak% New coupon name: %NewName% %LineBreak% %EditorLinkCoupon%', 'wp-security-audit-log' ), 'woocommerce-coupon', 'renamed' ),
524
  ),
525
 
526
  __( 'Orders', 'wp-security-audit-log' ) => array(
534
  ),
535
 
536
  __( 'User Profile', 'wp-security-audit-log' ) => array(
537
+ array( 9083, WSAL_INFORMATIONAL, __( 'User changed the billing address details', 'wp-security-audit-log' ), __( 'Changed the billing address details of the user %TargetUsername% %LineBreak% Role: %Roles% %LineBreak% New Billing address: %NewValue% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'modified' ),
538
+ array( 9084, WSAL_INFORMATIONAL, __( 'User changed the shipping address details', 'wp-security-audit-log' ), __( 'Changed the shipping address details of the user %TargetUsername% %LineBreak% Role: %Roles% %LineBreak% New Shipping address: %NewValue% %LineBreak% %EditUserLink%', 'wp-security-audit-log' ), 'user', 'modified' ),
539
  ),
540
  ),
541
 
542
  __( 'Yoast SEO', 'wp-security-audit-log' ) => array(
543
  __( 'Post Changes', 'wp-security-audit-log' ) => array(
544
+ array( 8801, WSAL_INFORMATIONAL, __( 'User changed title of a SEO post', 'wp-security-audit-log' ), __( 'Changed the Meta title of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous title: %OldSEOTitle% %LineBreak% New title: %NewSEOTitle% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'yoast-seo-metabox', 'modified' ),
545
+ array( 8802, WSAL_INFORMATIONAL, __( 'User changed the meta description of a SEO post', 'wp-security-audit-log' ), __( 'Changed the Meta Description of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous description: %old_desc% %LineBreak% New description: %new_desc% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'yoast-seo-metabox', 'modified' ),
546
+ array( 8803, WSAL_INFORMATIONAL, __( 'User changed setting to allow search engines to show post in search results of a SEO post', 'wp-security-audit-log' ), __( 'Changed the setting to allow search engines to show post in search results for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous setting: %OldStatus% %LineBreak% New setting: %NewStatus% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'yoast-seo-metabox', 'modified' ),
547
+ array( 8804, WSAL_INFORMATIONAL, __( 'User Enabled/Disabled the option for search engine to follow links of a SEO post', 'wp-security-audit-log' ), __( 'The option for search engine to follow links in post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'yoast-seo-metabox', 'enabled' ),
548
+ array( 8805, WSAL_LOW, __( 'User set the meta robots advanced setting of a SEO post', 'wp-security-audit-log' ), __( 'Changed the Meta Robots Advanced setting for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous setting: %OldStatus% %LineBreak% New setting: %NewStatus% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'yoast-seo-metabox', 'modified' ),
549
+ array( 8806, WSAL_INFORMATIONAL, __( 'User changed the canonical URL of a SEO post', 'wp-security-audit-log' ), __( 'Changed the Canonical URL of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous URL: %OldCanonicalUrl% %LineBreak% New URL: %NewCanonicalUrl% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'yoast-seo-metabox', 'modified' ),
550
+ array( 8807, WSAL_INFORMATIONAL, __( 'User changed the focus keyword of a SEO post', 'wp-security-audit-log' ), __( 'Changed the focus keyword for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous keyword: %old_keywords% %LineBreak% New keyword: %new_keywords% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'yoast-seo-metabox', 'modified' ),
551
+ array( 8808, WSAL_INFORMATIONAL, __( 'User Enabled/Disabled the option Cornerston Content of a SEO post', 'wp-security-audit-log' ), __( 'The option Cornerstone Content in the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% %EditorLinkPost%', 'wp-security-audit-log' ), 'yoast-seo-metabox', 'enabled' ),
552
  ),
553
 
554
  __( 'Website Changes', 'wp-security-audit-log' ) => array(
img/help/wp-2fa-img.jpg ADDED
Binary file
js/auditlog.js CHANGED
@@ -456,6 +456,14 @@ function wsalLoadEvents( pageNumber ) {
456
  wsalLoadEventsResponse = false;
457
  jQuery( '#wsal-auditlog-end' ).show( 'fast' );
458
  }
 
 
 
 
 
 
 
 
459
  },
460
  error: function( xhr, textStatus, error ) {
461
  console.log( xhr.statusText );
@@ -497,6 +505,53 @@ jQuery( document ).ready( function() {
497
  });
498
  });
499
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
500
  /**
501
  * Load events for Infinite Scroll.
502
  *
@@ -514,3 +569,39 @@ jQuery( document ).ready( function() {
514
  });
515
  }
516
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
  wsalLoadEventsResponse = false;
457
  jQuery( '#wsal-auditlog-end' ).show( 'fast' );
458
  }
459
+
460
+ // need to bind a click handler to this button if any more have been added.
461
+ jQuery( '.wsal-addon-install-trigger' ).unbind( 'click' );
462
+ jQuery( '.wsal-addon-install-trigger' ).click(
463
+ function( e ) {
464
+ wsal_addon_installer_ajax( this );
465
+ }
466
+ );
467
  },
468
  error: function( xhr, textStatus, error ) {
469
  console.log( xhr.statusText );
505
  });
506
  });
507
 
508
+ /**
509
+ * Dismiss addon-available notice.
510
+ */
511
+ jQuery( '#wsal-notice-addon-available .notice-dismiss' ).click( function() {
512
+ jQuery.ajax({
513
+ type: 'POST',
514
+ url: ajaxurl,
515
+ async: true,
516
+ data: {
517
+ action: 'wsal_dismiss_notice_addon_available',
518
+ nonce: jQuery( '#wsal-dismiss-notice-addon-available' ).val()
519
+ },
520
+ success: function( data ) {
521
+ console.log( data );
522
+ },
523
+ error: function( xhr, textStatus, error ) {
524
+ console.log( xhr.statusText );
525
+ console.log( textStatus );
526
+ console.log( error );
527
+ }
528
+ });
529
+ });
530
+
531
+ /**
532
+ * Trigger to attempt to install a missing addon.
533
+ */
534
+ jQuery( '.wsal-addon-install-trigger' ).click(
535
+ function() {
536
+ var button = this;
537
+ wsal_addon_installer_ajax( button );
538
+ // disable this button.
539
+ jQuery( '.wsal-addon-install-trigger' ).attr( 'disabled', true );
540
+ jQuery( '.wsal-addon-install-trigger:not([data-addon-name="' + jQuery( this ).data( 'addon-name' ) + '"])' ).text( wsalAuditLogArgs.installAddonStrings.otherInstalling );
541
+ jQuery( button ).text( wsalAuditLogArgs.installAddonStrings.installingText );
542
+ spinner = document.createElement( 'span' );
543
+ jQuery( spinner ).addClass( 'spinner is-active' );
544
+ jQuery( spinner ).css(
545
+ {
546
+ 'float':'none',
547
+ 'margin': '0',
548
+ 'margin-left': '5px'
549
+ }
550
+ );
551
+ jQuery( button ).after( spinner );
552
+ }
553
+ );
554
+
555
  /**
556
  * Load events for Infinite Scroll.
557
  *
569
  });
570
  }
571
  });
572
+
573
+ function wsal_addon_installer_ajax( button ) {
574
+ jQuery.ajax(
575
+ {
576
+ type: 'POST',
577
+ url: ajaxurl,
578
+ async: true,
579
+ data: {
580
+ action: 'wsal_run_addon_install',
581
+ _wpnonce: jQuery( button ).data( 'nonce' ),
582
+ addon_for: jQuery( button ).data( 'addon-name' )
583
+ },
584
+ success: function( data ) {
585
+ console.log( data );
586
+ jQuery( button ).next( '.spinner' ).remove();
587
+ if ( data.success === 'undefined' || data.success === false ) {
588
+ jQuery( button ).after( wsalAuditLogArgs.installAddonStrings.errorInstalling );
589
+ } else {
590
+ jQuery( '.wsal-addon-install-trigger[data-addon-name="' + jQuery( button ).data( 'addon-name' ) + '"]' ).text( wsalAuditLogArgs.installAddonStrings.addonInstalled );
591
+ jQuery( '.wsal-addon-install-trigger:not([data-addon-name="' + jQuery( button ).data( 'addon-name' ) + '"])' ).attr( 'disabled', false );
592
+ jQuery( button ).text( wsalAuditLogArgs.installAddonStrings.installedReload );
593
+ jQuery( button ).attr( 'disabled', true );
594
+ location.reload();
595
+ }
596
+
597
+ },
598
+ error: function( xhr, textStatus, error ) {
599
+ jQuery( button ).after( wsalAuditLogArgs.installAddonStrings.errorInstalling );
600
+ jQuery( button ).next( '.spinner' ).remove();
601
+ console.log( xhr.statusText );
602
+ console.log( textStatus );
603
+ console.log( error );
604
+ }
605
+ }
606
+ );
607
+ }
js/common.js CHANGED
@@ -80,14 +80,18 @@ jQuery( document ).ready( function() {
80
  if( data.responseText == '"already_installed"' ) {
81
  jQuery(currentButton).html( wsalCommonData.already_installed ).addClass('disabled');
82
  jQuery(currentButton).next('.spinner').hide('200');
83
- window.location.href="admin.php?page=wsal-togglealerts" + RedirectToTab;
84
- jQuery('[href="' + RedirectToTab + '"]').trigger('click');
 
 
85
  jQuery(currentButton).addClass('disabled');
86
  } else if ( data.responseText == '"activated"' ) {
87
  jQuery(currentButton).html( wsalCommonData.activated ).addClass('disabled');
88
  jQuery(currentButton).next('.spinner').hide('200');
89
- window.location.href="admin.php?page=wsal-togglealerts" + RedirectToTab;
90
- jQuery('[href="' + RedirectToTab + '"]').trigger('click');
 
 
91
  jQuery(currentButton).addClass('disabled');
92
  } else if ( JSON.stringify(data.responseText).toLowerCase().indexOf('failed') >= 0 ) {
93
  jQuery(currentButton).html( wsalCommonData.failed ).addClass('disabled');
@@ -95,7 +99,9 @@ jQuery( document ).ready( function() {
95
  } else if ( data.responseText == '"success"' || JSON.stringify(data.responseText).toLowerCase().indexOf('success') >= 0 ) {
96
  jQuery(currentButton).html( wsalCommonData.installed ).addClass('disabled');
97
  jQuery(currentButton).next('.spinner').hide('200');
98
- window.location.href="admin.php?page=wsal-togglealerts" + RedirectToTab;
 
 
99
  // Reload as tabs are not present on page.
100
  location.reload();
101
  }
80
  if( data.responseText == '"already_installed"' ) {
81
  jQuery(currentButton).html( wsalCommonData.already_installed ).addClass('disabled');
82
  jQuery(currentButton).next('.spinner').hide('200');
83
+ if (typeof RedirectToTab !== 'undefined') {
84
+ window.location.href="admin.php?page=wsal-togglealerts" + RedirectToTab;
85
+ jQuery('[href="' + RedirectToTab + '"]').trigger('click');
86
+ }
87
  jQuery(currentButton).addClass('disabled');
88
  } else if ( data.responseText == '"activated"' ) {
89
  jQuery(currentButton).html( wsalCommonData.activated ).addClass('disabled');
90
  jQuery(currentButton).next('.spinner').hide('200');
91
+ if (typeof RedirectToTab !== 'undefined') {
92
+ window.location.href="admin.php?page=wsal-togglealerts" + RedirectToTab;
93
+ jQuery('[href="' + RedirectToTab + '"]').trigger('click');
94
+ }
95
  jQuery(currentButton).addClass('disabled');
96
  } else if ( JSON.stringify(data.responseText).toLowerCase().indexOf('failed') >= 0 ) {
97
  jQuery(currentButton).html( wsalCommonData.failed ).addClass('disabled');
99
  } else if ( data.responseText == '"success"' || JSON.stringify(data.responseText).toLowerCase().indexOf('success') >= 0 ) {
100
  jQuery(currentButton).html( wsalCommonData.installed ).addClass('disabled');
101
  jQuery(currentButton).next('.spinner').hide('200');
102
+ if (typeof RedirectToTab !== 'undefined') {
103
+ window.location.href="admin.php?page=wsal-togglealerts" + RedirectToTab;
104
+ }
105
  // Reload as tabs are not present on page.
106
  location.reload();
107
  }
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 Security Audit Log\n"
6
- "POT-Creation-Date: 2020-02-10 20:16+0100\n"
7
- "PO-Revision-Date: 2020-02-10 20:16+0100\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
@@ -22,268 +22,284 @@ msgstr ""
22
  "X-Poedit-SearchPathExcluded-0: *.min.js\n"
23
 
24
  #. translators: Event ID
25
- #: classes/AlertManager.php:364
26
  #, php-format
27
  msgid "Event with code %d has not be registered."
28
  msgstr ""
29
 
30
- #: classes/AlertManager.php:420
31
  #, php-format
32
  msgid "Event %s already registered with WP Security Audit Log."
33
  msgstr ""
34
 
35
- #: classes/AlertManager.php:464
36
  msgid ""
37
  "You have custom events that are using the same ID or IDs which are already "
38
  "registered in the plugin, so they have been disabled."
39
  msgstr ""
40
 
41
- #: classes/AlertManager.php:467
42
  #, php-format
43
  msgid "%4$s to help you solve this issue."
44
  msgstr ""
45
 
46
- #: classes/AlertManager.php:469
47
  msgid "ERROR:"
48
  msgstr ""
49
 
50
- #: classes/AlertManager.php:471
51
  msgid "Contact us"
52
  msgstr ""
53
 
54
- #: classes/AlertManager.php:1064 classes/AlertManager.php:1109
55
- #: classes/AuditLogListView.php:333 classes/AuditLogListView.php:367
56
- #: classes/Views/Settings.php:1204 classes/WidgetManager.php:82
57
  msgid "User"
58
  msgstr ""
59
 
60
- #: classes/AlertManager.php:1065 classes/AlertManager.php:1112
61
- #: classes/AlertManager.php:1969 classes/AuditLogGridView.php:516
62
- #: classes/AuditLogListView.php:543 defaults.php:437
63
  msgid "System"
64
  msgstr ""
65
 
66
- #: classes/AlertManager.php:1066 classes/AlertManager.php:1115
67
- #: classes/AuditLogGridView.php:507 classes/AuditLogListView.php:531
68
- #: classes/Views/Licensing.php:113 classes/Views/Licensing.php:153
69
  msgid "Plugin"
70
  msgstr ""
71
 
72
- #: classes/AlertManager.php:1067 classes/AlertManager.php:1118
73
  msgid "Database"
74
  msgstr ""
75
 
76
- #: classes/AlertManager.php:1068 classes/AlertManager.php:1121
77
  msgid "Post"
78
  msgstr ""
79
 
80
- #: classes/AlertManager.php:1069 classes/AlertManager.php:1073
81
- #: classes/AlertManager.php:1124 classes/AlertManager.php:1136
82
  msgid "File"
83
  msgstr ""
84
 
85
- #: classes/AlertManager.php:1070 classes/AlertManager.php:1127
86
  msgid "Tag"
87
  msgstr ""
88
 
89
- #: classes/AlertManager.php:1071 classes/AlertManager.php:1130
90
  msgid "Comment"
91
  msgstr ""
92
 
93
- #: classes/AlertManager.php:1072 classes/AlertManager.php:1133
94
  msgid "Setting"
95
  msgstr ""
96
 
97
- #: classes/AlertManager.php:1074 classes/AlertManager.php:1139
98
  msgid "System Setting"
99
  msgstr ""
100
 
101
- #: classes/AlertManager.php:1075 classes/AlertManager.php:1142
102
- msgid "BBPress"
103
  msgstr ""
104
 
105
- #: classes/AlertManager.php:1076 classes/AlertManager.php:1145
106
- #: classes/Views/ToggleAlerts.php:345
107
- msgid "BBPress Forum"
108
  msgstr ""
109
 
110
- #: classes/AlertManager.php:1077 classes/AlertManager.php:1148
111
- msgid "WooCommerce Product"
112
  msgstr ""
113
 
114
- #: classes/AlertManager.php:1078 classes/AlertManager.php:1151
115
- msgid "WooCommerce Store"
116
  msgstr ""
117
 
118
- #: classes/AlertManager.php:1079 classes/AlertManager.php:1154
119
  msgid "MainWP Network"
120
  msgstr ""
121
 
122
- #: classes/AlertManager.php:1080 classes/AlertManager.php:1157
123
  msgid "MainWP"
124
  msgstr ""
125
 
126
- #: classes/AlertManager.php:1081 classes/AlertManager.php:1160
127
- #: classes/Views/ToggleAlerts.php:222 classes/Views/ToggleAlerts.php:373
128
- #: defaults.php:648
129
  msgid "Yoast SEO"
130
  msgstr ""
131
 
132
- #: classes/AlertManager.php:1082 classes/AlertManager.php:1163
 
 
 
 
133
  msgid "Category"
134
  msgstr ""
135
 
136
- #: classes/AlertManager.php:1083 classes/AlertManager.php:1166
137
  msgid "Custom Field"
138
  msgstr ""
139
 
140
- #: classes/AlertManager.php:1084 classes/AlertManager.php:1169
141
  msgid "Widget"
142
  msgstr ""
143
 
144
- #: classes/AlertManager.php:1085 classes/AlertManager.php:1172
145
  msgid "Menu"
146
  msgstr ""
147
 
148
- #: classes/AlertManager.php:1086 classes/AlertManager.php:1175
149
  msgid "Theme"
150
  msgstr ""
151
 
152
- #: classes/AlertManager.php:1087 classes/AlertManager.php:1178
153
  msgid "Activity Logs"
154
  msgstr ""
155
 
156
- #: classes/AlertManager.php:1088 classes/AlertManager.php:1181
157
  msgid "Multisite Network"
158
  msgstr ""
159
 
160
- #: classes/AlertManager.php:1089 classes/AlertManager.php:1184
161
  msgid "IP Address"
162
  msgstr ""
163
 
164
- #: classes/AlertManager.php:1200 classes/AlertManager.php:1246
 
 
 
 
165
  msgid "Login"
166
  msgstr ""
167
 
168
- #: classes/AlertManager.php:1201 classes/AlertManager.php:1249
169
  msgid "Logout"
170
  msgstr ""
171
 
172
- #: classes/AlertManager.php:1202 classes/AlertManager.php:1252
173
  msgid "Installed"
174
  msgstr ""
175
 
176
- #: classes/AlertManager.php:1203 classes/AlertManager.php:1255
177
  msgid "Activated"
178
  msgstr ""
179
 
180
- #: classes/AlertManager.php:1204 classes/AlertManager.php:1258
181
  msgid "Deactivated"
182
  msgstr ""
183
 
184
- #: classes/AlertManager.php:1205 classes/AlertManager.php:1261
185
  msgid "Uninstalled"
186
  msgstr ""
187
 
188
- #: classes/AlertManager.php:1206 classes/AlertManager.php:1264
189
  msgid "Updated"
190
  msgstr ""
191
 
192
- #: classes/AlertManager.php:1207 classes/AlertManager.php:1267
193
  msgid "Created"
194
  msgstr ""
195
 
196
- #: classes/AlertManager.php:1208 classes/AlertManager.php:1270
197
  msgid "Modified"
198
  msgstr ""
199
 
200
- #: classes/AlertManager.php:1209 classes/AlertManager.php:1273
201
  msgid "Deleted"
202
  msgstr ""
203
 
204
- #: classes/AlertManager.php:1210 classes/AlertManager.php:1276
205
  msgid "Published"
206
  msgstr ""
207
 
208
- #: classes/AlertManager.php:1211 classes/AlertManager.php:1279
209
  msgid "Approved"
210
  msgstr ""
211
 
212
- #: classes/AlertManager.php:1212 classes/AlertManager.php:1282
213
  msgid "Unapproved"
214
  msgstr ""
215
 
216
- #: classes/AlertManager.php:1213 classes/AlertManager.php:1285
217
  msgid "Enabled"
218
  msgstr ""
219
 
220
- #: classes/AlertManager.php:1214 classes/AlertManager.php:1288
221
  msgid "Disabled"
222
  msgstr ""
223
 
224
- #: classes/AlertManager.php:1215 classes/AlertManager.php:1291
225
  msgid "Added"
226
  msgstr ""
227
 
228
- #: classes/AlertManager.php:1216 classes/AlertManager.php:1294
229
  msgid "Failed Login"
230
  msgstr ""
231
 
232
- #: classes/AlertManager.php:1217 classes/AlertManager.php:1297
233
  msgid "Blocked"
234
  msgstr ""
235
 
236
- #: classes/AlertManager.php:1218 classes/AlertManager.php:1300
237
  msgid "Uploaded"
238
  msgstr ""
239
 
240
- #: classes/AlertManager.php:1219 classes/AlertManager.php:1303
241
  msgid "Restored"
242
  msgstr ""
243
 
244
- #: classes/AlertManager.php:1220 classes/AlertManager.php:1306
245
  msgid "Opened"
246
  msgstr ""
247
 
248
- #: classes/AlertManager.php:1221 classes/AlertManager.php:1309
249
  msgid "Viewed"
250
  msgstr ""
251
 
252
- #: classes/AlertManager.php:1222 classes/AlertManager.php:1312
253
  msgid "Started"
254
  msgstr ""
255
 
256
- #: classes/AlertManager.php:1223 classes/AlertManager.php:1315
257
  msgid "Stopped"
258
  msgstr ""
259
 
260
- #: classes/AlertManager.php:1224 classes/AlertManager.php:1318
261
  msgid "Removed"
262
  msgstr ""
263
 
264
- #: classes/AlertManager.php:1225 classes/AlertManager.php:1321
265
  msgid "Unblocked"
266
  msgstr ""
267
 
268
- #: classes/AlertManager.php:1546 classes/Views/ToggleAlerts.php:240
269
- #: classes/Views/ToggleAlerts.php:272 defaults.php:331
 
 
 
 
 
 
 
 
 
 
 
 
270
  msgid "Pages"
271
  msgstr ""
272
 
273
- #: classes/AlertManager.php:1546 classes/Views/ToggleAlerts.php:240
274
- #: classes/Views/ToggleAlerts.php:272 defaults.php:291
275
  msgid "Custom Post Types"
276
  msgstr ""
277
 
278
- #: classes/AlertManager.php:1868
279
  msgid "System Activity"
280
  msgstr ""
281
 
282
- #: classes/AlertManager.php:1928 classes/ConstantManager.php:146
283
  msgid "Unknown error code."
284
  msgstr ""
285
 
286
- #: classes/AlertManager.php:1935 classes/AlertManager.php:1947
287
  msgid "Unknown Site"
288
  msgstr ""
289
 
@@ -291,199 +307,201 @@ msgstr ""
291
  msgid "No events so far."
292
  msgstr ""
293
 
294
- #: classes/AuditLogGridView.php:168 classes/AuditLogListView.php:174
295
  msgid "List View"
296
  msgstr ""
297
 
298
- #: classes/AuditLogGridView.php:169 classes/AuditLogListView.php:175
299
  msgid "Grid View"
300
  msgstr ""
301
 
302
- #: classes/AuditLogGridView.php:194 classes/AuditLogListView.php:200
303
  msgid "Show "
304
  msgstr ""
305
 
306
- #: classes/AuditLogGridView.php:202 classes/AuditLogListView.php:208
307
  msgid " Items"
308
  msgstr ""
309
 
310
- #: classes/AuditLogGridView.php:209 classes/AuditLogListView.php:215
311
  msgid "— End of Activity Log —"
312
  msgstr ""
313
 
314
- #: classes/AuditLogGridView.php:230 classes/AuditLogListView.php:236
315
- #: classes/Views/AuditLog.php:543
316
  msgid "All Sites"
317
  msgstr ""
318
 
319
- #: classes/AuditLogGridView.php:258 classes/AuditLogListView.php:264
320
  msgid "Live Database"
321
  msgstr ""
322
 
323
- #: classes/AuditLogGridView.php:261 classes/AuditLogListView.php:267
324
  msgid "Archive Database"
325
  msgstr ""
326
 
327
- #: classes/AuditLogGridView.php:315 classes/AuditLogGridView.php:339
328
- #: classes/AuditLogListView.php:330 classes/AuditLogListView.php:358
329
  msgid "ID"
330
  msgstr ""
331
 
332
- #: classes/AuditLogGridView.php:316 classes/AuditLogGridView.php:342
333
- #: classes/AuditLogListView.php:331 classes/AuditLogListView.php:361
334
- #: classes/Views/Settings.php:1200 classes/Views/ToggleAlerts.php:334
335
  msgid "Severity"
336
  msgstr ""
337
 
338
- #: classes/AuditLogGridView.php:317
339
  msgid "Info"
340
  msgstr ""
341
 
342
- #: classes/AuditLogGridView.php:322 classes/AuditLogListView.php:341
343
- #: classes/AuditLogListView.php:373
344
  msgid "Site"
345
  msgstr ""
346
 
347
- #: classes/AuditLogGridView.php:325 classes/AuditLogGridView.php:348
348
- #: classes/AuditLogListView.php:344 classes/AuditLogListView.php:382
349
  msgid "Message"
350
  msgstr ""
351
 
352
- #: classes/AuditLogGridView.php:345
353
  msgid "Grid"
354
  msgstr ""
355
 
356
- #: classes/AuditLogGridView.php:416 classes/AuditLogListView.php:466
357
  msgid "Disable this type of events."
358
  msgstr ""
359
 
360
- #: classes/AuditLogGridView.php:434
361
  msgid "Message:"
362
  msgstr ""
363
 
364
- #: classes/AuditLogGridView.php:458 classes/AuditLogGridView.php:465
365
- #: classes/AuditLogGridView.php:504 classes/AuditLogListView.php:486
366
- #: classes/AuditLogListView.php:527
367
  msgid "Unknown"
368
  msgstr ""
369
 
370
- #: classes/AuditLogGridView.php:489 classes/AuditLogListView.php:512
371
  msgid "Show me all activity by this User"
372
  msgstr ""
373
 
374
- #: classes/AuditLogGridView.php:510 classes/AuditLogListView.php:535
375
- #: defaults.php:399
376
  msgid "Plugins"
377
  msgstr ""
378
 
379
- #: classes/AuditLogGridView.php:513 classes/AuditLogListView.php:539
380
  msgid "Website Visitor"
381
  msgstr ""
382
 
383
- #: classes/AuditLogGridView.php:550 classes/AuditLogGridView.php:563
384
- #: classes/AuditLogListView.php:575 classes/AuditLogListView.php:588
385
  msgid "Show me all activity originating from this IP Address"
386
  msgstr ""
387
 
388
- #: classes/AuditLogGridView.php:592
389
  msgid "Date:"
390
  msgstr ""
391
 
392
- #: classes/AuditLogGridView.php:596
393
  msgid "Time:"
394
  msgstr ""
395
 
396
- #: classes/AuditLogGridView.php:600
397
  msgid "User:"
398
  msgstr ""
399
 
400
- #: classes/AuditLogGridView.php:604
401
  msgid "IP:"
402
  msgstr ""
403
 
404
- #: classes/AuditLogGridView.php:608
405
  msgid "Object:"
406
  msgstr ""
407
 
408
- #: classes/AuditLogGridView.php:612
409
  msgid "Event Type:"
410
  msgstr ""
411
 
412
- #: classes/AuditLogGridView.php:620 classes/AuditLogListView.php:617
413
  msgid "View all details of this change"
414
  msgstr ""
415
 
416
- #: classes/AuditLogGridView.php:621 classes/AuditLogGridView.php:771
417
- #: classes/AuditLogListView.php:618 classes/AuditLogListView.php:772
418
  msgid "Alert Data Inspector"
419
  msgstr ""
420
 
421
- #: classes/AuditLogGridView.php:723 classes/AuditLogListView.php:724
422
- #: classes/Settings.php:1705
423
  msgid "Download the log file"
424
  msgstr ""
425
 
426
- #: classes/AuditLogGridView.php:743 classes/AuditLogListView.php:744
427
- #: classes/Settings.php:1747
428
  msgid "Download the log file."
429
  msgstr ""
430
 
431
- #: classes/AuditLogGridView.php:751 classes/AuditLogListView.php:752
432
- #: classes/Settings.php:1755 classes/Settings.php:1994
433
  msgid "published"
434
  msgstr ""
435
 
436
  #. translators: Mailto link for support.
437
- #: classes/AuditLogGridView.php:779 classes/AuditLogListView.php:780
438
- #: classes/Settings.php:1781 classes/Settings.php:2020
439
  #, php-format
440
  msgid "Contact us on %s for assistance"
441
  msgstr ""
442
 
443
- #: classes/AuditLogGridView.php:913 classes/AuditLogListView.php:914
444
  msgid "Select All"
445
  msgstr ""
446
 
447
- #: classes/AuditLogListView.php:332 classes/AuditLogListView.php:364
448
  msgid "Date"
449
  msgstr ""
450
 
451
- #: classes/AuditLogListView.php:334 classes/AuditLogListView.php:370
452
  msgid "IP"
453
  msgstr ""
454
 
455
- #: classes/AuditLogListView.php:335 classes/AuditLogListView.php:376
456
  msgid "Object"
457
  msgstr ""
458
 
459
- #: classes/AuditLogListView.php:336 classes/AuditLogListView.php:379
460
  msgid "Event Type"
461
  msgstr ""
462
 
463
- #: classes/AuditLogListView.php:441
464
  msgid "Click to toggle."
465
  msgstr ""
466
 
467
- #: classes/AuditLogListView.php:446 classes/Models/Occurrence.php:83
468
- #: classes/ViewManager.php:470
469
  msgid "Alert message not found."
470
  msgstr ""
471
 
472
- #: classes/AuditLogListView.php:447 classes/Models/Occurrence.php:84
473
- #: classes/ViewManager.php:471
474
  msgid "Alert description not found."
475
  msgstr ""
476
 
477
  #: classes/Connector/MySQLDB.php:61
478
- msgid "Error establishing a database connection. Hostname is not valid."
479
- msgstr ""
480
-
481
- #: classes/Connector/MySQLDB.php:63
482
  msgid ""
483
  "Error establishing a database connection. DB username or password are not "
484
  "valid."
485
  msgstr ""
486
 
 
 
 
 
 
 
487
  #: classes/Connector/wp-db-custom.php:213
488
  msgid "Error establishing a database connection"
489
  msgstr ""
@@ -566,171 +584,181 @@ msgid "https://wordpress.org/support/forums/"
566
  msgstr ""
567
 
568
  #: classes/ConstantManager.php:152 classes/ConstantManager.php:158
569
- #: classes/Views/ToggleAlerts.php:467 classes/Views/ToggleAlerts.php:473
570
  msgid "Critical"
571
  msgstr ""
572
 
573
- #: classes/ConstantManager.php:154 classes/Views/ToggleAlerts.php:469
574
  msgid "Warning"
575
  msgstr ""
576
 
577
- #: classes/ConstantManager.php:156 classes/Views/ToggleAlerts.php:471
578
- #: classes/Views/ToggleAlerts.php:483
579
  msgid "Notification"
580
  msgstr ""
581
 
582
- #: classes/ConstantManager.php:160 classes/Views/ToggleAlerts.php:475
583
  msgid "High"
584
  msgstr ""
585
 
586
- #: classes/ConstantManager.php:162 classes/Views/ToggleAlerts.php:477
587
  msgid "Medium"
588
  msgstr ""
589
 
590
- #: classes/ConstantManager.php:164 classes/Views/ToggleAlerts.php:479
591
  msgid "Low"
592
  msgstr ""
593
 
594
- #: classes/ConstantManager.php:166 classes/Views/ToggleAlerts.php:481
595
  msgid "Informational"
596
  msgstr ""
597
 
598
- #: classes/Loggers/Database.php:243 classes/Views/addons/html-view.php:92
599
  #: classes/Views/addons/html-view.php:117
600
  msgid "Upgrade to Premium"
601
  msgstr ""
602
 
603
- #: classes/Loggers/Database.php:244 classes/Views/addons/html-view.php:93
604
  msgid "More Information"
605
  msgstr ""
606
 
607
- #: classes/Models/Occurrence.php:188
 
 
 
 
 
 
 
 
608
  #, php-format
609
  msgid ""
610
  "Alert message was not available, this may have been a custom alert that no "
611
  "longer exists. Read more about custom events %1$shere%2$s."
612
  msgstr ""
613
 
614
- #: classes/Sensors/Content.php:984 classes/Sensors/Content.php:992
615
- #: classes/Sensors/WooCommerce.php:597 classes/Sensors/WooCommerce.php:605
616
  msgid "Password Protected"
617
  msgstr ""
618
 
619
- #: classes/Sensors/Content.php:986 classes/Sensors/Content.php:994
620
- #: classes/Sensors/WooCommerce.php:601 classes/Sensors/WooCommerce.php:609
621
  msgid "Private"
622
  msgstr ""
623
 
624
- #: classes/Sensors/Content.php:988 classes/Sensors/Content.php:996
625
- #: classes/Sensors/WooCommerce.php:599 classes/Sensors/WooCommerce.php:607
626
  msgid "Public"
627
  msgstr ""
628
 
629
- #: classes/Sensors/FrontendWooCommerce.php:204 classes/Sensors/Public.php:389
630
- #: classes/Sensors/WooCommerce.php:1909
631
  msgid "In stock"
632
  msgstr ""
633
 
634
- #: classes/Sensors/FrontendWooCommerce.php:206 classes/Sensors/Public.php:391
635
- #: classes/Sensors/WooCommerce.php:1911
636
  msgid "Out of stock"
637
  msgstr ""
638
 
639
- #: classes/Sensors/FrontendWooCommerce.php:208 classes/Sensors/Public.php:393
640
- #: classes/Sensors/WooCommerce.php:1913
641
  msgid "On backorder"
642
  msgstr ""
643
 
644
- #: classes/Sensors/WooCommerce.php:2820
 
 
 
 
 
 
 
 
 
 
645
  msgid "Visible"
646
  msgstr ""
647
 
648
- #: classes/Sensors/WooCommerce.php:2820
649
  msgid "Non-Visible"
650
  msgstr ""
651
 
652
- #: classes/Settings.php:469
653
  msgid "This function is deprecated"
654
  msgstr ""
655
 
656
- #: classes/Settings.php:1658
657
  msgid "View the content changes"
658
  msgstr ""
659
 
660
- #: classes/Settings.php:1663 classes/Settings.php:1669
661
  msgid "View post in the editor"
662
  msgstr ""
663
 
664
- #: classes/Settings.php:1666
665
  msgid "View Order"
666
  msgstr ""
667
 
668
- #: classes/Settings.php:1672
669
  msgid "View category"
670
  msgstr ""
671
 
672
- #: classes/Settings.php:1675
673
  msgid "View tag"
674
  msgstr ""
675
 
676
- #: classes/Settings.php:1678
677
- msgid "View the Forum in editor"
678
- msgstr ""
679
-
680
- #: classes/Settings.php:1681
681
- msgid "View the Topic in editor"
682
- msgstr ""
683
-
684
- #: classes/Settings.php:1685
685
  msgid "User profile page"
686
  msgstr ""
687
 
688
- #: classes/Settings.php:1793
689
  msgid "Increase maximum file size limit"
690
  msgstr ""
691
 
692
- #: classes/Settings.php:1796
693
  msgid "Contact Support"
694
  msgstr ""
695
 
696
- #: classes/Settings.php:2032
697
  msgid "plugin settings"
698
  msgstr ""
699
 
700
- #: classes/Settings.php:2035
701
  msgid "contact our support"
702
  msgstr ""
703
 
704
- #: classes/Settings.php:2241
705
  msgid "Root directory of WordPress (excluding sub directories)"
706
  msgstr ""
707
 
708
- #: classes/Settings.php:2242
709
  msgid "WP Admin directory (/wp-admin/)"
710
  msgstr ""
711
 
712
- #: classes/Settings.php:2243
713
  msgid "WP Includes directory (/wp-includes/)"
714
  msgstr ""
715
 
716
- #: classes/Settings.php:2244
717
  msgid ""
718
  "/wp-content/ directory (excluding plugins, themes & uploads directories)"
719
  msgstr ""
720
 
721
- #: classes/Settings.php:2245
722
  msgid "Themes directory (/wp-content/themes/)"
723
  msgstr ""
724
 
725
- #: classes/Settings.php:2246
726
  msgid "Plugins directory (/wp-content/plugins/)"
727
  msgstr ""
728
 
729
- #: classes/Settings.php:2247
730
  msgid "Uploads directory (/wp-content/uploads/)"
731
  msgstr ""
732
 
733
- #: classes/Settings.php:2252
734
  msgid ""
735
  "Uploads directory of all sub sites on this network (/wp-content/sites/*)"
736
  msgstr ""
@@ -751,97 +779,129 @@ msgid ""
751
  "the plugin WP Security Audit Log on the website %2$s on %3$s."
752
  msgstr ""
753
 
754
- #: classes/ViewManager.php:265
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
755
  msgid "Free Premium Trial"
756
  msgstr ""
757
 
758
- #: classes/ViewManager.php:496 classes/Views/Settings.php:255
759
- #: classes/Views/Settings.php:2772 classes/Views/Settings.php:2801
760
- #: classes/Views/SetupWizard.php:66
761
  msgid "Access Denied."
762
  msgstr ""
763
 
764
- #: classes/ViewManager.php:527
765
  msgid "Log count parameter expected."
766
  msgstr ""
767
 
768
- #: classes/ViewManager.php:535 classes/Views/AuditLog.php:731
769
- #: classes/Views/AuditLog.php:808 classes/Views/AuditLog.php:834
770
- #: classes/Views/AuditLog.php:1140 classes/Views/AuditLog.php:1210
771
- #: classes/Views/Licensing.php:90 classes/Views/Settings.php:270
772
- #: classes/Views/Settings.php:2333 classes/Views/Settings.php:2361
773
- #: classes/Views/Settings.php:2391 classes/Views/Settings.php:2436
774
- #: classes/Views/Settings.php:2438 classes/Views/Settings.php:2440
775
- #: classes/Views/Settings.php:2555 classes/Views/Settings.php:2557
776
- #: classes/Views/Settings.php:2559 classes/Views/Settings.php:2653
777
- #: classes/Views/Settings.php:2748 classes/Views/SetupWizard.php:81
778
  msgid "Nonce verification failed."
779
  msgstr ""
780
 
781
- #: classes/Views/AuditLog.php:98
782
  msgid ""
783
  "Get instantly alerted of critical changes via SMS & email, search the "
784
  "activity log, generate user reports, see who is logged in and more!"
785
  msgstr ""
786
 
787
- #: classes/Views/AuditLog.php:99
788
  msgid ""
789
  "Upgrade to premium to unlock these powerful activity log features & more!"
790
  msgstr ""
791
 
792
- #: classes/Views/AuditLog.php:102
793
  msgid ""
794
  "Instant SMS & email alerts, search & filters, reports, users sessions "
795
  "management and much more!"
796
  msgstr ""
797
 
798
- #: classes/Views/AuditLog.php:103
799
  msgid "Upgrade to premium to get more out of your activity logs!"
800
  msgstr ""
801
 
802
- #: classes/Views/AuditLog.php:106
803
  msgid ""
804
  "See who logged in on your site in real-time, generate reports, get SMS & "
805
  "email alerts of critical changes and more!"
806
  msgstr ""
807
 
808
- #: classes/Views/AuditLog.php:107
809
  msgid ""
810
  "Unlock these and other powerful features with WP Security Audit Log Premium."
811
  msgstr ""
812
 
813
- #: classes/Views/AuditLog.php:185
814
  msgid "UPGRADE NOW"
815
  msgstr ""
816
 
817
- #: classes/Views/AuditLog.php:186
818
  msgid "Start Free Trial"
819
  msgstr ""
820
 
821
- #: classes/Views/AuditLog.php:187
822
  msgid "Tell me more"
823
  msgstr ""
824
 
825
- #: classes/Views/AuditLog.php:189
826
  msgid "Dismiss the banner"
827
  msgstr ""
828
 
829
- #: classes/Views/AuditLog.php:189
830
  msgid "Close"
831
  msgstr ""
832
 
833
- #: classes/Views/AuditLog.php:214
834
  msgid ""
835
  "There are connectivity issues with the database where the WordPress activity "
836
  "log is stored. The logs will be temporary buffered in the WordPress database "
837
  "until the connection is fully restored."
838
  msgstr ""
839
 
840
- #: classes/Views/AuditLog.php:232
841
  msgid "Help WP Security Audit Log improve."
842
  msgstr ""
843
 
844
- #: classes/Views/AuditLog.php:233
845
  msgid ""
846
  "Gathering non-sensitive diagnostic data about the plugin install helps us "
847
  "improve the plugin. When you opt-in, you also subscribe to our announcements "
@@ -849,106 +909,128 @@ msgid ""
849
  "collect any data."
850
  msgstr ""
851
 
852
- #: classes/Views/AuditLog.php:233
853
  msgid "Read more about what we collect."
854
  msgstr ""
855
 
856
- #: classes/Views/AuditLog.php:235
857
  msgid "Sure, opt-in"
858
  msgstr ""
859
 
860
- #: classes/Views/AuditLog.php:236
861
  msgid "No, thank you"
862
  msgstr ""
863
 
864
- #: classes/Views/AuditLog.php:275 classes/Views/AuditLog.php:302
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
865
  msgid "Audit Log Viewer"
866
  msgstr ""
867
 
868
- #: classes/Views/AuditLog.php:457 classes/Views/Licensing.php:82
869
- #: classes/Views/Settings.php:361 classes/Views/ToggleAlerts.php:140
870
  msgid "You do not have sufficient permissions to access this page."
871
  msgstr ""
872
 
873
- #: classes/Views/AuditLog.php:505
874
  msgid ""
875
  "Thank you for installing WP Security Audit Log. Do you want to run the "
876
  "wizard to configure the basic plugin settings?"
877
  msgstr ""
878
 
879
- #: classes/Views/AuditLog.php:507 classes/Views/Settings.php:564
880
- #: classes/Views/Settings.php:591 classes/Views/Settings.php:657
881
- #: classes/Views/Settings.php:715 classes/Views/Settings.php:1235
882
- #: classes/Views/Settings.php:1302 classes/Views/Settings.php:2067
883
- #: classes/Views/Settings.php:2128 classes/Views/Settings.php:2156
884
- #: classes/Views/Settings.php:2177 classes/Views/Settings.php:2187
885
- #: classes/Views/SetupWizard.php:465 classes/Views/SetupWizard.php:513
886
- #: classes/Views/SetupWizard.php:676
887
  msgid "Yes"
888
  msgstr ""
889
 
890
- #: classes/Views/AuditLog.php:508 classes/Views/Settings.php:569
891
- #: classes/Views/Settings.php:596 classes/Views/Settings.php:687
892
- #: classes/Views/Settings.php:725 classes/Views/Settings.php:1240
893
- #: classes/Views/Settings.php:1309 classes/Views/Settings.php:2072
894
- #: classes/Views/Settings.php:2135 classes/Views/Settings.php:2163
895
- #: classes/Views/Settings.php:2178 classes/Views/Settings.php:2188
896
- #: classes/Views/SetupWizard.php:470 classes/Views/SetupWizard.php:518
897
- #: classes/Views/SetupWizard.php:671
898
  msgid "No"
899
  msgstr ""
900
 
901
- #: classes/Views/AuditLog.php:542
902
  msgid "Please enter the number of alerts you would like to see on one page:"
903
  msgstr ""
904
 
905
- #: classes/Views/AuditLog.php:544
906
  msgid "No Results"
907
  msgstr ""
908
 
909
- #: classes/Views/AuditLog.php:728
910
  msgid "No users found."
911
  msgstr ""
912
 
913
- #: classes/Views/AuditLog.php:750
914
  msgid "Log file does not exist."
915
  msgstr ""
916
 
917
- #: classes/Views/AuditLog.php:799
918
  msgid "Request to get log file failed."
919
  msgstr ""
920
 
921
- #: classes/Views/AuditLog.php:874
922
  msgid "Freemius opt choice selected."
923
  msgstr ""
924
 
925
- #: classes/Views/AuditLog.php:881
926
  msgid "Freemius opt choice not found."
927
  msgstr ""
928
 
929
- #: classes/Views/AuditLog.php:1054
 
 
 
 
 
 
 
 
930
  msgid "WordPress Activity Log"
931
  msgstr ""
932
 
933
- #: classes/Views/AuditLog.php:1055
934
  msgid ""
935
  "When a user makes a change on your website the plugin will keep a record of "
936
  "that event here. Right now there is nothing because this is a new install."
937
  msgstr ""
938
 
939
- #: classes/Views/AuditLog.php:1056
940
  msgid "Thank you for using WP Security Audit Log"
941
  msgstr ""
942
 
943
- #: classes/Views/AuditLog.php:1077
944
  msgid "Error: You do not have sufficient permissions to exclude this URL."
945
  msgstr ""
946
 
947
- #: classes/Views/AuditLog.php:1123
948
  msgid "You do not have sufficient permissions to dismiss this notice."
949
  msgstr ""
950
 
951
- #: classes/Views/AuditLog.php:1193
952
  msgid "Access Denied"
953
  msgstr ""
954
 
@@ -1195,45 +1277,21 @@ msgid "Automatically identify unauthorized file changes on WordPress"
1195
  msgstr ""
1196
 
1197
  #: classes/Views/Help.php:262
1198
- msgid "See the child sites activity logs from the central MainWP dashboard"
 
 
1199
  msgstr ""
1200
 
1201
  #: classes/Views/Help.php:268
1202
- msgid "Our other WordPress plugins"
1203
- msgstr ""
1204
-
1205
- #: classes/Views/Help.php:279
1206
- msgid "LEARN MORE"
1207
- msgstr ""
1208
-
1209
- #: classes/Views/Licensing.php:28 classes/Views/Licensing.php:42
1210
- msgid "Licensing"
1211
- msgstr ""
1212
-
1213
- #: classes/Views/Licensing.php:96 classes/Views/Settings.php:377
1214
- #: classes/Views/ToggleAlerts.php:157
1215
- msgid "Settings have been saved."
1216
- msgstr ""
1217
-
1218
- #: classes/Views/Licensing.php:101 classes/Views/Settings.php:383
1219
- #: classes/Views/ToggleAlerts.php:163
1220
- msgid "Error: "
1221
- msgstr ""
1222
-
1223
- #: classes/Views/Licensing.php:114 classes/Views/Licensing.php:154
1224
- msgid "License"
1225
- msgstr ""
1226
-
1227
- #: classes/Views/Licensing.php:129
1228
- msgid "Version"
1229
  msgstr ""
1230
 
1231
- #: classes/Views/Licensing.php:141
1232
- msgid "Active"
1233
  msgstr ""
1234
 
1235
- #: classes/Views/Licensing.php:143
1236
- msgid "Inactive"
1237
  msgstr ""
1238
 
1239
  #: classes/Views/LogInUsers.php:28
@@ -1408,7 +1466,7 @@ msgstr ""
1408
  msgid "File Integrity Scan"
1409
  msgstr ""
1410
 
1411
- #: classes/Views/Settings.php:117 classes/Views/SetupWizard.php:163
1412
  msgid "Exclude Objects"
1413
  msgstr ""
1414
 
@@ -1424,31 +1482,43 @@ msgstr ""
1424
  msgid "Settings"
1425
  msgstr ""
1426
 
1427
- #: classes/Views/Settings.php:243
 
 
 
 
1428
  msgid "Unknown settings tab."
1429
  msgstr ""
1430
 
1431
- #: classes/Views/Settings.php:280 classes/Views/SetupWizard.php:91
1432
  msgid "Invalid input."
1433
  msgstr ""
1434
 
1435
- #: classes/Views/Settings.php:373
1436
  msgid "Message sent successfully."
1437
  msgstr ""
1438
 
1439
- #: classes/Views/Settings.php:395
 
 
 
 
 
 
 
 
1440
  msgid "Old data successfully purged."
1441
  msgstr ""
1442
 
1443
- #: classes/Views/Settings.php:401
1444
  msgid "No data is old enough to be purged."
1445
  msgstr ""
1446
 
1447
- #: classes/Views/Settings.php:432
1448
  msgid "Send Message"
1449
  msgstr ""
1450
 
1451
- #: classes/Views/Settings.php:483
1452
  msgid ""
1453
  "Need help with setting up the plugin to meet your requirements? <a href="
1454
  "\"https://www.wpsecurityauditlog.com/contact/?"
@@ -1457,112 +1527,112 @@ msgid ""
1457
  "call</a> with our experts for just $50."
1458
  msgstr ""
1459
 
1460
- #: classes/Views/Settings.php:485
1461
  msgid "Use infinite scroll or pagination for the event viewer?"
1462
  msgstr ""
1463
 
1464
  #. translators: Learn more link.
1465
- #: classes/Views/Settings.php:490
1466
  #, php-format
1467
  msgid ""
1468
  "When using infinite scroll the event viewer and search results %s load up "
1469
  "much faster and require less resources."
1470
  msgstr ""
1471
 
1472
- #: classes/Views/Settings.php:491
1473
  msgid "(Premium feature)"
1474
  msgstr ""
1475
 
1476
- #: classes/Views/Settings.php:498
1477
  msgid "Select event viewer view type:"
1478
  msgstr ""
1479
 
1480
- #: classes/Views/Settings.php:503
1481
  msgid "Infinite Scroll (Recommended)"
1482
  msgstr ""
1483
 
1484
- #: classes/Views/Settings.php:508
1485
  msgid "Pagination"
1486
  msgstr ""
1487
 
1488
- #: classes/Views/Settings.php:519
1489
  msgid "Do you want the activity log viewer to auto refresh?"
1490
  msgstr ""
1491
 
1492
- #: classes/Views/Settings.php:520
1493
  msgid ""
1494
  "The activity log viewer auto refreshes every 30 seconds when opened so you "
1495
  "can see the latest events as they happen almost in real time."
1496
  msgstr ""
1497
 
1498
- #: classes/Views/Settings.php:524
1499
  msgid "Refresh Audit Log Viewer"
1500
  msgstr ""
1501
 
1502
- #: classes/Views/Settings.php:530
1503
  msgid "Auto refresh"
1504
  msgstr ""
1505
 
1506
- #: classes/Views/Settings.php:535
1507
  msgid "Do not auto refresh"
1508
  msgstr ""
1509
 
1510
- #: classes/Views/Settings.php:545
1511
  msgid "Display latest events widget in Dashboard & Admin bar"
1512
  msgstr ""
1513
 
1514
  #. translators: Max number of dashboard widget alerts.
1515
- #: classes/Views/Settings.php:550
1516
  #, php-format
1517
  msgid ""
1518
  "The events widget displays the latest %d security events in the dashboard "
1519
  "and the admin bar notification displays the latest event."
1520
  msgstr ""
1521
 
1522
- #: classes/Views/Settings.php:558
1523
  msgid "Dashboard Widget"
1524
  msgstr ""
1525
 
1526
- #: classes/Views/Settings.php:579
1527
  msgid "Admin Bar Notification"
1528
  msgstr ""
1529
 
1530
- #: classes/Views/Settings.php:582
1531
  msgid "Admin Bar Notification (Premium)"
1532
  msgstr ""
1533
 
1534
- #: classes/Views/Settings.php:606
1535
  msgid "Admin Bar Notification Updates"
1536
  msgstr ""
1537
 
1538
- #: classes/Views/Settings.php:609
1539
  msgid "Admin Bar Notification Updates (Premium)"
1540
  msgstr ""
1541
 
1542
- #: classes/Views/Settings.php:618
1543
  msgid "Update in near real time"
1544
  msgstr ""
1545
 
1546
- #: classes/Views/Settings.php:623
1547
  msgid "Update only on page refreshes"
1548
  msgstr ""
1549
 
1550
- #: classes/Views/Settings.php:633
1551
  msgid "Add user notification on the WordPress login page"
1552
  msgstr ""
1553
 
1554
- #: classes/Views/Settings.php:634
1555
  msgid ""
1556
  "Many compliance regulations (such as the GDPR) require website "
1557
  "administrators to tell the users of their website that all the changes they "
1558
  "do when logged in are being logged."
1559
  msgstr ""
1560
 
1561
- #: classes/Views/Settings.php:638
1562
  msgid "Login Page Notification"
1563
  msgstr ""
1564
 
1565
- #: classes/Views/Settings.php:663
1566
  msgid ""
1567
  "For security and auditing purposes, a record of all of your logged-in "
1568
  "actions and changes within the WordPress dashboard will be recorded in an "
@@ -1572,89 +1642,79 @@ msgid ""
1572
  "also includes the IP address where you accessed this site from."
1573
  msgstr ""
1574
 
1575
- #: classes/Views/Settings.php:681
1576
  msgid "<strong>Note: </strong>"
1577
  msgstr ""
1578
 
1579
- #: classes/Views/Settings.php:681
1580
  msgid ""
1581
  "The only HTML code allowed in the login page notification is for links ( < a "
1582
  "href >< /a > )."
1583
  msgstr ""
1584
 
1585
- #: classes/Views/Settings.php:697
1586
  msgid "Is your website running behind a firewall or reverse proxy?"
1587
  msgstr ""
1588
 
1589
  #. translators: Learn more link.
1590
- #: classes/Views/Settings.php:702
1591
  #, php-format
1592
  msgid ""
1593
  "If your website is running behind a firewall set this option to yes so the "
1594
  "plugin retrieves the end user’s IP address from the proxy header - %s."
1595
  msgstr ""
1596
 
1597
- #: classes/Views/Settings.php:703 classes/Views/Settings.php:749
1598
- #: classes/Views/Settings.php:825
1599
  msgid "learn more"
1600
  msgstr ""
1601
 
1602
- #: classes/Views/Settings.php:710
1603
  msgid "Reverse Proxy / Firewall Options"
1604
  msgstr ""
1605
 
1606
- #: classes/Views/Settings.php:720
1607
  msgid ""
1608
  "Filter internal IP addresses from the proxy headers. Enable this option only "
1609
  "if you are\tare still seeing the internal IP addresses of the firewall or "
1610
  "proxy."
1611
  msgstr ""
1612
 
1613
- #: classes/Views/Settings.php:736
1614
  msgid "Who can change the plugin settings?"
1615
  msgstr ""
1616
 
1617
  #. translators: Learn more link.
1618
- #: classes/Views/Settings.php:748
1619
  #, php-format
1620
  msgid ""
1621
- "By default only users with administrator or super administrator (multisite) "
1622
- "roles can change the settings of the plugin. Though you can change these "
1623
- "privileges from this section - %s."
1624
  msgstr ""
1625
 
1626
- #: classes/Views/Settings.php:758
1627
  msgid "Restrict Plugin Access"
1628
  msgstr ""
1629
 
1630
- #: classes/Views/Settings.php:764
1631
  msgid "Only me"
1632
  msgstr ""
1633
 
1634
- #: classes/Views/Settings.php:769
1635
- msgid "Only administrators"
1636
- msgstr ""
1637
-
1638
  #: classes/Views/Settings.php:775
1639
  msgid "Only superadmins"
1640
  msgstr ""
1641
 
1642
- #: classes/Views/Settings.php:781
1643
- msgid "All these users or users with these roles"
1644
- msgstr ""
1645
-
1646
- #: classes/Views/Settings.php:783
1647
- msgid ""
1648
- "Specify the username or the users which can change the plugin settings. You "
1649
- "can also specify roles."
1650
  msgstr ""
1651
 
1652
- #: classes/Views/Settings.php:812
1653
  msgid "Allow other users to view the activity log"
1654
  msgstr ""
1655
 
1656
  #. translators: Learn more link.
1657
- #: classes/Views/Settings.php:824
1658
  #, php-format
1659
  msgid ""
1660
  "By default only users with administrator and super administrator (multisite) "
@@ -1662,52 +1722,52 @@ msgid ""
1662
  "with no admin role to view the events - %s."
1663
  msgstr ""
1664
 
1665
- #: classes/Views/Settings.php:834
1666
  msgid "Can View Events"
1667
  msgstr ""
1668
 
1669
- #: classes/Views/Settings.php:842
1670
  msgid ""
1671
  "Specify the username or the users which do not have an admin role but can "
1672
  "also see the WordPress activity role. You can also specify roles."
1673
  msgstr ""
1674
 
1675
- #: classes/Views/Settings.php:868
1676
  msgid "Which email address should the plugin use as a from address?"
1677
  msgstr ""
1678
 
1679
- #: classes/Views/Settings.php:869
1680
  msgid ""
1681
  "By default when the plugin sends an email notification it uses the email "
1682
  "address specified in this website’s general settings. Though you can change "
1683
  "the email address and display name from this section."
1684
  msgstr ""
1685
 
1686
- #: classes/Views/Settings.php:873
1687
  msgid "From Email & Name"
1688
  msgstr ""
1689
 
1690
- #: classes/Views/Settings.php:879
1691
  msgid "Use the email address from the WordPress general settings"
1692
  msgstr ""
1693
 
1694
- #: classes/Views/Settings.php:884
1695
  msgid "Use another email address"
1696
  msgstr ""
1697
 
1698
- #: classes/Views/Settings.php:888
1699
  msgid "Email Address"
1700
  msgstr ""
1701
 
1702
- #: classes/Views/Settings.php:893
1703
  msgid "Display Name"
1704
  msgstr ""
1705
 
1706
- #: classes/Views/Settings.php:904
1707
  msgid "Do you want to hide the plugin from the list of installed plugins?"
1708
  msgstr ""
1709
 
1710
- #: classes/Views/Settings.php:905
1711
  msgid ""
1712
  "By default all installed plugins are listed in the plugins page. If you do "
1713
  "not want other administrators to see that you installed this plugin set this "
@@ -1715,32 +1775,32 @@ msgid ""
1715
  "plugin on this website."
1716
  msgstr ""
1717
 
1718
- #: classes/Views/Settings.php:909
1719
  msgid "Hide Plugin in Plugins Page"
1720
  msgstr ""
1721
 
1722
- #: classes/Views/Settings.php:914
1723
  msgid "Yes, hide the plugin from the list of installed plugins"
1724
  msgstr ""
1725
 
1726
- #: classes/Views/Settings.php:919
1727
  msgid "No, do not hide the plugin"
1728
  msgstr ""
1729
 
1730
- #: classes/Views/Settings.php:989
1731
  msgid ""
1732
  "For how long do you want to keep the activity log events (Retention "
1733
  "settings) ?"
1734
  msgstr ""
1735
 
1736
- #: classes/Views/Settings.php:992
1737
  msgid ""
1738
  "The plugin uses an efficient way to store the activity log data in the "
1739
  "WordPress database, though the more data you keep the more disk space will "
1740
  "be required. "
1741
  msgstr ""
1742
 
1743
- #: classes/Views/Settings.php:993
1744
  msgid ""
1745
  "<a href=\"https://www.wpsecurityauditlog.com/pricing/?"
1746
  "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
@@ -1749,82 +1809,82 @@ msgid ""
1749
  msgstr ""
1750
 
1751
  #. translators: 1: Archive page link tag. 2: Link closing tag.
1752
- #: classes/Views/Settings.php:1011
1753
  #, php-format
1754
  msgid ""
1755
  "Retention settings moved to %1$s archiving settings %2$s because archiving "
1756
  "is enabled"
1757
  msgstr ""
1758
 
1759
- #: classes/Views/Settings.php:1018
1760
  msgid "Audit Log Retention"
1761
  msgstr ""
1762
 
1763
- #: classes/Views/Settings.php:1024
1764
  msgid "Keep all data"
1765
  msgstr ""
1766
 
1767
- #: classes/Views/Settings.php:1051
1768
  msgid "Delete events older than"
1769
  msgstr ""
1770
 
1771
- #: classes/Views/Settings.php:1058
1772
  msgid "Months"
1773
  msgstr ""
1774
 
1775
- #: classes/Views/Settings.php:1059
1776
  msgid "Years"
1777
  msgstr ""
1778
 
1779
- #: classes/Views/Settings.php:1067
1780
  msgid "The next scheduled purging of activity log data that is older than "
1781
  msgstr ""
1782
 
1783
- #: classes/Views/Settings.php:1074
1784
  msgid "You can run the purging process now by clicking the button below."
1785
  msgstr ""
1786
 
1787
- #: classes/Views/Settings.php:1078
1788
  msgid "Purge Old Data"
1789
  msgstr ""
1790
 
1791
- #: classes/Views/Settings.php:1089
1792
  msgid "What timestamp you would like to see in the WordPress activity log?"
1793
  msgstr ""
1794
 
1795
- #: classes/Views/Settings.php:1090
1796
  msgid ""
1797
  "Note that the WordPress' timezone might be different from that configured on "
1798
  "the server so when you switch from UTC to WordPress timezone or vice versa "
1799
  "you might notice a big difference."
1800
  msgstr ""
1801
 
1802
- #: classes/Views/Settings.php:1094
1803
  msgid "Events Timestamp"
1804
  msgstr ""
1805
 
1806
- #: classes/Views/Settings.php:1114
1807
  msgid "UTC"
1808
  msgstr ""
1809
 
1810
- #: classes/Views/Settings.php:1120
1811
  msgid "Timezone configured on this WordPress website"
1812
  msgstr ""
1813
 
1814
- #: classes/Views/Settings.php:1127
1815
  msgid "Show Milliseconds"
1816
  msgstr ""
1817
 
1818
- #: classes/Views/Settings.php:1143
1819
  msgid "Show Milliseconds in list view"
1820
  msgstr ""
1821
 
1822
- #: classes/Views/Settings.php:1153
1823
  msgid ""
1824
  "What user information should be displayed in the WordPress activity log?"
1825
  msgstr ""
1826
 
1827
- #: classes/Views/Settings.php:1154
1828
  msgid ""
1829
  "Usernames might not be the same as a user's first and last name so it can be "
1830
  "difficult to recognize whose user was that did a change. When there is no "
@@ -1832,57 +1892,57 @@ msgid ""
1832
  "back to the WordPress username."
1833
  msgstr ""
1834
 
1835
- #: classes/Views/Settings.php:1158
1836
  msgid "User Information in Audit Log"
1837
  msgstr ""
1838
 
1839
- #: classes/Views/Settings.php:1164
1840
  msgid "WordPress Username"
1841
  msgstr ""
1842
 
1843
- #: classes/Views/Settings.php:1169
1844
  msgid "First Name & Last Name"
1845
  msgstr ""
1846
 
1847
- #: classes/Views/Settings.php:1174
1848
  msgid "Configured Public Display Name"
1849
  msgstr ""
1850
 
1851
- #: classes/Views/Settings.php:1184
1852
  msgid "Select the columns to be displayed in the WordPress activity log"
1853
  msgstr ""
1854
 
1855
- #: classes/Views/Settings.php:1185
1856
  msgid ""
1857
  "When you deselect a column it won’t be shown in the activity log viewer in "
1858
  "both views. The data will still be recorded by the plugin."
1859
  msgstr ""
1860
 
1861
- #: classes/Views/Settings.php:1189
1862
  msgid "Audit Log Columns Selection"
1863
  msgstr ""
1864
 
1865
- #: classes/Views/Settings.php:1198
1866
  msgid "Event ID"
1867
  msgstr ""
1868
 
1869
- #: classes/Views/Settings.php:1202
1870
  msgid "Date & Time"
1871
  msgstr ""
1872
 
1873
- #: classes/Views/Settings.php:1206
1874
  msgid "Source IP Address"
1875
  msgstr ""
1876
 
1877
- #: classes/Views/Settings.php:1208
1878
  msgid "Info (used in Grid view mode only)"
1879
  msgstr ""
1880
 
1881
- #: classes/Views/Settings.php:1223
1882
  msgid "Do you want to keep a log of WordPress background activity?"
1883
  msgstr ""
1884
 
1885
- #: classes/Views/Settings.php:1225
1886
  msgid ""
1887
  "WordPress does a lot of things in the background that you do not necessarily "
1888
  "need to know about, such as; deletion of post revisions, deletion of auto "
@@ -1890,18 +1950,18 @@ msgid ""
1890
  "might be a lot and are irrelevant to the user."
1891
  msgstr ""
1892
 
1893
- #: classes/Views/Settings.php:1230
1894
  msgid "Enable Events for WordPress Background Activity"
1895
  msgstr ""
1896
 
1897
- #: classes/Views/Settings.php:1285
1898
  msgid ""
1899
  "The plugin runs file integrity scans on your website so it keeps a log when "
1900
  "a file is added, modified or deleted. All the settings for the file "
1901
  "integrity scans can be found in this page."
1902
  msgstr ""
1903
 
1904
- #: classes/Views/Settings.php:1286
1905
  msgid ""
1906
  "<a href=\"https://www.wpsecurityauditlog.com/support-documentation/wordpress-"
1907
  "files-changes-warning-activity-logs/?"
@@ -1910,20 +1970,20 @@ msgid ""
1910
  "feature page</a> for more information."
1911
  msgstr ""
1912
 
1913
- #: classes/Views/Settings.php:1289
1914
  msgid "Do you want the plugin to scan your website for file changes?"
1915
  msgstr ""
1916
 
1917
- #: classes/Views/Settings.php:1294
1918
  msgid "Keep a Log of File Changes"
1919
  msgstr ""
1920
 
1921
- #: classes/Views/Settings.php:1318
1922
  msgid ""
1923
  "Which file changes events do you want to keep a log of in the activity log?"
1924
  msgstr ""
1925
 
1926
- #: classes/Views/Settings.php:1320
1927
  msgid ""
1928
  "By default the plugin will keep a log whenever a file has been added, "
1929
  "modified or deleted. It will also log an event in the activity log when a "
@@ -1931,19 +1991,19 @@ msgid ""
1931
  "link to specify which of these events the plugin should keep a log of."
1932
  msgstr ""
1933
 
1934
- #: classes/Views/Settings.php:1326
1935
  msgid "Alert me when"
1936
  msgstr ""
1937
 
1938
- #: classes/Views/Settings.php:1339
1939
  msgid "Configure Events"
1940
  msgstr ""
1941
 
1942
- #: classes/Views/Settings.php:1348
1943
  msgid "When should the plugin scan your website for file changes?"
1944
  msgstr ""
1945
 
1946
- #: classes/Views/Settings.php:1350
1947
  msgid ""
1948
  "By default the plugin will run file integrity scans once a week. If you can, "
1949
  "ideally you should run file integrity scans on a daily basis. The file "
@@ -1953,283 +2013,283 @@ msgid ""
1953
  "complete."
1954
  msgstr ""
1955
 
1956
- #: classes/Views/Settings.php:1356
1957
  msgid "Scan Frequency"
1958
  msgstr ""
1959
 
1960
- #: classes/Views/Settings.php:1361
1961
  msgid "Daily"
1962
  msgstr ""
1963
 
1964
- #: classes/Views/Settings.php:1362
1965
  msgid "Weekly"
1966
  msgstr ""
1967
 
1968
- #: classes/Views/Settings.php:1363
1969
  msgid "Monthly"
1970
  msgstr ""
1971
 
1972
- #: classes/Views/Settings.php:1381
1973
  msgid "Scan Time"
1974
  msgstr ""
1975
 
1976
- #: classes/Views/Settings.php:1387
1977
  msgid "00:00"
1978
  msgstr ""
1979
 
1980
- #: classes/Views/Settings.php:1388
1981
  msgid "01:00"
1982
  msgstr ""
1983
 
1984
- #: classes/Views/Settings.php:1389
1985
  msgid "02:00"
1986
  msgstr ""
1987
 
1988
- #: classes/Views/Settings.php:1390
1989
  msgid "03:00"
1990
  msgstr ""
1991
 
1992
- #: classes/Views/Settings.php:1391
1993
  msgid "04:00"
1994
  msgstr ""
1995
 
1996
- #: classes/Views/Settings.php:1392
1997
  msgid "05:00"
1998
  msgstr ""
1999
 
2000
- #: classes/Views/Settings.php:1393
2001
  msgid "06:00"
2002
  msgstr ""
2003
 
2004
- #: classes/Views/Settings.php:1394
2005
  msgid "07:00"
2006
  msgstr ""
2007
 
2008
- #: classes/Views/Settings.php:1395
2009
  msgid "08:00"
2010
  msgstr ""
2011
 
2012
- #: classes/Views/Settings.php:1396
2013
  msgid "09:00"
2014
  msgstr ""
2015
 
2016
- #: classes/Views/Settings.php:1397
2017
  msgid "10:00"
2018
  msgstr ""
2019
 
2020
- #: classes/Views/Settings.php:1398
2021
  msgid "11:00"
2022
  msgstr ""
2023
 
2024
- #: classes/Views/Settings.php:1399
2025
  msgid "12:00"
2026
  msgstr ""
2027
 
2028
- #: classes/Views/Settings.php:1400
2029
  msgid "13:00"
2030
  msgstr ""
2031
 
2032
- #: classes/Views/Settings.php:1401
2033
  msgid "14:00"
2034
  msgstr ""
2035
 
2036
- #: classes/Views/Settings.php:1402
2037
  msgid "15:00"
2038
  msgstr ""
2039
 
2040
- #: classes/Views/Settings.php:1403
2041
  msgid "16:00"
2042
  msgstr ""
2043
 
2044
- #: classes/Views/Settings.php:1404
2045
  msgid "17:00"
2046
  msgstr ""
2047
 
2048
- #: classes/Views/Settings.php:1405
2049
  msgid "18:00"
2050
  msgstr ""
2051
 
2052
- #: classes/Views/Settings.php:1406
2053
  msgid "19:00"
2054
  msgstr ""
2055
 
2056
- #: classes/Views/Settings.php:1407
2057
  msgid "20:00"
2058
  msgstr ""
2059
 
2060
- #: classes/Views/Settings.php:1408
2061
  msgid "21:00"
2062
  msgstr ""
2063
 
2064
- #: classes/Views/Settings.php:1409
2065
  msgid "22:00"
2066
  msgstr ""
2067
 
2068
- #: classes/Views/Settings.php:1410
2069
  msgid "23:00"
2070
  msgstr ""
2071
 
2072
- #: classes/Views/Settings.php:1415
2073
  msgid "Monday"
2074
  msgstr ""
2075
 
2076
- #: classes/Views/Settings.php:1416
2077
  msgid "Tuesday"
2078
  msgstr ""
2079
 
2080
- #: classes/Views/Settings.php:1417
2081
  msgid "Wednesday"
2082
  msgstr ""
2083
 
2084
- #: classes/Views/Settings.php:1418
2085
  msgid "Thursday"
2086
  msgstr ""
2087
 
2088
- #: classes/Views/Settings.php:1419
2089
  msgid "Friday"
2090
  msgstr ""
2091
 
2092
- #: classes/Views/Settings.php:1420
2093
  msgid "Saturday"
2094
  msgstr ""
2095
 
2096
- #: classes/Views/Settings.php:1421
2097
  msgid "Sunday"
2098
  msgstr ""
2099
 
2100
- #: classes/Views/Settings.php:1426
2101
  msgid "01"
2102
  msgstr ""
2103
 
2104
- #: classes/Views/Settings.php:1427
2105
  msgid "02"
2106
  msgstr ""
2107
 
2108
- #: classes/Views/Settings.php:1428
2109
  msgid "03"
2110
  msgstr ""
2111
 
2112
- #: classes/Views/Settings.php:1429
2113
  msgid "04"
2114
  msgstr ""
2115
 
2116
- #: classes/Views/Settings.php:1430
2117
  msgid "05"
2118
  msgstr ""
2119
 
2120
- #: classes/Views/Settings.php:1431
2121
  msgid "06"
2122
  msgstr ""
2123
 
2124
- #: classes/Views/Settings.php:1432
2125
  msgid "07"
2126
  msgstr ""
2127
 
2128
- #: classes/Views/Settings.php:1433
2129
  msgid "08"
2130
  msgstr ""
2131
 
2132
- #: classes/Views/Settings.php:1434
2133
  msgid "09"
2134
  msgstr ""
2135
 
2136
- #: classes/Views/Settings.php:1435
2137
  msgid "10"
2138
  msgstr ""
2139
 
2140
- #: classes/Views/Settings.php:1436
2141
  msgid "11"
2142
  msgstr ""
2143
 
2144
- #: classes/Views/Settings.php:1437
2145
  msgid "12"
2146
  msgstr ""
2147
 
2148
- #: classes/Views/Settings.php:1438
2149
  msgid "13"
2150
  msgstr ""
2151
 
2152
- #: classes/Views/Settings.php:1439
2153
  msgid "14"
2154
  msgstr ""
2155
 
2156
- #: classes/Views/Settings.php:1440
2157
  msgid "15"
2158
  msgstr ""
2159
 
2160
- #: classes/Views/Settings.php:1441
2161
  msgid "16"
2162
  msgstr ""
2163
 
2164
- #: classes/Views/Settings.php:1442
2165
  msgid "17"
2166
  msgstr ""
2167
 
2168
- #: classes/Views/Settings.php:1443
2169
  msgid "18"
2170
  msgstr ""
2171
 
2172
- #: classes/Views/Settings.php:1444
2173
  msgid "19"
2174
  msgstr ""
2175
 
2176
- #: classes/Views/Settings.php:1445
2177
  msgid "20"
2178
  msgstr ""
2179
 
2180
- #: classes/Views/Settings.php:1446
2181
  msgid "21"
2182
  msgstr ""
2183
 
2184
- #: classes/Views/Settings.php:1447
2185
  msgid "22"
2186
  msgstr ""
2187
 
2188
- #: classes/Views/Settings.php:1448
2189
  msgid "23"
2190
  msgstr ""
2191
 
2192
- #: classes/Views/Settings.php:1449
2193
  msgid "24"
2194
  msgstr ""
2195
 
2196
- #: classes/Views/Settings.php:1450
2197
  msgid "25"
2198
  msgstr ""
2199
 
2200
- #: classes/Views/Settings.php:1451
2201
  msgid "26"
2202
  msgstr ""
2203
 
2204
- #: classes/Views/Settings.php:1452
2205
  msgid "27"
2206
  msgstr ""
2207
 
2208
- #: classes/Views/Settings.php:1453
2209
  msgid "28"
2210
  msgstr ""
2211
 
2212
- #: classes/Views/Settings.php:1454
2213
  msgid "29"
2214
  msgstr ""
2215
 
2216
- #: classes/Views/Settings.php:1455
2217
  msgid "30"
2218
  msgstr ""
2219
 
2220
- #: classes/Views/Settings.php:1471
2221
  msgid "Hour"
2222
  msgstr ""
2223
 
2224
- #: classes/Views/Settings.php:1487 classes/Views/Settings.php:1503
2225
  msgid "Day"
2226
  msgstr ""
2227
 
2228
- #: classes/Views/Settings.php:1513
2229
  msgid "Which directories should be scanned for file changes?"
2230
  msgstr ""
2231
 
2232
- #: classes/Views/Settings.php:1515
2233
  msgid ""
2234
  "The plugin will scan all the directories in your WordPress website by "
2235
  "default because that is the most secure option. Though if for some reason "
@@ -2237,15 +2297,15 @@ msgid ""
2237
  "them from the below list."
2238
  msgstr ""
2239
 
2240
- #: classes/Views/Settings.php:1521
2241
  msgid "Directories to scan"
2242
  msgstr ""
2243
 
2244
- #: classes/Views/Settings.php:1545
2245
  msgid "What is the biggest file size the plugin should scan?"
2246
  msgstr ""
2247
 
2248
- #: classes/Views/Settings.php:1546
2249
  msgid ""
2250
  "By default the plugin does not scan files that are bigger than 5MB. Such "
2251
  "files are not common, hence typically not a target. Though if you are "
@@ -2253,21 +2313,21 @@ msgid ""
2253
  "limit from the below option."
2254
  msgstr ""
2255
 
2256
- #: classes/Views/Settings.php:1549
2257
  msgid "File Size Limit"
2258
  msgstr ""
2259
 
2260
- #: classes/Views/Settings.php:1552
2261
  msgid "MB"
2262
  msgstr ""
2263
 
2264
- #: classes/Views/Settings.php:1558
2265
  msgid ""
2266
  "Do you want to exclude specific files or files with a particular extension "
2267
  "from the scan?"
2268
  msgstr ""
2269
 
2270
- #: classes/Views/Settings.php:1559
2271
  msgid ""
2272
  "The plugin will scan everything that is in the WordPress root directory or "
2273
  "below, even if the files and directories are not part of WordPress. It is "
@@ -2276,54 +2336,52 @@ msgid ""
2276
  "excluded by default."
2277
  msgstr ""
2278
 
2279
- #: classes/Views/Settings.php:1564
2280
  msgid "Exclude All Files in These Directories"
2281
  msgstr ""
2282
 
2283
- #: classes/Views/Settings.php:1577 classes/Views/Settings.php:1613
2284
- #: classes/Views/Settings.php:1643
2285
  msgid "REMOVE"
2286
  msgstr ""
2287
 
2288
- #: classes/Views/Settings.php:1582 classes/Views/Settings.php:1618
2289
- #: classes/Views/Settings.php:1648 classes/Views/SetupWizard.php:685
2290
- #: classes/Views/SetupWizard.php:693 classes/Views/SetupWizard.php:778
2291
- #: classes/Views/SetupWizard.php:797 classes/Views/SetupWizard.php:816
2292
  msgid "ADD"
2293
  msgstr ""
2294
 
2295
- #: classes/Views/Settings.php:1585
2296
  msgid ""
2297
  "Specify the name of the directory and the path to it in relation to the "
2298
  "website's root. For example, if you want to want to exclude all files in the "
2299
  "sub directory dir1/dir2 specify the following:"
2300
  msgstr ""
2301
 
2302
- #: classes/Views/Settings.php:1596
2303
  msgid "Exclude These Files"
2304
  msgstr ""
2305
 
2306
- #: classes/Views/Settings.php:1621
2307
  msgid ""
2308
  "Specify the name and extension of the file(s) you want to exclude. Wildcard "
2309
  "not supported. There is no need to specify the path of the file."
2310
  msgstr ""
2311
 
2312
- #: classes/Views/Settings.php:1630
2313
  msgid "Exclude these File Types"
2314
  msgstr ""
2315
 
2316
- #: classes/Views/Settings.php:1651
2317
  msgid ""
2318
  "Specify the extension of the file types you want to exclude. You should "
2319
  "exclude any type of logs and backup files that tend to be very big."
2320
  msgstr ""
2321
 
2322
- #: classes/Views/Settings.php:1660
2323
  msgid "Launch an instant file integrity scan"
2324
  msgstr ""
2325
 
2326
- #: classes/Views/Settings.php:1662
2327
  msgid ""
2328
  "Click the Scan Now button to launch an instant file integrity scan using the "
2329
  "configured settings. You can navigate away from this page during the scan. "
@@ -2331,25 +2389,25 @@ msgid ""
2331
  "scans."
2332
  msgstr ""
2333
 
2334
- #: classes/Views/Settings.php:1668
2335
  msgid "Launch Instant Scan"
2336
  msgstr ""
2337
 
2338
- #: classes/Views/Settings.php:1674 classes/Views/Settings.php:1681
2339
- #: classes/Views/Settings.php:2297
2340
  msgid "Scan Now"
2341
  msgstr ""
2342
 
2343
- #: classes/Views/Settings.php:1675 classes/Views/Settings.php:1678
2344
- #: classes/Views/Settings.php:1682
2345
  msgid "Stop Scan"
2346
  msgstr ""
2347
 
2348
- #: classes/Views/Settings.php:1677 classes/Views/Settings.php:2299
2349
  msgid "Scan in Progress"
2350
  msgstr ""
2351
 
2352
- #: classes/Views/Settings.php:1761
2353
  msgid ""
2354
  "By default the plugin keeps a log of all user changes done on your WordPress "
2355
  "website. Use the setting below to exclude any objects from the activity log. "
@@ -2357,103 +2415,107 @@ msgid ""
2357
  "object is referred will not be logged in the activity log."
2358
  msgstr ""
2359
 
2360
- #: classes/Views/Settings.php:1765
2361
  msgid "Exclude Users:"
2362
  msgstr ""
2363
 
2364
- #: classes/Views/Settings.php:1786
2365
  msgid "Exclude Roles:"
2366
  msgstr ""
2367
 
2368
- #: classes/Views/Settings.php:1807
2369
  msgid "Exclude IP Address(es):"
2370
  msgstr ""
2371
 
2372
- #: classes/Views/Settings.php:1823
2373
  msgid ""
2374
  "You can exclude an individual IP address or a range of IP addresses. To "
2375
  "exclude a range use the following format: [first IP]-[last octet of the last "
2376
  "IP]. Example: 172.16.180.6-127."
2377
  msgstr ""
2378
 
2379
- #: classes/Views/Settings.php:1829
2380
  msgid "Exclude Post Type:"
2381
  msgstr ""
2382
 
2383
- #: classes/Views/Settings.php:1845
2384
  msgid ""
2385
  "WordPress has the post and page post types by default though your website "
2386
  "might use more post types (custom post types). You can exclude all post "
2387
  "types, including the default WordPress ones."
2388
  msgstr ""
2389
 
2390
- #: classes/Views/Settings.php:1851
2391
  msgid "Exclude Custom Fields:"
2392
  msgstr ""
2393
 
2394
- #: classes/Views/Settings.php:1867
2395
  msgid ""
2396
  "You can use the * wildcard to exclude multiple matching custom fields. For "
2397
  "example to exclude all custom fields starting with wp123 enter wp123*"
2398
  msgstr ""
2399
 
2400
- #: classes/Views/Settings.php:1873
2401
  msgid "Exclude Non-Existing URLs:"
2402
  msgstr ""
2403
 
2404
- #: classes/Views/Settings.php:1889
2405
  msgid ""
2406
  "Add the non existing URLs for which you do not want to be alerted of HTTP "
2407
  "404 errors in the activity log by specifying the complete URL.\tExamples "
2408
  "below:"
2409
  msgstr ""
2410
 
2411
- #: classes/Views/Settings.php:1889
2412
  msgid "File: "
2413
  msgstr ""
2414
 
2415
- #: classes/Views/Settings.php:1889
2416
  msgid "Directory: "
2417
  msgstr ""
2418
 
2419
- #: classes/Views/Settings.php:1922
2420
  msgid ""
2421
  "You can export and import the plugin settings from here, which can also be "
2422
  "used as a plugin configuration backup. The plugin settings are exported to a "
2423
  "JSON file."
2424
  msgstr ""
2425
 
2426
- #: classes/Views/Settings.php:1923 classes/Views/Settings.php:1927
2427
- #: classes/Views/Settings.php:1950
2428
  msgid "Export Settings"
2429
  msgstr ""
2430
 
2431
- #: classes/Views/Settings.php:1957 classes/Views/Settings.php:1961
2432
- #: classes/Views/Settings.php:1965
2433
  msgid "Import Settings"
2434
  msgstr ""
2435
 
2436
- #: classes/Views/Settings.php:2031
 
 
 
 
2437
  msgid "The plugin settings have been imported successfully."
2438
  msgstr ""
2439
 
2440
- #: classes/Views/Settings.php:2033
2441
  msgid "No settings found to import."
2442
  msgstr ""
2443
 
2444
- #: classes/Views/Settings.php:2036
2445
  msgid "Invalid file or file size is too large."
2446
  msgstr ""
2447
 
2448
- #: classes/Views/Settings.php:2039
2449
  msgid "Error occurred while uploading the file."
2450
  msgstr ""
2451
 
2452
- #: classes/Views/Settings.php:2050
2453
  msgid "These settings are for advanced users."
2454
  msgstr ""
2455
 
2456
- #: classes/Views/Settings.php:2051
2457
  msgid ""
2458
  "If you have any questions <a href=\"https://www.wpsecurityauditlog.com/"
2459
  "contact/?"
@@ -2461,71 +2523,71 @@ msgid ""
2461
  "+pages\" target=\"_blank\">contact us</a>."
2462
  msgstr ""
2463
 
2464
- #: classes/Views/Settings.php:2054
2465
  msgid ""
2466
  "Troubleshooting setting: Keep a debug log of all the requests this website "
2467
  "receives"
2468
  msgstr ""
2469
 
2470
- #: classes/Views/Settings.php:2055
2471
  msgid ""
2472
  "Only enable the request log on testing, staging and development website. "
2473
  "Never enable logging on a live website unless instructed to do so. Enabling "
2474
  "request logging on a live website may degrade the performance of the website."
2475
  msgstr ""
2476
 
2477
- #: classes/Views/Settings.php:2059
2478
  msgid "Request Log"
2479
  msgstr ""
2480
 
2481
- #: classes/Views/Settings.php:2077
2482
  msgid ""
2483
  "<strong>Note:</strong> The requests debug log file is saved as request.log."
2484
  "php in the /wp-content/uploads/wp-security-audit-log/ directory."
2485
  msgstr ""
2486
 
2487
- #: classes/Views/Settings.php:2089
2488
  msgid "Reset plugin settings to default"
2489
  msgstr ""
2490
 
2491
- #: classes/Views/Settings.php:2090
2492
  msgid ""
2493
  "Click the RESET button to reset ALL plugin settings to default. Note that "
2494
  "the activity log data will be retained and only the plugin settings will be "
2495
  "reset. To purge the data of the activity log use the setting below."
2496
  msgstr ""
2497
 
2498
- #: classes/Views/Settings.php:2094
2499
  msgid "Reset Settings"
2500
  msgstr ""
2501
 
2502
- #: classes/Views/Settings.php:2096
2503
  msgid "RESET"
2504
  msgstr ""
2505
 
2506
- #: classes/Views/Settings.php:2102
2507
  msgid "Purge the WordPress activity log"
2508
  msgstr ""
2509
 
2510
- #: classes/Views/Settings.php:2103
2511
  msgid ""
2512
  "Click the Purge button below to delete all the data from the WordPress "
2513
  "activity log and start afresh."
2514
  msgstr ""
2515
 
2516
- #: classes/Views/Settings.php:2107
2517
  msgid "Purge Activity Log"
2518
  msgstr ""
2519
 
2520
- #: classes/Views/Settings.php:2109
2521
  msgid "PURGE"
2522
  msgstr ""
2523
 
2524
- #: classes/Views/Settings.php:2115
2525
  msgid "MainWP Child Site Stealth Mode"
2526
  msgstr ""
2527
 
2528
- #: classes/Views/Settings.php:2116
2529
  msgid ""
2530
  "This option is enabled automatically when the plugin detects the MainWP "
2531
  "Child plugin on the site. When this setting is enabled plugin access is "
@@ -2534,15 +2596,15 @@ msgid ""
2534
  "Disable this option to change the plugin to the default setup."
2535
  msgstr ""
2536
 
2537
- #: classes/Views/Settings.php:2120
2538
  msgid "Enable MainWP Child Site Stealth Mode"
2539
  msgstr ""
2540
 
2541
- #: classes/Views/Settings.php:2144
2542
  msgid "Do you want to delete the plugin data from the database upon uninstall?"
2543
  msgstr ""
2544
 
2545
- #: classes/Views/Settings.php:2145
2546
  msgid ""
2547
  "The plugin saves the activity log data and settings in the WordPress "
2548
  "database. By default upon uninstalling the plugin the data is kept in the "
@@ -2551,266 +2613,284 @@ msgid ""
2551
  "access it again even when you reinstall the plugin."
2552
  msgstr ""
2553
 
2554
- #: classes/Views/Settings.php:2149
2555
  msgid "Remove Data on Uninstall"
2556
  msgstr ""
2557
 
2558
- #: classes/Views/Settings.php:2174
2559
  msgid "Are you sure you want to reset all the plugin settings to default?"
2560
  msgstr ""
2561
 
2562
- #: classes/Views/Settings.php:2184
2563
  msgid "Are you sure you want to purge all the activity log data?"
2564
  msgstr ""
2565
 
2566
- #: classes/Views/Settings.php:2214
2567
  msgid "MainWP Child plugin is not active on this website."
2568
  msgstr ""
2569
 
2570
- #: classes/Views/Settings.php:2290
2571
  msgid "The specified value is not a valid URL!"
2572
  msgstr ""
2573
 
2574
- #: classes/Views/Settings.php:2291
2575
  msgid "The specified value is not a valid post type!"
2576
  msgstr ""
2577
 
2578
- #: classes/Views/Settings.php:2292
2579
  msgid "The specified value is not a valid IP address!"
2580
  msgstr ""
2581
 
2582
- #: classes/Views/Settings.php:2293
2583
  msgid "The specified value is not a user nor a role!"
2584
  msgstr ""
2585
 
2586
- #: classes/Views/Settings.php:2294
2587
  msgid "Filename cannot be added because it contains invalid characters."
2588
  msgstr ""
2589
 
2590
- #: classes/Views/Settings.php:2295
2591
  msgid "File extension cannot be added because it contains invalid characters."
2592
  msgstr ""
2593
 
2594
- #: classes/Views/Settings.php:2296
2595
  msgid "Directory cannot be added because it contains invalid characters."
2596
  msgstr ""
2597
 
2598
- #: classes/Views/Settings.php:2298
2599
  msgid "Scan Failed"
2600
  msgstr ""
2601
 
2602
- #: classes/Views/Settings.php:2429 classes/Views/Settings.php:2548
2603
  msgid "Invalid setting type."
2604
  msgstr ""
2605
 
2606
- #: classes/Views/Settings.php:2484
2607
  msgid "You can exclude this directory using the check boxes above."
2608
  msgstr ""
2609
 
2610
- #: classes/Views/Settings.php:2505
2611
  msgid "Option added to excluded types."
2612
  msgstr ""
2613
 
2614
- #: classes/Views/Settings.php:2510
2615
  msgid "This file is already excluded from the scan."
2616
  msgstr ""
2617
 
2618
- #: classes/Views/Settings.php:2512
2619
  msgid "This file extension is already excluded from the scan."
2620
  msgstr ""
2621
 
2622
- #: classes/Views/Settings.php:2514
2623
  msgid "This directory is already excluded from the scan."
2624
  msgstr ""
2625
 
2626
- #: classes/Views/Settings.php:2527
2627
  msgid "Option name is empty."
2628
  msgstr ""
2629
 
2630
- #: classes/Views/Settings.php:2625
2631
  msgid "Option removed from excluded scan types."
2632
  msgstr ""
2633
 
2634
- #: classes/Views/Settings.php:2632 classes/Views/Settings.php:2724
2635
  msgid "Something went wrong."
2636
  msgstr ""
2637
 
2638
- #: classes/Views/Settings.php:2661
2639
  msgid "A cron job is in progress."
2640
  msgstr ""
2641
 
2642
- #: classes/Views/Settings.php:2717 classes/Views/Settings.php:2760
2643
  msgid "Scan started successfully."
2644
  msgstr ""
2645
 
2646
- #: classes/Views/Settings.php:2786 classes/Views/Settings.php:2813
2647
  msgid "Tables has been reset."
2648
  msgstr ""
2649
 
2650
- #: classes/Views/Settings.php:2788 classes/Views/Settings.php:2815
2651
  msgid "Reset query failed."
2652
  msgstr ""
2653
 
2654
- #: classes/Views/Settings.php:2791 classes/Views/Settings.php:2818
2655
  msgid "Nonce Verification Failed."
2656
  msgstr ""
2657
 
2658
- #: classes/Views/SetupWizard.php:129
2659
  msgid "Welcome"
2660
  msgstr ""
2661
 
2662
- #: classes/Views/SetupWizard.php:133
2663
  msgid "Log Details"
2664
  msgstr ""
2665
 
2666
- #: classes/Views/SetupWizard.php:138
2667
  msgid "Log In"
2668
  msgstr ""
2669
 
2670
- #: classes/Views/SetupWizard.php:143
2671
  msgid "404s"
2672
  msgstr ""
2673
 
2674
- #: classes/Views/SetupWizard.php:148
2675
  msgid "User Registrations"
2676
  msgstr ""
2677
 
2678
- #: classes/Views/SetupWizard.php:153
2679
  msgid "Log Retention"
2680
  msgstr ""
2681
 
2682
- #: classes/Views/SetupWizard.php:158
2683
- msgid "Access"
2684
- msgstr ""
2685
-
2686
- #: classes/Views/SetupWizard.php:168 classes/Views/SetupWizard.php:907
2687
- #: classes/Views/SetupWizard.php:908
2688
  msgid "Finish"
2689
  msgstr ""
2690
 
2691
- #: classes/Views/SetupWizard.php:212
2692
  msgid "Specified value in not a user."
2693
  msgstr ""
2694
 
2695
- #: classes/Views/SetupWizard.php:213
2696
  msgid "Specified value in not a role."
2697
  msgstr ""
2698
 
2699
- #: classes/Views/SetupWizard.php:214
2700
  msgid "Specified value in not an IP address."
2701
  msgstr ""
2702
 
2703
- #: classes/Views/SetupWizard.php:244
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2704
  msgid "WP Security Audit Log &rsaquo; Setup Wizard"
2705
  msgstr ""
2706
 
2707
- #: classes/Views/SetupWizard.php:261
2708
  msgid "Close Wizard"
2709
  msgstr ""
2710
 
2711
- #: classes/Views/SetupWizard.php:339
 
 
 
 
 
 
 
2712
  msgid ""
2713
  "This wizard helps you configure the basic plugin settings. All these "
2714
  "settings can be changed at a later stage from the plugin settings."
2715
  msgstr ""
2716
 
2717
- #: classes/Views/SetupWizard.php:344
2718
  msgid "Start Configuring the Plugin"
2719
  msgstr ""
2720
 
2721
- #: classes/Views/SetupWizard.php:348
2722
  msgid "Exit Wizard"
2723
  msgstr ""
2724
 
2725
- #: classes/Views/SetupWizard.php:361
2726
  msgid "Please select the level of detail for your WordPress activity logs:"
2727
  msgstr ""
2728
 
2729
- #: classes/Views/SetupWizard.php:365
2730
  msgid ""
2731
  "Basic (I want a high level overview and I am not interested in the detail)"
2732
  msgstr ""
2733
 
2734
- #: classes/Views/SetupWizard.php:370
2735
  msgid "Geek (I want to know everything that is happening on my WordPress)"
2736
  msgstr ""
2737
 
2738
- #: classes/Views/SetupWizard.php:372
2739
  msgid ""
2740
  "Note: You can change the WordPress logging level from the plugin’s settings "
2741
  "anytime."
2742
  msgstr ""
2743
 
2744
- #: classes/Views/SetupWizard.php:375 classes/Views/SetupWizard.php:428
2745
- #: classes/Views/SetupWizard.php:476 classes/Views/SetupWizard.php:525
2746
- #: classes/Views/SetupWizard.php:585 classes/Views/SetupWizard.php:586
2747
- #: classes/Views/SetupWizard.php:718 classes/Views/SetupWizard.php:719
2748
- #: classes/Views/SetupWizard.php:838 classes/Views/SetupWizard.php:839
2749
  msgid "Next"
2750
  msgstr ""
2751
 
2752
- #: classes/Views/SetupWizard.php:412
2753
  msgid ""
2754
  "Do you or your users use other pages to log in to WordPress other than the "
2755
  "default login page ( /wp-admin/ )?"
2756
  msgstr ""
2757
 
2758
- #: classes/Views/SetupWizard.php:416
2759
  msgid "Yes, we use other pages to login to WordPress."
2760
  msgstr ""
2761
 
2762
- #: classes/Views/SetupWizard.php:421
2763
  msgid "No, we only use the default WordPress login page."
2764
  msgstr ""
2765
 
2766
- #: classes/Views/SetupWizard.php:423
2767
  msgid ""
2768
  "If your website is a membership or ecommerce website most probably you have "
2769
  "more than one area from where the users can login. If you are not sure, "
2770
  "select Yes."
2771
  msgstr ""
2772
 
2773
- #: classes/Views/SetupWizard.php:426 classes/Views/SetupWizard.php:474
2774
- #: classes/Views/SetupWizard.php:523 classes/Views/SetupWizard.php:577
2775
  msgid ""
2776
  "Note: You can change the WordPress activity log retention settings at any "
2777
  "time from the plugin settings later on."
2778
  msgstr ""
2779
 
2780
- #: classes/Views/SetupWizard.php:461
2781
  msgid ""
2782
  "Do you want to keep a log of (non-logged in) visitors’ requests to non-"
2783
  "existing URLs which generate a HTTP 404 error response?"
2784
  msgstr ""
2785
 
2786
- #: classes/Views/SetupWizard.php:509
2787
  msgid "Can visitors register for a user on your website?"
2788
  msgstr ""
2789
 
2790
- #: classes/Views/SetupWizard.php:520
2791
  msgid ""
2792
  "If you are not sure about this setting, check if the Membership setting in "
2793
  "the WordPress General settings is checked or not. If it is not checked "
2794
  "(default) select No."
2795
  msgstr ""
2796
 
2797
- #: classes/Views/SetupWizard.php:559
2798
  msgid "How long do you want to keep the data in the WordPress activity Log?"
2799
  msgstr ""
2800
 
2801
- #: classes/Views/SetupWizard.php:564
2802
  msgid "6 months (data older than 6 months will be deleted)"
2803
  msgstr ""
2804
 
2805
- #: classes/Views/SetupWizard.php:569
2806
  msgid "12 months (data older than 12 months will be deleted)"
2807
  msgstr ""
2808
 
2809
- #: classes/Views/SetupWizard.php:574
2810
  msgid "Keep all data."
2811
  msgstr ""
2812
 
2813
- #: classes/Views/SetupWizard.php:595
2814
  msgid ""
2815
  "The plugin stores the data in the WordPress database in a very efficient "
2816
  "way, though the more data you keep the more hard disk space it will consume. "
@@ -2821,7 +2901,7 @@ msgid ""
2821
  "Database tools to store the WordPress activity log in an external database."
2822
  msgstr ""
2823
 
2824
- #: classes/Views/SetupWizard.php:599
2825
  msgid ""
2826
  "The plugin stores the data in the WordPress database in a very efficient "
2827
  "way, though the more data you keep the more hard disk space it will consume. "
@@ -2829,88 +2909,53 @@ msgid ""
2829
  "WordPress activity log in an external database or enable archiving."
2830
  msgstr ""
2831
 
2832
- #: classes/Views/SetupWizard.php:666
2833
  msgid ""
2834
- "By default only the users with administrator role can access the WordPress "
2835
- "activity log. Would you like to allow any other user or users with a role to "
2836
- "access the WordPress activity log?"
2837
  msgstr ""
2838
 
2839
- #: classes/Views/SetupWizard.php:682 classes/Views/SetupWizard.php:775
2840
- msgid "Usernames: "
2841
  msgstr ""
2842
 
2843
- #: classes/Views/SetupWizard.php:690 classes/Views/SetupWizard.php:794
2844
- msgid "Roles: "
2845
  msgstr ""
2846
 
2847
- #: classes/Views/SetupWizard.php:711
2848
- msgid ""
2849
- "Note: you can change the WordPress activity log privileges settings at any "
2850
- "time from the plugin settings."
2851
  msgstr ""
2852
 
2853
- #: classes/Views/SetupWizard.php:725
2854
- msgid ""
2855
- "The WordPress activity log contains sensitive data such as who logged in, "
2856
- "from where, when, and what they did."
2857
  msgstr ""
2858
 
2859
- #: classes/Views/SetupWizard.php:770
2860
  msgid ""
2861
- "The plugin will keep a log of everything that happens on your WordPress "
2862
- "website. If you would like to exclude a particular user, users with a role "
2863
- "or an IP address from the log specify them below. If not just click the Next "
2864
- "button."
 
2865
  msgstr ""
2866
 
2867
- #: classes/Views/SetupWizard.php:813
2868
- msgid "IP Address: "
2869
  msgstr ""
2870
 
2871
- #: classes/Views/SetupWizard.php:831
2872
- msgid "Note: You can change these exclusions anytime from the plugin settings."
2873
  msgstr ""
2874
 
2875
- #: classes/Views/SetupWizard.php:845
2876
  msgid ""
2877
- "The WordPress activity log contains sensitive data such as who logged in, "
2878
- "from where, when and what they did."
2879
  msgstr ""
2880
 
2881
- #: classes/Views/SetupWizard.php:878
2882
- msgid ""
2883
- "Your plugin is all set and it is ready to start keeping a record of "
2884
- "everything that is happening on your WordPress in a WordPress activity log."
2885
- msgstr ""
2886
-
2887
- #: classes/Views/SetupWizard.php:879
2888
- msgid "Below are a few useful links you might need to refer to:"
2889
- msgstr ""
2890
-
2891
- #: classes/Views/SetupWizard.php:884
2892
- msgid "Getting started with the WP Security Audit Log plugin"
2893
- msgstr ""
2894
-
2895
- #: classes/Views/SetupWizard.php:889
2896
- msgid "Knowledge Base & Support Documents"
2897
- msgstr ""
2898
-
2899
- #: classes/Views/SetupWizard.php:894
2900
- msgid "Benefits of keeping a WordPress activity log"
2901
- msgstr ""
2902
-
2903
- #: classes/Views/SetupWizard.php:899
2904
- msgid ""
2905
- "We trust this plugin meets all your activity log requirements. Should you "
2906
- "encounter any problems, have feature requests or would like to share some "
2907
- "feedback, <a href=\"https://www.wpsecurityauditlog.com/contact/?"
2908
- "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=wizard"
2909
- "+configuration\" target=\"_blank\">please get in touch!</a>"
2910
- msgstr ""
2911
-
2912
- #: classes/Views/ToggleAlerts.php:27 classes/Views/ToggleAlerts.php:41
2913
- msgid "Enable/Disable Events"
2914
  msgstr ""
2915
 
2916
  #: classes/Views/ToggleAlerts.php:197
@@ -2943,141 +2988,135 @@ msgstr ""
2943
  msgid "Front-end Events"
2944
  msgstr ""
2945
 
2946
- #: classes/Views/ToggleAlerts.php:333
 
 
 
 
2947
  msgid "Code"
2948
  msgstr ""
2949
 
2950
- #: classes/Views/ToggleAlerts.php:335 classes/WidgetManager.php:83
2951
  msgid "Description"
2952
  msgstr ""
2953
 
2954
- #: classes/Views/ToggleAlerts.php:338 classes/Views/ToggleAlerts.php:459
2955
- #: classes/Views/ToggleAlerts.php:564 defaults.php:454
2956
  msgid "File Changes"
2957
  msgstr ""
2958
 
2959
- #: classes/Views/ToggleAlerts.php:339 defaults.php:183
2960
  msgid "Content"
2961
  msgstr ""
2962
 
2963
- #: classes/Views/ToggleAlerts.php:342
2964
  msgid ""
2965
  "<strong>Note:</strong> Post refers to any type of content, i.e. blog post, "
2966
  "page or a post with a custom post type."
2967
  msgstr ""
2968
 
2969
- #: classes/Views/ToggleAlerts.php:349
2970
- msgid ""
2971
- "The plugin BBPress is not installed on your website so these events have "
2972
- "been disabled."
2973
- msgstr ""
2974
-
2975
- #: classes/Views/ToggleAlerts.php:355 defaults.php:490
2976
- msgid "Forums"
2977
- msgstr ""
2978
-
2979
- #: classes/Views/ToggleAlerts.php:358 defaults.php:534
2980
  msgid "WooCommerce"
2981
  msgstr ""
2982
 
2983
- #: classes/Views/ToggleAlerts.php:358 classes/Views/ToggleAlerts.php:366
2984
  msgid "WooCommerce Products"
2985
  msgstr ""
2986
 
2987
- #: classes/Views/ToggleAlerts.php:362
2988
  msgid ""
2989
  "The plugin WooCommerce is not installed on your website so these events have "
2990
  "been disabled."
2991
  msgstr ""
2992
 
2993
- #: classes/Views/ToggleAlerts.php:369 defaults.php:535
2994
  msgid "Products"
2995
  msgstr ""
2996
 
2997
- #: classes/Views/ToggleAlerts.php:377
2998
  msgid ""
2999
  "The plugin Yoast SEO is not installed on your website so these events have "
3000
  "been disabled."
3001
  msgstr ""
3002
 
3003
- #: classes/Views/ToggleAlerts.php:383 defaults.php:649
3004
  msgid "Post Changes"
3005
  msgstr ""
3006
 
3007
- #: classes/Views/ToggleAlerts.php:386 defaults.php:524
3008
  msgid "MultiSite"
3009
  msgstr ""
3010
 
3011
- #: classes/Views/ToggleAlerts.php:390
3012
  msgid ""
3013
  "Your website is a single site so the multisite events have been disabled."
3014
  msgstr ""
3015
 
3016
- #: classes/Views/ToggleAlerts.php:394
3017
  msgid "Other User Activity"
3018
  msgstr ""
3019
 
3020
- #: classes/Views/ToggleAlerts.php:397
3021
  msgid "Logins & Logouts"
3022
  msgstr ""
3023
 
3024
- #: classes/Views/ToggleAlerts.php:416
3025
  msgid "Not Implemented"
3026
  msgstr ""
3027
 
3028
- #: classes/Views/ToggleAlerts.php:419
3029
  msgid "Not Available"
3030
  msgstr ""
3031
 
3032
- #: classes/Views/ToggleAlerts.php:429
3033
  msgid "User Sessions"
3034
  msgstr ""
3035
 
3036
- #: classes/Views/ToggleAlerts.php:431
3037
  msgid "Files"
3038
  msgstr ""
3039
 
3040
- #: classes/Views/ToggleAlerts.php:433
3041
  msgid "Post Settings"
3042
  msgstr ""
3043
 
3044
- #: classes/Views/ToggleAlerts.php:435
3045
  msgid "Product Admin"
3046
  msgstr ""
3047
 
3048
- #: classes/Views/ToggleAlerts.php:437
3049
  msgid "Product Attributes"
3050
  msgstr ""
3051
 
3052
- #: classes/Views/ToggleAlerts.php:501 classes/Views/ToggleAlerts.php:643
3053
  msgid ""
3054
  "Capture 404 requests to file (the log file are created in the /wp-content/"
3055
  "uploads/wp-security-audit-log/404s/ directory)"
3056
  msgstr ""
3057
 
3058
- #: classes/Views/ToggleAlerts.php:509 classes/Views/ToggleAlerts.php:647
3059
  msgid "Purge log files older than one month"
3060
  msgstr ""
3061
 
3062
- #: classes/Views/ToggleAlerts.php:514
3063
  msgid ""
3064
  "Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
3065
  "to non-existing pages from the same IP address. Increase the value in this "
3066
  "setting to the desired amount to keep a log of more or less requests."
3067
  msgstr ""
3068
 
3069
- #: classes/Views/ToggleAlerts.php:519 classes/Views/ToggleAlerts.php:655
3070
  msgid "Record the referrer that generated the 404 error."
3071
  msgstr ""
3072
 
3073
- #: classes/Views/ToggleAlerts.php:531 classes/Views/ToggleAlerts.php:544
3074
  msgid ""
3075
  "Number of login attempts to log. Enter 0 to log all failed login attempts. "
3076
  "(By default the plugin only logs up to 10 failed login because the process "
3077
  "can be very resource intensive in case of a brute force attack)"
3078
  msgstr ""
3079
 
3080
- #: classes/Views/ToggleAlerts.php:557
3081
  msgid ""
3082
  "Log all stock changes. Disable this setting to only keep a log of stock "
3083
  "changes done manually via the WooCommerce dashboard. Therefore automated "
@@ -3085,11 +3124,11 @@ msgid ""
3085
  "plugins will not be logged."
3086
  msgstr ""
3087
 
3088
- #: classes/Views/ToggleAlerts.php:579
3089
  msgid "Configure the file integrity scan settings."
3090
  msgstr ""
3091
 
3092
- #: classes/Views/ToggleAlerts.php:600
3093
  msgid ""
3094
  "This plugin keeps a log of what your website users are doing when they are "
3095
  "logged in. On top of that it can also keep a log of some important events of "
@@ -3097,38 +3136,38 @@ msgid ""
3097
  "any of the front-end sensors:"
3098
  msgstr ""
3099
 
3100
- #: classes/Views/ToggleAlerts.php:605
3101
  msgid "Front-end users registrations"
3102
  msgstr ""
3103
 
3104
- #: classes/Views/ToggleAlerts.php:611
3105
  msgid ""
3106
  "Keep a log when a visitor registers a user on the website. Only enable this "
3107
  "if you allow visitors to register as users on your website. User "
3108
  "registration is disabled by default in WordPress."
3109
  msgstr ""
3110
 
3111
- #: classes/Views/ToggleAlerts.php:616
3112
  msgid "Front-end users logins"
3113
  msgstr ""
3114
 
3115
- #: classes/Views/ToggleAlerts.php:622
3116
  msgid ""
3117
  "Keep a log when users login to the website from other login pages / forms "
3118
  "other than the default WordPress login page."
3119
  msgstr ""
3120
 
3121
- #: classes/Views/ToggleAlerts.php:627
3122
  msgid "Website visitors 404 errors"
3123
  msgstr ""
3124
 
3125
- #: classes/Views/ToggleAlerts.php:633
3126
  msgid ""
3127
  "Event ID 6023: Keep a log when a website visitor requests a non-existing URL "
3128
  "(HTTP 404 response error)."
3129
  msgstr ""
3130
 
3131
- #: classes/Views/ToggleAlerts.php:651
3132
  msgid ""
3133
  "Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
3134
  "to non-existing pages from the same IP address. Increase the value in this "
@@ -3137,50 +3176,50 @@ msgid ""
3137
  "scanned the plugin will consume more resources to log all the requests."
3138
  msgstr ""
3139
 
3140
- #: classes/Views/ToggleAlerts.php:659
3141
  msgid "Front-end WooCommerce activity"
3142
  msgstr ""
3143
 
3144
- #: classes/Views/ToggleAlerts.php:665
3145
  msgid ""
3146
  "Keep a log of product stocks and orders changes done by website visitors "
3147
  "(non-logged in). Regardless of the state of this setting, the plugin always "
3148
  "keeps a log of changes done by logged in users."
3149
  msgstr ""
3150
 
3151
- #: classes/Views/ToggleAlerts.php:671
3152
  msgid "Save Changes"
3153
  msgstr ""
3154
 
3155
- #: classes/Views/ToggleAlerts.php:678
3156
  msgid "Log Level Updated"
3157
  msgstr ""
3158
 
3159
  #. translators: Alerts log level.
3160
- #: classes/Views/ToggleAlerts.php:682
3161
  #, php-format
3162
  msgid "The %s log level has been successfully loaded and applied."
3163
  msgstr ""
3164
 
3165
- #: classes/Views/ToggleAlerts.php:686
3166
  msgid "OK"
3167
  msgstr ""
3168
 
3169
- #: classes/Views/ToggleAlerts.php:701
3170
  msgid "Enable File Integrity Scanner"
3171
  msgstr ""
3172
 
3173
- #: classes/Views/ToggleAlerts.php:703
3174
  msgid ""
3175
  "The file integrity scanner is switched off. To enable this event it has to "
3176
  "be switched on."
3177
  msgstr ""
3178
 
3179
- #: classes/Views/ToggleAlerts.php:707
3180
  msgid "SWITCH ON"
3181
  msgstr ""
3182
 
3183
- #: classes/Views/ToggleAlerts.php:708
3184
  msgid "DISABLE EVENT"
3185
  msgstr ""
3186
 
@@ -3196,262 +3235,201 @@ msgstr ""
3196
  msgid "Latest Events"
3197
  msgstr ""
3198
 
3199
- #: classes/WidgetManager.php:77
3200
  msgid "No events found."
3201
  msgstr ""
3202
 
3203
- #: defaults.php:87
3204
- msgid "Fatal run-time error."
3205
- msgstr ""
3206
-
3207
- #: defaults.php:91
3208
- msgid "Run-time warning (non-fatal error)."
3209
- msgstr ""
3210
-
3211
- #: defaults.php:95
3212
- msgid "Compile-time parse error."
3213
- msgstr ""
3214
-
3215
- #: defaults.php:99 defaults.php:161
3216
- msgid "Run-time notice."
3217
- msgstr ""
3218
-
3219
- #: defaults.php:103
3220
- msgid "Fatal error that occurred during startup."
3221
- msgstr ""
3222
-
3223
- #: defaults.php:107
3224
- msgid "Warnings that occurred during startup."
3225
- msgstr ""
3226
-
3227
- #: defaults.php:111
3228
- msgid "Fatal compile-time error."
3229
- msgstr ""
3230
-
3231
- #: defaults.php:115
3232
- msgid "Compile-time warning."
3233
- msgstr ""
3234
-
3235
- #: defaults.php:119
3236
- msgid "User-generated error message."
3237
- msgstr ""
3238
-
3239
- #: defaults.php:123
3240
- msgid "User-generated warning message."
3241
- msgstr ""
3242
-
3243
- #: defaults.php:127
3244
- msgid "User-generated notice message."
3245
- msgstr ""
3246
-
3247
- #: defaults.php:131
3248
- msgid "Non-standard/optimal code warning."
3249
- msgstr ""
3250
-
3251
- #: defaults.php:135
3252
- msgid "Catchable fatal error."
3253
- msgstr ""
3254
-
3255
- #: defaults.php:139
3256
- msgid "Run-time deprecation notices."
3257
- msgstr ""
3258
-
3259
- #: defaults.php:143
3260
- msgid "Run-time user deprecation notices."
3261
- msgstr ""
3262
-
3263
- #: defaults.php:148 defaults.php:157
3264
- msgid "Critical, high-impact messages."
3265
  msgstr ""
3266
 
3267
- #: defaults.php:152
3268
- msgid "Debug informational messages."
3269
  msgstr ""
3270
 
3271
- #: defaults.php:158
3272
- msgid "High severity messages."
3273
  msgstr ""
3274
 
3275
- #: defaults.php:159
3276
- msgid "Medium severity messages."
3277
  msgstr ""
3278
 
3279
- #: defaults.php:160
3280
- msgid "Low severity messages."
3281
  msgstr ""
3282
 
3283
- #: defaults.php:166
3284
  msgid "Users Logins & Sessions Events"
3285
  msgstr ""
3286
 
3287
- #: defaults.php:167
3288
  msgid "User Activity"
3289
  msgstr ""
3290
 
3291
- #: defaults.php:168
3292
  msgid "User logged in"
3293
  msgstr ""
3294
 
3295
- #: defaults.php:169
3296
  msgid "User logged out"
3297
  msgstr ""
3298
 
3299
- #: defaults.php:170
3300
  msgid "Login failed"
3301
  msgstr ""
3302
 
3303
- #: defaults.php:171
3304
  msgid "Login failed / non existing user"
3305
  msgstr ""
3306
 
3307
- #: defaults.php:171
3308
  msgid "%Attempts% failed login(s) %LineBreak% %LogFileText%"
3309
  msgstr ""
3310
 
3311
- #: defaults.php:172
3312
  msgid "Login blocked"
3313
  msgstr ""
3314
 
3315
- #: defaults.php:172
3316
  msgid ""
3317
  "Login blocked because other session(s) already exist for this user. "
3318
  "%LineBreak% IP address: %ClientIP%"
3319
  msgstr ""
3320
 
3321
- #: defaults.php:173
3322
  msgid "User logged in with existing session(s)"
3323
  msgstr ""
3324
 
3325
- #: defaults.php:173
3326
  msgid ""
3327
  "User logged in however there are other session(s) already exist for this "
3328
  "user. %LineBreak% IP address: %IPAddress%"
3329
  msgstr ""
3330
 
3331
- #: defaults.php:174
3332
  msgid "User logged out all other sessions with the same username"
3333
  msgstr ""
3334
 
3335
- #: defaults.php:174
3336
  msgid "Logged out all other sessions with the same user."
3337
  msgstr ""
3338
 
3339
- #: defaults.php:175
3340
  msgid "User session destroyed and logged out"
3341
  msgstr ""
3342
 
3343
- #: defaults.php:175
3344
  msgid ""
3345
  "Terminated the session of another user. %LineBreak% User: %TargetUserName% "
3346
  "%LineBreak% Session ID: %TargetSessionID%"
3347
  msgstr ""
3348
 
3349
- #: defaults.php:176
3350
  msgid "Switched to another user"
3351
  msgstr ""
3352
 
3353
- #: defaults.php:176
3354
  msgid ""
3355
  "Switched to another user. %LineBreak% User: %TargetUserName% %LineBreak% "
3356
  "Role: %TargetUserRole%"
3357
  msgstr ""
3358
 
3359
- #: defaults.php:177
3360
  msgid "User uploaded file from Uploads directory"
3361
  msgstr ""
3362
 
3363
- #: defaults.php:177 defaults.php:178
3364
  msgid "Filename: %FileName% %LineBreak% Directory: %FilePath%"
3365
  msgstr ""
3366
 
3367
- #: defaults.php:178
3368
  msgid "User deleted file from Uploads directory"
3369
  msgstr ""
3370
 
3371
- #: defaults.php:182
3372
  msgid "Content & Comments"
3373
  msgstr ""
3374
 
3375
- #: defaults.php:184
3376
  msgid "User created a new post and saved it as draft"
3377
  msgstr ""
3378
 
3379
- #: defaults.php:184
3380
  msgid ""
3381
  "Created the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: "
3382
  "%PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak"
3383
  "% %EditorLinkPost%"
3384
  msgstr ""
3385
 
3386
- #: defaults.php:185
3387
  msgid "User published a post"
3388
  msgstr ""
3389
 
3390
- #: defaults.php:185
3391
  msgid ""
3392
  "Published the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: "
3393
  "%PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak"
3394
  "% %EditorLinkPost%"
3395
  msgstr ""
3396
 
3397
- #: defaults.php:186
3398
  msgid "User modified a post"
3399
  msgstr ""
3400
 
3401
- #: defaults.php:186
3402
  msgid ""
3403
  "Modified the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: "
3404
  "%PostType% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3405
  msgstr ""
3406
 
3407
- #: defaults.php:187
3408
  msgid "User permanently deleted a post from the trash"
3409
  msgstr ""
3410
 
3411
- #: defaults.php:187
3412
  msgid ""
3413
  "Permanently deleted the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak"
3414
  "% Type: %PostType%"
3415
  msgstr ""
3416
 
3417
- #: defaults.php:188
3418
  msgid "User moved a post to the trash"
3419
  msgstr ""
3420
 
3421
- #: defaults.php:188
3422
  msgid ""
3423
  "Moved the post %PostTitle% to trash %LineBreak% ID: %PostID% %LineBreak% "
3424
- "Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3425
- "%LineBreak% %EditorLinkPost%"
3426
  msgstr ""
3427
 
3428
- #: defaults.php:189
3429
  msgid "User restored a post from trash"
3430
  msgstr ""
3431
 
3432
- #: defaults.php:189
3433
  msgid ""
3434
  "Restored the post %PostTitle% from trash %LineBreak% ID: %PostID% %LineBreak"
3435
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3436
  "%LineBreak% %EditorLinkPost%"
3437
  msgstr ""
3438
 
3439
- #: defaults.php:190
3440
  msgid "User changed post URL"
3441
  msgstr ""
3442
 
3443
- #: defaults.php:190
3444
  msgid ""
3445
  "Changed the URL of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% "
3446
  "Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous URL: "
3447
  "%OldUrl% %LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkPost%"
3448
  msgstr ""
3449
 
3450
- #: defaults.php:191
3451
  msgid "User changed post author"
3452
  msgstr ""
3453
 
3454
- #: defaults.php:191
3455
  msgid ""
3456
  "Changed the author of the post %PostTitle% %LineBreak% ID: %PostID% "
3457
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -3459,22 +3437,22 @@ msgid ""
3459
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%."
3460
  msgstr ""
3461
 
3462
- #: defaults.php:192
3463
  msgid "User changed post status"
3464
  msgstr ""
3465
 
3466
- #: defaults.php:192
3467
  msgid ""
3468
  "Changed the status of the post %PostTitle% %LineBreak% ID: %PostID% "
3469
  "%LineBreak% Type: %PostType% %LineBreak% Status was: %OldStatus% %LineBreak% "
3470
  "New status: %NewStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3471
  msgstr ""
3472
 
3473
- #: defaults.php:193
3474
  msgid "User changed the visibility of a post"
3475
  msgstr ""
3476
 
3477
- #: defaults.php:193
3478
  msgid ""
3479
  "Changed the visibility of the post %PostTitle% %LineBreak% ID: %PostID% "
3480
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -3482,11 +3460,11 @@ msgid ""
3482
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3483
  msgstr ""
3484
 
3485
- #: defaults.php:194
3486
  msgid "User changed the date of a post"
3487
  msgstr ""
3488
 
3489
- #: defaults.php:194
3490
  msgid ""
3491
  "Changed the date of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak"
3492
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous "
@@ -3494,11 +3472,11 @@ msgid ""
3494
  "%LineBreak% %EditorLinkPost%"
3495
  msgstr ""
3496
 
3497
- #: defaults.php:195
3498
  msgid "User changed the parent of a page"
3499
  msgstr ""
3500
 
3501
- #: defaults.php:195
3502
  msgid ""
3503
  "Changed the parent of the post %PostTitle% %LineBreak% ID: %PostID% "
3504
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -3506,11 +3484,11 @@ msgid ""
3506
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3507
  msgstr ""
3508
 
3509
- #: defaults.php:196
3510
  msgid "User changed the template of a page"
3511
  msgstr ""
3512
 
3513
- #: defaults.php:196
3514
  msgid ""
3515
  "Changed the template of the post %PostTitle% %LineBreak% ID: %PostID% "
3516
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -3518,210 +3496,210 @@ msgid ""
3518
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3519
  msgstr ""
3520
 
3521
- #: defaults.php:197
3522
  msgid "User set a post as sticky"
3523
  msgstr ""
3524
 
3525
- #: defaults.php:197
3526
  msgid ""
3527
  "Set the post %PostTitle% as sticky %LineBreak% ID: %PostID% %LineBreak% "
3528
  "Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3529
  "%LineBreak% %EditorLinkPost%"
3530
  msgstr ""
3531
 
3532
- #: defaults.php:198
3533
  msgid "User removed post from sticky"
3534
  msgstr ""
3535
 
3536
- #: defaults.php:198
3537
  msgid ""
3538
  "Removed the post %PostTitle% from sticky %LineBreak% ID: %PostID% %LineBreak"
3539
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3540
  "%LineBreak% %EditorLinkPost%"
3541
  msgstr ""
3542
 
3543
- #: defaults.php:199
3544
  msgid "User modified the content of a post"
3545
  msgstr ""
3546
 
3547
- #: defaults.php:199
3548
  msgid ""
3549
  "Modified the content of the post %PostTitle% %LineBreak% ID: %PostID% "
3550
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
3551
  "%RevisionLink% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3552
  msgstr ""
3553
 
3554
- #: defaults.php:200
3555
  msgid "User submitted a post for review"
3556
  msgstr ""
3557
 
3558
- #: defaults.php:200
3559
  msgid ""
3560
  "Submitted the post %PostTitle% for review %LineBreak% ID: %PostID% %LineBreak"
3561
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3562
  "%LineBreak% %EditorLinkPost%"
3563
  msgstr ""
3564
 
3565
- #: defaults.php:201
3566
  msgid "User scheduled a post"
3567
  msgstr ""
3568
 
3569
- #: defaults.php:201
3570
  msgid ""
3571
  "Scheduled the post %PostTitle% to be published on %PublishingDate% %LineBreak"
3572
  "% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
3573
  "%LineBreak% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3574
  msgstr ""
3575
 
3576
- #: defaults.php:202
3577
  msgid "User changed title of a post"
3578
  msgstr ""
3579
 
3580
- #: defaults.php:202
3581
  msgid ""
3582
  "Changed the title of the post %OldTitle% %LineBreak% New title: %NewTitle% "
3583
  "%LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: "
3584
  "%PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3585
  msgstr ""
3586
 
3587
- #: defaults.php:203
3588
  msgid "User opened a post in the editor"
3589
  msgstr ""
3590
 
3591
- #: defaults.php:203
3592
  msgid ""
3593
  "Opened the post %PostTitle% in the editor %LineBreak% ID: %PostID% %LineBreak"
3594
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3595
  "%LineBreak% %EditorLinkPost%"
3596
  msgstr ""
3597
 
3598
- #: defaults.php:204
3599
  msgid "User viewed a post"
3600
  msgstr ""
3601
 
3602
- #: defaults.php:204
3603
  msgid ""
3604
  "Viewed the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: "
3605
  "%PostType% %LineBreak% Status: %PostStatus% %LineBreak% URL: %PostUrl% "
3606
  "%LineBreak% %EditorLinkPost%"
3607
  msgstr ""
3608
 
3609
- #: defaults.php:205
3610
  msgid "A plugin modified a post"
3611
  msgstr ""
3612
 
3613
- #: defaults.php:205
3614
  msgid ""
3615
  "Plugin modified the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% "
3616
  "Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3617
  "%LineBreak% %EditorLinkPost%"
3618
  msgstr ""
3619
 
3620
- #: defaults.php:206
3621
  msgid "User enabled/disabled comments in a post"
3622
  msgstr ""
3623
 
3624
- #: defaults.php:206
3625
  msgid ""
3626
  "The comments in the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% "
3627
  "Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3628
  "%LineBreak% %EditorLinkPost%"
3629
  msgstr ""
3630
 
3631
- #: defaults.php:207
3632
  msgid "User enabled/disabled trackbacks and pingbacks in a post"
3633
  msgstr ""
3634
 
3635
- #: defaults.php:207
3636
  msgid ""
3637
  "Pingbacks and Trackbacks in the post %PostTitle% %LineBreak% ID: %PostID% "
3638
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
3639
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3640
  msgstr ""
3641
 
3642
- #: defaults.php:210
3643
  msgid "Tags"
3644
  msgstr ""
3645
 
3646
- #: defaults.php:211
3647
  msgid "User added post tag"
3648
  msgstr ""
3649
 
3650
- #: defaults.php:211
3651
  msgid ""
3652
  "Added tag(s) to the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% "
3653
  "Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Added tag(s): "
3654
  "%tag% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3655
  msgstr ""
3656
 
3657
- #: defaults.php:212
3658
  msgid "User removed post tag"
3659
  msgstr ""
3660
 
3661
- #: defaults.php:212
3662
  msgid ""
3663
  "Removed tag(s) from the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak"
3664
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Removed "
3665
  "tag(s): %tag% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3666
  msgstr ""
3667
 
3668
- #: defaults.php:213
3669
  msgid "User created new tag"
3670
  msgstr ""
3671
 
3672
- #: defaults.php:213
3673
  msgid ""
3674
  "Created the tag %TagName% %LineBreak% Slug: %Slug% %LineBreak% %TagLink%"
3675
  msgstr ""
3676
 
3677
- #: defaults.php:214
3678
  msgid "User deleted tag"
3679
  msgstr ""
3680
 
3681
- #: defaults.php:214
3682
  msgid "Deleted the tag %TagName% %LineBreak% Slug: %Slug%"
3683
  msgstr ""
3684
 
3685
- #: defaults.php:215
3686
  msgid "User renamed tag"
3687
  msgstr ""
3688
 
3689
- #: defaults.php:215
3690
  msgid ""
3691
- "Renamed the tag %old_name% %LineBreak% New name: %new_name% %LineBreak% "
3692
- "Slug: %Slug% %LineBreak% %TagLink%"
3693
  msgstr ""
3694
 
3695
- #: defaults.php:216
3696
  msgid "User changed tag slug"
3697
  msgstr ""
3698
 
3699
- #: defaults.php:216
3700
  msgid ""
3701
  "Changed the slug of the tag %tag% %LineBreak% Previous slug: %old_slug% "
3702
  "%LineBreak% New slug: %new_slug% %LineBreak% %TagLink%"
3703
  msgstr ""
3704
 
3705
- #: defaults.php:217
3706
  msgid "User changed tag description"
3707
  msgstr ""
3708
 
3709
- #: defaults.php:217
3710
  msgid ""
3711
  "Changed the description of the tag %tag% %LineBreak% Slug: %Slug% %LineBreak"
3712
  "% Previous description: %old_desc% %LineBreak% New description: %new_desc% "
3713
  "%LineBreak% %TagLink%"
3714
  msgstr ""
3715
 
3716
- #: defaults.php:220
3717
  msgid "Categories"
3718
  msgstr ""
3719
 
3720
- #: defaults.php:221
3721
  msgid "User changed post category"
3722
  msgstr ""
3723
 
3724
- #: defaults.php:221
3725
  msgid ""
3726
  "Changed the category of the post %PostTitle% %LineBreak% ID: %PostID% "
3727
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -3729,64 +3707,64 @@ msgid ""
3729
  "%NewCategories% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3730
  msgstr ""
3731
 
3732
- #: defaults.php:222
3733
  msgid "User created new category"
3734
  msgstr ""
3735
 
3736
- #: defaults.php:222
3737
  msgid ""
3738
  "Created the category %CategoryName% %LineBreak% Slug: %Slug% %LineBreak% "
3739
  "%CategoryLink%"
3740
  msgstr ""
3741
 
3742
- #: defaults.php:223
3743
  msgid "User deleted category"
3744
  msgstr ""
3745
 
3746
- #: defaults.php:223
3747
  msgid "Deleted the category %CategoryName% %LineBreak% Slug: %Slug%"
3748
  msgstr ""
3749
 
3750
- #: defaults.php:224
3751
  msgid "Changed the parent of a category"
3752
  msgstr ""
3753
 
3754
- #: defaults.php:224
3755
  msgid ""
3756
  "Changed the parent of the category %CategoryName% %LineBreak% Slug: %Slug% "
3757
  "%LineBreak% Previous parent: %OldParent% %LineBreak% New parent: %NewParent% "
3758
  "%LineBreak% %CategoryLink%"
3759
  msgstr ""
3760
 
3761
- #: defaults.php:225
3762
  msgid "User changed category name"
3763
  msgstr ""
3764
 
3765
- #: defaults.php:225
3766
  msgid ""
3767
- "Changed the name of the category: %new_name% %LineBreak% Slug: %Slug% "
3768
- "%LineBreak% Previous name: %old_name% %LineBreak% %cat_link%"
3769
  msgstr ""
3770
 
3771
- #: defaults.php:226
3772
  msgid "User changed category slug"
3773
  msgstr ""
3774
 
3775
- #: defaults.php:226
3776
  msgid ""
3777
  "Changed the slug of the category: %CategoryName% %LineBreak% Previous slug: "
3778
  "%old_slug% %LineBreak% New slug: %new_slug% %LineBreak% %cat_link%"
3779
  msgstr ""
3780
 
3781
- #: defaults.php:229
3782
  msgid "Custom Fields"
3783
  msgstr ""
3784
 
3785
- #: defaults.php:230
3786
  msgid "User created a custom field for a post"
3787
  msgstr ""
3788
 
3789
- #: defaults.php:230
3790
  msgid ""
3791
  "Created a new custom field called %MetaKey% in the post %PostTitle% "
3792
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
@@ -3794,11 +3772,11 @@ msgid ""
3794
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%"
3795
  msgstr ""
3796
 
3797
- #: defaults.php:231
3798
  msgid "User updated a custom field value for a post"
3799
  msgstr ""
3800
 
3801
- #: defaults.php:231
3802
  msgid ""
3803
  "Modified the value of the custom field %MetaKey% in the post %PostTitle% "
3804
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
@@ -3807,38 +3785,38 @@ msgid ""
3807
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%."
3808
  msgstr ""
3809
 
3810
- #: defaults.php:232
3811
  msgid "User deleted a custom field from a post"
3812
  msgstr ""
3813
 
3814
- #: defaults.php:232
3815
  msgid ""
3816
  "Deleted the custom field %MetaKey% from the post %PostTitle% %LineBreak% "
3817
  "Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: "
3818
  "%PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3819
  msgstr ""
3820
 
3821
- #: defaults.php:233
3822
  msgid "User updated a custom field name for a post"
3823
  msgstr ""
3824
 
3825
- #: defaults.php:233
3826
  msgid ""
3827
- "Renamed the custom field %MetaKeyOld% in the post %PostTitle% %LineBreak% "
3828
- "New name: %MetaKeyNew% %LineBreak% Post ID: %PostID% %LineBreak% Post Type: "
3829
- "%PostType% %LineBreak% Post Status: %PostStatus% %PostUrlIfPlublished% "
3830
- "%LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%"
3831
  msgstr ""
3832
 
3833
- #: defaults.php:239
3834
  msgid "Comments"
3835
  msgstr ""
3836
 
3837
- #: defaults.php:240
3838
  msgid "User approved a comment"
3839
  msgstr ""
3840
 
3841
- #: defaults.php:240
3842
  msgid ""
3843
  "Approved the comment posted by %Author% on the post %PostTitle% %LineBreak% "
3844
  "Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: "
@@ -3846,11 +3824,11 @@ msgid ""
3846
  "%LineBreak% %CommentLink%"
3847
  msgstr ""
3848
 
3849
- #: defaults.php:241
3850
  msgid "User unapproved a comment"
3851
  msgstr ""
3852
 
3853
- #: defaults.php:241
3854
  msgid ""
3855
  "Unapproved the comment posted by %Author% on the post %PostTitle% %LineBreak"
3856
  "% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post "
@@ -3858,11 +3836,11 @@ msgid ""
3858
  "% %LineBreak% %CommentLink%"
3859
  msgstr ""
3860
 
3861
- #: defaults.php:242
3862
  msgid "User replied to a comment"
3863
  msgstr ""
3864
 
3865
- #: defaults.php:242
3866
  msgid ""
3867
  "Replied to the comment posted by %Author% on the post %PostTitle% %LineBreak"
3868
  "% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post "
@@ -3870,11 +3848,11 @@ msgid ""
3870
  "% %LineBreak% %CommentLink%"
3871
  msgstr ""
3872
 
3873
- #: defaults.php:243
3874
  msgid "User edited a comment"
3875
  msgstr ""
3876
 
3877
- #: defaults.php:243
3878
  msgid ""
3879
  "Edited the comment posted by %Author% on the post %PostTitle% %LineBreak% "
3880
  "Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: "
@@ -3882,11 +3860,11 @@ msgid ""
3882
  "%LineBreak% %CommentLink%"
3883
  msgstr ""
3884
 
3885
- #: defaults.php:244
3886
  msgid "User marked a comment as Spam"
3887
  msgstr ""
3888
 
3889
- #: defaults.php:244
3890
  msgid ""
3891
  "Marked the comment posted by %Author% on the post %PostTitle% as spam "
3892
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
@@ -3894,11 +3872,11 @@ msgid ""
3894
  "%PostUrlIfPlublished% %LineBreak% %CommentLink%"
3895
  msgstr ""
3896
 
3897
- #: defaults.php:245
3898
  msgid "User marked a comment as Not Spam"
3899
  msgstr ""
3900
 
3901
- #: defaults.php:245
3902
  msgid ""
3903
  "Marked the comment posted by %Author% on the post %PostTitle% as not spam "
3904
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
@@ -3906,11 +3884,11 @@ msgid ""
3906
  "%PostUrlIfPlublished% %LineBreak% %CommentLink%"
3907
  msgstr ""
3908
 
3909
- #: defaults.php:246
3910
  msgid "User moved a comment to trash"
3911
  msgstr ""
3912
 
3913
- #: defaults.php:246
3914
  msgid ""
3915
  "Moved the comment posted by %Author% on the post %PostTitle% to trash "
3916
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
@@ -3918,11 +3896,11 @@ msgid ""
3918
  "%PostUrlIfPlublished% %LineBreak% %CommentLink%"
3919
  msgstr ""
3920
 
3921
- #: defaults.php:247
3922
  msgid "User restored a comment from the trash"
3923
  msgstr ""
3924
 
3925
- #: defaults.php:247
3926
  msgid ""
3927
  "Restored the comment posted by %Author% on the post %PostTitle% from trash "
3928
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
@@ -3930,11 +3908,11 @@ msgid ""
3930
  "%PostUrlIfPlublished% %LineBreak% %CommentLink%"
3931
  msgstr ""
3932
 
3933
- #: defaults.php:248
3934
  msgid "User permanently deleted a comment"
3935
  msgstr ""
3936
 
3937
- #: defaults.php:248
3938
  msgid ""
3939
  "Permanently deleted the comment posted by %Author% on the post %PostTitle% "
3940
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
@@ -3942,11 +3920,11 @@ msgid ""
3942
  "%CommentID%"
3943
  msgstr ""
3944
 
3945
- #: defaults.php:249
3946
  msgid "User posted a comment"
3947
  msgstr ""
3948
 
3949
- #: defaults.php:249 defaults.php:254
3950
  msgid ""
3951
  "Posted a comment on the post %PostTitle% %LineBreak% Post ID: %PostID% "
3952
  "%LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% "
@@ -3954,755 +3932,755 @@ msgid ""
3954
  "%CommentLink%"
3955
  msgstr ""
3956
 
3957
- #: defaults.php:254
3958
  msgid "Visitor posted a comment"
3959
  msgstr ""
3960
 
3961
- #: defaults.php:260
3962
  msgid "Widgets"
3963
  msgstr ""
3964
 
3965
- #: defaults.php:261
3966
  msgid "User added a new widget"
3967
  msgstr ""
3968
 
3969
- #: defaults.php:261
3970
  msgid "Added a new %WidgetName% widget in %Sidebar%."
3971
  msgstr ""
3972
 
3973
- #: defaults.php:262
3974
  msgid "User modified a widget"
3975
  msgstr ""
3976
 
3977
- #: defaults.php:262
3978
  msgid "Modified the %WidgetName% widget in %Sidebar%."
3979
  msgstr ""
3980
 
3981
- #: defaults.php:263
3982
  msgid "User deleted widget"
3983
  msgstr ""
3984
 
3985
- #: defaults.php:263
3986
  msgid "Deleted the %WidgetName% widget from %Sidebar%."
3987
  msgstr ""
3988
 
3989
- #: defaults.php:264
3990
  msgid "User moved widget"
3991
  msgstr ""
3992
 
3993
- #: defaults.php:264
3994
  msgid ""
3995
  "Moved the %WidgetName% widget %LineBreak% From: %OldSidebar% %LineBreak% To: "
3996
  "%NewSidebar%"
3997
  msgstr ""
3998
 
3999
- #: defaults.php:265
4000
  msgid "User changed widget position"
4001
  msgstr ""
4002
 
4003
- #: defaults.php:265
4004
  msgid "Changed the position of the %WidgetName% widget in %Sidebar%."
4005
  msgstr ""
4006
 
4007
- #: defaults.php:271
4008
  msgid "Menus"
4009
  msgstr ""
4010
 
4011
- #: defaults.php:272
4012
  msgid "User created new menu"
4013
  msgstr ""
4014
 
4015
- #: defaults.php:272
4016
  msgid "New menu called %MenuName%."
4017
  msgstr ""
4018
 
4019
- #: defaults.php:273
4020
  msgid "User added content to a menu"
4021
  msgstr ""
4022
 
4023
- #: defaults.php:273
4024
  msgid ""
4025
  "Added new item to the menu %MenuName% %LineBreak% Item type: %ContentType% "
4026
  "%LineBreak% Item name: %ContentName% "
4027
  msgstr ""
4028
 
4029
- #: defaults.php:274
4030
  msgid "User removed content from a menu"
4031
  msgstr ""
4032
 
4033
- #: defaults.php:274
4034
  msgid ""
4035
  "Removed item from the menu %MenuName% %LineBreak% Item type: %ContentType% "
4036
  "%LineBreak% Item name: %ContentName%"
4037
  msgstr ""
4038
 
4039
- #: defaults.php:275
4040
  msgid "User deleted menu"
4041
  msgstr ""
4042
 
4043
- #: defaults.php:275
4044
  msgid "Deleted the menu %MenuName%"
4045
  msgstr ""
4046
 
4047
- #: defaults.php:276
4048
  msgid "User changed menu setting"
4049
  msgstr ""
4050
 
4051
- #: defaults.php:276
4052
  msgid "The setting in the %MenuName% %LineBreak% Setting: %MenuSetting%"
4053
  msgstr ""
4054
 
4055
- #: defaults.php:277
4056
  msgid "User modified content in a menu"
4057
  msgstr ""
4058
 
4059
- #: defaults.php:277
4060
  msgid ""
4061
  "Modified an item in the menu %MenuName% %LineBreak% Item type: %ContentType% "
4062
  "%LineBreak% Item name: %ContentName%"
4063
  msgstr ""
4064
 
4065
- #: defaults.php:278
4066
  msgid "User changed name of a menu"
4067
  msgstr ""
4068
 
4069
- #: defaults.php:278
4070
- msgid "Renamed the menu %OldMenuName% %LineBreak% New name: %NewMenuName%"
4071
  msgstr ""
4072
 
4073
- #: defaults.php:279
4074
  msgid "User changed order of the objects in a menu"
4075
  msgstr ""
4076
 
4077
- #: defaults.php:279
4078
  msgid "Changed the order of the items in the menu %MenuName%"
4079
  msgstr ""
4080
 
4081
- #: defaults.php:280
4082
  msgid "User moved objects as a sub-item"
4083
  msgstr ""
4084
 
4085
- #: defaults.php:280
4086
  msgid ""
4087
  "Menu name: %MenuName% %LineBreak% Moved item %ItemName% as a sub-item of "
4088
  "%ParentName%"
4089
  msgstr ""
4090
 
4091
- #: defaults.php:292
4092
  msgid "User modified a draft blog post"
4093
  msgstr ""
4094
 
4095
- #: defaults.php:292
4096
  msgid "Modified the draft post with the %PostTitle%. %EditorLinkPost%."
4097
  msgstr ""
4098
 
4099
- #: defaults.php:293
4100
  msgid "User created a new post with custom post type and saved it as draft"
4101
  msgstr ""
4102
 
4103
- #: defaults.php:293
4104
  msgid ""
4105
  "Created a new custom post called %PostTitle% of type %PostType%. "
4106
  "%EditorLinkPost%."
4107
  msgstr ""
4108
 
4109
- #: defaults.php:294
4110
  msgid "User published a post with custom post type"
4111
  msgstr ""
4112
 
4113
- #: defaults.php:294
4114
  msgid ""
4115
  "Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl"
4116
  "%. %EditorLinkPost%."
4117
  msgstr ""
4118
 
4119
- #: defaults.php:295
4120
  msgid "User modified a post with custom post type"
4121
  msgstr ""
4122
 
4123
- #: defaults.php:295
4124
  msgid ""
4125
  "Modified the custom post %PostTitle% of type %PostType%. Post URL is %PostUrl"
4126
  "%. %EditorLinkPost%."
4127
  msgstr ""
4128
 
4129
- #: defaults.php:296
4130
  msgid "User modified a draft post with custom post type"
4131
  msgstr ""
4132
 
4133
- #: defaults.php:296
4134
  msgid ""
4135
  "Modified the draft custom post %PostTitle% of type is %PostType%. "
4136
  "%EditorLinkPost%."
4137
  msgstr ""
4138
 
4139
- #: defaults.php:297
4140
  msgid "User permanently deleted post with custom post type"
4141
  msgstr ""
4142
 
4143
- #: defaults.php:297
4144
  msgid "Permanently Deleted the custom post %PostTitle% of type %PostType%."
4145
  msgstr ""
4146
 
4147
- #: defaults.php:298
4148
  msgid "User moved post with custom post type to trash"
4149
  msgstr ""
4150
 
4151
- #: defaults.php:298
4152
  msgid ""
4153
  "Moved the custom post %PostTitle% of type %PostType% to trash. Post URL was "
4154
  "%PostUrl%."
4155
  msgstr ""
4156
 
4157
- #: defaults.php:299
4158
  msgid "User restored post with custom post type from trash"
4159
  msgstr ""
4160
 
4161
- #: defaults.php:299
4162
  msgid ""
4163
  "The custom post %PostTitle% of type %PostType% has been restored from trash. "
4164
  "%EditorLinkPost%."
4165
  msgstr ""
4166
 
4167
- #: defaults.php:300
4168
  msgid "User changed the category of a post with custom post type"
4169
  msgstr ""
4170
 
4171
- #: defaults.php:300
4172
  msgid ""
4173
  "Changed the category(ies) of the custom post %PostTitle% of type %PostType% "
4174
  "from %OldCategories% to %NewCategories%. %EditorLinkPost%."
4175
  msgstr ""
4176
 
4177
- #: defaults.php:301
4178
  msgid "User changed the URL of a post with custom post type"
4179
  msgstr ""
4180
 
4181
- #: defaults.php:301
4182
  msgid ""
4183
  "Changed the URL of the custom post %PostTitle% of type %PostType% from "
4184
  "%OldUrl% to %NewUrl%. %EditorLinkPost%."
4185
  msgstr ""
4186
 
4187
- #: defaults.php:302
4188
  msgid "User changed the author or post with custom post type"
4189
  msgstr ""
4190
 
4191
- #: defaults.php:302
4192
  msgid ""
4193
  "Changed the author of custom post %PostTitle% of type %PostType% from "
4194
  "%OldAuthor% to %NewAuthor%. %EditorLinkPost%."
4195
  msgstr ""
4196
 
4197
- #: defaults.php:303
4198
  msgid "User changed the status of post with custom post type"
4199
  msgstr ""
4200
 
4201
- #: defaults.php:303
4202
  msgid ""
4203
  "Changed the status of custom post %PostTitle% of type %PostType% from "
4204
  "%OldStatus% to %NewStatus%. %EditorLinkPost%."
4205
  msgstr ""
4206
 
4207
- #: defaults.php:304
4208
  msgid "User changed the visibility of a post with custom post type"
4209
  msgstr ""
4210
 
4211
- #: defaults.php:304
4212
  msgid ""
4213
  "Changed the visibility of the custom post %PostTitle% of type %PostType% "
4214
  "from %OldVisibility% to %NewVisibility%. %EditorLinkPost%."
4215
  msgstr ""
4216
 
4217
- #: defaults.php:305
4218
  msgid "User changed the date of post with custom post type"
4219
  msgstr ""
4220
 
4221
- #: defaults.php:305
4222
  msgid ""
4223
  "Changed the date of the custom post %PostTitle% of type %PostType% from "
4224
  "%OldDate% to %NewDate%. %EditorLinkPost%."
4225
  msgstr ""
4226
 
4227
- #: defaults.php:306
4228
  msgid "User created a custom field for a custom post type"
4229
  msgstr ""
4230
 
4231
- #: defaults.php:306
4232
  msgid ""
4233
  "Created a new custom field %MetaKey% with value %MetaValue% in custom post "
4234
  "%PostTitle% of type %PostType%. %EditorLinkPost%.<br>%MetaLink%."
4235
  msgstr ""
4236
 
4237
- #: defaults.php:307
4238
  msgid "User updated a custom field for a custom post type"
4239
  msgstr ""
4240
 
4241
- #: defaults.php:307
4242
  msgid ""
4243
  "Modified the value of the custom field %MetaKey% from %MetaValueOld% to "
4244
  "%MetaValueNew% in custom post %PostTitle% of type %PostType% %EditorLinkPost"
4245
  "%.<br>%MetaLink%."
4246
  msgstr ""
4247
 
4248
- #: defaults.php:308
4249
  msgid "User deleted a custom field from a custom post type"
4250
  msgstr ""
4251
 
4252
- #: defaults.php:308
4253
  msgid ""
4254
  "Deleted the custom field %MetaKey% with id %MetaID% from custom post "
4255
  "%PostTitle% of type %PostType% %EditorLinkPost%.<br>%MetaLink%."
4256
  msgstr ""
4257
 
4258
- #: defaults.php:309
4259
  msgid "User updated a custom field name for a custom post type"
4260
  msgstr ""
4261
 
4262
- #: defaults.php:309
4263
  msgid ""
4264
  "Changed the custom field name from %MetaKeyOld% to %MetaKeyNew% in custom "
4265
  "post %PostTitle% of type %PostType% %EditorLinkPost%.<br>%MetaLink%."
4266
  msgstr ""
4267
 
4268
- #: defaults.php:310
4269
  msgid "User modified content for a published custom post type"
4270
  msgstr ""
4271
 
4272
- #: defaults.php:310
4273
  msgid ""
4274
  "Modified the content of the published custom post type %PostTitle%. Post URL "
4275
  "is %PostUrl%.%EditorLinkPost%."
4276
  msgstr ""
4277
 
4278
- #: defaults.php:311
4279
  msgid "User modified content for a draft post"
4280
  msgstr ""
4281
 
4282
- #: defaults.php:311
4283
  msgid ""
4284
  "Modified the content of the draft post %PostTitle%.%RevisionLink% "
4285
  "%EditorLinkPost%."
4286
  msgstr ""
4287
 
4288
- #: defaults.php:312
4289
  msgid "User modified content for a draft custom post type"
4290
  msgstr ""
4291
 
4292
- #: defaults.php:312
4293
  msgid ""
4294
  "Modified the content of the draft custom post type %PostTitle%."
4295
  "%EditorLinkPost%."
4296
  msgstr ""
4297
 
4298
- #: defaults.php:313
4299
  msgid "User modified content of a post"
4300
  msgstr ""
4301
 
4302
- #: defaults.php:313
4303
  msgid ""
4304
  "Modified the content of post %PostTitle% which is submitted for review."
4305
  "%RevisionLink% %EditorLinkPost%."
4306
  msgstr ""
4307
 
4308
- #: defaults.php:314
4309
  msgid "User scheduled a custom post type"
4310
  msgstr ""
4311
 
4312
- #: defaults.php:314
4313
  msgid ""
4314
  "Scheduled the custom post type %PostTitle% to be published %PublishingDate%. "
4315
  "%EditorLinkPost%."
4316
  msgstr ""
4317
 
4318
- #: defaults.php:315
4319
  msgid "User changed title of a custom post type"
4320
  msgstr ""
4321
 
4322
- #: defaults.php:315
4323
  msgid ""
4324
  "Changed the title of the custom post %OldTitle% to %NewTitle%. "
4325
  "%EditorLinkPost%."
4326
  msgstr ""
4327
 
4328
- #: defaults.php:316
4329
  msgid "User opened a custom post type in the editor"
4330
  msgstr ""
4331
 
4332
- #: defaults.php:316
4333
  msgid ""
4334
  "Opened the custom post %PostTitle% of type %PostType% in the editor. View "
4335
  "the post: %EditorLinkPost%."
4336
  msgstr ""
4337
 
4338
- #: defaults.php:317
4339
  msgid "User viewed a custom post type"
4340
  msgstr ""
4341
 
4342
- #: defaults.php:317
4343
  msgid ""
4344
  "Viewed the custom post %PostTitle% of type %PostType%. View the post: "
4345
  "%PostUrl%."
4346
  msgstr ""
4347
 
4348
- #: defaults.php:318
4349
  msgid "A plugin created a custom post"
4350
  msgstr ""
4351
 
4352
- #: defaults.php:318
4353
  msgid "A plugin automatically created the following custom post: %PostTitle%."
4354
  msgstr ""
4355
 
4356
- #: defaults.php:319
4357
  msgid "A plugin deleted a custom post"
4358
  msgstr ""
4359
 
4360
- #: defaults.php:319
4361
  msgid "A plugin automatically deleted the following custom post: %PostTitle%."
4362
  msgstr ""
4363
 
4364
- #: defaults.php:320
4365
  msgid "A plugin modified a custom post"
4366
  msgstr ""
4367
 
4368
- #: defaults.php:320
4369
  msgid ""
4370
  "Plugin modified the custom post %PostTitle%. View the post: %EditorLinkPost%."
4371
  msgstr ""
4372
 
4373
- #: defaults.php:332
4374
  msgid "User created a new WordPress page and saved it as draft"
4375
  msgstr ""
4376
 
4377
- #: defaults.php:332
4378
  msgid ""
4379
  "Created a new page called %PostTitle% and saved it as draft. %EditorLinkPage"
4380
  "%."
4381
  msgstr ""
4382
 
4383
- #: defaults.php:333
4384
  msgid "User published a WordPress page"
4385
  msgstr ""
4386
 
4387
- #: defaults.php:333
4388
  msgid ""
4389
  "Published a page called %PostTitle%. Page URL is %PostUrl%. %EditorLinkPage%."
4390
  msgstr ""
4391
 
4392
- #: defaults.php:334
4393
  msgid "User modified a published WordPress page"
4394
  msgstr ""
4395
 
4396
- #: defaults.php:334
4397
  msgid ""
4398
  "Modified the published page %PostTitle%. Page URL is %PostUrl%. "
4399
  "%EditorLinkPage%."
4400
  msgstr ""
4401
 
4402
- #: defaults.php:335
4403
  msgid "User modified a draft WordPress page"
4404
  msgstr ""
4405
 
4406
- #: defaults.php:335
4407
  msgid ""
4408
  "Modified the draft page %PostTitle%. Page ID is %PostID%. %EditorLinkPage%."
4409
  msgstr ""
4410
 
4411
- #: defaults.php:336
4412
  msgid "User permanently deleted a page from the trash"
4413
  msgstr ""
4414
 
4415
- #: defaults.php:336
4416
  msgid "Permanently deleted the page %PostTitle%."
4417
  msgstr ""
4418
 
4419
- #: defaults.php:337
4420
  msgid "User moved WordPress page to the trash"
4421
  msgstr ""
4422
 
4423
- #: defaults.php:337
4424
  msgid "Moved the page %PostTitle% to trash. Page URL was %PostUrl%."
4425
  msgstr ""
4426
 
4427
- #: defaults.php:338
4428
  msgid "User restored a WordPress page from trash"
4429
  msgstr ""
4430
 
4431
- #: defaults.php:338
4432
  msgid "Page %PostTitle% has been restored from trash. %EditorLinkPage%."
4433
  msgstr ""
4434
 
4435
- #: defaults.php:339
4436
  msgid "User changed page URL"
4437
  msgstr ""
4438
 
4439
- #: defaults.php:339
4440
  msgid ""
4441
  "Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%. "
4442
  "%EditorLinkPage%."
4443
  msgstr ""
4444
 
4445
- #: defaults.php:340
4446
  msgid "User changed page author"
4447
  msgstr ""
4448
 
4449
- #: defaults.php:340
4450
  msgid ""
4451
  "Changed the author of the page %PostTitle% from %OldAuthor% to %NewAuthor%. "
4452
  "%EditorLinkPage%."
4453
  msgstr ""
4454
 
4455
- #: defaults.php:341
4456
  msgid "User changed page status"
4457
  msgstr ""
4458
 
4459
- #: defaults.php:341
4460
  msgid ""
4461
  "Changed the status of the page %PostTitle% from %OldStatus% to %NewStatus%. "
4462
  "%EditorLinkPage%."
4463
  msgstr ""
4464
 
4465
- #: defaults.php:342
4466
  msgid "User changed the visibility of a page post"
4467
  msgstr ""
4468
 
4469
- #: defaults.php:342
4470
  msgid ""
4471
  "Changed the visibility of the page %PostTitle% from %OldVisibility% to "
4472
  "%NewVisibility%. %EditorLinkPage%."
4473
  msgstr ""
4474
 
4475
- #: defaults.php:343
4476
  msgid "User changed the date of a page post"
4477
  msgstr ""
4478
 
4479
- #: defaults.php:343
4480
  msgid ""
4481
  "Changed the date of the page %PostTitle% from %OldDate% to %NewDate%. "
4482
  "%EditorLinkPage%."
4483
  msgstr ""
4484
 
4485
- #: defaults.php:344
4486
  msgid "User created a custom field for a page"
4487
  msgstr ""
4488
 
4489
- #: defaults.php:344
4490
  msgid ""
4491
  "Created a new custom field called %MetaKey% with value %MetaValue% in the "
4492
  "page %PostTitle% %EditorLinkPage%.<br>%MetaLink%."
4493
  msgstr ""
4494
 
4495
- #: defaults.php:345
4496
  msgid "User updated a custom field value for a page"
4497
  msgstr ""
4498
 
4499
- #: defaults.php:345
4500
  msgid ""
4501
  "Modified the value of the custom field %MetaKey% from %MetaValueOld% to "
4502
  "%MetaValueNew% in the page %PostTitle% %EditorLinkPage%.<br>%MetaLink%."
4503
  msgstr ""
4504
 
4505
- #: defaults.php:346
4506
  msgid "User deleted a custom field from a page"
4507
  msgstr ""
4508
 
4509
- #: defaults.php:346
4510
  msgid ""
4511
  "Deleted the custom field %MetaKey% with id %MetaID% from page %PostTitle% "
4512
  "%EditorLinkPage%.<br>%MetaLink%."
4513
  msgstr ""
4514
 
4515
- #: defaults.php:347
4516
  msgid "User updated a custom field name for a page"
4517
  msgstr ""
4518
 
4519
- #: defaults.php:347
4520
  msgid ""
4521
  "Changed the custom field name from %MetaKeyOld% to %MetaKeyNew% in the page "
4522
  "%PostTitle% %EditorLinkPage%.<br>%MetaLink%."
4523
  msgstr ""
4524
 
4525
- #: defaults.php:348
4526
  msgid "User modified content for a published page"
4527
  msgstr ""
4528
 
4529
- #: defaults.php:348
4530
  msgid ""
4531
  "Modified the content of the published page %PostTitle%. Page URL is %PostUrl"
4532
  "%. %RevisionLink% %EditorLinkPage%."
4533
  msgstr ""
4534
 
4535
- #: defaults.php:349
4536
  msgid "User modified content for a draft page"
4537
  msgstr ""
4538
 
4539
- #: defaults.php:349
4540
  msgid ""
4541
  "Modified the content of draft page %PostTitle%.%RevisionLink% %EditorLinkPage"
4542
  "%."
4543
  msgstr ""
4544
 
4545
- #: defaults.php:350
4546
  msgid "User scheduled a page"
4547
  msgstr ""
4548
 
4549
- #: defaults.php:350
4550
  msgid ""
4551
  "Scheduled the page %PostTitle% to be published %PublishingDate%. "
4552
  "%EditorLinkPage%."
4553
  msgstr ""
4554
 
4555
- #: defaults.php:351
4556
  msgid "User changed title of a page"
4557
  msgstr ""
4558
 
4559
- #: defaults.php:351
4560
  msgid ""
4561
  "Changed the title of the page %OldTitle% to %NewTitle%. %EditorLinkPage%."
4562
  msgstr ""
4563
 
4564
- #: defaults.php:352
4565
  msgid "User opened a page in the editor"
4566
  msgstr ""
4567
 
4568
- #: defaults.php:352
4569
  msgid ""
4570
  "Opened the page %PostTitle% in the editor. View the page: %EditorLinkPage%."
4571
  msgstr ""
4572
 
4573
- #: defaults.php:353
4574
  msgid "User viewed a page"
4575
  msgstr ""
4576
 
4577
- #: defaults.php:353
4578
  msgid "Viewed the page %PostTitle%. View the page: %PostUrl%."
4579
  msgstr ""
4580
 
4581
- #: defaults.php:354
4582
  msgid "User disabled Comments/Trackbacks and Pingbacks on a draft post"
4583
  msgstr ""
4584
 
4585
- #: defaults.php:354
4586
  msgid ""
4587
  "Disabled %Type% on the draft post %PostTitle%. View the post: %PostUrl%."
4588
  msgstr ""
4589
 
4590
- #: defaults.php:355
4591
  msgid "User enabled Comments/Trackbacks and Pingbacks on a draft post"
4592
  msgstr ""
4593
 
4594
- #: defaults.php:355
4595
  msgid "Enabled %Type% on the draft post %PostTitle%. View the post: %PostUrl%."
4596
  msgstr ""
4597
 
4598
- #: defaults.php:356
4599
  msgid "User disabled Comments/Trackbacks and Pingbacks on a published page"
4600
  msgstr ""
4601
 
4602
- #: defaults.php:356
4603
  msgid ""
4604
  "Disabled %Type% on the published page %PostTitle%. View the page: %PostUrl%."
4605
  msgstr ""
4606
 
4607
- #: defaults.php:357
4608
  msgid "User enabled Comments/Trackbacks and Pingbacks on a published page"
4609
  msgstr ""
4610
 
4611
- #: defaults.php:357
4612
  msgid ""
4613
  "Enabled %Type% on the published page %PostTitle%. View the page: %PostUrl%."
4614
  msgstr ""
4615
 
4616
- #: defaults.php:358
4617
  msgid "User disabled Comments/Trackbacks and Pingbacks on a draft page"
4618
  msgstr ""
4619
 
4620
- #: defaults.php:358
4621
  msgid ""
4622
  "Disabled %Type% on the draft page %PostTitle%. View the page: %PostUrl%."
4623
  msgstr ""
4624
 
4625
- #: defaults.php:359
4626
  msgid "User enabled Comments/Trackbacks and Pingbacks on a draft page"
4627
  msgstr ""
4628
 
4629
- #: defaults.php:359
4630
  msgid "Enabled %Type% on the draft page %PostTitle%. View the page: %PostUrl%."
4631
  msgstr ""
4632
 
4633
- #: defaults.php:360
4634
  msgid "A plugin created a page"
4635
  msgstr ""
4636
 
4637
- #: defaults.php:360
4638
  msgid "A plugin automatically created the following page: %PostTitle%."
4639
  msgstr ""
4640
 
4641
- #: defaults.php:361
4642
  msgid "A plugin deleted a page"
4643
  msgstr ""
4644
 
4645
- #: defaults.php:361
4646
  msgid "A plugin automatically deleted the following page: %PostTitle%."
4647
  msgstr ""
4648
 
4649
- #: defaults.php:362
4650
  msgid "A plugin modified a page"
4651
  msgstr ""
4652
 
4653
- #: defaults.php:362
4654
  msgid "Plugin modified the page %PostTitle%. View the page: %EditorLinkPage%."
4655
  msgstr ""
4656
 
4657
- #: defaults.php:366
4658
  msgid "User Accounts"
4659
  msgstr ""
4660
 
4661
- #: defaults.php:367
4662
  msgid "User Profiles"
4663
  msgstr ""
4664
 
4665
- #: defaults.php:368
4666
  msgid "New user was created on WordPress"
4667
  msgstr ""
4668
 
4669
- #: defaults.php:368 defaults.php:369
4670
  msgid ""
4671
  "New user: %NewUserData->Username% %LineBreak% Role: %NewUserData->Roles% "
4672
  "%LineBreak% First name: %NewUserData->FirstName% %LineBreak% Last name: "
4673
  "%NewUserData->LastName% %LineBreak% %EditUserLink%"
4674
  msgstr ""
4675
 
4676
- #: defaults.php:369
4677
  msgid "User created another WordPress user"
4678
  msgstr ""
4679
 
4680
- #: defaults.php:370
4681
  msgid "The role of a user was changed by another WordPress user"
4682
  msgstr ""
4683
 
4684
- #: defaults.php:370
4685
  msgid ""
4686
  "Changed the role of the user %TargetUsername% %LineBreak% New role: %NewRole"
4687
  "% %LineBreak% Previous role: %OldRole% %LineBreak% First name: %FirstName% "
4688
  "%LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4689
  msgstr ""
4690
 
4691
- #: defaults.php:371
4692
  msgid "User has changed his or her password"
4693
  msgstr ""
4694
 
4695
- #: defaults.php:371
4696
  msgid ""
4697
  "Changed the password %LineBreak% First name: %TargetUserData->FirstName% "
4698
  "%LineBreak% Last name: %TargetUserData->LastName% %LineBreak% %EditUserLink%"
4699
  msgstr ""
4700
 
4701
- #: defaults.php:372
4702
  msgid "User changed another user's password"
4703
  msgstr ""
4704
 
4705
- #: defaults.php:372
4706
  msgid ""
4707
  "Changed the password of the user %TargetUserData->Username% %LineBreak% "
4708
  "Role: %TargetUserData->Roles% %LineBreak% First name: %TargetUserData-"
@@ -4710,22 +4688,22 @@ msgid ""
4710
  "%EditUserLink%"
4711
  msgstr ""
4712
 
4713
- #: defaults.php:373
4714
  msgid "User changed his or her email address"
4715
  msgstr ""
4716
 
4717
- #: defaults.php:373
4718
  msgid ""
4719
  "Changed the email address to %NewEmail% %LineBreak% Role: %Roles% %LineBreak"
4720
  "% First name: %FirstName% %LineBreak% Last name: %LastName% %LineBreak% "
4721
  "%EditUserLink%"
4722
  msgstr ""
4723
 
4724
- #: defaults.php:374
4725
  msgid "User changed another user's email address"
4726
  msgstr ""
4727
 
4728
- #: defaults.php:374
4729
  msgid ""
4730
  "Changed the email address of the user %TargetUsername% %LineBreak% New email "
4731
  "address: %NewEmail% %LineBreak% Previous email address: %OldEmail% %LineBreak"
@@ -4733,33 +4711,33 @@ msgid ""
4733
  "%LastName% %LineBreak% %EditUserLink%"
4734
  msgstr ""
4735
 
4736
- #: defaults.php:375
4737
  msgid "User was deleted by another user"
4738
  msgstr ""
4739
 
4740
- #: defaults.php:375
4741
  msgid ""
4742
  "User: %TargetUserData->Username% %LineBreak% Role: %TargetUserData->Roles% "
4743
  "%LineBreak% First name: %NewUserData->FirstName% %LineBreak% Last name: "
4744
  "%NewUserData->LastName%"
4745
  msgstr ""
4746
 
4747
- #: defaults.php:376
4748
  msgid "User opened the profile page of another user"
4749
  msgstr ""
4750
 
4751
- #: defaults.php:376
4752
  msgid ""
4753
  "The profile page of the user %TargetUsername% %LineBreak% Role: %Roles% "
4754
  "%LineBreak% First name: %FirstName% %LineBreak% Last name: %LastName% "
4755
  "%LineBreak% %EditUserLink%"
4756
  msgstr ""
4757
 
4758
- #: defaults.php:377
4759
  msgid "User updated a custom field value for a user"
4760
  msgstr ""
4761
 
4762
- #: defaults.php:377
4763
  msgid ""
4764
  "Changed the value of a custom field in the user profile %TargetUsername% "
4765
  "%LineBreak% Custom field: %custom_field_name% %LineBreak% Previous value: "
@@ -4768,11 +4746,11 @@ msgid ""
4768
  "%LineBreak% %EditUserLink%"
4769
  msgstr ""
4770
 
4771
- #: defaults.php:378
4772
  msgid "User created a custom field value for a user"
4773
  msgstr ""
4774
 
4775
- #: defaults.php:378
4776
  msgid ""
4777
  "Created a new custom field in the user profile %TargetUsername% %LineBreak% "
4778
  "Custom field: %custom_field_name% %LineBreak% Custom field value: %new_value"
@@ -4780,33 +4758,33 @@ msgid ""
4780
  "Last name: %LastName% %LineBreak% %EditUserLink%"
4781
  msgstr ""
4782
 
4783
- #: defaults.php:379
4784
  msgid "User changed first name for a user"
4785
  msgstr ""
4786
 
4787
- #: defaults.php:379
4788
  msgid ""
4789
  "Changed the first name of the user %TargetUsername% %LineBreak% Previous "
4790
  "name: %old_firstname% %LineBreak% New name: %new_firstname% %LineBreak% "
4791
  "Role: %Roles% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4792
  msgstr ""
4793
 
4794
- #: defaults.php:380
4795
  msgid "User changed last name for a user"
4796
  msgstr ""
4797
 
4798
- #: defaults.php:380
4799
  msgid ""
4800
  "Changed the last name of the user %TargetUsername% %LineBreak% Previous last "
4801
  "name: %old_lastname% %LineBreak% New last name: %new_lastname% %LineBreak% "
4802
  "Role: %Roles% %LineBreak% First name: %FirstName% %LineBreak% %EditUserLink%"
4803
  msgstr ""
4804
 
4805
- #: defaults.php:381
4806
  msgid "User changed nickname for a user"
4807
  msgstr ""
4808
 
4809
- #: defaults.php:381
4810
  msgid ""
4811
  "Changed the nickname of the user %TargetUsername% %LineBreak% Previous "
4812
  "nickname: %old_nickname% New nickname: %new_nickname% %LineBreak% Role: "
@@ -4814,11 +4792,11 @@ msgid ""
4814
  "% %LineBreak% %EditUserLink%"
4815
  msgstr ""
4816
 
4817
- #: defaults.php:382
4818
  msgid "User changed the display name for a user"
4819
  msgstr ""
4820
 
4821
- #: defaults.php:382
4822
  msgid ""
4823
  "Changed the display name of the user %TargetUsername% %LineBreak% Previous "
4824
  "display name: %old_displayname% New display name: %new_displayname% "
@@ -4826,931 +4804,688 @@ msgid ""
4826
  "Last name: %LastName% %LineBreak% %EditUserLink%"
4827
  msgstr ""
4828
 
4829
- #: defaults.php:385
4830
  msgid "Multisite User Profiles"
4831
  msgstr ""
4832
 
4833
- #: defaults.php:386
4834
  msgid "User granted Super Admin privileges"
4835
  msgstr ""
4836
 
4837
- #: defaults.php:386
4838
  msgid ""
4839
  "Granted Super Admin privileges to %TargetUsername% %LineBreak% First name: "
4840
  "%FirstName% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4841
  msgstr ""
4842
 
4843
- #: defaults.php:387
4844
  msgid "User revoked from Super Admin privileges"
4845
  msgstr ""
4846
 
4847
- #: defaults.php:387
4848
  msgid ""
4849
  "Revoked Super Admin privileges from %TargetUsername% %LineBreak% First name: "
4850
  "%FirstName% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4851
  msgstr ""
4852
 
4853
- #: defaults.php:388
4854
  msgid "Existing user added to a site"
4855
  msgstr ""
4856
 
4857
- #: defaults.php:388
4858
  msgid ""
4859
  "Added user %TargetUsername% to site: %SiteName% %LineBreak% Role: "
4860
  "%TargetUserRole% %LineBreak% First name: %FirstName% %LineBreak% Last name: "
4861
  "%LastName% %LineBreak% %EditUserLink%"
4862
  msgstr ""
4863
 
4864
- #: defaults.php:389
4865
  msgid "User removed from site"
4866
  msgstr ""
4867
 
4868
- #: defaults.php:389
4869
  msgid ""
4870
  "Removed user %TargetUsername% from site: %SiteName% %LineBreak% Previous "
4871
  "role: %TargetUserRole% %LineBreak% First name: %FirstName% %LineBreak% Last "
4872
  "name: %LastName% %LineBreak% %EditUserLink%"
4873
  msgstr ""
4874
 
4875
- #: defaults.php:390
4876
  msgid "New network user created"
4877
  msgstr ""
4878
 
4879
- #: defaults.php:390
4880
  msgid ""
4881
  "Created a new network user %NewUserData->Username% %LineBreak% First name: "
4882
  "%NewUserData->FirstName% %LineBreak% Last name: %NewUserData->LastName% "
4883
  "%LineBreak% %EditUserLink%"
4884
  msgstr ""
4885
 
4886
- #: defaults.php:393
4887
- msgid "bbPress User Profiles"
4888
- msgstr ""
4889
-
4890
- #: defaults.php:394
4891
- msgid "The forum role of a user was changed by another WordPress user"
4892
- msgstr ""
4893
-
4894
- #: defaults.php:394
4895
- msgid ""
4896
- "Change the forum role of user %TargetUsername% %LineBreak% Previous role: "
4897
- "%OldRole% %LineBreak% New role: %NewRole% %LineBreak% First name: %FirstName"
4898
- "% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4899
- msgstr ""
4900
-
4901
- #: defaults.php:398
4902
  msgid "Plugins & Themes"
4903
  msgstr ""
4904
 
4905
- #: defaults.php:400
4906
  msgid "User installed a plugin"
4907
  msgstr ""
4908
 
4909
- #: defaults.php:400
4910
  msgid ""
4911
  "Name: %Plugin->Name% %LineBreak% Install location: %Plugin->plugin_dir_path%"
4912
  msgstr ""
4913
 
4914
- #: defaults.php:401
4915
  msgid "User activated a WordPress plugin"
4916
  msgstr ""
4917
 
4918
- #: defaults.php:401 defaults.php:402 defaults.php:403 defaults.php:404
4919
  msgid "Name: %PluginData->Name% %LineBreak% Install location: %PluginFile%"
4920
  msgstr ""
4921
 
4922
- #: defaults.php:402
4923
  msgid "User deactivated a WordPress plugin"
4924
  msgstr ""
4925
 
4926
- #: defaults.php:403
4927
  msgid "User uninstalled a plugin"
4928
  msgstr ""
4929
 
4930
- #: defaults.php:404
4931
  msgid "User upgraded a plugin"
4932
  msgstr ""
4933
 
4934
- #: defaults.php:405
4935
  msgid "Plugin created tables"
4936
  msgstr ""
4937
 
4938
- #: defaults.php:405
4939
  msgid ""
4940
  "Plugin created these tables in the database %LineBreak% Plugin: %Plugin->Name"
4941
  "% %LineBreak% Tables: %TableNames%"
4942
  msgstr ""
4943
 
4944
- #: defaults.php:406
4945
  msgid "Plugin modified tables structure"
4946
  msgstr ""
4947
 
4948
- #: defaults.php:406
4949
  msgid ""
4950
  "Plugin modified the structure of these database tables %LineBreak% Plugin: "
4951
  "%Plugin->Name% %LineBreak% Tables: %TableNames%"
4952
  msgstr ""
4953
 
4954
- #: defaults.php:407
4955
  msgid "Plugin deleted tables"
4956
  msgstr ""
4957
 
4958
- #: defaults.php:407
4959
  msgid ""
4960
  "Plugin deleted these tables from the database %LineBreak% Plugin: %Plugin-"
4961
  ">Name% %LineBreak% Tables: %TableNames%"
4962
  msgstr ""
4963
 
4964
- #: defaults.php:408
4965
  msgid "A plugin created a post"
4966
  msgstr ""
4967
 
4968
- #: defaults.php:408
4969
  msgid ""
4970
  "Plugin %PluginName% created the post %PostTitle% %LineBreak% Post ID: %PostID"
4971
  "% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
4972
  "%EditorLinkPage%"
4973
  msgstr ""
4974
 
4975
- #: defaults.php:409
4976
  msgid "A plugin deleted a post"
4977
  msgstr ""
4978
 
4979
- #: defaults.php:409
4980
  msgid ""
4981
  "Plugin %PluginName% deleted the post %PostTitle% %LineBreak% Post ID: %PostID"
4982
  "% %LineBreak% Type: %PostType%"
4983
  msgstr ""
4984
 
4985
- #: defaults.php:410
4986
  msgid "User changed a file using the plugin editor"
4987
  msgstr ""
4988
 
4989
- #: defaults.php:410
4990
  msgid "Modified a file with the plugin editor %LineBreak% File: %File%"
4991
  msgstr ""
4992
 
4993
- #: defaults.php:413
4994
  msgid "Themes"
4995
  msgstr ""
4996
 
4997
- #: defaults.php:414
4998
  msgid "User installed a theme"
4999
  msgstr ""
5000
 
5001
- #: defaults.php:414
5002
  msgid ""
5003
  "Theme: \"%Theme->Name%\" %LineBreak% Install location: %Theme-"
5004
  ">get_template_directory%"
5005
  msgstr ""
5006
 
5007
- #: defaults.php:415
5008
  msgid "User activated a theme"
5009
  msgstr ""
5010
 
5011
- #: defaults.php:415 defaults.php:416
5012
  msgid ""
5013
  "Theme \"%Theme->Name%\" %LineBreak% Install location: %Theme-"
5014
  ">get_template_directory%"
5015
  msgstr ""
5016
 
5017
- #: defaults.php:416
5018
  msgid "User uninstalled a theme"
5019
  msgstr ""
5020
 
5021
- #: defaults.php:417
5022
  msgid "Theme created tables"
5023
  msgstr ""
5024
 
5025
- #: defaults.php:417
5026
  msgid ""
5027
  "Theme created these tables in the database %LineBreak% Theme: %Theme->Name% "
5028
  "%LineBreak% Tables: %TableNames%"
5029
  msgstr ""
5030
 
5031
- #: defaults.php:418
5032
  msgid "Theme modified tables structure"
5033
  msgstr ""
5034
 
5035
- #: defaults.php:418
5036
  msgid ""
5037
  "Theme modified the structure of these database tables %LineBreak% Theme: "
5038
  "%Theme->Name% %LineBreak% Tables: %TableNames%"
5039
  msgstr ""
5040
 
5041
- #: defaults.php:419
5042
  msgid "Theme deleted tables"
5043
  msgstr ""
5044
 
5045
- #: defaults.php:419
5046
  msgid ""
5047
  "Theme deleted these tables from the database %LineBreak% Theme: %Theme->Name"
5048
  "% %LineBreak% Tables: %TableNames%"
5049
  msgstr ""
5050
 
5051
- #: defaults.php:420
5052
  msgid "User updated a theme"
5053
  msgstr ""
5054
 
5055
- #: defaults.php:420
5056
  msgid ""
5057
  "Name: %Theme->Name% %LineBreak% Install location: %Theme-"
5058
  ">get_template_directory%"
5059
  msgstr ""
5060
 
5061
- #: defaults.php:421
5062
  msgid "User changed a file using the theme editor"
5063
  msgstr ""
5064
 
5065
- #: defaults.php:421
5066
  msgid "Modified a file with the theme editor %LineBreak% File: %Theme%/%File%"
5067
  msgstr ""
5068
 
5069
- #: defaults.php:424
5070
  msgid "Themes on Multisite"
5071
  msgstr ""
5072
 
5073
- #: defaults.php:425
5074
  msgid "Activated theme on network"
5075
  msgstr ""
5076
 
5077
- #: defaults.php:425
5078
  msgid ""
5079
  "Network activated the theme %Theme->Name% %LineBreak% Install location: "
5080
  "%Theme->get_template_directory%"
5081
  msgstr ""
5082
 
5083
- #: defaults.php:426
5084
  msgid "Deactivated theme from network"
5085
  msgstr ""
5086
 
5087
- #: defaults.php:426
5088
  msgid ""
5089
  "Network deactivated the theme %Theme->Name% %LineBreak% Install location: "
5090
  "%Theme->get_template_directory%"
5091
  msgstr ""
5092
 
5093
- #: defaults.php:429
5094
  msgid "Database Events"
5095
  msgstr ""
5096
 
5097
- #: defaults.php:430
5098
  msgid "Unknown component created tables"
5099
  msgstr ""
5100
 
5101
- #: defaults.php:430
5102
  msgid ""
5103
  "An unknown component created these tables in the database %LineBreak% "
5104
  "Tables: %TableNames%"
5105
  msgstr ""
5106
 
5107
- #: defaults.php:431
5108
  msgid "Unknown component modified tables structure"
5109
  msgstr ""
5110
 
5111
- #: defaults.php:431
5112
  msgid ""
5113
  "An unknown component modified the structure of these database tables "
5114
  "%LineBreak% Tables: %TableNames%"
5115
  msgstr ""
5116
 
5117
- #: defaults.php:432
5118
  msgid "Unknown component deleted tables"
5119
  msgstr ""
5120
 
5121
- #: defaults.php:432
5122
  msgid ""
5123
  "An unknown component deleted these tables from the database %LineBreak% "
5124
  "Tables: %TableNames%"
5125
  msgstr ""
5126
 
5127
- #: defaults.php:436
5128
  msgid "WordPress & System"
5129
  msgstr ""
5130
 
5131
- #: defaults.php:438
5132
  msgid "Unknown Error"
5133
  msgstr ""
5134
 
5135
- #: defaults.php:438
5136
  msgid "An unexpected error has occurred ."
5137
  msgstr ""
5138
 
5139
- #: defaults.php:439
5140
  msgid "PHP error"
5141
  msgstr ""
5142
 
5143
- #: defaults.php:439 defaults.php:440 defaults.php:441 defaults.php:442
5144
- #: defaults.php:443
5145
  msgid "%Message%."
5146
  msgstr ""
5147
 
5148
- #: defaults.php:440
5149
  msgid "PHP warning"
5150
  msgstr ""
5151
 
5152
- #: defaults.php:441
5153
  msgid "PHP notice"
5154
  msgstr ""
5155
 
5156
- #: defaults.php:442
5157
  msgid "PHP exception"
5158
  msgstr ""
5159
 
5160
- #: defaults.php:443
5161
  msgid "PHP shutdown error"
5162
  msgstr ""
5163
 
5164
- #: defaults.php:444
5165
  msgid "WordPress was updated"
5166
  msgstr ""
5167
 
5168
- #: defaults.php:444
5169
  msgid ""
5170
  "Updated WordPress %LineBreak% Previous version: %OldVersion% %LineBreak% New "
5171
  "version: %NewVersion%"
5172
  msgstr ""
5173
 
5174
- #: defaults.php:445
5175
  msgid "Advertising Add-ons"
5176
  msgstr ""
5177
 
5178
- #: defaults.php:445
5179
  msgid "%PromoName% %PromoMessage%"
5180
  msgstr ""
5181
 
5182
- #: defaults.php:448
5183
  msgid "Activity log plugin"
5184
  msgstr ""
5185
 
5186
- #: defaults.php:449
5187
  msgid "Events automatically pruned by system"
5188
  msgstr ""
5189
 
5190
- #: defaults.php:449
5191
  msgid "System automatically deleted %EventCount% event(s)"
5192
  msgstr ""
5193
 
5194
- #: defaults.php:450
5195
  msgid "Reset plugin's settings to default"
5196
  msgstr ""
5197
 
5198
- #: defaults.php:450
5199
  msgid "Reset the WP Security Audit Log plugin settings to default"
5200
  msgstr ""
5201
 
5202
- #: defaults.php:451
5203
  msgid "Purged the activity log"
5204
  msgstr ""
5205
 
5206
- #: defaults.php:455
5207
  msgid "File content has been modified"
5208
  msgstr ""
5209
 
5210
- #: defaults.php:455
5211
  msgid ""
5212
  "Content of the file on site modified %LineBreak% File: %File% %LineBreak% "
5213
  "Location: %FileLocation%"
5214
  msgstr ""
5215
 
5216
- #: defaults.php:456
5217
  msgid "File added to the site"
5218
  msgstr ""
5219
 
5220
- #: defaults.php:456
5221
  msgid ""
5222
  "File added to site %LineBreak% File: %File% %LineBreak% Location: "
5223
  "%FileLocation%"
5224
  msgstr ""
5225
 
5226
- #: defaults.php:457
5227
  msgid "File deleted from the site"
5228
  msgstr ""
5229
 
5230
- #: defaults.php:457
5231
  msgid ""
5232
  "File deleted from site %LineBreak% File: %File% %LineBreak% Location: "
5233
  "%FileLocation%"
5234
  msgstr ""
5235
 
5236
- #: defaults.php:458
5237
  msgid "File not scanned because it is bigger than the maximum file size limit"
5238
  msgstr ""
5239
 
5240
- #: defaults.php:458
5241
  msgid ""
5242
  "File not scanned because it is bigger than the maximum file size limit "
5243
  "%LineBreak% File: %File% %LineBreak% Location: %FileLocation% %LineBreak% "
5244
  "%FileSettings%"
5245
  msgstr ""
5246
 
5247
- #: defaults.php:459
5248
  msgid "File integrity scan stopped due to the limit of 1 million files"
5249
  msgstr ""
5250
 
5251
- #: defaults.php:459
5252
  msgid ""
5253
  "Your website has more than 1 million files so the file integrity scanner "
5254
  "cannot scan them all. Contact support for more information. %LineBreak% "
5255
  "%ContactSupport%"
5256
  msgstr ""
5257
 
5258
- #: defaults.php:460
5259
  msgid "File integrity scan started/stopped"
5260
  msgstr ""
5261
 
5262
- #: defaults.php:460
5263
  msgid "The file integrity scan has %ScanStatus%."
5264
  msgstr ""
5265
 
5266
- #: defaults.php:463
5267
  msgid "User/Visitor Actions"
5268
  msgstr ""
5269
 
5270
- #: defaults.php:464
5271
  msgid "User requests non-existing pages (404 Error Pages)"
5272
  msgstr ""
5273
 
5274
- #: defaults.php:464
5275
  msgid ""
5276
  "Has requested a non existing page (404 error) %LineBreak% Number of times: "
5277
  "%Attempts%"
5278
  msgstr ""
5279
 
5280
- #: defaults.php:465
5281
  msgid "Website Visitor User requests non-existing pages (404 Error Pages)"
5282
  msgstr ""
5283
 
5284
- #: defaults.php:465
5285
  msgid ""
5286
  "Website visitor has requested a non existing page (404 error) %LineBreak% "
5287
  "Number of times: %Attempts%"
5288
  msgstr ""
5289
 
5290
- #: defaults.php:468
5291
  msgid "WordPress Site Settings"
5292
  msgstr ""
5293
 
5294
- #: defaults.php:469
5295
  msgid "Option Anyone Can Register in WordPress settings changed"
5296
  msgstr ""
5297
 
5298
- #: defaults.php:469
5299
  msgid "The option Anyone can register"
5300
  msgstr ""
5301
 
5302
- #: defaults.php:470
5303
  msgid "New User Default Role changed"
5304
  msgstr ""
5305
 
5306
- #: defaults.php:470
5307
  msgid ""
5308
  "Changed the new user default role %LineBreak% Previous role: %OldRole% "
5309
  "%LineBreak% New role: %NewRole%"
5310
  msgstr ""
5311
 
5312
- #: defaults.php:471
5313
  msgid "WordPress Administrator Notification email changed"
5314
  msgstr ""
5315
 
5316
- #: defaults.php:471
5317
  msgid ""
5318
  "Changed the WordPress administrator notification email address %LineBreak% "
5319
  "Previous address %OldEmail% %LineBreak% New address: %NewEmail%"
5320
  msgstr ""
5321
 
5322
- #: defaults.php:472
5323
  msgid "User changes the WordPress Permalinks"
5324
  msgstr ""
5325
 
5326
- #: defaults.php:472
5327
  msgid ""
5328
  "Changed the WordPress permalinks %LineBreak% Previous permalinks: %OldPattern"
5329
  "% %LineBreak% New permalinks: %NewPattern%"
5330
  msgstr ""
5331
 
5332
- #: defaults.php:473
5333
  msgid ""
5334
  "Enabled/Disabled the option Discourage search engines from indexing this site"
5335
  msgstr ""
5336
 
5337
- #: defaults.php:473
5338
  msgid "Discourage search engines from indexing this site."
5339
  msgstr ""
5340
 
5341
- #: defaults.php:474
5342
  msgid "Enabled/Disabled comments on all the website"
5343
  msgstr ""
5344
 
5345
- #: defaults.php:474
5346
  msgid "Comments on the website"
5347
  msgstr ""
5348
 
5349
- #: defaults.php:475
5350
  msgid "Enabled/Disabled the option Comment author must fill out name and email"
5351
  msgstr ""
5352
 
5353
- #: defaults.php:475
5354
  msgid "The option Comment author must fill out name and email"
5355
  msgstr ""
5356
 
5357
- #: defaults.php:476
5358
  msgid ""
5359
  "Enabled/Disabled the option Users must be logged in and registered to comment"
5360
  msgstr ""
5361
 
5362
- #: defaults.php:476
5363
  msgid "The option Users must be logged in and registered to comment"
5364
  msgstr ""
5365
 
5366
- #: defaults.php:477
5367
  msgid "Enabled/Disabled the option to automatically close comments"
5368
  msgstr ""
5369
 
5370
- #: defaults.php:477
5371
  msgid "The option to Automatically close comments after %Value% days"
5372
  msgstr ""
5373
 
5374
- #: defaults.php:478
5375
  msgid "Changed the value of the option Automatically close comments"
5376
  msgstr ""
5377
 
5378
- #: defaults.php:478
5379
  msgid ""
5380
  "Changed the value of the option to Automatically close comments after a "
5381
  "number of days %LineBreak% Previous value: %OldValue% %LineBreak% New value: "
5382
  "%NewValue%"
5383
  msgstr ""
5384
 
5385
- #: defaults.php:479
5386
  msgid "Enabled/Disabled the option for comments to be manually approved"
5387
  msgstr ""
5388
 
5389
- #: defaults.php:479
5390
  msgid "The option for comments to be manually approved"
5391
  msgstr ""
5392
 
5393
- #: defaults.php:480
5394
  msgid ""
5395
  "Enabled/Disabled the option for an author to have previously approved "
5396
  "comments for the comments to appear"
5397
  msgstr ""
5398
 
5399
- #: defaults.php:480
5400
  msgid ""
5401
  "The option for an author to have previously approved comments for the "
5402
  "comments to appear"
5403
  msgstr ""
5404
 
5405
- #: defaults.php:481
5406
  msgid ""
5407
  "Changed the number of links that a comment must have to be held in the queue"
5408
  msgstr ""
5409
 
5410
- #: defaults.php:481
5411
  msgid ""
5412
  "Changed the minimum number of links a comment must have to be held in the "
5413
  "queue %LineBreak% Previous value: %OldValue% %LineBreak% New value: %NewValue"
5414
  "%"
5415
  msgstr ""
5416
 
5417
- #: defaults.php:482
5418
  msgid "Modified the list of keywords for comments moderation"
5419
  msgstr ""
5420
 
5421
- #: defaults.php:482
5422
  msgid "Modified the list of keywords for comments medoration"
5423
  msgstr ""
5424
 
5425
- #: defaults.php:483
5426
  msgid "Modified the list of keywords for comments blacklisting"
5427
  msgstr ""
5428
 
5429
- #: defaults.php:484
5430
  msgid "Option WordPress Address (URL) in WordPress settings changed"
5431
  msgstr ""
5432
 
5433
- #: defaults.php:484
5434
  msgid ""
5435
  "Changed the WordPress address (URL) %LineBreak% Previous URL: %old_url% "
5436
  "%LineBreak% New URL: %new_url%"
5437
  msgstr ""
5438
 
5439
- #: defaults.php:485
5440
  msgid "Option Site Address (URL) in WordPress settings changed"
5441
  msgstr ""
5442
 
5443
- #: defaults.php:485
5444
  msgid ""
5445
  "Changed the site address (URL) %LineBreak% Previous URL: %old_url% %LineBreak"
5446
  "% New URL: %new_url%"
5447
  msgstr ""
5448
 
5449
- #: defaults.php:489
5450
- msgid "bbPress Forums"
5451
- msgstr ""
5452
-
5453
- #: defaults.php:491
5454
- msgid "User created new forum"
5455
- msgstr ""
5456
-
5457
- #: defaults.php:491
5458
- msgid "New forum called %ForumName% %LineBreak% %EditorLinkForum%"
5459
- msgstr ""
5460
-
5461
- #: defaults.php:492
5462
- msgid "User changed status of a forum"
5463
- msgstr ""
5464
-
5465
- #: defaults.php:492
5466
- msgid ""
5467
- "Changed the status of the forum %ForumName% %LineBreak% Previous Status: "
5468
- "%OldStatus% %LineBreak% New Status: %NewStatus% %LineBreak% %EditorLinkForum%"
5469
- msgstr ""
5470
-
5471
- #: defaults.php:493
5472
- msgid "User changed visibility of a forum"
5473
- msgstr ""
5474
-
5475
- #: defaults.php:493
5476
- msgid ""
5477
- "Changed the visibility of the forum %ForumName% %LineBreak% Previous "
5478
- "visibility: %OldVisibility% %LineBreak% New visibility: %NewVisibility% "
5479
- "%LineBreak% %EditorLinkForum%"
5480
- msgstr ""
5481
-
5482
- #: defaults.php:494
5483
- msgid "User changed the URL of a forum"
5484
- msgstr ""
5485
-
5486
- #: defaults.php:494
5487
- msgid ""
5488
- "Changed the URL of the forum %ForumName% %LineBreak% Previous URL: %OldUrl% "
5489
- "%LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkForum%"
5490
- msgstr ""
5491
-
5492
- #: defaults.php:495
5493
- msgid "User changed order of a forum"
5494
- msgstr ""
5495
-
5496
- #: defaults.php:495
5497
- msgid ""
5498
- "Changed the sorting order of the forum %ForumName% %LineBreak% Previous "
5499
- "sorting order: %OldOrder% %LineBreak% New sorting order: %NewOrder% "
5500
- "%LineBreak% %EditorLinkForum%"
5501
- msgstr ""
5502
-
5503
- #: defaults.php:496
5504
- msgid "User moved forum to trash"
5505
- msgstr ""
5506
-
5507
- #: defaults.php:496
5508
- msgid "Moved the forum %ForumName% to trash"
5509
- msgstr ""
5510
-
5511
- #: defaults.php:497
5512
- msgid "User permanently deleted forum"
5513
- msgstr ""
5514
-
5515
- #: defaults.php:497
5516
- msgid "Permanently deleted the forum %ForumName%"
5517
- msgstr ""
5518
-
5519
- #: defaults.php:498
5520
- msgid "User restored forum from trash"
5521
- msgstr ""
5522
-
5523
- #: defaults.php:498
5524
- msgid "Restored the forum %ForumName% from trash"
5525
- msgstr ""
5526
-
5527
- #: defaults.php:499
5528
- msgid "User changed the parent of a forum"
5529
- msgstr ""
5530
-
5531
- #: defaults.php:499
5532
- msgid ""
5533
- "Changed the parent of the forum %ForumName% %LineBreak% Previous parent: "
5534
- "%OldParent% %LineBreak% New parent: %NewParent% %LineBreak% %EditorLinkForum%"
5535
- msgstr ""
5536
-
5537
- #: defaults.php:500
5538
- msgid "User changed type of a forum"
5539
- msgstr ""
5540
-
5541
- #: defaults.php:500
5542
- msgid ""
5543
- "Changed the type of the forum %ForumName% %LineBreak% Previous type: %OldType"
5544
- "% %LineBreak% New type: %NewType% %LineBreak% %EditorLinkForum%"
5545
- msgstr ""
5546
-
5547
- #: defaults.php:503
5548
- msgid "bbPress Forum Topics"
5549
- msgstr ""
5550
-
5551
- #: defaults.php:504
5552
- msgid "User created new topic"
5553
- msgstr ""
5554
-
5555
- #: defaults.php:504
5556
- msgid "New topic called %TopicName% %LineBreak% %EditorLinkTopic%"
5557
- msgstr ""
5558
-
5559
- #: defaults.php:505
5560
- msgid "User changed status of a topic"
5561
- msgstr ""
5562
-
5563
- #: defaults.php:505
5564
- msgid ""
5565
- "Changed the status of the topic %TopicName% %LineBreak% Previous status: "
5566
- "%OldStatus% %LineBreak% New status: %NewStatus% %LineBreak% %EditorLinkTopic%"
5567
- msgstr ""
5568
-
5569
- #: defaults.php:506
5570
- msgid "User changed type of a topic"
5571
- msgstr ""
5572
-
5573
- #: defaults.php:506
5574
- msgid ""
5575
- "Changed the type of the topic %TopicName% %LineBreak% Previous type: %OldType"
5576
- "% %LineBreak% New type: %NewType% %LineBreak% %EditorLinkTopic%"
5577
- msgstr ""
5578
-
5579
- #: defaults.php:507
5580
- msgid "User changed URL of a topic"
5581
- msgstr ""
5582
-
5583
- #: defaults.php:507
5584
- msgid ""
5585
- "Changed the URL of the topic %TopicName% %LineBreak% Previous URL: %OldUrl% "
5586
- "%LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkTopic%"
5587
- msgstr ""
5588
-
5589
- #: defaults.php:508
5590
- msgid "User changed the forum of a topic"
5591
- msgstr ""
5592
-
5593
- #: defaults.php:508
5594
- msgid ""
5595
- "Changed the forum of the topic %TopicName% %LineBreak% Previous forum: "
5596
- "%OldForum% %LineBreak% New forum: %NewForum% %LineBreak% %EditorLinkTopic%"
5597
- msgstr ""
5598
-
5599
- #: defaults.php:509
5600
- msgid "User moved topic to trash"
5601
- msgstr ""
5602
-
5603
- #: defaults.php:509
5604
- msgid "Moved the %TopicName% to trash"
5605
- msgstr ""
5606
-
5607
- #: defaults.php:510
5608
- msgid "User permanently deleted topic"
5609
- msgstr ""
5610
-
5611
- #: defaults.php:510
5612
- msgid "Permanently deleted the topic %TopicName%"
5613
- msgstr ""
5614
-
5615
- #: defaults.php:511
5616
- msgid "User restored topic from trash"
5617
- msgstr ""
5618
-
5619
- #: defaults.php:511
5620
- msgid "Restored the topic %TopicName% from trash"
5621
- msgstr ""
5622
-
5623
- #: defaults.php:512
5624
- msgid "User changed visibility of a topic"
5625
- msgstr ""
5626
-
5627
- #: defaults.php:512
5628
- msgid ""
5629
- "Changed the visibility of the topic %TopicName% %LineBreak% Previous "
5630
- "visibility: %OldVisibility% %LineBreak% New visibility: %NewVisibility% "
5631
- "%LineBreak% %EditorLinkTopic%"
5632
- msgstr ""
5633
-
5634
- #: defaults.php:515
5635
- msgid "bbPress Settings"
5636
- msgstr ""
5637
-
5638
- #: defaults.php:516
5639
- msgid "User changed forum's role"
5640
- msgstr ""
5641
-
5642
- #: defaults.php:516
5643
- msgid ""
5644
- "Changed the forum user's auto role %LineBreak% Previous role: %OldRole% "
5645
- "%LineBreak% New role: %NewRole%"
5646
- msgstr ""
5647
-
5648
- #: defaults.php:517
5649
- msgid "User changed option of a forum"
5650
- msgstr ""
5651
-
5652
- #: defaults.php:517
5653
- msgid "The option for anonymous posting on the forums"
5654
- msgstr ""
5655
-
5656
- #: defaults.php:518
5657
- msgid "User changed time to disallow post editing"
5658
- msgstr ""
5659
-
5660
- #: defaults.php:518
5661
- msgid ""
5662
- "Changed the time to disallow post editing in the forums %LineBreak% Previous "
5663
- "time: %OldTime% %LineBreak% New time: %NewTime%"
5664
- msgstr ""
5665
-
5666
- #: defaults.php:519
5667
- msgid "User changed the forum setting posting throttle time"
5668
- msgstr ""
5669
-
5670
- #: defaults.php:519
5671
- msgid ""
5672
- "Changed the posting throttle time in the forums %LineBreak% Previous time: "
5673
- "%OldTime% %LineBreak% New time: %NewTime%"
5674
- msgstr ""
5675
-
5676
- #: defaults.php:523
5677
  msgid "Multisite Network Sites"
5678
  msgstr ""
5679
 
5680
- #: defaults.php:525
5681
  msgid "New site added on the network"
5682
  msgstr ""
5683
 
5684
- #: defaults.php:525
5685
  msgid "New site on the network: %SiteName% %LineBreak% URL: %BlogURL%"
5686
  msgstr ""
5687
 
5688
- #: defaults.php:526
5689
  msgid "Existing site archived"
5690
  msgstr ""
5691
 
5692
- #: defaults.php:526
5693
  msgid "Archived the site: %SiteName% %LineBreak% URL: %BlogURL%"
5694
  msgstr ""
5695
 
5696
- #: defaults.php:527
5697
  msgid "Archived site has been unarchived"
5698
  msgstr ""
5699
 
5700
- #: defaults.php:527
5701
  msgid "Unarchived the site: %SiteName% %LineBreak% URL: %BlogURL%"
5702
  msgstr ""
5703
 
5704
- #: defaults.php:528
5705
  msgid "Deactivated site has been activated"
5706
  msgstr ""
5707
 
5708
- #: defaults.php:528
5709
  msgid "Activated the site: %SiteName% %LineBreak% URL: %BlogURL%"
5710
  msgstr ""
5711
 
5712
- #: defaults.php:529
5713
  msgid "Site has been deactivated"
5714
  msgstr ""
5715
 
5716
- #: defaults.php:529
5717
  msgid "Deactivated the site: %SiteName% %LineBreak% URL: %BlogURL%"
5718
  msgstr ""
5719
 
5720
- #: defaults.php:530
5721
  msgid "Existing site deleted from network"
5722
  msgstr ""
5723
 
5724
- #: defaults.php:530
5725
  msgid "The site: %SiteName% %LineBreak% URL: %BlogURL%"
5726
  msgstr ""
5727
 
5728
- #: defaults.php:536
5729
  msgid "User created a new product"
5730
  msgstr ""
5731
 
5732
- #: defaults.php:536
5733
  msgid ""
5734
  "Created a new product called %ProductTitle% %LineBreak% ID: %PostID% "
5735
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5736
  msgstr ""
5737
 
5738
- #: defaults.php:537
5739
  msgid "User published a product"
5740
  msgstr ""
5741
 
5742
- #: defaults.php:537
5743
  msgid ""
5744
  "Published the product called %ProductTitle% %LineBreak% ID: %PostID% "
5745
- "%LineBreak% Status: %ProductStatus% %LineBreak% %LineBreak% "
5746
- "%EditorLinkProduct%"
5747
  msgstr ""
5748
 
5749
- #: defaults.php:538
5750
  msgid "User changed the category of a product"
5751
  msgstr ""
5752
 
5753
- #: defaults.php:538
5754
  msgid ""
5755
  "Changed the category of the product %ProductTitle% %LineBreak% ID: %PostID% "
5756
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous categories: "
@@ -5758,64 +5493,64 @@ msgid ""
5758
  "%EditorLinkProduct%"
5759
  msgstr ""
5760
 
5761
- #: defaults.php:539
5762
  msgid "User modified the short description of a product"
5763
  msgstr ""
5764
 
5765
- #: defaults.php:539
5766
  msgid ""
5767
  "Changed the short description of the product %ProductTitle% %LineBreak% ID: "
5768
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5769
  msgstr ""
5770
 
5771
- #: defaults.php:540
5772
  msgid "User modified the text of a product"
5773
  msgstr ""
5774
 
5775
- #: defaults.php:540
5776
  msgid ""
5777
  "Changed the text of the product %ProductTitle% %LineBreak% ID: %PostID% "
5778
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5779
  msgstr ""
5780
 
5781
- #: defaults.php:541
5782
  msgid "User changed the URL of a product"
5783
  msgstr ""
5784
 
5785
- #: defaults.php:541
5786
  msgid ""
5787
  "Changed the URL of the product %ProductTitle% %LineBreak% ID: %PostID% "
5788
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous URL: %OldUrl% "
5789
  "%LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkProduct%"
5790
  msgstr ""
5791
 
5792
- #: defaults.php:542
5793
  msgid "User changed the Product Data of a product"
5794
  msgstr ""
5795
 
5796
- #: defaults.php:542
5797
  msgid ""
5798
  "Changed the type of the product %ProductTitle% %LineBreak% ID: %PostID% "
5799
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous type: %OldType% "
5800
  "%LineBreak% New type: %NewType% %LineBreak% %EditorLinkProduct%"
5801
  msgstr ""
5802
 
5803
- #: defaults.php:543
5804
  msgid "User changed the date of a product"
5805
  msgstr ""
5806
 
5807
- #: defaults.php:543
5808
  msgid ""
5809
  "Changed the date of the product %ProductTitle% %LineBreak% ID: %PostID% "
5810
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous date: %OldDate% "
5811
  "%LineBreak% New date: %NewDate% %LineBreak% %EditorLinkProduct%"
5812
  msgstr ""
5813
 
5814
- #: defaults.php:544
5815
  msgid "User changed the visibility of a product"
5816
  msgstr ""
5817
 
5818
- #: defaults.php:544
5819
  msgid ""
5820
  "Changed the visibility of the product %ProductTitle% %LineBreak% ID: %PostID"
5821
  "% %LineBreak% Status: %ProductStatus% %LineBreak% Previous visibility: "
@@ -5823,123 +5558,122 @@ msgid ""
5823
  "%EditorLinkProduct%"
5824
  msgstr ""
5825
 
5826
- #: defaults.php:545
5827
  msgid "User modified the product"
5828
  msgstr ""
5829
 
5830
- #: defaults.php:545
5831
  msgid ""
5832
  "Modified the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% "
5833
  "Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5834
  msgstr ""
5835
 
5836
- #: defaults.php:546
5837
  msgid "User modified the draft product"
5838
  msgstr ""
5839
 
5840
- #: defaults.php:546
5841
  msgid ""
5842
  "Modified the draft product %ProductTitle%. View the product: "
5843
  "%EditorLinkProduct%."
5844
  msgstr ""
5845
 
5846
- #: defaults.php:547
5847
  msgid "User moved a product to trash"
5848
  msgstr ""
5849
 
5850
- #: defaults.php:547
5851
  msgid ""
5852
  "Moved the product %ProductTitle% to trash %LineBreak% ID: %PostID% %LineBreak"
5853
  "% Status: %ProductStatus%"
5854
  msgstr ""
5855
 
5856
- #: defaults.php:548
5857
  msgid "User permanently deleted a product"
5858
  msgstr ""
5859
 
5860
- #: defaults.php:548
5861
  msgid "Permanently deleted the product %ProductTitle% %LineBreak% ID: %PostID%"
5862
  msgstr ""
5863
 
5864
- #: defaults.php:549
5865
  msgid "User restored a product from the trash"
5866
  msgstr ""
5867
 
5868
- #: defaults.php:549
5869
  msgid ""
5870
  "Restored the product %ProductTitle% from trash %LineBreak% ID: %PostID% "
5871
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5872
  msgstr ""
5873
 
5874
- #: defaults.php:550
5875
  msgid "User changed status of a product"
5876
  msgstr ""
5877
 
5878
- #: defaults.php:550
5879
  msgid ""
5880
  "Changed the status of the product %ProductTitle% %LineBreak% ID: %PostID% "
5881
  "%LineBreak% Previous status: %OldStatus% %LineBreak% New status: %NewStatus% "
5882
  "%LineBreak% %EditorLinkProduct%"
5883
  msgstr ""
5884
 
5885
- #: defaults.php:551
5886
  msgid "User opened a product in the editor"
5887
  msgstr ""
5888
 
5889
- #: defaults.php:551
5890
  msgid ""
5891
  "Opened the product %ProductTitle% in the editor %LineBreak% ID: %PostID% "
5892
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5893
  msgstr ""
5894
 
5895
- #: defaults.php:552
5896
  msgid "User viewed a product"
5897
  msgstr ""
5898
 
5899
- #: defaults.php:552
5900
  msgid ""
5901
  "Viewed the product %ProductTitle% page %LineBreak% ID: %PostID% %LineBreak% "
5902
  "Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5903
  msgstr ""
5904
 
5905
- #: defaults.php:553
5906
  msgid "User renamed a product"
5907
  msgstr ""
5908
 
5909
- #: defaults.php:553
5910
  msgid ""
5911
- "Renamed the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% "
5912
- "Status: %ProductStatus% %LineBreak% Previous name: %OldTitle% %LineBreak% "
5913
- "New name: %NewTitle% %LineBreak% %EditorLinkProduct%"
5914
  msgstr ""
5915
 
5916
- #: defaults.php:554
5917
  msgid "User changed type of a price"
5918
  msgstr ""
5919
 
5920
- #: defaults.php:554
5921
  msgid ""
5922
  "Changed the %PriceType% of the product %ProductTitle% %LineBreak% ID: %PostID"
5923
  "% %LineBreak% Status: %ProductStatus% %LineBreak% Previous price: %OldPrice% "
5924
  "%LineBreak% New price: %NewPrice% %LineBreak% %EditorLinkProduct%"
5925
  msgstr ""
5926
 
5927
- #: defaults.php:555
5928
  msgid "User changed the SKU of a product"
5929
  msgstr ""
5930
 
5931
- #: defaults.php:555
5932
  msgid ""
5933
  "Changed the SKU of the product %ProductTitle% %LineBreak% ID: %PostID% "
5934
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous SKU: %OldSku% "
5935
  "%LineBreak% New SKU: %NewSku% %LineBreak% %EditorLinkProduct%"
5936
  msgstr ""
5937
 
5938
- #: defaults.php:556
5939
  msgid "User changed the stock status of a product"
5940
  msgstr ""
5941
 
5942
- #: defaults.php:556
5943
  msgid ""
5944
  "Changed the stock status of the product %ProductTitle% %LineBreak% ID: "
5945
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous stock "
@@ -5947,11 +5681,11 @@ msgid ""
5947
  "%EditorLinkProduct%"
5948
  msgstr ""
5949
 
5950
- #: defaults.php:557
5951
  msgid "User changed the stock quantity"
5952
  msgstr ""
5953
 
5954
- #: defaults.php:557
5955
  msgid ""
5956
  "Changed the stock quantity of the product %ProductTitle% %LineBreak% ID: "
5957
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous quantity: "
@@ -5959,33 +5693,33 @@ msgid ""
5959
  "%EditorLinkProduct%"
5960
  msgstr ""
5961
 
5962
- #: defaults.php:558
5963
  msgid "User set a product type"
5964
  msgstr ""
5965
 
5966
- #: defaults.php:558
5967
  msgid ""
5968
  "Changed the type of the %NewType% product %ProductTitle% %LineBreak% ID: "
5969
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous type: "
5970
  "%OldType% %LineBreak% New type: %NewType% %LineBreak% %EditorLinkProduct%"
5971
  msgstr ""
5972
 
5973
- #: defaults.php:559
5974
  msgid "User changed the weight of a product"
5975
  msgstr ""
5976
 
5977
- #: defaults.php:559
5978
  msgid ""
5979
  "Changed the weight of the product %ProductTitle% %LineBreak% ID: %PostID% "
5980
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous weight: %OldWeight% "
5981
  "%LineBreak% New weight: %NewWeight% %LineBreak% %EditorLinkProduct%"
5982
  msgstr ""
5983
 
5984
- #: defaults.php:560
5985
  msgid "User changed the dimensions of a product"
5986
  msgstr ""
5987
 
5988
- #: defaults.php:560
5989
  msgid ""
5990
  "Changed the %DimensionType% dimensions of the product %ProductTitle% "
5991
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -5993,33 +5727,33 @@ msgid ""
5993
  "%LineBreak% %EditorLinkProduct%"
5994
  msgstr ""
5995
 
5996
- #: defaults.php:561
5997
  msgid "User added the Downloadable File to a product"
5998
  msgstr ""
5999
 
6000
- #: defaults.php:561
6001
  msgid ""
6002
  "Added a downloadable file to the product %ProductTitle% %LineBreak% ID: "
6003
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% File name: %FileName"
6004
  "% %LineBreak% File URL: %FileUrl% %LineBreak% %EditorLinkProduct%"
6005
  msgstr ""
6006
 
6007
- #: defaults.php:562
6008
  msgid "User Removed the Downloadable File from a product"
6009
  msgstr ""
6010
 
6011
- #: defaults.php:562
6012
  msgid ""
6013
  "Removed the downloadable file from the product %ProductTitle% %LineBreak% "
6014
  "ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% File name: "
6015
  "%FileName% %LineBreak% File URL: %FileUrl% %LineBreak% %EditorLinkProduct%"
6016
  msgstr ""
6017
 
6018
- #: defaults.php:563
6019
  msgid "User changed the name of a Downloadable File in a product"
6020
  msgstr ""
6021
 
6022
- #: defaults.php:563
6023
  msgid ""
6024
  "Changed the name of the downloadable file to the product %ProductTitle% "
6025
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -6027,11 +5761,11 @@ msgid ""
6027
  "% %EditorLinkProduct%"
6028
  msgstr ""
6029
 
6030
- #: defaults.php:564
6031
  msgid "User changed the URL of the Downloadable File in a product"
6032
  msgstr ""
6033
 
6034
- #: defaults.php:564
6035
  msgid ""
6036
  "Changed the URL of the downloadable file to the product %ProductTitle% "
6037
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -6039,11 +5773,11 @@ msgid ""
6039
  "URL: %NewUrl% %LineBreak% %EditorLinkProduct%"
6040
  msgstr ""
6041
 
6042
- #: defaults.php:565
6043
  msgid "User changed the catalog visibility of a product"
6044
  msgstr ""
6045
 
6046
- #: defaults.php:565
6047
  msgid ""
6048
  "Changed the product visibility of the product %ProductTitle% %LineBreak% ID: "
6049
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous setting: "
@@ -6051,21 +5785,21 @@ msgid ""
6051
  "%EditorLinkProduct%"
6052
  msgstr ""
6053
 
6054
- #: defaults.php:566
6055
  msgid "User changed the setting Featured Product of a product"
6056
  msgstr ""
6057
 
6058
- #: defaults.php:566
6059
  msgid ""
6060
  "The setting Featured Product for the product %ProductTitle% %LineBreak% ID: "
6061
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
6062
  msgstr ""
6063
 
6064
- #: defaults.php:567
6065
  msgid "User changed the Allow Backorders setting of a product"
6066
  msgstr ""
6067
 
6068
- #: defaults.php:567
6069
  msgid ""
6070
  "Changed the Allow Backorders setting for the product %ProductTitle% "
6071
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -6073,33 +5807,45 @@ msgid ""
6073
  "%EditorLinkProduct%"
6074
  msgstr ""
6075
 
6076
- #: defaults.php:568
6077
  msgid "User added/removed products to upsell of a product"
6078
  msgstr ""
6079
 
6080
- #: defaults.php:568
6081
  msgid ""
6082
  "Products to Upsell in the product %ProductTitle% %LineBreak% ID: %PostID% "
6083
  "%LineBreak% Status: %ProductStatus% %LineBreak% Product: %UpsellTitle% "
6084
  "%LineBreak% %EditorLinkProduct%"
6085
  msgstr ""
6086
 
6087
- #: defaults.php:569
6088
  msgid "User added/removed products to cross-sells of a product"
6089
  msgstr ""
6090
 
6091
- #: defaults.php:569
6092
  msgid ""
6093
  "Product to Cross-sell in the product %ProductTitle% %LineBreak% ID: %PostID% "
6094
  "%LineBreak% Status: %ProductStatus% %LineBreak% Product: %CrossSellTitle% "
6095
  "%LineBreak% %EditorLinkProduct%"
6096
  msgstr ""
6097
 
6098
- #: defaults.php:570
 
 
 
 
 
 
 
 
 
 
 
 
6099
  msgid "Added a new attribute of a product"
6100
  msgstr ""
6101
 
6102
- #: defaults.php:570
6103
  msgid ""
6104
  "A new attribute to the product %ProductTitle% %LineBreak% ID: %ProductID% "
6105
  "%LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: "
@@ -6107,11 +5853,11 @@ msgid ""
6107
  "%EditorLinkProduct%"
6108
  msgstr ""
6109
 
6110
- #: defaults.php:571
6111
  msgid "Modified the value of an attribute of a product"
6112
  msgstr ""
6113
 
6114
- #: defaults.php:571
6115
  msgid ""
6116
  "Modified the value of an attribute in the product %ProductTitle% %LineBreak% "
6117
  "ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute "
@@ -6119,11 +5865,11 @@ msgid ""
6119
  "%LineBreak% New attribute value: %NewValue% %LineBreak% %EditorLinkProduct%"
6120
  msgstr ""
6121
 
6122
- #: defaults.php:572
6123
  msgid "Changed the name of an attribute of a product"
6124
  msgstr ""
6125
 
6126
- #: defaults.php:572
6127
  msgid ""
6128
  "Changed the name of an attribute in the product %ProductTitle% %LineBreak% "
6129
  "ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous "
@@ -6131,11 +5877,11 @@ msgid ""
6131
  "%LineBreak% %EditorLinkProduct%"
6132
  msgstr ""
6133
 
6134
- #: defaults.php:573
6135
  msgid "Deleted an attribute of a product"
6136
  msgstr ""
6137
 
6138
- #: defaults.php:573
6139
  msgid ""
6140
  "An attribute from the product %ProductTitle% %LineBreak% ID: %ProductID% "
6141
  "%LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: "
@@ -6143,11 +5889,11 @@ msgid ""
6143
  "%EditorLinkProduct%"
6144
  msgstr ""
6145
 
6146
- #: defaults.php:574
6147
  msgid "Set the attribute visibility of a product"
6148
  msgstr ""
6149
 
6150
- #: defaults.php:574
6151
  msgid ""
6152
  "Changed the visibility of an attribute in the product %ProductTitle% "
6153
  "%LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% "
@@ -6155,478 +5901,574 @@ msgid ""
6155
  "%AttributeVisiblilty% %LineBreak% %EditorLinkProduct%"
6156
  msgstr ""
6157
 
6158
- #: defaults.php:577
6159
  msgid "Store"
6160
  msgstr ""
6161
 
6162
- #: defaults.php:578
6163
  msgid "User changed the Weight Unit"
6164
  msgstr ""
6165
 
6166
- #: defaults.php:578
6167
  msgid ""
6168
  "Changed the weight unit of the store %LineBreak% Previous weight unit: "
6169
  "%OldUnit% %LineBreak% New weight unit: %NewUnit%"
6170
  msgstr ""
6171
 
6172
- #: defaults.php:579
6173
  msgid "User changed the Dimensions Unit"
6174
  msgstr ""
6175
 
6176
- #: defaults.php:579
6177
  msgid ""
6178
  "Changed the dimensions unit of the store %LineBreak% Previous dimensions "
6179
  "unit: %OldUnit% %LineBreak% New dimensions unit: %NewUnit%"
6180
  msgstr ""
6181
 
6182
- #: defaults.php:580
6183
  msgid "User changed the Base Location"
6184
  msgstr ""
6185
 
6186
- #: defaults.php:580
6187
  msgid ""
6188
- "Changed the base location %LineBreak% Previous location: %OldLocation% "
6189
- "%LineBreak% New location: %NewLocation%"
6190
  msgstr ""
6191
 
6192
- #: defaults.php:581
6193
  msgid "User enabled/disabled taxes"
6194
  msgstr ""
6195
 
6196
- #: defaults.php:581
6197
- msgid "Taxes in the WooCommerce store"
6198
  msgstr ""
6199
 
6200
- #: defaults.php:582
6201
  msgid "User changed the currency"
6202
  msgstr ""
6203
 
6204
- #: defaults.php:582
6205
  msgid ""
6206
  "Changed the currency of the store %LineBreak% Previous currency: %OldCurrency"
6207
  "% %LineBreak% New currency: %NewCurrency%"
6208
  msgstr ""
6209
 
6210
- #: defaults.php:583
6211
  msgid "User enabled/disabled the use of coupons during checkout"
6212
  msgstr ""
6213
 
6214
- #: defaults.php:583
6215
  msgid "The use of coupons during checkout"
6216
  msgstr ""
6217
 
6218
- #: defaults.php:584
6219
  msgid "User enabled/disabled guest checkout"
6220
  msgstr ""
6221
 
6222
- #: defaults.php:584
6223
  msgid "Guest checkout in the store"
6224
  msgstr ""
6225
 
6226
- #: defaults.php:585
6227
  msgid "User enabled/disabled cash on delivery"
6228
  msgstr ""
6229
 
6230
- #: defaults.php:585
6231
  msgid "The option cash on delivery"
6232
  msgstr ""
6233
 
6234
- #: defaults.php:588
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6235
  msgid "Payment Gateways"
6236
  msgstr ""
6237
 
6238
- #: defaults.php:589
6239
  msgid "User enabled/disabled a payment gateway"
6240
  msgstr ""
6241
 
6242
- #: defaults.php:589 defaults.php:591
6243
  msgid "The payment gateway %GatewayName%"
6244
  msgstr ""
6245
 
6246
- #: defaults.php:590
6247
  msgid "User disabled a payment gateway"
6248
  msgstr ""
6249
 
6250
- #: defaults.php:590
6251
  msgid "Disabled the payment gateway %GatewayName%"
6252
  msgstr ""
6253
 
6254
- #: defaults.php:591
6255
  msgid "User modified a payment gateway"
6256
  msgstr ""
6257
 
6258
- #: defaults.php:594
6259
  msgid "Tax Settings"
6260
  msgstr ""
6261
 
6262
- #: defaults.php:595
6263
  msgid "User modified prices with tax option"
6264
  msgstr ""
6265
 
6266
- #: defaults.php:595
6267
  msgid "Set the option that prices are %TaxStatus% of tax"
6268
  msgstr ""
6269
 
6270
- #: defaults.php:596
6271
  msgid "User modified tax calculation base"
6272
  msgstr ""
6273
 
6274
- #: defaults.php:596
6275
  msgid "Set the setting Calculate tax based on to %Setting%"
6276
  msgstr ""
6277
 
6278
- #: defaults.php:597
6279
  msgid "User modified shipping tax class"
6280
  msgstr ""
6281
 
6282
- #: defaults.php:597
6283
  msgid "Set the Shipping tax class to %Setting%"
6284
  msgstr ""
6285
 
6286
- #: defaults.php:598
6287
  msgid "User enabled/disabled rounding of tax"
6288
  msgstr ""
6289
 
6290
- #: defaults.php:598
6291
  msgid "Rounding of tax at subtotal level"
6292
  msgstr ""
6293
 
6294
- #: defaults.php:599
6295
  msgid "User modified a shipping zone"
6296
  msgstr ""
6297
 
6298
- #: defaults.php:599
6299
  msgid "The shipping zone %ShippingZoneName%"
6300
  msgstr ""
6301
 
6302
- #: defaults.php:602
6303
  msgid "WC Categories"
6304
  msgstr ""
6305
 
6306
- #: defaults.php:603
6307
  msgid "User created a new product category"
6308
  msgstr ""
6309
 
6310
- #: defaults.php:603
6311
  msgid ""
6312
  "A new product category called %CategoryName% %LineBreak% Category slug is "
6313
  "%Slug% %LineBreak% %ProductCatLink%"
6314
  msgstr ""
6315
 
6316
- #: defaults.php:604
6317
  msgid "User deleted a product category"
6318
  msgstr ""
6319
 
6320
- #: defaults.php:604
6321
  msgid ""
6322
  "The product category called %CategoryName% %LineBreak% Category slug: "
6323
  "%CategorySlug%"
6324
  msgstr ""
6325
 
6326
- #: defaults.php:605
6327
  msgid "User changed the slug of a product category"
6328
  msgstr ""
6329
 
6330
- #: defaults.php:605
6331
  msgid ""
6332
  "Changed the slug of the product category called %CategoryName% %LineBreak% "
6333
  "Previous category slug: %OldSlug% %LineBreak% New category slug: %NewSlug% "
6334
  "%LineBreak% %ProductCatLink%"
6335
  msgstr ""
6336
 
6337
- #: defaults.php:606
6338
  msgid "User changed the parent category of a product category"
6339
  msgstr ""
6340
 
6341
- #: defaults.php:606
6342
  msgid ""
6343
  "Changed the parent of the product category %CategoryName% %LineBreak% "
6344
- "Category slug: %CategorySlug% Previous parent: %OldParentCat% %LineBreak% "
6345
- "New parent: %NewParentCat% %LineBreak% %ProductCatLink%"
6346
  msgstr ""
6347
 
6348
- #: defaults.php:607
6349
  msgid "User changed the display type of a product category"
6350
  msgstr ""
6351
 
6352
- #: defaults.php:607
6353
  msgid ""
6354
  "Changed the display type of the product category %CategoryName% %LineBreak% "
6355
  "%CategorySlug% %LineBreak% Previous display type: %OldDisplayType% %LineBreak"
6356
  "% New display type: %NewDisplayType% %LineBreak% %ProductCatLink%"
6357
  msgstr ""
6358
 
6359
- #: defaults.php:608
6360
  msgid "User changed the name of a product category"
6361
  msgstr ""
6362
 
6363
- #: defaults.php:608
6364
  msgid ""
6365
- "Changed the name of the product category %CategoryName% %LineBreak% "
6366
- "%CategorySlug% %LineBreak% Previous name: %OldName% %LineBreak% New name: "
6367
- "%NewName% %LineBreak% %ProductCatLink%"
6368
  msgstr ""
6369
 
6370
- #: defaults.php:611
6371
  msgid "Attributes"
6372
  msgstr ""
6373
 
6374
- #: defaults.php:612
6375
  msgid "User created a new attribute"
6376
  msgstr ""
6377
 
6378
- #: defaults.php:612
6379
  msgid ""
6380
  "A new attribute in WooCommerce called %AttributeName% %LineBreak% Attribute "
6381
  "slug: %AttributeSlug%"
6382
  msgstr ""
6383
 
6384
- #: defaults.php:613
6385
  msgid "User deleted an attribute"
6386
  msgstr ""
6387
 
6388
- #: defaults.php:613
6389
  msgid ""
6390
  "The WooCommerce attribute called %AttributeName% %LineBreak% Attribute slug: "
6391
  "%AttributeSlug%"
6392
  msgstr ""
6393
 
6394
- #: defaults.php:614
6395
  msgid "User changed the slug of an attribute"
6396
  msgstr ""
6397
 
6398
- #: defaults.php:614
6399
  msgid ""
6400
  "Changed the slug of the WooCommerce attribute %AttributeName% %LineBreak% "
6401
  "Previous slug: %OldSlug% %LineBreak% New slug: %NewSlug%"
6402
  msgstr ""
6403
 
6404
- #: defaults.php:615
6405
  msgid "User changed the name of an attribute"
6406
  msgstr ""
6407
 
6408
- #: defaults.php:615
6409
  msgid ""
6410
  "Changed the name of the WooCommerce attribute %AttributeName% %LineBreak% "
6411
  "Attribute slug: %AttributeSlug% %LineBreak% Previous name: %OldName% "
6412
  "%LineBreak% New name: %NewName%"
6413
  msgstr ""
6414
 
6415
- #: defaults.php:616
6416
  msgid "User changed the default sort order of an attribute"
6417
  msgstr ""
6418
 
6419
- #: defaults.php:616
6420
  msgid ""
6421
  "Changed the Default Sort Order of the attribute %AttributeName% in "
6422
  "WooCommerce %LineBreak% Attribute slug: %AttributeSlug% %LineBreak% Previous "
6423
  "sorting order: %OldSortOrder% %LineBreak% New sorting order: %NewSortOrder%"
6424
  msgstr ""
6425
 
6426
- #: defaults.php:617
6427
  msgid "User enabled/disabled the option Enable Archives of an attribute"
6428
  msgstr ""
6429
 
6430
- #: defaults.php:617
6431
  msgid "The option Enable Archives in WooCommerce attribute %AttributeName%"
6432
  msgstr ""
6433
 
6434
- #: defaults.php:620
6435
  msgid "Coupons"
6436
  msgstr ""
6437
 
6438
- #: defaults.php:621
6439
  msgid "User published a new coupon"
6440
  msgstr ""
6441
 
6442
- #: defaults.php:621
6443
  msgid ""
6444
  "Published a new coupon called %CouponName% %LineBreak% %EditorLinkCoupon%"
6445
  msgstr ""
6446
 
6447
- #: defaults.php:622
6448
  msgid "User changed the discount type of a coupon"
6449
  msgstr ""
6450
 
6451
- #: defaults.php:622
6452
  msgid ""
6453
  "Changed the Discount Type in coupon %CouponName% %LineBreak% Previous "
6454
  "discount type: %OldDiscountType% %LineBreak% New discount type: "
6455
  "%NewDiscountType% %LineBreak% %EditorLinkCoupon%"
6456
  msgstr ""
6457
 
6458
- #: defaults.php:623
6459
  msgid "User changed the coupon amount of a coupon"
6460
  msgstr ""
6461
 
6462
- #: defaults.php:623
6463
  msgid ""
6464
  "Changed the Coupon amount in coupon %CouponName% %LineBreak% Previous "
6465
  "amount: %OldAmount% %LineBreak% New amount: %NewAmount% %LineBreak% "
6466
  "%EditorLinkCoupon%"
6467
  msgstr ""
6468
 
6469
- #: defaults.php:624
6470
  msgid "User changed the coupon expire date of a coupon"
6471
  msgstr ""
6472
 
6473
- #: defaults.php:624
6474
  msgid ""
6475
  "Changed the expire date of the coupon %CouponName% %LineBreak% Previous "
6476
  "date: %OldDate% %LineBreak% New date: %NewDate% %LineBreak% %EditorLinkCoupon"
6477
  "%"
6478
  msgstr ""
6479
 
6480
- #: defaults.php:625
6481
  msgid "User changed the usage restriction settings of a coupon"
6482
  msgstr ""
6483
 
6484
- #: defaults.php:625
6485
  msgid ""
6486
  "Changed the Usage Restriction of the coupon %CouponName% %LineBreak% "
6487
  "Previous usage restriction: %OldMetaValue% %LineBreak% New usage "
6488
  "restriction: %NewMetaValue% %LineBreak% %EditorLinkCoupon%"
6489
  msgstr ""
6490
 
6491
- #: defaults.php:626
6492
  msgid "User changed the usage limits settings of a coupon"
6493
  msgstr ""
6494
 
6495
- #: defaults.php:626
6496
  msgid ""
6497
  "Changed the Usage Limits of the coupon %CouponName% %LineBreak% Previous "
6498
  "usage limits: %OldMetaValue% %LineBreak% New usage limits: %NewMetaValue% "
6499
  "%LineBreak% %EditorLinkCoupon%"
6500
  msgstr ""
6501
 
6502
- #: defaults.php:627
6503
  msgid "User changed the description of a coupon"
6504
  msgstr ""
6505
 
6506
- #: defaults.php:627
6507
  msgid ""
6508
  "Changed the description of the coupon %CouponName% %LineBreak% Previous "
6509
  "description: %OldDescription% %LineBreak% New description: %NewDescription% "
6510
  "%LineBreak% %EditorLinkCoupon%"
6511
  msgstr ""
6512
 
6513
- #: defaults.php:628
6514
  msgid "User changed the status of a coupon"
6515
  msgstr ""
6516
 
6517
- #: defaults.php:628
6518
  msgid ""
6519
  "Changed the Status of the WooCommerce coupon %CouponName% from %OldStatus% "
6520
  "to %NewStatus%."
6521
  msgstr ""
6522
 
6523
- #: defaults.php:629
6524
  msgid "User renamed a WooCommerce coupon"
6525
  msgstr ""
6526
 
6527
- #: defaults.php:629
6528
  msgid ""
6529
- "Renamed the coupon %OldName% %LineBreak% New name: %NewName% %LineBreak% "
6530
- "%LineBreak% %EditorLinkCoupon%"
6531
  msgstr ""
6532
 
6533
- #: defaults.php:632
6534
  msgid "Orders"
6535
  msgstr ""
6536
 
6537
- #: defaults.php:633
6538
  msgid "A WooCommerce order has been placed"
6539
  msgstr ""
6540
 
6541
- #: defaults.php:633
6542
  msgid ""
6543
  "A new order has been placed %LineBreak% Order name: %OrderTitle% %LineBreak% "
6544
  "%EditorLinkOrder%"
6545
  msgstr ""
6546
 
6547
- #: defaults.php:634
6548
  msgid "WooCommerce order status changed"
6549
  msgstr ""
6550
 
6551
- #: defaults.php:634
6552
  msgid ""
6553
  "Marked an order %OrderTitle% as %OrderStatus% %LineBreak% %EditorLinkOrder%"
6554
  msgstr ""
6555
 
6556
- #: defaults.php:635
6557
  msgid "User moved a WooCommerce order to trash"
6558
  msgstr ""
6559
 
6560
- #: defaults.php:635
6561
  msgid "Moved the order %OrderTitle% to trash"
6562
  msgstr ""
6563
 
6564
- #: defaults.php:636
6565
  msgid "User moved a WooCommerce order out of trash"
6566
  msgstr ""
6567
 
6568
- #: defaults.php:636
6569
  msgid ""
6570
  "Restored the order %OrderTitle% from the trash %LineBreak% %EditorLinkOrder%"
6571
  msgstr ""
6572
 
6573
- #: defaults.php:637
6574
  msgid "User permanently deleted a WooCommerce order"
6575
  msgstr ""
6576
 
6577
- #: defaults.php:637
6578
  msgid "Permanently deleted the order %OrderTitle%"
6579
  msgstr ""
6580
 
6581
- #: defaults.php:638
6582
  msgid "User edited a WooCommerce order"
6583
  msgstr ""
6584
 
6585
- #: defaults.php:638
6586
  msgid "Edited the details in order %OrderTitle% %LineBreak% %EditorLinkOrder%"
6587
  msgstr ""
6588
 
6589
- #: defaults.php:639
6590
  msgid "User refunded a WooCommerce order"
6591
  msgstr ""
6592
 
6593
- #: defaults.php:639
6594
  msgid "Refunded the order %OrderTitle% %LineBreak% %EditorLinkOrder%"
6595
  msgstr ""
6596
 
6597
- #: defaults.php:642
6598
  msgid "User Profile"
6599
  msgstr ""
6600
 
6601
- #: defaults.php:643
6602
  msgid "User changed the billing address details"
6603
  msgstr ""
6604
 
6605
- #: defaults.php:643
6606
  msgid ""
6607
  "Changed the billing address details of the user %TargetUsername% %LineBreak% "
6608
- "Role: %Roles% %LineBreak% Billing address field: %AddressField% %LineBreak% "
6609
- "Previous value: %OldValue% %LineBreak% New value: %NewValue% %LineBreak% "
6610
  "%EditUserLink%"
6611
  msgstr ""
6612
 
6613
- #: defaults.php:644
6614
  msgid "User changed the shipping address details"
6615
  msgstr ""
6616
 
6617
- #: defaults.php:644
6618
  msgid ""
6619
  "Changed the shipping address details of the user %TargetUsername% %LineBreak"
6620
- "% Role: %Roles% %LineBreak% Shipping address field: %AddressField% %LineBreak"
6621
- "% Previous value: %OldValue% %LineBreak% New value: %NewValue% %LineBreak% "
6622
  "%EditUserLink%"
6623
  msgstr ""
6624
 
6625
- #: defaults.php:650
6626
  msgid "User changed title of a SEO post"
6627
  msgstr ""
6628
 
6629
- #: defaults.php:650
6630
  msgid ""
6631
  "Changed the Meta title of the post %PostTitle% %LineBreak% ID: %PostID% "
6632
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -6634,11 +6476,11 @@ msgid ""
6634
  "% %EditorLinkPost%"
6635
  msgstr ""
6636
 
6637
- #: defaults.php:651
6638
  msgid "User changed the meta description of a SEO post"
6639
  msgstr ""
6640
 
6641
- #: defaults.php:651
6642
  msgid ""
6643
  "Changed the Meta Description of the post %PostTitle% %LineBreak% ID: %PostID"
6644
  "% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -6646,13 +6488,13 @@ msgid ""
6646
  "%LineBreak% %EditorLinkPost%"
6647
  msgstr ""
6648
 
6649
- #: defaults.php:652
6650
  msgid ""
6651
  "User changed setting to allow search engines to show post in search results "
6652
  "of a SEO post"
6653
  msgstr ""
6654
 
6655
- #: defaults.php:652
6656
  msgid ""
6657
  "Changed the setting to allow search engines to show post in search results "
6658
  "for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType"
@@ -6660,24 +6502,24 @@ msgid ""
6660
  "%LineBreak% New setting: %NewStatus% %LineBreak% %EditorLinkPost%"
6661
  msgstr ""
6662
 
6663
- #: defaults.php:653
6664
  msgid ""
6665
  "User Enabled/Disabled the option for search engine to follow links of a SEO "
6666
  "post"
6667
  msgstr ""
6668
 
6669
- #: defaults.php:653
6670
  msgid ""
6671
  "The option for search engine to follow links in post %PostTitle% %LineBreak% "
6672
  "ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
6673
  "%LineBreak% %EditorLinkPost%"
6674
  msgstr ""
6675
 
6676
- #: defaults.php:654
6677
  msgid "User set the meta robots advanced setting of a SEO post"
6678
  msgstr ""
6679
 
6680
- #: defaults.php:654
6681
  msgid ""
6682
  "Changed the Meta Robots Advanced setting for the post %PostTitle% %LineBreak"
6683
  "% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
@@ -6685,11 +6527,11 @@ msgid ""
6685
  "% %LineBreak% %EditorLinkPost%"
6686
  msgstr ""
6687
 
6688
- #: defaults.php:655
6689
  msgid "User changed the canonical URL of a SEO post"
6690
  msgstr ""
6691
 
6692
- #: defaults.php:655
6693
  msgid ""
6694
  "Changed the Canonical URL of the post %PostTitle% %LineBreak% ID: %PostID% "
6695
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -6697,11 +6539,11 @@ msgid ""
6697
  "%LineBreak% %EditorLinkPost%"
6698
  msgstr ""
6699
 
6700
- #: defaults.php:656
6701
  msgid "User changed the focus keyword of a SEO post"
6702
  msgstr ""
6703
 
6704
- #: defaults.php:656
6705
  msgid ""
6706
  "Changed the focus keyword for the post %PostTitle% %LineBreak% ID: %PostID% "
6707
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
@@ -6709,210 +6551,210 @@ msgid ""
6709
  "%LineBreak% %EditorLinkPost%"
6710
  msgstr ""
6711
 
6712
- #: defaults.php:657
6713
  msgid "User Enabled/Disabled the option Cornerston Content of a SEO post"
6714
  msgstr ""
6715
 
6716
- #: defaults.php:657
6717
  msgid ""
6718
  "The option Cornerstone Content in the post %PostTitle% %LineBreak% ID: "
6719
  "%PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
6720
  "%LineBreak% %EditorLinkPost%"
6721
  msgstr ""
6722
 
6723
- #: defaults.php:660
6724
  msgid "Website Changes"
6725
  msgstr ""
6726
 
6727
- #: defaults.php:661
6728
  msgid "User changed the Title Separator setting"
6729
  msgstr ""
6730
 
6731
- #: defaults.php:661
6732
  msgid ""
6733
  "Changed the default title separator %LineBreak% Previous separator: %old% "
6734
  "%LineBreak% New separator: %new%"
6735
  msgstr ""
6736
 
6737
- #: defaults.php:662
6738
  msgid "User changed the Homepage Title setting"
6739
  msgstr ""
6740
 
6741
- #: defaults.php:662
6742
  msgid ""
6743
  "Changed the homepage Meta title %LineBreak% Previous title: %old% %LineBreak"
6744
  "% New title: %new%"
6745
  msgstr ""
6746
 
6747
- #: defaults.php:663
6748
  msgid "User changed the Homepage Meta description setting"
6749
  msgstr ""
6750
 
6751
- #: defaults.php:663
6752
  msgid ""
6753
  "Changed the homepage Meta description %LineBreak% Previous description: %old"
6754
  "% %LineBreak% New description: %new%"
6755
  msgstr ""
6756
 
6757
- #: defaults.php:664
6758
  msgid "User changed the Company or Person setting"
6759
  msgstr ""
6760
 
6761
- #: defaults.php:664
6762
  msgid ""
6763
  "Changed the Company or Person setting %LineBreak% Previous setting: %old% "
6764
  "%LineBreak% New setting: %new%"
6765
  msgstr ""
6766
 
6767
- #: defaults.php:667
6768
  msgid "Plugin Settings Changes"
6769
  msgstr ""
6770
 
6771
- #: defaults.php:668
6772
  msgid ""
6773
  "User Enabled/Disabled the option Show Posts/Pages in Search Results in the "
6774
  "Yoast SEO plugin settings"
6775
  msgstr ""
6776
 
6777
- #: defaults.php:668
6778
  msgid "The option to show %SEOPostType% in search results"
6779
  msgstr ""
6780
 
6781
- #: defaults.php:669
6782
  msgid ""
6783
  "User changed the Posts/Pages title template in the Yoast SEO plugin settings"
6784
  msgstr ""
6785
 
6786
- #: defaults.php:669
6787
  msgid ""
6788
  "Changed the %SEOPostType% Meta (SEO) title template %LineBreak% Previous "
6789
  "template: %old% %LineBreak% New template: %new%"
6790
  msgstr ""
6791
 
6792
- #: defaults.php:670
6793
  msgid "User Enabled/Disabled SEO analysis in the Yoast SEO plugin settings"
6794
  msgstr ""
6795
 
6796
- #: defaults.php:670
6797
  msgid "The SEO Analysis feature"
6798
  msgstr ""
6799
 
6800
- #: defaults.php:671
6801
  msgid ""
6802
  "User Enabled/Disabled readability analysis in the Yoast SEO plugin settings"
6803
  msgstr ""
6804
 
6805
- #: defaults.php:671
6806
  msgid "The Readability Analysis feature"
6807
  msgstr ""
6808
 
6809
- #: defaults.php:672
6810
  msgid ""
6811
  "User Enabled/Disabled cornerstone content in the Yoast SEO plugin settings"
6812
  msgstr ""
6813
 
6814
- #: defaults.php:672
6815
  msgid "The Cornerstone content feature"
6816
  msgstr ""
6817
 
6818
- #: defaults.php:673
6819
  msgid ""
6820
  "User Enabled/Disabled the text link counter in the Yoast SEO plugin settings"
6821
  msgstr ""
6822
 
6823
- #: defaults.php:673
6824
  msgid "The Text link counter feature"
6825
  msgstr ""
6826
 
6827
- #: defaults.php:674
6828
  msgid "User Enabled/Disabled XML sitemaps in the Yoast SEO plugin settings"
6829
  msgstr ""
6830
 
6831
- #: defaults.php:674
6832
  msgid "The XML sitemap feature"
6833
  msgstr ""
6834
 
6835
- #: defaults.php:675
6836
  msgid "User Enabled/Disabled ryte integration in the Yoast SEO plugin settings"
6837
  msgstr ""
6838
 
6839
- #: defaults.php:675
6840
  msgid "The Ryte integration feature"
6841
  msgstr ""
6842
 
6843
- #: defaults.php:676
6844
  msgid ""
6845
  "User Enabled/Disabled the admin bar menu in the Yoast SEO plugin settings"
6846
  msgstr ""
6847
 
6848
- #: defaults.php:676
6849
  msgid "The Admin bar menu feature"
6850
  msgstr ""
6851
 
6852
- #: defaults.php:677
6853
  msgid ""
6854
  "User changed the Posts/Pages meta description template in the Yoast SEO "
6855
  "plugin settings"
6856
  msgstr ""
6857
 
6858
- #: defaults.php:677
6859
  msgid ""
6860
  "Changed the %SEOPostType% Meta description template %LineBreak% Previous "
6861
  "template: %old% New template: %new%"
6862
  msgstr ""
6863
 
6864
- #: defaults.php:678
6865
  msgid ""
6866
  "User set the option Date in Snippet Preview for Posts/Pages in the Yoast SEO "
6867
  "plugin settings"
6868
  msgstr ""
6869
 
6870
- #: defaults.php:678
6871
  msgid "The option Date in Snippet Preview for %SEOPostType%"
6872
  msgstr ""
6873
 
6874
- #: defaults.php:679
6875
  msgid ""
6876
  "User set the option Yoast SEO Meta Box for Posts/Pages in the Yoast SEO "
6877
  "plugin settings"
6878
  msgstr ""
6879
 
6880
- #: defaults.php:679
6881
  msgid "The option Yoast SEO Meta Box for %SEOPostType%"
6882
  msgstr ""
6883
 
6884
- #: defaults.php:680
6885
  msgid ""
6886
  "User Enabled/Disabled the advanced settings for authors in the Yoast SEO "
6887
  "plugin settings"
6888
  msgstr ""
6889
 
6890
- #: defaults.php:680
6891
  msgid "The Security: no advanced settings for authors feature"
6892
  msgstr ""
6893
 
6894
  #. translators: Username
6895
- #: wp-security-audit-log.php:764 wp-security-audit-log.php:791
6896
  #, php-format
6897
  msgid "Hey %1$s"
6898
  msgstr ""
6899
 
6900
- #: wp-security-audit-log.php:765
6901
  msgid ""
6902
  "Never miss an important update! Opt-in to our security and feature updates "
6903
  "notifications, and non-sensitive diagnostic tracking with freemius.com."
6904
  msgstr ""
6905
 
6906
- #: wp-security-audit-log.php:766 wp-security-audit-log.php:794
6907
  msgid "Note: "
6908
  msgstr ""
6909
 
6910
- #: wp-security-audit-log.php:767 wp-security-audit-log.php:795
6911
  msgid "NO AUDIT LOG ACTIVITY & DATA IS SENT BACK TO OUR SERVERS."
6912
  msgstr ""
6913
 
6914
  #. translators: 1: Plugin name. 2: Freemius link.
6915
- #: wp-security-audit-log.php:793
6916
  #, php-format
6917
  msgid ""
6918
  "Please help us improve %2$s! If you opt-in, some non-sensitive data about "
@@ -6921,7 +6763,7 @@ msgid ""
6921
  msgstr ""
6922
 
6923
  #. translators: Plugin name
6924
- #: wp-security-audit-log.php:815
6925
  #, php-format
6926
  msgid ""
6927
  "Get a free 7-day trial of the premium edition of %s. No credit card "
@@ -6929,136 +6771,136 @@ msgid ""
6929
  msgstr ""
6930
 
6931
  #. Plugin Name of the plugin/theme
6932
- #: wp-security-audit-log.php:816
6933
  msgid "WP Security Audit Log"
6934
  msgstr ""
6935
 
6936
- #: wp-security-audit-log.php:820
6937
  msgid "Start free trial"
6938
  msgstr ""
6939
 
6940
- #: wp-security-audit-log.php:888
6941
  #, php-format
6942
  msgid ""
6943
  "You need to activate the licence key to use WP Securitity Audit Log Premium. "
6944
  "%2$s"
6945
  msgstr ""
6946
 
6947
- #: wp-security-audit-log.php:889
6948
  msgid "Activate the licence key now"
6949
  msgstr ""
6950
 
6951
- #: wp-security-audit-log.php:906
6952
  #, php-format
6953
  msgid ""
6954
  "The license is limited to %s sub-sites. You need to upgrade your license to "
6955
  "cover all the sub-sites on this network."
6956
  msgstr ""
6957
 
6958
- #: wp-security-audit-log.php:1017
6959
  msgid ""
6960
  "Error: You do not have sufficient permissions to disable this custom field."
6961
  msgstr ""
6962
 
6963
- #: wp-security-audit-log.php:1050
6964
  #, php-format
6965
  msgid ""
6966
  "Custom Field %1$s is no longer being monitored.<br />Enable the monitoring "
6967
  "of this custom field again from the"
6968
  msgstr ""
6969
 
6970
- #: wp-security-audit-log.php:1050
6971
  msgid "Excluded Objects"
6972
  msgstr ""
6973
 
6974
- #: wp-security-audit-log.php:1050
6975
  msgid " tab in the plugin settings"
6976
  msgstr ""
6977
 
6978
- #: wp-security-audit-log.php:1062
6979
  msgid "Error: You do not have sufficient permissions to disable this alert."
6980
  msgstr ""
6981
 
6982
- #: wp-security-audit-log.php:1086
6983
  #, php-format
6984
  msgid "Alert %1$s is no longer being monitored.<br /> %2$s"
6985
  msgstr ""
6986
 
6987
- #: wp-security-audit-log.php:1086
6988
  msgid ""
6989
  "You can enable this alert again from the Enable/Disable Alerts node in the "
6990
  "plugin menu."
6991
  msgstr ""
6992
 
6993
- #: wp-security-audit-log.php:1182
6994
  #, php-format
6995
  msgid ""
6996
  "You are using a version of PHP that is older than %s, which is no longer "
6997
  "supported."
6998
  msgstr ""
6999
 
7000
- #: wp-security-audit-log.php:1184
7001
  msgid ""
7002
  "Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
7003
  "\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
7004
  "are using."
7005
  msgstr ""
7006
 
7007
- #: wp-security-audit-log.php:1186
7008
  msgid ""
7009
  "The WP Security Audit Log plugin is a multisite network tool, so it has to "
7010
  "be activated at network level."
7011
  msgstr ""
7012
 
7013
- #: wp-security-audit-log.php:1188
7014
  msgid "Redirect me to the network dashboard"
7015
  msgstr ""
7016
 
7017
- #: wp-security-audit-log.php:1193
7018
  #, php-format
7019
  msgid "Please install the %s plugin on the MainWP dashboard."
7020
  msgstr ""
7021
 
7022
- #: wp-security-audit-log.php:1193
7023
  msgid "Activity Log for MainWP"
7024
  msgstr ""
7025
 
7026
- #: wp-security-audit-log.php:1195
7027
  #, php-format
7028
  msgid ""
7029
  "The WP Security Audit Log should be installed on the child sites only. Refer "
7030
  "to the %s for more information."
7031
  msgstr ""
7032
 
7033
- #: wp-security-audit-log.php:1195
7034
  msgid "getting started guide"
7035
  msgstr ""
7036
 
7037
- #: wp-security-audit-log.php:1281
7038
  msgid ""
7039
  "This plugin uses 3 tables in the WordPress database to store the activity "
7040
  "log and settings. It seems that these tables were not created."
7041
  msgstr ""
7042
 
7043
- #: wp-security-audit-log.php:1283
7044
  msgid ""
7045
  "This could happen because the database user does not have the right "
7046
  "privileges to create the tables in the database. We recommend you to update "
7047
  "the privileges and try enabling the plugin again."
7048
  msgstr ""
7049
 
7050
- #: wp-security-audit-log.php:1285
7051
  #, php-format
7052
  msgid ""
7053
  "If after doing so you still have issues, please send us an email on %s for "
7054
  "assistance."
7055
  msgstr ""
7056
 
7057
- #: wp-security-audit-log.php:1285
7058
  msgid "support@wpsecurityauditlog.com"
7059
  msgstr ""
7060
 
7061
- #: wp-security-audit-log.php:1902
7062
  msgid ""
7063
  "For security and auditing purposes, a record of all of your logged-in "
7064
  "actions and changes within the WordPress dashboard will be recorded in an "
@@ -7067,32 +6909,32 @@ msgid ""
7067
  "IP address where you accessed this site from."
7068
  msgstr ""
7069
 
7070
- #: wp-security-audit-log.php:1921
7071
  msgid "Every 6 hours"
7072
  msgstr ""
7073
 
7074
- #: wp-security-audit-log.php:1925
7075
  msgid "Every 45 minutes"
7076
  msgstr ""
7077
 
7078
- #: wp-security-audit-log.php:1929
7079
  msgid "Every 30 minutes"
7080
  msgstr ""
7081
 
7082
- #: wp-security-audit-log.php:1933
7083
  msgid "Every 15 minutes"
7084
  msgstr ""
7085
 
7086
- #: wp-security-audit-log.php:1937
7087
  msgid "Every 10 minutes"
7088
  msgstr ""
7089
 
7090
- #: wp-security-audit-log.php:1941
7091
  msgid "Every 1 minute"
7092
  msgstr ""
7093
 
7094
  #. translators: 1. Deprecated method name 2. Version since deprecated
7095
- #: wp-security-audit-log.php:1955
7096
  #, php-format
7097
  msgid "Method %1$s is deprecated since version %2$s!"
7098
  msgstr ""
3
  msgstr ""
4
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
  "Project-Id-Version: WP Security Audit Log\n"
6
+ "POT-Creation-Date: 2020-04-16 14:53+0200\n"
7
+ "PO-Revision-Date: 2020-04-16 14:53+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
22
  "X-Poedit-SearchPathExcluded-0: *.min.js\n"
23
 
24
  #. translators: Event ID
25
+ #: classes/AlertManager.php:365
26
  #, php-format
27
  msgid "Event with code %d has not be registered."
28
  msgstr ""
29
 
30
+ #: classes/AlertManager.php:421
31
  #, php-format
32
  msgid "Event %s already registered with WP Security Audit Log."
33
  msgstr ""
34
 
35
+ #: classes/AlertManager.php:494
36
  msgid ""
37
  "You have custom events that are using the same ID or IDs which are already "
38
  "registered in the plugin, so they have been disabled."
39
  msgstr ""
40
 
41
+ #: classes/AlertManager.php:497
42
  #, php-format
43
  msgid "%4$s to help you solve this issue."
44
  msgstr ""
45
 
46
+ #: classes/AlertManager.php:499
47
  msgid "ERROR:"
48
  msgstr ""
49
 
50
+ #: classes/AlertManager.php:501
51
  msgid "Contact us"
52
  msgstr ""
53
 
54
+ #: classes/AlertManager.php:1107 classes/AuditLogListView.php:332
55
+ #: classes/AuditLogListView.php:366 classes/Views/Settings.php:1183
56
+ #: classes/WidgetManager.php:76
57
  msgid "User"
58
  msgstr ""
59
 
60
+ #: classes/AlertManager.php:1108 classes/AlertManager.php:1898
61
+ #: classes/AuditLogGridView.php:517 classes/AuditLogListView.php:542
62
+ #: defaults.php:354
63
  msgid "System"
64
  msgstr ""
65
 
66
+ #: classes/AlertManager.php:1109 classes/AuditLogGridView.php:508
67
+ #: classes/AuditLogListView.php:530
 
68
  msgid "Plugin"
69
  msgstr ""
70
 
71
+ #: classes/AlertManager.php:1110
72
  msgid "Database"
73
  msgstr ""
74
 
75
+ #: classes/AlertManager.php:1111
76
  msgid "Post"
77
  msgstr ""
78
 
79
+ #: classes/AlertManager.php:1112 classes/AlertManager.php:1116
 
80
  msgid "File"
81
  msgstr ""
82
 
83
+ #: classes/AlertManager.php:1113
84
  msgid "Tag"
85
  msgstr ""
86
 
87
+ #: classes/AlertManager.php:1114
88
  msgid "Comment"
89
  msgstr ""
90
 
91
+ #: classes/AlertManager.php:1115
92
  msgid "Setting"
93
  msgstr ""
94
 
95
+ #: classes/AlertManager.php:1117
96
  msgid "System Setting"
97
  msgstr ""
98
 
99
+ #: classes/AlertManager.php:1118
100
+ msgid "WooCommerce Product"
101
  msgstr ""
102
 
103
+ #: classes/AlertManager.php:1119
104
+ msgid "WooCommerce Store"
 
105
  msgstr ""
106
 
107
+ #: classes/AlertManager.php:1120
108
+ msgid "WooCommerce Coupon"
109
  msgstr ""
110
 
111
+ #: classes/AlertManager.php:1121
112
+ msgid "WooCommerce Category"
113
  msgstr ""
114
 
115
+ #: classes/AlertManager.php:1122
116
  msgid "MainWP Network"
117
  msgstr ""
118
 
119
+ #: classes/AlertManager.php:1123
120
  msgid "MainWP"
121
  msgstr ""
122
 
123
+ #: classes/AlertManager.php:1124 classes/Views/ToggleAlerts.php:222
124
+ #: classes/Views/ToggleAlerts.php:352 defaults.php:542
 
125
  msgid "Yoast SEO"
126
  msgstr ""
127
 
128
+ #: classes/AlertManager.php:1125
129
+ msgid "Yoast SEO Meta Box"
130
+ msgstr ""
131
+
132
+ #: classes/AlertManager.php:1126
133
  msgid "Category"
134
  msgstr ""
135
 
136
+ #: classes/AlertManager.php:1127
137
  msgid "Custom Field"
138
  msgstr ""
139
 
140
+ #: classes/AlertManager.php:1128
141
  msgid "Widget"
142
  msgstr ""
143
 
144
+ #: classes/AlertManager.php:1129
145
  msgid "Menu"
146
  msgstr ""
147
 
148
+ #: classes/AlertManager.php:1130
149
  msgid "Theme"
150
  msgstr ""
151
 
152
+ #: classes/AlertManager.php:1131
153
  msgid "Activity Logs"
154
  msgstr ""
155
 
156
+ #: classes/AlertManager.php:1132
157
  msgid "Multisite Network"
158
  msgstr ""
159
 
160
+ #: classes/AlertManager.php:1133
161
  msgid "IP Address"
162
  msgstr ""
163
 
164
+ #: classes/AlertManager.php:1149
165
+ msgid "unknown object"
166
+ msgstr ""
167
+
168
+ #: classes/AlertManager.php:1186
169
  msgid "Login"
170
  msgstr ""
171
 
172
+ #: classes/AlertManager.php:1187
173
  msgid "Logout"
174
  msgstr ""
175
 
176
+ #: classes/AlertManager.php:1188
177
  msgid "Installed"
178
  msgstr ""
179
 
180
+ #: classes/AlertManager.php:1189
181
  msgid "Activated"
182
  msgstr ""
183
 
184
+ #: classes/AlertManager.php:1190
185
  msgid "Deactivated"
186
  msgstr ""
187
 
188
+ #: classes/AlertManager.php:1191
189
  msgid "Uninstalled"
190
  msgstr ""
191
 
192
+ #: classes/AlertManager.php:1192
193
  msgid "Updated"
194
  msgstr ""
195
 
196
+ #: classes/AlertManager.php:1193
197
  msgid "Created"
198
  msgstr ""
199
 
200
+ #: classes/AlertManager.php:1194
201
  msgid "Modified"
202
  msgstr ""
203
 
204
+ #: classes/AlertManager.php:1195
205
  msgid "Deleted"
206
  msgstr ""
207
 
208
+ #: classes/AlertManager.php:1196
209
  msgid "Published"
210
  msgstr ""
211
 
212
+ #: classes/AlertManager.php:1197
213
  msgid "Approved"
214
  msgstr ""
215
 
216
+ #: classes/AlertManager.php:1198
217
  msgid "Unapproved"
218
  msgstr ""
219
 
220
+ #: classes/AlertManager.php:1199
221
  msgid "Enabled"
222
  msgstr ""
223
 
224
+ #: classes/AlertManager.php:1200
225
  msgid "Disabled"
226
  msgstr ""
227
 
228
+ #: classes/AlertManager.php:1201
229
  msgid "Added"
230
  msgstr ""
231
 
232
+ #: classes/AlertManager.php:1202
233
  msgid "Failed Login"
234
  msgstr ""
235
 
236
+ #: classes/AlertManager.php:1203
237
  msgid "Blocked"
238
  msgstr ""
239
 
240
+ #: classes/AlertManager.php:1204
241
  msgid "Uploaded"
242
  msgstr ""
243
 
244
+ #: classes/AlertManager.php:1205
245
  msgid "Restored"
246
  msgstr ""
247
 
248
+ #: classes/AlertManager.php:1206
249
  msgid "Opened"
250
  msgstr ""
251
 
252
+ #: classes/AlertManager.php:1207
253
  msgid "Viewed"
254
  msgstr ""
255
 
256
+ #: classes/AlertManager.php:1208
257
  msgid "Started"
258
  msgstr ""
259
 
260
+ #: classes/AlertManager.php:1209
261
  msgid "Stopped"
262
  msgstr ""
263
 
264
+ #: classes/AlertManager.php:1210
265
  msgid "Removed"
266
  msgstr ""
267
 
268
+ #: classes/AlertManager.php:1211
269
  msgid "Unblocked"
270
  msgstr ""
271
 
272
+ #: classes/AlertManager.php:1212
273
+ msgid "Renamed"
274
+ msgstr ""
275
+
276
+ #: classes/AlertManager.php:1213
277
+ msgid "Duplicated"
278
+ msgstr ""
279
+
280
+ #: classes/AlertManager.php:1230
281
+ msgid "unknown type"
282
+ msgstr ""
283
+
284
+ #: classes/AlertManager.php:1475 classes/Views/ToggleAlerts.php:243
285
+ #: classes/Views/ToggleAlerts.php:275 defaults.php:252
286
  msgid "Pages"
287
  msgstr ""
288
 
289
+ #: classes/AlertManager.php:1475 classes/Views/ToggleAlerts.php:243
290
+ #: classes/Views/ToggleAlerts.php:275 defaults.php:212
291
  msgid "Custom Post Types"
292
  msgstr ""
293
 
294
+ #: classes/AlertManager.php:1797
295
  msgid "System Activity"
296
  msgstr ""
297
 
298
+ #: classes/AlertManager.php:1857 classes/ConstantManager.php:146
299
  msgid "Unknown error code."
300
  msgstr ""
301
 
302
+ #: classes/AlertManager.php:1864 classes/AlertManager.php:1876
303
  msgid "Unknown Site"
304
  msgstr ""
305
 
307
  msgid "No events so far."
308
  msgstr ""
309
 
310
+ #: classes/AuditLogGridView.php:167 classes/AuditLogListView.php:173
311
  msgid "List View"
312
  msgstr ""
313
 
314
+ #: classes/AuditLogGridView.php:168 classes/AuditLogListView.php:174
315
  msgid "Grid View"
316
  msgstr ""
317
 
318
+ #: classes/AuditLogGridView.php:193 classes/AuditLogListView.php:199
319
  msgid "Show "
320
  msgstr ""
321
 
322
+ #: classes/AuditLogGridView.php:201 classes/AuditLogListView.php:207
323
  msgid " Items"
324
  msgstr ""
325
 
326
+ #: classes/AuditLogGridView.php:208 classes/AuditLogListView.php:214
327
  msgid "— End of Activity Log —"
328
  msgstr ""
329
 
330
+ #: classes/AuditLogGridView.php:229 classes/AuditLogListView.php:235
331
+ #: classes/Views/AuditLog.php:620
332
  msgid "All Sites"
333
  msgstr ""
334
 
335
+ #: classes/AuditLogGridView.php:257 classes/AuditLogListView.php:263
336
  msgid "Live Database"
337
  msgstr ""
338
 
339
+ #: classes/AuditLogGridView.php:260 classes/AuditLogListView.php:266
340
  msgid "Archive Database"
341
  msgstr ""
342
 
343
+ #: classes/AuditLogGridView.php:314 classes/AuditLogGridView.php:338
344
+ #: classes/AuditLogListView.php:329 classes/AuditLogListView.php:357
345
  msgid "ID"
346
  msgstr ""
347
 
348
+ #: classes/AuditLogGridView.php:315 classes/AuditLogGridView.php:341
349
+ #: classes/AuditLogListView.php:330 classes/AuditLogListView.php:360
350
+ #: classes/Views/Settings.php:1179 classes/Views/ToggleAlerts.php:326
351
  msgid "Severity"
352
  msgstr ""
353
 
354
+ #: classes/AuditLogGridView.php:316
355
  msgid "Info"
356
  msgstr ""
357
 
358
+ #: classes/AuditLogGridView.php:321 classes/AuditLogListView.php:340
359
+ #: classes/AuditLogListView.php:372
360
  msgid "Site"
361
  msgstr ""
362
 
363
+ #: classes/AuditLogGridView.php:324 classes/AuditLogGridView.php:347
364
+ #: classes/AuditLogListView.php:343 classes/AuditLogListView.php:381
365
  msgid "Message"
366
  msgstr ""
367
 
368
+ #: classes/AuditLogGridView.php:344
369
  msgid "Grid"
370
  msgstr ""
371
 
372
+ #: classes/AuditLogGridView.php:416 classes/AuditLogListView.php:465
373
  msgid "Disable this type of events."
374
  msgstr ""
375
 
376
+ #: classes/AuditLogGridView.php:435
377
  msgid "Message:"
378
  msgstr ""
379
 
380
+ #: classes/AuditLogGridView.php:459 classes/AuditLogGridView.php:466
381
+ #: classes/AuditLogGridView.php:505 classes/AuditLogListView.php:485
382
+ #: classes/AuditLogListView.php:526
383
  msgid "Unknown"
384
  msgstr ""
385
 
386
+ #: classes/AuditLogGridView.php:490 classes/AuditLogListView.php:511
387
  msgid "Show me all activity by this User"
388
  msgstr ""
389
 
390
+ #: classes/AuditLogGridView.php:511 classes/AuditLogListView.php:534
391
+ #: defaults.php:316
392
  msgid "Plugins"
393
  msgstr ""
394
 
395
+ #: classes/AuditLogGridView.php:514 classes/AuditLogListView.php:538
396
  msgid "Website Visitor"
397
  msgstr ""
398
 
399
+ #: classes/AuditLogGridView.php:551 classes/AuditLogGridView.php:564
400
+ #: classes/AuditLogListView.php:574 classes/AuditLogListView.php:587
401
  msgid "Show me all activity originating from this IP Address"
402
  msgstr ""
403
 
404
+ #: classes/AuditLogGridView.php:593
405
  msgid "Date:"
406
  msgstr ""
407
 
408
+ #: classes/AuditLogGridView.php:597
409
  msgid "Time:"
410
  msgstr ""
411
 
412
+ #: classes/AuditLogGridView.php:601
413
  msgid "User:"
414
  msgstr ""
415
 
416
+ #: classes/AuditLogGridView.php:605
417
  msgid "IP:"
418
  msgstr ""
419
 
420
+ #: classes/AuditLogGridView.php:609
421
  msgid "Object:"
422
  msgstr ""
423
 
424
+ #: classes/AuditLogGridView.php:613
425
  msgid "Event Type:"
426
  msgstr ""
427
 
428
+ #: classes/AuditLogGridView.php:621 classes/AuditLogListView.php:616
429
  msgid "View all details of this change"
430
  msgstr ""
431
 
432
+ #: classes/AuditLogGridView.php:622 classes/AuditLogGridView.php:772
433
+ #: classes/AuditLogListView.php:617 classes/AuditLogListView.php:771
434
  msgid "Alert Data Inspector"
435
  msgstr ""
436
 
437
+ #: classes/AuditLogGridView.php:724 classes/AuditLogListView.php:723
438
+ #: classes/Settings.php:1639
439
  msgid "Download the log file"
440
  msgstr ""
441
 
442
+ #: classes/AuditLogGridView.php:744 classes/AuditLogListView.php:743
443
+ #: classes/Settings.php:1681
444
  msgid "Download the log file."
445
  msgstr ""
446
 
447
+ #: classes/AuditLogGridView.php:752 classes/AuditLogListView.php:751
448
+ #: classes/Settings.php:1694 classes/Settings.php:1937
449
  msgid "published"
450
  msgstr ""
451
 
452
  #. translators: Mailto link for support.
453
+ #: classes/AuditLogGridView.php:780 classes/AuditLogListView.php:779
454
+ #: classes/Settings.php:1720 classes/Settings.php:1963
455
  #, php-format
456
  msgid "Contact us on %s for assistance"
457
  msgstr ""
458
 
459
+ #: classes/AuditLogGridView.php:914 classes/AuditLogListView.php:913
460
  msgid "Select All"
461
  msgstr ""
462
 
463
+ #: classes/AuditLogListView.php:331 classes/AuditLogListView.php:363
464
  msgid "Date"
465
  msgstr ""
466
 
467
+ #: classes/AuditLogListView.php:333 classes/AuditLogListView.php:369
468
  msgid "IP"
469
  msgstr ""
470
 
471
+ #: classes/AuditLogListView.php:334 classes/AuditLogListView.php:375
472
  msgid "Object"
473
  msgstr ""
474
 
475
+ #: classes/AuditLogListView.php:335 classes/AuditLogListView.php:378
476
  msgid "Event Type"
477
  msgstr ""
478
 
479
+ #: classes/AuditLogListView.php:440
480
  msgid "Click to toggle."
481
  msgstr ""
482
 
483
+ #: classes/AuditLogListView.php:445 classes/Models/Occurrence.php:83
484
+ #: classes/ViewManager.php:478
485
  msgid "Alert message not found."
486
  msgstr ""
487
 
488
+ #: classes/AuditLogListView.php:446 classes/Models/Occurrence.php:84
489
+ #: classes/ViewManager.php:479
490
  msgid "Alert description not found."
491
  msgstr ""
492
 
493
  #: classes/Connector/MySQLDB.php:61
 
 
 
 
494
  msgid ""
495
  "Error establishing a database connection. DB username or password are not "
496
  "valid."
497
  msgstr ""
498
 
499
+ #. translators: 1 - mysqli error code, 2 - mysqli error message
500
+ #: classes/Connector/MySQLDB.php:69
501
+ #, php-format
502
+ msgid "Code %1$d: %2$s"
503
+ msgstr ""
504
+
505
  #: classes/Connector/wp-db-custom.php:213
506
  msgid "Error establishing a database connection"
507
  msgstr ""
584
  msgstr ""
585
 
586
  #: classes/ConstantManager.php:152 classes/ConstantManager.php:158
587
+ #: classes/Views/ToggleAlerts.php:446 classes/Views/ToggleAlerts.php:452
588
  msgid "Critical"
589
  msgstr ""
590
 
591
+ #: classes/ConstantManager.php:154 classes/Views/ToggleAlerts.php:448
592
  msgid "Warning"
593
  msgstr ""
594
 
595
+ #: classes/ConstantManager.php:156 classes/Views/ToggleAlerts.php:450
596
+ #: classes/Views/ToggleAlerts.php:462
597
  msgid "Notification"
598
  msgstr ""
599
 
600
+ #: classes/ConstantManager.php:160 classes/Views/ToggleAlerts.php:454
601
  msgid "High"
602
  msgstr ""
603
 
604
+ #: classes/ConstantManager.php:162 classes/Views/ToggleAlerts.php:456
605
  msgid "Medium"
606
  msgstr ""
607
 
608
+ #: classes/ConstantManager.php:164 classes/Views/ToggleAlerts.php:458
609
  msgid "Low"
610
  msgstr ""
611
 
612
+ #: classes/ConstantManager.php:166 classes/Views/ToggleAlerts.php:460
613
  msgid "Informational"
614
  msgstr ""
615
 
616
+ #: classes/Loggers/Database.php:235 classes/Views/addons/html-view.php:92
617
  #: classes/Views/addons/html-view.php:117
618
  msgid "Upgrade to Premium"
619
  msgstr ""
620
 
621
+ #: classes/Loggers/Database.php:236 classes/Views/addons/html-view.php:93
622
  msgid "More Information"
623
  msgstr ""
624
 
625
+ #: classes/Models/Occurrence.php:200
626
+ msgid "WPForms"
627
+ msgstr ""
628
+
629
+ #: classes/Models/Occurrence.php:204
630
+ msgid "BBPress"
631
+ msgstr ""
632
+
633
+ #: classes/Models/Occurrence.php:226
634
  #, php-format
635
  msgid ""
636
  "Alert message was not available, this may have been a custom alert that no "
637
  "longer exists. Read more about custom events %1$shere%2$s."
638
  msgstr ""
639
 
640
+ #: classes/Sensors/Content.php:996 classes/Sensors/Content.php:1004
641
+ #: classes/Sensors/WooCommerce.php:605 classes/Sensors/WooCommerce.php:613
642
  msgid "Password Protected"
643
  msgstr ""
644
 
645
+ #: classes/Sensors/Content.php:998 classes/Sensors/Content.php:1006
646
+ #: classes/Sensors/WooCommerce.php:609 classes/Sensors/WooCommerce.php:617
647
  msgid "Private"
648
  msgstr ""
649
 
650
+ #: classes/Sensors/Content.php:1000 classes/Sensors/Content.php:1008
651
+ #: classes/Sensors/WooCommerce.php:607 classes/Sensors/WooCommerce.php:615
652
  msgid "Public"
653
  msgstr ""
654
 
655
+ #: classes/Sensors/FrontendWooCommerce.php:209 classes/Sensors/Public.php:394
656
+ #: classes/Sensors/WooCommerce.php:2171
657
  msgid "In stock"
658
  msgstr ""
659
 
660
+ #: classes/Sensors/FrontendWooCommerce.php:211 classes/Sensors/Public.php:396
661
+ #: classes/Sensors/WooCommerce.php:2173
662
  msgid "Out of stock"
663
  msgstr ""
664
 
665
+ #: classes/Sensors/FrontendWooCommerce.php:213 classes/Sensors/Public.php:398
666
+ #: classes/Sensors/WooCommerce.php:2175
667
  msgid "On backorder"
668
  msgstr ""
669
 
670
+ #: classes/Sensors/WooCommerce.php:1804 classes/Sensors/WooCommerce.php:1838
671
+ #: classes/Sensors/WooCommerce.php:1884
672
+ msgid "None, "
673
+ msgstr ""
674
+
675
+ #: classes/Sensors/WooCommerce.php:1813 classes/Sensors/WooCommerce.php:1847
676
+ #: classes/Sensors/WooCommerce.php:1893
677
+ msgid "None"
678
+ msgstr ""
679
+
680
+ #: classes/Sensors/WooCommerce.php:3082
681
  msgid "Visible"
682
  msgstr ""
683
 
684
+ #: classes/Sensors/WooCommerce.php:3082
685
  msgid "Non-Visible"
686
  msgstr ""
687
 
688
+ #: classes/Settings.php:467
689
  msgid "This function is deprecated"
690
  msgstr ""
691
 
692
+ #: classes/Settings.php:1596
693
  msgid "View the content changes"
694
  msgstr ""
695
 
696
+ #: classes/Settings.php:1601 classes/Settings.php:1607
697
  msgid "View post in the editor"
698
  msgstr ""
699
 
700
+ #: classes/Settings.php:1604
701
  msgid "View Order"
702
  msgstr ""
703
 
704
+ #: classes/Settings.php:1612
705
  msgid "View category"
706
  msgstr ""
707
 
708
+ #: classes/Settings.php:1615
709
  msgid "View tag"
710
  msgstr ""
711
 
712
+ #: classes/Settings.php:1619
 
 
 
 
 
 
 
 
713
  msgid "User profile page"
714
  msgstr ""
715
 
716
+ #: classes/Settings.php:1732
717
  msgid "Increase maximum file size limit"
718
  msgstr ""
719
 
720
+ #: classes/Settings.php:1735
721
  msgid "Contact Support"
722
  msgstr ""
723
 
724
+ #: classes/Settings.php:1975
725
  msgid "plugin settings"
726
  msgstr ""
727
 
728
+ #: classes/Settings.php:1978
729
  msgid "contact our support"
730
  msgstr ""
731
 
732
+ #: classes/Settings.php:2184
733
  msgid "Root directory of WordPress (excluding sub directories)"
734
  msgstr ""
735
 
736
+ #: classes/Settings.php:2185
737
  msgid "WP Admin directory (/wp-admin/)"
738
  msgstr ""
739
 
740
+ #: classes/Settings.php:2186
741
  msgid "WP Includes directory (/wp-includes/)"
742
  msgstr ""
743
 
744
+ #: classes/Settings.php:2187
745
  msgid ""
746
  "/wp-content/ directory (excluding plugins, themes & uploads directories)"
747
  msgstr ""
748
 
749
+ #: classes/Settings.php:2188
750
  msgid "Themes directory (/wp-content/themes/)"
751
  msgstr ""
752
 
753
+ #: classes/Settings.php:2189
754
  msgid "Plugins directory (/wp-content/plugins/)"
755
  msgstr ""
756
 
757
+ #: classes/Settings.php:2190
758
  msgid "Uploads directory (/wp-content/uploads/)"
759
  msgstr ""
760
 
761
+ #: classes/Settings.php:2195
762
  msgid ""
763
  "Uploads directory of all sub sites on this network (/wp-content/sites/*)"
764
  msgstr ""
779
  "the plugin WP Security Audit Log on the website %2$s on %3$s."
780
  msgstr ""
781
 
782
+ #: classes/Utilities/PluginInstallAndActivate.php:79
783
+ msgid ""
784
+ "WP Security Audit Log can keep a log of changes done on other plugins. "
785
+ "Install the relevant add-on from the below list to keep a log of changes "
786
+ "done on that plugin."
787
+ msgstr ""
788
+
789
+ #: classes/Utilities/PluginInstallAndActivate.php:96
790
+ #: classes/Views/SetupWizard.php:852
791
+ msgid "Add-on for "
792
+ msgstr ""
793
+
794
+ #: classes/Utilities/PluginInstallAndActivate.php:101
795
+ #: classes/Views/SetupWizard.php:857
796
+ msgid "Add-on installed, activate now?"
797
+ msgstr ""
798
+
799
+ #: classes/Utilities/PluginInstallAndActivate.php:103
800
+ #: classes/Views/SetupWizard.php:260 classes/Views/SetupWizard.php:859
801
+ #: wp-security-audit-log.php:1187
802
+ msgid "Add-on installed"
803
+ msgstr ""
804
+
805
+ #: classes/Utilities/PluginInstallAndActivate.php:105
806
+ #: classes/Views/SetupWizard.php:861
807
+ msgid "Install Add-on"
808
+ msgstr ""
809
+
810
+ #: classes/Utilities/PluginInstallerAction.php:76
811
+ msgid "Tried to install a zip or slug that was not in the allowed list"
812
+ msgstr ""
813
+
814
+ #: classes/ViewManager.php:273
815
  msgid "Free Premium Trial"
816
  msgstr ""
817
 
818
+ #: classes/ViewManager.php:504 classes/Views/Settings.php:259
819
+ #: classes/Views/Settings.php:2756 classes/Views/Settings.php:2785
820
+ #: classes/Views/SetupWizard.php:83
821
  msgid "Access Denied."
822
  msgstr ""
823
 
824
+ #: classes/ViewManager.php:535
825
  msgid "Log count parameter expected."
826
  msgstr ""
827
 
828
+ #: classes/ViewManager.php:543 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:274 classes/Views/Settings.php:2317
832
+ #: classes/Views/Settings.php:2345 classes/Views/Settings.php:2375
833
+ #: classes/Views/Settings.php:2420 classes/Views/Settings.php:2422
834
+ #: classes/Views/Settings.php:2424 classes/Views/Settings.php:2539
835
+ #: classes/Views/Settings.php:2541 classes/Views/Settings.php:2543
836
+ #: classes/Views/Settings.php:2637 classes/Views/Settings.php:2732
837
+ #: classes/Views/SetupWizard.php:96
838
  msgid "Nonce verification failed."
839
  msgstr ""
840
 
841
+ #: classes/Views/AuditLog.php:99
842
  msgid ""
843
  "Get instantly alerted of critical changes via SMS & email, search the "
844
  "activity log, generate user reports, see who is logged in and more!"
845
  msgstr ""
846
 
847
+ #: classes/Views/AuditLog.php:100
848
  msgid ""
849
  "Upgrade to premium to unlock these powerful activity log features & more!"
850
  msgstr ""
851
 
852
+ #: classes/Views/AuditLog.php:103
853
  msgid ""
854
  "Instant SMS & email alerts, search & filters, reports, users sessions "
855
  "management and much more!"
856
  msgstr ""
857
 
858
+ #: classes/Views/AuditLog.php:104
859
  msgid "Upgrade to premium to get more out of your activity logs!"
860
  msgstr ""
861
 
862
+ #: classes/Views/AuditLog.php:107
863
  msgid ""
864
  "See who logged in on your site in real-time, generate reports, get SMS & "
865
  "email alerts of critical changes and more!"
866
  msgstr ""
867
 
868
+ #: classes/Views/AuditLog.php:108
869
  msgid ""
870
  "Unlock these and other powerful features with WP Security Audit Log Premium."
871
  msgstr ""
872
 
873
+ #: classes/Views/AuditLog.php:186
874
  msgid "UPGRADE NOW"
875
  msgstr ""
876
 
877
+ #: classes/Views/AuditLog.php:187
878
  msgid "Start Free Trial"
879
  msgstr ""
880
 
881
+ #: classes/Views/AuditLog.php:188
882
  msgid "Tell me more"
883
  msgstr ""
884
 
885
+ #: classes/Views/AuditLog.php:190
886
  msgid "Dismiss the banner"
887
  msgstr ""
888
 
889
+ #: classes/Views/AuditLog.php:190
890
  msgid "Close"
891
  msgstr ""
892
 
893
+ #: classes/Views/AuditLog.php:215
894
  msgid ""
895
  "There are connectivity issues with the database where the WordPress activity "
896
  "log is stored. The logs will be temporary buffered in the WordPress database "
897
  "until the connection is fully restored."
898
  msgstr ""
899
 
900
+ #: classes/Views/AuditLog.php:233
901
  msgid "Help WP Security Audit Log improve."
902
  msgstr ""
903
 
904
+ #: classes/Views/AuditLog.php:234
905
  msgid ""
906
  "Gathering non-sensitive diagnostic data about the plugin install helps us "
907
  "improve the plugin. When you opt-in, you also subscribe to our announcements "
909
  "collect any data."
910
  msgstr ""
911
 
912
+ #: classes/Views/AuditLog.php:234
913
  msgid "Read more about what we collect."
914
  msgstr ""
915
 
916
+ #: classes/Views/AuditLog.php:236
917
  msgid "Sure, opt-in"
918
  msgstr ""
919
 
920
+ #: classes/Views/AuditLog.php:237
921
  msgid "No, thank you"
922
  msgstr ""
923
 
924
+ #: classes/Views/AuditLog.php:275
925
+ msgid "Install add-on"
926
+ msgstr ""
927
+
928
+ #: classes/Views/AuditLog.php:278
929
+ msgid "Install add-ons"
930
+ msgstr ""
931
+
932
+ #: classes/Views/AuditLog.php:290
933
+ msgid "You have"
934
+ msgstr ""
935
+
936
+ #: classes/Views/AuditLog.php:292
937
+ msgid "installed. Keep a log of changes in"
938
+ msgstr ""
939
+
940
+ #: classes/Views/AuditLog.php:352 classes/Views/AuditLog.php:379
941
  msgid "Audit Log Viewer"
942
  msgstr ""
943
 
944
+ #: classes/Views/AuditLog.php:534 classes/Views/Settings.php:365
945
+ #: classes/Views/ToggleAlerts.php:140
946
  msgid "You do not have sufficient permissions to access this page."
947
  msgstr ""
948
 
949
+ #: classes/Views/AuditLog.php:582
950
  msgid ""
951
  "Thank you for installing WP Security Audit Log. Do you want to run the "
952
  "wizard to configure the basic plugin settings?"
953
  msgstr ""
954
 
955
+ #: classes/Views/AuditLog.php:584 classes/Views/Settings.php:568
956
+ #: classes/Views/Settings.php:595 classes/Views/Settings.php:661
957
+ #: classes/Views/Settings.php:719 classes/Views/Settings.php:1214
958
+ #: classes/Views/Settings.php:1281 classes/Views/Settings.php:2051
959
+ #: classes/Views/Settings.php:2112 classes/Views/Settings.php:2140
960
+ #: classes/Views/Settings.php:2161 classes/Views/Settings.php:2171
961
+ #: classes/Views/SetupWizard.php:551 classes/Views/SetupWizard.php:599
 
962
  msgid "Yes"
963
  msgstr ""
964
 
965
+ #: classes/Views/AuditLog.php:585 classes/Views/Settings.php:573
966
+ #: classes/Views/Settings.php:600 classes/Views/Settings.php:691
967
+ #: classes/Views/Settings.php:729 classes/Views/Settings.php:1219
968
+ #: classes/Views/Settings.php:1288 classes/Views/Settings.php:2056
969
+ #: classes/Views/Settings.php:2119 classes/Views/Settings.php:2147
970
+ #: classes/Views/Settings.php:2162 classes/Views/Settings.php:2172
971
+ #: classes/Views/SetupWizard.php:556 classes/Views/SetupWizard.php:604
 
972
  msgid "No"
973
  msgstr ""
974
 
975
+ #: classes/Views/AuditLog.php:619
976
  msgid "Please enter the number of alerts you would like to see on one page:"
977
  msgstr ""
978
 
979
+ #: classes/Views/AuditLog.php:621
980
  msgid "No Results"
981
  msgstr ""
982
 
983
+ #: classes/Views/AuditLog.php:805
984
  msgid "No users found."
985
  msgstr ""
986
 
987
+ #: classes/Views/AuditLog.php:827
988
  msgid "Log file does not exist."
989
  msgstr ""
990
 
991
+ #: classes/Views/AuditLog.php:876
992
  msgid "Request to get log file failed."
993
  msgstr ""
994
 
995
+ #: classes/Views/AuditLog.php:951
996
  msgid "Freemius opt choice selected."
997
  msgstr ""
998
 
999
+ #: classes/Views/AuditLog.php:958
1000
  msgid "Freemius opt choice not found."
1001
  msgstr ""
1002
 
1003
+ #. translators: 1 - an opening link tag, 2 - the closing tag.
1004
+ #: classes/Views/AuditLog.php:1046
1005
+ #, php-format
1006
+ msgid ""
1007
+ "<br>An error occured when trying to install and activate the plugin. Please "
1008
+ "try install it again from the %1$sevent settings%2$s page."
1009
+ msgstr ""
1010
+
1011
+ #: classes/Views/AuditLog.php:1145
1012
  msgid "WordPress Activity Log"
1013
  msgstr ""
1014
 
1015
+ #: classes/Views/AuditLog.php:1146
1016
  msgid ""
1017
  "When a user makes a change on your website the plugin will keep a record of "
1018
  "that event here. Right now there is nothing because this is a new install."
1019
  msgstr ""
1020
 
1021
+ #: classes/Views/AuditLog.php:1147
1022
  msgid "Thank you for using WP Security Audit Log"
1023
  msgstr ""
1024
 
1025
+ #: classes/Views/AuditLog.php:1168
1026
  msgid "Error: You do not have sufficient permissions to exclude this URL."
1027
  msgstr ""
1028
 
1029
+ #: classes/Views/AuditLog.php:1214
1030
  msgid "You do not have sufficient permissions to dismiss this notice."
1031
  msgstr ""
1032
 
1033
+ #: classes/Views/AuditLog.php:1284
1034
  msgid "Access Denied"
1035
  msgstr ""
1036
 
1277
  msgstr ""
1278
 
1279
  #: classes/Views/Help.php:262
1280
+ msgid ""
1281
+ "Add an extra layer of security to your login pages with 2FA & require your "
1282
+ "users to use it."
1283
  msgstr ""
1284
 
1285
  #: classes/Views/Help.php:268
1286
+ msgid "See the child sites activity logs from the central MainWP dashboard"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1287
  msgstr ""
1288
 
1289
+ #: classes/Views/Help.php:274
1290
+ msgid "Our other WordPress plugins"
1291
  msgstr ""
1292
 
1293
+ #: classes/Views/Help.php:285
1294
+ msgid "LEARN MORE"
1295
  msgstr ""
1296
 
1297
  #: classes/Views/LogInUsers.php:28
1466
  msgid "File Integrity Scan"
1467
  msgstr ""
1468
 
1469
+ #: classes/Views/Settings.php:117
1470
  msgid "Exclude Objects"
1471
  msgstr ""
1472
 
1482
  msgid "Settings"
1483
  msgstr ""
1484
 
1485
+ #: classes/Views/Settings.php:241
1486
+ msgid "Current user is not allowed to save settings."
1487
+ msgstr ""
1488
+
1489
+ #: classes/Views/Settings.php:247
1490
  msgid "Unknown settings tab."
1491
  msgstr ""
1492
 
1493
+ #: classes/Views/Settings.php:284 classes/Views/SetupWizard.php:106
1494
  msgid "Invalid input."
1495
  msgstr ""
1496
 
1497
+ #: classes/Views/Settings.php:377
1498
  msgid "Message sent successfully."
1499
  msgstr ""
1500
 
1501
+ #: classes/Views/Settings.php:381 classes/Views/ToggleAlerts.php:157
1502
+ msgid "Settings have been saved."
1503
+ msgstr ""
1504
+
1505
+ #: classes/Views/Settings.php:387 classes/Views/ToggleAlerts.php:163
1506
+ msgid "Error: "
1507
+ msgstr ""
1508
+
1509
+ #: classes/Views/Settings.php:399
1510
  msgid "Old data successfully purged."
1511
  msgstr ""
1512
 
1513
+ #: classes/Views/Settings.php:405
1514
  msgid "No data is old enough to be purged."
1515
  msgstr ""
1516
 
1517
+ #: classes/Views/Settings.php:436
1518
  msgid "Send Message"
1519
  msgstr ""
1520
 
1521
+ #: classes/Views/Settings.php:487
1522
  msgid ""
1523
  "Need help with setting up the plugin to meet your requirements? <a href="
1524
  "\"https://www.wpsecurityauditlog.com/contact/?"
1527
  "call</a> with our experts for just $50."
1528
  msgstr ""
1529
 
1530
+ #: classes/Views/Settings.php:489
1531
  msgid "Use infinite scroll or pagination for the event viewer?"
1532
  msgstr ""
1533
 
1534
  #. translators: Learn more link.
1535
+ #: classes/Views/Settings.php:494
1536
  #, php-format
1537
  msgid ""
1538
  "When using infinite scroll the event viewer and search results %s load up "
1539
  "much faster and require less resources."
1540
  msgstr ""
1541
 
1542
+ #: classes/Views/Settings.php:495
1543
  msgid "(Premium feature)"
1544
  msgstr ""
1545
 
1546
+ #: classes/Views/Settings.php:502
1547
  msgid "Select event viewer view type:"
1548
  msgstr ""
1549
 
1550
+ #: classes/Views/Settings.php:507
1551
  msgid "Infinite Scroll (Recommended)"
1552
  msgstr ""
1553
 
1554
+ #: classes/Views/Settings.php:512
1555
  msgid "Pagination"
1556
  msgstr ""
1557
 
1558
+ #: classes/Views/Settings.php:523
1559
  msgid "Do you want the activity log viewer to auto refresh?"
1560
  msgstr ""
1561
 
1562
+ #: classes/Views/Settings.php:524
1563
  msgid ""
1564
  "The activity log viewer auto refreshes every 30 seconds when opened so you "
1565
  "can see the latest events as they happen almost in real time."
1566
  msgstr ""
1567
 
1568
+ #: classes/Views/Settings.php:528
1569
  msgid "Refresh Audit Log Viewer"
1570
  msgstr ""
1571
 
1572
+ #: classes/Views/Settings.php:534
1573
  msgid "Auto refresh"
1574
  msgstr ""
1575
 
1576
+ #: classes/Views/Settings.php:539
1577
  msgid "Do not auto refresh"
1578
  msgstr ""
1579
 
1580
+ #: classes/Views/Settings.php:549
1581
  msgid "Display latest events widget in Dashboard & Admin bar"
1582
  msgstr ""
1583
 
1584
  #. translators: Max number of dashboard widget alerts.
1585
+ #: classes/Views/Settings.php:554
1586
  #, php-format
1587
  msgid ""
1588
  "The events widget displays the latest %d security events in the dashboard "
1589
  "and the admin bar notification displays the latest event."
1590
  msgstr ""
1591
 
1592
+ #: classes/Views/Settings.php:562
1593
  msgid "Dashboard Widget"
1594
  msgstr ""
1595
 
1596
+ #: classes/Views/Settings.php:583
1597
  msgid "Admin Bar Notification"
1598
  msgstr ""
1599
 
1600
+ #: classes/Views/Settings.php:586
1601
  msgid "Admin Bar Notification (Premium)"
1602
  msgstr ""
1603
 
1604
+ #: classes/Views/Settings.php:610
1605
  msgid "Admin Bar Notification Updates"
1606
  msgstr ""
1607
 
1608
+ #: classes/Views/Settings.php:613
1609
  msgid "Admin Bar Notification Updates (Premium)"
1610
  msgstr ""
1611
 
1612
+ #: classes/Views/Settings.php:622
1613
  msgid "Update in near real time"
1614
  msgstr ""
1615
 
1616
+ #: classes/Views/Settings.php:627
1617
  msgid "Update only on page refreshes"
1618
  msgstr ""
1619
 
1620
+ #: classes/Views/Settings.php:637
1621
  msgid "Add user notification on the WordPress login page"
1622
  msgstr ""
1623
 
1624
+ #: classes/Views/Settings.php:638
1625
  msgid ""
1626
  "Many compliance regulations (such as the GDPR) require website "
1627
  "administrators to tell the users of their website that all the changes they "
1628
  "do when logged in are being logged."
1629
  msgstr ""
1630
 
1631
+ #: classes/Views/Settings.php:642
1632
  msgid "Login Page Notification"
1633
  msgstr ""
1634
 
1635
+ #: classes/Views/Settings.php:667
1636
  msgid ""
1637
  "For security and auditing purposes, a record of all of your logged-in "
1638
  "actions and changes within the WordPress dashboard will be recorded in an "
1642
  "also includes the IP address where you accessed this site from."
1643
  msgstr ""
1644
 
1645
+ #: classes/Views/Settings.php:685
1646
  msgid "<strong>Note: </strong>"
1647
  msgstr ""
1648
 
1649
+ #: classes/Views/Settings.php:685
1650
  msgid ""
1651
  "The only HTML code allowed in the login page notification is for links ( < a "
1652
  "href >< /a > )."
1653
  msgstr ""
1654
 
1655
+ #: classes/Views/Settings.php:701
1656
  msgid "Is your website running behind a firewall or reverse proxy?"
1657
  msgstr ""
1658
 
1659
  #. translators: Learn more link.
1660
+ #: classes/Views/Settings.php:706
1661
  #, php-format
1662
  msgid ""
1663
  "If your website is running behind a firewall set this option to yes so the "
1664
  "plugin retrieves the end user’s IP address from the proxy header - %s."
1665
  msgstr ""
1666
 
1667
+ #: classes/Views/Settings.php:707 classes/Views/Settings.php:753
1668
+ #: classes/Views/Settings.php:804
1669
  msgid "learn more"
1670
  msgstr ""
1671
 
1672
+ #: classes/Views/Settings.php:714
1673
  msgid "Reverse Proxy / Firewall Options"
1674
  msgstr ""
1675
 
1676
+ #: classes/Views/Settings.php:724
1677
  msgid ""
1678
  "Filter internal IP addresses from the proxy headers. Enable this option only "
1679
  "if you are\tare still seeing the internal IP addresses of the firewall or "
1680
  "proxy."
1681
  msgstr ""
1682
 
1683
+ #: classes/Views/Settings.php:740
1684
  msgid "Who can change the plugin settings?"
1685
  msgstr ""
1686
 
1687
  #. translators: Learn more link.
1688
+ #: classes/Views/Settings.php:752
1689
  #, php-format
1690
  msgid ""
1691
+ "By default only users with administrator role (single site) and super "
1692
+ "administrator role (multisite) can change the settings of the plugin. Though "
1693
+ "you can restrict the privileges to just your user - %s."
1694
  msgstr ""
1695
 
1696
+ #: classes/Views/Settings.php:762
1697
  msgid "Restrict Plugin Access"
1698
  msgstr ""
1699
 
1700
+ #: classes/Views/Settings.php:768
1701
  msgid "Only me"
1702
  msgstr ""
1703
 
 
 
 
 
1704
  #: classes/Views/Settings.php:775
1705
  msgid "Only superadmins"
1706
  msgstr ""
1707
 
1708
+ #: classes/Views/Settings.php:777
1709
+ msgid "Only administrators"
 
 
 
 
 
 
1710
  msgstr ""
1711
 
1712
+ #: classes/Views/Settings.php:791
1713
  msgid "Allow other users to view the activity log"
1714
  msgstr ""
1715
 
1716
  #. translators: Learn more link.
1717
+ #: classes/Views/Settings.php:803
1718
  #, php-format
1719
  msgid ""
1720
  "By default only users with administrator and super administrator (multisite) "
1722
  "with no admin role to view the events - %s."
1723
  msgstr ""
1724
 
1725
+ #: classes/Views/Settings.php:813
1726
  msgid "Can View Events"
1727
  msgstr ""
1728
 
1729
+ #: classes/Views/Settings.php:821
1730
  msgid ""
1731
  "Specify the username or the users which do not have an admin role but can "
1732
  "also see the WordPress activity role. You can also specify roles."
1733
  msgstr ""
1734
 
1735
+ #: classes/Views/Settings.php:847
1736
  msgid "Which email address should the plugin use as a from address?"
1737
  msgstr ""
1738
 
1739
+ #: classes/Views/Settings.php:848
1740
  msgid ""
1741
  "By default when the plugin sends an email notification it uses the email "
1742
  "address specified in this website’s general settings. Though you can change "
1743
  "the email address and display name from this section."
1744
  msgstr ""
1745
 
1746
+ #: classes/Views/Settings.php:852
1747
  msgid "From Email & Name"
1748
  msgstr ""
1749
 
1750
+ #: classes/Views/Settings.php:858
1751
  msgid "Use the email address from the WordPress general settings"
1752
  msgstr ""
1753
 
1754
+ #: classes/Views/Settings.php:863
1755
  msgid "Use another email address"
1756
  msgstr ""
1757
 
1758
+ #: classes/Views/Settings.php:867
1759
  msgid "Email Address"
1760
  msgstr ""
1761
 
1762
+ #: classes/Views/Settings.php:872
1763
  msgid "Display Name"
1764
  msgstr ""
1765
 
1766
+ #: classes/Views/Settings.php:883
1767
  msgid "Do you want to hide the plugin from the list of installed plugins?"
1768
  msgstr ""
1769
 
1770
+ #: classes/Views/Settings.php:884
1771
  msgid ""
1772
  "By default all installed plugins are listed in the plugins page. If you do "
1773
  "not want other administrators to see that you installed this plugin set this "
1775
  "plugin on this website."
1776
  msgstr ""
1777
 
1778
+ #: classes/Views/Settings.php:888
1779
  msgid "Hide Plugin in Plugins Page"
1780
  msgstr ""
1781
 
1782
+ #: classes/Views/Settings.php:893
1783
  msgid "Yes, hide the plugin from the list of installed plugins"
1784
  msgstr ""
1785
 
1786
+ #: classes/Views/Settings.php:898
1787
  msgid "No, do not hide the plugin"
1788
  msgstr ""
1789
 
1790
+ #: classes/Views/Settings.php:968
1791
  msgid ""
1792
  "For how long do you want to keep the activity log events (Retention "
1793
  "settings) ?"
1794
  msgstr ""
1795
 
1796
+ #: classes/Views/Settings.php:971
1797
  msgid ""
1798
  "The plugin uses an efficient way to store the activity log data in the "
1799
  "WordPress database, though the more data you keep the more disk space will "
1800
  "be required. "
1801
  msgstr ""
1802
 
1803
+ #: classes/Views/Settings.php:972
1804
  msgid ""
1805
  "<a href=\"https://www.wpsecurityauditlog.com/pricing/?"
1806
  "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=settings"
1809
  msgstr ""
1810
 
1811
  #. translators: 1: Archive page link tag. 2: Link closing tag.
1812
+ #: classes/Views/Settings.php:990
1813
  #, php-format
1814
  msgid ""
1815
  "Retention settings moved to %1$s archiving settings %2$s because archiving "
1816
  "is enabled"
1817
  msgstr ""
1818
 
1819
+ #: classes/Views/Settings.php:997
1820
  msgid "Audit Log Retention"
1821
  msgstr ""
1822
 
1823
+ #: classes/Views/Settings.php:1003
1824
  msgid "Keep all data"
1825
  msgstr ""
1826
 
1827
+ #: classes/Views/Settings.php:1030
1828
  msgid "Delete events older than"
1829
  msgstr ""
1830
 
1831
+ #: classes/Views/Settings.php:1037
1832
  msgid "Months"
1833
  msgstr ""
1834
 
1835
+ #: classes/Views/Settings.php:1038
1836
  msgid "Years"
1837
  msgstr ""
1838
 
1839
+ #: classes/Views/Settings.php:1046
1840
  msgid "The next scheduled purging of activity log data that is older than "
1841
  msgstr ""
1842
 
1843
+ #: classes/Views/Settings.php:1053
1844
  msgid "You can run the purging process now by clicking the button below."
1845
  msgstr ""
1846
 
1847
+ #: classes/Views/Settings.php:1057
1848
  msgid "Purge Old Data"
1849
  msgstr ""
1850
 
1851
+ #: classes/Views/Settings.php:1068
1852
  msgid "What timestamp you would like to see in the WordPress activity log?"
1853
  msgstr ""
1854
 
1855
+ #: classes/Views/Settings.php:1069
1856
  msgid ""
1857
  "Note that the WordPress' timezone might be different from that configured on "
1858
  "the server so when you switch from UTC to WordPress timezone or vice versa "
1859
  "you might notice a big difference."
1860
  msgstr ""
1861
 
1862
+ #: classes/Views/Settings.php:1073
1863
  msgid "Events Timestamp"
1864
  msgstr ""
1865
 
1866
+ #: classes/Views/Settings.php:1093
1867
  msgid "UTC"
1868
  msgstr ""
1869
 
1870
+ #: classes/Views/Settings.php:1099
1871
  msgid "Timezone configured on this WordPress website"
1872
  msgstr ""
1873
 
1874
+ #: classes/Views/Settings.php:1106
1875
  msgid "Show Milliseconds"
1876
  msgstr ""
1877
 
1878
+ #: classes/Views/Settings.php:1122
1879
  msgid "Show Milliseconds in list view"
1880
  msgstr ""
1881
 
1882
+ #: classes/Views/Settings.php:1132
1883
  msgid ""
1884
  "What user information should be displayed in the WordPress activity log?"
1885
  msgstr ""
1886
 
1887
+ #: classes/Views/Settings.php:1133
1888
  msgid ""
1889
  "Usernames might not be the same as a user's first and last name so it can be "
1890
  "difficult to recognize whose user was that did a change. When there is no "
1892
  "back to the WordPress username."
1893
  msgstr ""
1894
 
1895
+ #: classes/Views/Settings.php:1137
1896
  msgid "User Information in Audit Log"
1897
  msgstr ""
1898
 
1899
+ #: classes/Views/Settings.php:1143
1900
  msgid "WordPress Username"
1901
  msgstr ""
1902
 
1903
+ #: classes/Views/Settings.php:1148
1904
  msgid "First Name & Last Name"
1905
  msgstr ""
1906
 
1907
+ #: classes/Views/Settings.php:1153
1908
  msgid "Configured Public Display Name"
1909
  msgstr ""
1910
 
1911
+ #: classes/Views/Settings.php:1163
1912
  msgid "Select the columns to be displayed in the WordPress activity log"
1913
  msgstr ""
1914
 
1915
+ #: classes/Views/Settings.php:1164
1916
  msgid ""
1917
  "When you deselect a column it won’t be shown in the activity log viewer in "
1918
  "both views. The data will still be recorded by the plugin."
1919
  msgstr ""
1920
 
1921
+ #: classes/Views/Settings.php:1168
1922
  msgid "Audit Log Columns Selection"
1923
  msgstr ""
1924
 
1925
+ #: classes/Views/Settings.php:1177
1926
  msgid "Event ID"
1927
  msgstr ""
1928
 
1929
+ #: classes/Views/Settings.php:1181
1930
  msgid "Date & Time"
1931
  msgstr ""
1932
 
1933
+ #: classes/Views/Settings.php:1185
1934
  msgid "Source IP Address"
1935
  msgstr ""
1936
 
1937
+ #: classes/Views/Settings.php:1187
1938
  msgid "Info (used in Grid view mode only)"
1939
  msgstr ""
1940
 
1941
+ #: classes/Views/Settings.php:1202
1942
  msgid "Do you want to keep a log of WordPress background activity?"
1943
  msgstr ""
1944
 
1945
+ #: classes/Views/Settings.php:1204
1946
  msgid ""
1947
  "WordPress does a lot of things in the background that you do not necessarily "
1948
  "need to know about, such as; deletion of post revisions, deletion of auto "
1950
  "might be a lot and are irrelevant to the user."
1951
  msgstr ""
1952
 
1953
+ #: classes/Views/Settings.php:1209
1954
  msgid "Enable Events for WordPress Background Activity"
1955
  msgstr ""
1956
 
1957
+ #: classes/Views/Settings.php:1264
1958
  msgid ""
1959
  "The plugin runs file integrity scans on your website so it keeps a log when "
1960
  "a file is added, modified or deleted. All the settings for the file "
1961
  "integrity scans can be found in this page."
1962
  msgstr ""
1963
 
1964
+ #: classes/Views/Settings.php:1265
1965
  msgid ""
1966
  "<a href=\"https://www.wpsecurityauditlog.com/support-documentation/wordpress-"
1967
  "files-changes-warning-activity-logs/?"
1970
  "feature page</a> for more information."
1971
  msgstr ""
1972
 
1973
+ #: classes/Views/Settings.php:1268
1974
  msgid "Do you want the plugin to scan your website for file changes?"
1975
  msgstr ""
1976
 
1977
+ #: classes/Views/Settings.php:1273
1978
  msgid "Keep a Log of File Changes"
1979
  msgstr ""
1980
 
1981
+ #: classes/Views/Settings.php:1297
1982
  msgid ""
1983
  "Which file changes events do you want to keep a log of in the activity log?"
1984
  msgstr ""
1985
 
1986
+ #: classes/Views/Settings.php:1299
1987
  msgid ""
1988
  "By default the plugin will keep a log whenever a file has been added, "
1989
  "modified or deleted. It will also log an event in the activity log when a "
1991
  "link to specify which of these events the plugin should keep a log of."
1992
  msgstr ""
1993
 
1994
+ #: classes/Views/Settings.php:1305
1995
  msgid "Alert me when"
1996
  msgstr ""
1997
 
1998
+ #: classes/Views/Settings.php:1318
1999
  msgid "Configure Events"
2000
  msgstr ""
2001
 
2002
+ #: classes/Views/Settings.php:1327
2003
  msgid "When should the plugin scan your website for file changes?"
2004
  msgstr ""
2005
 
2006
+ #: classes/Views/Settings.php:1329
2007
  msgid ""
2008
  "By default the plugin will run file integrity scans once a week. If you can, "
2009
  "ideally you should run file integrity scans on a daily basis. The file "
2013
  "complete."
2014
  msgstr ""
2015
 
2016
+ #: classes/Views/Settings.php:1335
2017
  msgid "Scan Frequency"
2018
  msgstr ""
2019
 
2020
+ #: classes/Views/Settings.php:1340
2021
  msgid "Daily"
2022
  msgstr ""
2023
 
2024
+ #: classes/Views/Settings.php:1341
2025
  msgid "Weekly"
2026
  msgstr ""
2027
 
2028
+ #: classes/Views/Settings.php:1342
2029
  msgid "Monthly"
2030
  msgstr ""
2031
 
2032
+ #: classes/Views/Settings.php:1360
2033
  msgid "Scan Time"
2034
  msgstr ""
2035
 
2036
+ #: classes/Views/Settings.php:1366
2037
  msgid "00:00"
2038
  msgstr ""
2039
 
2040
+ #: classes/Views/Settings.php:1367
2041
  msgid "01:00"
2042
  msgstr ""
2043
 
2044
+ #: classes/Views/Settings.php:1368
2045
  msgid "02:00"
2046
  msgstr ""
2047
 
2048
+ #: classes/Views/Settings.php:1369
2049
  msgid "03:00"
2050
  msgstr ""
2051
 
2052
+ #: classes/Views/Settings.php:1370
2053
  msgid "04:00"
2054
  msgstr ""
2055
 
2056
+ #: classes/Views/Settings.php:1371
2057
  msgid "05:00"
2058
  msgstr ""
2059
 
2060
+ #: classes/Views/Settings.php:1372
2061
  msgid "06:00"
2062
  msgstr ""
2063
 
2064
+ #: classes/Views/Settings.php:1373
2065
  msgid "07:00"
2066
  msgstr ""
2067
 
2068
+ #: classes/Views/Settings.php:1374
2069
  msgid "08:00"
2070
  msgstr ""
2071
 
2072
+ #: classes/Views/Settings.php:1375
2073
  msgid "09:00"
2074
  msgstr ""
2075
 
2076
+ #: classes/Views/Settings.php:1376
2077
  msgid "10:00"
2078
  msgstr ""
2079
 
2080
+ #: classes/Views/Settings.php:1377
2081
  msgid "11:00"
2082
  msgstr ""
2083
 
2084
+ #: classes/Views/Settings.php:1378
2085
  msgid "12:00"
2086
  msgstr ""
2087
 
2088
+ #: classes/Views/Settings.php:1379
2089
  msgid "13:00"
2090
  msgstr ""
2091
 
2092
+ #: classes/Views/Settings.php:1380
2093
  msgid "14:00"
2094
  msgstr ""
2095
 
2096
+ #: classes/Views/Settings.php:1381
2097
  msgid "15:00"
2098
  msgstr ""
2099
 
2100
+ #: classes/Views/Settings.php:1382
2101
  msgid "16:00"
2102
  msgstr ""
2103
 
2104
+ #: classes/Views/Settings.php:1383
2105
  msgid "17:00"
2106
  msgstr ""
2107
 
2108
+ #: classes/Views/Settings.php:1384
2109
  msgid "18:00"
2110
  msgstr ""
2111
 
2112
+ #: classes/Views/Settings.php:1385
2113
  msgid "19:00"
2114
  msgstr ""
2115
 
2116
+ #: classes/Views/Settings.php:1386
2117
  msgid "20:00"
2118
  msgstr ""
2119
 
2120
+ #: classes/Views/Settings.php:1387
2121
  msgid "21:00"
2122
  msgstr ""
2123
 
2124
+ #: classes/Views/Settings.php:1388
2125
  msgid "22:00"
2126
  msgstr ""
2127
 
2128
+ #: classes/Views/Settings.php:1389
2129
  msgid "23:00"
2130
  msgstr ""
2131
 
2132
+ #: classes/Views/Settings.php:1394
2133
  msgid "Monday"
2134
  msgstr ""
2135
 
2136
+ #: classes/Views/Settings.php:1395
2137
  msgid "Tuesday"
2138
  msgstr ""
2139
 
2140
+ #: classes/Views/Settings.php:1396
2141
  msgid "Wednesday"
2142
  msgstr ""
2143
 
2144
+ #: classes/Views/Settings.php:1397
2145
  msgid "Thursday"
2146
  msgstr ""
2147
 
2148
+ #: classes/Views/Settings.php:1398
2149
  msgid "Friday"
2150
  msgstr ""
2151
 
2152
+ #: classes/Views/Settings.php:1399
2153
  msgid "Saturday"
2154
  msgstr ""
2155
 
2156
+ #: classes/Views/Settings.php:1400
2157
  msgid "Sunday"
2158
  msgstr ""
2159
 
2160
+ #: classes/Views/Settings.php:1405
2161
  msgid "01"
2162
  msgstr ""
2163
 
2164
+ #: classes/Views/Settings.php:1406
2165
  msgid "02"
2166
  msgstr ""
2167
 
2168
+ #: classes/Views/Settings.php:1407
2169
  msgid "03"
2170
  msgstr ""
2171
 
2172
+ #: classes/Views/Settings.php:1408
2173
  msgid "04"
2174
  msgstr ""
2175
 
2176
+ #: classes/Views/Settings.php:1409
2177
  msgid "05"
2178
  msgstr ""
2179
 
2180
+ #: classes/Views/Settings.php:1410
2181
  msgid "06"
2182
  msgstr ""
2183
 
2184
+ #: classes/Views/Settings.php:1411
2185
  msgid "07"
2186
  msgstr ""
2187
 
2188
+ #: classes/Views/Settings.php:1412
2189
  msgid "08"
2190
  msgstr ""
2191
 
2192
+ #: classes/Views/Settings.php:1413
2193
  msgid "09"
2194
  msgstr ""
2195
 
2196
+ #: classes/Views/Settings.php:1414
2197
  msgid "10"
2198
  msgstr ""
2199
 
2200
+ #: classes/Views/Settings.php:1415
2201
  msgid "11"
2202
  msgstr ""
2203
 
2204
+ #: classes/Views/Settings.php:1416
2205
  msgid "12"
2206
  msgstr ""
2207
 
2208
+ #: classes/Views/Settings.php:1417
2209
  msgid "13"
2210
  msgstr ""
2211
 
2212
+ #: classes/Views/Settings.php:1418
2213
  msgid "14"
2214
  msgstr ""
2215
 
2216
+ #: classes/Views/Settings.php:1419
2217
  msgid "15"
2218
  msgstr ""
2219
 
2220
+ #: classes/Views/Settings.php:1420
2221
  msgid "16"
2222
  msgstr ""
2223
 
2224
+ #: classes/Views/Settings.php:1421
2225
  msgid "17"
2226
  msgstr ""
2227
 
2228
+ #: classes/Views/Settings.php:1422
2229
  msgid "18"
2230
  msgstr ""
2231
 
2232
+ #: classes/Views/Settings.php:1423
2233
  msgid "19"
2234
  msgstr ""
2235
 
2236
+ #: classes/Views/Settings.php:1424
2237
  msgid "20"
2238
  msgstr ""
2239
 
2240
+ #: classes/Views/Settings.php:1425
2241
  msgid "21"
2242
  msgstr ""
2243
 
2244
+ #: classes/Views/Settings.php:1426
2245
  msgid "22"
2246
  msgstr ""
2247
 
2248
+ #: classes/Views/Settings.php:1427
2249
  msgid "23"
2250
  msgstr ""
2251
 
2252
+ #: classes/Views/Settings.php:1428
2253
  msgid "24"
2254
  msgstr ""
2255
 
2256
+ #: classes/Views/Settings.php:1429
2257
  msgid "25"
2258
  msgstr ""
2259
 
2260
+ #: classes/Views/Settings.php:1430
2261
  msgid "26"
2262
  msgstr ""
2263
 
2264
+ #: classes/Views/Settings.php:1431
2265
  msgid "27"
2266
  msgstr ""
2267
 
2268
+ #: classes/Views/Settings.php:1432
2269
  msgid "28"
2270
  msgstr ""
2271
 
2272
+ #: classes/Views/Settings.php:1433
2273
  msgid "29"
2274
  msgstr ""
2275
 
2276
+ #: classes/Views/Settings.php:1434
2277
  msgid "30"
2278
  msgstr ""
2279
 
2280
+ #: classes/Views/Settings.php:1450
2281
  msgid "Hour"
2282
  msgstr ""
2283
 
2284
+ #: classes/Views/Settings.php:1466 classes/Views/Settings.php:1482
2285
  msgid "Day"
2286
  msgstr ""
2287
 
2288
+ #: classes/Views/Settings.php:1492
2289
  msgid "Which directories should be scanned for file changes?"
2290
  msgstr ""
2291
 
2292
+ #: classes/Views/Settings.php:1494
2293
  msgid ""
2294
  "The plugin will scan all the directories in your WordPress website by "
2295
  "default because that is the most secure option. Though if for some reason "
2297
  "them from the below list."
2298
  msgstr ""
2299
 
2300
+ #: classes/Views/Settings.php:1500
2301
  msgid "Directories to scan"
2302
  msgstr ""
2303
 
2304
+ #: classes/Views/Settings.php:1524
2305
  msgid "What is the biggest file size the plugin should scan?"
2306
  msgstr ""
2307
 
2308
+ #: classes/Views/Settings.php:1525
2309
  msgid ""
2310
  "By default the plugin does not scan files that are bigger than 5MB. Such "
2311
  "files are not common, hence typically not a target. Though if you are "
2313
  "limit from the below option."
2314
  msgstr ""
2315
 
2316
+ #: classes/Views/Settings.php:1528
2317
  msgid "File Size Limit"
2318
  msgstr ""
2319
 
2320
+ #: classes/Views/Settings.php:1531
2321
  msgid "MB"
2322
  msgstr ""
2323
 
2324
+ #: classes/Views/Settings.php:1537
2325
  msgid ""
2326
  "Do you want to exclude specific files or files with a particular extension "
2327
  "from the scan?"
2328
  msgstr ""
2329
 
2330
+ #: classes/Views/Settings.php:1538
2331
  msgid ""
2332
  "The plugin will scan everything that is in the WordPress root directory or "
2333
  "below, even if the files and directories are not part of WordPress. It is "
2336
  "excluded by default."
2337
  msgstr ""
2338
 
2339
+ #: classes/Views/Settings.php:1543
2340
  msgid "Exclude All Files in These Directories"
2341
  msgstr ""
2342
 
2343
+ #: classes/Views/Settings.php:1556 classes/Views/Settings.php:1592
2344
+ #: classes/Views/Settings.php:1622
2345
  msgid "REMOVE"
2346
  msgstr ""
2347
 
2348
+ #: classes/Views/Settings.php:1561 classes/Views/Settings.php:1597
2349
+ #: classes/Views/Settings.php:1627
 
 
2350
  msgid "ADD"
2351
  msgstr ""
2352
 
2353
+ #: classes/Views/Settings.php:1564
2354
  msgid ""
2355
  "Specify the name of the directory and the path to it in relation to the "
2356
  "website's root. For example, if you want to want to exclude all files in the "
2357
  "sub directory dir1/dir2 specify the following:"
2358
  msgstr ""
2359
 
2360
+ #: classes/Views/Settings.php:1575
2361
  msgid "Exclude These Files"
2362
  msgstr ""
2363
 
2364
+ #: classes/Views/Settings.php:1600
2365
  msgid ""
2366
  "Specify the name and extension of the file(s) you want to exclude. Wildcard "
2367
  "not supported. There is no need to specify the path of the file."
2368
  msgstr ""
2369
 
2370
+ #: classes/Views/Settings.php:1609
2371
  msgid "Exclude these File Types"
2372
  msgstr ""
2373
 
2374
+ #: classes/Views/Settings.php:1630
2375
  msgid ""
2376
  "Specify the extension of the file types you want to exclude. You should "
2377
  "exclude any type of logs and backup files that tend to be very big."
2378
  msgstr ""
2379
 
2380
+ #: classes/Views/Settings.php:1639
2381
  msgid "Launch an instant file integrity scan"
2382
  msgstr ""
2383
 
2384
+ #: classes/Views/Settings.php:1641
2385
  msgid ""
2386
  "Click the Scan Now button to launch an instant file integrity scan using the "
2387
  "configured settings. You can navigate away from this page during the scan. "
2389
  "scans."
2390
  msgstr ""
2391
 
2392
+ #: classes/Views/Settings.php:1647
2393
  msgid "Launch Instant Scan"
2394
  msgstr ""
2395
 
2396
+ #: classes/Views/Settings.php:1653 classes/Views/Settings.php:1660
2397
+ #: classes/Views/Settings.php:2281
2398
  msgid "Scan Now"
2399
  msgstr ""
2400
 
2401
+ #: classes/Views/Settings.php:1654 classes/Views/Settings.php:1657
2402
+ #: classes/Views/Settings.php:1661
2403
  msgid "Stop Scan"
2404
  msgstr ""
2405
 
2406
+ #: classes/Views/Settings.php:1656 classes/Views/Settings.php:2283
2407
  msgid "Scan in Progress"
2408
  msgstr ""
2409
 
2410
+ #: classes/Views/Settings.php:1740
2411
  msgid ""
2412
  "By default the plugin keeps a log of all user changes done on your WordPress "
2413
  "website. Use the setting below to exclude any objects from the activity log. "
2415
  "object is referred will not be logged in the activity log."
2416
  msgstr ""
2417
 
2418
+ #: classes/Views/Settings.php:1744
2419
  msgid "Exclude Users:"
2420
  msgstr ""
2421
 
2422
+ #: classes/Views/Settings.php:1765
2423
  msgid "Exclude Roles:"
2424
  msgstr ""
2425
 
2426
+ #: classes/Views/Settings.php:1786
2427
  msgid "Exclude IP Address(es):"
2428
  msgstr ""
2429
 
2430
+ #: classes/Views/Settings.php:1802
2431
  msgid ""
2432
  "You can exclude an individual IP address or a range of IP addresses. To "
2433
  "exclude a range use the following format: [first IP]-[last octet of the last "
2434
  "IP]. Example: 172.16.180.6-127."
2435
  msgstr ""
2436
 
2437
+ #: classes/Views/Settings.php:1808
2438
  msgid "Exclude Post Type:"
2439
  msgstr ""
2440
 
2441
+ #: classes/Views/Settings.php:1824
2442
  msgid ""
2443
  "WordPress has the post and page post types by default though your website "
2444
  "might use more post types (custom post types). You can exclude all post "
2445
  "types, including the default WordPress ones."
2446
  msgstr ""
2447
 
2448
+ #: classes/Views/Settings.php:1830
2449
  msgid "Exclude Custom Fields:"
2450
  msgstr ""
2451
 
2452
+ #: classes/Views/Settings.php:1846
2453
  msgid ""
2454
  "You can use the * wildcard to exclude multiple matching custom fields. For "
2455
  "example to exclude all custom fields starting with wp123 enter wp123*"
2456
  msgstr ""
2457
 
2458
+ #: classes/Views/Settings.php:1852
2459
  msgid "Exclude Non-Existing URLs:"
2460
  msgstr ""
2461
 
2462
+ #: classes/Views/Settings.php:1868
2463
  msgid ""
2464
  "Add the non existing URLs for which you do not want to be alerted of HTTP "
2465
  "404 errors in the activity log by specifying the complete URL.\tExamples "
2466
  "below:"
2467
  msgstr ""
2468
 
2469
+ #: classes/Views/Settings.php:1868
2470
  msgid "File: "
2471
  msgstr ""
2472
 
2473
+ #: classes/Views/Settings.php:1868
2474
  msgid "Directory: "
2475
  msgstr ""
2476
 
2477
+ #: classes/Views/Settings.php:1901
2478
  msgid ""
2479
  "You can export and import the plugin settings from here, which can also be "
2480
  "used as a plugin configuration backup. The plugin settings are exported to a "
2481
  "JSON file."
2482
  msgstr ""
2483
 
2484
+ #: classes/Views/Settings.php:1902 classes/Views/Settings.php:1906
2485
+ #: classes/Views/Settings.php:1929
2486
  msgid "Export Settings"
2487
  msgstr ""
2488
 
2489
+ #: classes/Views/Settings.php:1936 classes/Views/Settings.php:1940
2490
+ #: classes/Views/Settings.php:1944
2491
  msgid "Import Settings"
2492
  msgstr ""
2493
 
2494
+ #: classes/Views/Settings.php:1996
2495
+ msgid "Current user is not allowed to import files."
2496
+ msgstr ""
2497
+
2498
+ #: classes/Views/Settings.php:2015
2499
  msgid "The plugin settings have been imported successfully."
2500
  msgstr ""
2501
 
2502
+ #: classes/Views/Settings.php:2017
2503
  msgid "No settings found to import."
2504
  msgstr ""
2505
 
2506
+ #: classes/Views/Settings.php:2020
2507
  msgid "Invalid file or file size is too large."
2508
  msgstr ""
2509
 
2510
+ #: classes/Views/Settings.php:2023
2511
  msgid "Error occurred while uploading the file."
2512
  msgstr ""
2513
 
2514
+ #: classes/Views/Settings.php:2034
2515
  msgid "These settings are for advanced users."
2516
  msgstr ""
2517
 
2518
+ #: classes/Views/Settings.php:2035
2519
  msgid ""
2520
  "If you have any questions <a href=\"https://www.wpsecurityauditlog.com/"
2521
  "contact/?"
2523
  "+pages\" target=\"_blank\">contact us</a>."
2524
  msgstr ""
2525
 
2526
+ #: classes/Views/Settings.php:2038
2527
  msgid ""
2528
  "Troubleshooting setting: Keep a debug log of all the requests this website "
2529
  "receives"
2530
  msgstr ""
2531
 
2532
+ #: classes/Views/Settings.php:2039
2533
  msgid ""
2534
  "Only enable the request log on testing, staging and development website. "
2535
  "Never enable logging on a live website unless instructed to do so. Enabling "
2536
  "request logging on a live website may degrade the performance of the website."
2537
  msgstr ""
2538
 
2539
+ #: classes/Views/Settings.php:2043
2540
  msgid "Request Log"
2541
  msgstr ""
2542
 
2543
+ #: classes/Views/Settings.php:2061
2544
  msgid ""
2545
  "<strong>Note:</strong> The requests debug log file is saved as request.log."
2546
  "php in the /wp-content/uploads/wp-security-audit-log/ directory."
2547
  msgstr ""
2548
 
2549
+ #: classes/Views/Settings.php:2073
2550
  msgid "Reset plugin settings to default"
2551
  msgstr ""
2552
 
2553
+ #: classes/Views/Settings.php:2074
2554
  msgid ""
2555
  "Click the RESET button to reset ALL plugin settings to default. Note that "
2556
  "the activity log data will be retained and only the plugin settings will be "
2557
  "reset. To purge the data of the activity log use the setting below."
2558
  msgstr ""
2559
 
2560
+ #: classes/Views/Settings.php:2078
2561
  msgid "Reset Settings"
2562
  msgstr ""
2563
 
2564
+ #: classes/Views/Settings.php:2080
2565
  msgid "RESET"
2566
  msgstr ""
2567
 
2568
+ #: classes/Views/Settings.php:2086
2569
  msgid "Purge the WordPress activity log"
2570
  msgstr ""
2571
 
2572
+ #: classes/Views/Settings.php:2087
2573
  msgid ""
2574
  "Click the Purge button below to delete all the data from the WordPress "
2575
  "activity log and start afresh."
2576
  msgstr ""
2577
 
2578
+ #: classes/Views/Settings.php:2091
2579
  msgid "Purge Activity Log"
2580
  msgstr ""
2581
 
2582
+ #: classes/Views/Settings.php:2093
2583
  msgid "PURGE"
2584
  msgstr ""
2585
 
2586
+ #: classes/Views/Settings.php:2099
2587
  msgid "MainWP Child Site Stealth Mode"
2588
  msgstr ""
2589
 
2590
+ #: classes/Views/Settings.php:2100
2591
  msgid ""
2592
  "This option is enabled automatically when the plugin detects the MainWP "
2593
  "Child plugin on the site. When this setting is enabled plugin access is "
2596
  "Disable this option to change the plugin to the default setup."
2597
  msgstr ""
2598
 
2599
+ #: classes/Views/Settings.php:2104
2600
  msgid "Enable MainWP Child Site Stealth Mode"
2601
  msgstr ""
2602
 
2603
+ #: classes/Views/Settings.php:2128
2604
  msgid "Do you want to delete the plugin data from the database upon uninstall?"
2605
  msgstr ""
2606
 
2607
+ #: classes/Views/Settings.php:2129
2608
  msgid ""
2609
  "The plugin saves the activity log data and settings in the WordPress "
2610
  "database. By default upon uninstalling the plugin the data is kept in the "
2613
  "access it again even when you reinstall the plugin."
2614
  msgstr ""
2615
 
2616
+ #: classes/Views/Settings.php:2133
2617
  msgid "Remove Data on Uninstall"
2618
  msgstr ""
2619
 
2620
+ #: classes/Views/Settings.php:2158
2621
  msgid "Are you sure you want to reset all the plugin settings to default?"
2622
  msgstr ""
2623
 
2624
+ #: classes/Views/Settings.php:2168
2625
  msgid "Are you sure you want to purge all the activity log data?"
2626
  msgstr ""
2627
 
2628
+ #: classes/Views/Settings.php:2198
2629
  msgid "MainWP Child plugin is not active on this website."
2630
  msgstr ""
2631
 
2632
+ #: classes/Views/Settings.php:2274
2633
  msgid "The specified value is not a valid URL!"
2634
  msgstr ""
2635
 
2636
+ #: classes/Views/Settings.php:2275
2637
  msgid "The specified value is not a valid post type!"
2638
  msgstr ""
2639
 
2640
+ #: classes/Views/Settings.php:2276
2641
  msgid "The specified value is not a valid IP address!"
2642
  msgstr ""
2643
 
2644
+ #: classes/Views/Settings.php:2277
2645
  msgid "The specified value is not a user nor a role!"
2646
  msgstr ""
2647
 
2648
+ #: classes/Views/Settings.php:2278
2649
  msgid "Filename cannot be added because it contains invalid characters."
2650
  msgstr ""
2651
 
2652
+ #: classes/Views/Settings.php:2279
2653
  msgid "File extension cannot be added because it contains invalid characters."
2654
  msgstr ""
2655
 
2656
+ #: classes/Views/Settings.php:2280
2657
  msgid "Directory cannot be added because it contains invalid characters."
2658
  msgstr ""
2659
 
2660
+ #: classes/Views/Settings.php:2282
2661
  msgid "Scan Failed"
2662
  msgstr ""
2663
 
2664
+ #: classes/Views/Settings.php:2413 classes/Views/Settings.php:2532
2665
  msgid "Invalid setting type."
2666
  msgstr ""
2667
 
2668
+ #: classes/Views/Settings.php:2468
2669
  msgid "You can exclude this directory using the check boxes above."
2670
  msgstr ""
2671
 
2672
+ #: classes/Views/Settings.php:2489
2673
  msgid "Option added to excluded types."
2674
  msgstr ""
2675
 
2676
+ #: classes/Views/Settings.php:2494
2677
  msgid "This file is already excluded from the scan."
2678
  msgstr ""
2679
 
2680
+ #: classes/Views/Settings.php:2496
2681
  msgid "This file extension is already excluded from the scan."
2682
  msgstr ""
2683
 
2684
+ #: classes/Views/Settings.php:2498
2685
  msgid "This directory is already excluded from the scan."
2686
  msgstr ""
2687
 
2688
+ #: classes/Views/Settings.php:2511
2689
  msgid "Option name is empty."
2690
  msgstr ""
2691
 
2692
+ #: classes/Views/Settings.php:2609
2693
  msgid "Option removed from excluded scan types."
2694
  msgstr ""
2695
 
2696
+ #: classes/Views/Settings.php:2616 classes/Views/Settings.php:2708
2697
  msgid "Something went wrong."
2698
  msgstr ""
2699
 
2700
+ #: classes/Views/Settings.php:2645
2701
  msgid "A cron job is in progress."
2702
  msgstr ""
2703
 
2704
+ #: classes/Views/Settings.php:2701 classes/Views/Settings.php:2744
2705
  msgid "Scan started successfully."
2706
  msgstr ""
2707
 
2708
+ #: classes/Views/Settings.php:2770 classes/Views/Settings.php:2797
2709
  msgid "Tables has been reset."
2710
  msgstr ""
2711
 
2712
+ #: classes/Views/Settings.php:2772 classes/Views/Settings.php:2799
2713
  msgid "Reset query failed."
2714
  msgstr ""
2715
 
2716
+ #: classes/Views/Settings.php:2775 classes/Views/Settings.php:2802
2717
  msgid "Nonce Verification Failed."
2718
  msgstr ""
2719
 
2720
+ #: classes/Views/SetupWizard.php:164
2721
  msgid "Welcome"
2722
  msgstr ""
2723
 
2724
+ #: classes/Views/SetupWizard.php:168
2725
  msgid "Log Details"
2726
  msgstr ""
2727
 
2728
+ #: classes/Views/SetupWizard.php:173
2729
  msgid "Log In"
2730
  msgstr ""
2731
 
2732
+ #: classes/Views/SetupWizard.php:178
2733
  msgid "404s"
2734
  msgstr ""
2735
 
2736
+ #: classes/Views/SetupWizard.php:183
2737
  msgid "User Registrations"
2738
  msgstr ""
2739
 
2740
+ #: classes/Views/SetupWizard.php:188
2741
  msgid "Log Retention"
2742
  msgstr ""
2743
 
2744
+ #: classes/Views/SetupWizard.php:193 classes/Views/SetupWizard.php:782
2745
+ #: classes/Views/SetupWizard.php:783
 
 
 
 
2746
  msgid "Finish"
2747
  msgstr ""
2748
 
2749
+ #: classes/Views/SetupWizard.php:250
2750
  msgid "Specified value in not a user."
2751
  msgstr ""
2752
 
2753
+ #: classes/Views/SetupWizard.php:251
2754
  msgid "Specified value in not a role."
2755
  msgstr ""
2756
 
2757
+ #: classes/Views/SetupWizard.php:252
2758
  msgid "Specified value in not an IP address."
2759
  msgstr ""
2760
 
2761
+ #: classes/Views/SetupWizard.php:258 wp-security-audit-log.php:1185
2762
+ msgid "Installing, please wait"
2763
+ msgstr ""
2764
+
2765
+ #: classes/Views/SetupWizard.php:259 wp-security-audit-log.php:1186
2766
+ msgid "Already installed"
2767
+ msgstr ""
2768
+
2769
+ #: classes/Views/SetupWizard.php:261 wp-security-audit-log.php:1188
2770
+ msgid "Add-on activated"
2771
+ msgstr ""
2772
+
2773
+ #: classes/Views/SetupWizard.php:262 wp-security-audit-log.php:1189
2774
+ msgid "Install failed"
2775
+ msgstr ""
2776
+
2777
+ #: classes/Views/SetupWizard.php:292
2778
  msgid "WP Security Audit Log &rsaquo; Setup Wizard"
2779
  msgstr ""
2780
 
2781
+ #: classes/Views/SetupWizard.php:311
2782
  msgid "Close Wizard"
2783
  msgstr ""
2784
 
2785
+ #. translators: 1 - an opening link tag, 2 - a closing link tag.
2786
+ #: classes/Views/SetupWizard.php:404
2787
+ #, php-format
2788
+ msgid ""
2789
+ "You have reached an invaild step - %1$sreturn to the start of the wizard%2$s."
2790
+ msgstr ""
2791
+
2792
+ #: classes/Views/SetupWizard.php:421
2793
  msgid ""
2794
  "This wizard helps you configure the basic plugin settings. All these "
2795
  "settings can be changed at a later stage from the plugin settings."
2796
  msgstr ""
2797
 
2798
+ #: classes/Views/SetupWizard.php:426
2799
  msgid "Start Configuring the Plugin"
2800
  msgstr ""
2801
 
2802
+ #: classes/Views/SetupWizard.php:430
2803
  msgid "Exit Wizard"
2804
  msgstr ""
2805
 
2806
+ #: classes/Views/SetupWizard.php:443
2807
  msgid "Please select the level of detail for your WordPress activity logs:"
2808
  msgstr ""
2809
 
2810
+ #: classes/Views/SetupWizard.php:447
2811
  msgid ""
2812
  "Basic (I want a high level overview and I am not interested in the detail)"
2813
  msgstr ""
2814
 
2815
+ #: classes/Views/SetupWizard.php:452
2816
  msgid "Geek (I want to know everything that is happening on my WordPress)"
2817
  msgstr ""
2818
 
2819
+ #: classes/Views/SetupWizard.php:454
2820
  msgid ""
2821
  "Note: You can change the WordPress logging level from the plugin’s settings "
2822
  "anytime."
2823
  msgstr ""
2824
 
2825
+ #: classes/Views/SetupWizard.php:457 classes/Views/SetupWizard.php:514
2826
+ #: classes/Views/SetupWizard.php:562 classes/Views/SetupWizard.php:611
2827
+ #: classes/Views/SetupWizard.php:671 classes/Views/SetupWizard.php:672
2828
+ #: classes/Views/SetupWizard.php:874 classes/Views/SetupWizard.php:875
 
2829
  msgid "Next"
2830
  msgstr ""
2831
 
2832
+ #: classes/Views/SetupWizard.php:498
2833
  msgid ""
2834
  "Do you or your users use other pages to log in to WordPress other than the "
2835
  "default login page ( /wp-admin/ )?"
2836
  msgstr ""
2837
 
2838
+ #: classes/Views/SetupWizard.php:502
2839
  msgid "Yes, we use other pages to login to WordPress."
2840
  msgstr ""
2841
 
2842
+ #: classes/Views/SetupWizard.php:507
2843
  msgid "No, we only use the default WordPress login page."
2844
  msgstr ""
2845
 
2846
+ #: classes/Views/SetupWizard.php:509
2847
  msgid ""
2848
  "If your website is a membership or ecommerce website most probably you have "
2849
  "more than one area from where the users can login. If you are not sure, "
2850
  "select Yes."
2851
  msgstr ""
2852
 
2853
+ #: classes/Views/SetupWizard.php:512 classes/Views/SetupWizard.php:560
2854
+ #: classes/Views/SetupWizard.php:609 classes/Views/SetupWizard.php:663
2855
  msgid ""
2856
  "Note: You can change the WordPress activity log retention settings at any "
2857
  "time from the plugin settings later on."
2858
  msgstr ""
2859
 
2860
+ #: classes/Views/SetupWizard.php:547
2861
  msgid ""
2862
  "Do you want to keep a log of (non-logged in) visitors’ requests to non-"
2863
  "existing URLs which generate a HTTP 404 error response?"
2864
  msgstr ""
2865
 
2866
+ #: classes/Views/SetupWizard.php:595
2867
  msgid "Can visitors register for a user on your website?"
2868
  msgstr ""
2869
 
2870
+ #: classes/Views/SetupWizard.php:606
2871
  msgid ""
2872
  "If you are not sure about this setting, check if the Membership setting in "
2873
  "the WordPress General settings is checked or not. If it is not checked "
2874
  "(default) select No."
2875
  msgstr ""
2876
 
2877
+ #: classes/Views/SetupWizard.php:645
2878
  msgid "How long do you want to keep the data in the WordPress activity Log?"
2879
  msgstr ""
2880
 
2881
+ #: classes/Views/SetupWizard.php:650
2882
  msgid "6 months (data older than 6 months will be deleted)"
2883
  msgstr ""
2884
 
2885
+ #: classes/Views/SetupWizard.php:655
2886
  msgid "12 months (data older than 12 months will be deleted)"
2887
  msgstr ""
2888
 
2889
+ #: classes/Views/SetupWizard.php:660
2890
  msgid "Keep all data."
2891
  msgstr ""
2892
 
2893
+ #: classes/Views/SetupWizard.php:681
2894
  msgid ""
2895
  "The plugin stores the data in the WordPress database in a very efficient "
2896
  "way, though the more data you keep the more hard disk space it will consume. "
2901
  "Database tools to store the WordPress activity log in an external database."
2902
  msgstr ""
2903
 
2904
+ #: classes/Views/SetupWizard.php:685
2905
  msgid ""
2906
  "The plugin stores the data in the WordPress database in a very efficient "
2907
  "way, though the more data you keep the more hard disk space it will consume. "
2909
  "WordPress activity log in an external database or enable archiving."
2910
  msgstr ""
2911
 
2912
+ #: classes/Views/SetupWizard.php:753
2913
  msgid ""
2914
+ "Your plugin is all set and it is ready to start keeping a record of "
2915
+ "everything that is happening on your WordPress in a WordPress activity log."
 
2916
  msgstr ""
2917
 
2918
+ #: classes/Views/SetupWizard.php:754
2919
+ msgid "Below are a few useful links you might need to refer to:"
2920
  msgstr ""
2921
 
2922
+ #: classes/Views/SetupWizard.php:759
2923
+ msgid "Getting started with the WP Security Audit Log plugin"
2924
  msgstr ""
2925
 
2926
+ #: classes/Views/SetupWizard.php:764
2927
+ msgid "Knowledge Base & Support Documents"
 
 
2928
  msgstr ""
2929
 
2930
+ #: classes/Views/SetupWizard.php:769
2931
+ msgid "Benefits of keeping a WordPress activity log"
 
 
2932
  msgstr ""
2933
 
2934
+ #: classes/Views/SetupWizard.php:774
2935
  msgid ""
2936
+ "We trust this plugin meets all your activity log requirements. Should you "
2937
+ "encounter any problems, have feature requests or would like to share some "
2938
+ "feedback, <a href=\"https://www.wpsecurityauditlog.com/contact/?"
2939
+ "utm_source=plugin&utm_medium=referral&utm_campaign=WSAL&utm_content=wizard"
2940
+ "+configuration\" target=\"_blank\">please get in touch!</a>"
2941
  msgstr ""
2942
 
2943
+ #: classes/Views/SetupWizard.php:810
2944
+ msgid "Third Party Add-ons"
2945
  msgstr ""
2946
 
2947
+ #: classes/Views/SetupWizard.php:836
2948
+ msgid "Monitoring changes done in third party plugins"
2949
  msgstr ""
2950
 
2951
+ #: classes/Views/SetupWizard.php:837
2952
  msgid ""
2953
+ "We noticed that the below plugins are installed on this website. You can "
2954
+ "install our add-ons to also keep a log of changes users do on these plugins."
2955
  msgstr ""
2956
 
2957
+ #: classes/Views/ToggleAlerts.php:27 classes/Views/ToggleAlerts.php:41
2958
+ msgid "Enable/Disable Events"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2959
  msgstr ""
2960
 
2961
  #: classes/Views/ToggleAlerts.php:197
2988
  msgid "Front-end Events"
2989
  msgstr ""
2990
 
2991
+ #: classes/Views/ToggleAlerts.php:229
2992
+ msgid "Third party plugins"
2993
+ msgstr ""
2994
+
2995
+ #: classes/Views/ToggleAlerts.php:325
2996
  msgid "Code"
2997
  msgstr ""
2998
 
2999
+ #: classes/Views/ToggleAlerts.php:327 classes/WidgetManager.php:77
3000
  msgid "Description"
3001
  msgstr ""
3002
 
3003
+ #: classes/Views/ToggleAlerts.php:330 classes/Views/ToggleAlerts.php:438
3004
+ #: classes/Views/ToggleAlerts.php:543 defaults.php:371
3005
  msgid "File Changes"
3006
  msgstr ""
3007
 
3008
+ #: classes/Views/ToggleAlerts.php:331 defaults.php:104
3009
  msgid "Content"
3010
  msgstr ""
3011
 
3012
+ #: classes/Views/ToggleAlerts.php:334
3013
  msgid ""
3014
  "<strong>Note:</strong> Post refers to any type of content, i.e. blog post, "
3015
  "page or a post with a custom post type."
3016
  msgstr ""
3017
 
3018
+ #: classes/Views/ToggleAlerts.php:337 defaults.php:417
 
 
 
 
 
 
 
 
 
 
3019
  msgid "WooCommerce"
3020
  msgstr ""
3021
 
3022
+ #: classes/Views/ToggleAlerts.php:337 classes/Views/ToggleAlerts.php:345
3023
  msgid "WooCommerce Products"
3024
  msgstr ""
3025
 
3026
+ #: classes/Views/ToggleAlerts.php:341
3027
  msgid ""
3028
  "The plugin WooCommerce is not installed on your website so these events have "
3029
  "been disabled."
3030
  msgstr ""
3031
 
3032
+ #: classes/Views/ToggleAlerts.php:348 defaults.php:418
3033
  msgid "Products"
3034
  msgstr ""
3035
 
3036
+ #: classes/Views/ToggleAlerts.php:356
3037
  msgid ""
3038
  "The plugin Yoast SEO is not installed on your website so these events have "
3039
  "been disabled."
3040
  msgstr ""
3041
 
3042
+ #: classes/Views/ToggleAlerts.php:362 defaults.php:543
3043
  msgid "Post Changes"
3044
  msgstr ""
3045
 
3046
+ #: classes/Views/ToggleAlerts.php:365 defaults.php:407
3047
  msgid "MultiSite"
3048
  msgstr ""
3049
 
3050
+ #: classes/Views/ToggleAlerts.php:369
3051
  msgid ""
3052
  "Your website is a single site so the multisite events have been disabled."
3053
  msgstr ""
3054
 
3055
+ #: classes/Views/ToggleAlerts.php:373
3056
  msgid "Other User Activity"
3057
  msgstr ""
3058
 
3059
+ #: classes/Views/ToggleAlerts.php:376
3060
  msgid "Logins & Logouts"
3061
  msgstr ""
3062
 
3063
+ #: classes/Views/ToggleAlerts.php:395
3064
  msgid "Not Implemented"
3065
  msgstr ""
3066
 
3067
+ #: classes/Views/ToggleAlerts.php:398
3068
  msgid "Not Available"
3069
  msgstr ""
3070
 
3071
+ #: classes/Views/ToggleAlerts.php:408
3072
  msgid "User Sessions"
3073
  msgstr ""
3074
 
3075
+ #: classes/Views/ToggleAlerts.php:410
3076
  msgid "Files"
3077
  msgstr ""
3078
 
3079
+ #: classes/Views/ToggleAlerts.php:412
3080
  msgid "Post Settings"
3081
  msgstr ""
3082
 
3083
+ #: classes/Views/ToggleAlerts.php:414
3084
  msgid "Product Admin"
3085
  msgstr ""
3086
 
3087
+ #: classes/Views/ToggleAlerts.php:416
3088
  msgid "Product Attributes"
3089
  msgstr ""
3090
 
3091
+ #: classes/Views/ToggleAlerts.php:480 classes/Views/ToggleAlerts.php:622
3092
  msgid ""
3093
  "Capture 404 requests to file (the log file are created in the /wp-content/"
3094
  "uploads/wp-security-audit-log/404s/ directory)"
3095
  msgstr ""
3096
 
3097
+ #: classes/Views/ToggleAlerts.php:488 classes/Views/ToggleAlerts.php:626
3098
  msgid "Purge log files older than one month"
3099
  msgstr ""
3100
 
3101
+ #: classes/Views/ToggleAlerts.php:493
3102
  msgid ""
3103
  "Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
3104
  "to non-existing pages from the same IP address. Increase the value in this "
3105
  "setting to the desired amount to keep a log of more or less requests."
3106
  msgstr ""
3107
 
3108
+ #: classes/Views/ToggleAlerts.php:498 classes/Views/ToggleAlerts.php:634
3109
  msgid "Record the referrer that generated the 404 error."
3110
  msgstr ""
3111
 
3112
+ #: classes/Views/ToggleAlerts.php:510 classes/Views/ToggleAlerts.php:523
3113
  msgid ""
3114
  "Number of login attempts to log. Enter 0 to log all failed login attempts. "
3115
  "(By default the plugin only logs up to 10 failed login because the process "
3116
  "can be very resource intensive in case of a brute force attack)"
3117
  msgstr ""
3118
 
3119
+ #: classes/Views/ToggleAlerts.php:536
3120
  msgid ""
3121
  "Log all stock changes. Disable this setting to only keep a log of stock "
3122
  "changes done manually via the WooCommerce dashboard. Therefore automated "
3124
  "plugins will not be logged."
3125
  msgstr ""
3126
 
3127
+ #: classes/Views/ToggleAlerts.php:558
3128
  msgid "Configure the file integrity scan settings."
3129
  msgstr ""
3130
 
3131
+ #: classes/Views/ToggleAlerts.php:579
3132
  msgid ""
3133
  "This plugin keeps a log of what your website users are doing when they are "
3134
  "logged in. On top of that it can also keep a log of some important events of "
3136
  "any of the front-end sensors:"
3137
  msgstr ""
3138
 
3139
+ #: classes/Views/ToggleAlerts.php:584
3140
  msgid "Front-end users registrations"
3141
  msgstr ""
3142
 
3143
+ #: classes/Views/ToggleAlerts.php:590
3144
  msgid ""
3145
  "Keep a log when a visitor registers a user on the website. Only enable this "
3146
  "if you allow visitors to register as users on your website. User "
3147
  "registration is disabled by default in WordPress."
3148
  msgstr ""
3149
 
3150
+ #: classes/Views/ToggleAlerts.php:595
3151
  msgid "Front-end users logins"
3152
  msgstr ""
3153
 
3154
+ #: classes/Views/ToggleAlerts.php:601
3155
  msgid ""
3156
  "Keep a log when users login to the website from other login pages / forms "
3157
  "other than the default WordPress login page."
3158
  msgstr ""
3159
 
3160
+ #: classes/Views/ToggleAlerts.php:606
3161
  msgid "Website visitors 404 errors"
3162
  msgstr ""
3163
 
3164
+ #: classes/Views/ToggleAlerts.php:612
3165
  msgid ""
3166
  "Event ID 6023: Keep a log when a website visitor requests a non-existing URL "
3167
  "(HTTP 404 response error)."
3168
  msgstr ""
3169
 
3170
+ #: classes/Views/ToggleAlerts.php:630
3171
  msgid ""
3172
  "Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
3173
  "to non-existing pages from the same IP address. Increase the value in this "
3176
  "scanned the plugin will consume more resources to log all the requests."
3177
  msgstr ""
3178
 
3179
+ #: classes/Views/ToggleAlerts.php:638
3180
  msgid "Front-end WooCommerce activity"
3181
  msgstr ""
3182
 
3183
+ #: classes/Views/ToggleAlerts.php:644
3184
  msgid ""
3185
  "Keep a log of product stocks and orders changes done by website visitors "
3186
  "(non-logged in). Regardless of the state of this setting, the plugin always "
3187
  "keeps a log of changes done by logged in users."
3188
  msgstr ""
3189
 
3190
+ #: classes/Views/ToggleAlerts.php:654
3191
  msgid "Save Changes"
3192
  msgstr ""
3193
 
3194
+ #: classes/Views/ToggleAlerts.php:661
3195
  msgid "Log Level Updated"
3196
  msgstr ""
3197
 
3198
  #. translators: Alerts log level.
3199
+ #: classes/Views/ToggleAlerts.php:665
3200
  #, php-format
3201
  msgid "The %s log level has been successfully loaded and applied."
3202
  msgstr ""
3203
 
3204
+ #: classes/Views/ToggleAlerts.php:669
3205
  msgid "OK"
3206
  msgstr ""
3207
 
3208
+ #: classes/Views/ToggleAlerts.php:684
3209
  msgid "Enable File Integrity Scanner"
3210
  msgstr ""
3211
 
3212
+ #: classes/Views/ToggleAlerts.php:686
3213
  msgid ""
3214
  "The file integrity scanner is switched off. To enable this event it has to "
3215
  "be switched on."
3216
  msgstr ""
3217
 
3218
+ #: classes/Views/ToggleAlerts.php:690
3219
  msgid "SWITCH ON"
3220
  msgstr ""
3221
 
3222
+ #: classes/Views/ToggleAlerts.php:691
3223
  msgid "DISABLE EVENT"
3224
  msgstr ""
3225
 
3235
  msgid "Latest Events"
3236
  msgstr ""
3237
 
3238
+ #: classes/WidgetManager.php:71
3239
  msgid "No events found."
3240
  msgstr ""
3241
 
3242
+ #: defaults.php:78
3243
+ msgid "Critical severity events."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3244
  msgstr ""
3245
 
3246
+ #: defaults.php:79
3247
+ msgid "High severity events."
3248
  msgstr ""
3249
 
3250
+ #: defaults.php:80
3251
+ msgid "Medium severity events."
3252
  msgstr ""
3253
 
3254
+ #: defaults.php:81
3255
+ msgid "Low severity events."
3256
  msgstr ""
3257
 
3258
+ #: defaults.php:82
3259
+ msgid "Informational events."
3260
  msgstr ""
3261
 
3262
+ #: defaults.php:87
3263
  msgid "Users Logins & Sessions Events"
3264
  msgstr ""
3265
 
3266
+ #: defaults.php:88
3267
  msgid "User Activity"
3268
  msgstr ""
3269
 
3270
+ #: defaults.php:89
3271
  msgid "User logged in"
3272
  msgstr ""
3273
 
3274
+ #: defaults.php:90
3275
  msgid "User logged out"
3276
  msgstr ""
3277
 
3278
+ #: defaults.php:91
3279
  msgid "Login failed"
3280
  msgstr ""
3281
 
3282
+ #: defaults.php:92
3283
  msgid "Login failed / non existing user"
3284
  msgstr ""
3285
 
3286
+ #: defaults.php:92
3287
  msgid "%Attempts% failed login(s) %LineBreak% %LogFileText%"
3288
  msgstr ""
3289
 
3290
+ #: defaults.php:93
3291
  msgid "Login blocked"
3292
  msgstr ""
3293
 
3294
+ #: defaults.php:93
3295
  msgid ""
3296
  "Login blocked because other session(s) already exist for this user. "
3297
  "%LineBreak% IP address: %ClientIP%"
3298
  msgstr ""
3299
 
3300
+ #: defaults.php:94
3301
  msgid "User logged in with existing session(s)"
3302
  msgstr ""
3303
 
3304
+ #: defaults.php:94
3305
  msgid ""
3306
  "User logged in however there are other session(s) already exist for this "
3307
  "user. %LineBreak% IP address: %IPAddress%"
3308
  msgstr ""
3309
 
3310
+ #: defaults.php:95
3311
  msgid "User logged out all other sessions with the same username"
3312
  msgstr ""
3313
 
3314
+ #: defaults.php:95
3315
  msgid "Logged out all other sessions with the same user."
3316
  msgstr ""
3317
 
3318
+ #: defaults.php:96
3319
  msgid "User session destroyed and logged out"
3320
  msgstr ""
3321
 
3322
+ #: defaults.php:96
3323
  msgid ""
3324
  "Terminated the session of another user. %LineBreak% User: %TargetUserName% "
3325
  "%LineBreak% Session ID: %TargetSessionID%"
3326
  msgstr ""
3327
 
3328
+ #: defaults.php:97
3329
  msgid "Switched to another user"
3330
  msgstr ""
3331
 
3332
+ #: defaults.php:97
3333
  msgid ""
3334
  "Switched to another user. %LineBreak% User: %TargetUserName% %LineBreak% "
3335
  "Role: %TargetUserRole%"
3336
  msgstr ""
3337
 
3338
+ #: defaults.php:98
3339
  msgid "User uploaded file from Uploads directory"
3340
  msgstr ""
3341
 
3342
+ #: defaults.php:98 defaults.php:99
3343
  msgid "Filename: %FileName% %LineBreak% Directory: %FilePath%"
3344
  msgstr ""
3345
 
3346
+ #: defaults.php:99
3347
  msgid "User deleted file from Uploads directory"
3348
  msgstr ""
3349
 
3350
+ #: defaults.php:103
3351
  msgid "Content & Comments"
3352
  msgstr ""
3353
 
3354
+ #: defaults.php:105
3355
  msgid "User created a new post and saved it as draft"
3356
  msgstr ""
3357
 
3358
+ #: defaults.php:105
3359
  msgid ""
3360
  "Created the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: "
3361
  "%PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak"
3362
  "% %EditorLinkPost%"
3363
  msgstr ""
3364
 
3365
+ #: defaults.php:106
3366
  msgid "User published a post"
3367
  msgstr ""
3368
 
3369
+ #: defaults.php:106
3370
  msgid ""
3371
  "Published the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: "
3372
  "%PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% %LineBreak"
3373
  "% %EditorLinkPost%"
3374
  msgstr ""
3375
 
3376
+ #: defaults.php:107
3377
  msgid "User modified a post"
3378
  msgstr ""
3379
 
3380
+ #: defaults.php:107
3381
  msgid ""
3382
  "Modified the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: "
3383
  "%PostType% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3384
  msgstr ""
3385
 
3386
+ #: defaults.php:108
3387
  msgid "User permanently deleted a post from the trash"
3388
  msgstr ""
3389
 
3390
+ #: defaults.php:108
3391
  msgid ""
3392
  "Permanently deleted the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak"
3393
  "% Type: %PostType%"
3394
  msgstr ""
3395
 
3396
+ #: defaults.php:109
3397
  msgid "User moved a post to the trash"
3398
  msgstr ""
3399
 
3400
+ #: defaults.php:109
3401
  msgid ""
3402
  "Moved the post %PostTitle% to trash %LineBreak% ID: %PostID% %LineBreak% "
3403
+ "Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished%"
 
3404
  msgstr ""
3405
 
3406
+ #: defaults.php:110
3407
  msgid "User restored a post from trash"
3408
  msgstr ""
3409
 
3410
+ #: defaults.php:110
3411
  msgid ""
3412
  "Restored the post %PostTitle% from trash %LineBreak% ID: %PostID% %LineBreak"
3413
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3414
  "%LineBreak% %EditorLinkPost%"
3415
  msgstr ""
3416
 
3417
+ #: defaults.php:111
3418
  msgid "User changed post URL"
3419
  msgstr ""
3420
 
3421
+ #: defaults.php:111
3422
  msgid ""
3423
  "Changed the URL of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% "
3424
  "Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous URL: "
3425
  "%OldUrl% %LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkPost%"
3426
  msgstr ""
3427
 
3428
+ #: defaults.php:112
3429
  msgid "User changed post author"
3430
  msgstr ""
3431
 
3432
+ #: defaults.php:112
3433
  msgid ""
3434
  "Changed the author of the post %PostTitle% %LineBreak% ID: %PostID% "
3435
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
3437
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%."
3438
  msgstr ""
3439
 
3440
+ #: defaults.php:113
3441
  msgid "User changed post status"
3442
  msgstr ""
3443
 
3444
+ #: defaults.php:113
3445
  msgid ""
3446
  "Changed the status of the post %PostTitle% %LineBreak% ID: %PostID% "
3447
  "%LineBreak% Type: %PostType% %LineBreak% Status was: %OldStatus% %LineBreak% "
3448
  "New status: %NewStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3449
  msgstr ""
3450
 
3451
+ #: defaults.php:114
3452
  msgid "User changed the visibility of a post"
3453
  msgstr ""
3454
 
3455
+ #: defaults.php:114
3456
  msgid ""
3457
  "Changed the visibility of the post %PostTitle% %LineBreak% ID: %PostID% "
3458
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
3460
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3461
  msgstr ""
3462
 
3463
+ #: defaults.php:115
3464
  msgid "User changed the date of a post"
3465
  msgstr ""
3466
 
3467
+ #: defaults.php:115
3468
  msgid ""
3469
  "Changed the date of the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak"
3470
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Previous "
3472
  "%LineBreak% %EditorLinkPost%"
3473
  msgstr ""
3474
 
3475
+ #: defaults.php:116
3476
  msgid "User changed the parent of a page"
3477
  msgstr ""
3478
 
3479
+ #: defaults.php:116
3480
  msgid ""
3481
  "Changed the parent of the post %PostTitle% %LineBreak% ID: %PostID% "
3482
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
3484
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3485
  msgstr ""
3486
 
3487
+ #: defaults.php:117
3488
  msgid "User changed the template of a page"
3489
  msgstr ""
3490
 
3491
+ #: defaults.php:117
3492
  msgid ""
3493
  "Changed the template of the post %PostTitle% %LineBreak% ID: %PostID% "
3494
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
3496
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3497
  msgstr ""
3498
 
3499
+ #: defaults.php:118
3500
  msgid "User set a post as sticky"
3501
  msgstr ""
3502
 
3503
+ #: defaults.php:118
3504
  msgid ""
3505
  "Set the post %PostTitle% as sticky %LineBreak% ID: %PostID% %LineBreak% "
3506
  "Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3507
  "%LineBreak% %EditorLinkPost%"
3508
  msgstr ""
3509
 
3510
+ #: defaults.php:119
3511
  msgid "User removed post from sticky"
3512
  msgstr ""
3513
 
3514
+ #: defaults.php:119
3515
  msgid ""
3516
  "Removed the post %PostTitle% from sticky %LineBreak% ID: %PostID% %LineBreak"
3517
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3518
  "%LineBreak% %EditorLinkPost%"
3519
  msgstr ""
3520
 
3521
+ #: defaults.php:120
3522
  msgid "User modified the content of a post"
3523
  msgstr ""
3524
 
3525
+ #: defaults.php:120
3526
  msgid ""
3527
  "Modified the content of the post %PostTitle% %LineBreak% ID: %PostID% "
3528
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
3529
  "%RevisionLink% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3530
  msgstr ""
3531
 
3532
+ #: defaults.php:121
3533
  msgid "User submitted a post for review"
3534
  msgstr ""
3535
 
3536
+ #: defaults.php:121
3537
  msgid ""
3538
  "Submitted the post %PostTitle% for review %LineBreak% ID: %PostID% %LineBreak"
3539
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3540
  "%LineBreak% %EditorLinkPost%"
3541
  msgstr ""
3542
 
3543
+ #: defaults.php:122
3544
  msgid "User scheduled a post"
3545
  msgstr ""
3546
 
3547
+ #: defaults.php:122
3548
  msgid ""
3549
  "Scheduled the post %PostTitle% to be published on %PublishingDate% %LineBreak"
3550
  "% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
3551
  "%LineBreak% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3552
  msgstr ""
3553
 
3554
+ #: defaults.php:123
3555
  msgid "User changed title of a post"
3556
  msgstr ""
3557
 
3558
+ #: defaults.php:123
3559
  msgid ""
3560
  "Changed the title of the post %OldTitle% %LineBreak% New title: %NewTitle% "
3561
  "%LineBreak% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: "
3562
  "%PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3563
  msgstr ""
3564
 
3565
+ #: defaults.php:124
3566
  msgid "User opened a post in the editor"
3567
  msgstr ""
3568
 
3569
+ #: defaults.php:124
3570
  msgid ""
3571
  "Opened the post %PostTitle% in the editor %LineBreak% ID: %PostID% %LineBreak"
3572
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3573
  "%LineBreak% %EditorLinkPost%"
3574
  msgstr ""
3575
 
3576
+ #: defaults.php:125
3577
  msgid "User viewed a post"
3578
  msgstr ""
3579
 
3580
+ #: defaults.php:125
3581
  msgid ""
3582
  "Viewed the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: "
3583
  "%PostType% %LineBreak% Status: %PostStatus% %LineBreak% URL: %PostUrl% "
3584
  "%LineBreak% %EditorLinkPost%"
3585
  msgstr ""
3586
 
3587
+ #: defaults.php:126
3588
  msgid "A plugin modified a post"
3589
  msgstr ""
3590
 
3591
+ #: defaults.php:126
3592
  msgid ""
3593
  "Plugin modified the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% "
3594
  "Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3595
  "%LineBreak% %EditorLinkPost%"
3596
  msgstr ""
3597
 
3598
+ #: defaults.php:127
3599
  msgid "User enabled/disabled comments in a post"
3600
  msgstr ""
3601
 
3602
+ #: defaults.php:127
3603
  msgid ""
3604
  "The comments in the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% "
3605
  "Type: %PostType% %LineBreak% Status: %PostStatus% %PostUrlIfPlublished% "
3606
  "%LineBreak% %EditorLinkPost%"
3607
  msgstr ""
3608
 
3609
+ #: defaults.php:128
3610
  msgid "User enabled/disabled trackbacks and pingbacks in a post"
3611
  msgstr ""
3612
 
3613
+ #: defaults.php:128
3614
  msgid ""
3615
  "Pingbacks and Trackbacks in the post %PostTitle% %LineBreak% ID: %PostID% "
3616
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
3617
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3618
  msgstr ""
3619
 
3620
+ #: defaults.php:131
3621
  msgid "Tags"
3622
  msgstr ""
3623
 
3624
+ #: defaults.php:132
3625
  msgid "User added post tag"
3626
  msgstr ""
3627
 
3628
+ #: defaults.php:132
3629
  msgid ""
3630
  "Added tag(s) to the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% "
3631
  "Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Added tag(s): "
3632
  "%tag% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3633
  msgstr ""
3634
 
3635
+ #: defaults.php:133
3636
  msgid "User removed post tag"
3637
  msgstr ""
3638
 
3639
+ #: defaults.php:133
3640
  msgid ""
3641
  "Removed tag(s) from the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak"
3642
  "% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% Removed "
3643
  "tag(s): %tag% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3644
  msgstr ""
3645
 
3646
+ #: defaults.php:134
3647
  msgid "User created new tag"
3648
  msgstr ""
3649
 
3650
+ #: defaults.php:134
3651
  msgid ""
3652
  "Created the tag %TagName% %LineBreak% Slug: %Slug% %LineBreak% %TagLink%"
3653
  msgstr ""
3654
 
3655
+ #: defaults.php:135
3656
  msgid "User deleted tag"
3657
  msgstr ""
3658
 
3659
+ #: defaults.php:135
3660
  msgid "Deleted the tag %TagName% %LineBreak% Slug: %Slug%"
3661
  msgstr ""
3662
 
3663
+ #: defaults.php:136
3664
  msgid "User renamed tag"
3665
  msgstr ""
3666
 
3667
+ #: defaults.php:136
3668
  msgid ""
3669
+ "Old name: %old_name% %LineBreak% New name: %new_name% %LineBreak% Slug: %Slug"
3670
+ "% %LineBreak% %TagLink%"
3671
  msgstr ""
3672
 
3673
+ #: defaults.php:137
3674
  msgid "User changed tag slug"
3675
  msgstr ""
3676
 
3677
+ #: defaults.php:137
3678
  msgid ""
3679
  "Changed the slug of the tag %tag% %LineBreak% Previous slug: %old_slug% "
3680
  "%LineBreak% New slug: %new_slug% %LineBreak% %TagLink%"
3681
  msgstr ""
3682
 
3683
+ #: defaults.php:138
3684
  msgid "User changed tag description"
3685
  msgstr ""
3686
 
3687
+ #: defaults.php:138
3688
  msgid ""
3689
  "Changed the description of the tag %tag% %LineBreak% Slug: %Slug% %LineBreak"
3690
  "% Previous description: %old_desc% %LineBreak% New description: %new_desc% "
3691
  "%LineBreak% %TagLink%"
3692
  msgstr ""
3693
 
3694
+ #: defaults.php:141
3695
  msgid "Categories"
3696
  msgstr ""
3697
 
3698
+ #: defaults.php:142
3699
  msgid "User changed post category"
3700
  msgstr ""
3701
 
3702
+ #: defaults.php:142
3703
  msgid ""
3704
  "Changed the category of the post %PostTitle% %LineBreak% ID: %PostID% "
3705
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
3707
  "%NewCategories% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3708
  msgstr ""
3709
 
3710
+ #: defaults.php:143
3711
  msgid "User created new category"
3712
  msgstr ""
3713
 
3714
+ #: defaults.php:143
3715
  msgid ""
3716
  "Created the category %CategoryName% %LineBreak% Slug: %Slug% %LineBreak% "
3717
  "%CategoryLink%"
3718
  msgstr ""
3719
 
3720
+ #: defaults.php:144
3721
  msgid "User deleted category"
3722
  msgstr ""
3723
 
3724
+ #: defaults.php:144
3725
  msgid "Deleted the category %CategoryName% %LineBreak% Slug: %Slug%"
3726
  msgstr ""
3727
 
3728
+ #: defaults.php:145
3729
  msgid "Changed the parent of a category"
3730
  msgstr ""
3731
 
3732
+ #: defaults.php:145
3733
  msgid ""
3734
  "Changed the parent of the category %CategoryName% %LineBreak% Slug: %Slug% "
3735
  "%LineBreak% Previous parent: %OldParent% %LineBreak% New parent: %NewParent% "
3736
  "%LineBreak% %CategoryLink%"
3737
  msgstr ""
3738
 
3739
+ #: defaults.php:146
3740
  msgid "User changed category name"
3741
  msgstr ""
3742
 
3743
+ #: defaults.php:146
3744
  msgid ""
3745
+ "Previous name: %old_name% %LineBreak% New name: %new_name% %LineBreak% Slug: "
3746
+ "%slug% %LineBreak% %cat_link%"
3747
  msgstr ""
3748
 
3749
+ #: defaults.php:147
3750
  msgid "User changed category slug"
3751
  msgstr ""
3752
 
3753
+ #: defaults.php:147
3754
  msgid ""
3755
  "Changed the slug of the category: %CategoryName% %LineBreak% Previous slug: "
3756
  "%old_slug% %LineBreak% New slug: %new_slug% %LineBreak% %cat_link%"
3757
  msgstr ""
3758
 
3759
+ #: defaults.php:150
3760
  msgid "Custom Fields"
3761
  msgstr ""
3762
 
3763
+ #: defaults.php:151
3764
  msgid "User created a custom field for a post"
3765
  msgstr ""
3766
 
3767
+ #: defaults.php:151
3768
  msgid ""
3769
  "Created a new custom field called %MetaKey% in the post %PostTitle% "
3770
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
3772
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%"
3773
  msgstr ""
3774
 
3775
+ #: defaults.php:152
3776
  msgid "User updated a custom field value for a post"
3777
  msgstr ""
3778
 
3779
+ #: defaults.php:152
3780
  msgid ""
3781
  "Modified the value of the custom field %MetaKey% in the post %PostTitle% "
3782
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
3785
  "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost% %LineBreak% %MetaLink%."
3786
  msgstr ""
3787
 
3788
+ #: defaults.php:153
3789
  msgid "User deleted a custom field from a post"
3790
  msgstr ""
3791
 
3792
+ #: defaults.php:153
3793
  msgid ""
3794
  "Deleted the custom field %MetaKey% from the post %PostTitle% %LineBreak% "
3795
  "Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: "
3796
  "%PostStatus% %PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3797
  msgstr ""
3798
 
3799
+ #: defaults.php:154
3800
  msgid "User updated a custom field name for a post"
3801
  msgstr ""
3802
 
3803
+ #: defaults.php:154
3804
  msgid ""
3805
+ "Old custom field name: %MetaKeyOld% %LineBreak% New custom field name: "
3806
+ "%MetaKeyNew% %LineBreak% Post: %PostTitle% %LineBreak% Post ID: %PostID% "
3807
+ "%LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% "
3808
+ "%PostUrlIfPlublished% %LineBreak% %EditorLinkPost%"
3809
  msgstr ""
3810
 
3811
+ #: defaults.php:160
3812
  msgid "Comments"
3813
  msgstr ""
3814
 
3815
+ #: defaults.php:161
3816
  msgid "User approved a comment"
3817
  msgstr ""
3818
 
3819
+ #: defaults.php:161
3820
  msgid ""
3821
  "Approved the comment posted by %Author% on the post %PostTitle% %LineBreak% "
3822
  "Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: "
3824
  "%LineBreak% %CommentLink%"
3825
  msgstr ""
3826
 
3827
+ #: defaults.php:162
3828
  msgid "User unapproved a comment"
3829
  msgstr ""
3830
 
3831
+ #: defaults.php:162
3832
  msgid ""
3833
  "Unapproved the comment posted by %Author% on the post %PostTitle% %LineBreak"
3834
  "% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post "
3836
  "% %LineBreak% %CommentLink%"
3837
  msgstr ""
3838
 
3839
+ #: defaults.php:163
3840
  msgid "User replied to a comment"
3841
  msgstr ""
3842
 
3843
+ #: defaults.php:163
3844
  msgid ""
3845
  "Replied to the comment posted by %Author% on the post %PostTitle% %LineBreak"
3846
  "% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post "
3848
  "% %LineBreak% %CommentLink%"
3849
  msgstr ""
3850
 
3851
+ #: defaults.php:164
3852
  msgid "User edited a comment"
3853
  msgstr ""
3854
 
3855
+ #: defaults.php:164
3856
  msgid ""
3857
  "Edited the comment posted by %Author% on the post %PostTitle% %LineBreak% "
3858
  "Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% Post Status: "
3860
  "%LineBreak% %CommentLink%"
3861
  msgstr ""
3862
 
3863
+ #: defaults.php:165
3864
  msgid "User marked a comment as Spam"
3865
  msgstr ""
3866
 
3867
+ #: defaults.php:165
3868
  msgid ""
3869
  "Marked the comment posted by %Author% on the post %PostTitle% as spam "
3870
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
3872
  "%PostUrlIfPlublished% %LineBreak% %CommentLink%"
3873
  msgstr ""
3874
 
3875
+ #: defaults.php:166
3876
  msgid "User marked a comment as Not Spam"
3877
  msgstr ""
3878
 
3879
+ #: defaults.php:166
3880
  msgid ""
3881
  "Marked the comment posted by %Author% on the post %PostTitle% as not spam "
3882
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
3884
  "%PostUrlIfPlublished% %LineBreak% %CommentLink%"
3885
  msgstr ""
3886
 
3887
+ #: defaults.php:167
3888
  msgid "User moved a comment to trash"
3889
  msgstr ""
3890
 
3891
+ #: defaults.php:167
3892
  msgid ""
3893
  "Moved the comment posted by %Author% on the post %PostTitle% to trash "
3894
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
3896
  "%PostUrlIfPlublished% %LineBreak% %CommentLink%"
3897
  msgstr ""
3898
 
3899
+ #: defaults.php:168
3900
  msgid "User restored a comment from the trash"
3901
  msgstr ""
3902
 
3903
+ #: defaults.php:168
3904
  msgid ""
3905
  "Restored the comment posted by %Author% on the post %PostTitle% from trash "
3906
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
3908
  "%PostUrlIfPlublished% %LineBreak% %CommentLink%"
3909
  msgstr ""
3910
 
3911
+ #: defaults.php:169
3912
  msgid "User permanently deleted a comment"
3913
  msgstr ""
3914
 
3915
+ #: defaults.php:169
3916
  msgid ""
3917
  "Permanently deleted the comment posted by %Author% on the post %PostTitle% "
3918
  "%LineBreak% Post ID: %PostID% %LineBreak% Post Type: %PostType% %LineBreak% "
3920
  "%CommentID%"
3921
  msgstr ""
3922
 
3923
+ #: defaults.php:170
3924
  msgid "User posted a comment"
3925
  msgstr ""
3926
 
3927
+ #: defaults.php:170 defaults.php:175
3928
  msgid ""
3929
  "Posted a comment on the post %PostTitle% %LineBreak% Post ID: %PostID% "
3930
  "%LineBreak% Post Type: %PostType% %LineBreak% Post Status: %PostStatus% "
3932
  "%CommentLink%"
3933
  msgstr ""
3934
 
3935
+ #: defaults.php:175
3936
  msgid "Visitor posted a comment"
3937
  msgstr ""
3938
 
3939
+ #: defaults.php:181
3940
  msgid "Widgets"
3941
  msgstr ""
3942
 
3943
+ #: defaults.php:182
3944
  msgid "User added a new widget"
3945
  msgstr ""
3946
 
3947
+ #: defaults.php:182
3948
  msgid "Added a new %WidgetName% widget in %Sidebar%."
3949
  msgstr ""
3950
 
3951
+ #: defaults.php:183
3952
  msgid "User modified a widget"
3953
  msgstr ""
3954
 
3955
+ #: defaults.php:183
3956
  msgid "Modified the %WidgetName% widget in %Sidebar%."
3957
  msgstr ""
3958
 
3959
+ #: defaults.php:184
3960
  msgid "User deleted widget"
3961
  msgstr ""
3962
 
3963
+ #: defaults.php:184
3964
  msgid "Deleted the %WidgetName% widget from %Sidebar%."
3965
  msgstr ""
3966
 
3967
+ #: defaults.php:185
3968
  msgid "User moved widget"
3969
  msgstr ""
3970
 
3971
+ #: defaults.php:185
3972
  msgid ""
3973
  "Moved the %WidgetName% widget %LineBreak% From: %OldSidebar% %LineBreak% To: "
3974
  "%NewSidebar%"
3975
  msgstr ""
3976
 
3977
+ #: defaults.php:186
3978
  msgid "User changed widget position"
3979
  msgstr ""
3980
 
3981
+ #: defaults.php:186
3982
  msgid "Changed the position of the %WidgetName% widget in %Sidebar%."
3983
  msgstr ""
3984
 
3985
+ #: defaults.php:192
3986
  msgid "Menus"
3987
  msgstr ""
3988
 
3989
+ #: defaults.php:193
3990
  msgid "User created new menu"
3991
  msgstr ""
3992
 
3993
+ #: defaults.php:193
3994
  msgid "New menu called %MenuName%."
3995
  msgstr ""
3996
 
3997
+ #: defaults.php:194
3998
  msgid "User added content to a menu"
3999
  msgstr ""
4000
 
4001
+ #: defaults.php:194
4002
  msgid ""
4003
  "Added new item to the menu %MenuName% %LineBreak% Item type: %ContentType% "
4004
  "%LineBreak% Item name: %ContentName% "
4005
  msgstr ""
4006
 
4007
+ #: defaults.php:195
4008
  msgid "User removed content from a menu"
4009
  msgstr ""
4010
 
4011
+ #: defaults.php:195
4012
  msgid ""
4013
  "Removed item from the menu %MenuName% %LineBreak% Item type: %ContentType% "
4014
  "%LineBreak% Item name: %ContentName%"
4015
  msgstr ""
4016
 
4017
+ #: defaults.php:196
4018
  msgid "User deleted menu"
4019
  msgstr ""
4020
 
4021
+ #: defaults.php:196
4022
  msgid "Deleted the menu %MenuName%"
4023
  msgstr ""
4024
 
4025
+ #: defaults.php:197
4026
  msgid "User changed menu setting"
4027
  msgstr ""
4028
 
4029
+ #: defaults.php:197
4030
  msgid "The setting in the %MenuName% %LineBreak% Setting: %MenuSetting%"
4031
  msgstr ""
4032
 
4033
+ #: defaults.php:198
4034
  msgid "User modified content in a menu"
4035
  msgstr ""
4036
 
4037
+ #: defaults.php:198
4038
  msgid ""
4039
  "Modified an item in the menu %MenuName% %LineBreak% Item type: %ContentType% "
4040
  "%LineBreak% Item name: %ContentName%"
4041
  msgstr ""
4042
 
4043
+ #: defaults.php:199
4044
  msgid "User changed name of a menu"
4045
  msgstr ""
4046
 
4047
+ #: defaults.php:199
4048
+ msgid "Old name: %OldMenuName% %LineBreak% New name: %NewMenuName%"
4049
  msgstr ""
4050
 
4051
+ #: defaults.php:200
4052
  msgid "User changed order of the objects in a menu"
4053
  msgstr ""
4054
 
4055
+ #: defaults.php:200
4056
  msgid "Changed the order of the items in the menu %MenuName%"
4057
  msgstr ""
4058
 
4059
+ #: defaults.php:201
4060
  msgid "User moved objects as a sub-item"
4061
  msgstr ""
4062
 
4063
+ #: defaults.php:201
4064
  msgid ""
4065
  "Menu name: %MenuName% %LineBreak% Moved item %ItemName% as a sub-item of "
4066
  "%ParentName%"
4067
  msgstr ""
4068
 
4069
+ #: defaults.php:213
4070
  msgid "User modified a draft blog post"
4071
  msgstr ""
4072
 
4073
+ #: defaults.php:213
4074
  msgid "Modified the draft post with the %PostTitle%. %EditorLinkPost%."
4075
  msgstr ""
4076
 
4077
+ #: defaults.php:214
4078
  msgid "User created a new post with custom post type and saved it as draft"
4079
  msgstr ""
4080
 
4081
+ #: defaults.php:214
4082
  msgid ""
4083
  "Created a new custom post called %PostTitle% of type %PostType%. "
4084
  "%EditorLinkPost%."
4085
  msgstr ""
4086
 
4087
+ #: defaults.php:215
4088
  msgid "User published a post with custom post type"
4089
  msgstr ""
4090
 
4091
+ #: defaults.php:215
4092
  msgid ""
4093
  "Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl"
4094
  "%. %EditorLinkPost%."
4095
  msgstr ""
4096
 
4097
+ #: defaults.php:216
4098
  msgid "User modified a post with custom post type"
4099
  msgstr ""
4100
 
4101
+ #: defaults.php:216
4102
  msgid ""
4103
  "Modified the custom post %PostTitle% of type %PostType%. Post URL is %PostUrl"
4104
  "%. %EditorLinkPost%."
4105
  msgstr ""
4106
 
4107
+ #: defaults.php:217
4108
  msgid "User modified a draft post with custom post type"
4109
  msgstr ""
4110
 
4111
+ #: defaults.php:217
4112
  msgid ""
4113
  "Modified the draft custom post %PostTitle% of type is %PostType%. "
4114
  "%EditorLinkPost%."
4115
  msgstr ""
4116
 
4117
+ #: defaults.php:218
4118
  msgid "User permanently deleted post with custom post type"
4119
  msgstr ""
4120
 
4121
+ #: defaults.php:218
4122
  msgid "Permanently Deleted the custom post %PostTitle% of type %PostType%."
4123
  msgstr ""
4124
 
4125
+ #: defaults.php:219
4126
  msgid "User moved post with custom post type to trash"
4127
  msgstr ""
4128
 
4129
+ #: defaults.php:219
4130
  msgid ""
4131
  "Moved the custom post %PostTitle% of type %PostType% to trash. Post URL was "
4132
  "%PostUrl%."
4133
  msgstr ""
4134
 
4135
+ #: defaults.php:220
4136
  msgid "User restored post with custom post type from trash"
4137
  msgstr ""
4138
 
4139
+ #: defaults.php:220
4140
  msgid ""
4141
  "The custom post %PostTitle% of type %PostType% has been restored from trash. "
4142
  "%EditorLinkPost%."
4143
  msgstr ""
4144
 
4145
+ #: defaults.php:221
4146
  msgid "User changed the category of a post with custom post type"
4147
  msgstr ""
4148
 
4149
+ #: defaults.php:221
4150
  msgid ""
4151
  "Changed the category(ies) of the custom post %PostTitle% of type %PostType% "
4152
  "from %OldCategories% to %NewCategories%. %EditorLinkPost%."
4153
  msgstr ""
4154
 
4155
+ #: defaults.php:222
4156
  msgid "User changed the URL of a post with custom post type"
4157
  msgstr ""
4158
 
4159
+ #: defaults.php:222
4160
  msgid ""
4161
  "Changed the URL of the custom post %PostTitle% of type %PostType% from "
4162
  "%OldUrl% to %NewUrl%. %EditorLinkPost%."
4163
  msgstr ""
4164
 
4165
+ #: defaults.php:223
4166
  msgid "User changed the author or post with custom post type"
4167
  msgstr ""
4168
 
4169
+ #: defaults.php:223
4170
  msgid ""
4171
  "Changed the author of custom post %PostTitle% of type %PostType% from "
4172
  "%OldAuthor% to %NewAuthor%. %EditorLinkPost%."
4173
  msgstr ""
4174
 
4175
+ #: defaults.php:224
4176
  msgid "User changed the status of post with custom post type"
4177
  msgstr ""
4178
 
4179
+ #: defaults.php:224
4180
  msgid ""
4181
  "Changed the status of custom post %PostTitle% of type %PostType% from "
4182
  "%OldStatus% to %NewStatus%. %EditorLinkPost%."
4183
  msgstr ""
4184
 
4185
+ #: defaults.php:225
4186
  msgid "User changed the visibility of a post with custom post type"
4187
  msgstr ""
4188
 
4189
+ #: defaults.php:225
4190
  msgid ""
4191
  "Changed the visibility of the custom post %PostTitle% of type %PostType% "
4192
  "from %OldVisibility% to %NewVisibility%. %EditorLinkPost%."
4193
  msgstr ""
4194
 
4195
+ #: defaults.php:226
4196
  msgid "User changed the date of post with custom post type"
4197
  msgstr ""
4198
 
4199
+ #: defaults.php:226
4200
  msgid ""
4201
  "Changed the date of the custom post %PostTitle% of type %PostType% from "
4202
  "%OldDate% to %NewDate%. %EditorLinkPost%."
4203
  msgstr ""
4204
 
4205
+ #: defaults.php:227
4206
  msgid "User created a custom field for a custom post type"
4207
  msgstr ""
4208
 
4209
+ #: defaults.php:227
4210
  msgid ""
4211
  "Created a new custom field %MetaKey% with value %MetaValue% in custom post "
4212
  "%PostTitle% of type %PostType%. %EditorLinkPost%.<br>%MetaLink%."
4213
  msgstr ""
4214
 
4215
+ #: defaults.php:228
4216
  msgid "User updated a custom field for a custom post type"
4217
  msgstr ""
4218
 
4219
+ #: defaults.php:228
4220
  msgid ""
4221
  "Modified the value of the custom field %MetaKey% from %MetaValueOld% to "
4222
  "%MetaValueNew% in custom post %PostTitle% of type %PostType% %EditorLinkPost"
4223
  "%.<br>%MetaLink%."
4224
  msgstr ""
4225
 
4226
+ #: defaults.php:229
4227
  msgid "User deleted a custom field from a custom post type"
4228
  msgstr ""
4229
 
4230
+ #: defaults.php:229
4231
  msgid ""
4232
  "Deleted the custom field %MetaKey% with id %MetaID% from custom post "
4233
  "%PostTitle% of type %PostType% %EditorLinkPost%.<br>%MetaLink%."
4234
  msgstr ""
4235
 
4236
+ #: defaults.php:230
4237
  msgid "User updated a custom field name for a custom post type"
4238
  msgstr ""
4239
 
4240
+ #: defaults.php:230
4241
  msgid ""
4242
  "Changed the custom field name from %MetaKeyOld% to %MetaKeyNew% in custom "
4243
  "post %PostTitle% of type %PostType% %EditorLinkPost%.<br>%MetaLink%."
4244
  msgstr ""
4245
 
4246
+ #: defaults.php:231
4247
  msgid "User modified content for a published custom post type"
4248
  msgstr ""
4249
 
4250
+ #: defaults.php:231
4251
  msgid ""
4252
  "Modified the content of the published custom post type %PostTitle%. Post URL "
4253
  "is %PostUrl%.%EditorLinkPost%."
4254
  msgstr ""
4255
 
4256
+ #: defaults.php:232
4257
  msgid "User modified content for a draft post"
4258
  msgstr ""
4259
 
4260
+ #: defaults.php:232
4261
  msgid ""
4262
  "Modified the content of the draft post %PostTitle%.%RevisionLink% "
4263
  "%EditorLinkPost%."
4264
  msgstr ""
4265
 
4266
+ #: defaults.php:233
4267
  msgid "User modified content for a draft custom post type"
4268
  msgstr ""
4269
 
4270
+ #: defaults.php:233
4271
  msgid ""
4272
  "Modified the content of the draft custom post type %PostTitle%."
4273
  "%EditorLinkPost%."
4274
  msgstr ""
4275
 
4276
+ #: defaults.php:234
4277
  msgid "User modified content of a post"
4278
  msgstr ""
4279
 
4280
+ #: defaults.php:234
4281
  msgid ""
4282
  "Modified the content of post %PostTitle% which is submitted for review."
4283
  "%RevisionLink% %EditorLinkPost%."
4284
  msgstr ""
4285
 
4286
+ #: defaults.php:235
4287
  msgid "User scheduled a custom post type"
4288
  msgstr ""
4289
 
4290
+ #: defaults.php:235
4291
  msgid ""
4292
  "Scheduled the custom post type %PostTitle% to be published %PublishingDate%. "
4293
  "%EditorLinkPost%."
4294
  msgstr ""
4295
 
4296
+ #: defaults.php:236
4297
  msgid "User changed title of a custom post type"
4298
  msgstr ""
4299
 
4300
+ #: defaults.php:236
4301
  msgid ""
4302
  "Changed the title of the custom post %OldTitle% to %NewTitle%. "
4303
  "%EditorLinkPost%."
4304
  msgstr ""
4305
 
4306
+ #: defaults.php:237
4307
  msgid "User opened a custom post type in the editor"
4308
  msgstr ""
4309
 
4310
+ #: defaults.php:237
4311
  msgid ""
4312
  "Opened the custom post %PostTitle% of type %PostType% in the editor. View "
4313
  "the post: %EditorLinkPost%."
4314
  msgstr ""
4315
 
4316
+ #: defaults.php:238
4317
  msgid "User viewed a custom post type"
4318
  msgstr ""
4319
 
4320
+ #: defaults.php:238
4321
  msgid ""
4322
  "Viewed the custom post %PostTitle% of type %PostType%. View the post: "
4323
  "%PostUrl%."
4324
  msgstr ""
4325
 
4326
+ #: defaults.php:239
4327
  msgid "A plugin created a custom post"
4328
  msgstr ""
4329
 
4330
+ #: defaults.php:239
4331
  msgid "A plugin automatically created the following custom post: %PostTitle%."
4332
  msgstr ""
4333
 
4334
+ #: defaults.php:240
4335
  msgid "A plugin deleted a custom post"
4336
  msgstr ""
4337
 
4338
+ #: defaults.php:240
4339
  msgid "A plugin automatically deleted the following custom post: %PostTitle%."
4340
  msgstr ""
4341
 
4342
+ #: defaults.php:241
4343
  msgid "A plugin modified a custom post"
4344
  msgstr ""
4345
 
4346
+ #: defaults.php:241
4347
  msgid ""
4348
  "Plugin modified the custom post %PostTitle%. View the post: %EditorLinkPost%."
4349
  msgstr ""
4350
 
4351
+ #: defaults.php:253
4352
  msgid "User created a new WordPress page and saved it as draft"
4353
  msgstr ""
4354
 
4355
+ #: defaults.php:253
4356
  msgid ""
4357
  "Created a new page called %PostTitle% and saved it as draft. %EditorLinkPage"
4358
  "%."
4359
  msgstr ""
4360
 
4361
+ #: defaults.php:254
4362
  msgid "User published a WordPress page"
4363
  msgstr ""
4364
 
4365
+ #: defaults.php:254
4366
  msgid ""
4367
  "Published a page called %PostTitle%. Page URL is %PostUrl%. %EditorLinkPage%."
4368
  msgstr ""
4369
 
4370
+ #: defaults.php:255
4371
  msgid "User modified a published WordPress page"
4372
  msgstr ""
4373
 
4374
+ #: defaults.php:255
4375
  msgid ""
4376
  "Modified the published page %PostTitle%. Page URL is %PostUrl%. "
4377
  "%EditorLinkPage%."
4378
  msgstr ""
4379
 
4380
+ #: defaults.php:256
4381
  msgid "User modified a draft WordPress page"
4382
  msgstr ""
4383
 
4384
+ #: defaults.php:256
4385
  msgid ""
4386
  "Modified the draft page %PostTitle%. Page ID is %PostID%. %EditorLinkPage%."
4387
  msgstr ""
4388
 
4389
+ #: defaults.php:257
4390
  msgid "User permanently deleted a page from the trash"
4391
  msgstr ""
4392
 
4393
+ #: defaults.php:257
4394
  msgid "Permanently deleted the page %PostTitle%."
4395
  msgstr ""
4396
 
4397
+ #: defaults.php:258
4398
  msgid "User moved WordPress page to the trash"
4399
  msgstr ""
4400
 
4401
+ #: defaults.php:258
4402
  msgid "Moved the page %PostTitle% to trash. Page URL was %PostUrl%."
4403
  msgstr ""
4404
 
4405
+ #: defaults.php:259
4406
  msgid "User restored a WordPress page from trash"
4407
  msgstr ""
4408
 
4409
+ #: defaults.php:259
4410
  msgid "Page %PostTitle% has been restored from trash. %EditorLinkPage%."
4411
  msgstr ""
4412
 
4413
+ #: defaults.php:260
4414
  msgid "User changed page URL"
4415
  msgstr ""
4416
 
4417
+ #: defaults.php:260
4418
  msgid ""
4419
  "Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%. "
4420
  "%EditorLinkPage%."
4421
  msgstr ""
4422
 
4423
+ #: defaults.php:261
4424
  msgid "User changed page author"
4425
  msgstr ""
4426
 
4427
+ #: defaults.php:261
4428
  msgid ""
4429
  "Changed the author of the page %PostTitle% from %OldAuthor% to %NewAuthor%. "
4430
  "%EditorLinkPage%."
4431
  msgstr ""
4432
 
4433
+ #: defaults.php:262
4434
  msgid "User changed page status"
4435
  msgstr ""
4436
 
4437
+ #: defaults.php:262
4438
  msgid ""
4439
  "Changed the status of the page %PostTitle% from %OldStatus% to %NewStatus%. "
4440
  "%EditorLinkPage%."
4441
  msgstr ""
4442
 
4443
+ #: defaults.php:263
4444
  msgid "User changed the visibility of a page post"
4445
  msgstr ""
4446
 
4447
+ #: defaults.php:263
4448
  msgid ""
4449
  "Changed the visibility of the page %PostTitle% from %OldVisibility% to "
4450
  "%NewVisibility%. %EditorLinkPage%."
4451
  msgstr ""
4452
 
4453
+ #: defaults.php:264
4454
  msgid "User changed the date of a page post"
4455
  msgstr ""
4456
 
4457
+ #: defaults.php:264
4458
  msgid ""
4459
  "Changed the date of the page %PostTitle% from %OldDate% to %NewDate%. "
4460
  "%EditorLinkPage%."
4461
  msgstr ""
4462
 
4463
+ #: defaults.php:265
4464
  msgid "User created a custom field for a page"
4465
  msgstr ""
4466
 
4467
+ #: defaults.php:265
4468
  msgid ""
4469
  "Created a new custom field called %MetaKey% with value %MetaValue% in the "
4470
  "page %PostTitle% %EditorLinkPage%.<br>%MetaLink%."
4471
  msgstr ""
4472
 
4473
+ #: defaults.php:266
4474
  msgid "User updated a custom field value for a page"
4475
  msgstr ""
4476
 
4477
+ #: defaults.php:266
4478
  msgid ""
4479
  "Modified the value of the custom field %MetaKey% from %MetaValueOld% to "
4480
  "%MetaValueNew% in the page %PostTitle% %EditorLinkPage%.<br>%MetaLink%."
4481
  msgstr ""
4482
 
4483
+ #: defaults.php:267
4484
  msgid "User deleted a custom field from a page"
4485
  msgstr ""
4486
 
4487
+ #: defaults.php:267
4488
  msgid ""
4489
  "Deleted the custom field %MetaKey% with id %MetaID% from page %PostTitle% "
4490
  "%EditorLinkPage%.<br>%MetaLink%."
4491
  msgstr ""
4492
 
4493
+ #: defaults.php:268
4494
  msgid "User updated a custom field name for a page"
4495
  msgstr ""
4496
 
4497
+ #: defaults.php:268
4498
  msgid ""
4499
  "Changed the custom field name from %MetaKeyOld% to %MetaKeyNew% in the page "
4500
  "%PostTitle% %EditorLinkPage%.<br>%MetaLink%."
4501
  msgstr ""
4502
 
4503
+ #: defaults.php:269
4504
  msgid "User modified content for a published page"
4505
  msgstr ""
4506
 
4507
+ #: defaults.php:269
4508
  msgid ""
4509
  "Modified the content of the published page %PostTitle%. Page URL is %PostUrl"
4510
  "%. %RevisionLink% %EditorLinkPage%."
4511
  msgstr ""
4512
 
4513
+ #: defaults.php:270
4514
  msgid "User modified content for a draft page"
4515
  msgstr ""
4516
 
4517
+ #: defaults.php:270
4518
  msgid ""
4519
  "Modified the content of draft page %PostTitle%.%RevisionLink% %EditorLinkPage"
4520
  "%."
4521
  msgstr ""
4522
 
4523
+ #: defaults.php:271
4524
  msgid "User scheduled a page"
4525
  msgstr ""
4526
 
4527
+ #: defaults.php:271
4528
  msgid ""
4529
  "Scheduled the page %PostTitle% to be published %PublishingDate%. "
4530
  "%EditorLinkPage%."
4531
  msgstr ""
4532
 
4533
+ #: defaults.php:272
4534
  msgid "User changed title of a page"
4535
  msgstr ""
4536
 
4537
+ #: defaults.php:272
4538
  msgid ""
4539
  "Changed the title of the page %OldTitle% to %NewTitle%. %EditorLinkPage%."
4540
  msgstr ""
4541
 
4542
+ #: defaults.php:273
4543
  msgid "User opened a page in the editor"
4544
  msgstr ""
4545
 
4546
+ #: defaults.php:273
4547
  msgid ""
4548
  "Opened the page %PostTitle% in the editor. View the page: %EditorLinkPage%."
4549
  msgstr ""
4550
 
4551
+ #: defaults.php:274
4552
  msgid "User viewed a page"
4553
  msgstr ""
4554
 
4555
+ #: defaults.php:274
4556
  msgid "Viewed the page %PostTitle%. View the page: %PostUrl%."
4557
  msgstr ""
4558
 
4559
+ #: defaults.php:275
4560
  msgid "User disabled Comments/Trackbacks and Pingbacks on a draft post"
4561
  msgstr ""
4562
 
4563
+ #: defaults.php:275
4564
  msgid ""
4565
  "Disabled %Type% on the draft post %PostTitle%. View the post: %PostUrl%."
4566
  msgstr ""
4567
 
4568
+ #: defaults.php:276
4569
  msgid "User enabled Comments/Trackbacks and Pingbacks on a draft post"
4570
  msgstr ""
4571
 
4572
+ #: defaults.php:276
4573
  msgid "Enabled %Type% on the draft post %PostTitle%. View the post: %PostUrl%."
4574
  msgstr ""
4575
 
4576
+ #: defaults.php:277
4577
  msgid "User disabled Comments/Trackbacks and Pingbacks on a published page"
4578
  msgstr ""
4579
 
4580
+ #: defaults.php:277
4581
  msgid ""
4582
  "Disabled %Type% on the published page %PostTitle%. View the page: %PostUrl%."
4583
  msgstr ""
4584
 
4585
+ #: defaults.php:278
4586
  msgid "User enabled Comments/Trackbacks and Pingbacks on a published page"
4587
  msgstr ""
4588
 
4589
+ #: defaults.php:278
4590
  msgid ""
4591
  "Enabled %Type% on the published page %PostTitle%. View the page: %PostUrl%."
4592
  msgstr ""
4593
 
4594
+ #: defaults.php:279
4595
  msgid "User disabled Comments/Trackbacks and Pingbacks on a draft page"
4596
  msgstr ""
4597
 
4598
+ #: defaults.php:279
4599
  msgid ""
4600
  "Disabled %Type% on the draft page %PostTitle%. View the page: %PostUrl%."
4601
  msgstr ""
4602
 
4603
+ #: defaults.php:280
4604
  msgid "User enabled Comments/Trackbacks and Pingbacks on a draft page"
4605
  msgstr ""
4606
 
4607
+ #: defaults.php:280
4608
  msgid "Enabled %Type% on the draft page %PostTitle%. View the page: %PostUrl%."
4609
  msgstr ""
4610
 
4611
+ #: defaults.php:281
4612
  msgid "A plugin created a page"
4613
  msgstr ""
4614
 
4615
+ #: defaults.php:281
4616
  msgid "A plugin automatically created the following page: %PostTitle%."
4617
  msgstr ""
4618
 
4619
+ #: defaults.php:282
4620
  msgid "A plugin deleted a page"
4621
  msgstr ""
4622
 
4623
+ #: defaults.php:282
4624
  msgid "A plugin automatically deleted the following page: %PostTitle%."
4625
  msgstr ""
4626
 
4627
+ #: defaults.php:283
4628
  msgid "A plugin modified a page"
4629
  msgstr ""
4630
 
4631
+ #: defaults.php:283
4632
  msgid "Plugin modified the page %PostTitle%. View the page: %EditorLinkPage%."
4633
  msgstr ""
4634
 
4635
+ #: defaults.php:287
4636
  msgid "User Accounts"
4637
  msgstr ""
4638
 
4639
+ #: defaults.php:288
4640
  msgid "User Profiles"
4641
  msgstr ""
4642
 
4643
+ #: defaults.php:289
4644
  msgid "New user was created on WordPress"
4645
  msgstr ""
4646
 
4647
+ #: defaults.php:289 defaults.php:290
4648
  msgid ""
4649
  "New user: %NewUserData->Username% %LineBreak% Role: %NewUserData->Roles% "
4650
  "%LineBreak% First name: %NewUserData->FirstName% %LineBreak% Last name: "
4651
  "%NewUserData->LastName% %LineBreak% %EditUserLink%"
4652
  msgstr ""
4653
 
4654
+ #: defaults.php:290
4655
  msgid "User created another WordPress user"
4656
  msgstr ""
4657
 
4658
+ #: defaults.php:291
4659
  msgid "The role of a user was changed by another WordPress user"
4660
  msgstr ""
4661
 
4662
+ #: defaults.php:291
4663
  msgid ""
4664
  "Changed the role of the user %TargetUsername% %LineBreak% New role: %NewRole"
4665
  "% %LineBreak% Previous role: %OldRole% %LineBreak% First name: %FirstName% "
4666
  "%LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4667
  msgstr ""
4668
 
4669
+ #: defaults.php:292
4670
  msgid "User has changed his or her password"
4671
  msgstr ""
4672
 
4673
+ #: defaults.php:292
4674
  msgid ""
4675
  "Changed the password %LineBreak% First name: %TargetUserData->FirstName% "
4676
  "%LineBreak% Last name: %TargetUserData->LastName% %LineBreak% %EditUserLink%"
4677
  msgstr ""
4678
 
4679
+ #: defaults.php:293
4680
  msgid "User changed another user's password"
4681
  msgstr ""
4682
 
4683
+ #: defaults.php:293
4684
  msgid ""
4685
  "Changed the password of the user %TargetUserData->Username% %LineBreak% "
4686
  "Role: %TargetUserData->Roles% %LineBreak% First name: %TargetUserData-"
4688
  "%EditUserLink%"
4689
  msgstr ""
4690
 
4691
+ #: defaults.php:294
4692
  msgid "User changed his or her email address"
4693
  msgstr ""
4694
 
4695
+ #: defaults.php:294
4696
  msgid ""
4697
  "Changed the email address to %NewEmail% %LineBreak% Role: %Roles% %LineBreak"
4698
  "% First name: %FirstName% %LineBreak% Last name: %LastName% %LineBreak% "
4699
  "%EditUserLink%"
4700
  msgstr ""
4701
 
4702
+ #: defaults.php:295
4703
  msgid "User changed another user's email address"
4704
  msgstr ""
4705
 
4706
+ #: defaults.php:295
4707
  msgid ""
4708
  "Changed the email address of the user %TargetUsername% %LineBreak% New email "
4709
  "address: %NewEmail% %LineBreak% Previous email address: %OldEmail% %LineBreak"
4711
  "%LastName% %LineBreak% %EditUserLink%"
4712
  msgstr ""
4713
 
4714
+ #: defaults.php:296
4715
  msgid "User was deleted by another user"
4716
  msgstr ""
4717
 
4718
+ #: defaults.php:296
4719
  msgid ""
4720
  "User: %TargetUserData->Username% %LineBreak% Role: %TargetUserData->Roles% "
4721
  "%LineBreak% First name: %NewUserData->FirstName% %LineBreak% Last name: "
4722
  "%NewUserData->LastName%"
4723
  msgstr ""
4724
 
4725
+ #: defaults.php:297
4726
  msgid "User opened the profile page of another user"
4727
  msgstr ""
4728
 
4729
+ #: defaults.php:297
4730
  msgid ""
4731
  "The profile page of the user %TargetUsername% %LineBreak% Role: %Roles% "
4732
  "%LineBreak% First name: %FirstName% %LineBreak% Last name: %LastName% "
4733
  "%LineBreak% %EditUserLink%"
4734
  msgstr ""
4735
 
4736
+ #: defaults.php:298
4737
  msgid "User updated a custom field value for a user"
4738
  msgstr ""
4739
 
4740
+ #: defaults.php:298
4741
  msgid ""
4742
  "Changed the value of a custom field in the user profile %TargetUsername% "
4743
  "%LineBreak% Custom field: %custom_field_name% %LineBreak% Previous value: "
4746
  "%LineBreak% %EditUserLink%"
4747
  msgstr ""
4748
 
4749
+ #: defaults.php:299
4750
  msgid "User created a custom field value for a user"
4751
  msgstr ""
4752
 
4753
+ #: defaults.php:299
4754
  msgid ""
4755
  "Created a new custom field in the user profile %TargetUsername% %LineBreak% "
4756
  "Custom field: %custom_field_name% %LineBreak% Custom field value: %new_value"
4758
  "Last name: %LastName% %LineBreak% %EditUserLink%"
4759
  msgstr ""
4760
 
4761
+ #: defaults.php:300
4762
  msgid "User changed first name for a user"
4763
  msgstr ""
4764
 
4765
+ #: defaults.php:300
4766
  msgid ""
4767
  "Changed the first name of the user %TargetUsername% %LineBreak% Previous "
4768
  "name: %old_firstname% %LineBreak% New name: %new_firstname% %LineBreak% "
4769
  "Role: %Roles% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4770
  msgstr ""
4771
 
4772
+ #: defaults.php:301
4773
  msgid "User changed last name for a user"
4774
  msgstr ""
4775
 
4776
+ #: defaults.php:301
4777
  msgid ""
4778
  "Changed the last name of the user %TargetUsername% %LineBreak% Previous last "
4779
  "name: %old_lastname% %LineBreak% New last name: %new_lastname% %LineBreak% "
4780
  "Role: %Roles% %LineBreak% First name: %FirstName% %LineBreak% %EditUserLink%"
4781
  msgstr ""
4782
 
4783
+ #: defaults.php:302
4784
  msgid "User changed nickname for a user"
4785
  msgstr ""
4786
 
4787
+ #: defaults.php:302
4788
  msgid ""
4789
  "Changed the nickname of the user %TargetUsername% %LineBreak% Previous "
4790
  "nickname: %old_nickname% New nickname: %new_nickname% %LineBreak% Role: "
4792
  "% %LineBreak% %EditUserLink%"
4793
  msgstr ""
4794
 
4795
+ #: defaults.php:303
4796
  msgid "User changed the display name for a user"
4797
  msgstr ""
4798
 
4799
+ #: defaults.php:303
4800
  msgid ""
4801
  "Changed the display name of the user %TargetUsername% %LineBreak% Previous "
4802
  "display name: %old_displayname% New display name: %new_displayname% "
4804
  "Last name: %LastName% %LineBreak% %EditUserLink%"
4805
  msgstr ""
4806
 
4807
+ #: defaults.php:306
4808
  msgid "Multisite User Profiles"
4809
  msgstr ""
4810
 
4811
+ #: defaults.php:307
4812
  msgid "User granted Super Admin privileges"
4813
  msgstr ""
4814
 
4815
+ #: defaults.php:307
4816
  msgid ""
4817
  "Granted Super Admin privileges to %TargetUsername% %LineBreak% First name: "
4818
  "%FirstName% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4819
  msgstr ""
4820
 
4821
+ #: defaults.php:308
4822
  msgid "User revoked from Super Admin privileges"
4823
  msgstr ""
4824
 
4825
+ #: defaults.php:308
4826
  msgid ""
4827
  "Revoked Super Admin privileges from %TargetUsername% %LineBreak% First name: "
4828
  "%FirstName% %LineBreak% Last name: %LastName% %LineBreak% %EditUserLink%"
4829
  msgstr ""
4830
 
4831
+ #: defaults.php:309
4832
  msgid "Existing user added to a site"
4833
  msgstr ""
4834
 
4835
+ #: defaults.php:309
4836
  msgid ""
4837
  "Added user %TargetUsername% to site: %SiteName% %LineBreak% Role: "
4838
  "%TargetUserRole% %LineBreak% First name: %FirstName% %LineBreak% Last name: "
4839
  "%LastName% %LineBreak% %EditUserLink%"
4840
  msgstr ""
4841
 
4842
+ #: defaults.php:310
4843
  msgid "User removed from site"
4844
  msgstr ""
4845
 
4846
+ #: defaults.php:310
4847
  msgid ""
4848
  "Removed user %TargetUsername% from site: %SiteName% %LineBreak% Previous "
4849
  "role: %TargetUserRole% %LineBreak% First name: %FirstName% %LineBreak% Last "
4850
  "name: %LastName% %LineBreak% %EditUserLink%"
4851
  msgstr ""
4852
 
4853
+ #: defaults.php:311
4854
  msgid "New network user created"
4855
  msgstr ""
4856
 
4857
+ #: defaults.php:311
4858
  msgid ""
4859
  "Created a new network user %NewUserData->Username% %LineBreak% First name: "
4860
  "%NewUserData->FirstName% %LineBreak% Last name: %NewUserData->LastName% "
4861
  "%LineBreak% %EditUserLink%"
4862
  msgstr ""
4863
 
4864
+ #: defaults.php:315
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4865
  msgid "Plugins & Themes"
4866
  msgstr ""
4867
 
4868
+ #: defaults.php:317
4869
  msgid "User installed a plugin"
4870
  msgstr ""
4871
 
4872
+ #: defaults.php:317
4873
  msgid ""
4874
  "Name: %Plugin->Name% %LineBreak% Install location: %Plugin->plugin_dir_path%"
4875
  msgstr ""
4876
 
4877
+ #: defaults.php:318
4878
  msgid "User activated a WordPress plugin"
4879
  msgstr ""
4880
 
4881
+ #: defaults.php:318 defaults.php:319 defaults.php:320 defaults.php:321
4882
  msgid "Name: %PluginData->Name% %LineBreak% Install location: %PluginFile%"
4883
  msgstr ""
4884
 
4885
+ #: defaults.php:319
4886
  msgid "User deactivated a WordPress plugin"
4887
  msgstr ""
4888
 
4889
+ #: defaults.php:320
4890
  msgid "User uninstalled a plugin"
4891
  msgstr ""
4892
 
4893
+ #: defaults.php:321
4894
  msgid "User upgraded a plugin"
4895
  msgstr ""
4896
 
4897
+ #: defaults.php:322
4898
  msgid "Plugin created tables"
4899
  msgstr ""
4900
 
4901
+ #: defaults.php:322
4902
  msgid ""
4903
  "Plugin created these tables in the database %LineBreak% Plugin: %Plugin->Name"
4904
  "% %LineBreak% Tables: %TableNames%"
4905
  msgstr ""
4906
 
4907
+ #: defaults.php:323
4908
  msgid "Plugin modified tables structure"
4909
  msgstr ""
4910
 
4911
+ #: defaults.php:323
4912
  msgid ""
4913
  "Plugin modified the structure of these database tables %LineBreak% Plugin: "
4914
  "%Plugin->Name% %LineBreak% Tables: %TableNames%"
4915
  msgstr ""
4916
 
4917
+ #: defaults.php:324
4918
  msgid "Plugin deleted tables"
4919
  msgstr ""
4920
 
4921
+ #: defaults.php:324
4922
  msgid ""
4923
  "Plugin deleted these tables from the database %LineBreak% Plugin: %Plugin-"
4924
  ">Name% %LineBreak% Tables: %TableNames%"
4925
  msgstr ""
4926
 
4927
+ #: defaults.php:325
4928
  msgid "A plugin created a post"
4929
  msgstr ""
4930
 
4931
+ #: defaults.php:325
4932
  msgid ""
4933
  "Plugin %PluginName% created the post %PostTitle% %LineBreak% Post ID: %PostID"
4934
  "% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
4935
  "%EditorLinkPage%"
4936
  msgstr ""
4937
 
4938
+ #: defaults.php:326
4939
  msgid "A plugin deleted a post"
4940
  msgstr ""
4941
 
4942
+ #: defaults.php:326
4943
  msgid ""
4944
  "Plugin %PluginName% deleted the post %PostTitle% %LineBreak% Post ID: %PostID"
4945
  "% %LineBreak% Type: %PostType%"
4946
  msgstr ""
4947
 
4948
+ #: defaults.php:327
4949
  msgid "User changed a file using the plugin editor"
4950
  msgstr ""
4951
 
4952
+ #: defaults.php:327
4953
  msgid "Modified a file with the plugin editor %LineBreak% File: %File%"
4954
  msgstr ""
4955
 
4956
+ #: defaults.php:330
4957
  msgid "Themes"
4958
  msgstr ""
4959
 
4960
+ #: defaults.php:331
4961
  msgid "User installed a theme"
4962
  msgstr ""
4963
 
4964
+ #: defaults.php:331
4965
  msgid ""
4966
  "Theme: \"%Theme->Name%\" %LineBreak% Install location: %Theme-"
4967
  ">get_template_directory%"
4968
  msgstr ""
4969
 
4970
+ #: defaults.php:332
4971
  msgid "User activated a theme"
4972
  msgstr ""
4973
 
4974
+ #: defaults.php:332 defaults.php:333
4975
  msgid ""
4976
  "Theme \"%Theme->Name%\" %LineBreak% Install location: %Theme-"
4977
  ">get_template_directory%"
4978
  msgstr ""
4979
 
4980
+ #: defaults.php:333
4981
  msgid "User uninstalled a theme"
4982
  msgstr ""
4983
 
4984
+ #: defaults.php:334
4985
  msgid "Theme created tables"
4986
  msgstr ""
4987
 
4988
+ #: defaults.php:334
4989
  msgid ""
4990
  "Theme created these tables in the database %LineBreak% Theme: %Theme->Name% "
4991
  "%LineBreak% Tables: %TableNames%"
4992
  msgstr ""
4993
 
4994
+ #: defaults.php:335
4995
  msgid "Theme modified tables structure"
4996
  msgstr ""
4997
 
4998
+ #: defaults.php:335
4999
  msgid ""
5000
  "Theme modified the structure of these database tables %LineBreak% Theme: "
5001
  "%Theme->Name% %LineBreak% Tables: %TableNames%"
5002
  msgstr ""
5003
 
5004
+ #: defaults.php:336
5005
  msgid "Theme deleted tables"
5006
  msgstr ""
5007
 
5008
+ #: defaults.php:336
5009
  msgid ""
5010
  "Theme deleted these tables from the database %LineBreak% Theme: %Theme->Name"
5011
  "% %LineBreak% Tables: %TableNames%"
5012
  msgstr ""
5013
 
5014
+ #: defaults.php:337
5015
  msgid "User updated a theme"
5016
  msgstr ""
5017
 
5018
+ #: defaults.php:337
5019
  msgid ""
5020
  "Name: %Theme->Name% %LineBreak% Install location: %Theme-"
5021
  ">get_template_directory%"
5022
  msgstr ""
5023
 
5024
+ #: defaults.php:338
5025
  msgid "User changed a file using the theme editor"
5026
  msgstr ""
5027
 
5028
+ #: defaults.php:338
5029
  msgid "Modified a file with the theme editor %LineBreak% File: %Theme%/%File%"
5030
  msgstr ""
5031
 
5032
+ #: defaults.php:341
5033
  msgid "Themes on Multisite"
5034
  msgstr ""
5035
 
5036
+ #: defaults.php:342
5037
  msgid "Activated theme on network"
5038
  msgstr ""
5039
 
5040
+ #: defaults.php:342
5041
  msgid ""
5042
  "Network activated the theme %Theme->Name% %LineBreak% Install location: "
5043
  "%Theme->get_template_directory%"
5044
  msgstr ""
5045
 
5046
+ #: defaults.php:343
5047
  msgid "Deactivated theme from network"
5048
  msgstr ""
5049
 
5050
+ #: defaults.php:343
5051
  msgid ""
5052
  "Network deactivated the theme %Theme->Name% %LineBreak% Install location: "
5053
  "%Theme->get_template_directory%"
5054
  msgstr ""
5055
 
5056
+ #: defaults.php:346
5057
  msgid "Database Events"
5058
  msgstr ""
5059
 
5060
+ #: defaults.php:347
5061
  msgid "Unknown component created tables"
5062
  msgstr ""
5063
 
5064
+ #: defaults.php:347
5065
  msgid ""
5066
  "An unknown component created these tables in the database %LineBreak% "
5067
  "Tables: %TableNames%"
5068
  msgstr ""
5069
 
5070
+ #: defaults.php:348
5071
  msgid "Unknown component modified tables structure"
5072
  msgstr ""
5073
 
5074
+ #: defaults.php:348
5075
  msgid ""
5076
  "An unknown component modified the structure of these database tables "
5077
  "%LineBreak% Tables: %TableNames%"
5078
  msgstr ""
5079
 
5080
+ #: defaults.php:349
5081
  msgid "Unknown component deleted tables"
5082
  msgstr ""
5083
 
5084
+ #: defaults.php:349
5085
  msgid ""
5086
  "An unknown component deleted these tables from the database %LineBreak% "
5087
  "Tables: %TableNames%"
5088
  msgstr ""
5089
 
5090
+ #: defaults.php:353
5091
  msgid "WordPress & System"
5092
  msgstr ""
5093
 
5094
+ #: defaults.php:355
5095
  msgid "Unknown Error"
5096
  msgstr ""
5097
 
5098
+ #: defaults.php:355
5099
  msgid "An unexpected error has occurred ."
5100
  msgstr ""
5101
 
5102
+ #: defaults.php:356
5103
  msgid "PHP error"
5104
  msgstr ""
5105
 
5106
+ #: defaults.php:356 defaults.php:357 defaults.php:358 defaults.php:359
5107
+ #: defaults.php:360
5108
  msgid "%Message%."
5109
  msgstr ""
5110
 
5111
+ #: defaults.php:357
5112
  msgid "PHP warning"
5113
  msgstr ""
5114
 
5115
+ #: defaults.php:358
5116
  msgid "PHP notice"
5117
  msgstr ""
5118
 
5119
+ #: defaults.php:359
5120
  msgid "PHP exception"
5121
  msgstr ""
5122
 
5123
+ #: defaults.php:360
5124
  msgid "PHP shutdown error"
5125
  msgstr ""
5126
 
5127
+ #: defaults.php:361
5128
  msgid "WordPress was updated"
5129
  msgstr ""
5130
 
5131
+ #: defaults.php:361
5132
  msgid ""
5133
  "Updated WordPress %LineBreak% Previous version: %OldVersion% %LineBreak% New "
5134
  "version: %NewVersion%"
5135
  msgstr ""
5136
 
5137
+ #: defaults.php:362
5138
  msgid "Advertising Add-ons"
5139
  msgstr ""
5140
 
5141
+ #: defaults.php:362
5142
  msgid "%PromoName% %PromoMessage%"
5143
  msgstr ""
5144
 
5145
+ #: defaults.php:365
5146
  msgid "Activity log plugin"
5147
  msgstr ""
5148
 
5149
+ #: defaults.php:366
5150
  msgid "Events automatically pruned by system"
5151
  msgstr ""
5152
 
5153
+ #: defaults.php:366
5154
  msgid "System automatically deleted %EventCount% event(s)"
5155
  msgstr ""
5156
 
5157
+ #: defaults.php:367
5158
  msgid "Reset plugin's settings to default"
5159
  msgstr ""
5160
 
5161
+ #: defaults.php:367
5162
  msgid "Reset the WP Security Audit Log plugin settings to default"
5163
  msgstr ""
5164
 
5165
+ #: defaults.php:368
5166
  msgid "Purged the activity log"
5167
  msgstr ""
5168
 
5169
+ #: defaults.php:372
5170
  msgid "File content has been modified"
5171
  msgstr ""
5172
 
5173
+ #: defaults.php:372
5174
  msgid ""
5175
  "Content of the file on site modified %LineBreak% File: %File% %LineBreak% "
5176
  "Location: %FileLocation%"
5177
  msgstr ""
5178
 
5179
+ #: defaults.php:373
5180
  msgid "File added to the site"
5181
  msgstr ""
5182
 
5183
+ #: defaults.php:373
5184
  msgid ""
5185
  "File added to site %LineBreak% File: %File% %LineBreak% Location: "
5186
  "%FileLocation%"
5187
  msgstr ""
5188
 
5189
+ #: defaults.php:374
5190
  msgid "File deleted from the site"
5191
  msgstr ""
5192
 
5193
+ #: defaults.php:374
5194
  msgid ""
5195
  "File deleted from site %LineBreak% File: %File% %LineBreak% Location: "
5196
  "%FileLocation%"
5197
  msgstr ""
5198
 
5199
+ #: defaults.php:375
5200
  msgid "File not scanned because it is bigger than the maximum file size limit"
5201
  msgstr ""
5202
 
5203
+ #: defaults.php:375
5204
  msgid ""
5205
  "File not scanned because it is bigger than the maximum file size limit "
5206
  "%LineBreak% File: %File% %LineBreak% Location: %FileLocation% %LineBreak% "
5207
  "%FileSettings%"
5208
  msgstr ""
5209
 
5210
+ #: defaults.php:376
5211
  msgid "File integrity scan stopped due to the limit of 1 million files"
5212
  msgstr ""
5213
 
5214
+ #: defaults.php:376
5215
  msgid ""
5216
  "Your website has more than 1 million files so the file integrity scanner "
5217
  "cannot scan them all. Contact support for more information. %LineBreak% "
5218
  "%ContactSupport%"
5219
  msgstr ""
5220
 
5221
+ #: defaults.php:377
5222
  msgid "File integrity scan started/stopped"
5223
  msgstr ""
5224
 
5225
+ #: defaults.php:377
5226
  msgid "The file integrity scan has %ScanStatus%."
5227
  msgstr ""
5228
 
5229
+ #: defaults.php:380
5230
  msgid "User/Visitor Actions"
5231
  msgstr ""
5232
 
5233
+ #: defaults.php:381
5234
  msgid "User requests non-existing pages (404 Error Pages)"
5235
  msgstr ""
5236
 
5237
+ #: defaults.php:381
5238
  msgid ""
5239
  "Has requested a non existing page (404 error) %LineBreak% Number of times: "
5240
  "%Attempts%"
5241
  msgstr ""
5242
 
5243
+ #: defaults.php:382
5244
  msgid "Website Visitor User requests non-existing pages (404 Error Pages)"
5245
  msgstr ""
5246
 
5247
+ #: defaults.php:382
5248
  msgid ""
5249
  "Website visitor has requested a non existing page (404 error) %LineBreak% "
5250
  "Number of times: %Attempts%"
5251
  msgstr ""
5252
 
5253
+ #: defaults.php:385
5254
  msgid "WordPress Site Settings"
5255
  msgstr ""
5256
 
5257
+ #: defaults.php:386
5258
  msgid "Option Anyone Can Register in WordPress settings changed"
5259
  msgstr ""
5260
 
5261
+ #: defaults.php:386
5262
  msgid "The option Anyone can register"
5263
  msgstr ""
5264
 
5265
+ #: defaults.php:387
5266
  msgid "New User Default Role changed"
5267
  msgstr ""
5268
 
5269
+ #: defaults.php:387
5270
  msgid ""
5271
  "Changed the new user default role %LineBreak% Previous role: %OldRole% "
5272
  "%LineBreak% New role: %NewRole%"
5273
  msgstr ""
5274
 
5275
+ #: defaults.php:388
5276
  msgid "WordPress Administrator Notification email changed"
5277
  msgstr ""
5278
 
5279
+ #: defaults.php:388
5280
  msgid ""
5281
  "Changed the WordPress administrator notification email address %LineBreak% "
5282
  "Previous address %OldEmail% %LineBreak% New address: %NewEmail%"
5283
  msgstr ""
5284
 
5285
+ #: defaults.php:389
5286
  msgid "User changes the WordPress Permalinks"
5287
  msgstr ""
5288
 
5289
+ #: defaults.php:389
5290
  msgid ""
5291
  "Changed the WordPress permalinks %LineBreak% Previous permalinks: %OldPattern"
5292
  "% %LineBreak% New permalinks: %NewPattern%"
5293
  msgstr ""
5294
 
5295
+ #: defaults.php:390
5296
  msgid ""
5297
  "Enabled/Disabled the option Discourage search engines from indexing this site"
5298
  msgstr ""
5299
 
5300
+ #: defaults.php:390
5301
  msgid "Discourage search engines from indexing this site."
5302
  msgstr ""
5303
 
5304
+ #: defaults.php:391
5305
  msgid "Enabled/Disabled comments on all the website"
5306
  msgstr ""
5307
 
5308
+ #: defaults.php:391
5309
  msgid "Comments on the website"
5310
  msgstr ""
5311
 
5312
+ #: defaults.php:392
5313
  msgid "Enabled/Disabled the option Comment author must fill out name and email"
5314
  msgstr ""
5315
 
5316
+ #: defaults.php:392
5317
  msgid "The option Comment author must fill out name and email"
5318
  msgstr ""
5319
 
5320
+ #: defaults.php:393
5321
  msgid ""
5322
  "Enabled/Disabled the option Users must be logged in and registered to comment"
5323
  msgstr ""
5324
 
5325
+ #: defaults.php:393
5326
  msgid "The option Users must be logged in and registered to comment"
5327
  msgstr ""
5328
 
5329
+ #: defaults.php:394
5330
  msgid "Enabled/Disabled the option to automatically close comments"
5331
  msgstr ""
5332
 
5333
+ #: defaults.php:394
5334
  msgid "The option to Automatically close comments after %Value% days"
5335
  msgstr ""
5336
 
5337
+ #: defaults.php:395
5338
  msgid "Changed the value of the option Automatically close comments"
5339
  msgstr ""
5340
 
5341
+ #: defaults.php:395
5342
  msgid ""
5343
  "Changed the value of the option to Automatically close comments after a "
5344
  "number of days %LineBreak% Previous value: %OldValue% %LineBreak% New value: "
5345
  "%NewValue%"
5346
  msgstr ""
5347
 
5348
+ #: defaults.php:396
5349
  msgid "Enabled/Disabled the option for comments to be manually approved"
5350
  msgstr ""
5351
 
5352
+ #: defaults.php:396
5353
  msgid "The option for comments to be manually approved"
5354
  msgstr ""
5355
 
5356
+ #: defaults.php:397
5357
  msgid ""
5358
  "Enabled/Disabled the option for an author to have previously approved "
5359
  "comments for the comments to appear"
5360
  msgstr ""
5361
 
5362
+ #: defaults.php:397
5363
  msgid ""
5364
  "The option for an author to have previously approved comments for the "
5365
  "comments to appear"
5366
  msgstr ""
5367
 
5368
+ #: defaults.php:398
5369
  msgid ""
5370
  "Changed the number of links that a comment must have to be held in the queue"
5371
  msgstr ""
5372
 
5373
+ #: defaults.php:398
5374
  msgid ""
5375
  "Changed the minimum number of links a comment must have to be held in the "
5376
  "queue %LineBreak% Previous value: %OldValue% %LineBreak% New value: %NewValue"
5377
  "%"
5378
  msgstr ""
5379
 
5380
+ #: defaults.php:399
5381
  msgid "Modified the list of keywords for comments moderation"
5382
  msgstr ""
5383
 
5384
+ #: defaults.php:399
5385
  msgid "Modified the list of keywords for comments medoration"
5386
  msgstr ""
5387
 
5388
+ #: defaults.php:400
5389
  msgid "Modified the list of keywords for comments blacklisting"
5390
  msgstr ""
5391
 
5392
+ #: defaults.php:401
5393
  msgid "Option WordPress Address (URL) in WordPress settings changed"
5394
  msgstr ""
5395
 
5396
+ #: defaults.php:401
5397
  msgid ""
5398
  "Changed the WordPress address (URL) %LineBreak% Previous URL: %old_url% "
5399
  "%LineBreak% New URL: %new_url%"
5400
  msgstr ""
5401
 
5402
+ #: defaults.php:402
5403
  msgid "Option Site Address (URL) in WordPress settings changed"
5404
  msgstr ""
5405
 
5406
+ #: defaults.php:402
5407
  msgid ""
5408
  "Changed the site address (URL) %LineBreak% Previous URL: %old_url% %LineBreak"
5409
  "% New URL: %new_url%"
5410
  msgstr ""
5411
 
5412
+ #: defaults.php:406
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5413
  msgid "Multisite Network Sites"
5414
  msgstr ""
5415
 
5416
+ #: defaults.php:408
5417
  msgid "New site added on the network"
5418
  msgstr ""
5419
 
5420
+ #: defaults.php:408
5421
  msgid "New site on the network: %SiteName% %LineBreak% URL: %BlogURL%"
5422
  msgstr ""
5423
 
5424
+ #: defaults.php:409
5425
  msgid "Existing site archived"
5426
  msgstr ""
5427
 
5428
+ #: defaults.php:409
5429
  msgid "Archived the site: %SiteName% %LineBreak% URL: %BlogURL%"
5430
  msgstr ""
5431
 
5432
+ #: defaults.php:410
5433
  msgid "Archived site has been unarchived"
5434
  msgstr ""
5435
 
5436
+ #: defaults.php:410
5437
  msgid "Unarchived the site: %SiteName% %LineBreak% URL: %BlogURL%"
5438
  msgstr ""
5439
 
5440
+ #: defaults.php:411
5441
  msgid "Deactivated site has been activated"
5442
  msgstr ""
5443
 
5444
+ #: defaults.php:411
5445
  msgid "Activated the site: %SiteName% %LineBreak% URL: %BlogURL%"
5446
  msgstr ""
5447
 
5448
+ #: defaults.php:412
5449
  msgid "Site has been deactivated"
5450
  msgstr ""
5451
 
5452
+ #: defaults.php:412
5453
  msgid "Deactivated the site: %SiteName% %LineBreak% URL: %BlogURL%"
5454
  msgstr ""
5455
 
5456
+ #: defaults.php:413
5457
  msgid "Existing site deleted from network"
5458
  msgstr ""
5459
 
5460
+ #: defaults.php:413
5461
  msgid "The site: %SiteName% %LineBreak% URL: %BlogURL%"
5462
  msgstr ""
5463
 
5464
+ #: defaults.php:419
5465
  msgid "User created a new product"
5466
  msgstr ""
5467
 
5468
+ #: defaults.php:419
5469
  msgid ""
5470
  "Created a new product called %ProductTitle% %LineBreak% ID: %PostID% "
5471
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5472
  msgstr ""
5473
 
5474
+ #: defaults.php:420
5475
  msgid "User published a product"
5476
  msgstr ""
5477
 
5478
+ #: defaults.php:420
5479
  msgid ""
5480
  "Published the product called %ProductTitle% %LineBreak% ID: %PostID% "
5481
+ "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
 
5482
  msgstr ""
5483
 
5484
+ #: defaults.php:421
5485
  msgid "User changed the category of a product"
5486
  msgstr ""
5487
 
5488
+ #: defaults.php:421
5489
  msgid ""
5490
  "Changed the category of the product %ProductTitle% %LineBreak% ID: %PostID% "
5491
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous categories: "
5493
  "%EditorLinkProduct%"
5494
  msgstr ""
5495
 
5496
+ #: defaults.php:422
5497
  msgid "User modified the short description of a product"
5498
  msgstr ""
5499
 
5500
+ #: defaults.php:422
5501
  msgid ""
5502
  "Changed the short description of the product %ProductTitle% %LineBreak% ID: "
5503
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5504
  msgstr ""
5505
 
5506
+ #: defaults.php:423
5507
  msgid "User modified the text of a product"
5508
  msgstr ""
5509
 
5510
+ #: defaults.php:423
5511
  msgid ""
5512
  "Changed the text of the product %ProductTitle% %LineBreak% ID: %PostID% "
5513
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5514
  msgstr ""
5515
 
5516
+ #: defaults.php:424
5517
  msgid "User changed the URL of a product"
5518
  msgstr ""
5519
 
5520
+ #: defaults.php:424
5521
  msgid ""
5522
  "Changed the URL of the product %ProductTitle% %LineBreak% ID: %PostID% "
5523
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous URL: %OldUrl% "
5524
  "%LineBreak% New URL: %NewUrl% %LineBreak% %EditorLinkProduct%"
5525
  msgstr ""
5526
 
5527
+ #: defaults.php:425
5528
  msgid "User changed the Product Data of a product"
5529
  msgstr ""
5530
 
5531
+ #: defaults.php:425
5532
  msgid ""
5533
  "Changed the type of the product %ProductTitle% %LineBreak% ID: %PostID% "
5534
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous type: %OldType% "
5535
  "%LineBreak% New type: %NewType% %LineBreak% %EditorLinkProduct%"
5536
  msgstr ""
5537
 
5538
+ #: defaults.php:426
5539
  msgid "User changed the date of a product"
5540
  msgstr ""
5541
 
5542
+ #: defaults.php:426
5543
  msgid ""
5544
  "Changed the date of the product %ProductTitle% %LineBreak% ID: %PostID% "
5545
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous date: %OldDate% "
5546
  "%LineBreak% New date: %NewDate% %LineBreak% %EditorLinkProduct%"
5547
  msgstr ""
5548
 
5549
+ #: defaults.php:427
5550
  msgid "User changed the visibility of a product"
5551
  msgstr ""
5552
 
5553
+ #: defaults.php:427
5554
  msgid ""
5555
  "Changed the visibility of the product %ProductTitle% %LineBreak% ID: %PostID"
5556
  "% %LineBreak% Status: %ProductStatus% %LineBreak% Previous visibility: "
5558
  "%EditorLinkProduct%"
5559
  msgstr ""
5560
 
5561
+ #: defaults.php:428
5562
  msgid "User modified the product"
5563
  msgstr ""
5564
 
5565
+ #: defaults.php:428
5566
  msgid ""
5567
  "Modified the product %ProductTitle% %LineBreak% ID: %PostID% %LineBreak% "
5568
  "Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5569
  msgstr ""
5570
 
5571
+ #: defaults.php:429
5572
  msgid "User modified the draft product"
5573
  msgstr ""
5574
 
5575
+ #: defaults.php:429
5576
  msgid ""
5577
  "Modified the draft product %ProductTitle%. View the product: "
5578
  "%EditorLinkProduct%."
5579
  msgstr ""
5580
 
5581
+ #: defaults.php:430
5582
  msgid "User moved a product to trash"
5583
  msgstr ""
5584
 
5585
+ #: defaults.php:430
5586
  msgid ""
5587
  "Moved the product %ProductTitle% to trash %LineBreak% ID: %PostID% %LineBreak"
5588
  "% Status: %ProductStatus%"
5589
  msgstr ""
5590
 
5591
+ #: defaults.php:431
5592
  msgid "User permanently deleted a product"
5593
  msgstr ""
5594
 
5595
+ #: defaults.php:431
5596
  msgid "Permanently deleted the product %ProductTitle% %LineBreak% ID: %PostID%"
5597
  msgstr ""
5598
 
5599
+ #: defaults.php:432
5600
  msgid "User restored a product from the trash"
5601
  msgstr ""
5602
 
5603
+ #: defaults.php:432
5604
  msgid ""
5605
  "Restored the product %ProductTitle% from trash %LineBreak% ID: %PostID% "
5606
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5607
  msgstr ""
5608
 
5609
+ #: defaults.php:433
5610
  msgid "User changed status of a product"
5611
  msgstr ""
5612
 
5613
+ #: defaults.php:433
5614
  msgid ""
5615
  "Changed the status of the product %ProductTitle% %LineBreak% ID: %PostID% "
5616
  "%LineBreak% Previous status: %OldStatus% %LineBreak% New status: %NewStatus% "
5617
  "%LineBreak% %EditorLinkProduct%"
5618
  msgstr ""
5619
 
5620
+ #: defaults.php:434
5621
  msgid "User opened a product in the editor"
5622
  msgstr ""
5623
 
5624
+ #: defaults.php:434
5625
  msgid ""
5626
  "Opened the product %ProductTitle% in the editor %LineBreak% ID: %PostID% "
5627
  "%LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5628
  msgstr ""
5629
 
5630
+ #: defaults.php:435
5631
  msgid "User viewed a product"
5632
  msgstr ""
5633
 
5634
+ #: defaults.php:435
5635
  msgid ""
5636
  "Viewed the product %ProductTitle% page %LineBreak% ID: %PostID% %LineBreak% "
5637
  "Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5638
  msgstr ""
5639
 
5640
+ #: defaults.php:436
5641
  msgid "User renamed a product"
5642
  msgstr ""
5643
 
5644
+ #: defaults.php:436
5645
  msgid ""
5646
+ "Old name: %OldTitle% %LineBreak% New name: %NewTitle% %LineBreak% ID: %PostID"
5647
+ "% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
 
5648
  msgstr ""
5649
 
5650
+ #: defaults.php:437
5651
  msgid "User changed type of a price"
5652
  msgstr ""
5653
 
5654
+ #: defaults.php:437
5655
  msgid ""
5656
  "Changed the %PriceType% of the product %ProductTitle% %LineBreak% ID: %PostID"
5657
  "% %LineBreak% Status: %ProductStatus% %LineBreak% Previous price: %OldPrice% "
5658
  "%LineBreak% New price: %NewPrice% %LineBreak% %EditorLinkProduct%"
5659
  msgstr ""
5660
 
5661
+ #: defaults.php:438
5662
  msgid "User changed the SKU of a product"
5663
  msgstr ""
5664
 
5665
+ #: defaults.php:438
5666
  msgid ""
5667
  "Changed the SKU of the product %ProductTitle% %LineBreak% ID: %PostID% "
5668
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous SKU: %OldSku% "
5669
  "%LineBreak% New SKU: %NewSku% %LineBreak% %EditorLinkProduct%"
5670
  msgstr ""
5671
 
5672
+ #: defaults.php:439
5673
  msgid "User changed the stock status of a product"
5674
  msgstr ""
5675
 
5676
+ #: defaults.php:439
5677
  msgid ""
5678
  "Changed the stock status of the product %ProductTitle% %LineBreak% ID: "
5679
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous stock "
5681
  "%EditorLinkProduct%"
5682
  msgstr ""
5683
 
5684
+ #: defaults.php:440
5685
  msgid "User changed the stock quantity"
5686
  msgstr ""
5687
 
5688
+ #: defaults.php:440
5689
  msgid ""
5690
  "Changed the stock quantity of the product %ProductTitle% %LineBreak% ID: "
5691
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous quantity: "
5693
  "%EditorLinkProduct%"
5694
  msgstr ""
5695
 
5696
+ #: defaults.php:441
5697
  msgid "User set a product type"
5698
  msgstr ""
5699
 
5700
+ #: defaults.php:441
5701
  msgid ""
5702
  "Changed the type of the %NewType% product %ProductTitle% %LineBreak% ID: "
5703
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous type: "
5704
  "%OldType% %LineBreak% New type: %NewType% %LineBreak% %EditorLinkProduct%"
5705
  msgstr ""
5706
 
5707
+ #: defaults.php:442
5708
  msgid "User changed the weight of a product"
5709
  msgstr ""
5710
 
5711
+ #: defaults.php:442
5712
  msgid ""
5713
  "Changed the weight of the product %ProductTitle% %LineBreak% ID: %PostID% "
5714
  "%LineBreak% Status: %ProductStatus% %LineBreak% Previous weight: %OldWeight% "
5715
  "%LineBreak% New weight: %NewWeight% %LineBreak% %EditorLinkProduct%"
5716
  msgstr ""
5717
 
5718
+ #: defaults.php:443
5719
  msgid "User changed the dimensions of a product"
5720
  msgstr ""
5721
 
5722
+ #: defaults.php:443
5723
  msgid ""
5724
  "Changed the %DimensionType% dimensions of the product %ProductTitle% "
5725
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5727
  "%LineBreak% %EditorLinkProduct%"
5728
  msgstr ""
5729
 
5730
+ #: defaults.php:444
5731
  msgid "User added the Downloadable File to a product"
5732
  msgstr ""
5733
 
5734
+ #: defaults.php:444
5735
  msgid ""
5736
  "Added a downloadable file to the product %ProductTitle% %LineBreak% ID: "
5737
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% File name: %FileName"
5738
  "% %LineBreak% File URL: %FileUrl% %LineBreak% %EditorLinkProduct%"
5739
  msgstr ""
5740
 
5741
+ #: defaults.php:445
5742
  msgid "User Removed the Downloadable File from a product"
5743
  msgstr ""
5744
 
5745
+ #: defaults.php:445
5746
  msgid ""
5747
  "Removed the downloadable file from the product %ProductTitle% %LineBreak% "
5748
  "ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% File name: "
5749
  "%FileName% %LineBreak% File URL: %FileUrl% %LineBreak% %EditorLinkProduct%"
5750
  msgstr ""
5751
 
5752
+ #: defaults.php:446
5753
  msgid "User changed the name of a Downloadable File in a product"
5754
  msgstr ""
5755
 
5756
+ #: defaults.php:446
5757
  msgid ""
5758
  "Changed the name of the downloadable file to the product %ProductTitle% "
5759
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5761
  "% %EditorLinkProduct%"
5762
  msgstr ""
5763
 
5764
+ #: defaults.php:447
5765
  msgid "User changed the URL of the Downloadable File in a product"
5766
  msgstr ""
5767
 
5768
+ #: defaults.php:447
5769
  msgid ""
5770
  "Changed the URL of the downloadable file to the product %ProductTitle% "
5771
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5773
  "URL: %NewUrl% %LineBreak% %EditorLinkProduct%"
5774
  msgstr ""
5775
 
5776
+ #: defaults.php:448
5777
  msgid "User changed the catalog visibility of a product"
5778
  msgstr ""
5779
 
5780
+ #: defaults.php:448
5781
  msgid ""
5782
  "Changed the product visibility of the product %ProductTitle% %LineBreak% ID: "
5783
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous setting: "
5785
  "%EditorLinkProduct%"
5786
  msgstr ""
5787
 
5788
+ #: defaults.php:449
5789
  msgid "User changed the setting Featured Product of a product"
5790
  msgstr ""
5791
 
5792
+ #: defaults.php:449
5793
  msgid ""
5794
  "The setting Featured Product for the product %ProductTitle% %LineBreak% ID: "
5795
  "%PostID% %LineBreak% Status: %ProductStatus% %LineBreak% %EditorLinkProduct%"
5796
  msgstr ""
5797
 
5798
+ #: defaults.php:450
5799
  msgid "User changed the Allow Backorders setting of a product"
5800
  msgstr ""
5801
 
5802
+ #: defaults.php:450
5803
  msgid ""
5804
  "Changed the Allow Backorders setting for the product %ProductTitle% "
5805
  "%LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5807
  "%EditorLinkProduct%"
5808
  msgstr ""
5809
 
5810
+ #: defaults.php:451
5811
  msgid "User added/removed products to upsell of a product"
5812
  msgstr ""
5813
 
5814
+ #: defaults.php:451
5815
  msgid ""
5816
  "Products to Upsell in the product %ProductTitle% %LineBreak% ID: %PostID% "
5817
  "%LineBreak% Status: %ProductStatus% %LineBreak% Product: %UpsellTitle% "
5818
  "%LineBreak% %EditorLinkProduct%"
5819
  msgstr ""
5820
 
5821
+ #: defaults.php:452
5822
  msgid "User added/removed products to cross-sells of a product"
5823
  msgstr ""
5824
 
5825
+ #: defaults.php:452
5826
  msgid ""
5827
  "Product to Cross-sell in the product %ProductTitle% %LineBreak% ID: %PostID% "
5828
  "%LineBreak% Status: %ProductStatus% %LineBreak% Product: %CrossSellTitle% "
5829
  "%LineBreak% %EditorLinkProduct%"
5830
  msgstr ""
5831
 
5832
+ #: defaults.php:453
5833
+ msgid "System changed the stock quantity of a product"
5834
+ msgstr ""
5835
+
5836
+ #: defaults.php:453
5837
+ msgid ""
5838
+ "The stock quantity of the product %ProductTitle% was changed due to a "
5839
+ "purchase. %LineBreak% ID: %PostID% %LineBreak% Status: %ProductStatus% "
5840
+ "%LineBreak% Previous quantity: %OldValue% %LineBreak% New quantity: %NewValue"
5841
+ "% %LineBreak% %EditorLinkProduct%"
5842
+ msgstr ""
5843
+
5844
+ #: defaults.php:454
5845
  msgid "Added a new attribute of a product"
5846
  msgstr ""
5847
 
5848
+ #: defaults.php:454
5849
  msgid ""
5850
  "A new attribute to the product %ProductTitle% %LineBreak% ID: %ProductID% "
5851
  "%LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: "
5853
  "%EditorLinkProduct%"
5854
  msgstr ""
5855
 
5856
+ #: defaults.php:455
5857
  msgid "Modified the value of an attribute of a product"
5858
  msgstr ""
5859
 
5860
+ #: defaults.php:455
5861
  msgid ""
5862
  "Modified the value of an attribute in the product %ProductTitle% %LineBreak% "
5863
  "ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Attribute "
5865
  "%LineBreak% New attribute value: %NewValue% %LineBreak% %EditorLinkProduct%"
5866
  msgstr ""
5867
 
5868
+ #: defaults.php:456
5869
  msgid "Changed the name of an attribute of a product"
5870
  msgstr ""
5871
 
5872
+ #: defaults.php:456
5873
  msgid ""
5874
  "Changed the name of an attribute in the product %ProductTitle% %LineBreak% "
5875
  "ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% Previous "
5877
  "%LineBreak% %EditorLinkProduct%"
5878
  msgstr ""
5879
 
5880
+ #: defaults.php:457
5881
  msgid "Deleted an attribute of a product"
5882
  msgstr ""
5883
 
5884
+ #: defaults.php:457
5885
  msgid ""
5886
  "An attribute from the product %ProductTitle% %LineBreak% ID: %ProductID% "
5887
  "%LineBreak% Status: %ProductStatus% %LineBreak% Attribute name: "
5889
  "%EditorLinkProduct%"
5890
  msgstr ""
5891
 
5892
+ #: defaults.php:458
5893
  msgid "Set the attribute visibility of a product"
5894
  msgstr ""
5895
 
5896
+ #: defaults.php:458
5897
  msgid ""
5898
  "Changed the visibility of an attribute in the product %ProductTitle% "
5899
  "%LineBreak% ID: %ProductID% %LineBreak% Status: %ProductStatus% %LineBreak% "
5901
  "%AttributeVisiblilty% %LineBreak% %EditorLinkProduct%"
5902
  msgstr ""
5903
 
5904
+ #: defaults.php:461
5905
  msgid "Store"
5906
  msgstr ""
5907
 
5908
+ #: defaults.php:462
5909
  msgid "User changed the Weight Unit"
5910
  msgstr ""
5911
 
5912
+ #: defaults.php:462
5913
  msgid ""
5914
  "Changed the weight unit of the store %LineBreak% Previous weight unit: "
5915
  "%OldUnit% %LineBreak% New weight unit: %NewUnit%"
5916
  msgstr ""
5917
 
5918
+ #: defaults.php:463
5919
  msgid "User changed the Dimensions Unit"
5920
  msgstr ""
5921
 
5922
+ #: defaults.php:463
5923
  msgid ""
5924
  "Changed the dimensions unit of the store %LineBreak% Previous dimensions "
5925
  "unit: %OldUnit% %LineBreak% New dimensions unit: %NewUnit%"
5926
  msgstr ""
5927
 
5928
+ #: defaults.php:464
5929
  msgid "User changed the Base Location"
5930
  msgstr ""
5931
 
5932
+ #: defaults.php:464
5933
  msgid ""
5934
+ "Changed the base location %LineBreak% Previous address: %OldLocation% "
5935
+ "%LineBreak% New address: %NewLocation%"
5936
  msgstr ""
5937
 
5938
+ #: defaults.php:465
5939
  msgid "User enabled/disabled taxes"
5940
  msgstr ""
5941
 
5942
+ #: defaults.php:465
5943
+ msgid "Taxes in WooCommerce"
5944
  msgstr ""
5945
 
5946
+ #: defaults.php:466
5947
  msgid "User changed the currency"
5948
  msgstr ""
5949
 
5950
+ #: defaults.php:466
5951
  msgid ""
5952
  "Changed the currency of the store %LineBreak% Previous currency: %OldCurrency"
5953
  "% %LineBreak% New currency: %NewCurrency%"
5954
  msgstr ""
5955
 
5956
+ #: defaults.php:467
5957
  msgid "User enabled/disabled the use of coupons during checkout"
5958
  msgstr ""
5959
 
5960
+ #: defaults.php:467
5961
  msgid "The use of coupons during checkout"
5962
  msgstr ""
5963
 
5964
+ #: defaults.php:468
5965
  msgid "User enabled/disabled guest checkout"
5966
  msgstr ""
5967
 
5968
+ #: defaults.php:468
5969
  msgid "Guest checkout in the store"
5970
  msgstr ""
5971
 
5972
+ #: defaults.php:469
5973
  msgid "User enabled/disabled cash on delivery"
5974
  msgstr ""
5975
 
5976
+ #: defaults.php:469
5977
  msgid "The option cash on delivery"
5978
  msgstr ""
5979
 
5980
+ #: defaults.php:470
5981
+ msgid "User modified selling location(s)"
5982
+ msgstr ""
5983
+
5984
+ #: defaults.php:470
5985
+ msgid ""
5986
+ "The setting Selling location(s) %LineBreak% Old setting: %old% %LineBreak% "
5987
+ "New Setting: %new%"
5988
+ msgstr ""
5989
+
5990
+ #: defaults.php:471
5991
+ msgid "User modified excluded selling location(s)"
5992
+ msgstr ""
5993
+
5994
+ #: defaults.php:471
5995
+ msgid ""
5996
+ "Changed the list of excluded countries to sell to %LineBreak% Old setting: "
5997
+ "%old% %LineBreak% New Setting: %new%"
5998
+ msgstr ""
5999
+
6000
+ #: defaults.php:472
6001
+ msgid "User modified exclusive selling location(s)"
6002
+ msgstr ""
6003
+
6004
+ #: defaults.php:472
6005
+ msgid ""
6006
+ "Changed the list of countries to sell to %LineBreak% Old setting: %old% "
6007
+ "%LineBreak% New Setting: %new%"
6008
+ msgstr ""
6009
+
6010
+ #: defaults.php:473
6011
+ msgid "User modified shipping location(s)"
6012
+ msgstr ""
6013
+
6014
+ #: defaults.php:473
6015
+ msgid ""
6016
+ "The setting Shipping location(s) %LineBreak% Old setting: %old% %LineBreak% "
6017
+ "New Setting: %new%"
6018
+ msgstr ""
6019
+
6020
+ #: defaults.php:474
6021
+ msgid "User modified exclusive shipping location(s)"
6022
+ msgstr ""
6023
+
6024
+ #: defaults.php:474
6025
+ msgid ""
6026
+ "Changed the list of specific countries to ship to %LineBreak% Old setting: "
6027
+ "%old% %LineBreak% New Setting: %new%"
6028
+ msgstr ""
6029
+
6030
+ #: defaults.php:475
6031
+ msgid "User modified default customer location"
6032
+ msgstr ""
6033
+
6034
+ #: defaults.php:475
6035
+ msgid ""
6036
+ "The setting Default customer location %LineBreak% Old setting: %old% "
6037
+ "%LineBreak% New Setting: %new%"
6038
+ msgstr ""
6039
+
6040
+ #: defaults.php:476
6041
+ msgid "User modified the cart page"
6042
+ msgstr ""
6043
+
6044
+ #: defaults.php:476
6045
+ msgid ""
6046
+ "Changed the Cart Page %LineBreak% Old page: %old% %LineBreak% New page: %new%"
6047
+ msgstr ""
6048
+
6049
+ #: defaults.php:477
6050
+ msgid "User modified the checkout page"
6051
+ msgstr ""
6052
+
6053
+ #: defaults.php:477
6054
+ msgid ""
6055
+ "Changed the Checkout page %LineBreak% Old page: %old% %LineBreak% New page: "
6056
+ "%new%"
6057
+ msgstr ""
6058
+
6059
+ #: defaults.php:478
6060
+ msgid "User modified the my account page"
6061
+ msgstr ""
6062
+
6063
+ #: defaults.php:478
6064
+ msgid ""
6065
+ "Changed the My Account Page %LineBreak% Old page: %old% %LineBreak% New "
6066
+ "page: %new%"
6067
+ msgstr ""
6068
+
6069
+ #: defaults.php:479
6070
+ msgid "User modified the terms and conditions page"
6071
+ msgstr ""
6072
+
6073
+ #: defaults.php:479
6074
+ msgid ""
6075
+ "Changed the Terms and Conditions Page %LineBreak% Old page: %old% %LineBreak"
6076
+ "% New page: %new%"
6077
+ msgstr ""
6078
+
6079
+ #: defaults.php:482
6080
  msgid "Payment Gateways"
6081
  msgstr ""
6082
 
6083
+ #: defaults.php:483
6084
  msgid "User enabled/disabled a payment gateway"
6085
  msgstr ""
6086
 
6087
+ #: defaults.php:483 defaults.php:485
6088
  msgid "The payment gateway %GatewayName%"
6089
  msgstr ""
6090
 
6091
+ #: defaults.php:484
6092
  msgid "User disabled a payment gateway"
6093
  msgstr ""
6094
 
6095
+ #: defaults.php:484
6096
  msgid "Disabled the payment gateway %GatewayName%"
6097
  msgstr ""
6098
 
6099
+ #: defaults.php:485
6100
  msgid "User modified a payment gateway"
6101
  msgstr ""
6102
 
6103
+ #: defaults.php:488
6104
  msgid "Tax Settings"
6105
  msgstr ""
6106
 
6107
+ #: defaults.php:489
6108
  msgid "User modified prices with tax option"
6109
  msgstr ""
6110
 
6111
+ #: defaults.php:489
6112
  msgid "Set the option that prices are %TaxStatus% of tax"
6113
  msgstr ""
6114
 
6115
+ #: defaults.php:490
6116
  msgid "User modified tax calculation base"
6117
  msgstr ""
6118
 
6119
+ #: defaults.php:490
6120
  msgid "Set the setting Calculate tax based on to %Setting%"
6121
  msgstr ""
6122
 
6123
+ #: defaults.php:491
6124
  msgid "User modified shipping tax class"
6125
  msgstr ""
6126
 
6127
+ #: defaults.php:491
6128
  msgid "Set the Shipping tax class to %Setting%"
6129
  msgstr ""
6130
 
6131
+ #: defaults.php:492
6132
  msgid "User enabled/disabled rounding of tax"
6133
  msgstr ""
6134
 
6135
+ #: defaults.php:492
6136
  msgid "Rounding of tax at subtotal level"
6137
  msgstr ""
6138
 
6139
+ #: defaults.php:493
6140
  msgid "User modified a shipping zone"
6141
  msgstr ""
6142
 
6143
+ #: defaults.php:493
6144
  msgid "The shipping zone %ShippingZoneName%"
6145
  msgstr ""
6146
 
6147
+ #: defaults.php:496
6148
  msgid "WC Categories"
6149
  msgstr ""
6150
 
6151
+ #: defaults.php:497
6152
  msgid "User created a new product category"
6153
  msgstr ""
6154
 
6155
+ #: defaults.php:497
6156
  msgid ""
6157
  "A new product category called %CategoryName% %LineBreak% Category slug is "
6158
  "%Slug% %LineBreak% %ProductCatLink%"
6159
  msgstr ""
6160
 
6161
+ #: defaults.php:498
6162
  msgid "User deleted a product category"
6163
  msgstr ""
6164
 
6165
+ #: defaults.php:498
6166
  msgid ""
6167
  "The product category called %CategoryName% %LineBreak% Category slug: "
6168
  "%CategorySlug%"
6169
  msgstr ""
6170
 
6171
+ #: defaults.php:499
6172
  msgid "User changed the slug of a product category"
6173
  msgstr ""
6174
 
6175
+ #: defaults.php:499
6176
  msgid ""
6177
  "Changed the slug of the product category called %CategoryName% %LineBreak% "
6178
  "Previous category slug: %OldSlug% %LineBreak% New category slug: %NewSlug% "
6179
  "%LineBreak% %ProductCatLink%"
6180
  msgstr ""
6181
 
6182
+ #: defaults.php:500
6183
  msgid "User changed the parent category of a product category"
6184
  msgstr ""
6185
 
6186
+ #: defaults.php:500
6187
  msgid ""
6188
  "Changed the parent of the product category %CategoryName% %LineBreak% "
6189
+ "Category slug: %CategorySlug% %LineBreak% Previous parent: %OldParentCat% "
6190
+ "%LineBreak% New parent: %NewParentCat% %LineBreak% %ProductCatLink%"
6191
  msgstr ""
6192
 
6193
+ #: defaults.php:501
6194
  msgid "User changed the display type of a product category"
6195
  msgstr ""
6196
 
6197
+ #: defaults.php:501
6198
  msgid ""
6199
  "Changed the display type of the product category %CategoryName% %LineBreak% "
6200
  "%CategorySlug% %LineBreak% Previous display type: %OldDisplayType% %LineBreak"
6201
  "% New display type: %NewDisplayType% %LineBreak% %ProductCatLink%"
6202
  msgstr ""
6203
 
6204
+ #: defaults.php:502
6205
  msgid "User changed the name of a product category"
6206
  msgstr ""
6207
 
6208
+ #: defaults.php:502
6209
  msgid ""
6210
+ "Previous name: %OldName% %LineBreak% New name: %NewName% %LineBreak% "
6211
+ "Category slug: %CategorySlug% %LineBreak% %ProductCatLink%"
 
6212
  msgstr ""
6213
 
6214
+ #: defaults.php:505
6215
  msgid "Attributes"
6216
  msgstr ""
6217
 
6218
+ #: defaults.php:506
6219
  msgid "User created a new attribute"
6220
  msgstr ""
6221
 
6222
+ #: defaults.php:506
6223
  msgid ""
6224
  "A new attribute in WooCommerce called %AttributeName% %LineBreak% Attribute "
6225
  "slug: %AttributeSlug%"
6226
  msgstr ""
6227
 
6228
+ #: defaults.php:507
6229
  msgid "User deleted an attribute"
6230
  msgstr ""
6231
 
6232
+ #: defaults.php:507
6233
  msgid ""
6234
  "The WooCommerce attribute called %AttributeName% %LineBreak% Attribute slug: "
6235
  "%AttributeSlug%"
6236
  msgstr ""
6237
 
6238
+ #: defaults.php:508
6239
  msgid "User changed the slug of an attribute"
6240
  msgstr ""
6241
 
6242
+ #: defaults.php:508
6243
  msgid ""
6244
  "Changed the slug of the WooCommerce attribute %AttributeName% %LineBreak% "
6245
  "Previous slug: %OldSlug% %LineBreak% New slug: %NewSlug%"
6246
  msgstr ""
6247
 
6248
+ #: defaults.php:509
6249
  msgid "User changed the name of an attribute"
6250
  msgstr ""
6251
 
6252
+ #: defaults.php:509
6253
  msgid ""
6254
  "Changed the name of the WooCommerce attribute %AttributeName% %LineBreak% "
6255
  "Attribute slug: %AttributeSlug% %LineBreak% Previous name: %OldName% "
6256
  "%LineBreak% New name: %NewName%"
6257
  msgstr ""
6258
 
6259
+ #: defaults.php:510
6260
  msgid "User changed the default sort order of an attribute"
6261
  msgstr ""
6262
 
6263
+ #: defaults.php:510
6264
  msgid ""
6265
  "Changed the Default Sort Order of the attribute %AttributeName% in "
6266
  "WooCommerce %LineBreak% Attribute slug: %AttributeSlug% %LineBreak% Previous "
6267
  "sorting order: %OldSortOrder% %LineBreak% New sorting order: %NewSortOrder%"
6268
  msgstr ""
6269
 
6270
+ #: defaults.php:511
6271
  msgid "User enabled/disabled the option Enable Archives of an attribute"
6272
  msgstr ""
6273
 
6274
+ #: defaults.php:511
6275
  msgid "The option Enable Archives in WooCommerce attribute %AttributeName%"
6276
  msgstr ""
6277
 
6278
+ #: defaults.php:514
6279
  msgid "Coupons"
6280
  msgstr ""
6281
 
6282
+ #: defaults.php:515
6283
  msgid "User published a new coupon"
6284
  msgstr ""
6285
 
6286
+ #: defaults.php:515
6287
  msgid ""
6288
  "Published a new coupon called %CouponName% %LineBreak% %EditorLinkCoupon%"
6289
  msgstr ""
6290
 
6291
+ #: defaults.php:516
6292
  msgid "User changed the discount type of a coupon"
6293
  msgstr ""
6294
 
6295
+ #: defaults.php:516
6296
  msgid ""
6297
  "Changed the Discount Type in coupon %CouponName% %LineBreak% Previous "
6298
  "discount type: %OldDiscountType% %LineBreak% New discount type: "
6299
  "%NewDiscountType% %LineBreak% %EditorLinkCoupon%"
6300
  msgstr ""
6301
 
6302
+ #: defaults.php:517
6303
  msgid "User changed the coupon amount of a coupon"
6304
  msgstr ""
6305
 
6306
+ #: defaults.php:517
6307
  msgid ""
6308
  "Changed the Coupon amount in coupon %CouponName% %LineBreak% Previous "
6309
  "amount: %OldAmount% %LineBreak% New amount: %NewAmount% %LineBreak% "
6310
  "%EditorLinkCoupon%"
6311
  msgstr ""
6312
 
6313
+ #: defaults.php:518
6314
  msgid "User changed the coupon expire date of a coupon"
6315
  msgstr ""
6316
 
6317
+ #: defaults.php:518
6318
  msgid ""
6319
  "Changed the expire date of the coupon %CouponName% %LineBreak% Previous "
6320
  "date: %OldDate% %LineBreak% New date: %NewDate% %LineBreak% %EditorLinkCoupon"
6321
  "%"
6322
  msgstr ""
6323
 
6324
+ #: defaults.php:519
6325
  msgid "User changed the usage restriction settings of a coupon"
6326
  msgstr ""
6327
 
6328
+ #: defaults.php:519
6329
  msgid ""
6330
  "Changed the Usage Restriction of the coupon %CouponName% %LineBreak% "
6331
  "Previous usage restriction: %OldMetaValue% %LineBreak% New usage "
6332
  "restriction: %NewMetaValue% %LineBreak% %EditorLinkCoupon%"
6333
  msgstr ""
6334
 
6335
+ #: defaults.php:520
6336
  msgid "User changed the usage limits settings of a coupon"
6337
  msgstr ""
6338
 
6339
+ #: defaults.php:520
6340
  msgid ""
6341
  "Changed the Usage Limits of the coupon %CouponName% %LineBreak% Previous "
6342
  "usage limits: %OldMetaValue% %LineBreak% New usage limits: %NewMetaValue% "
6343
  "%LineBreak% %EditorLinkCoupon%"
6344
  msgstr ""
6345
 
6346
+ #: defaults.php:521
6347
  msgid "User changed the description of a coupon"
6348
  msgstr ""
6349
 
6350
+ #: defaults.php:521
6351
  msgid ""
6352
  "Changed the description of the coupon %CouponName% %LineBreak% Previous "
6353
  "description: %OldDescription% %LineBreak% New description: %NewDescription% "
6354
  "%LineBreak% %EditorLinkCoupon%"
6355
  msgstr ""
6356
 
6357
+ #: defaults.php:522
6358
  msgid "User changed the status of a coupon"
6359
  msgstr ""
6360
 
6361
+ #: defaults.php:522
6362
  msgid ""
6363
  "Changed the Status of the WooCommerce coupon %CouponName% from %OldStatus% "
6364
  "to %NewStatus%."
6365
  msgstr ""
6366
 
6367
+ #: defaults.php:523
6368
  msgid "User renamed a WooCommerce coupon"
6369
  msgstr ""
6370
 
6371
+ #: defaults.php:523
6372
  msgid ""
6373
+ "Old coupon name: %OldName% %LineBreak% New coupon name: %NewName% %LineBreak"
6374
+ "% %EditorLinkCoupon%"
6375
  msgstr ""
6376
 
6377
+ #: defaults.php:526
6378
  msgid "Orders"
6379
  msgstr ""
6380
 
6381
+ #: defaults.php:527
6382
  msgid "A WooCommerce order has been placed"
6383
  msgstr ""
6384
 
6385
+ #: defaults.php:527
6386
  msgid ""
6387
  "A new order has been placed %LineBreak% Order name: %OrderTitle% %LineBreak% "
6388
  "%EditorLinkOrder%"
6389
  msgstr ""
6390
 
6391
+ #: defaults.php:528
6392
  msgid "WooCommerce order status changed"
6393
  msgstr ""
6394
 
6395
+ #: defaults.php:528
6396
  msgid ""
6397
  "Marked an order %OrderTitle% as %OrderStatus% %LineBreak% %EditorLinkOrder%"
6398
  msgstr ""
6399
 
6400
+ #: defaults.php:529
6401
  msgid "User moved a WooCommerce order to trash"
6402
  msgstr ""
6403
 
6404
+ #: defaults.php:529
6405
  msgid "Moved the order %OrderTitle% to trash"
6406
  msgstr ""
6407
 
6408
+ #: defaults.php:530
6409
  msgid "User moved a WooCommerce order out of trash"
6410
  msgstr ""
6411
 
6412
+ #: defaults.php:530
6413
  msgid ""
6414
  "Restored the order %OrderTitle% from the trash %LineBreak% %EditorLinkOrder%"
6415
  msgstr ""
6416
 
6417
+ #: defaults.php:531
6418
  msgid "User permanently deleted a WooCommerce order"
6419
  msgstr ""
6420
 
6421
+ #: defaults.php:531
6422
  msgid "Permanently deleted the order %OrderTitle%"
6423
  msgstr ""
6424
 
6425
+ #: defaults.php:532
6426
  msgid "User edited a WooCommerce order"
6427
  msgstr ""
6428
 
6429
+ #: defaults.php:532
6430
  msgid "Edited the details in order %OrderTitle% %LineBreak% %EditorLinkOrder%"
6431
  msgstr ""
6432
 
6433
+ #: defaults.php:533
6434
  msgid "User refunded a WooCommerce order"
6435
  msgstr ""
6436
 
6437
+ #: defaults.php:533
6438
  msgid "Refunded the order %OrderTitle% %LineBreak% %EditorLinkOrder%"
6439
  msgstr ""
6440
 
6441
+ #: defaults.php:536
6442
  msgid "User Profile"
6443
  msgstr ""
6444
 
6445
+ #: defaults.php:537
6446
  msgid "User changed the billing address details"
6447
  msgstr ""
6448
 
6449
+ #: defaults.php:537
6450
  msgid ""
6451
  "Changed the billing address details of the user %TargetUsername% %LineBreak% "
6452
+ "Role: %Roles% %LineBreak% New Billing address: %NewValue% %LineBreak% "
 
6453
  "%EditUserLink%"
6454
  msgstr ""
6455
 
6456
+ #: defaults.php:538
6457
  msgid "User changed the shipping address details"
6458
  msgstr ""
6459
 
6460
+ #: defaults.php:538
6461
  msgid ""
6462
  "Changed the shipping address details of the user %TargetUsername% %LineBreak"
6463
+ "% Role: %Roles% %LineBreak% New Shipping address: %NewValue% %LineBreak% "
 
6464
  "%EditUserLink%"
6465
  msgstr ""
6466
 
6467
+ #: defaults.php:544
6468
  msgid "User changed title of a SEO post"
6469
  msgstr ""
6470
 
6471
+ #: defaults.php:544
6472
  msgid ""
6473
  "Changed the Meta title of the post %PostTitle% %LineBreak% ID: %PostID% "
6474
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
6476
  "% %EditorLinkPost%"
6477
  msgstr ""
6478
 
6479
+ #: defaults.php:545
6480
  msgid "User changed the meta description of a SEO post"
6481
  msgstr ""
6482
 
6483
+ #: defaults.php:545
6484
  msgid ""
6485
  "Changed the Meta Description of the post %PostTitle% %LineBreak% ID: %PostID"
6486
  "% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
6488
  "%LineBreak% %EditorLinkPost%"
6489
  msgstr ""
6490
 
6491
+ #: defaults.php:546
6492
  msgid ""
6493
  "User changed setting to allow search engines to show post in search results "
6494
  "of a SEO post"
6495
  msgstr ""
6496
 
6497
+ #: defaults.php:546
6498
  msgid ""
6499
  "Changed the setting to allow search engines to show post in search results "
6500
  "for the post %PostTitle% %LineBreak% ID: %PostID% %LineBreak% Type: %PostType"
6502
  "%LineBreak% New setting: %NewStatus% %LineBreak% %EditorLinkPost%"
6503
  msgstr ""
6504
 
6505
+ #: defaults.php:547
6506
  msgid ""
6507
  "User Enabled/Disabled the option for search engine to follow links of a SEO "
6508
  "post"
6509
  msgstr ""
6510
 
6511
+ #: defaults.php:547
6512
  msgid ""
6513
  "The option for search engine to follow links in post %PostTitle% %LineBreak% "
6514
  "ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
6515
  "%LineBreak% %EditorLinkPost%"
6516
  msgstr ""
6517
 
6518
+ #: defaults.php:548
6519
  msgid "User set the meta robots advanced setting of a SEO post"
6520
  msgstr ""
6521
 
6522
+ #: defaults.php:548
6523
  msgid ""
6524
  "Changed the Meta Robots Advanced setting for the post %PostTitle% %LineBreak"
6525
  "% ID: %PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
6527
  "% %LineBreak% %EditorLinkPost%"
6528
  msgstr ""
6529
 
6530
+ #: defaults.php:549
6531
  msgid "User changed the canonical URL of a SEO post"
6532
  msgstr ""
6533
 
6534
+ #: defaults.php:549
6535
  msgid ""
6536
  "Changed the Canonical URL of the post %PostTitle% %LineBreak% ID: %PostID% "
6537
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
6539
  "%LineBreak% %EditorLinkPost%"
6540
  msgstr ""
6541
 
6542
+ #: defaults.php:550
6543
  msgid "User changed the focus keyword of a SEO post"
6544
  msgstr ""
6545
 
6546
+ #: defaults.php:550
6547
  msgid ""
6548
  "Changed the focus keyword for the post %PostTitle% %LineBreak% ID: %PostID% "
6549
  "%LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% %LineBreak% "
6551
  "%LineBreak% %EditorLinkPost%"
6552
  msgstr ""
6553
 
6554
+ #: defaults.php:551
6555
  msgid "User Enabled/Disabled the option Cornerston Content of a SEO post"
6556
  msgstr ""
6557
 
6558
+ #: defaults.php:551
6559
  msgid ""
6560
  "The option Cornerstone Content in the post %PostTitle% %LineBreak% ID: "
6561
  "%PostID% %LineBreak% Type: %PostType% %LineBreak% Status: %PostStatus% "
6562
  "%LineBreak% %EditorLinkPost%"
6563
  msgstr ""
6564
 
6565
+ #: defaults.php:554
6566
  msgid "Website Changes"
6567
  msgstr ""
6568
 
6569
+ #: defaults.php:555
6570
  msgid "User changed the Title Separator setting"
6571
  msgstr ""
6572
 
6573
+ #: defaults.php:555
6574
  msgid ""
6575
  "Changed the default title separator %LineBreak% Previous separator: %old% "
6576
  "%LineBreak% New separator: %new%"
6577
  msgstr ""
6578
 
6579
+ #: defaults.php:556
6580
  msgid "User changed the Homepage Title setting"
6581
  msgstr ""
6582
 
6583
+ #: defaults.php:556
6584
  msgid ""
6585
  "Changed the homepage Meta title %LineBreak% Previous title: %old% %LineBreak"
6586
  "% New title: %new%"
6587
  msgstr ""
6588
 
6589
+ #: defaults.php:557
6590
  msgid "User changed the Homepage Meta description setting"
6591
  msgstr ""
6592
 
6593
+ #: defaults.php:557
6594
  msgid ""
6595
  "Changed the homepage Meta description %LineBreak% Previous description: %old"
6596
  "% %LineBreak% New description: %new%"
6597
  msgstr ""
6598
 
6599
+ #: defaults.php:558
6600
  msgid "User changed the Company or Person setting"
6601
  msgstr ""
6602
 
6603
+ #: defaults.php:558
6604
  msgid ""
6605
  "Changed the Company or Person setting %LineBreak% Previous setting: %old% "
6606
  "%LineBreak% New setting: %new%"
6607
  msgstr ""
6608
 
6609
+ #: defaults.php:561
6610
  msgid "Plugin Settings Changes"
6611
  msgstr ""
6612
 
6613
+ #: defaults.php:562
6614
  msgid ""
6615
  "User Enabled/Disabled the option Show Posts/Pages in Search Results in the "
6616
  "Yoast SEO plugin settings"
6617
  msgstr ""
6618
 
6619
+ #: defaults.php:562
6620
  msgid "The option to show %SEOPostType% in search results"
6621
  msgstr ""
6622
 
6623
+ #: defaults.php:563
6624
  msgid ""
6625
  "User changed the Posts/Pages title template in the Yoast SEO plugin settings"
6626
  msgstr ""
6627
 
6628
+ #: defaults.php:563
6629
  msgid ""
6630
  "Changed the %SEOPostType% Meta (SEO) title template %LineBreak% Previous "
6631
  "template: %old% %LineBreak% New template: %new%"
6632
  msgstr ""
6633
 
6634
+ #: defaults.php:564
6635
  msgid "User Enabled/Disabled SEO analysis in the Yoast SEO plugin settings"
6636
  msgstr ""
6637
 
6638
+ #: defaults.php:564
6639
  msgid "The SEO Analysis feature"
6640
  msgstr ""
6641
 
6642
+ #: defaults.php:565
6643
  msgid ""
6644
  "User Enabled/Disabled readability analysis in the Yoast SEO plugin settings"
6645
  msgstr ""
6646
 
6647
+ #: defaults.php:565
6648
  msgid "The Readability Analysis feature"
6649
  msgstr ""
6650
 
6651
+ #: defaults.php:566
6652
  msgid ""
6653
  "User Enabled/Disabled cornerstone content in the Yoast SEO plugin settings"
6654
  msgstr ""
6655
 
6656
+ #: defaults.php:566
6657
  msgid "The Cornerstone content feature"
6658
  msgstr ""
6659
 
6660
+ #: defaults.php:567
6661
  msgid ""
6662
  "User Enabled/Disabled the text link counter in the Yoast SEO plugin settings"
6663
  msgstr ""
6664
 
6665
+ #: defaults.php:567
6666
  msgid "The Text link counter feature"
6667
  msgstr ""
6668
 
6669
+ #: defaults.php:568
6670
  msgid "User Enabled/Disabled XML sitemaps in the Yoast SEO plugin settings"
6671
  msgstr ""
6672
 
6673
+ #: defaults.php:568
6674
  msgid "The XML sitemap feature"
6675
  msgstr ""
6676
 
6677
+ #: defaults.php:569
6678
  msgid "User Enabled/Disabled ryte integration in the Yoast SEO plugin settings"
6679
  msgstr ""
6680
 
6681
+ #: defaults.php:569
6682
  msgid "The Ryte integration feature"
6683
  msgstr ""
6684
 
6685
+ #: defaults.php:570
6686
  msgid ""
6687
  "User Enabled/Disabled the admin bar menu in the Yoast SEO plugin settings"
6688
  msgstr ""
6689
 
6690
+ #: defaults.php:570
6691
  msgid "The Admin bar menu feature"
6692
  msgstr ""
6693
 
6694
+ #: defaults.php:571
6695
  msgid ""
6696
  "User changed the Posts/Pages meta description template in the Yoast SEO "
6697
  "plugin settings"
6698
  msgstr ""
6699
 
6700
+ #: defaults.php:571
6701
  msgid ""
6702
  "Changed the %SEOPostType% Meta description template %LineBreak% Previous "
6703
  "template: %old% New template: %new%"
6704
  msgstr ""
6705
 
6706
+ #: defaults.php:572
6707
  msgid ""
6708
  "User set the option Date in Snippet Preview for Posts/Pages in the Yoast SEO "
6709
  "plugin settings"
6710
  msgstr ""
6711
 
6712
+ #: defaults.php:572
6713
  msgid "The option Date in Snippet Preview for %SEOPostType%"
6714
  msgstr ""
6715
 
6716
+ #: defaults.php:573
6717
  msgid ""
6718
  "User set the option Yoast SEO Meta Box for Posts/Pages in the Yoast SEO "
6719
  "plugin settings"
6720
  msgstr ""
6721
 
6722
+ #: defaults.php:573
6723
  msgid "The option Yoast SEO Meta Box for %SEOPostType%"
6724
  msgstr ""
6725
 
6726
+ #: defaults.php:574
6727
  msgid ""
6728
  "User Enabled/Disabled the advanced settings for authors in the Yoast SEO "
6729
  "plugin settings"
6730
  msgstr ""
6731
 
6732
+ #: defaults.php:574
6733
  msgid "The Security: no advanced settings for authors feature"
6734
  msgstr ""
6735
 
6736
  #. translators: Username
6737
+ #: wp-security-audit-log.php:837 wp-security-audit-log.php:864
6738
  #, php-format
6739
  msgid "Hey %1$s"
6740
  msgstr ""
6741
 
6742
+ #: wp-security-audit-log.php:838
6743
  msgid ""
6744
  "Never miss an important update! Opt-in to our security and feature updates "
6745
  "notifications, and non-sensitive diagnostic tracking with freemius.com."
6746
  msgstr ""
6747
 
6748
+ #: wp-security-audit-log.php:839 wp-security-audit-log.php:867
6749
  msgid "Note: "
6750
  msgstr ""
6751
 
6752
+ #: wp-security-audit-log.php:840 wp-security-audit-log.php:868
6753
  msgid "NO AUDIT LOG ACTIVITY & DATA IS SENT BACK TO OUR SERVERS."
6754
  msgstr ""
6755
 
6756
  #. translators: 1: Plugin name. 2: Freemius link.
6757
+ #: wp-security-audit-log.php:866
6758
  #, php-format
6759
  msgid ""
6760
  "Please help us improve %2$s! If you opt-in, some non-sensitive data about "
6763
  msgstr ""
6764
 
6765
  #. translators: Plugin name
6766
+ #: wp-security-audit-log.php:888
6767
  #, php-format
6768
  msgid ""
6769
  "Get a free 7-day trial of the premium edition of %s. No credit card "
6771
  msgstr ""
6772
 
6773
  #. Plugin Name of the plugin/theme
6774
+ #: wp-security-audit-log.php:889
6775
  msgid "WP Security Audit Log"
6776
  msgstr ""
6777
 
6778
+ #: wp-security-audit-log.php:893
6779
  msgid "Start free trial"
6780
  msgstr ""
6781
 
6782
+ #: wp-security-audit-log.php:961
6783
  #, php-format
6784
  msgid ""
6785
  "You need to activate the licence key to use WP Securitity Audit Log Premium. "
6786
  "%2$s"
6787
  msgstr ""
6788
 
6789
+ #: wp-security-audit-log.php:962
6790
  msgid "Activate the licence key now"
6791
  msgstr ""
6792
 
6793
+ #: wp-security-audit-log.php:979
6794
  #, php-format
6795
  msgid ""
6796
  "The license is limited to %s sub-sites. You need to upgrade your license to "
6797
  "cover all the sub-sites on this network."
6798
  msgstr ""
6799
 
6800
+ #: wp-security-audit-log.php:1089
6801
  msgid ""
6802
  "Error: You do not have sufficient permissions to disable this custom field."
6803
  msgstr ""
6804
 
6805
+ #: wp-security-audit-log.php:1122
6806
  #, php-format
6807
  msgid ""
6808
  "Custom Field %1$s is no longer being monitored.<br />Enable the monitoring "
6809
  "of this custom field again from the"
6810
  msgstr ""
6811
 
6812
+ #: wp-security-audit-log.php:1122
6813
  msgid "Excluded Objects"
6814
  msgstr ""
6815
 
6816
+ #: wp-security-audit-log.php:1122
6817
  msgid " tab in the plugin settings"
6818
  msgstr ""
6819
 
6820
+ #: wp-security-audit-log.php:1134
6821
  msgid "Error: You do not have sufficient permissions to disable this alert."
6822
  msgstr ""
6823
 
6824
+ #: wp-security-audit-log.php:1158
6825
  #, php-format
6826
  msgid "Alert %1$s is no longer being monitored.<br /> %2$s"
6827
  msgstr ""
6828
 
6829
+ #: wp-security-audit-log.php:1158
6830
  msgid ""
6831
  "You can enable this alert again from the Enable/Disable Alerts node in the "
6832
  "plugin menu."
6833
  msgstr ""
6834
 
6835
+ #: wp-security-audit-log.php:1259
6836
  #, php-format
6837
  msgid ""
6838
  "You are using a version of PHP that is older than %s, which is no longer "
6839
  "supported."
6840
  msgstr ""
6841
 
6842
+ #: wp-security-audit-log.php:1261
6843
  msgid ""
6844
  "Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
6845
  "\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
6846
  "are using."
6847
  msgstr ""
6848
 
6849
+ #: wp-security-audit-log.php:1263
6850
  msgid ""
6851
  "The WP Security Audit Log plugin is a multisite network tool, so it has to "
6852
  "be activated at network level."
6853
  msgstr ""
6854
 
6855
+ #: wp-security-audit-log.php:1265
6856
  msgid "Redirect me to the network dashboard"
6857
  msgstr ""
6858
 
6859
+ #: wp-security-audit-log.php:1270
6860
  #, php-format
6861
  msgid "Please install the %s plugin on the MainWP dashboard."
6862
  msgstr ""
6863
 
6864
+ #: wp-security-audit-log.php:1270
6865
  msgid "Activity Log for MainWP"
6866
  msgstr ""
6867
 
6868
+ #: wp-security-audit-log.php:1272
6869
  #, php-format
6870
  msgid ""
6871
  "The WP Security Audit Log should be installed on the child sites only. Refer "
6872
  "to the %s for more information."
6873
  msgstr ""
6874
 
6875
+ #: wp-security-audit-log.php:1272
6876
  msgid "getting started guide"
6877
  msgstr ""
6878
 
6879
+ #: wp-security-audit-log.php:1358
6880
  msgid ""
6881
  "This plugin uses 3 tables in the WordPress database to store the activity "
6882
  "log and settings. It seems that these tables were not created."
6883
  msgstr ""
6884
 
6885
+ #: wp-security-audit-log.php:1360
6886
  msgid ""
6887
  "This could happen because the database user does not have the right "
6888
  "privileges to create the tables in the database. We recommend you to update "
6889
  "the privileges and try enabling the plugin again."
6890
  msgstr ""
6891
 
6892
+ #: wp-security-audit-log.php:1362
6893
  #, php-format
6894
  msgid ""
6895
  "If after doing so you still have issues, please send us an email on %s for "
6896
  "assistance."
6897
  msgstr ""
6898
 
6899
+ #: wp-security-audit-log.php:1362
6900
  msgid "support@wpsecurityauditlog.com"
6901
  msgstr ""
6902
 
6903
+ #: wp-security-audit-log.php:2007
6904
  msgid ""
6905
  "For security and auditing purposes, a record of all of your logged-in "
6906
  "actions and changes within the WordPress dashboard will be recorded in an "
6909
  "IP address where you accessed this site from."
6910
  msgstr ""
6911
 
6912
+ #: wp-security-audit-log.php:2026
6913
  msgid "Every 6 hours"
6914
  msgstr ""
6915
 
6916
+ #: wp-security-audit-log.php:2030
6917
  msgid "Every 45 minutes"
6918
  msgstr ""
6919
 
6920
+ #: wp-security-audit-log.php:2034
6921
  msgid "Every 30 minutes"
6922
  msgstr ""
6923
 
6924
+ #: wp-security-audit-log.php:2038
6925
  msgid "Every 15 minutes"
6926
  msgstr ""
6927
 
6928
+ #: wp-security-audit-log.php:2042
6929
  msgid "Every 10 minutes"
6930
  msgstr ""
6931
 
6932
+ #: wp-security-audit-log.php:2046
6933
  msgid "Every 1 minute"
6934
  msgstr ""
6935
 
6936
  #. translators: 1. Deprecated method name 2. Version since deprecated
6937
+ #: wp-security-audit-log.php:2060
6938
  #, php-format
6939
  msgid "Method %1$s is deprecated since version %2$s!"
6940
  msgstr ""
readme.txt CHANGED
@@ -6,7 +6,7 @@ License URI: https://www.gnu.org/licenses/gpl.html
6
  Tags: wordpress security plugin, wordpress security audit log, audit log, activity logs, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, wordpress security monitor, wordpress admin, wordpress admin monitoring, user activity, admin, multisite, dashboard, notification, wordpress monitoring, email notification, wordpress email alerts, SMS messages, tracking, user tracking, user activity report, wordpress audit trail
7
  Requires at least: 3.6
8
  Tested up to: 5.4
9
- Stable tag: 4.0.2
10
  Requires PHP: 5.5
11
 
12
  An easy to use & comprehensive WordPress activity log plugin to log all changes on WordPress sites & multisite networks.
@@ -157,7 +157,7 @@ We need help translating the plugin and the WordPress Security Alerts. Please vi
157
  #### Activity Log add-ons for third party plugins
158
 
159
  * <strong>[Activity Log for MainWP](https://www.wpsecurityauditlog.com/activity-log-mainwp-extension/)</strong>: This MainWP extension allows you to keep a log of MainWP network changes and to view the activity logs of all child sites from one central location - the MainWP dashboard.
160
- * <strong>[Activity Log add-on for WPForms](https://www.wpsecurityauditlog.com/integrations/activity-log-wpforms/)</strong>: Install this add-on with the WP Security Audit Log to keep a log of changes in WPForms plugin, forms, form files, entries (leads) and more.
161
 
162
  #### Related Links and Documentation
163
 
@@ -204,18 +204,60 @@ Please refer to our [Support & Documentation pages](https://www.wpsecurityauditl
204
 
205
  == Changelog ==
206
 
207
- = 4.0.2 (2020-02-28) =
208
 
209
- * **Security fix**
210
 
211
- * Added authentication check for the first-time install wizard. This addresses an edge case in which if the wizard was never completed by the user, unauthenticated users could run the wizard and give access to the plugin settings to WordPress users.
212
-
213
- * **Improvements**
 
 
214
 
215
- * Removed the setting / functionality to allow access to users with non-admin role to the plugin settings. Now users who require access to the plugin settings need to have the admin role.
216
- * Removed the "activity log view access" and the "exclude objects" steps from the install wizard. These are advanced settings.
217
- * Check the role of users trying to import settings file and deny if it does not have admin role.
218
 
219
- = Earlier versions =
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
 
221
- Please refer to the [complete plugin changelog](https://www.wpsecurityauditlog.com/support-documentation/plugin-changelog/) for more detailed information about what was new, improved and fixed in previous versions of the WP Security Audit Log plugin.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  Tags: wordpress security plugin, wordpress security audit log, audit log, activity logs, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, wordpress security monitor, wordpress admin, wordpress admin monitoring, user activity, admin, multisite, dashboard, notification, wordpress monitoring, email notification, wordpress email alerts, SMS messages, tracking, user tracking, user activity report, wordpress audit trail
7
  Requires at least: 3.6
8
  Tested up to: 5.4
9
+ Stable tag: 4.0.3
10
  Requires PHP: 5.5
11
 
12
  An easy to use & comprehensive WordPress activity log plugin to log all changes on WordPress sites & multisite networks.
157
  #### Activity Log add-ons for third party plugins
158
 
159
  * <strong>[Activity Log for MainWP](https://www.wpsecurityauditlog.com/activity-log-mainwp-extension/)</strong>: This MainWP extension allows you to keep a log of MainWP network changes and to view the activity logs of all child sites from one central location - the MainWP dashboard.
160
+ * <strong>[Activity Log add-on for WPForms](https://www.wpsecurityauditlog.com/integrations/activity-log-wpforms/)</strong>: Install this add-on with the WP Security Audit Log to keep a log of changes in WPForms plugin, forms, form files, entries (leads) and more.
161
 
162
  #### Related Links and Documentation
163
 
204
 
205
  == Changelog ==
206
 
207
+ = 4.0.3 (2020-04-16) =
208
 
209
+ Release notes: [Update 4.0.3 - New bbPress add-on & improved WooCommerce activity logs](https://www.wpsecurityauditlog.com/releases/update-4-0-3/)
210
 
211
+ * **BREAKING CHANGE**
212
+
213
+ * Individual add-ons (pre 2018) will not be supported anymore.
214
+
215
+ * **New features**
216
 
217
+ * Two new [activity log objects](https://www.wpsecurityauditlog.com/support-documentation/objects-event-types-wordpress-activity-log/): WooCommerce coupon and Yoast SEO metabox.
218
+ * Plugin detector that detects [plugins for which we have add-ons](https://www.wpsecurityauditlog.com/integrations/) and prompts the user to install the add-ons.
 
219
 
220
+ * **New activity log event IDs**
221
+
222
+ * 9105: The stock quantity of a product was changed due to an order.
223
+ * 9085: The WooCommerce setting "Selling location(s)" was changed.
224
+ * 9086: List of excluded countries to sell to in WooCommerce was changed.
225
+ * 9087: List of countries to sell to in WooCommerce was changed.
226
+ * 9088: The WooCommerce setting "Shipping location(s)" was changed.
227
+ * 9090: The WooCommerce setting "Default custom location" was changed.
228
+ * 9091: The "Cart page" in the WooCommerce settings was changed.
229
+ * 9092: The "Checkout page" in the WooCommerce settings was changed.
230
+ * 9093: The "My Account page" in the WooCommerce settings was changed.
231
+ * 9094: The "Terms & conditions page" in the WooCommerce settings was changed.
232
+
233
+ Refer to the [activity logs for WooCommerce](https://www.wpsecurityauditlog.com/woocommerce-activity-log-datasheet/) for more details on WooCommerce support.
234
+
235
+ * **Improvements**
236
 
237
+ * Drastically improved the coverage of the [WooCommerce activity log](https://www.wpsecurityauditlog.com/woocommerce-activity-log-datasheet/) sensor.
238
+ * WooCommerce sensor now detects changes done from the new interface (WooCommerce Admin).
239
+ * Event 9029 (WooCommerce store base location change) now reports both the old and new address.
240
+ * Updated WooCommerce sensor to detect all the changes in the tax options (event IDs 9078 - 9081).
241
+ * Changed the event type from "Modified" to "Renamed" in the events where in which the object is renamed.
242
+ * "Plugins" is reported instead of a username when a change is done automatically by a plugin.
243
+ * Improved the [activity logs external database](https://www.wpsecurityauditlog.com/premium-features/database-integration-tools-wordpress-activity-log/) connection test during connection setup.
244
+ * Removed obsolete code which was only used in previous versions from the defaults.php file.
245
+ * Improved event ID 2055 (deleted custom field) so it is not reported when a custom field is deleted autoamtically due to the post being deleted.
246
+ * Removed redundant filters wsal_event_type_text and wsal_event_object_text.
247
+ * Moved 10 plugin settings to the WordPress options table as part of the plugin improvement project.
248
+ * External database connector now reports actual MySQL error for improved troubleshooting.
249
+ * All the changes done to a bbPress forum or topic are reported, even when done at the same time.
250
+
251
+ * **Bug fixes**
252
+
253
+ * Event ID 8808 not firing when Cornerstone article setting is enabled or disabled in a post.
254
+ * Event ID 9066 not firing when the expiry date of a WooCommerce coupon is changed.
255
+ * Plugin reporting event ID 2001 instead of 5019 when a plugin automatically creates posts.
256
+ * Fixed a minor compatibility issue in the Hide plugin functionality ([support ticket](https://wordpress.org/support/topic/you-do-not-appear-to-have-any-plugins-available-at-this-time-5/#post-12280792)).
257
+ * Event ID 9063 reported instead of event ID 9071 when reporting a WooCommerce coupon change.
258
+ * Events ID 1005 (multiple sessions detected) and 1007 (user terminated another user's session) were only working when frontend sensor was enabled.
259
+ * Activity logs view buttons link to first site on network instead of network dashboard on multisite network.
260
+ * Error reported when the role property was undefined.
261
+ * Fixed a PHP 7.3 compatibility issue ([support ticket](https://wordpress.org/support/topic/wp-cli-php-7-reports-empty-needle-in-wp-security-audit-log-php-strpos-call/)).
262
+
263
+ Please refer to the [complete plugin change log](https://www.wpsecurityauditlog.com/support-documentation/plugin-changelog/) for more detailed information about what was new, improved and fixed in previous versions of the WP Security Audit Log plugin.
wp-security-audit-log.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: http://www.wpsecurityauditlog.com/
5
  * Description: Identify WordPress security issues before they become a problem. Keep track of everything happening on your WordPress including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log generates a security alert for everything that happens on your WordPress blogs and websites. Use the Audit Log Viewer included in the plugin to see all the security alerts.
6
  * Author: WP White Security
7
- * Version: 4.0.2
8
  * Text Domain: wp-security-audit-log
9
  * Author URI: http://www.wpwhitesecurity.com/
10
  * License: GPL2
@@ -46,12 +46,14 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
46
  *
47
  * @var string
48
  */
49
- public $version = '4.0.2';
50
 
51
  // Plugin constants.
52
  const PLG_CLS_PRFX = 'WSAL_';
53
  const MIN_PHP_VERSION = '5.5.0';
54
  const OPT_PRFX = 'wsal-';
 
 
55
 
56
  /**
57
  * Views supervisor.
@@ -96,18 +98,18 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
96
  public $constants;
97
 
98
  /**
99
- * Licenses manager.
100
  *
101
- * @var WSAL_LicenseManager
102
  */
103
- public $licensing;
104
 
105
  /**
106
- * Options.
107
  *
108
- * @var WSAL_Models_Option
109
  */
110
- public $options;
111
 
112
  /**
113
  * Contains a list of cleanup callbacks.
@@ -175,6 +177,8 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
175
 
176
  // Add custom schedules for WSAL early otherwise they won't work.
177
  add_filter( 'cron_schedules', array( $this, 'recurring_schedules' ) );
 
 
178
  }
179
 
180
  /**
@@ -202,6 +206,21 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
202
  return $this->_settings;
203
  }
204
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  /**
206
  * Whether the current request is a REST API request.
207
  *
@@ -213,7 +232,16 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
213
  if ( ! empty( $_SERVER['REQUEST_URI'] ) ) {
214
  $rest_url_path = trim( parse_url( home_url( '/wp-json/' ), PHP_URL_PATH ), '/' );
215
  $request_path = trim( $_SERVER['REQUEST_URI'], '/' );
216
- $is_rest = ( strpos( $request_path, $rest_url_path ) === 0 ) || isset( $_GET['rest_route'] );
 
 
 
 
 
 
 
 
 
217
  }
218
 
219
  return $is_rest;
@@ -334,7 +362,6 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
334
 
335
  // Managers.
336
  require_once 'classes/ViewManager.php';
337
- require_once 'classes/LicenseManager.php';
338
  require_once 'classes/WidgetManager.php';
339
 
340
  // Views.
@@ -345,7 +372,6 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
345
  require_once 'classes/Views/EmailNotifications.php';
346
  require_once 'classes/Views/ExternalDB.php';
347
  require_once 'classes/Views/Help.php';
348
- require_once 'classes/Views/Licensing.php';
349
  require_once 'classes/Views/LogInUsers.php';
350
  require_once 'classes/Views/Reports.php';
351
  require_once 'classes/Views/Search.php';
@@ -601,11 +627,13 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
601
  /**
602
  * Whether an alert is enabled. For use before loading the settings.
603
  *
 
 
604
  * @param string|int $alert The alert to check.
605
  * @return bool Whether the alert is enabled.
606
  */
607
  public static function raw_alert_is_enabled( $alert ) {
608
- $alerts = self::get_raw_option( 'disabled-alerts' );
609
  $alerts = explode( ',', $alerts );
610
  return ! in_array( $alert, $alerts );
611
  }
@@ -646,10 +674,9 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
646
  break;
647
 
648
  case 'latest_event':
649
- $event_query = new WSAL_Models_OccurrenceQuery();
650
- $event_query->addOrderBy( 'created_on', true );
651
- $event_query->setLimit( 1 );
652
- $event = $event_query->getAdapter()->Execute( $event_query );
653
 
654
  // Set the return object.
655
  if ( isset( $event[0] ) ) {
@@ -668,6 +695,22 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
668
  return $info;
669
  }
670
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
671
  /**
672
  * Method: WSAL plugin redirect.
673
  */
@@ -757,6 +800,25 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
757
  }
758
  }
759
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
760
  /**
761
  * Customize Freemius connect message for new users.
762
  *
@@ -938,7 +1000,6 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
938
 
939
  if ( is_admin() ) {
940
  $this->views = new WSAL_ViewManager( $this );
941
- $this->licensing = new WSAL_LicenseManager( $this );
942
  $this->widgets = new WSAL_WidgetManager( $this );
943
  }
944
 
@@ -1087,13 +1148,13 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1087
  die();
1088
  }
1089
 
1090
- $s_alerts = $this->GetGlobalOption( 'disabled-alerts' );
1091
  if ( isset( $s_alerts ) && '' != $s_alerts ) {
1092
  $s_alerts .= ',' . esc_html( $post_array['code'] );
1093
  } else {
1094
  $s_alerts = esc_html( $post_array['code'] );
1095
  }
1096
- $this->SetGlobalOption( 'disabled-alerts', $s_alerts );
1097
  echo wp_sprintf( '<p>' . __( 'Alert %1$s is no longer being monitored.<br /> %2$s', 'wp-security-audit-log' ) . '</p>', esc_html( $post_array['code'] ), __( 'You can enable this alert again from the Enable/Disable Alerts node in the plugin menu.', 'wp-security-audit-log' ) );
1098
  die;
1099
  }
@@ -1255,7 +1316,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1255
  }
1256
 
1257
  // Setting the prunig date with the old value or the default value.
1258
- $old_disabled = $this->GetGlobalOption( 'disabled-alerts' );
1259
 
1260
  // If old setting is empty disable alert 2099 by default.
1261
  if ( empty( $old_disabled ) ) {
@@ -1315,7 +1376,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1315
  */
1316
  public function Update( $old_version, $new_version ) {
1317
  // Update version in db.
1318
- $this->SetGlobalOption( 'version', $new_version );
1319
 
1320
  // Do version-to-version specific changes.
1321
  if ( '0.0.0' !== $old_version && -1 === version_compare( $old_version, $new_version ) ) {
@@ -1427,7 +1488,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1427
  * @since 3.2.4
1428
  */
1429
  if ( version_compare( $old_version, '3.2.4', '<' ) && version_compare( $new_version, '3.2.3.3', '>' ) ) {
1430
- $this->SetGlobalOption( 'dismissed-privacy-notice', '1,wsal_privacy' );
1431
  }
1432
 
1433
  /**
@@ -1525,20 +1586,21 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1525
  );
1526
  }
1527
 
1528
- /**
1529
- * Upgrade routine for versions of the plugin prior to 4.0.2
 
 
1530
  *
1531
- * @since 4.0.2
1532
  */
1533
- if ( version_compare( $old_version, '4.0.1', '<=' ) ) {
1534
- add_action(
1535
- 'init',
1536
- function() {
1537
- require_once 'classes/Update/Task/SettingsEditConfig.php';
1538
- $settings_edit_update = new WSAL\Update\Task\SettingsEditConfig( WpSecurityAuditLog::GetInstance() );
1539
- $settings_edit_update->run();
1540
- }
1541
- );
1542
  }
1543
  }
1544
  }
@@ -1624,7 +1686,18 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
1624
  * @return string
1625
  */
1626
  public function GetOldVersion() {
1627
- return $this->GetGlobalOption( 'version', '0.0.0' );
 
 
 
 
 
 
 
 
 
 
 
1628
  }
1629
 
1630
  /**
@@ -2054,9 +2127,9 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
2054
  public function wsal_hide_plugin( $plugins ) {
2055
  global $pagenow;
2056
 
2057
- // Check current page.
2058
  if ( 'plugins.php' !== $pagenow ) {
2059
- return;
2060
  }
2061
 
2062
  // Find WSAL by plugin basename.
4
  * Plugin URI: http://www.wpsecurityauditlog.com/
5
  * Description: Identify WordPress security issues before they become a problem. Keep track of everything happening on your WordPress including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log generates a security alert for everything that happens on your WordPress blogs and websites. Use the Audit Log Viewer included in the plugin to see all the security alerts.
6
  * Author: WP White Security
7
+ * Version: 4.0.3
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.0.3';
50
 
51
  // Plugin constants.
52
  const PLG_CLS_PRFX = 'WSAL_';
53
  const MIN_PHP_VERSION = '5.5.0';
54
  const OPT_PRFX = 'wsal-';
55
+ // Plugins new options prefix.
56
+ const OPTIONS_PREFIX = 'wsal_';
57
 
58
  /**
59
  * Views supervisor.
98
  public $constants;
99
 
100
  /**
101
+ * Options.
102
  *
103
+ * @var WSAL_Models_Option
104
  */
105
+ public $options;
106
 
107
  /**
108
+ * WP Options table options handler.
109
  *
110
+ * @var WSAL\Helpers\Options;
111
  */
112
+ public $options_helper;
113
 
114
  /**
115
  * Contains a list of cleanup callbacks.
177
 
178
  // Add custom schedules for WSAL early otherwise they won't work.
179
  add_filter( 'cron_schedules', array( $this, 'recurring_schedules' ) );
180
+ // make the options helper class available.
181
+ $this->include_options_helper();
182
  }
183
 
184
  /**
206
  return $this->_settings;
207
  }
208
 
209
+ /**
210
+ * Gets and instansiates the options helper.
211
+ *
212
+ * @method include_options_helper
213
+ * @since 4.0.3
214
+ * @return \WSAL\Helpers\Options
215
+ */
216
+ public function include_options_helper() {
217
+ require_once 'classes/Helpers/Options.php';
218
+ if ( ! isset( $this->options_helper ) ) {
219
+ $this->options_helper = new \WSAL\Helpers\Options( $this, self::OPTIONS_PREFIX );
220
+ }
221
+ return $this->options_helper;
222
+ }
223
+
224
  /**
225
  * Whether the current request is a REST API request.
226
  *
232
  if ( ! empty( $_SERVER['REQUEST_URI'] ) ) {
233
  $rest_url_path = trim( parse_url( home_url( '/wp-json/' ), PHP_URL_PATH ), '/' );
234
  $request_path = trim( $_SERVER['REQUEST_URI'], '/' );
235
+
236
+ /*
237
+ * If we have both a url and a request patch check if this is
238
+ * a rest request.
239
+ *
240
+ * @since 4.0..3
241
+ */
242
+ if ( $rest_url_path && $request_path ) {
243
+ $is_rest = ( strpos( $request_path, $rest_url_path ) === 0 ) || isset( $_GET['rest_route'] );
244
+ }
245
  }
246
 
247
  return $is_rest;
362
 
363
  // Managers.
364
  require_once 'classes/ViewManager.php';
 
365
  require_once 'classes/WidgetManager.php';
366
 
367
  // Views.
372
  require_once 'classes/Views/EmailNotifications.php';
373
  require_once 'classes/Views/ExternalDB.php';
374
  require_once 'classes/Views/Help.php';
 
375
  require_once 'classes/Views/LogInUsers.php';
376
  require_once 'classes/Views/Reports.php';
377
  require_once 'classes/Views/Search.php';
627
  /**
628
  * Whether an alert is enabled. For use before loading the settings.
629
  *
630
+ * @since 4.0.2 - updated to use get_option instead of self::get_raw_option.
631
+ *
632
  * @param string|int $alert The alert to check.
633
  * @return bool Whether the alert is enabled.
634
  */
635
  public static function raw_alert_is_enabled( $alert ) {
636
+ $alerts = get_option( self::OPTIONS_PREFIX . 'disabled-alerts' );
637
  $alerts = explode( ',', $alerts );
638
  return ! in_array( $alert, $alerts );
639
  }
674
  break;
675
 
676
  case 'latest_event':
677
+ // run the query and return it.
678
+ $event = $this->query_for_latest_event();
679
+ $event->getAdapter()->Execute( $event );
 
680
 
681
  // Set the return object.
682
  if ( isset( $event[0] ) ) {
695
  return $info;
696
  }
697
 
698
+ /**
699
+ * Performs a query to retrieve the latest event in the logs.
700
+ *
701
+ * @method query_for_latest_event
702
+ * @since 4.0.3
703
+ * @return array
704
+ */
705
+ public function query_for_latest_event() {
706
+ $event_query = new WSAL_Models_OccurrenceQuery();
707
+ // order by creation.
708
+ $event_query->addOrderBy( 'created_on', true );
709
+ // only request 1 item.
710
+ $event_query->setLimit( 1 );
711
+ return $event_query;
712
+ }
713
+
714
  /**
715
  * Method: WSAL plugin redirect.
716
  */
800
  }
801
  }
802
 
803
+ /**
804
+ * Method: Include extensions for premium version.
805
+ *
806
+ * @since 2.7.0
807
+ */
808
+ public function include_extensions__premium_only() {
809
+ /**
810
+ * Class for extensions managment.
811
+ *
812
+ * @since 2.7.0
813
+ */
814
+ if ( file_exists( WSAL_BASE_DIR . '/extensions/class-wsal-extension-manager.php' ) ) {
815
+ require_once WSAL_BASE_DIR . '/extensions/class-wsal-extension-manager.php';
816
+ }
817
+
818
+ // Initiate the extensions manager.
819
+ $this->extensions = new WSAL_Extension_Manager( $this );
820
+ }
821
+
822
  /**
823
  * Customize Freemius connect message for new users.
824
  *
1000
 
1001
  if ( is_admin() ) {
1002
  $this->views = new WSAL_ViewManager( $this );
 
1003
  $this->widgets = new WSAL_WidgetManager( $this );
1004
  }
1005
 
1148
  die();
1149
  }
1150
 
1151
+ $s_alerts = $this->options_helper->get_option_value( 'disabled-alerts' );
1152
  if ( isset( $s_alerts ) && '' != $s_alerts ) {
1153
  $s_alerts .= ',' . esc_html( $post_array['code'] );
1154
  } else {
1155
  $s_alerts = esc_html( $post_array['code'] );
1156
  }
1157
+ $this->options_helper->set_option_value( 'disabled-alerts', $s_alerts );
1158
  echo wp_sprintf( '<p>' . __( 'Alert %1$s is no longer being monitored.<br /> %2$s', 'wp-security-audit-log' ) . '</p>', esc_html( $post_array['code'] ), __( 'You can enable this alert again from the Enable/Disable Alerts node in the plugin menu.', 'wp-security-audit-log' ) );
1159
  die;
1160
  }
1316
  }
1317
 
1318
  // Setting the prunig date with the old value or the default value.
1319
+ $old_disabled = $this->options_helper->get_option_value( 'disabled-alerts' );
1320
 
1321
  // If old setting is empty disable alert 2099 by default.
1322
  if ( empty( $old_disabled ) ) {
1376
  */
1377
  public function Update( $old_version, $new_version ) {
1378
  // Update version in db.
1379
+ $this->options_helper->set_option_value( 'version', $new_version );
1380
 
1381
  // Do version-to-version specific changes.
1382
  if ( '0.0.0' !== $old_version && -1 === version_compare( $old_version, $new_version ) ) {
1488
  * @since 3.2.4
1489
  */
1490
  if ( version_compare( $old_version, '3.2.4', '<' ) && version_compare( $new_version, '3.2.3.3', '>' ) ) {
1491
+ $this->options_helper->set_option_value( 'dismissed-privacy-notice', '1,wsal_privacy' );
1492
  }
1493
 
1494
  /**
1586
  );
1587
  }
1588
 
1589
+ /*
1590
+ * From version 4.0.2 onwards options have been getting moved
1591
+ * over to the standard WP options table. This handles migrating
1592
+ * any for each new version we release.
1593
  *
1594
+ * @since 4.0.3
1595
  */
1596
+ if ( version_compare( $old_version, '4.0.3', '<=' ) ) {
1597
+
1598
+ require_once 'classes/Update/Task/MoveSettingsToOptionsTable.php';
1599
+ // run the update routine.
1600
+ $settings_mover = new WSAL\Update\Task\MoveSettingsToOptionsTable( self::GetInstance() );
1601
+ $settings_mover->set_versions( $old_version, $new_version );
1602
+ $settings_mover->run();
1603
+
 
1604
  }
1605
  }
1606
  }
1686
  * @return string
1687
  */
1688
  public function GetOldVersion() {
1689
+ $old_version = $this->options_helper->get_option_value( 'version', '0.0.0' );
1690
+
1691
+ /*
1692
+ * This GetGlobalOption is retained for back compatibility for
1693
+ * update routines before version 4.0.2.
1694
+ *
1695
+ * TODO: remove this AFTER version 4.1.0.
1696
+ */
1697
+ if ( ! $old_version || '0.0.0' === $old_version ) {
1698
+ $old_version = $this->GetGlobalOption( 'version', '0.0.0' );
1699
+ }
1700
+ return $old_version;
1701
  }
1702
 
1703
  /**
2127
  public function wsal_hide_plugin( $plugins ) {
2128
  global $pagenow;
2129
 
2130
+ // Check current page, bail early if this isn't the plugins page.
2131
  if ( 'plugins.php' !== $pagenow ) {
2132
+ return $plugins;
2133
  }
2134
 
2135
  // Find WSAL by plugin basename.