WP Security Audit Log - Version 1.3.3

Version Description

(2015-01-21) = * New Features * Premium Add-ons will be hidden from the WordPress plugins page when the Hide plugin option is enabled.

  • Improvements

    • Updated some of the help text in plugin's settings page
    • Updated the text of some WordPress security alerts
  • Bug Fixes

    • Fixed a bug related to the reverse proxy / IP retrieval functionality
    • Fixed an issue related to Sandbox removal and upgrades Support Ticket
Download this release

Release Info

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

Code changes from version 1.3.2 to 1.3.3

classes/LicenseManager.php CHANGED
@@ -47,16 +47,18 @@ class WSAL_LicenseManager {
47
  'DomainPath' => 'Domain Path',
48
  ), 'plugin' );
49
 
50
- $pluginUpdater = new EDD_SL_Plugin_Updater(
51
- $this->GetStoreUrl(),
52
- $pluginFile,
53
- array(
54
- 'license' => $license,
55
- 'item_name' => $pluginData['Name'],
56
- 'author' => $pluginData['Author'],
57
- 'version' => $pluginData['Version'],
58
- )
59
- );
 
 
60
 
61
  return array(
62
  'PluginData' => $pluginData,
@@ -70,6 +72,11 @@ class WSAL_LicenseManager {
70
  $this->plugins[$name] = $this->GetPluginData($pluginFile, $license);
71
  }
72
 
 
 
 
 
 
73
  protected function GetBlogIds(){
74
  global $wpdb;
75
  $sql = 'SELECT blog_id FROM ' . $wpdb->blogs;
47
  'DomainPath' => 'Domain Path',
48
  ), 'plugin' );
49
 
50
+ $pluginUpdater = is_null($license)
51
+ ? null
52
+ : new EDD_SL_Plugin_Updater(
53
+ $this->GetStoreUrl(),
54
+ $pluginFile,
55
+ array(
56
+ 'license' => $license,
57
+ 'item_name' => $pluginData['Name'],
58
+ 'author' => $pluginData['Author'],
59
+ 'version' => $pluginData['Version'],
60
+ )
61
+ );
62
 
63
  return array(
64
  'PluginData' => $pluginData,
72
  $this->plugins[$name] = $this->GetPluginData($pluginFile, $license);
73
  }
74
 
75
+ public function AddPlugin($pluginFile){
76
+ $name = sanitize_key(basename($pluginFile));
77
+ $this->plugins[$name] = $this->GetPluginData($pluginFile, null);
78
+ }
79
+
80
  protected function GetBlogIds(){
81
  global $wpdb;
82
  $sql = 'SELECT blog_id FROM ' . $wpdb->blogs;
classes/Settings.php CHANGED
@@ -219,6 +219,14 @@ class WSAL_Settings {
219
  return $this->_plugin->GetGlobalOption('restrict-admins', false);
220
  }
221
 
 
 
 
 
 
 
 
 
222
  public function SetRestrictAdmins($enable){
223
  $this->_plugin->SetGlobalOption('restrict-admins', (bool)$enable);
224
  }
@@ -228,7 +236,7 @@ class WSAL_Settings {
228
  protected $_disabled = null;
229
 
230
  public function GetDefaultDisabledAlerts(){
231
- return array(); //array(0000, 0003, 0005);
232
  }
233
 
234
  /**
@@ -238,7 +246,7 @@ class WSAL_Settings {
238
  if(!$this->_disabled){
239
  $this->_disabled = implode(',', $this->GetDefaultDisabledAlerts());
240
  $this->_disabled = $this->_plugin->GetGlobalOption('disabled-alerts', $this->_disabled);
241
- $this->_disabled = explode(',', $this->_disabled);
242
  $this->_disabled = array_map('intval', $this->_disabled);
243
  }
244
  return $this->_disabled;
@@ -495,7 +503,7 @@ class WSAL_Settings {
495
  $result = $this->GetClientIPs();
496
  $result = reset($result);
497
  $result = isset($result[0]) ? $result[0] : null;
498
- }elseif(isset($_SERVER['REMOTE_ADDR'])){
499
  $result = $this->NormalizeIP($_SERVER['REMOTE_ADDR']);
500
  if (!$this->ValidateIP($result)) $result = null;
501
  }
@@ -517,7 +525,7 @@ class WSAL_Settings {
517
 
518
  protected function NormalizeIP($ip){
519
  $ip = trim($ip);
520
- if(strpos($ip, ':') !== false && strpos($ip, '[') === false){
521
  // IPv4 with a port (eg: 11.22.33.44:80)
522
  $ip = explode(':', $ip);
523
  $ip = $ip[0];
219
  return $this->_plugin->GetGlobalOption('restrict-admins', false);
220
  }
221
 
222
+ /**
223
+ * @deprecated Sandbox functionality is now in an external plugin.
224
+ */
225
+ public function IsSandboxPageEnabled(){
226
+ $plugins = $this->_plugin->licensing->plugins();
227
+ return isset($plugins['wsal-sandbox-extensionphp']);
228
+ }
229
+
230
  public function SetRestrictAdmins($enable){
231
  $this->_plugin->SetGlobalOption('restrict-admins', (bool)$enable);
232
  }
236
  protected $_disabled = null;
237
 
238
  public function GetDefaultDisabledAlerts(){
239
+ return array(0000, 0001, 0002, 0003, 0004, 0005);
240
  }
241
 
242
  /**
246
  if(!$this->_disabled){
247
  $this->_disabled = implode(',', $this->GetDefaultDisabledAlerts());
248
  $this->_disabled = $this->_plugin->GetGlobalOption('disabled-alerts', $this->_disabled);
249
+ $this->_disabled = ($this->_disabled == '') ? array() : explode(',', $this->_disabled);
250
  $this->_disabled = array_map('intval', $this->_disabled);
251
  }
252
  return $this->_disabled;
503
  $result = $this->GetClientIPs();
504
  $result = reset($result);
505
  $result = isset($result[0]) ? $result[0] : null;
506
+ } elseif(isset($_SERVER['REMOTE_ADDR'])) {
507
  $result = $this->NormalizeIP($_SERVER['REMOTE_ADDR']);
508
  if (!$this->ValidateIP($result)) $result = null;
509
  }
525
 
526
  protected function NormalizeIP($ip){
527
  $ip = trim($ip);
528
+ if(strpos($ip, ':') !== false && substr_count($ip, '.') == 3 && strpos($ip, '[') === false){
529
  // IPv4 with a port (eg: 11.22.33.44:80)
530
  $ip = explode(':', $ip);
531
  $ip = $ip[0];
classes/Views/Settings.php CHANGED
@@ -51,9 +51,9 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
51
  $this->_plugin->settings->SetAllowedPluginViewers(isset($_REQUEST['Viewers']) ? $_REQUEST['Viewers'] : array());
52
  $this->_plugin->settings->SetAllowedPluginEditors(isset($_REQUEST['Editors']) ? $_REQUEST['Editors'] : array());
53
  $this->_plugin->settings->SetRestrictAdmins(isset($_REQUEST['RestrictAdmins']));
54
- $this->_plugin->settings->SetRefreshAlertsEnabled($_REQUEST['EnableAuditViewRefresh']);
55
- $this->_plugin->settings->SetMainIPFromProxy($_REQUEST['EnableProxyIpCapture']);
56
- $this->_plugin->settings->SetInternalIPsFiltering($_REQUEST['EnableIpFiltering']);
57
  $this->_plugin->settings->SetIncognito(isset($_REQUEST['Incognito']));
58
  $this->_plugin->settings->ClearDevOptions();
59
  if(isset($_REQUEST['DevOptions']))
@@ -322,7 +322,7 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
322
  </tr>
323
 
324
  <tr>
325
- <th><label for="Incognito"><?php _e('Hide Plugin from Plugins Page', 'wp-security-audit-log'); ?></label></th>
326
  <td>
327
  <fieldset>
328
  <label for="Incognito">
@@ -330,6 +330,10 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
330
  if($this->_plugin->settings->IsIncognito())echo ' checked="checked"';
331
  ?>/> <?php _e('Hide', 'wp-security-audit-log'); ?>
332
  </label>
 
 
 
 
333
  </fieldset>
334
  </td>
335
  </tr>
51
  $this->_plugin->settings->SetAllowedPluginViewers(isset($_REQUEST['Viewers']) ? $_REQUEST['Viewers'] : array());
52
  $this->_plugin->settings->SetAllowedPluginEditors(isset($_REQUEST['Editors']) ? $_REQUEST['Editors'] : array());
53
  $this->_plugin->settings->SetRestrictAdmins(isset($_REQUEST['RestrictAdmins']));
54
+ $this->_plugin->settings->SetRefreshAlertsEnabled(isset($_REQUEST['EnableAuditViewRefresh']));
55
+ $this->_plugin->settings->SetMainIPFromProxy(isset($_REQUEST['EnableProxyIpCapture']));
56
+ $this->_plugin->settings->SetInternalIPsFiltering(isset($_REQUEST['EnableIpFiltering']));
57
  $this->_plugin->settings->SetIncognito(isset($_REQUEST['Incognito']));
58
  $this->_plugin->settings->ClearDevOptions();
59
  if(isset($_REQUEST['DevOptions']))
322
  </tr>
323
 
324
  <tr>
325
+ <th><label for="Incognito"><?php _e('Hide Plugin in Plugins Page', 'wp-security-audit-log'); ?></label></th>
326
  <td>
327
  <fieldset>
328
  <label for="Incognito">
330
  if($this->_plugin->settings->IsIncognito())echo ' checked="checked"';
331
  ?>/> <?php _e('Hide', 'wp-security-audit-log'); ?>
332
  </label>
333
+ <br/>
334
+ <span class="description">
335
+ <?php _e('To manually revert this setting set the value of option wsal-hide-plugin to 0 in the wp_options table.', 'wp-security-audit-log'); ?>
336
+ </span>
337
  </fieldset>
338
  </td>
339
  </tr>
classes/Views/ToggleAlerts.php CHANGED
@@ -59,8 +59,9 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
59
  foreach($groupedAlerts as $name => $alerts){
60
  $active = array(); $allactive = true;
61
  foreach($alerts as $alert){
 
62
  $active[$alert->type] = $this->_plugin->alerts->IsEnabled($alert->type);
63
- if(!$active[$alert->type])$allactive = false;
64
  }
65
  ?><table class="wp-list-table wsal-tab widefat fixed" cellspacing="0" id="tab-<?php echo $safeNames[$name]; ?>">
66
  <thead>
@@ -73,6 +74,7 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
73
  </thead>
74
  <tbody><?php
75
  foreach($alerts as $alert){
 
76
  $attrs = '';
77
  switch(true){
78
  case !$alert->mesg:
59
  foreach($groupedAlerts as $name => $alerts){
60
  $active = array(); $allactive = true;
61
  foreach($alerts as $alert){
62
+ if ($alert->type <= 0006) continue; // <- ignore php alerts
63
  $active[$alert->type] = $this->_plugin->alerts->IsEnabled($alert->type);
64
+ if (!$active[$alert->type]) $allactive = false;
65
  }
66
  ?><table class="wp-list-table wsal-tab widefat fixed" cellspacing="0" id="tab-<?php echo $safeNames[$name]; ?>">
67
  <thead>
74
  </thead>
75
  <tbody><?php
76
  foreach($alerts as $alert){
77
+ if ($alert->type <= 0006) continue; // <- ignore php alerts
78
  $attrs = '';
79
  switch(true){
80
  case !$alert->mesg:
defaults.php CHANGED
@@ -49,7 +49,7 @@ function wsaldefaults_wsal_init(WpSecurityAuditLog $wsal){
49
  array(2001, E_NOTICE, __('User published a blog post', 'wp-security-audit-log'), __('Published a blog post called %PostTitle%. Blog post URL is %PostUrl%', 'wp-security-audit-log')),
50
  array(2002, E_NOTICE, __('User modified a published blog post', 'wp-security-audit-log'), __('Modified the published blog post %PostTitle%. Blog post URL is %PostUrl%', 'wp-security-audit-log')),
51
  array(2003, E_NOTICE, __('User modified a draft blog post', 'wp-security-audit-log'), __('Modified the draft blog post %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
52
- array(2008, E_NOTICE, __('User permanently deleted a blog post from the trash', 'wp-security-audit-log'), __('Deleted the post %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
53
  array(2012, E_WARNING, __('User moved a blog post to the trash', 'wp-security-audit-log'), __('Moved the blog post %PostTitle% to trash', 'wp-security-audit-log')),
54
  array(2014, E_CRITICAL, __('User restored a blog post from trash', 'wp-security-audit-log'), __('Restored post %PostTitle% from trash', 'wp-security-audit-log')),
55
  array(2016, E_NOTICE, __('User changed blog post category', 'wp-security-audit-log'), __('Changed the category of the post %PostTitle% from %OldCategories% to %NewCategories%', 'wp-security-audit-log')),
@@ -74,7 +74,7 @@ function wsaldefaults_wsal_init(WpSecurityAuditLog $wsal){
74
  array(2005, E_NOTICE, __('User published a WorPress page', 'wp-security-audit-log'), __('Published a page called %PostTitle%. Page URL is %PostUrl%', 'wp-security-audit-log')),
75
  array(2006, E_NOTICE, __('User modified a published WordPress page', 'wp-security-audit-log'), __('Modified the published page %PostTitle%. Page URL is %PostUrl%', 'wp-security-audit-log')),
76
  array(2007, E_NOTICE, __('User modified a draft WordPress page', 'wp-security-audit-log'), __('Modified the draft page %PostTitle%. Page ID is %PostID%', 'wp-security-audit-log')),
77
- array(2009, E_NOTICE, __('User permanently deleted a page from the trash', 'wp-security-audit-log'), __('Deleted the page %PostTitle%. Page ID is %PostID%', 'wp-security-audit-log')),
78
  array(2013, E_WARNING, __('User moved WordPress page to the trash', 'wp-security-audit-log'), __('Moved the page %PostTitle% to trash', 'wp-security-audit-log')),
79
  array(2015, E_CRITICAL, __('User restored a WordPress page from trash', 'wp-security-audit-log'), __('Restored page %PostTitle% from trash', 'wp-security-audit-log')),
80
  array(2018, E_NOTICE, __('User changed page URL', 'wp-security-audit-log'), __('Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%', 'wp-security-audit-log')),
@@ -96,7 +96,7 @@ function wsaldefaults_wsal_init(WpSecurityAuditLog $wsal){
96
  array(2030, E_NOTICE, __('User published a post with custom post type', 'wp-security-audit-log'), __('Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
97
  array(2031, E_NOTICE, __('User modified a post with custom post type', 'wp-security-audit-log'), __('Modified custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
98
  array(2032, E_NOTICE, __('User modified a draft post with custom post type', 'wp-security-audit-log'), __('Modified draft custom post %PostTitle% of type is %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
99
- array(2033, E_WARNING, __('User permanently deleted post with custom post type', 'wp-security-audit-log'), __('Deleted custom post %PostTitle% of type %PostType%', 'wp-security-audit-log')),
100
  array(2034, E_WARNING, __('User moved post with custom post type to trash', 'wp-security-audit-log'), __('Moved custom post %PostTitle% to trash. Post type is %PostType%', 'wp-security-audit-log')),
101
  array(2035, E_CRITICAL, __('User restored post with custom post type from trash', 'wp-security-audit-log'), __('Restored custom post %PostTitle% of type %PostType% from trash', 'wp-security-audit-log')),
102
  array(2036, E_NOTICE, __('User changed the category of a post with custom post type', 'wp-security-audit-log'), __('Changed the category(ies) of custom post %PostTitle% of type %PostType% from %OldCategories% to %NewCategories%', 'wp-security-audit-log')),
49
  array(2001, E_NOTICE, __('User published a blog post', 'wp-security-audit-log'), __('Published a blog post called %PostTitle%. Blog post URL is %PostUrl%', 'wp-security-audit-log')),
50
  array(2002, E_NOTICE, __('User modified a published blog post', 'wp-security-audit-log'), __('Modified the published blog post %PostTitle%. Blog post URL is %PostUrl%', 'wp-security-audit-log')),
51
  array(2003, E_NOTICE, __('User modified a draft blog post', 'wp-security-audit-log'), __('Modified the draft blog post %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
52
+ array(2008, E_NOTICE, __('User permanently deleted a blog post from the trash', 'wp-security-audit-log'), __('Permanently deleted the post %PostTitle%. Blog post ID is %PostID%', 'wp-security-audit-log')),
53
  array(2012, E_WARNING, __('User moved a blog post to the trash', 'wp-security-audit-log'), __('Moved the blog post %PostTitle% to trash', 'wp-security-audit-log')),
54
  array(2014, E_CRITICAL, __('User restored a blog post from trash', 'wp-security-audit-log'), __('Restored post %PostTitle% from trash', 'wp-security-audit-log')),
55
  array(2016, E_NOTICE, __('User changed blog post category', 'wp-security-audit-log'), __('Changed the category of the post %PostTitle% from %OldCategories% to %NewCategories%', 'wp-security-audit-log')),
74
  array(2005, E_NOTICE, __('User published a WorPress page', 'wp-security-audit-log'), __('Published a page called %PostTitle%. Page URL is %PostUrl%', 'wp-security-audit-log')),
75
  array(2006, E_NOTICE, __('User modified a published WordPress page', 'wp-security-audit-log'), __('Modified the published page %PostTitle%. Page URL is %PostUrl%', 'wp-security-audit-log')),
76
  array(2007, E_NOTICE, __('User modified a draft WordPress page', 'wp-security-audit-log'), __('Modified the draft page %PostTitle%. Page ID is %PostID%', 'wp-security-audit-log')),
77
+ array(2009, E_NOTICE, __('User permanently deleted a page from the trash', 'wp-security-audit-log'), __('Permanently deleted the page %PostTitle%. Page ID is %PostID%', 'wp-security-audit-log')),
78
  array(2013, E_WARNING, __('User moved WordPress page to the trash', 'wp-security-audit-log'), __('Moved the page %PostTitle% to trash', 'wp-security-audit-log')),
79
  array(2015, E_CRITICAL, __('User restored a WordPress page from trash', 'wp-security-audit-log'), __('Restored page %PostTitle% from trash', 'wp-security-audit-log')),
80
  array(2018, E_NOTICE, __('User changed page URL', 'wp-security-audit-log'), __('Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%', 'wp-security-audit-log')),
96
  array(2030, E_NOTICE, __('User published a post with custom post type', 'wp-security-audit-log'), __('Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
97
  array(2031, E_NOTICE, __('User modified a post with custom post type', 'wp-security-audit-log'), __('Modified custom post %PostTitle% of type %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
98
  array(2032, E_NOTICE, __('User modified a draft post with custom post type', 'wp-security-audit-log'), __('Modified draft custom post %PostTitle% of type is %PostType%. Post URL is %PostUrl%', 'wp-security-audit-log')),
99
+ array(2033, E_WARNING, __('User permanently deleted post with custom post type', 'wp-security-audit-log'), __('Permanently Deleted custom post %PostTitle% of type %PostType%', 'wp-security-audit-log')),
100
  array(2034, E_WARNING, __('User moved post with custom post type to trash', 'wp-security-audit-log'), __('Moved custom post %PostTitle% to trash. Post type is %PostType%', 'wp-security-audit-log')),
101
  array(2035, E_CRITICAL, __('User restored post with custom post type from trash', 'wp-security-audit-log'), __('Restored custom post %PostTitle% of type %PostType% from trash', 'wp-security-audit-log')),
102
  array(2036, E_NOTICE, __('User changed the category of a post with custom post type', 'wp-security-audit-log'), __('Changed the category(ies) of custom post %PostTitle% of type %PostType% from %OldCategories% to %NewCategories%', 'wp-security-audit-log')),
languages/wp-security-audit-log.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2014 WP Security Audit Log
2
  # This file is distributed under the same license as the WP Security Audit Log package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WP Security Audit Log 1.3.2\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-security-audit-log\n"
7
- "POT-Creation-Date: 2014-12-16 10:47:47+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
@@ -32,11 +32,11 @@ msgstr ""
32
  msgid "All Sites"
33
  msgstr ""
34
 
35
- #: classes/AuditLogListView.php:113 classes/Views/ToggleAlerts.php:69
36
  msgid "Code"
37
  msgstr ""
38
 
39
- #: classes/AuditLogListView.php:114 classes/Views/ToggleAlerts.php:70
40
  msgid "Type"
41
  msgstr ""
42
 
@@ -617,30 +617,36 @@ msgid "Log full backtrace for PHP-generated alerts."
617
  msgstr ""
618
 
619
  #: classes/Views/Settings.php:325
620
- msgid "Hide Plugin from Plugins Page"
621
  msgstr ""
622
 
623
  #: classes/Views/Settings.php:331
624
  msgid "Hide"
625
  msgstr ""
626
 
 
 
 
 
 
 
627
  #: classes/Views/ToggleAlerts.php:6 classes/Views/ToggleAlerts.php:14
628
  msgid "Enable/Disable Alerts"
629
  msgstr ""
630
 
631
- #: classes/Views/ToggleAlerts.php:71 classes/WidgetManager.php:38
632
  msgid "Description"
633
  msgstr ""
634
 
635
- #: classes/Views/ToggleAlerts.php:79
636
  msgid "Not Implemented"
637
  msgstr ""
638
 
639
- #: classes/Views/ToggleAlerts.php:82
640
  msgid "Not Available"
641
  msgstr ""
642
 
643
- #: classes/Views/ToggleAlerts.php:96
644
  msgid "Save Changes"
645
  msgstr ""
646
 
@@ -826,7 +832,7 @@ msgid "User permanently deleted a blog post from the trash"
826
  msgstr ""
827
 
828
  #: defaults.php:52
829
- msgid "Deleted the post %PostTitle%. Blog post ID is %PostID%"
830
  msgstr ""
831
 
832
  #: defaults.php:53
@@ -1024,7 +1030,7 @@ msgid "User permanently deleted a page from the trash"
1024
  msgstr ""
1025
 
1026
  #: defaults.php:77
1027
- msgid "Deleted the page %PostTitle%. Page ID is %PostID%"
1028
  msgstr ""
1029
 
1030
  #: defaults.php:78
@@ -1205,7 +1211,7 @@ msgid "User permanently deleted post with custom post type"
1205
  msgstr ""
1206
 
1207
  #: defaults.php:99
1208
- msgid "Deleted custom post %PostTitle% of type %PostType%"
1209
  msgstr ""
1210
 
1211
  #: defaults.php:100
@@ -1757,12 +1763,12 @@ msgstr ""
1757
 
1758
  #. Description of the plugin/theme
1759
  msgid ""
1760
- "Identify WordPress security issues before they become a problem and keep "
1761
- "track of everything happening on your WordPress, including WordPress users "
1762
  "activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit "
1763
- "Log will generate a security alert for everything that happens on your "
1764
- "WordPress blog or website. Use the Audit Log Viewer included in the plugin "
1765
- "to see all the security alerts."
1766
  msgstr ""
1767
 
1768
  #. Author of the plugin/theme
1
+ # Copyright (C) 2015 WP Security Audit Log
2
  # This file is distributed under the same license as the WP Security Audit Log package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WP Security Audit Log 1.3.3\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-security-audit-log\n"
7
+ "POT-Creation-Date: 2015-01-21 08:46:06+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
32
  msgid "All Sites"
33
  msgstr ""
34
 
35
+ #: classes/AuditLogListView.php:113 classes/Views/ToggleAlerts.php:70
36
  msgid "Code"
37
  msgstr ""
38
 
39
+ #: classes/AuditLogListView.php:114 classes/Views/ToggleAlerts.php:71
40
  msgid "Type"
41
  msgstr ""
42
 
617
  msgstr ""
618
 
619
  #: classes/Views/Settings.php:325
620
+ msgid "Hide Plugin in Plugins Page"
621
  msgstr ""
622
 
623
  #: classes/Views/Settings.php:331
624
  msgid "Hide"
625
  msgstr ""
626
 
627
+ #: classes/Views/Settings.php:335
628
+ msgid ""
629
+ "To manually revert this setting set the value of option wsal-hide-plugin to "
630
+ "0 in the wp_options table."
631
+ msgstr ""
632
+
633
  #: classes/Views/ToggleAlerts.php:6 classes/Views/ToggleAlerts.php:14
634
  msgid "Enable/Disable Alerts"
635
  msgstr ""
636
 
637
+ #: classes/Views/ToggleAlerts.php:72 classes/WidgetManager.php:38
638
  msgid "Description"
639
  msgstr ""
640
 
641
+ #: classes/Views/ToggleAlerts.php:81
642
  msgid "Not Implemented"
643
  msgstr ""
644
 
645
+ #: classes/Views/ToggleAlerts.php:84
646
  msgid "Not Available"
647
  msgstr ""
648
 
649
+ #: classes/Views/ToggleAlerts.php:98
650
  msgid "Save Changes"
651
  msgstr ""
652
 
832
  msgstr ""
833
 
834
  #: defaults.php:52
835
+ msgid "Permanently deleted the post %PostTitle%. Blog post ID is %PostID%"
836
  msgstr ""
837
 
838
  #: defaults.php:53
1030
  msgstr ""
1031
 
1032
  #: defaults.php:77
1033
+ msgid "Permanently deleted the page %PostTitle%. Page ID is %PostID%"
1034
  msgstr ""
1035
 
1036
  #: defaults.php:78
1211
  msgstr ""
1212
 
1213
  #: defaults.php:99
1214
+ msgid "Permanently Deleted custom post %PostTitle% of type %PostType%"
1215
  msgstr ""
1216
 
1217
  #: defaults.php:100
1763
 
1764
  #. Description of the plugin/theme
1765
  msgid ""
1766
+ "Identify WordPress security issues before they become a problem. Keep track "
1767
+ "of everything happening on your WordPress including WordPress users "
1768
  "activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit "
1769
+ "Log generates a security alert for everything that happens on your WordPress "
1770
+ "blogs and websites. Use the Audit Log Viewer included in the plugin to see "
1771
+ "all the security alerts."
1772
  msgstr ""
1773
 
1774
  #. Author of the plugin/theme
readme.txt CHANGED
@@ -1,5 +1,5 @@
1
  === WP Security Audit Log ===
2
- Contributors: WPWhiteSecurity, uuf6429, robert681
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=donations%40wpwhitesecurity%2ecom
4
  Plugin URI: http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/
5
  License: GPLv3
@@ -7,14 +7,12 @@ License URI: http://www.gnu.org/licenses/gpl.html
7
  Tags: wordpress security plugin, wordpress security audit log, audit log, wordpress log, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, security audit trail, wordpress security alerts, wordpress monitor, wordpress security monitor, wordpress admin, wordpress admin monitoring, analytics, activity, admin, multisite, wordpress multisite, actions, dashboard, log, notification, wordpress monitoring, email notification, wordpress email alerts, tracking, user tracking, user activity report
8
  Requires at least: 3.6
9
  Tested up to: 4.1
10
- Stable tag: 1.3.2
11
 
12
- Identify WordPress issues before they become a security problem by keeping an audit log of users and all of the under the hood WordPress activity.
13
 
14
  == Description ==
15
- **Note: This plugin requires PHP 5.3 or higher to be activated because older versions of PHP are no longer maintained by PHP themselves, which make them prone to security issues. For more information or if you need assistance with your version of PHP please get in touch with us by using our [contact form](https://www.wpwhitesecurity.com/contact-wp-white-security/).**
16
-
17
- Keep an audit log and track of everything that is happening on your WordPress and [WordPress multisite](http://www.wpwhitesecurity.com/wordpress-plugins/wp-security-audit-log-plugin-features-wordpress-multisite/) with WP Security Audit Log plugin to ensure user productivity and identify WordPress security issues before they become a security problem. WP Security Audit Log, WordPress' most comprehensive monitoring and audit log plugin already helps thousands of WordPress administrators, owners and security professionals ensure the security of their websites and blogs. Ensure the security of your WordPress too by installing WP Security Audit Log. The community's favourite security monitoring and auditing plugin is developed by WordPress Security Consultants and Professionals [WP White Security](http://www.wpwhitesecurity.com/).
18
 
19
  > <strong>Free and Premium Support</strong><br>
20
  >
@@ -106,9 +104,11 @@ WP Security Audit Log plugin also has a number of features that make WordPress a
106
  = As Featured On: =
107
 
108
  * [WP Mayor](http://www.wpmayor.com/wp-security-audit-log-plugin-review-user-activity-logging-wordpress/)
109
- * [ManageWP](https://managewp.com/free-wordpress-plugins-june-2014)
 
110
  * [Design Wall](http://www.designwall.com/blog/10-wordpress-multisite-plugins-you-shouldnt-live-without/)
111
  * [WPLift](http://wplift.com/wordpress-event-tracking)
 
112
 
113
  = Related Links and Documentation =
114
  For more information and to get started with WordPress Security, check out the following:
@@ -116,6 +116,7 @@ For more information and to get started with WordPress Security, check out the f
116
  * [List of WordPress Security Alerts](http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/security-audit-alerts-logs/)
117
  * [WordPress Multisite Features](http://www.wpwhitesecurity.com/wordpress-plugins/wordpress-user-monitoring-plugin/wp-security-audit-log-plugin-features-wordpress-multisite/)
118
  * [WP Security Audit Log and Reverse Proxy and WAFs Support](http://www.wpwhitesecurity.com/wordpress-plugins/wordpress-user-monitoring-plugin/wp-security-audit-log-plugin-retrieves-originating-wordpress-user-ip-address/)
 
119
  * [Official WP Security Audit Log Page](http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/)
120
 
121
  = WordPress Security Tips & Tricks =
@@ -124,6 +125,8 @@ Even if WordPress security is not your cup of tea, the security of your WordPres
124
  = Plugin Newsletter =
125
  To keep yourself updated with what is new and updated in our WordPress security plugins please subscribe to the [WP White Security Plugins Newsletter](http://eepurl.com/Jn9sP).
126
 
 
 
127
  == Installation ==
128
 
129
  1. Upload the `wp-security-audit-log` folder to the `/wp-content/plugins/` directory
@@ -164,6 +167,18 @@ Yes it is possible to do so with the premium [WSAL Reporting Extension](http://w
164
 
165
  == Changelog ==
166
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  = 1.3.2 (2014-12-16) =
168
  * **New Features and Options**
169
  * Plugin automatically retrieves user's originating IP address even if WordPress is installed behind a reverse proxy, web application firewall or load balancer. For more information refer to [WP Security Audit Log, Reverse Proxies and WAFs](http://www.wpwhitesecurity.com/wordpress-plugins/wordpress-user-monitoring-plugin/wp-security-audit-log-plugin-retrieves-originating-wordpress-user-ip-address/)
@@ -174,7 +189,7 @@ Yes it is possible to do so with the premium [WSAL Reporting Extension](http://w
174
 
175
  * **Bug Fixes**
176
  * Fixed a bug where site administrators where not able to view the WordPress security alerts for their sites in a WordPress multisite installation
177
- * Improved some SQL queries as reported in this [support ticket](https://wordpress.org/support/topic/syntax-error-d-not-replaced?replies=10#post-6278773)
178
  * Fixed an issue with alerts pruning (when pruning was set by number of alerts the plugin was pruning all alerts)
179
 
180
  = 1.3.1 (2014-11-27) =
1
  === WP Security Audit Log ===
2
+ Contributors: WPWhiteSecurity, robert681
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=donations%40wpwhitesecurity%2ecom
4
  Plugin URI: http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/
5
  License: GPLv3
7
  Tags: wordpress security plugin, wordpress security audit log, audit log, wordpress log, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, security audit trail, wordpress security alerts, wordpress monitor, wordpress security monitor, wordpress admin, wordpress admin monitoring, analytics, activity, admin, multisite, wordpress multisite, actions, dashboard, log, notification, wordpress monitoring, email notification, wordpress email alerts, tracking, user tracking, user activity report
8
  Requires at least: 3.6
9
  Tested up to: 4.1
10
+ Stable tag: 1.3.3
11
 
12
+ Identify WordPress issues before they become security problems - Keep an audit log of all users' changes and other under the hood WordPress activity.
13
 
14
  == Description ==
15
+ Keep an audit log of everything that is happening on your WordPress and [WordPress multisite](http://www.wpwhitesecurity.com/wordpress-plugins/wp-security-audit-log-plugin-features-wordpress-multisite/) with WP Security Audit Log to ensure user productivity and identify WordPress security issues before they become a security problem. WP Security Audit Log, WordPress' most comprehensive user monitoring and audit log plugin already helps thousands of WordPress administrators, owners and security professionals ensure the security of their websites and blogs. Ensure the security of your WordPress too by installing WP Security Audit Log. The community's favourite WordPress user monitoring monitoring and security auditing plugin is developed by WordPress Security Consultants and Professionals [WP White Security](http://www.wpwhitesecurity.com/).
 
 
16
 
17
  > <strong>Free and Premium Support</strong><br>
18
  >
104
  = As Featured On: =
105
 
106
  * [WP Mayor](http://www.wpmayor.com/wp-security-audit-log-plugin-review-user-activity-logging-wordpress/)
107
+ * [ManageWP Plugins of the month](https://managewp.com/free-wordpress-plugins-june-2014)
108
+ * [Pagely](https://pagely.com/blog/2015/01/log-wordpress-dashboard-activity-improved-security-auditing/)
109
  * [Design Wall](http://www.designwall.com/blog/10-wordpress-multisite-plugins-you-shouldnt-live-without/)
110
  * [WPLift](http://wplift.com/wordpress-event-tracking)
111
+ * [BlogVault](https://blogvault.net/wp-security-audit-log-plugin-review/)
112
 
113
  = Related Links and Documentation =
114
  For more information and to get started with WordPress Security, check out the following:
116
  * [List of WordPress Security Alerts](http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/security-audit-alerts-logs/)
117
  * [WordPress Multisite Features](http://www.wpwhitesecurity.com/wordpress-plugins/wordpress-user-monitoring-plugin/wp-security-audit-log-plugin-features-wordpress-multisite/)
118
  * [WP Security Audit Log and Reverse Proxy and WAFs Support](http://www.wpwhitesecurity.com/wordpress-plugins/wordpress-user-monitoring-plugin/wp-security-audit-log-plugin-retrieves-originating-wordpress-user-ip-address/)
119
+ * [WP Security Audit Log Database Documentation](http://www.wpwhitesecurity.com/wordpress-plugins/wordpress-user-monitoring-plugin/wp-security-audit-log-wordpress-database-documentation/)
120
  * [Official WP Security Audit Log Page](http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/)
121
 
122
  = WordPress Security Tips & Tricks =
125
  = Plugin Newsletter =
126
  To keep yourself updated with what is new and updated in our WordPress security plugins please subscribe to the [WP White Security Plugins Newsletter](http://eepurl.com/Jn9sP).
127
 
128
+ **Note: This plugin requires PHP 5.3 or higher to be activated because older versions of PHP are no longer maintained by PHP themselves, which make them prone to security issues. For more information or if you need assistance with your version of PHP please get in touch with us by using our [contact form](https://www.wpwhitesecurity.com/contact-wp-white-security/).**
129
+
130
  == Installation ==
131
 
132
  1. Upload the `wp-security-audit-log` folder to the `/wp-content/plugins/` directory
167
 
168
  == Changelog ==
169
 
170
+ = 1.3.3 (2015-01-21) =
171
+ * **New Features**
172
+ * [Premium Add-ons](http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/extensions/) will be hidden from the WordPress plugins page when the Hide plugin option is enabled.
173
+
174
+ * **Improvements**
175
+ * Updated some of the help text in plugin's settings page
176
+ * Updated the text of some WordPress security alerts
177
+
178
+ * **Bug Fixes**
179
+ * Fixed a bug related to the reverse proxy / IP retrieval functionality
180
+ * Fixed an issue related to Sandbox removal and upgrades [Support Ticket](https://wordpress.org/support/topic/fatal-error-undefined-method-on-upgrade)
181
+
182
  = 1.3.2 (2014-12-16) =
183
  * **New Features and Options**
184
  * Plugin automatically retrieves user's originating IP address even if WordPress is installed behind a reverse proxy, web application firewall or load balancer. For more information refer to [WP Security Audit Log, Reverse Proxies and WAFs](http://www.wpwhitesecurity.com/wordpress-plugins/wordpress-user-monitoring-plugin/wp-security-audit-log-plugin-retrieves-originating-wordpress-user-ip-address/)
189
 
190
  * **Bug Fixes**
191
  * Fixed a bug where site administrators where not able to view the WordPress security alerts for their sites in a WordPress multisite installation
192
+ * Improved some SQL queries as reported in this [support ticket](https://wordpress.org/support/topic/syntax-error-d-not-replaced?replies=10#post-6278773)
193
  * Fixed an issue with alerts pruning (when pruning was set by number of alerts the plugin was pruning all alerts)
194
 
195
  = 1.3.1 (2014-11-27) =
wp-security-audit-log.php CHANGED
@@ -2,9 +2,9 @@
2
  /*
3
  Plugin Name: WP Security Audit Log
4
  Plugin URI: http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/
5
- Description: Identify WordPress security issues before they become a problem and keep track of everything happening on your WordPress, including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log will generate a security alert for everything that happens on your WordPress blog or website. Use the Audit Log Viewer included in the plugin to see all the security alerts.
6
  Author: WP White Security
7
- Version: 1.3.2
8
  Text Domain: wp-security-audit-log
9
  Author URI: http://www.wpwhitesecurity.com/
10
  License: GPL2
@@ -98,7 +98,7 @@ class WpSecurityAuditLog {
98
  * Standard singleton pattern.
99
  * WARNING! To ensure the system always works as expected, AVOID using this method.
100
  * Instead, make use of the plugin instance provided by 'wsal_init' action.
101
- * @return \self Returns the current plugin instance.
102
  */
103
  public static function GetInstance(){
104
  static $instance = null;
@@ -139,10 +139,6 @@ class WpSecurityAuditLog {
139
 
140
  // render wsal footer
141
  add_action('admin_footer', array($this, 'RenderFooter'));
142
-
143
- // hide plugin
144
- if($this->settings->IsIncognito())
145
- add_action('admin_head', array($this, 'HidePlugin'));
146
  }
147
 
148
  /**
@@ -175,6 +171,10 @@ class WpSecurityAuditLog {
175
  $s = $this->profiler->Start('WSAL Init Hook');
176
  do_action('wsal_init', $this);
177
  $s->Stop();
 
 
 
 
178
  }
179
 
180
  /**
@@ -324,7 +324,11 @@ class WpSecurityAuditLog {
324
  * @internal To be called in admin header for hiding plugin form Plugins list.
325
  */
326
  public function HidePlugin(){
327
- ?><style type="text/css">.wp-list-table.plugins #wp-security-audit-log { display: none; }</style><?php
 
 
 
 
328
  }
329
 
330
  /**
2
  /*
3
  Plugin Name: WP Security Audit Log
4
  Plugin URI: http://www.wpwhitesecurity.com/wordpress-security-plugins/wp-security-audit-log/
5
+ Description: Identify WordPress security issues before they become a problem. 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: 1.3.3
8
  Text Domain: wp-security-audit-log
9
  Author URI: http://www.wpwhitesecurity.com/
10
  License: GPL2
98
  * Standard singleton pattern.
99
  * WARNING! To ensure the system always works as expected, AVOID using this method.
100
  * Instead, make use of the plugin instance provided by 'wsal_init' action.
101
+ * @return WpSecurityAuditLog Returns the current plugin instance.
102
  */
103
  public static function GetInstance(){
104
  static $instance = null;
139
 
140
  // render wsal footer
141
  add_action('admin_footer', array($this, 'RenderFooter'));
 
 
 
 
142
  }
143
 
144
  /**
171
  $s = $this->profiler->Start('WSAL Init Hook');
172
  do_action('wsal_init', $this);
173
  $s->Stop();
174
+
175
+ // hide plugin
176
+ if($this->settings->IsIncognito())
177
+ add_action('admin_head', array($this, 'HidePlugin'));
178
  }
179
 
180
  /**
324
  * @internal To be called in admin header for hiding plugin form Plugins list.
325
  */
326
  public function HidePlugin(){
327
+ $selectr = '.wp-list-table.plugins #';
328
+ $plugins = array('wp-security-audit-log');
329
+ foreach ($this->licensing->Plugins() as $plugin)
330
+ $plugins[] = strtolower(str_replace(' ', '-', $plugin['PluginData']['Name']));
331
+ ?><style type="text/css"> <?php echo $selectr . implode(', ' . $selectr, $plugins); ?> { display: none; }</style><?php
332
  }
333
 
334
  /**