Version Description
(2019-04-03) =
-
New Features
- SMS notifications (integration with Twilio) for the WordPress audit logs.
- Integration with Bit.ly to shorten URL in SMSs.
- Added buttons to test email and SMS notifications.
- Support for User Switching plugin.
-
New Activity Log Event IDs
- Event ID 1008: user logged in as another user.
- Event ID 9083: user changed the billing address (WooCommerce).
- Event ID 9084: user changed the shipping address (WooCommerce).
-
Plugin Improvements
- Added more pre-configured SMS & email notifications.
- Improved all sensors to also detect changes that are not done via the dashboard.
- Optimized some metadata database queries (reduced qeuries by 75%).
- Improved the content sensor (better detection of content changes).
- Optimized the database query that fetches list of logged in users.
- Removed email notifications wizard.
- Standardized all tabs and titles in the Emails & SMS Notifications feature.
- Improved the help text in the Emails & SMS Notifications feature.
- Removed the limit of 5 criteria in the notifications trigger builder.
- Removed declaration of emails' Mime-type - this is automatically set so there is no need for it.
-
Bug Fixes
- WooCommerce order name was not reported in event ID 9040 (changed order detail) in some edge cases.
- Maximum execution time configured in the WordPress activity log reports engine now is only used when generating a report.
- CSV reports were not being generated.
- Audit trail auto refresh was not working when using infinite scroll viewer option.
- Plugin reporting event 9032 (disabled use of WooCommerce coupons) by mistake.
- Event IDs 2046 and 2051 were not being reported when files were modified via the editors.
- Plugin reporting event 2002 when there were changes in a post's Yoast SEO metabox.
- Removed all reference to obsolete plugin setting: wsal-archiving-date-e.
- Admins on multisite child sites could see the activity logs of other sites.
- Event ID 2073 (post submitted for review) was not being reported in Gutenberg.
- Event 2074 (scheduled post) was not being reported in Gutenberg.
Download this release
Release Info
Developer | WPWhiteSecurity |
Plugin | WP Security Audit Log |
Version | 3.4 |
Comparing to | |
See all releases |
Code changes from version 3.3.1.2 to 3.4
- classes/AbstractView.php +14 -7
- classes/AlertManager.php +1 -0
- classes/AuditLogListView.php +19 -5
- classes/Models/Occurrence.php +43 -20
- classes/Sensors/Comments.php +37 -39
- classes/Sensors/Content.php +1038 -1640
- classes/Sensors/Files.php +37 -36
- classes/Sensors/LogInOut.php +37 -6
- classes/Sensors/MetaData.php +235 -344
- classes/Sensors/Public.php +71 -29
- classes/Sensors/UserProfile.php +186 -260
- classes/Sensors/WooCommerce.php +425 -334
- classes/Settings.php +2 -10
- classes/Utilities/Emailer.php +1 -2
- classes/ViewManager.php +96 -8
- classes/Views/AuditLog.php +49 -65
- classes/Views/EmailNotifications.php +53 -100
- classes/Views/ExternalDB.php +39 -91
- classes/Views/Help.php +17 -5
- classes/Views/LogInUsers.php +37 -93
- classes/Views/Reports.php +39 -92
- classes/Views/Search.php +40 -85
- classes/Views/Settings.php +156 -104
- classes/Views/ToggleAlerts.php +5 -1
- classes/Views/addons/html-view.php +105 -0
- css/auditlog.css +43 -30
- css/extensions.css +416 -182
- css/settings.css +27 -0
- defaults.php +6 -2
- img/check-icon.png +0 -0
- img/external-db/db_integrations_1.png +0 -0
- img/external-db/db_integrations_2.png +0 -0
- img/external-db/db_integrations_3.png +0 -0
- img/mails/daily-notification/box-shadow-bottom.png +0 -0
- img/mails/daily-notification/box-shadow-left.png +0 -0
- img/mails/daily-notification/box-shadow-right.png +0 -0
- img/mails/daily-notification/box-shadow-up.png +0 -0
- img/mails/daily-notification/documentation.png +0 -0
- img/mails/daily-notification/get-support.png +0 -0
- img/mails/daily-notification/logo.png +0 -0
- img/mails/daily-notification/table-bg.jpg +0 -0
- img/notifications/notifications_1.png +0 -0
- img/notifications/notifications_2.png +0 -0
- img/notifications/notifications_3.png +0 -0
- img/notifications/notifications_4.png +0 -0
- img/reports/reports_1.png +0 -0
- img/reports/reports_2.png +0 -0
- img/reports/reports_3.png +0 -0
- img/search/search_1.png +0 -0
- img/search/search_2.png +0 -0
- img/search/search_3.png +0 -0
- img/users-sessions-management/user_sessions_1.png +0 -0
- img/users-sessions-management/user_sessions_2.png +0 -0
- img/wsal-emailnotifications.jpg +0 -0
- img/wsal-externaldb.jpg +0 -0
- img/wsal-loginusers.png +0 -0
- img/wsal-reports.jpg +0 -0
- img/wsal-search.jpg +0 -0
- js/auditlog.js +2 -5
- languages/wp-security-audit-log.pot +1412 -1311
- readme.txt +39 -15
- sdk/freemius/includes/class-freemius.php +1 -1
- wp-security-audit-log.php +25 -5
classes/AbstractView.php
CHANGED
@@ -164,9 +164,9 @@ abstract class WSAL_AbstractView {
|
|
164 |
* Renders the view title.
|
165 |
*/
|
166 |
public function RenderTitle() {
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
}
|
171 |
|
172 |
/**
|
@@ -197,16 +197,23 @@ abstract class WSAL_AbstractView {
|
|
197 |
}
|
198 |
|
199 |
/**
|
200 |
-
*
|
|
|
|
|
201 |
*/
|
202 |
-
public function
|
|
|
203 |
}
|
204 |
|
|
|
|
|
|
|
|
|
|
|
205 |
/**
|
206 |
* Used for rendering stuff in page fotoer.
|
207 |
*/
|
208 |
-
public function Footer() {
|
209 |
-
}
|
210 |
|
211 |
/**
|
212 |
* Method: Safe view menu name.
|
164 |
* Renders the view title.
|
165 |
*/
|
166 |
public function RenderTitle() {
|
167 |
+
if ( $this->is_title_visible() ) {
|
168 |
+
echo '<h2>' . esc_html( $this->GetTitle() ) . '</h2>';
|
169 |
+
}
|
170 |
}
|
171 |
|
172 |
/**
|
197 |
}
|
198 |
|
199 |
/**
|
200 |
+
* Check if the page title is visible.
|
201 |
+
*
|
202 |
+
* @return boolean
|
203 |
*/
|
204 |
+
public function is_title_visible() {
|
205 |
+
return true;
|
206 |
}
|
207 |
|
208 |
+
/**
|
209 |
+
* Used for rendering stuff into head tag.
|
210 |
+
*/
|
211 |
+
public function Header() {}
|
212 |
+
|
213 |
/**
|
214 |
* Used for rendering stuff in page fotoer.
|
215 |
*/
|
216 |
+
public function Footer() {}
|
|
|
217 |
|
218 |
/**
|
219 |
* Method: Safe view menu name.
|
classes/AlertManager.php
CHANGED
@@ -131,6 +131,7 @@ final class WSAL_AlertManager {
|
|
131 |
'nav_menu_item', // Nav menu item CPT.
|
132 |
'customize_changeset', // Customize changeset CPT.
|
133 |
'custom_css', // Custom CSS CPT.
|
|
|
134 |
'shop_order', // WooCommerce Order CPT.
|
135 |
'shop_order_refund', // WooCommerce Order Refund CPT.
|
136 |
'product_variation', // WooCommerce Product Variation CPT.
|
131 |
'nav_menu_item', // Nav menu item CPT.
|
132 |
'customize_changeset', // Customize changeset CPT.
|
133 |
'custom_css', // Custom CSS CPT.
|
134 |
+
'product', // WooCommerce Product CPT.
|
135 |
'shop_order', // WooCommerce Order CPT.
|
136 |
'shop_order_refund', // WooCommerce Order Refund CPT.
|
137 |
'product_variation', // WooCommerce Product Variation CPT.
|
classes/AuditLogListView.php
CHANGED
@@ -75,6 +75,15 @@ class WSAL_AuditLogListView extends WP_List_Table {
|
|
75 |
*/
|
76 |
private $query_args;
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
/**
|
79 |
* Method: Constructor.
|
80 |
*
|
@@ -194,7 +203,7 @@ class WSAL_AuditLogListView extends WP_List_Table {
|
|
194 |
( 'top' === $which && $this->_plugin->settings->is_infinite_scroll() )
|
195 |
|| ! $this->_plugin->settings->is_infinite_scroll()
|
196 |
) {
|
197 |
-
$curr = $this->get_view_site_id();
|
198 |
?>
|
199 |
<div class="wsal-ssa wsal-ssa-<?php echo esc_attr( $which ); ?>">
|
200 |
<?php if ( $this->get_site_count() > 15 ) : ?>
|
@@ -386,6 +395,11 @@ class WSAL_AuditLogListView extends WP_List_Table {
|
|
386 |
// Get date format.
|
387 |
$datetime_format = $this->_plugin->settings->GetDatetimeFormat();
|
388 |
|
|
|
|
|
|
|
|
|
|
|
389 |
// Store current alert id.
|
390 |
$this->current_alert_id = $item->id;
|
391 |
|
@@ -440,7 +454,7 @@ class WSAL_AuditLogListView extends WP_List_Table {
|
|
440 |
)
|
441 |
) : '<i>' . __( 'Unknown', 'wp-security-audit-log' ) . '</i>';
|
442 |
case 'user':
|
443 |
-
$username = $item->GetUsername(); // Get username.
|
444 |
$user = get_user_by( 'login', $username ); // Get user.
|
445 |
if ( empty( $this->name_type ) ) {
|
446 |
$this->name_type = $this->_plugin->settings->get_type_username();
|
@@ -473,7 +487,7 @@ class WSAL_AuditLogListView extends WP_List_Table {
|
|
473 |
. '" target="_blank">' . esc_html( $display_name ) . '</a>';
|
474 |
}
|
475 |
|
476 |
-
$roles = $item->GetUserRoles();
|
477 |
if ( is_array( $roles ) && count( $roles ) ) {
|
478 |
$roles = esc_html( ucwords( implode( ', ', $roles ) ) );
|
479 |
} elseif ( is_string( $roles ) && '' != $roles ) {
|
@@ -512,7 +526,7 @@ class WSAL_AuditLogListView extends WP_List_Table {
|
|
512 |
*/
|
513 |
return apply_filters( 'wsal_auditlog_row_user_data', $row_user_data, $this->current_alert_id );
|
514 |
case 'scip':
|
515 |
-
$scip = $item->GetSourceIP();
|
516 |
if ( is_string( $scip ) ) {
|
517 |
$scip = str_replace( array( '"', '[', ']' ), '', $scip );
|
518 |
}
|
@@ -566,7 +580,7 @@ class WSAL_AuditLogListView extends WP_List_Table {
|
|
566 |
return ! $info ? ( 'Unknown Site ' . $item->site_id )
|
567 |
: ( '<a href="' . esc_attr( $info->siteurl ) . '">' . esc_html( $info->blogname ) . '</a>' );
|
568 |
case 'mesg':
|
569 |
-
return '<div id="Event' . $item->id . '">' . $item->GetMessage( array( $this->_plugin->settings, 'meta_formatter' ) ) . '</div>';
|
570 |
case 'data':
|
571 |
$url = admin_url( 'admin-ajax.php' ) . '?action=AjaxInspector&occurrence=' . $item->id;
|
572 |
$tooltip = esc_attr__( 'View all details of this change', 'wp-security-audit-log' );
|
75 |
*/
|
76 |
private $query_args;
|
77 |
|
78 |
+
/**
|
79 |
+
* Event Items Meta Array.
|
80 |
+
*
|
81 |
+
* @since 3.4
|
82 |
+
*
|
83 |
+
* @var array
|
84 |
+
*/
|
85 |
+
private $item_meta = array();
|
86 |
+
|
87 |
/**
|
88 |
* Method: Constructor.
|
89 |
*
|
203 |
( 'top' === $which && $this->_plugin->settings->is_infinite_scroll() )
|
204 |
|| ! $this->_plugin->settings->is_infinite_scroll()
|
205 |
) {
|
206 |
+
$curr = $this->_plugin->settings->get_view_site_id();
|
207 |
?>
|
208 |
<div class="wsal-ssa wsal-ssa-<?php echo esc_attr( $which ); ?>">
|
209 |
<?php if ( $this->get_site_count() > 15 ) : ?>
|
395 |
// Get date format.
|
396 |
$datetime_format = $this->_plugin->settings->GetDatetimeFormat();
|
397 |
|
398 |
+
// Store meta if not set.
|
399 |
+
if ( ! isset( $this->item_meta[ $item->getId() ] ) ) {
|
400 |
+
$this->item_meta[ $item->getId() ] = $item->GetMetaArray();
|
401 |
+
}
|
402 |
+
|
403 |
// Store current alert id.
|
404 |
$this->current_alert_id = $item->id;
|
405 |
|
454 |
)
|
455 |
) : '<i>' . __( 'Unknown', 'wp-security-audit-log' ) . '</i>';
|
456 |
case 'user':
|
457 |
+
$username = $item->GetUsername( $this->item_meta[ $item->getId() ] ); // Get username.
|
458 |
$user = get_user_by( 'login', $username ); // Get user.
|
459 |
if ( empty( $this->name_type ) ) {
|
460 |
$this->name_type = $this->_plugin->settings->get_type_username();
|
487 |
. '" target="_blank">' . esc_html( $display_name ) . '</a>';
|
488 |
}
|
489 |
|
490 |
+
$roles = $item->GetUserRoles( $this->item_meta[ $item->getId() ] );
|
491 |
if ( is_array( $roles ) && count( $roles ) ) {
|
492 |
$roles = esc_html( ucwords( implode( ', ', $roles ) ) );
|
493 |
} elseif ( is_string( $roles ) && '' != $roles ) {
|
526 |
*/
|
527 |
return apply_filters( 'wsal_auditlog_row_user_data', $row_user_data, $this->current_alert_id );
|
528 |
case 'scip':
|
529 |
+
$scip = $item->GetSourceIP( $this->item_meta[ $item->getId() ] );
|
530 |
if ( is_string( $scip ) ) {
|
531 |
$scip = str_replace( array( '"', '[', ']' ), '', $scip );
|
532 |
}
|
580 |
return ! $info ? ( 'Unknown Site ' . $item->site_id )
|
581 |
: ( '<a href="' . esc_attr( $info->siteurl ) . '">' . esc_html( $info->blogname ) . '</a>' );
|
582 |
case 'mesg':
|
583 |
+
return '<div id="Event' . $item->id . '">' . $item->GetMessage( array( $this->_plugin->settings, 'meta_formatter' ), false, $this->item_meta[ $item->getId() ] ) . '</div>';
|
584 |
case 'data':
|
585 |
$url = admin_url( 'admin-ajax.php' ) . '?action=AjaxInspector&occurrence=' . $item->id;
|
586 |
$tooltip = esc_attr__( 'View all details of this change', 'wp-security-audit-log' );
|
classes/Models/Occurrence.php
CHANGED
@@ -106,10 +106,10 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
|
|
106 |
public function SetMetaValue( $name, $value ) {
|
107 |
if ( ! empty( $value ) ) {
|
108 |
// Get meta adapter.
|
109 |
-
$model
|
110 |
$model->occurrence_id = $this->getId();
|
111 |
-
$model->name
|
112 |
-
$model->value
|
113 |
$model->SaveMeta();
|
114 |
}
|
115 |
}
|
@@ -134,11 +134,11 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
|
|
134 |
*/
|
135 |
public function GetMetaArray() {
|
136 |
$result = array();
|
137 |
-
$metas
|
138 |
foreach ( $metas as $meta ) {
|
139 |
$result[ $meta->name ] = maybe_unserialize( $meta->value );
|
140 |
}
|
141 |
-
return
|
142 |
}
|
143 |
|
144 |
/**
|
@@ -159,9 +159,10 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
|
|
159 |
*
|
160 |
* @param callable|null $meta_formatter - (Optional) Meta formatter callback.
|
161 |
* @param mixed $highlight - (Optional) Highlight format.
|
|
|
162 |
* @return string Full-formatted message.
|
163 |
*/
|
164 |
-
public function GetMessage( $meta_formatter = null, $highlight = false ) {
|
165 |
if ( ! isset( $this->_cachedmessage ) ) {
|
166 |
// Get correct message entry.
|
167 |
if ( $this->is_migrated ) {
|
@@ -171,7 +172,8 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
|
|
171 |
$this->_cachedmessage = $this->GetAlert()->mesg;
|
172 |
}
|
173 |
// Fill variables in message.
|
174 |
-
$
|
|
|
175 |
}
|
176 |
return $this->_cachedmessage;
|
177 |
}
|
@@ -193,16 +195,29 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
|
|
193 |
* Gets the username.
|
194 |
*
|
195 |
* @see WSAL_Adapters_MySQL_Occurrence::GetFirstNamedMeta()
|
|
|
|
|
196 |
* @return string User's username.
|
197 |
*/
|
198 |
-
public function GetUsername() {
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
}
|
207 |
}
|
208 |
return null;
|
@@ -211,10 +226,14 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
|
|
211 |
/**
|
212 |
* Gets the Client IP.
|
213 |
*
|
|
|
214 |
* @return string IP address of request.
|
215 |
*/
|
216 |
-
public function GetSourceIP() {
|
217 |
-
|
|
|
|
|
|
|
218 |
}
|
219 |
|
220 |
/**
|
@@ -224,7 +243,7 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
|
|
224 |
*/
|
225 |
public function GetOtherIPs() {
|
226 |
$result = array();
|
227 |
-
$data
|
228 |
foreach ( $data as $ips ) {
|
229 |
foreach ( $ips as $ip ) {
|
230 |
$result[] = $ip;
|
@@ -236,10 +255,14 @@ class WSAL_Models_Occurrence extends WSAL_Models_ActiveRecord {
|
|
236 |
/**
|
237 |
* Gets user roles.
|
238 |
*
|
|
|
239 |
* @return array Array of user roles.
|
240 |
*/
|
241 |
-
public function GetUserRoles() {
|
242 |
-
|
|
|
|
|
|
|
243 |
}
|
244 |
|
245 |
/**
|
106 |
public function SetMetaValue( $name, $value ) {
|
107 |
if ( ! empty( $value ) ) {
|
108 |
// Get meta adapter.
|
109 |
+
$model = new WSAL_Models_Meta();
|
110 |
$model->occurrence_id = $this->getId();
|
111 |
+
$model->name = $name;
|
112 |
+
$model->value = maybe_serialize( $value );
|
113 |
$model->SaveMeta();
|
114 |
}
|
115 |
}
|
134 |
*/
|
135 |
public function GetMetaArray() {
|
136 |
$result = array();
|
137 |
+
$metas = $this->getAdapter()->GetMultiMeta( $this );
|
138 |
foreach ( $metas as $meta ) {
|
139 |
$result[ $meta->name ] = maybe_unserialize( $meta->value );
|
140 |
}
|
141 |
+
return $result;
|
142 |
}
|
143 |
|
144 |
/**
|
159 |
*
|
160 |
* @param callable|null $meta_formatter - (Optional) Meta formatter callback.
|
161 |
* @param mixed $highlight - (Optional) Highlight format.
|
162 |
+
* @param array $meta - Occurrence meta array.
|
163 |
* @return string Full-formatted message.
|
164 |
*/
|
165 |
+
public function GetMessage( $meta_formatter = null, $highlight = false, $meta = null ) {
|
166 |
if ( ! isset( $this->_cachedmessage ) ) {
|
167 |
// Get correct message entry.
|
168 |
if ( $this->is_migrated ) {
|
172 |
$this->_cachedmessage = $this->GetAlert()->mesg;
|
173 |
}
|
174 |
// Fill variables in message.
|
175 |
+
$meta_array = null === $meta ? $this->GetMetaArray() : $meta;
|
176 |
+
$this->_cachedmessage = $this->GetAlert()->GetMessage( $meta_array, $meta_formatter, $this->_cachedmessage, $this->getId(), $highlight );
|
177 |
}
|
178 |
return $this->_cachedmessage;
|
179 |
}
|
195 |
* Gets the username.
|
196 |
*
|
197 |
* @see WSAL_Adapters_MySQL_Occurrence::GetFirstNamedMeta()
|
198 |
+
*
|
199 |
+
* @param array $meta - Occurrence meta array.
|
200 |
* @return string User's username.
|
201 |
*/
|
202 |
+
public function GetUsername( $meta = null ) {
|
203 |
+
if ( null === $meta ) {
|
204 |
+
$meta = $this->getAdapter()->GetFirstNamedMeta( $this, array( 'Username', 'CurrentUserID' ) );
|
205 |
+
|
206 |
+
if ( $meta ) {
|
207 |
+
switch ( true ) {
|
208 |
+
case 'Username' === $meta->name:
|
209 |
+
return $meta->value;
|
210 |
+
case 'CurrentUserID' === $meta->name:
|
211 |
+
$data = get_userdata( $meta->value );
|
212 |
+
return $data ? $data->user_login : null;
|
213 |
+
}
|
214 |
+
}
|
215 |
+
} else {
|
216 |
+
if ( isset( $meta['Username'] ) ) {
|
217 |
+
return $meta['Username'];
|
218 |
+
} elseif ( isset( $meta['CurrentUserID'] ) ) {
|
219 |
+
$data = get_userdata( $meta['CurrentUserID'] );
|
220 |
+
return $data ? $data->user_login : null;
|
221 |
}
|
222 |
}
|
223 |
return null;
|
226 |
/**
|
227 |
* Gets the Client IP.
|
228 |
*
|
229 |
+
* @param array $meta - Occurrence meta array.
|
230 |
* @return string IP address of request.
|
231 |
*/
|
232 |
+
public function GetSourceIP( $meta = null ) {
|
233 |
+
if ( null === $meta ) {
|
234 |
+
return $this->GetMetaValue( 'ClientIP', '' );
|
235 |
+
}
|
236 |
+
return isset( $meta['ClientIP'] ) ? $meta['ClientIP'] : '';
|
237 |
}
|
238 |
|
239 |
/**
|
243 |
*/
|
244 |
public function GetOtherIPs() {
|
245 |
$result = array();
|
246 |
+
$data = (array) $this->GetMetaValue( 'OtherIPs', array() );
|
247 |
foreach ( $data as $ips ) {
|
248 |
foreach ( $ips as $ip ) {
|
249 |
$result[] = $ip;
|
255 |
/**
|
256 |
* Gets user roles.
|
257 |
*
|
258 |
+
* @param array $meta - Occurrence meta array.
|
259 |
* @return array Array of user roles.
|
260 |
*/
|
261 |
+
public function GetUserRoles( $meta = null ) {
|
262 |
+
if ( null === $meta ) {
|
263 |
+
return $this->GetMetaValue( 'CurrentUserRoles', array() );
|
264 |
+
}
|
265 |
+
return isset( $meta['CurrentUserRoles'] ) ? $meta['CurrentUserRoles'] : array();
|
266 |
}
|
267 |
|
268 |
/**
|
classes/Sensors/Comments.php
CHANGED
@@ -43,7 +43,7 @@ class WSAL_Sensors_Comments extends WSAL_AbstractSensor {
|
|
43 |
add_action( 'trashed_comment', array( $this, 'EventCommentTrash' ), 10, 1 );
|
44 |
add_action( 'untrashed_comment', array( $this, 'EventCommentUntrash' ), 10, 1 );
|
45 |
add_action( 'deleted_comment', array( $this, 'EventCommentDeleted' ), 10, 1 );
|
46 |
-
add_action( 'comment_post', array( $this, 'EventComment' ), 10,
|
47 |
}
|
48 |
|
49 |
/**
|
@@ -52,7 +52,6 @@ class WSAL_Sensors_Comments extends WSAL_AbstractSensor {
|
|
52 |
* @param integer $comment_id - Comment ID.
|
53 |
*/
|
54 |
public function EventCommentEdit( $comment_id ) {
|
55 |
-
$comment = get_comment( $comment_id );
|
56 |
$this->EventGeneric( $comment_id, 2093 );
|
57 |
}
|
58 |
|
@@ -64,7 +63,7 @@ class WSAL_Sensors_Comments extends WSAL_AbstractSensor {
|
|
64 |
* @param stdClass $comment - Comment.
|
65 |
*/
|
66 |
public function EventCommentApprove( $new_status, $old_status, $comment ) {
|
67 |
-
if ( ! empty( $comment ) && $old_status
|
68 |
$post = get_post( $comment->comment_post_ID );
|
69 |
$comment_link = get_permalink( $post->ID ) . '#comment-' . $comment->comment_ID;
|
70 |
$fields = array(
|
@@ -74,10 +73,10 @@ class WSAL_Sensors_Comments extends WSAL_AbstractSensor {
|
|
74 |
'CommentLink' => '<a target="_blank" href="' . $comment_link . '">' . $comment->comment_date . '</a>',
|
75 |
);
|
76 |
|
77 |
-
if ( 'approved'
|
78 |
$this->plugin->alerts->Trigger( 2090, $fields );
|
79 |
}
|
80 |
-
if ( 'unapproved'
|
81 |
$this->plugin->alerts->Trigger( 2091, $fields );
|
82 |
}
|
83 |
}
|
@@ -133,43 +132,42 @@ class WSAL_Sensors_Comments extends WSAL_AbstractSensor {
|
|
133 |
*
|
134 |
* @param int $comment_id The comment ID.
|
135 |
* @param int|string $comment_approved 1 if the comment is approved, 0 if not, 'spam' if spam.
|
|
|
136 |
*/
|
137 |
-
public function EventComment( $comment_id, $comment_approved
|
138 |
-
//
|
139 |
-
|
140 |
-
|
141 |
-
if ( isset( $post_array['action'] ) && 'replyto-comment' == $post_array['action'] ) {
|
142 |
$this->EventGeneric( $comment_id, 2092 );
|
|
|
143 |
}
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
}
|
166 |
-
|
167 |
-
// Set the fields.
|
168 |
-
$fields['Username'] = $user_data->user_login;
|
169 |
-
$fields['CurrentUserRoles'] = $user_roles;
|
170 |
-
$fields['CommentMsg'] = sprintf( 'Posted a comment in response to the post <strong>%s</strong>', $post->post_title );
|
171 |
-
$this->plugin->alerts->Trigger( 2099, $fields );
|
172 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
}
|
174 |
}
|
175 |
}
|
@@ -183,7 +181,7 @@ class WSAL_Sensors_Comments extends WSAL_AbstractSensor {
|
|
183 |
*/
|
184 |
private function EventGeneric( $comment_id, $alert_code ) {
|
185 |
$comment = get_comment( $comment_id );
|
186 |
-
if (
|
187 |
$post = get_post( $comment->comment_post_ID );
|
188 |
$comment_link = get_permalink( $post->ID ) . '#comment-' . $comment_id;
|
189 |
$fields = array(
|
43 |
add_action( 'trashed_comment', array( $this, 'EventCommentTrash' ), 10, 1 );
|
44 |
add_action( 'untrashed_comment', array( $this, 'EventCommentUntrash' ), 10, 1 );
|
45 |
add_action( 'deleted_comment', array( $this, 'EventCommentDeleted' ), 10, 1 );
|
46 |
+
add_action( 'comment_post', array( $this, 'EventComment' ), 10, 3 );
|
47 |
}
|
48 |
|
49 |
/**
|
52 |
* @param integer $comment_id - Comment ID.
|
53 |
*/
|
54 |
public function EventCommentEdit( $comment_id ) {
|
|
|
55 |
$this->EventGeneric( $comment_id, 2093 );
|
56 |
}
|
57 |
|
63 |
* @param stdClass $comment - Comment.
|
64 |
*/
|
65 |
public function EventCommentApprove( $new_status, $old_status, $comment ) {
|
66 |
+
if ( ! empty( $comment ) && $old_status !== $new_status ) {
|
67 |
$post = get_post( $comment->comment_post_ID );
|
68 |
$comment_link = get_permalink( $post->ID ) . '#comment-' . $comment->comment_ID;
|
69 |
$fields = array(
|
73 |
'CommentLink' => '<a target="_blank" href="' . $comment_link . '">' . $comment->comment_date . '</a>',
|
74 |
);
|
75 |
|
76 |
+
if ( 'approved' === $new_status ) {
|
77 |
$this->plugin->alerts->Trigger( 2090, $fields );
|
78 |
}
|
79 |
+
if ( 'unapproved' === $new_status ) {
|
80 |
$this->plugin->alerts->Trigger( 2091, $fields );
|
81 |
}
|
82 |
}
|
132 |
*
|
133 |
* @param int $comment_id The comment ID.
|
134 |
* @param int|string $comment_approved 1 if the comment is approved, 0 if not, 'spam' if spam.
|
135 |
+
* @param array $comment_data Comment data.
|
136 |
*/
|
137 |
+
public function EventComment( $comment_id, $comment_approved, $comment_data ) {
|
138 |
+
// Check if the comment is response to another comment.
|
139 |
+
if ( isset( $comment_data['comment_parent'] ) && $comment_data['comment_parent'] ) {
|
|
|
|
|
140 |
$this->EventGeneric( $comment_id, 2092 );
|
141 |
+
return;
|
142 |
}
|
143 |
+
|
144 |
+
$comment = get_comment( $comment_id );
|
145 |
+
if ( $comment ) {
|
146 |
+
if ( 'spam' !== $comment->comment_approved ) {
|
147 |
+
$post = get_post( $comment->comment_post_ID );
|
148 |
+
$comment_link = get_permalink( $post->ID ) . '#comment-' . $comment_id;
|
149 |
+
$fields = array(
|
150 |
+
'Date' => $comment->comment_date,
|
151 |
+
'CommentLink' => '<a target="_blank" href="' . $comment_link . '">' . $comment->comment_date . '</a>',
|
152 |
+
);
|
153 |
+
|
154 |
+
// Get user data.
|
155 |
+
$user_data = get_user_by( 'email', $comment->comment_author_email );
|
156 |
+
|
157 |
+
if ( $user_data && $user_data instanceof WP_User ) {
|
158 |
+
// Get user roles.
|
159 |
+
$user_roles = $user_data->roles;
|
160 |
+
|
161 |
+
// Check if superadmin.
|
162 |
+
if ( function_exists( 'is_super_admin' ) && is_super_admin() ) {
|
163 |
+
$user_roles[] = 'superadmin';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
}
|
165 |
+
|
166 |
+
// Set the fields.
|
167 |
+
$fields['Username'] = $user_data->user_login;
|
168 |
+
$fields['CurrentUserRoles'] = $user_roles;
|
169 |
+
$fields['CommentMsg'] = sprintf( 'Posted a comment in response to the post <strong>%s</strong>', $post->post_title );
|
170 |
+
$this->plugin->alerts->Trigger( 2099, $fields );
|
171 |
}
|
172 |
}
|
173 |
}
|
181 |
*/
|
182 |
private function EventGeneric( $comment_id, $alert_code ) {
|
183 |
$comment = get_comment( $comment_id );
|
184 |
+
if ( $comment ) {
|
185 |
$post = get_post( $comment->comment_post_ID );
|
186 |
$comment_link = get_permalink( $post->ID ) . '#comment-' . $comment_id;
|
187 |
$fields = array(
|
classes/Sensors/Content.php
CHANGED
@@ -16,43 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
/**
|
17 |
* WordPress contents (posts, pages and custom posts).
|
18 |
*
|
19 |
-
* 2000 User created a new blog post and saved it as draft
|
20 |
-
* 2001 User published a blog post
|
21 |
-
* 2002 User modified a published blog post
|
22 |
-
* 2008 User permanently deleted a blog post from the trash
|
23 |
-
* 2012 User moved a blog post to the trash
|
24 |
-
* 2014 User restored a blog post from trash
|
25 |
-
* 2016 User changed blog post category
|
26 |
-
* 2017 User changed blog post URL
|
27 |
-
* 2019 User changed blog post author
|
28 |
-
* 2021 User changed blog post status
|
29 |
-
* 2023 User created new category
|
30 |
-
* 2024 User deleted category
|
31 |
-
* 2025 User changed the visibility of a blog post
|
32 |
-
* 2027 User changed the date of a blog post
|
33 |
-
* 2047 User changed the parent of a page
|
34 |
-
* 2048 User changed the template of a page
|
35 |
-
* 2049 User set a post as sticky
|
36 |
-
* 2050 User removed post from sticky
|
37 |
-
* 2052 User changed generic tables
|
38 |
-
* 2065 User modified content for a published post
|
39 |
-
* 2073 User submitted a post for review
|
40 |
-
* 2074 User scheduled a post
|
41 |
-
* 2086 User changed title of a post
|
42 |
-
* 2100 User opened a post in the editor
|
43 |
-
* 2101 User viewed a post
|
44 |
-
* 2111 User disabled Comments/Trackbacks and Pingbacks on a published post
|
45 |
-
* 2112 User enabled Comments/Trackbacks and Pingbacks on a published post
|
46 |
-
* 2119 User added blog post tag
|
47 |
-
* 2120 User removed blog post tag
|
48 |
-
* 2121 User created new tag
|
49 |
-
* 2122 User deleted tag
|
50 |
-
* 2123 User renamed tag
|
51 |
-
* 2124 User changed tag slug
|
52 |
-
* 2125 User changed tag description
|
53 |
-
*
|
54 |
* @package Wsal
|
55 |
-
* @subpackage Sensors
|
56 |
*/
|
57 |
class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
58 |
|
@@ -109,28 +73,23 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
109 |
* Listening to events using WP hooks.
|
110 |
*/
|
111 |
public function HookEvents() {
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
add_action( '
|
116 |
-
add_action( '
|
117 |
-
add_action( '
|
118 |
-
add_action( '
|
119 |
-
add_action( '
|
120 |
-
add_action( '
|
121 |
-
add_action( 'publish_future_post', array( $this, 'EventPublishFuture' ), 10, 1 );
|
122 |
-
add_filter( 'post_edit_form_tag', array( $this, 'EditingPost' ), 10, 1 );
|
123 |
-
add_action( 'wp_head', array( $this, 'viewing_post' ), 10 );
|
124 |
-
add_action( 'create_category', array( $this, 'EventCategoryCreation' ), 10, 1 );
|
125 |
-
add_action( 'create_post_tag', array( $this, 'EventTagCreation' ), 10, 1 );
|
126 |
-
add_filter( 'wp_update_term_data', array( $this, 'event_terms_rename' ), 10, 4 );
|
127 |
add_action( 'admin_action_edit', array( $this, 'edit_post_in_gutenberg' ), 10 );
|
128 |
-
|
129 |
-
add_action( '
|
130 |
-
add_action( '
|
131 |
-
add_action( '
|
132 |
-
add_action( 'post_unstuck', array( $this, 'gutenberg_post_unstuck' ), 10, 1 );
|
133 |
add_action( 'pre_delete_term', array( $this, 'check_taxonomy_term_deletion' ), 10, 2 );
|
|
|
|
|
134 |
|
135 |
// Check if MainWP Child Plugin exists.
|
136 |
if ( is_plugin_active( 'mainwp-child/mainwp-child.php' ) ) {
|
@@ -139,1761 +98,1195 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
139 |
}
|
140 |
|
141 |
/**
|
142 |
-
*
|
143 |
*
|
144 |
-
*
|
145 |
*
|
146 |
-
* @param
|
147 |
-
* @return mixed
|
148 |
*/
|
149 |
-
public function
|
|
|
|
|
|
|
|
|
150 |
if ( ! empty( $post ) && $post instanceof WP_Post ) {
|
151 |
-
$
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
);
|
159 |
-
return $event_data;
|
160 |
}
|
161 |
-
return false;
|
162 |
}
|
163 |
|
164 |
/**
|
165 |
-
*
|
166 |
*
|
167 |
-
* @param
|
168 |
-
* @param
|
169 |
-
* @param
|
170 |
-
* @param array $args Arguments passed to wp_update_term().
|
171 |
-
* @since 2.6.9
|
172 |
*/
|
173 |
-
public function
|
174 |
-
//
|
175 |
-
if ( '
|
176 |
-
|
177 |
-
|
178 |
-
$new_slug = ( isset( $data['slug'] ) ) ? $data['slug'] : false;
|
179 |
-
$new_desc = ( isset( $args['description'] ) ) ? $args['description'] : false;
|
180 |
-
|
181 |
-
// Get old data.
|
182 |
-
$term = get_term( $term_id, $taxonomy );
|
183 |
-
$old_name = $term->name;
|
184 |
-
$old_slug = $term->slug;
|
185 |
-
$old_desc = $term->description;
|
186 |
-
$term_link = $this->get_tag_link( $term_id );
|
187 |
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
'old_name' => $old_name,
|
193 |
-
'new_name' => $new_name,
|
194 |
-
'TagLink' => $term_link,
|
195 |
-
)
|
196 |
-
);
|
197 |
-
}
|
198 |
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
'old_slug' => $old_slug,
|
205 |
-
'new_slug' => $new_slug,
|
206 |
-
'TagLink' => $term_link,
|
207 |
-
)
|
208 |
-
);
|
209 |
}
|
|
|
|
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
}
|
223 |
-
}
|
224 |
-
// Get new data.
|
225 |
-
$new_name = ( isset( $data['name'] ) ) ? $data['name'] : false;
|
226 |
-
$new_slug = ( isset( $data['slug'] ) ) ? $data['slug'] : false;
|
227 |
-
|
228 |
-
// Get old data.
|
229 |
-
$term = get_term( $term_id, $taxonomy );
|
230 |
-
$old_name = $term->name;
|
231 |
-
$old_slug = $term->slug;
|
232 |
-
$term_link = $this->get_tag_link( $term_id );
|
233 |
|
234 |
-
|
235 |
-
|
236 |
-
$this->plugin->alerts->Trigger(
|
237 |
-
2127, array(
|
238 |
-
'old_name' => $old_name,
|
239 |
-
'new_name' => $new_name,
|
240 |
-
'cat_link' => $term_link,
|
241 |
-
)
|
242 |
-
);
|
243 |
-
}
|
244 |
|
245 |
-
|
246 |
-
|
247 |
-
$
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
|
|
|
|
|
|
255 |
}
|
|
|
|
|
|
|
256 |
}
|
257 |
-
|
258 |
-
// Return data for the filter.
|
259 |
-
return $data;
|
260 |
}
|
261 |
|
262 |
/**
|
263 |
-
*
|
264 |
*
|
265 |
-
* @param
|
266 |
-
* @param
|
267 |
-
* @param
|
268 |
-
* @param
|
269 |
-
* @return integer - Alert code.
|
270 |
*/
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
return $type_post;
|
277 |
-
default:
|
278 |
-
return $type_custom;
|
279 |
}
|
280 |
-
}
|
281 |
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
|
|
|
|
|
|
|
|
|
|
288 |
}
|
289 |
|
290 |
/**
|
291 |
-
*
|
292 |
*
|
293 |
-
* @
|
294 |
*/
|
295 |
-
|
296 |
-
|
297 |
-
$filter_input_args = array(
|
298 |
-
'post_ID' => FILTER_VALIDATE_INT,
|
299 |
-
'_wpnonce' => FILTER_SANITIZE_STRING,
|
300 |
-
'action' => FILTER_SANITIZE_STRING,
|
301 |
-
);
|
302 |
-
|
303 |
-
// Filter $_POST array for security.
|
304 |
-
$post_array = filter_input_array( INPUT_POST, $filter_input_args );
|
305 |
-
|
306 |
-
if ( isset( $post_array['_wpnonce'] )
|
307 |
-
&& isset( $post_array['post_ID'] )
|
308 |
-
&& wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) {
|
309 |
-
if ( isset( $post_array ) && isset( $post_array['post_ID'] )
|
310 |
-
&& ! ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
|
311 |
-
&& ! ( isset( $post_array['action'] ) && 'autosave' == $post_array['action'] )
|
312 |
-
) {
|
313 |
-
$post_id = intval( $post_array['post_ID'] );
|
314 |
-
$this->_old_post = get_post( $post_id );
|
315 |
-
$this->_old_link = get_permalink( $post_id );
|
316 |
-
$this->_old_tmpl = $this->GetPostTemplate( $this->_old_post );
|
317 |
-
$this->_old_cats = $this->GetPostCategories( $this->_old_post );
|
318 |
-
$this->_old_tags = $this->get_post_tags( $this->_old_post );
|
319 |
-
$this->_old_stky = in_array( $post_id, get_option( 'sticky_posts' ) );
|
320 |
-
}
|
321 |
-
} elseif ( isset( $post_array['post_ID'] ) && current_user_can( 'edit_post', $post_array['post_ID'] ) ) {
|
322 |
-
$post_id = intval( $post_array['post_ID'] );
|
323 |
-
$this->_old_post = get_post( $post_id );
|
324 |
-
$this->_old_link = get_permalink( $post_id );
|
325 |
-
$this->_old_tmpl = $this->GetPostTemplate( $this->_old_post );
|
326 |
-
$this->_old_cats = $this->GetPostCategories( $this->_old_post );
|
327 |
-
$this->_old_tags = $this->get_post_tags( $this->_old_post );
|
328 |
-
$this->_old_stky = in_array( $post_id, get_option( 'sticky_posts' ) );
|
329 |
-
}
|
330 |
}
|
331 |
|
332 |
/**
|
333 |
-
*
|
334 |
*
|
335 |
-
* @param
|
336 |
-
* @param array $post_custom - Array of data related to MainWP.
|
337 |
*/
|
338 |
-
public function
|
339 |
-
|
340 |
-
$post_id = isset( $post_custom['_mainwp_edit_post_id'][0] ) ? $post_custom['_mainwp_edit_post_id'][0] : false;
|
341 |
-
|
342 |
-
// Check if ID exists.
|
343 |
-
if ( $post_id ) {
|
344 |
-
// Get post.
|
345 |
-
$post = get_post( $post_id );
|
346 |
-
|
347 |
-
// If post exists.
|
348 |
-
if ( ! empty( $post ) ) {
|
349 |
-
$this->_old_post = $post;
|
350 |
-
$this->_old_link = get_permalink( $post_id );
|
351 |
-
$this->_old_tmpl = $this->GetPostTemplate( $this->_old_post );
|
352 |
-
$this->_old_cats = $this->GetPostCategories( $this->_old_post );
|
353 |
-
$this->_old_tags = $this->get_post_tags( $this->_old_post );
|
354 |
-
$this->_old_stky = in_array( $post_id, get_option( 'sticky_posts' ) );
|
355 |
-
}
|
356 |
-
}
|
357 |
}
|
358 |
|
359 |
/**
|
360 |
-
*
|
361 |
-
*
|
362 |
-
* @since 3.2.4
|
363 |
*
|
364 |
-
* @param
|
365 |
-
* @param array $post_data - Array of post data.
|
366 |
*/
|
367 |
-
public function
|
368 |
-
//
|
369 |
-
|
370 |
-
|
371 |
-
|
|
|
372 |
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
$this->_old_tags = $this->get_post_tags( $this->_old_post );
|
380 |
-
$this->_old_stky = in_array( $post_id, get_option( 'sticky_posts' ) );
|
381 |
-
$this->old_status = $post->post_status;
|
382 |
}
|
|
|
|
|
|
|
383 |
}
|
384 |
}
|
385 |
|
386 |
/**
|
387 |
-
*
|
388 |
*
|
389 |
-
* @param
|
390 |
-
* @return string - Full path to file.
|
391 |
*/
|
392 |
-
|
393 |
-
|
394 |
-
|
|
|
|
|
395 |
}
|
396 |
|
397 |
-
|
398 |
-
|
399 |
-
$pagename = $post->post_name;
|
400 |
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
|
|
|
|
|
|
410 |
}
|
411 |
-
$templates[] = 'page.php';
|
412 |
-
|
413 |
-
return get_query_template( 'page', $templates );
|
414 |
}
|
415 |
|
416 |
/**
|
417 |
-
*
|
418 |
*
|
419 |
-
* @param
|
420 |
-
* @return array - List of categories.
|
421 |
*/
|
422 |
-
|
423 |
-
|
424 |
-
|
|
|
|
|
425 |
}
|
426 |
|
427 |
-
|
428 |
-
$
|
429 |
-
|
430 |
-
|
431 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
432 |
}
|
433 |
|
434 |
/**
|
435 |
-
*
|
436 |
*
|
437 |
-
* @param
|
438 |
-
* @return array - List of tags.
|
439 |
*/
|
440 |
-
|
441 |
-
|
442 |
-
return array();
|
443 |
-
}
|
444 |
|
445 |
-
|
446 |
-
$
|
447 |
-
|
448 |
-
|
449 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
450 |
}
|
451 |
|
452 |
/**
|
453 |
-
*
|
454 |
*
|
455 |
-
* @
|
456 |
-
* @param string $old_status - Old status.
|
457 |
-
* @param stdClass $post - The post.
|
458 |
*/
|
459 |
-
public function
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
}
|
464 |
-
if ( empty( $post->post_type ) ) {
|
465 |
-
return;
|
466 |
-
}
|
467 |
-
if ( in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
|
468 |
-
return;
|
469 |
-
}
|
470 |
-
if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
|
471 |
return;
|
472 |
}
|
473 |
|
474 |
-
//
|
475 |
-
$
|
476 |
-
|
|
|
|
|
|
|
477 |
return;
|
478 |
}
|
479 |
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
'_wpnonce' => FILTER_SANITIZE_STRING,
|
484 |
-
'original_post_status' => FILTER_SANITIZE_STRING,
|
485 |
-
'sticky' => FILTER_SANITIZE_STRING,
|
486 |
-
'action' => FILTER_SANITIZE_STRING,
|
487 |
-
'_inline_edit' => FILTER_SANITIZE_STRING,
|
488 |
-
'mainwpsignature' => FILTER_SANITIZE_STRING,
|
489 |
-
'function' => FILTER_SANITIZE_STRING,
|
490 |
-
'new_post' => FILTER_SANITIZE_STRING,
|
491 |
-
'post_custom' => FILTER_SANITIZE_STRING,
|
492 |
-
);
|
493 |
-
|
494 |
-
// Filter $_POST array for security.
|
495 |
-
$post_array = filter_input_array( INPUT_POST, $filter_input_args );
|
496 |
-
|
497 |
-
// Check MainWP $_POST members.
|
498 |
-
$new_post = isset( $post_array['new_post'] ) ? $post_array['new_post'] : false;
|
499 |
-
$post_custom = isset( $post_array['post_custom'] ) ? $post_array['post_custom'] : false;
|
500 |
-
$post_custom = maybe_unserialize( base64_decode( $post_custom ) );
|
501 |
-
|
502 |
-
// Verify nonce.
|
503 |
-
if (
|
504 |
-
isset( $post_array['_wpnonce'] )
|
505 |
-
&& isset( $post_array['post_ID'] )
|
506 |
-
&& wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] )
|
507 |
-
) {
|
508 |
-
// Edit Post Screen.
|
509 |
-
$original = isset( $post_array['original_post_status'] ) ? $post_array['original_post_status'] : '';
|
510 |
-
$this->trigger_post_change_alerts( $old_status, $new_status, $post, $original, isset( $post_array['sticky'] ) );
|
511 |
-
} elseif (
|
512 |
-
isset( $post_array['_inline_edit'] )
|
513 |
-
&& 'inline-save' === $post_array['action']
|
514 |
-
&& wp_verify_nonce( $post_array['_inline_edit'], 'inlineeditnonce' )
|
515 |
-
) {
|
516 |
-
// Quick Post Edit.
|
517 |
-
$original = isset( $post_array['original_post_status'] ) ? $post_array['original_post_status'] : '';
|
518 |
-
$this->trigger_post_change_alerts( $old_status, $new_status, $post, $original, isset( $post_array['sticky'] ) );
|
519 |
-
} elseif (
|
520 |
-
isset( $post_array['mainwpsignature'] )
|
521 |
-
&& ! empty( $new_post )
|
522 |
-
&& ! empty( $post_custom )
|
523 |
-
) {
|
524 |
-
// Check sticky post.
|
525 |
-
$sticky = false;
|
526 |
-
if ( isset( $post_custom['_sticky'] ) && is_array( $post_custom['_sticky'] ) ) {
|
527 |
-
foreach ( $post_custom['_sticky'] as $key => $meta_value ) {
|
528 |
-
if ( 'sticky' === base64_decode( $meta_value ) ) {
|
529 |
-
$sticky = true;
|
530 |
-
}
|
531 |
-
}
|
532 |
-
}
|
533 |
-
$this->trigger_post_change_alerts( $old_status, $new_status, $post, false, $sticky, 'mainwp' );
|
534 |
-
} elseif (
|
535 |
-
isset( $post_array['mainwpsignature'] )
|
536 |
-
&& isset( $post_array['function'] )
|
537 |
-
&& 'post_action' === $post_array['function']
|
538 |
-
&& isset( $post_array['action'] )
|
539 |
-
&& ( 'unpublish' === $post_array['action'] || 'publish' === $post_array['action'] )
|
540 |
-
) {
|
541 |
-
$this->check_mainwp_status_change( $post, $old_status, $new_status );
|
542 |
-
} else {
|
543 |
-
// Ignore nav menu post type or post revision.
|
544 |
-
if ( wp_is_post_revision( $post->ID ) ) {
|
545 |
-
return;
|
546 |
-
}
|
547 |
-
|
548 |
-
$event = 0;
|
549 |
-
if ( 'auto-draft' === $old_status && ( 'auto-draft' !== $new_status && 'inherit' !== $new_status ) ) {
|
550 |
-
// Post published.
|
551 |
-
$event = 2001;
|
552 |
-
} elseif ( 'auto-draft' === $new_status || ( 'new' === $old_status && 'inherit' === $new_status ) ) {
|
553 |
-
// Ignore it.
|
554 |
-
} elseif ( 'trash' === $new_status ) {
|
555 |
-
// Post deleted.
|
556 |
-
} elseif ( 'trash' === $old_status ) {
|
557 |
-
// Post restored.
|
558 |
-
} else {
|
559 |
-
// Post edited.
|
560 |
-
$event = 2002;
|
561 |
-
}
|
562 |
-
|
563 |
-
if ( $event ) {
|
564 |
-
// Get event data.
|
565 |
-
$editor_link = $this->GetEditorLink( $post ); // Editor link.
|
566 |
-
$event_data = $this->get_post_event_data( $post ); // Post event data.
|
567 |
-
|
568 |
-
// Set editor link in the event data.
|
569 |
-
$event_data[ $editor_link['name'] ] = $editor_link['value'];
|
570 |
|
571 |
-
|
572 |
-
|
573 |
-
}
|
574 |
}
|
575 |
}
|
576 |
|
577 |
/**
|
578 |
-
*
|
579 |
*
|
580 |
-
* @param
|
581 |
-
* @param string $new_status - New status.
|
582 |
-
* @param stdClass $post - The post.
|
583 |
-
* @param string $original - Original Post Status.
|
584 |
-
* @param string $sticky - Sticky post.
|
585 |
-
* @param string $dashboard - Dashboard from which the change is coming from.
|
586 |
-
* @since 1.0.0
|
587 |
*/
|
588 |
-
public function
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
'$old_status' => $old_status,
|
593 |
-
'$original' => $original,
|
594 |
-
)
|
595 |
-
);
|
596 |
-
// Run checks.
|
597 |
-
if ( $this->_old_post && ! $dashboard ) { // Change is coming from WP Dashboard.
|
598 |
-
if ( $this->CheckOtherSensors( $this->_old_post ) ) {
|
599 |
-
return;
|
600 |
-
}
|
601 |
-
if ( 'auto-draft' == $old_status || 'auto-draft' == $original ) {
|
602 |
-
// Handle create post events.
|
603 |
-
$this->CheckPostCreation( $this->_old_post, $post );
|
604 |
-
} else {
|
605 |
-
// Handle update post events.
|
606 |
-
$changes = 0;
|
607 |
-
$changes = $this->CheckAuthorChange( $this->_old_post, $post )
|
608 |
-
+ $this->CheckStatusChange( $this->_old_post, $post )
|
609 |
-
+ $this->CheckParentChange( $this->_old_post, $post )
|
610 |
-
+ $this->CheckStickyChange( $this->_old_stky, $sticky, $post )
|
611 |
-
+ $this->CheckVisibilityChange( $this->_old_post, $post, $old_status, $new_status )
|
612 |
-
+ $this->CheckTemplateChange( $this->_old_tmpl, $this->GetPostTemplate( $post ), $post )
|
613 |
-
+ $this->CheckCategoriesChange( $this->_old_cats, $this->GetPostCategories( $post ), $post )
|
614 |
-
+ $this->check_tags_change( $this->_old_tags, $this->get_post_tags( $post ), $post )
|
615 |
-
+ $this->CheckDateChange( $this->_old_post, $post )
|
616 |
-
+ $this->CheckPermalinkChange( $this->_old_link, get_permalink( $post->ID ), $post )
|
617 |
-
+ $this->CheckCommentsPings( $this->_old_post, $post );
|
618 |
-
|
619 |
-
$this->CheckModificationChange( $post->ID, $this->_old_post, $post, $changes );
|
620 |
-
}
|
621 |
-
} elseif ( ! $this->_old_post && 'mainwp' === $dashboard ) {
|
622 |
-
if ( $this->CheckOtherSensors( $this->_old_post ) ) {
|
623 |
-
return;
|
624 |
-
}
|
625 |
-
if ( 'auto-draft' === $old_status ) {
|
626 |
-
// Handle create post events.
|
627 |
-
$this->CheckPostCreation( $this->_old_post, $post );
|
628 |
-
}
|
629 |
-
} elseif ( $this->_old_post && 'mainwp' === $dashboard ) {
|
630 |
-
if ( 'auto-draft' === $old_status ) {
|
631 |
-
// Get MainWP $_POST members.
|
632 |
-
// @codingStandardsIgnoreStart
|
633 |
-
$new_post = isset( $_POST['new_post'] ) ? sanitize_text_field( wp_unslash( $_POST['new_post'] ) ) : false;
|
634 |
-
// @codingStandardsIgnoreEnd
|
635 |
-
|
636 |
-
// Get WordPress Post.
|
637 |
-
$new_post = maybe_unserialize( base64_decode( $new_post ) );
|
638 |
-
$post_catgs = filter_input( INPUT_POST, 'post_category', FILTER_SANITIZE_STRING );
|
639 |
-
|
640 |
-
// Post categories.
|
641 |
-
$post_categories = rawurldecode( isset( $post_catgs ) ? base64_decode( $post_catgs ) : null );
|
642 |
-
$post_categories = explode( ',', $post_categories );
|
643 |
-
|
644 |
-
// Post tags.
|
645 |
-
$post_tags = rawurldecode( isset( $new_post['post_tags'] ) ? $new_post['post_tags'] : null );
|
646 |
-
$post_tags = sanitize_text_field( $post_tags ); // Sanitize the string of tags.
|
647 |
-
$post_tags = str_replace( ' ', '', $post_tags );
|
648 |
-
$post_tags = explode( ',', $post_tags );
|
649 |
-
|
650 |
-
// Handle update post events.
|
651 |
-
$changes = 0;
|
652 |
-
$changes = $this->CheckAuthorChange( $this->_old_post, $post )
|
653 |
-
+ $this->CheckStatusChange( $this->_old_post, $post )
|
654 |
-
+ $this->CheckParentChange( $this->_old_post, $post )
|
655 |
-
+ $this->CheckStickyChange( $this->_old_stky, $sticky, $post )
|
656 |
-
+ $this->CheckVisibilityChange( $this->_old_post, $post, $old_status, $new_status )
|
657 |
-
+ $this->CheckTemplateChange( $this->_old_tmpl, $this->GetPostTemplate( $post ), $post )
|
658 |
-
+ $this->CheckCategoriesChange( $this->_old_cats, $post_categories, $post )
|
659 |
-
+ $this->check_tags_change( $this->_old_tags, $post_tags, $post )
|
660 |
-
+ $this->CheckDateChange( $this->_old_post, $post )
|
661 |
-
+ $this->CheckPermalinkChange( $this->_old_link, get_permalink( $post->ID ), $post )
|
662 |
-
+ $this->CheckCommentsPings( $this->_old_post, $post );
|
663 |
-
|
664 |
-
$this->CheckModificationChange( $post->ID, $this->_old_post, $post, $changes );
|
665 |
-
}
|
666 |
}
|
|
|
667 |
}
|
668 |
|
669 |
/**
|
670 |
-
*
|
671 |
-
*
|
672 |
-
* @since 3.2.4
|
673 |
*
|
674 |
-
*
|
675 |
-
* @param WP_Post $post - WP Post object.
|
676 |
-
* @param boolean $update - True if post update, false if post is new.
|
677 |
*/
|
678 |
-
public function
|
679 |
-
//
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
$this->CheckPostCreation( $this->_old_post, $post, true );
|
685 |
-
}
|
686 |
}
|
687 |
-
return;
|
688 |
-
}
|
689 |
-
|
690 |
-
if ( empty( $post->post_type ) || 'revision' === $post->post_type || 'trash' === $post->post_status ) {
|
691 |
-
return;
|
692 |
-
}
|
693 |
|
694 |
-
|
695 |
if (
|
696 |
-
(
|
697 |
-
|
|
|
698 |
) {
|
699 |
-
|
700 |
-
|
701 |
-
// Handle update post events.
|
702 |
-
$changes = 0;
|
703 |
-
$changes = $this->CheckAuthorChange( $this->_old_post, $post )
|
704 |
-
+ $this->CheckStatusChange( $this->_old_post, $post )
|
705 |
-
+ $this->CheckParentChange( $this->_old_post, $post )
|
706 |
-
+ $this->CheckVisibilityChange( $this->_old_post, $post, $this->old_status, $post->post_status )
|
707 |
-
+ $this->CheckTemplateChange( $this->_old_tmpl, $this->GetPostTemplate( $post ), $post )
|
708 |
-
+ $this->CheckDateChange( $this->_old_post, $post )
|
709 |
-
+ $this->CheckPermalinkChange( $this->_old_link, get_permalink( $post->ID ), $post )
|
710 |
-
+ $this->CheckCommentsPings( $this->_old_post, $post );
|
711 |
-
$this->CheckModificationChange( $post->ID, $this->_old_post, $post, $changes );
|
712 |
-
}
|
713 |
-
}
|
714 |
-
}
|
715 |
-
|
716 |
-
/**
|
717 |
-
* Check post creation.
|
718 |
-
*
|
719 |
-
* @global array $_POST
|
720 |
-
*
|
721 |
-
* @param WP_Post $old_post - Old post.
|
722 |
-
* @param WP_Post $new_post - New post.
|
723 |
-
* @param boolean $is_gutenberg - Gutenberg flag.
|
724 |
-
*/
|
725 |
-
protected function CheckPostCreation( $old_post, $new_post, $is_gutenberg = false ) {
|
726 |
-
// Set filter input args.
|
727 |
-
$filter_input_args = array(
|
728 |
-
'action' => FILTER_SANITIZE_STRING,
|
729 |
-
);
|
730 |
-
|
731 |
-
// Filter $_POST array for security.
|
732 |
-
$post_array = filter_input_array( INPUT_POST, $filter_input_args );
|
733 |
-
|
734 |
-
// Check if the post is coming from MainWP.
|
735 |
-
$mainwp = filter_input( INPUT_POST, 'mainwpsignature', FILTER_SANITIZE_STRING );
|
736 |
-
|
737 |
-
if ( ! empty( $mainwp ) ) {
|
738 |
-
$post_array['action'] = 'editpost';
|
739 |
-
}
|
740 |
-
|
741 |
-
/**
|
742 |
-
* Nonce is already verified at this point.
|
743 |
-
*
|
744 |
-
* @see $this->EventPostChanged();
|
745 |
-
*/
|
746 |
-
$wp_actions = array( 'editpost', 'heartbeat' );
|
747 |
-
if ( isset( $post_array['action'] ) && in_array( $post_array['action'], $wp_actions, true ) && ! $is_gutenberg ) {
|
748 |
-
if ( ! in_array( $new_post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
|
749 |
-
$this->log_post_creation_event( $new_post );
|
750 |
-
}
|
751 |
-
} elseif ( $is_gutenberg ) {
|
752 |
-
$this->log_post_creation_event( $new_post );
|
753 |
-
}
|
754 |
-
}
|
755 |
-
|
756 |
-
/**
|
757 |
-
* Log Post Creation Event.
|
758 |
-
*
|
759 |
-
* @since 3.2.4
|
760 |
-
*
|
761 |
-
* @param WP_Post $new_post – New WP post object.
|
762 |
-
*/
|
763 |
-
private function log_post_creation_event( $new_post ) {
|
764 |
-
if ( ! empty( $new_post ) && $new_post instanceof WP_Post ) {
|
765 |
-
$event = 0;
|
766 |
-
$is_scheduled = false;
|
767 |
-
switch ( $new_post->post_status ) {
|
768 |
-
case 'publish':
|
769 |
-
$event = 2001;
|
770 |
-
break;
|
771 |
-
case 'draft':
|
772 |
-
$event = 2000;
|
773 |
-
break;
|
774 |
-
case 'future':
|
775 |
-
$event = 2074;
|
776 |
-
$is_scheduled = true;
|
777 |
-
break;
|
778 |
-
case 'pending':
|
779 |
-
$event = 2073;
|
780 |
-
break;
|
781 |
}
|
782 |
-
if ( $event ) {
|
783 |
-
$editor_link = $this->GetEditorLink( $new_post ); // Editor link.
|
784 |
-
$event_data = $this->get_post_event_data( $new_post ); // Post event data.
|
785 |
|
786 |
-
|
787 |
-
$
|
|
|
788 |
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
} else {
|
793 |
-
$this->plugin->alerts->Trigger( $event, $event_data );
|
794 |
-
}
|
795 |
}
|
796 |
}
|
797 |
}
|
798 |
|
799 |
/**
|
800 |
-
*
|
801 |
*
|
802 |
-
* @param integer $
|
803 |
*/
|
804 |
-
public function
|
805 |
-
$
|
806 |
-
$
|
807 |
$this->plugin->alerts->Trigger(
|
808 |
-
|
809 |
-
|
810 |
-
'
|
811 |
-
'
|
812 |
-
'
|
813 |
-
'PostDate' => $post->post_date,
|
814 |
-
'PostUrl' => get_permalink( $post->ID ),
|
815 |
-
$editor_link['name'] => $editor_link['value'],
|
816 |
)
|
817 |
);
|
818 |
}
|
819 |
|
820 |
/**
|
821 |
-
*
|
822 |
-
*
|
823 |
-
* @param integer $post_id - Post ID.
|
824 |
-
*/
|
825 |
-
public function EventPostDeleted( $post_id ) {
|
826 |
-
// Set filter input args.
|
827 |
-
$filter_input_args = array(
|
828 |
-
'action' => FILTER_SANITIZE_STRING,
|
829 |
-
'_wpnonce' => FILTER_SANITIZE_STRING,
|
830 |
-
);
|
831 |
-
|
832 |
-
// Filter $_GET array for security.
|
833 |
-
$get_array = filter_input_array( INPUT_GET, $filter_input_args );
|
834 |
-
|
835 |
-
// Exclude CPTs from external plugins.
|
836 |
-
$post = get_post( $post_id );
|
837 |
-
if ( $this->CheckOtherSensors( $post ) ) {
|
838 |
-
return;
|
839 |
-
}
|
840 |
-
|
841 |
-
// Get MainWP $_POST members.
|
842 |
-
$filter_post_args = array(
|
843 |
-
'id' => FILTER_VALIDATE_INT,
|
844 |
-
'action' => FILTER_SANITIZE_STRING,
|
845 |
-
'mainwpsignature' => FILTER_SANITIZE_STRING,
|
846 |
-
);
|
847 |
-
$post_array = filter_input_array( INPUT_POST, $filter_post_args );
|
848 |
-
|
849 |
-
// Verify nonce.
|
850 |
-
if ( isset( $get_array['_wpnonce'] ) && wp_verify_nonce( $get_array['_wpnonce'], 'delete-post_' . $post_id ) ) {
|
851 |
-
$wp_actions = array( 'delete' );
|
852 |
-
if ( isset( $get_array['action'] ) && in_array( $get_array['action'], $wp_actions, true ) ) {
|
853 |
-
if ( ! in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) { // Ignore attachments, revisions and menu items.
|
854 |
-
$event = 2008;
|
855 |
-
// Check WordPress backend operations.
|
856 |
-
if ( $this->CheckAutoDraft( $event, $post->post_title ) ) {
|
857 |
-
return;
|
858 |
-
}
|
859 |
-
|
860 |
-
$event_data = $this->get_post_event_data( $post ); // Get event data.
|
861 |
-
$this->plugin->alerts->Trigger( $event, $event_data ); // Log event.
|
862 |
-
}
|
863 |
-
}
|
864 |
-
} elseif (
|
865 |
-
isset( $post_array['mainwpsignature'] )
|
866 |
-
&& isset( $post_array['action'] )
|
867 |
-
&& 'delete' === $post_array['action']
|
868 |
-
&& ! empty( $post_array['id'] )
|
869 |
-
) {
|
870 |
-
if ( ! in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) { // Ignore attachments, revisions and menu items.
|
871 |
-
// Check WordPress backend operations.
|
872 |
-
if ( $this->CheckAutoDraft( 2008, $post->post_title ) ) {
|
873 |
-
return;
|
874 |
-
}
|
875 |
-
|
876 |
-
$event_data = $this->get_post_event_data( $post ); // Get event data.
|
877 |
-
$this->plugin->alerts->Trigger( 2008, $event_data ); // Log event.
|
878 |
-
}
|
879 |
-
}
|
880 |
-
}
|
881 |
-
|
882 |
-
/**
|
883 |
-
* Post moved to the trash.
|
884 |
*
|
885 |
-
* @param
|
886 |
*/
|
887 |
-
public function
|
888 |
-
$
|
889 |
-
|
890 |
-
return;
|
891 |
-
}
|
892 |
-
$editor_link = $this->GetEditorLink( $post );
|
893 |
$this->plugin->alerts->Trigger(
|
894 |
-
|
895 |
-
|
896 |
-
'
|
897 |
-
'
|
898 |
-
'
|
899 |
-
'PostDate' => $post->post_date,
|
900 |
-
'PostUrl' => get_permalink( $post->ID ),
|
901 |
-
$editor_link['name'] => $editor_link['value'],
|
902 |
)
|
903 |
);
|
904 |
}
|
905 |
|
906 |
/**
|
907 |
-
*
|
908 |
*
|
909 |
-
* @param integer $
|
|
|
910 |
*/
|
911 |
-
public function
|
912 |
-
|
913 |
-
|
914 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
915 |
}
|
916 |
-
$editor_link = $this->GetEditorLink( $post );
|
917 |
-
$this->plugin->alerts->Trigger(
|
918 |
-
2014, array(
|
919 |
-
'PostID' => $post->ID,
|
920 |
-
'PostType' => $post->post_type,
|
921 |
-
'PostTitle' => $post->post_title,
|
922 |
-
'PostStatus' => $post->post_status,
|
923 |
-
'PostDate' => $post->post_date,
|
924 |
-
'PostUrl' => get_permalink( $post->ID ),
|
925 |
-
$editor_link['name'] => $editor_link['value'],
|
926 |
-
)
|
927 |
-
);
|
928 |
}
|
929 |
|
930 |
/**
|
931 |
-
*
|
932 |
*
|
933 |
-
* @param
|
934 |
-
* @param
|
|
|
|
|
935 |
*/
|
936 |
-
|
937 |
-
|
938 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
939 |
|
940 |
-
if
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
'PostStatus' => $oldpost->post_status,
|
952 |
-
'PostDate' => $newpost->post_date,
|
953 |
-
'PostUrl' => get_permalink( $oldpost->ID ),
|
954 |
-
'OldDate' => $oldpost->post_date,
|
955 |
-
'NewDate' => $newpost->post_date,
|
956 |
-
$editor_link['name'] => $editor_link['value'],
|
957 |
-
)
|
958 |
-
);
|
959 |
-
return 1;
|
960 |
-
}
|
961 |
-
return 0;
|
962 |
-
}
|
963 |
-
|
964 |
-
/**
|
965 |
-
* Categories changed.
|
966 |
-
*
|
967 |
-
* @param array $old_cats - Old categories.
|
968 |
-
* @param array $new_cats - New categories.
|
969 |
-
* @param stdClass $post - The post.
|
970 |
-
*/
|
971 |
-
protected function CheckCategoriesChange( $old_cats, $new_cats, $post ) {
|
972 |
-
$old_cats = implode( ', ', (array) $old_cats );
|
973 |
-
$new_cats = implode( ', ', (array) $new_cats );
|
974 |
-
|
975 |
-
if ( $old_cats !== $new_cats ) {
|
976 |
-
$event = $this->GetEventTypeForPostType( $post, 2016, 0, 2016 );
|
977 |
-
if ( $event ) {
|
978 |
-
$editor_link = $this->GetEditorLink( $post );
|
979 |
-
$alert_data = array(
|
980 |
-
'PostID' => $post->ID,
|
981 |
-
'PostType' => $post->post_type,
|
982 |
-
'PostTitle' => $post->post_title,
|
983 |
-
'PostStatus' => $post->post_status,
|
984 |
-
'PostDate' => $post->post_date,
|
985 |
-
'PostUrl' => get_permalink( $post->ID ),
|
986 |
-
'OldCategories' => $old_cats ? $old_cats : 'no categories',
|
987 |
-
'NewCategories' => $new_cats ? $new_cats : 'no categories',
|
988 |
-
$editor_link['name'] => $editor_link['value'],
|
989 |
);
|
990 |
-
$this->plugin->alerts->Trigger( $event, $alert_data );
|
991 |
-
return 1;
|
992 |
-
}
|
993 |
-
}
|
994 |
-
}
|
995 |
-
|
996 |
-
/**
|
997 |
-
* Method: This function make sures that alert 2016
|
998 |
-
* has not been triggered before triggering categories
|
999 |
-
* & tags events.
|
1000 |
-
*
|
1001 |
-
* @since 3.2.4
|
1002 |
-
*
|
1003 |
-
* @param WSAL_AlertManager $manager - WSAL Alert Manager.
|
1004 |
-
* @return bool
|
1005 |
-
*/
|
1006 |
-
public function must_not_contain_events( WSAL_AlertManager $manager ) {
|
1007 |
-
if ( $manager->WillOrHasTriggered( 2016 ) ) {
|
1008 |
-
return false;
|
1009 |
-
} elseif ( $manager->WillOrHasTriggered( 2119 ) ) {
|
1010 |
-
return false;
|
1011 |
-
} elseif ( $manager->WillOrHasTriggered( 2120 ) ) {
|
1012 |
-
return false;
|
1013 |
-
} elseif ( $manager->WillOrHasTriggered( 2049 ) ) {
|
1014 |
-
return false;
|
1015 |
-
} elseif ( $manager->WillOrHasTriggered( 2050 ) ) {
|
1016 |
-
return false;
|
1017 |
-
}
|
1018 |
-
return true;
|
1019 |
-
}
|
1020 |
-
|
1021 |
-
/**
|
1022 |
-
* Check if post terms changed via Gutenberg.
|
1023 |
-
*
|
1024 |
-
* @since 3.2.4
|
1025 |
-
*
|
1026 |
-
* @param int $post_id - Post ID.
|
1027 |
-
* @param array $terms - Array of terms.
|
1028 |
-
* @param array $tt_ids - Array of taxonomy term ids.
|
1029 |
-
* @param string $taxonomy - Taxonomy slug.
|
1030 |
-
*/
|
1031 |
-
public function gutenberg_post_terms_changed( $post_id, $terms, $tt_ids, $taxonomy ) {
|
1032 |
-
if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
|
1033 |
-
$post = get_post( $post_id );
|
1034 |
-
|
1035 |
-
if ( is_wp_error( $post ) ) {
|
1036 |
-
return;
|
1037 |
}
|
1038 |
|
1039 |
-
if
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
|
|
1049 |
}
|
1050 |
-
}
|
1051 |
-
}
|
1052 |
-
|
1053 |
-
/**
|
1054 |
-
* Post Stuck Event.
|
1055 |
-
*
|
1056 |
-
* @since 3.2.4
|
1057 |
-
*
|
1058 |
-
* @param integer $post_id - Post ID.
|
1059 |
-
*/
|
1060 |
-
public function gutenberg_post_stuck( $post_id ) {
|
1061 |
-
if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
|
1062 |
-
$this->log_sticky_post_event( $post_id, 2049 );
|
1063 |
-
}
|
1064 |
-
}
|
1065 |
-
|
1066 |
-
/**
|
1067 |
-
* Post Unstuck Event.
|
1068 |
-
*
|
1069 |
-
* @since 3.2.4
|
1070 |
-
*
|
1071 |
-
* @param integer $post_id - Post ID.
|
1072 |
-
*/
|
1073 |
-
public function gutenberg_post_unstuck( $post_id ) {
|
1074 |
-
if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
|
1075 |
-
$this->log_sticky_post_event( $post_id, 2050 );
|
1076 |
-
}
|
1077 |
-
}
|
1078 |
-
|
1079 |
-
/**
|
1080 |
-
* Log post stuck/unstuck events.
|
1081 |
-
*
|
1082 |
-
* @since 3.2.4
|
1083 |
-
*
|
1084 |
-
* @param integer $post_id - Post ID.
|
1085 |
-
* @param integer $event - Event ID.
|
1086 |
-
*/
|
1087 |
-
private function log_sticky_post_event( $post_id, $event ) {
|
1088 |
-
// Get post.
|
1089 |
-
$post = get_post( $post_id );
|
1090 |
-
|
1091 |
-
if ( is_wp_error( $post ) ) {
|
1092 |
-
return;
|
1093 |
-
}
|
1094 |
-
|
1095 |
-
$editor_link = $this->GetEditorLink( $post ); // Editor link.
|
1096 |
-
$event_data = $this->get_post_event_data( $post ); // Event data.
|
1097 |
-
|
1098 |
-
$event_data[ $editor_link['name'] ] = $editor_link['value'];
|
1099 |
-
$this->plugin->alerts->Trigger( $event, $event_data );
|
1100 |
-
}
|
1101 |
-
|
1102 |
-
/**
|
1103 |
-
* Tags changed.
|
1104 |
-
*
|
1105 |
-
* @param array $old_tags - Old tags.
|
1106 |
-
* @param array $new_tags - New tags.
|
1107 |
-
* @param stdClass $post - The post.
|
1108 |
-
*/
|
1109 |
-
protected function check_tags_change( $old_tags, $new_tags, $post ) {
|
1110 |
-
// Check for added tags.
|
1111 |
-
$added_tags = array_diff( (array) $new_tags, (array) $old_tags );
|
1112 |
-
|
1113 |
-
// Check for removed tags.
|
1114 |
-
$removed_tags = array_diff( (array) $old_tags, (array) $new_tags );
|
1115 |
-
|
1116 |
-
// Convert tags arrays to string.
|
1117 |
-
$old_tags = implode( ', ', (array) $old_tags );
|
1118 |
-
$new_tags = implode( ', ', (array) $new_tags );
|
1119 |
-
$added_tags = implode( ', ', $added_tags );
|
1120 |
-
$removed_tags = implode( ', ', $removed_tags );
|
1121 |
-
|
1122 |
-
// Declare event variables.
|
1123 |
-
$add_event = '';
|
1124 |
-
$remove_event = '';
|
1125 |
-
if ( $old_tags !== $new_tags && ! empty( $added_tags ) ) {
|
1126 |
-
$add_event = 2119;
|
1127 |
-
$editor_link = $this->GetEditorLink( $post );
|
1128 |
-
$post_status = ( 'publish' === $post->post_status ) ? 'published' : $post->post_status;
|
1129 |
-
$this->plugin->alerts->Trigger(
|
1130 |
-
$add_event, array(
|
1131 |
-
'PostID' => $post->ID,
|
1132 |
-
'PostType' => $post->post_type,
|
1133 |
-
'PostStatus' => $post_status,
|
1134 |
-
'PostTitle' => $post->post_title,
|
1135 |
-
'PostDate' => $post->post_date,
|
1136 |
-
'PostUrl' => get_permalink( $post->ID ),
|
1137 |
-
'tag' => $added_tags ? $added_tags : 'no tags',
|
1138 |
-
$editor_link['name'] => $editor_link['value'],
|
1139 |
-
)
|
1140 |
-
);
|
1141 |
-
}
|
1142 |
-
|
1143 |
-
if ( $old_tags !== $new_tags && ! empty( $removed_tags ) ) {
|
1144 |
-
$remove_event = 2120;
|
1145 |
-
$editor_link = $this->GetEditorLink( $post );
|
1146 |
-
$post_status = ( 'publish' === $post->post_status ) ? 'published' : $post->post_status;
|
1147 |
-
$this->plugin->alerts->Trigger(
|
1148 |
-
$remove_event, array(
|
1149 |
-
'PostID' => $post->ID,
|
1150 |
-
'PostType' => $post->post_type,
|
1151 |
-
'PostStatus' => $post_status,
|
1152 |
-
'PostTitle' => $post->post_title,
|
1153 |
-
'PostDate' => $post->post_date,
|
1154 |
-
'PostUrl' => get_permalink( $post->ID ),
|
1155 |
-
'tag' => $removed_tags ? $removed_tags : 'no tags',
|
1156 |
-
$editor_link['name'] => $editor_link['value'],
|
1157 |
-
)
|
1158 |
-
);
|
1159 |
-
}
|
1160 |
-
|
1161 |
-
if ( $add_event || $remove_event ) {
|
1162 |
-
return 1;
|
1163 |
-
}
|
1164 |
-
}
|
1165 |
-
|
1166 |
-
/**
|
1167 |
-
* Author changed.
|
1168 |
-
*
|
1169 |
-
* @param stdClass $oldpost - Old post.
|
1170 |
-
* @param stdClass $newpost - New post.
|
1171 |
-
*/
|
1172 |
-
protected function CheckAuthorChange( $oldpost, $newpost ) {
|
1173 |
-
if ( $oldpost->post_author != $newpost->post_author ) {
|
1174 |
-
$editor_link = $this->GetEditorLink( $oldpost );
|
1175 |
-
$old_author = get_userdata( $oldpost->post_author );
|
1176 |
-
$old_author = ( is_object( $old_author ) ) ? $old_author->user_login : 'N/A';
|
1177 |
-
$new_author = get_userdata( $newpost->post_author );
|
1178 |
-
$new_author = ( is_object( $new_author ) ) ? $new_author->user_login : 'N/A';
|
1179 |
-
$this->plugin->alerts->Trigger(
|
1180 |
-
2019, array(
|
1181 |
-
'PostID' => $oldpost->ID,
|
1182 |
-
'PostType' => $oldpost->post_type,
|
1183 |
-
'PostTitle' => $oldpost->post_title,
|
1184 |
-
'PostStatus' => $oldpost->post_status,
|
1185 |
-
'PostDate' => $oldpost->post_date,
|
1186 |
-
'PostUrl' => get_permalink( $oldpost->ID ),
|
1187 |
-
'OldAuthor' => $old_author,
|
1188 |
-
'NewAuthor' => $new_author,
|
1189 |
-
$editor_link['name'] => $editor_link['value'],
|
1190 |
-
)
|
1191 |
-
);
|
1192 |
-
return 1;
|
1193 |
-
}
|
1194 |
-
}
|
1195 |
-
|
1196 |
-
/**
|
1197 |
-
* Status changed.
|
1198 |
-
*
|
1199 |
-
* @param stdClass $oldpost - Old post.
|
1200 |
-
* @param stdClass $newpost - New post.
|
1201 |
-
*/
|
1202 |
-
protected function CheckStatusChange( $oldpost, $newpost ) {
|
1203 |
-
// Set filter input args.
|
1204 |
-
$filter_input_args = array(
|
1205 |
-
'publish' => FILTER_SANITIZE_STRING,
|
1206 |
-
);
|
1207 |
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
/**
|
1212 |
-
* Nonce is already verified at this point.
|
1213 |
-
*
|
1214 |
-
* @see $this->EventPostChanged();
|
1215 |
-
*/
|
1216 |
-
if ( $oldpost->post_status != $newpost->post_status ) {
|
1217 |
-
if ( isset( $post_array['publish'] ) ) {
|
1218 |
-
// Special case (publishing a post).
|
1219 |
-
$editor_link = $this->GetEditorLink( $newpost );
|
1220 |
$this->plugin->alerts->Trigger(
|
1221 |
-
|
1222 |
-
|
1223 |
-
'
|
1224 |
-
'
|
1225 |
-
'
|
1226 |
-
'
|
1227 |
-
'
|
1228 |
-
$editor_link['name'] => $editor_link['value'],
|
1229 |
)
|
1230 |
);
|
1231 |
-
}
|
1232 |
-
|
|
|
|
|
1233 |
$this->plugin->alerts->Trigger(
|
1234 |
-
|
1235 |
-
|
1236 |
-
'
|
1237 |
-
'
|
1238 |
-
'
|
1239 |
-
'PostDate' => $oldpost->post_date,
|
1240 |
-
'PostUrl' => get_permalink( $oldpost->ID ),
|
1241 |
-
'OldStatus' => $oldpost->post_status,
|
1242 |
-
'NewStatus' => $newpost->post_status,
|
1243 |
-
$editor_link['name'] => $editor_link['value'],
|
1244 |
)
|
1245 |
);
|
1246 |
}
|
1247 |
-
return 1;
|
1248 |
-
}
|
1249 |
-
}
|
1250 |
|
1251 |
-
|
1252 |
-
|
1253 |
-
*
|
1254 |
-
* @param stdClass $oldpost - Old post.
|
1255 |
-
* @param stdClass $newpost - New post.
|
1256 |
-
*/
|
1257 |
-
protected function CheckParentChange( $oldpost, $newpost ) {
|
1258 |
-
if ( $oldpost->post_parent != $newpost->post_parent ) {
|
1259 |
-
$event = $this->GetEventTypeForPostType( $oldpost, 0, 2047, 0 );
|
1260 |
-
if ( $event ) {
|
1261 |
-
$editor_link = $this->GetEditorLink( $oldpost );
|
1262 |
$this->plugin->alerts->Trigger(
|
1263 |
-
|
1264 |
-
|
1265 |
-
'
|
1266 |
-
'
|
1267 |
-
'
|
1268 |
-
'
|
1269 |
-
'OldParent' => $oldpost->post_parent,
|
1270 |
-
'NewParent' => $newpost->post_parent,
|
1271 |
-
'OldParentName' => $oldpost->post_parent ? get_the_title( $oldpost->post_parent ) : 'no parent',
|
1272 |
-
'NewParentName' => $newpost->post_parent ? get_the_title( $newpost->post_parent ) : 'no parent',
|
1273 |
-
$editor_link['name'] => $editor_link['value'],
|
1274 |
)
|
1275 |
);
|
1276 |
-
return 1;
|
1277 |
}
|
1278 |
-
}
|
1279 |
-
}
|
1280 |
-
|
1281 |
-
/**
|
1282 |
-
* Permalink changed.
|
1283 |
-
*
|
1284 |
-
* @param string $old_link - Old permalink.
|
1285 |
-
* @param string $new_link - New permalink.
|
1286 |
-
* @param stdClass $post - The post.
|
1287 |
-
*/
|
1288 |
-
protected function CheckPermalinkChange( $old_link, $new_link, $post ) {
|
1289 |
-
if ( $old_link !== $new_link ) {
|
1290 |
-
$editor_link = $this->GetEditorLink( $post );
|
1291 |
-
$this->plugin->alerts->Trigger(
|
1292 |
-
2017, array(
|
1293 |
-
'PostID' => $post->ID,
|
1294 |
-
'PostType' => $post->post_type,
|
1295 |
-
'PostTitle' => $post->post_title,
|
1296 |
-
'PostStatus' => $post->post_status,
|
1297 |
-
'PostDate' => $post->post_date,
|
1298 |
-
'OldUrl' => $old_link,
|
1299 |
-
'NewUrl' => $new_link,
|
1300 |
-
$editor_link['name'] => $editor_link['value'],
|
1301 |
-
'ReportText' => '"' . $old_link . '"|"' . $new_link . '"',
|
1302 |
-
)
|
1303 |
-
);
|
1304 |
-
return 1;
|
1305 |
-
}
|
1306 |
-
return 0;
|
1307 |
-
}
|
1308 |
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
$new_visibility = '';
|
1324 |
-
|
1325 |
-
if ( $oldpost->post_password ) {
|
1326 |
-
$old_visibility = __( 'Password Protected', 'wp-security-audit-log' );
|
1327 |
-
} elseif ( 'publish' == $old_status ) {
|
1328 |
-
$old_visibility = __( 'Public', 'wp-security-audit-log' );
|
1329 |
-
} elseif ( 'private' == $old_status ) {
|
1330 |
-
$old_visibility = __( 'Private', 'wp-security-audit-log' );
|
1331 |
-
}
|
1332 |
-
|
1333 |
-
if ( $newpost->post_password ) {
|
1334 |
-
$new_visibility = __( 'Password Protected', 'wp-security-audit-log' );
|
1335 |
-
} elseif ( 'publish' == $new_status ) {
|
1336 |
-
$new_visibility = __( 'Public', 'wp-security-audit-log' );
|
1337 |
-
} elseif ( 'private' == $new_status ) {
|
1338 |
-
$new_visibility = __( 'Private', 'wp-security-audit-log' );
|
1339 |
-
}
|
1340 |
-
|
1341 |
-
if ( $old_visibility && $new_visibility && ( $old_visibility != $new_visibility ) ) {
|
1342 |
-
$editor_link = $this->GetEditorLink( $oldpost );
|
1343 |
-
$this->plugin->alerts->Trigger(
|
1344 |
-
2025, array(
|
1345 |
-
'PostID' => $oldpost->ID,
|
1346 |
-
'PostType' => $oldpost->post_type,
|
1347 |
-
'PostTitle' => $oldpost->post_title,
|
1348 |
-
'PostStatus' => $newpost->post_status,
|
1349 |
-
'PostDate' => $oldpost->post_date,
|
1350 |
-
'PostUrl' => get_permalink( $oldpost->ID ),
|
1351 |
-
'OldVisibility' => $old_visibility,
|
1352 |
-
'NewVisibility' => $new_visibility,
|
1353 |
-
$editor_link['name'] => $editor_link['value'],
|
1354 |
-
)
|
1355 |
-
);
|
1356 |
-
return 1;
|
1357 |
-
}
|
1358 |
-
}
|
1359 |
-
|
1360 |
-
/**
|
1361 |
-
* Post template changed.
|
1362 |
-
*
|
1363 |
-
* @param string $old_tmpl - Old template path.
|
1364 |
-
* @param string $new_tmpl - New template path.
|
1365 |
-
* @param stdClass $post - The post.
|
1366 |
-
*/
|
1367 |
-
protected function CheckTemplateChange( $old_tmpl, $new_tmpl, $post ) {
|
1368 |
-
if ( $old_tmpl != $new_tmpl ) {
|
1369 |
-
$event = $this->GetEventTypeForPostType( $post, 0, 2048, 0 );
|
1370 |
-
if ( $event ) {
|
1371 |
-
$editor_link = $this->GetEditorLink( $post );
|
1372 |
$this->plugin->alerts->Trigger(
|
1373 |
-
|
1374 |
-
|
1375 |
-
'
|
1376 |
-
'
|
1377 |
-
'
|
1378 |
-
'
|
1379 |
-
'OldTemplate' => ucwords( str_replace( array( '-', '_' ), ' ', basename( $old_tmpl, '.php' ) ) ),
|
1380 |
-
'NewTemplate' => ucwords( str_replace( array( '-', '_' ), ' ', basename( $new_tmpl, '.php' ) ) ),
|
1381 |
-
'OldTemplatePath' => $old_tmpl,
|
1382 |
-
'NewTemplatePath' => $new_tmpl,
|
1383 |
-
$editor_link['name'] => $editor_link['value'],
|
1384 |
)
|
1385 |
);
|
1386 |
-
return 1;
|
1387 |
}
|
1388 |
}
|
|
|
1389 |
}
|
1390 |
|
1391 |
/**
|
1392 |
-
*
|
1393 |
*
|
1394 |
-
* @param
|
1395 |
-
* @param
|
1396 |
-
* @param
|
|
|
1397 |
*/
|
1398 |
-
|
1399 |
-
if (
|
1400 |
-
|
1401 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1402 |
$this->plugin->alerts->Trigger(
|
1403 |
-
|
|
|
1404 |
'PostID' => $post->ID,
|
1405 |
'PostType' => $post->post_type,
|
1406 |
'PostTitle' => $post->post_title,
|
1407 |
'PostStatus' => $post->post_status,
|
1408 |
'PostDate' => $post->post_date,
|
1409 |
-
'
|
|
|
|
|
|
|
1410 |
$editor_link['name'] => $editor_link['value'],
|
1411 |
)
|
1412 |
);
|
1413 |
-
return 1;
|
1414 |
}
|
1415 |
}
|
1416 |
|
1417 |
/**
|
1418 |
-
* Post
|
1419 |
*
|
1420 |
-
* @param
|
1421 |
-
* @param
|
1422 |
-
* @param stdClass $newpost – New post.
|
1423 |
-
* @param int $modified – Set to 0 if no changes done to the post.
|
1424 |
*/
|
1425 |
-
public function
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
$changes = $this->CheckTitleChange( $oldpost, $newpost );
|
1430 |
-
if ( ! $changes ) {
|
1431 |
-
$content_changed = $oldpost->post_content != $newpost->post_content; // TODO what about excerpts?
|
1432 |
-
|
1433 |
-
if ( $oldpost->post_modified != $newpost->post_modified ) {
|
1434 |
-
$event = 0;
|
1435 |
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
$event = 2002;
|
1441 |
-
}
|
1442 |
-
if ( $event ) {
|
1443 |
-
if ( 2002 === $event ) {
|
1444 |
-
// Get Yoast alerts.
|
1445 |
-
$yoast_alerts = $this->plugin->alerts->get_alerts_by_sub_category( 'Yoast SEO' );
|
1446 |
-
|
1447 |
-
// Check all alerts.
|
1448 |
-
foreach ( $yoast_alerts as $alert_code => $alert ) {
|
1449 |
-
if ( $this->plugin->alerts->WillOrHasTriggered( $alert_code ) ) {
|
1450 |
-
return 0; // Return if any Yoast alert has or will trigger.
|
1451 |
-
}
|
1452 |
-
}
|
1453 |
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
|
|
|
|
|
|
1462 |
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
|
1474 |
-
|
1475 |
-
|
|
|
1476 |
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
$this->plugin->alerts->Trigger( $event, $event_data );
|
1481 |
-
}
|
1482 |
-
} else {
|
1483 |
-
$this->plugin->alerts->Trigger( $event, $event_data );
|
1484 |
-
}
|
1485 |
-
return 1;
|
1486 |
-
}
|
1487 |
-
}
|
1488 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1489 |
}
|
1490 |
|
1491 |
/**
|
1492 |
-
*
|
1493 |
*
|
1494 |
-
* @param
|
|
|
1495 |
*/
|
1496 |
-
|
1497 |
-
$
|
1498 |
-
$category_link = $this->getCategoryLink( $category_id );
|
1499 |
-
$this->plugin->alerts->Trigger(
|
1500 |
-
2023, array(
|
1501 |
-
'CategoryName' => $category->name,
|
1502 |
-
'Slug' => $category->slug,
|
1503 |
-
'CategoryLink' => $category_link,
|
1504 |
-
)
|
1505 |
-
);
|
1506 |
}
|
1507 |
|
1508 |
/**
|
1509 |
-
*
|
1510 |
*
|
1511 |
-
* @param
|
|
|
1512 |
*/
|
1513 |
-
|
1514 |
-
$
|
1515 |
-
$tag_link = $this->get_tag_link( $tag_id );
|
1516 |
-
$this->plugin->alerts->Trigger(
|
1517 |
-
2121, array(
|
1518 |
-
'TagName' => $tag->name,
|
1519 |
-
'Slug' => $tag->slug,
|
1520 |
-
'TagLink' => $tag_link,
|
1521 |
-
)
|
1522 |
-
);
|
1523 |
}
|
1524 |
|
1525 |
/**
|
1526 |
-
*
|
|
|
|
|
1527 |
*
|
1528 |
-
* @
|
|
|
1529 |
*/
|
1530 |
-
protected function
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
-
|
1538 |
-
'
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
|
1547 |
-
|
1548 |
-
|
1549 |
-
|
1550 |
-
|
1551 |
-
|
1552 |
-
|
1553 |
-
|
1554 |
-
}
|
1555 |
|
1556 |
-
|
|
|
1557 |
|
1558 |
-
|
1559 |
-
|
1560 |
-
|
1561 |
-
|
1562 |
-
|
1563 |
-
// Bulk delete.
|
1564 |
-
foreach ( $post_array['delete_tags'] as $delete_tag ) {
|
1565 |
-
$category_ids[] = $delete_tag;
|
1566 |
}
|
1567 |
-
} elseif ( 'delete-tag' == $action
|
1568 |
-
&& 'category' == $post_array['taxonomy']
|
1569 |
-
&& ! empty( $post_array['tag_ID'] )
|
1570 |
-
&& wp_verify_nonce( $post_array['_wpnonce'], 'delete-tag_' . $post_array['tag_ID'] ) ) {
|
1571 |
-
// Single delete.
|
1572 |
-
$category_ids[] = $post_array['tag_ID'];
|
1573 |
}
|
1574 |
}
|
|
|
1575 |
|
1576 |
-
|
1577 |
-
|
1578 |
-
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1586 |
);
|
|
|
1587 |
}
|
|
|
1588 |
}
|
1589 |
|
1590 |
/**
|
1591 |
-
*
|
1592 |
*
|
1593 |
-
* @param
|
1594 |
-
* @param
|
1595 |
*/
|
1596 |
-
|
1597 |
-
if (
|
1598 |
-
$
|
1599 |
-
$
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
'Slug' => $tag->slug,
|
1604 |
-
)
|
1605 |
-
);
|
1606 |
-
} elseif ( 'category' === $taxonomy ) {
|
1607 |
-
$category = get_category( $term_id );
|
1608 |
-
$category_link = $this->getCategoryLink( $term_id );
|
1609 |
$this->plugin->alerts->Trigger(
|
1610 |
-
|
1611 |
-
|
1612 |
-
'
|
1613 |
-
'
|
1614 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
1615 |
)
|
1616 |
);
|
|
|
1617 |
}
|
1618 |
}
|
1619 |
|
1620 |
/**
|
1621 |
-
*
|
1622 |
*
|
1623 |
-
* @
|
|
|
|
|
1624 |
*/
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
|
1629 |
-
'name' => FILTER_SANITIZE_STRING,
|
1630 |
-
'parent' => FILTER_SANITIZE_STRING,
|
1631 |
-
'tag_ID' => FILTER_VALIDATE_INT,
|
1632 |
-
);
|
1633 |
-
|
1634 |
-
// Filter $_POST array for security.
|
1635 |
-
$post_array = filter_input_array( INPUT_POST, $filter_input_args );
|
1636 |
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
&& wp_verify_nonce( $post_array['_wpnonce'], 'update-tag_' . $post_array['tag_ID'] ) ) {
|
1647 |
-
$category = get_category( $post_array['tag_ID'] );
|
1648 |
-
$category_link = $this->getCategoryLink( $post_array['tag_ID'] );
|
1649 |
-
if ( 0 != $category->parent ) {
|
1650 |
-
$old_parent = get_category( $category->parent );
|
1651 |
-
$old_parent_name = ( empty( $old_parent ) ) ? 'no parent' : $old_parent->name;
|
1652 |
} else {
|
1653 |
-
$
|
1654 |
-
}
|
1655 |
-
if ( isset( $post_array['parent'] ) ) {
|
1656 |
-
$new_parent = get_category( $post_array['parent'] );
|
1657 |
-
$new_parent_name = ( empty( $new_parent ) ) ? 'no parent' : $new_parent->name;
|
1658 |
}
|
1659 |
|
1660 |
-
if ( $
|
1661 |
-
$this->
|
1662 |
-
|
1663 |
-
|
1664 |
-
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1669 |
}
|
1670 |
-
}
|
1671 |
-
}
|
1672 |
|
1673 |
-
|
1674 |
-
* Check auto draft and the setting: Hide Plugin in Plugins Page
|
1675 |
-
*
|
1676 |
-
* @param integer $code - Alert code.
|
1677 |
-
* @param string $title - Title.
|
1678 |
-
* @return boolean
|
1679 |
-
*/
|
1680 |
-
private function CheckAutoDraft( $code, $title ) {
|
1681 |
-
if ( 2008 == $code && 'auto-draft' == $title ) {
|
1682 |
-
// To do: Check setting else return false.
|
1683 |
-
return 1 == $this->plugin->settings->IsWPBackend();
|
1684 |
}
|
1685 |
-
return false;
|
1686 |
}
|
1687 |
|
1688 |
/**
|
1689 |
-
*
|
1690 |
*
|
1691 |
-
* @param
|
1692 |
-
* @
|
1693 |
*/
|
1694 |
-
|
1695 |
-
if (
|
1696 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1697 |
}
|
1698 |
-
return null;
|
1699 |
}
|
1700 |
|
1701 |
/**
|
1702 |
-
*
|
1703 |
*
|
1704 |
-
* @param
|
1705 |
-
* @param
|
1706 |
-
* @
|
1707 |
*/
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
$
|
1712 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1713 |
}
|
|
|
1714 |
}
|
1715 |
|
1716 |
/**
|
1717 |
-
*
|
1718 |
*
|
1719 |
-
* @param
|
1720 |
-
* @
|
|
|
|
|
1721 |
*/
|
1722 |
-
|
1723 |
-
if (
|
1724 |
-
return
|
1725 |
-
} else {
|
1726 |
-
return null;
|
1727 |
}
|
1728 |
-
}
|
1729 |
|
1730 |
-
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
}
|
1740 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1741 |
}
|
1742 |
}
|
1743 |
|
1744 |
/**
|
1745 |
-
*
|
1746 |
-
* Triggered on the Sensors
|
1747 |
*
|
1748 |
-
* @param
|
|
|
1749 |
*/
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
|
|
|
|
|
|
1753 |
}
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1764 |
}
|
|
|
1765 |
}
|
1766 |
|
1767 |
/**
|
1768 |
-
*
|
1769 |
*
|
1770 |
-
* @param
|
1771 |
-
* @param stdClass $
|
1772 |
-
* @param bool $update - True if update.
|
1773 |
*/
|
1774 |
-
|
1775 |
-
|
1776 |
-
|
1777 |
-
}
|
1778 |
|
1779 |
-
|
1780 |
-
if (
|
1781 |
-
$
|
1782 |
|
1783 |
-
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
1788 |
-
|
1789 |
-
|
1790 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1791 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1792 |
}
|
|
|
1793 |
}
|
1794 |
|
1795 |
/**
|
1796 |
-
*
|
1797 |
*
|
1798 |
-
* @param
|
|
|
|
|
1799 |
*/
|
1800 |
-
|
1801 |
-
|
1802 |
-
|
1803 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1804 |
}
|
1805 |
-
return $post;
|
1806 |
}
|
1807 |
|
1808 |
/**
|
1809 |
-
*
|
1810 |
*
|
1811 |
-
* @
|
|
|
|
|
1812 |
*/
|
1813 |
-
|
1814 |
-
|
|
|
1815 |
|
1816 |
-
|
1817 |
-
|
1818 |
-
}
|
1819 |
|
1820 |
-
//
|
1821 |
-
$
|
1822 |
-
|
|
|
|
|
1823 |
|
1824 |
-
//
|
1825 |
-
|
1826 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1827 |
}
|
1828 |
|
1829 |
-
if (
|
1830 |
-
|
1831 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1832 |
|
1833 |
-
|
1834 |
-
|
1835 |
}
|
1836 |
}
|
1837 |
|
1838 |
/**
|
1839 |
-
* Post
|
1840 |
*
|
1841 |
-
* @param
|
|
|
|
|
|
|
1842 |
*/
|
1843 |
-
public function
|
1844 |
-
if (
|
1845 |
return;
|
1846 |
}
|
1847 |
|
1848 |
-
|
1849 |
-
|
1850 |
-
return $post;
|
1851 |
}
|
1852 |
|
1853 |
-
$
|
1854 |
-
$referrer = isset( $_SERVER['HTTP_REFERER'] ) ? esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) : false;
|
1855 |
|
1856 |
-
if (
|
1857 |
-
|
1858 |
-
|
1859 |
-
|
1860 |
-
|
1861 |
-
|
1862 |
-
|
1863 |
-
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
-
|
1870 |
-
|
1871 |
-
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1876 |
}
|
1877 |
}
|
1878 |
}
|
1879 |
|
1880 |
/**
|
1881 |
-
*
|
|
|
1882 |
*
|
1883 |
-
* @param
|
1884 |
-
* @return boolean
|
1885 |
*/
|
1886 |
-
private function
|
1887 |
-
$
|
1888 |
-
|
1889 |
-
|
1890 |
-
|
1891 |
-
|
1892 |
-
|
|
|
|
|
|
|
|
|
1893 |
return true;
|
1894 |
-
|
|
|
1895 |
}
|
1896 |
-
return false;
|
1897 |
}
|
1898 |
|
1899 |
/**
|
@@ -1902,11 +1295,12 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
1902 |
* @param stdClass $oldpost - Old post.
|
1903 |
* @param stdClass $newpost - New post.
|
1904 |
*/
|
1905 |
-
private function
|
1906 |
if ( $oldpost->post_title !== $newpost->post_title ) {
|
1907 |
-
$editor_link = $this->
|
1908 |
$this->plugin->alerts->Trigger(
|
1909 |
-
2086,
|
|
|
1910 |
'PostID' => $newpost->ID,
|
1911 |
'PostType' => $newpost->post_type,
|
1912 |
'PostTitle' => $newpost->post_title,
|
@@ -1924,64 +1318,86 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
1924 |
}
|
1925 |
|
1926 |
/**
|
1927 |
-
*
|
1928 |
*
|
1929 |
-
* @param
|
1930 |
-
* @param
|
|
|
1931 |
*/
|
1932 |
-
private function
|
1933 |
-
$
|
1934 |
-
|
|
|
|
|
|
|
|
|
1935 |
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1939 |
|
1940 |
-
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1945 |
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
-
|
1953 |
-
|
1954 |
-
|
1955 |
-
|
1956 |
-
|
1957 |
-
|
1958 |
-
$result = 1;
|
1959 |
}
|
1960 |
-
// Trackbacks and Pingbacks.
|
1961 |
-
if ( $oldpost->ping_status != $newpost->ping_status ) {
|
1962 |
-
$type = 'Trackbacks and Pingbacks';
|
1963 |
|
1964 |
-
|
1965 |
-
|
1966 |
-
} else {
|
1967 |
-
$event = $this->GetCommentsPingsEvent( $newpost, 'disable' );
|
1968 |
-
}
|
1969 |
|
1970 |
-
|
1971 |
-
|
1972 |
-
|
1973 |
-
|
1974 |
-
|
1975 |
-
|
1976 |
-
|
1977 |
-
|
1978 |
-
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
|
|
|
1983 |
}
|
1984 |
-
return
|
1985 |
}
|
1986 |
|
1987 |
/**
|
@@ -1990,8 +1406,8 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
1990 |
* @param stdClass $post - The post.
|
1991 |
* @param string $status - The status.
|
1992 |
*/
|
1993 |
-
private function
|
1994 |
-
if ( 'disable'
|
1995 |
$event = 2111;
|
1996 |
} else {
|
1997 |
$event = 2112;
|
@@ -2000,47 +1416,41 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
2000 |
}
|
2001 |
|
2002 |
/**
|
2003 |
-
*
|
2004 |
*
|
2005 |
-
* @param WP_Post $post
|
2006 |
-
* @param string $old_status - Old post status.
|
2007 |
-
* @param string $new_status - New post status.
|
2008 |
-
* @since 3.2.2
|
2009 |
*/
|
2010 |
-
|
2011 |
-
|
2012 |
-
if ( empty( $post ) || ! $post instanceof WP_Post || empty( $old_status ) || empty( $new_status ) ) {
|
2013 |
return;
|
2014 |
}
|
2015 |
|
2016 |
-
// Check
|
2017 |
-
if ( $
|
2018 |
-
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
|
2023 |
-
|
2024 |
-
|
2025 |
-
|
2026 |
-
|
2027 |
-
|
2028 |
-
|
2029 |
-
|
2030 |
-
|
2031 |
-
|
2032 |
-
|
2033 |
-
$editor_link = $this->GetEditorLink( $post );
|
2034 |
$this->plugin->alerts->Trigger(
|
2035 |
-
|
|
|
2036 |
'PostID' => $post->ID,
|
2037 |
'PostType' => $post->post_type,
|
2038 |
'PostTitle' => $post->post_title,
|
2039 |
'PostStatus' => $post->post_status,
|
2040 |
'PostDate' => $post->post_date,
|
2041 |
'PostUrl' => get_permalink( $post->ID ),
|
2042 |
-
'OldStatus' => $old_status,
|
2043 |
-
'NewStatus' => $new_status,
|
2044 |
$editor_link['name'] => $editor_link['value'],
|
2045 |
)
|
2046 |
);
|
@@ -2049,52 +1459,40 @@ class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
|
2049 |
}
|
2050 |
|
2051 |
/**
|
2052 |
-
*
|
2053 |
*
|
2054 |
-
* @param
|
2055 |
-
* @return
|
2056 |
*/
|
2057 |
-
private function
|
2058 |
-
$
|
2059 |
-
$
|
2060 |
-
$
|
2061 |
-
|
2062 |
-
|
2063 |
-
)
|
2064 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2065 |
}
|
2066 |
|
2067 |
/**
|
2068 |
-
*
|
2069 |
*
|
2070 |
-
*
|
|
|
|
|
2071 |
*/
|
2072 |
-
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
2076 |
-
|
2077 |
-
|
2078 |
-
}
|
2079 |
-
|
2080 |
-
$current_path = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : false;
|
2081 |
-
if (
|
2082 |
-
! empty( $_SERVER['HTTP_REFERER'] )
|
2083 |
-
&& ! empty( $current_path )
|
2084 |
-
&& false !== strpos( sanitize_text_field( wp_unslash( $_SERVER['HTTP_REFERER'] ) ), $current_path )
|
2085 |
-
) {
|
2086 |
-
// Ignore this if we were on the same page so we avoid double audit entries.
|
2087 |
-
return;
|
2088 |
-
}
|
2089 |
-
|
2090 |
-
if ( ! empty( $post->post_title ) ) {
|
2091 |
-
$edit_link = $this->GetEditorLink( $post ); // Get editor link.
|
2092 |
-
$post_data = $this->get_post_event_data( $post ); // Get event post data.
|
2093 |
-
|
2094 |
-
// Set editor link.
|
2095 |
-
$post_data[ $edit_link['name'] ] = $edit_link['value'];
|
2096 |
-
$this->plugin->alerts->Trigger( 2101, $post_data );
|
2097 |
-
}
|
2098 |
-
}
|
2099 |
}
|
2100 |
}
|
16 |
/**
|
17 |
* WordPress contents (posts, pages and custom posts).
|
18 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
* @package Wsal
|
|
|
20 |
*/
|
21 |
class WSAL_Sensors_Content extends WSAL_AbstractSensor {
|
22 |
|
73 |
* Listening to events using WP hooks.
|
74 |
*/
|
75 |
public function HookEvents() {
|
76 |
+
add_action( 'pre_post_update', array( $this, 'get_before_post_edit_data' ), 10, 2 );
|
77 |
+
add_action( 'save_post', array( $this, 'post_changed' ), 10, 3 );
|
78 |
+
add_action( 'set_object_terms', array( $this, 'post_terms_changed' ), 10, 4 );
|
79 |
+
add_action( 'post_stuck', array( $this, 'post_stuck_event' ), 10, 1 );
|
80 |
+
add_action( 'post_unstuck', array( $this, 'post_unstuck_event' ), 10, 1 );
|
81 |
+
add_action( 'delete_post', array( $this, 'event_post_deleted' ), 10, 1 );
|
82 |
+
add_action( 'wp_trash_post', array( $this, 'event_post_trashed' ), 10, 1 );
|
83 |
+
add_action( 'untrash_post', array( $this, 'event_post_untrashed' ) );
|
84 |
+
add_action( 'future_to_publish', array( $this, 'event_publish_future' ), 10, 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
add_action( 'admin_action_edit', array( $this, 'edit_post_in_gutenberg' ), 10 );
|
86 |
+
add_filter( 'post_edit_form_tag', array( $this, 'edit_post_in_classic' ), 10, 1 );
|
87 |
+
add_action( 'wp_head', array( $this, 'viewing_post' ), 10 );
|
88 |
+
add_action( 'create_category', array( $this, 'event_category_creation' ), 10, 1 );
|
89 |
+
add_action( 'create_post_tag', array( $this, 'event_tag_creation' ), 10, 1 );
|
|
|
90 |
add_action( 'pre_delete_term', array( $this, 'check_taxonomy_term_deletion' ), 10, 2 );
|
91 |
+
add_filter( 'wp_update_term_data', array( $this, 'event_update_term_data' ), 10, 4 );
|
92 |
+
add_action( 'updated_post_meta', array( $this, 'check_template_change' ), 10, 4 );
|
93 |
|
94 |
// Check if MainWP Child Plugin exists.
|
95 |
if ( is_plugin_active( 'mainwp-child/mainwp-child.php' ) ) {
|
98 |
}
|
99 |
|
100 |
/**
|
101 |
+
* Get Post Data.
|
102 |
*
|
103 |
+
* Collect old post data before post update event.
|
104 |
*
|
105 |
+
* @param int $post_id - Post ID.
|
|
|
106 |
*/
|
107 |
+
public function get_before_post_edit_data( $post_id ) {
|
108 |
+
$post_id = (int) $post_id; // Making sure that the post id is integer.
|
109 |
+
$post = get_post( $post_id ); // Get post.
|
110 |
+
|
111 |
+
// If post exists.
|
112 |
if ( ! empty( $post ) && $post instanceof WP_Post ) {
|
113 |
+
$this->_old_post = $post;
|
114 |
+
$this->_old_link = get_permalink( $post_id );
|
115 |
+
$this->_old_tmpl = $this->get_post_template( $this->_old_post );
|
116 |
+
$this->_old_cats = $this->get_post_categories( $this->_old_post );
|
117 |
+
$this->_old_tags = $this->get_post_tags( $this->_old_post );
|
118 |
+
$this->_old_stky = in_array( $post_id, get_option( 'sticky_posts' ), true );
|
119 |
+
$this->old_status = $post->post_status;
|
|
|
|
|
120 |
}
|
|
|
121 |
}
|
122 |
|
123 |
/**
|
124 |
+
* Check all the post changes.
|
125 |
*
|
126 |
+
* @param integer $post_id - Post ID.
|
127 |
+
* @param WP_Post $post - WP Post object.
|
128 |
+
* @param boolean $update - True if post update, false if post is new.
|
|
|
|
|
129 |
*/
|
130 |
+
public function post_changed( $post_id, $post, $update ) {
|
131 |
+
// Ignore if post type is empty, revision or trash.
|
132 |
+
if ( empty( $post->post_type ) || 'revision' === $post->post_type || 'trash' === $post->post_status ) {
|
133 |
+
return;
|
134 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
|
136 |
+
// Ignore updates from ignored custom post types.
|
137 |
+
if ( in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
|
138 |
+
return;
|
139 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
|
141 |
+
// Ignorable states.
|
142 |
+
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
143 |
+
// Check post creation event.
|
144 |
+
if ( $this->_old_post && 'auto-draft' === $this->_old_post->post_status && 'draft' === $post->post_status ) {
|
145 |
+
$this->check_post_creation( $this->_old_post, $post );
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
+
return;
|
148 |
+
}
|
149 |
|
150 |
+
/**
|
151 |
+
* Post Changed.
|
152 |
+
*
|
153 |
+
* Don't let the second request for meta update from Gutenberg pass this checkpoint.
|
154 |
+
*
|
155 |
+
* Only pass these requests:
|
156 |
+
* 1. Rest request from Gutenberg.
|
157 |
+
* 2. Classic editor request.
|
158 |
+
* 3. Quick edit ajax request.
|
159 |
+
*
|
160 |
+
* @since 3.4
|
161 |
+
*/
|
162 |
+
if ( ! defined( 'REST_REQUEST' ) && ! defined( 'DOING_AJAX' ) ) {
|
163 |
+
// Either Gutenberg's second post request or classic editor's request.
|
164 |
+
if ( ! isset( $_REQUEST['classic-editor'] ) ) {
|
165 |
+
$editor_replace = get_option( 'classic-editor-replace', 'classic' );
|
166 |
+
$allow_users = get_option( 'classic-editor-allow-users', 'disallow' );
|
167 |
+
|
168 |
+
// If block editor is selected and users are not allowed to switch editors then it is Gutenberg's second request.
|
169 |
+
if ( 'block' === $editor_replace && 'disallow' === $allow_users ) {
|
170 |
+
return;
|
171 |
+
} elseif ( 'allow' === $allow_users ) { // Else if users are allowed to switch then it is Gutenberg's second request.
|
172 |
+
return;
|
173 |
+
}
|
174 |
}
|
175 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
|
177 |
+
if ( $update ) {
|
178 |
+
$status_event = $this->check_status_change( $this->_old_post, $post );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
|
180 |
+
if ( 2001 !== $status_event && 'auto-draft' !== $this->_old_post->post_status ) {
|
181 |
+
// Handle update post events.
|
182 |
+
$changes = 0;
|
183 |
+
$changes = $this->check_author_change( $this->_old_post, $post )
|
184 |
+
+ $this->check_parent_change( $this->_old_post, $post )
|
185 |
+
+ $this->check_visibility_change( $this->_old_post, $post, $this->old_status, $post->post_status )
|
186 |
+
+ $this->check_date_change( $this->_old_post, $post )
|
187 |
+
+ $this->check_permalink_change( $this->_old_link, get_permalink( $post->ID ), $post )
|
188 |
+
+ $this->check_comments_pings( $this->_old_post, $post );
|
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 {
|
195 |
+
// If not update then check post creation.
|
196 |
+
$this->check_post_creation( $this->_old_post, $post );
|
197 |
}
|
|
|
|
|
|
|
198 |
}
|
199 |
|
200 |
/**
|
201 |
+
* Check if post terms changed via Gutenberg.
|
202 |
*
|
203 |
+
* @param int $post_id - Post ID.
|
204 |
+
* @param array $terms - Array of terms.
|
205 |
+
* @param array $tt_ids - Array of taxonomy term ids.
|
206 |
+
* @param string $taxonomy - Taxonomy slug.
|
|
|
207 |
*/
|
208 |
+
public function post_terms_changed( $post_id, $terms, $tt_ids, $taxonomy ) {
|
209 |
+
$post = get_post( $post_id );
|
210 |
+
|
211 |
+
if ( is_wp_error( $post ) ) {
|
212 |
+
return;
|
|
|
|
|
|
|
213 |
}
|
|
|
214 |
|
215 |
+
if ( 'auto-draft' === $post->post_status ) {
|
216 |
+
return;
|
217 |
+
}
|
218 |
+
|
219 |
+
if ( 'post_tag' === $taxonomy ) {
|
220 |
+
// Check tags change event.
|
221 |
+
$this->check_tags_change( $this->_old_tags, $this->get_post_tags( $post ), $post );
|
222 |
+
} else {
|
223 |
+
// Check categories change event.
|
224 |
+
$this->check_categories_change( $this->_old_cats, $this->get_post_categories( $post ), $post );
|
225 |
+
}
|
226 |
}
|
227 |
|
228 |
/**
|
229 |
+
* Post Stuck Event.
|
230 |
*
|
231 |
+
* @param integer $post_id - Post ID.
|
232 |
*/
|
233 |
+
public function post_stuck_event( $post_id ) {
|
234 |
+
$this->log_sticky_post_event( $post_id, 2049 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
}
|
236 |
|
237 |
/**
|
238 |
+
* Post Unstuck Event.
|
239 |
*
|
240 |
+
* @param integer $post_id - Post ID.
|
|
|
241 |
*/
|
242 |
+
public function post_unstuck_event( $post_id ) {
|
243 |
+
$this->log_sticky_post_event( $post_id, 2050 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
}
|
245 |
|
246 |
/**
|
247 |
+
* Post permanently deleted.
|
|
|
|
|
248 |
*
|
249 |
+
* @param integer $post_id - Post ID.
|
|
|
250 |
*/
|
251 |
+
public function event_post_deleted( $post_id ) {
|
252 |
+
// Exclude CPTs from external plugins.
|
253 |
+
$post = get_post( $post_id );
|
254 |
+
if ( $this->check_other_sensors( $post ) ) {
|
255 |
+
return;
|
256 |
+
}
|
257 |
|
258 |
+
// Ignore attachments, revisions and menu items.
|
259 |
+
if ( ! in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
|
260 |
+
$event = 2008;
|
261 |
+
// Check WordPress backend operations.
|
262 |
+
if ( $this->check_auto_draft( $event, $post->post_title ) ) {
|
263 |
+
return;
|
|
|
|
|
|
|
264 |
}
|
265 |
+
|
266 |
+
$event_data = $this->get_post_event_data( $post ); // Get event data.
|
267 |
+
$this->plugin->alerts->Trigger( $event, $event_data ); // Log event.
|
268 |
}
|
269 |
}
|
270 |
|
271 |
/**
|
272 |
+
* Post moved to the trash.
|
273 |
*
|
274 |
+
* @param integer $post_id - Post ID.
|
|
|
275 |
*/
|
276 |
+
public function event_post_trashed( $post_id ) {
|
277 |
+
$post = get_post( $post_id );
|
278 |
+
|
279 |
+
if ( $this->check_other_sensors( $post ) ) {
|
280 |
+
return;
|
281 |
}
|
282 |
|
283 |
+
if ( ! in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
|
284 |
+
$editor_link = $this->get_editor_link( $post );
|
|
|
285 |
|
286 |
+
$this->plugin->alerts->Trigger(
|
287 |
+
2012,
|
288 |
+
array(
|
289 |
+
'PostID' => $post->ID,
|
290 |
+
'PostType' => $post->post_type,
|
291 |
+
'PostTitle' => $post->post_title,
|
292 |
+
'PostStatus' => $post->post_status,
|
293 |
+
'PostDate' => $post->post_date,
|
294 |
+
'PostUrl' => get_permalink( $post->ID ),
|
295 |
+
$editor_link['name'] => $editor_link['value'],
|
296 |
+
)
|
297 |
+
);
|
298 |
}
|
|
|
|
|
|
|
299 |
}
|
300 |
|
301 |
/**
|
302 |
+
* Post restored from trash.
|
303 |
*
|
304 |
+
* @param integer $post_id - Post ID.
|
|
|
305 |
*/
|
306 |
+
public function event_post_untrashed( $post_id ) {
|
307 |
+
$post = get_post( $post_id );
|
308 |
+
|
309 |
+
if ( $this->check_other_sensors( $post ) ) {
|
310 |
+
return;
|
311 |
}
|
312 |
|
313 |
+
if ( ! in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
|
314 |
+
$editor_link = $this->get_editor_link( $post );
|
315 |
+
|
316 |
+
$this->plugin->alerts->Trigger(
|
317 |
+
2014,
|
318 |
+
array(
|
319 |
+
'PostID' => $post->ID,
|
320 |
+
'PostType' => $post->post_type,
|
321 |
+
'PostTitle' => $post->post_title,
|
322 |
+
'PostStatus' => $post->post_status,
|
323 |
+
'PostDate' => $post->post_date,
|
324 |
+
'PostUrl' => get_permalink( $post->ID ),
|
325 |
+
$editor_link['name'] => $editor_link['value'],
|
326 |
+
)
|
327 |
+
);
|
328 |
+
remove_action( 'save_post', array( $this, 'post_changed' ), 10, 3 );
|
329 |
+
}
|
330 |
}
|
331 |
|
332 |
/**
|
333 |
+
* Post future publishing.
|
334 |
*
|
335 |
+
* @param integer $post_id - Post ID.
|
|
|
336 |
*/
|
337 |
+
public function event_publish_future( $post_id ) {
|
338 |
+
$post = get_post( $post_id );
|
|
|
|
|
339 |
|
340 |
+
if ( ! in_array( $post->post_type, $this->plugin->alerts->ignored_cpts, true ) ) {
|
341 |
+
$editor_link = $this->get_editor_link( $post );
|
342 |
+
|
343 |
+
$this->plugin->alerts->Trigger(
|
344 |
+
2001,
|
345 |
+
array(
|
346 |
+
'PostID' => $post->ID,
|
347 |
+
'PostType' => $post->post_type,
|
348 |
+
'PostTitle' => $post->post_title,
|
349 |
+
'PostStatus' => $post->post_status,
|
350 |
+
'PostDate' => $post->post_date,
|
351 |
+
'PostUrl' => get_permalink( $post->ID ),
|
352 |
+
$editor_link['name'] => $editor_link['value'],
|
353 |
+
)
|
354 |
+
);
|
355 |
+
remove_action( 'save_post', array( $this, 'post_changed' ), 10, 3 );
|
356 |
+
}
|
357 |
}
|
358 |
|
359 |
/**
|
360 |
+
* Alert for Editing of Posts and Custom Post Types in Gutenberg.
|
361 |
*
|
362 |
+
* @since 3.2.4
|
|
|
|
|
363 |
*/
|
364 |
+
public function edit_post_in_gutenberg() {
|
365 |
+
global $pagenow;
|
366 |
+
|
367 |
+
if ( 'post.php' !== $pagenow ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
return;
|
369 |
}
|
370 |
|
371 |
+
// @codingStandardsIgnoreStart
|
372 |
+
$post_id = isset( $_GET['post'] ) ? (int) sanitize_text_field( wp_unslash( $_GET['post'] ) ) : false;
|
373 |
+
// @codingStandardsIgnoreEnd
|
374 |
+
|
375 |
+
// Check post id.
|
376 |
+
if ( empty( $post_id ) ) {
|
377 |
return;
|
378 |
}
|
379 |
|
380 |
+
if ( is_user_logged_in() && is_admin() ) {
|
381 |
+
// Get post.
|
382 |
+
$post = get_post( $post_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
|
384 |
+
// Log event.
|
385 |
+
$this->post_opened_in_editor( $post );
|
|
|
386 |
}
|
387 |
}
|
388 |
|
389 |
/**
|
390 |
+
* Alerts for Editing of Posts, Pages and Custom Post Types.
|
391 |
*
|
392 |
+
* @param WP_Post $post - Post.
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
*/
|
394 |
+
public function edit_post_in_classic( $post ) {
|
395 |
+
if ( is_user_logged_in() && is_admin() ) {
|
396 |
+
// Log event.
|
397 |
+
$this->post_opened_in_editor( $post );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
}
|
399 |
+
return $post;
|
400 |
}
|
401 |
|
402 |
/**
|
403 |
+
* Post View Event.
|
|
|
|
|
404 |
*
|
405 |
+
* Alerts for Viewing of Posts and Custom Post Types.
|
|
|
|
|
406 |
*/
|
407 |
+
public function viewing_post() {
|
408 |
+
// Retrieve the current post object.
|
409 |
+
$post = get_queried_object();
|
410 |
+
if ( is_user_logged_in() && ! is_admin() ) {
|
411 |
+
if ( $this->check_other_sensors( $post ) ) {
|
412 |
+
return $post->post_title;
|
|
|
|
|
413 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
414 |
|
415 |
+
$current_path = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : false;
|
416 |
if (
|
417 |
+
! empty( $_SERVER['HTTP_REFERER'] )
|
418 |
+
&& ! empty( $current_path )
|
419 |
+
&& false !== strpos( sanitize_text_field( wp_unslash( $_SERVER['HTTP_REFERER'] ) ), $current_path )
|
420 |
) {
|
421 |
+
// Ignore this if we were on the same page so we avoid double audit entries.
|
422 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
}
|
|
|
|
|
|
|
424 |
|
425 |
+
if ( ! empty( $post->post_title ) ) {
|
426 |
+
$edit_link = $this->get_editor_link( $post ); // Get editor link.
|
427 |
+
$post_data = $this->get_post_event_data( $post ); // Get event post data.
|
428 |
|
429 |
+
// Set editor link.
|
430 |
+
$post_data[ $edit_link['name'] ] = $edit_link['value'];
|
431 |
+
$this->plugin->alerts->Trigger( 2101, $post_data );
|
|
|
|
|
|
|
432 |
}
|
433 |
}
|
434 |
}
|
435 |
|
436 |
/**
|
437 |
+
* New category created.
|
438 |
*
|
439 |
+
* @param integer $category_id - Category ID.
|
440 |
*/
|
441 |
+
public function event_category_creation( $category_id ) {
|
442 |
+
$category = get_category( $category_id );
|
443 |
+
$category_link = $this->get_taxonomy_edit_link( $category_id, 'category' );
|
444 |
$this->plugin->alerts->Trigger(
|
445 |
+
2023,
|
446 |
+
array(
|
447 |
+
'CategoryName' => $category->name,
|
448 |
+
'Slug' => $category->slug,
|
449 |
+
'CategoryLink' => $category_link,
|
|
|
|
|
|
|
450 |
)
|
451 |
);
|
452 |
}
|
453 |
|
454 |
/**
|
455 |
+
* New tag created.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
*
|
457 |
+
* @param int $tag_id - Tag ID.
|
458 |
*/
|
459 |
+
public function event_tag_creation( $tag_id ) {
|
460 |
+
$tag = get_tag( $tag_id );
|
461 |
+
$tag_link = $this->get_taxonomy_edit_link( $tag_id );
|
|
|
|
|
|
|
462 |
$this->plugin->alerts->Trigger(
|
463 |
+
2121,
|
464 |
+
array(
|
465 |
+
'TagName' => $tag->name,
|
466 |
+
'Slug' => $tag->slug,
|
467 |
+
'TagLink' => $tag_link,
|
|
|
|
|
|
|
468 |
)
|
469 |
);
|
470 |
}
|
471 |
|
472 |
/**
|
473 |
+
* Taxonomy Terms Deleted Events.
|
474 |
*
|
475 |
+
* @param integer $term_id - Term ID.
|
476 |
+
* @param string $taxonomy - Taxonomy Name.
|
477 |
*/
|
478 |
+
public function check_taxonomy_term_deletion( $term_id, $taxonomy ) {
|
479 |
+
if ( 'post_tag' === $taxonomy ) {
|
480 |
+
$tag = get_tag( $term_id );
|
481 |
+
$this->plugin->alerts->Trigger(
|
482 |
+
2122,
|
483 |
+
array(
|
484 |
+
'TagID' => $term_id,
|
485 |
+
'TagName' => $tag->name,
|
486 |
+
'Slug' => $tag->slug,
|
487 |
+
)
|
488 |
+
);
|
489 |
+
} elseif ( 'category' === $taxonomy ) {
|
490 |
+
$category = get_category( $term_id );
|
491 |
+
$category_link = $this->get_taxonomy_edit_link( $term_id, $taxonomy );
|
492 |
+
$this->plugin->alerts->Trigger(
|
493 |
+
2024,
|
494 |
+
array(
|
495 |
+
'CategoryID' => $term_id,
|
496 |
+
'CategoryName' => $category->cat_name,
|
497 |
+
'Slug' => $category->slug,
|
498 |
+
'CategoryLink' => $category_link,
|
499 |
+
)
|
500 |
+
);
|
501 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
502 |
}
|
503 |
|
504 |
/**
|
505 |
+
* Triggered when term data is updated.
|
506 |
*
|
507 |
+
* @param array $data Term data to be updated.
|
508 |
+
* @param int $term_id Term ID.
|
509 |
+
* @param string $taxonomy Taxonomy slug.
|
510 |
+
* @param array $args Arguments passed to wp_update_term().
|
511 |
*/
|
512 |
+
public function event_update_term_data( $data, $term_id, $taxonomy, $args ) {
|
513 |
+
// Get new data.
|
514 |
+
$new_name = ( isset( $data['name'] ) ) ? $data['name'] : false;
|
515 |
+
$new_slug = ( isset( $data['slug'] ) ) ? $data['slug'] : false;
|
516 |
+
$new_desc = ( isset( $args['description'] ) ) ? $args['description'] : false;
|
517 |
+
$new_parent = ( isset( $args['parent'] ) ) ? $args['parent'] : false;
|
518 |
+
|
519 |
+
// Get old data.
|
520 |
+
$term = get_term( $term_id, $taxonomy );
|
521 |
+
$old_name = $term->name;
|
522 |
+
$old_slug = $term->slug;
|
523 |
+
$old_desc = $term->description;
|
524 |
+
$old_parent = $term->parent;
|
525 |
+
$term_link = $this->get_taxonomy_edit_link( $term_id, $taxonomy );
|
526 |
|
527 |
+
// Check if the taxonomy is `post tag`.
|
528 |
+
if ( 'post_tag' === $taxonomy ) {
|
529 |
+
// Update if both names are not same.
|
530 |
+
if ( $old_name !== $new_name ) {
|
531 |
+
$this->plugin->alerts->Trigger(
|
532 |
+
2123,
|
533 |
+
array(
|
534 |
+
'old_name' => $old_name,
|
535 |
+
'new_name' => $new_name,
|
536 |
+
'TagLink' => $term_link,
|
537 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
538 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
539 |
}
|
540 |
|
541 |
+
// Update if both slugs are not same.
|
542 |
+
if ( $old_slug !== $new_slug ) {
|
543 |
+
$this->plugin->alerts->Trigger(
|
544 |
+
2124,
|
545 |
+
array(
|
546 |
+
'tag' => $new_name,
|
547 |
+
'old_slug' => $old_slug,
|
548 |
+
'new_slug' => $new_slug,
|
549 |
+
'TagLink' => $term_link,
|
550 |
+
)
|
551 |
+
);
|
552 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
553 |
|
554 |
+
// Update if both descriptions are not same.
|
555 |
+
if ( $old_desc !== $new_desc ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
556 |
$this->plugin->alerts->Trigger(
|
557 |
+
2125,
|
558 |
+
array(
|
559 |
+
'tag' => $new_name,
|
560 |
+
'TagLink' => $term_link,
|
561 |
+
'old_desc' => $old_desc,
|
562 |
+
'new_desc' => $new_desc,
|
563 |
+
'ReportText' => $old_desc . '|' . $new_desc,
|
|
|
564 |
)
|
565 |
);
|
566 |
+
}
|
567 |
+
} elseif ( 'category' === $taxonomy ) { // Check if the taxonomy is `category`.
|
568 |
+
// Log event if both names are not same.
|
569 |
+
if ( $old_name !== $new_name ) {
|
570 |
$this->plugin->alerts->Trigger(
|
571 |
+
2127,
|
572 |
+
array(
|
573 |
+
'old_name' => $old_name,
|
574 |
+
'new_name' => $new_name,
|
575 |
+
'cat_link' => $term_link,
|
|
|
|
|
|
|
|
|
|
|
576 |
)
|
577 |
);
|
578 |
}
|
|
|
|
|
|
|
579 |
|
580 |
+
// Log event if both slugs are not same.
|
581 |
+
if ( $old_slug !== $new_slug ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
582 |
$this->plugin->alerts->Trigger(
|
583 |
+
2128,
|
584 |
+
array(
|
585 |
+
'CategoryName' => $new_name,
|
586 |
+
'old_slug' => $old_slug,
|
587 |
+
'new_slug' => $new_slug,
|
588 |
+
'cat_link' => $term_link,
|
|
|
|
|
|
|
|
|
|
|
589 |
)
|
590 |
);
|
|
|
591 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
|
593 |
+
if ( 0 !== $old_parent ) {
|
594 |
+
$old_parent_obj = get_category( $old_parent );
|
595 |
+
$old_parent_name = empty( $old_parent_obj ) ? 'no parent' : $old_parent_obj->name;
|
596 |
+
} else {
|
597 |
+
$old_parent_name = 'no parent';
|
598 |
+
}
|
599 |
+
if ( 0 !== $new_parent ) {
|
600 |
+
$new_parent_obj = get_category( $new_parent );
|
601 |
+
$new_parent_name = empty( $new_parent_obj ) ? 'no parent' : $new_parent_obj->name;
|
602 |
+
} else {
|
603 |
+
$new_parent_name = 'no parent';
|
604 |
+
}
|
605 |
+
|
606 |
+
if ( $old_parent_name !== $new_parent_name ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
$this->plugin->alerts->Trigger(
|
608 |
+
2052,
|
609 |
+
array(
|
610 |
+
'CategoryName' => $new_name,
|
611 |
+
'OldParent' => $old_parent_name,
|
612 |
+
'NewParent' => $new_parent_name,
|
613 |
+
'CategoryLink' => $term_link,
|
|
|
|
|
|
|
|
|
|
|
614 |
)
|
615 |
);
|
|
|
616 |
}
|
617 |
}
|
618 |
+
return $data; // Return data for the filter.
|
619 |
}
|
620 |
|
621 |
/**
|
622 |
+
* Check Page Template Update.
|
623 |
*
|
624 |
+
* @param int $meta_id ID of updated metadata entry.
|
625 |
+
* @param int $post_id Post ID.
|
626 |
+
* @param string $meta_key Meta key.
|
627 |
+
* @param mixed $meta_value Meta value.
|
628 |
*/
|
629 |
+
public function check_template_change( $meta_id, $post_id, $meta_key, $meta_value ) {
|
630 |
+
if ( '_wp_page_template' !== $meta_key ) {
|
631 |
+
return;
|
632 |
+
}
|
633 |
+
|
634 |
+
if ( ! $post_id ) {
|
635 |
+
return;
|
636 |
+
}
|
637 |
+
|
638 |
+
$post = get_post( $post_id );
|
639 |
+
$old_tmpl = ucwords( str_replace( array( '-', '_' ), ' ', basename( $this->_old_tmpl, '.php' ) ) );
|
640 |
+
$new_tmpl_path = $this->get_post_template( $post );
|
641 |
+
$new_tmpl = ucwords( str_replace( array( '-', '_' ), ' ', basename( $new_tmpl_path, '.php' ) ) );
|
642 |
+
|
643 |
+
if ( $old_tmpl !== $new_tmpl ) {
|
644 |
+
$editor_link = $this->get_editor_link( $post );
|
645 |
$this->plugin->alerts->Trigger(
|
646 |
+
2048,
|
647 |
+
array(
|
648 |
'PostID' => $post->ID,
|
649 |
'PostType' => $post->post_type,
|
650 |
'PostTitle' => $post->post_title,
|
651 |
'PostStatus' => $post->post_status,
|
652 |
'PostDate' => $post->post_date,
|
653 |
+
'OldTemplate' => $old_tmpl,
|
654 |
+
'NewTemplate' => $new_tmpl,
|
655 |
+
'OldTemplatePath' => $this->_old_tmpl,
|
656 |
+
'NewTemplatePath' => $new_tmpl_path,
|
657 |
$editor_link['name'] => $editor_link['value'],
|
658 |
)
|
659 |
);
|
|
|
660 |
}
|
661 |
}
|
662 |
|
663 |
/**
|
664 |
+
* Collect old post data before MainWP Post update event.
|
665 |
*
|
666 |
+
* @param array $new_post - Array of new post data.
|
667 |
+
* @param array $post_custom - Array of data related to MainWP.
|
|
|
|
|
668 |
*/
|
669 |
+
public function event_mainwp_init( $new_post, $post_custom ) {
|
670 |
+
// Get post id.
|
671 |
+
$post_id = isset( $post_custom['_mainwp_edit_post_id'][0] ) ? $post_custom['_mainwp_edit_post_id'][0] : false;
|
672 |
+
$post_id = (int) $post_id;
|
|
|
|
|
|
|
|
|
|
|
|
|
673 |
|
674 |
+
// Check if ID exists.
|
675 |
+
if ( $post_id ) {
|
676 |
+
// Get post.
|
677 |
+
$post = get_post( $post_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
678 |
|
679 |
+
// If post exists.
|
680 |
+
if ( ! empty( $post ) ) {
|
681 |
+
$this->_old_post = $post;
|
682 |
+
$this->_old_link = get_permalink( $post_id );
|
683 |
+
$this->_old_tmpl = $this->get_post_template( $this->_old_post );
|
684 |
+
$this->_old_cats = $this->get_post_categories( $this->_old_post );
|
685 |
+
$this->_old_tags = $this->get_post_tags( $this->_old_post );
|
686 |
+
$this->_old_stky = in_array( $post_id, get_option( 'sticky_posts' ), true );
|
687 |
+
}
|
688 |
+
}
|
689 |
+
}
|
690 |
|
691 |
+
/**
|
692 |
+
* Get the template path.
|
693 |
+
*
|
694 |
+
* @param WP_Post $post - The post.
|
695 |
+
* @return string - Full path to file.
|
696 |
+
*/
|
697 |
+
protected function get_post_template( $post ) {
|
698 |
+
if ( ! isset( $post->ID ) ) {
|
699 |
+
return '';
|
700 |
+
}
|
701 |
|
702 |
+
$id = $post->ID;
|
703 |
+
$template = get_page_template_slug( $id );
|
704 |
+
$pagename = $post->post_name;
|
705 |
|
706 |
+
$templates = array();
|
707 |
+
if ( $template && 0 === validate_file( $template ) ) {
|
708 |
+
$templates[] = $template;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
709 |
}
|
710 |
+
if ( $pagename ) {
|
711 |
+
$templates[] = "page-$pagename.php";
|
712 |
+
}
|
713 |
+
if ( $id ) {
|
714 |
+
$templates[] = "page-$id.php";
|
715 |
+
}
|
716 |
+
$templates[] = 'page.php';
|
717 |
+
|
718 |
+
return get_query_template( 'page', $templates );
|
719 |
}
|
720 |
|
721 |
/**
|
722 |
+
* Get post categories (array of category names).
|
723 |
*
|
724 |
+
* @param stdClass $post - The post.
|
725 |
+
* @return array - List of categories.
|
726 |
*/
|
727 |
+
protected function get_post_categories( $post ) {
|
728 |
+
return ! isset( $post->ID ) ? array() : wp_get_post_categories( $post->ID, array( 'fields' => 'names' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
729 |
}
|
730 |
|
731 |
/**
|
732 |
+
* Get post tags (array of tag names).
|
733 |
*
|
734 |
+
* @param stdClass $post - The post.
|
735 |
+
* @return array - List of tags.
|
736 |
*/
|
737 |
+
protected function get_post_tags( $post ) {
|
738 |
+
return ! isset( $post->ID ) ? array() : wp_get_post_tags( $post->ID, array( 'fields' => 'names' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
739 |
}
|
740 |
|
741 |
/**
|
742 |
+
* Check post creation.
|
743 |
+
*
|
744 |
+
* @global array $_POST
|
745 |
*
|
746 |
+
* @param WP_Post $old_post - Old post.
|
747 |
+
* @param WP_Post $new_post - New post.
|
748 |
*/
|
749 |
+
protected function check_post_creation( $old_post, $new_post ) {
|
750 |
+
if ( ! empty( $new_post ) && $new_post instanceof WP_Post ) {
|
751 |
+
$event = 0;
|
752 |
+
$is_scheduled = false;
|
753 |
+
switch ( $new_post->post_status ) {
|
754 |
+
case 'publish':
|
755 |
+
$event = 2001;
|
756 |
+
break;
|
757 |
+
case 'draft':
|
758 |
+
$event = 2000;
|
759 |
+
break;
|
760 |
+
case 'future':
|
761 |
+
$event = 2074;
|
762 |
+
$is_scheduled = true;
|
763 |
+
break;
|
764 |
+
case 'pending':
|
765 |
+
$event = 2073;
|
766 |
+
break;
|
767 |
+
default:
|
768 |
+
break;
|
769 |
+
}
|
770 |
+
if ( $event ) {
|
771 |
+
$editor_link = $this->get_editor_link( $new_post ); // Editor link.
|
772 |
+
$event_data = $this->get_post_event_data( $new_post ); // Post event data.
|
|
|
773 |
|
774 |
+
// Set editor link in the event data.
|
775 |
+
$event_data[ $editor_link['name'] ] = $editor_link['value'];
|
776 |
|
777 |
+
if ( $is_scheduled ) {
|
778 |
+
$event_data['PublishingDate'] = $new_post->post_date;
|
779 |
+
$this->plugin->alerts->Trigger( $event, $event_data );
|
780 |
+
} else {
|
781 |
+
$this->plugin->alerts->Trigger( $event, $event_data );
|
|
|
|
|
|
|
782 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
783 |
}
|
784 |
}
|
785 |
+
}
|
786 |
|
787 |
+
/**
|
788 |
+
* Get editor link.
|
789 |
+
*
|
790 |
+
* @param stdClass $post - The post.
|
791 |
+
* @return array $editor_link - Name and value link.
|
792 |
+
*/
|
793 |
+
private function get_editor_link( $post ) {
|
794 |
+
$name = 'EditorLinkPost';
|
795 |
+
$value = get_edit_post_link( $post->ID );
|
796 |
+
$editor_link = array(
|
797 |
+
'name' => $name,
|
798 |
+
'value' => $value,
|
799 |
+
);
|
800 |
+
return $editor_link;
|
801 |
+
}
|
802 |
+
|
803 |
+
/**
|
804 |
+
* Return Post Event Data.
|
805 |
+
*
|
806 |
+
* @param WP_Post $post - WP Post object.
|
807 |
+
* @return array
|
808 |
+
*/
|
809 |
+
public function get_post_event_data( $post ) {
|
810 |
+
if ( ! empty( $post ) && $post instanceof WP_Post ) {
|
811 |
+
$event_data = array(
|
812 |
+
'PostID' => $post->ID,
|
813 |
+
'PostType' => $post->post_type,
|
814 |
+
'PostTitle' => $post->post_title,
|
815 |
+
'PostStatus' => $post->post_status,
|
816 |
+
'PostDate' => $post->post_date,
|
817 |
+
'PostUrl' => get_permalink( $post->ID ),
|
818 |
);
|
819 |
+
return $event_data;
|
820 |
}
|
821 |
+
return array();
|
822 |
}
|
823 |
|
824 |
/**
|
825 |
+
* Author changed.
|
826 |
*
|
827 |
+
* @param stdClass $oldpost - Old post.
|
828 |
+
* @param stdClass $newpost - New post.
|
829 |
*/
|
830 |
+
protected function check_author_change( $oldpost, $newpost ) {
|
831 |
+
if ( $oldpost->post_author !== $newpost->post_author ) {
|
832 |
+
$editor_link = $this->get_editor_link( $oldpost );
|
833 |
+
$old_author = get_userdata( $oldpost->post_author );
|
834 |
+
$old_author = ( is_object( $old_author ) ) ? $old_author->user_login : 'N/A';
|
835 |
+
$new_author = get_userdata( $newpost->post_author );
|
836 |
+
$new_author = ( is_object( $new_author ) ) ? $new_author->user_login : 'N/A';
|
|
|
|
|
|
|
|
|
|
|
|
|
837 |
$this->plugin->alerts->Trigger(
|
838 |
+
2019,
|
839 |
+
array(
|
840 |
+
'PostID' => $oldpost->ID,
|
841 |
+
'PostType' => $oldpost->post_type,
|
842 |
+
'PostTitle' => $oldpost->post_title,
|
843 |
+
'PostStatus' => $oldpost->post_status,
|
844 |
+
'PostDate' => $oldpost->post_date,
|
845 |
+
'PostUrl' => get_permalink( $oldpost->ID ),
|
846 |
+
'OldAuthor' => $old_author,
|
847 |
+
'NewAuthor' => $new_author,
|
848 |
+
$editor_link['name'] => $editor_link['value'],
|
849 |
)
|
850 |
);
|
851 |
+
return 1;
|
852 |
}
|
853 |
}
|
854 |
|
855 |
/**
|
856 |
+
* Status changed.
|
857 |
*
|
858 |
+
* @param stdClass $oldpost - Old post.
|
859 |
+
* @param stdClass $newpost - New post.
|
860 |
+
* @return integer
|
861 |
*/
|
862 |
+
protected function check_status_change( $oldpost, $newpost ) {
|
863 |
+
if ( $oldpost->post_status !== $newpost->post_status ) {
|
864 |
+
$event = 0;
|
865 |
+
$is_scheduled = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
866 |
|
867 |
+
if ( 'auto-draft' === $oldpost->post_status && 'draft' === $newpost->post_status ) {
|
868 |
+
$event = 2000;
|
869 |
+
} elseif ( 'publish' === $newpost->post_status ) {
|
870 |
+
$event = 2001;
|
871 |
+
} elseif ( 'pending' === $newpost->post_status ) {
|
872 |
+
$event = 2073;
|
873 |
+
} elseif ( 'future' === $newpost->post_status ) {
|
874 |
+
$event = 2074;
|
875 |
+
$is_scheduled = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
876 |
} else {
|
877 |
+
$event = 2021;
|
|
|
|
|
|
|
|
|
878 |
}
|
879 |
|
880 |
+
if ( $event ) {
|
881 |
+
$editor_link = $this->get_editor_link( $newpost ); // Editor link.
|
882 |
+
$event_data = $this->get_post_event_data( $newpost ); // Post event data.
|
883 |
+
|
884 |
+
// Set editor link in the event data.
|
885 |
+
$event_data[ $editor_link['name'] ] = $editor_link['value'];
|
886 |
+
|
887 |
+
if ( $is_scheduled ) {
|
888 |
+
$event_data['PublishingDate'] = $newpost->post_date;
|
889 |
+
$this->plugin->alerts->Trigger( $event, $event_data );
|
890 |
+
} elseif ( 2021 === $event ) {
|
891 |
+
$event_data['OldStatus'] = $oldpost->post_status;
|
892 |
+
$event_data['NewStatus'] = $newpost->post_status;
|
893 |
+
$this->plugin->alerts->Trigger( $event, $event_data );
|
894 |
+
} else {
|
895 |
+
$this->plugin->alerts->Trigger( $event, $event_data );
|
896 |
+
}
|
897 |
}
|
|
|
|
|
898 |
|
899 |
+
return $event;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
900 |
}
|
|
|
901 |
}
|
902 |
|
903 |
/**
|
904 |
+
* Post parent changed.
|
905 |
*
|
906 |
+
* @param stdClass $oldpost - Old post.
|
907 |
+
* @param stdClass $newpost - New post.
|
908 |
*/
|
909 |
+
protected function check_parent_change( $oldpost, $newpost ) {
|
910 |
+
if ( $oldpost->post_parent !== $newpost->post_parent && 'page' === $newpost->post_type ) {
|
911 |
+
$editor_link = $this->get_editor_link( $oldpost );
|
912 |
+
$this->plugin->alerts->Trigger(
|
913 |
+
2047,
|
914 |
+
array(
|
915 |
+
'PostID' => $oldpost->ID,
|
916 |
+
'PostType' => $oldpost->post_type,
|
917 |
+
'PostTitle' => $oldpost->post_title,
|
918 |
+
'PostStatus' => $oldpost->post_status,
|
919 |
+
'PostDate' => $oldpost->post_date,
|
920 |
+
'OldParent' => $oldpost->post_parent,
|
921 |
+
'NewParent' => $newpost->post_parent,
|
922 |
+
'OldParentName' => $oldpost->post_parent ? get_the_title( $oldpost->post_parent ) : 'no parent',
|
923 |
+
'NewParentName' => $newpost->post_parent ? get_the_title( $newpost->post_parent ) : 'no parent',
|
924 |
+
$editor_link['name'] => $editor_link['value'],
|
925 |
+
)
|
926 |
+
);
|
927 |
+
return 1;
|
928 |
}
|
|
|
929 |
}
|
930 |
|
931 |
/**
|
932 |
+
* Permalink changed.
|
933 |
*
|
934 |
+
* @param string $old_link - Old permalink.
|
935 |
+
* @param string $new_link - New permalink.
|
936 |
+
* @param stdClass $post - The post.
|
937 |
*/
|
938 |
+
protected function check_permalink_change( $old_link, $new_link, $post ) {
|
939 |
+
if ( $old_link !== $new_link ) {
|
940 |
+
$editor_link = $this->get_editor_link( $post );
|
941 |
+
$this->plugin->alerts->Trigger(
|
942 |
+
2017,
|
943 |
+
array(
|
944 |
+
'PostID' => $post->ID,
|
945 |
+
'PostType' => $post->post_type,
|
946 |
+
'PostTitle' => $post->post_title,
|
947 |
+
'PostStatus' => $post->post_status,
|
948 |
+
'PostDate' => $post->post_date,
|
949 |
+
'OldUrl' => $old_link,
|
950 |
+
'NewUrl' => $new_link,
|
951 |
+
$editor_link['name'] => $editor_link['value'],
|
952 |
+
'ReportText' => '"' . $old_link . '"|"' . $new_link . '"',
|
953 |
+
)
|
954 |
+
);
|
955 |
+
return 1;
|
956 |
}
|
957 |
+
return 0;
|
958 |
}
|
959 |
|
960 |
/**
|
961 |
+
* Post visibility changed.
|
962 |
*
|
963 |
+
* @param stdClass $oldpost - Old post.
|
964 |
+
* @param stdClass $newpost - New post.
|
965 |
+
* @param string $old_status - Old status.
|
966 |
+
* @param string $new_status - New status.
|
967 |
*/
|
968 |
+
protected function check_visibility_change( $oldpost, $newpost, $old_status, $new_status ) {
|
969 |
+
if ( 'draft' === $old_status || 'draft' === $new_status ) {
|
970 |
+
return;
|
|
|
|
|
971 |
}
|
|
|
972 |
|
973 |
+
$old_visibility = '';
|
974 |
+
$new_visibility = '';
|
975 |
+
|
976 |
+
if ( $oldpost->post_password ) {
|
977 |
+
$old_visibility = __( 'Password Protected', 'wp-security-audit-log' );
|
978 |
+
} elseif ( 'publish' === $old_status ) {
|
979 |
+
$old_visibility = __( 'Public', 'wp-security-audit-log' );
|
980 |
+
} elseif ( 'private' === $old_status ) {
|
981 |
+
$old_visibility = __( 'Private', 'wp-security-audit-log' );
|
982 |
+
}
|
983 |
+
|
984 |
+
if ( $newpost->post_password ) {
|
985 |
+
$new_visibility = __( 'Password Protected', 'wp-security-audit-log' );
|
986 |
+
} elseif ( 'publish' === $new_status ) {
|
987 |
+
$new_visibility = __( 'Public', 'wp-security-audit-log' );
|
988 |
+
} elseif ( 'private' === $new_status ) {
|
989 |
+
$new_visibility = __( 'Private', 'wp-security-audit-log' );
|
990 |
+
}
|
991 |
+
|
992 |
+
if ( $old_visibility && $new_visibility && ( $old_visibility !== $new_visibility ) ) {
|
993 |
+
$editor_link = $this->get_editor_link( $oldpost );
|
994 |
+
$this->plugin->alerts->Trigger(
|
995 |
+
2025,
|
996 |
+
array(
|
997 |
+
'PostID' => $oldpost->ID,
|
998 |
+
'PostType' => $oldpost->post_type,
|
999 |
+
'PostTitle' => $oldpost->post_title,
|
1000 |
+
'PostStatus' => $newpost->post_status,
|
1001 |
+
'PostDate' => $oldpost->post_date,
|
1002 |
+
'PostUrl' => get_permalink( $oldpost->ID ),
|
1003 |
+
'OldVisibility' => $old_visibility,
|
1004 |
+
'NewVisibility' => $new_visibility,
|
1005 |
+
$editor_link['name'] => $editor_link['value'],
|
1006 |
+
)
|
1007 |
+
);
|
1008 |
+
return 1;
|
1009 |
}
|
1010 |
}
|
1011 |
|
1012 |
/**
|
1013 |
+
* Post date changed.
|
|
|
1014 |
*
|
1015 |
+
* @param stdClass $oldpost - Old post.
|
1016 |
+
* @param stdClass $newpost - New post.
|
1017 |
*/
|
1018 |
+
protected function check_date_change( $oldpost, $newpost ) {
|
1019 |
+
$from = strtotime( $oldpost->post_date );
|
1020 |
+
$to = strtotime( $newpost->post_date );
|
1021 |
+
|
1022 |
+
if ( 'draft' === $oldpost->post_status || 'pending' === $oldpost->post_status ) {
|
1023 |
+
return 0;
|
1024 |
}
|
1025 |
+
|
1026 |
+
if ( $from !== $to ) {
|
1027 |
+
$editor_link = $this->get_editor_link( $oldpost );
|
1028 |
+
$this->plugin->alerts->Trigger(
|
1029 |
+
2027,
|
1030 |
+
array(
|
1031 |
+
'PostID' => $oldpost->ID,
|
1032 |
+
'PostType' => $oldpost->post_type,
|
1033 |
+
'PostTitle' => $oldpost->post_title,
|
1034 |
+
'PostStatus' => $oldpost->post_status,
|
1035 |
+
'PostDate' => $newpost->post_date,
|
1036 |
+
'PostUrl' => get_permalink( $oldpost->ID ),
|
1037 |
+
'OldDate' => $oldpost->post_date,
|
1038 |
+
'NewDate' => $newpost->post_date,
|
1039 |
+
$editor_link['name'] => $editor_link['value'],
|
1040 |
+
)
|
1041 |
+
);
|
1042 |
+
return 1;
|
1043 |
}
|
1044 |
+
return 0;
|
1045 |
}
|
1046 |
|
1047 |
/**
|
1048 |
+
* Comments/Trackbacks and Pingbacks check.
|
1049 |
*
|
1050 |
+
* @param stdClass $oldpost - Old post.
|
1051 |
+
* @param stdClass $newpost - New post.
|
|
|
1052 |
*/
|
1053 |
+
private function check_comments_pings( $oldpost, $newpost ) {
|
1054 |
+
$result = 0;
|
1055 |
+
$editor_link = $this->get_editor_link( $newpost );
|
|
|
1056 |
|
1057 |
+
// Comments.
|
1058 |
+
if ( $oldpost->comment_status !== $newpost->comment_status ) {
|
1059 |
+
$type = 'Comments';
|
1060 |
|
1061 |
+
if ( 'open' === $newpost->comment_status ) {
|
1062 |
+
$event = $this->get_comments_pings_event( $newpost, 'enable' );
|
1063 |
+
} else {
|
1064 |
+
$event = $this->get_comments_pings_event( $newpost, 'disable' );
|
1065 |
+
}
|
1066 |
+
|
1067 |
+
$this->plugin->alerts->Trigger(
|
1068 |
+
$event,
|
1069 |
+
array(
|
1070 |
+
'Type' => $type,
|
1071 |
+
'PostID' => $newpost->ID,
|
1072 |
+
'PostType' => $newpost->post_type,
|
1073 |
+
'PostStatus' => $newpost->post_status,
|
1074 |
+
'PostDate' => $newpost->post_date,
|
1075 |
+
'PostTitle' => $newpost->post_title,
|
1076 |
+
'PostStatus' => $newpost->post_status,
|
1077 |
+
'PostUrl' => get_permalink( $newpost->ID ),
|
1078 |
+
$editor_link['name'] => $editor_link['value'],
|
1079 |
+
)
|
1080 |
+
);
|
1081 |
+
$result = 1;
|
1082 |
+
}
|
1083 |
+
// Trackbacks and Pingbacks.
|
1084 |
+
if ( $oldpost->ping_status !== $newpost->ping_status ) {
|
1085 |
+
$type = 'Trackbacks and Pingbacks';
|
1086 |
+
|
1087 |
+
if ( 'open' === $newpost->ping_status ) {
|
1088 |
+
$event = $this->get_comments_pings_event( $newpost, 'enable' );
|
1089 |
+
} else {
|
1090 |
+
$event = $this->get_comments_pings_event( $newpost, 'disable' );
|
1091 |
}
|
1092 |
+
|
1093 |
+
$this->plugin->alerts->Trigger(
|
1094 |
+
$event,
|
1095 |
+
array(
|
1096 |
+
'Type' => $type,
|
1097 |
+
'PostID' => $newpost->ID,
|
1098 |
+
'PostType' => $newpost->post_type,
|
1099 |
+
'PostTitle' => $newpost->post_title,
|
1100 |
+
'PostStatus' => $newpost->post_status,
|
1101 |
+
'PostDate' => $newpost->post_date,
|
1102 |
+
'PostUrl' => get_permalink( $newpost->ID ),
|
1103 |
+
$editor_link['name'] => $editor_link['value'],
|
1104 |
+
)
|
1105 |
+
);
|
1106 |
+
$result = 1;
|
1107 |
}
|
1108 |
+
return $result;
|
1109 |
}
|
1110 |
|
1111 |
/**
|
1112 |
+
* Categories changed.
|
1113 |
*
|
1114 |
+
* @param array $old_cats - Old categories.
|
1115 |
+
* @param array $new_cats - New categories.
|
1116 |
+
* @param WP_Post $post - The post.
|
1117 |
*/
|
1118 |
+
protected function check_categories_change( $old_cats, $new_cats, $post ) {
|
1119 |
+
$old_cats = implode( ', ', (array) $old_cats );
|
1120 |
+
$new_cats = implode( ', ', (array) $new_cats );
|
1121 |
+
|
1122 |
+
if ( $old_cats !== $new_cats && 'page' !== $post->post_type ) {
|
1123 |
+
$editor_link = $this->get_editor_link( $post );
|
1124 |
+
$alert_data = array(
|
1125 |
+
'PostID' => $post->ID,
|
1126 |
+
'PostType' => $post->post_type,
|
1127 |
+
'PostTitle' => $post->post_title,
|
1128 |
+
'PostStatus' => $post->post_status,
|
1129 |
+
'PostDate' => $post->post_date,
|
1130 |
+
'PostUrl' => get_permalink( $post->ID ),
|
1131 |
+
'OldCategories' => $old_cats ? $old_cats : 'no categories',
|
1132 |
+
'NewCategories' => $new_cats ? $new_cats : 'no categories',
|
1133 |
+
$editor_link['name'] => $editor_link['value'],
|
1134 |
+
);
|
1135 |
+
$this->plugin->alerts->Trigger( 2016, $alert_data );
|
1136 |
+
return 1;
|
1137 |
}
|
|
|
1138 |
}
|
1139 |
|
1140 |
/**
|
1141 |
+
* Tags changed.
|
1142 |
*
|
1143 |
+
* @param array $old_tags - Old tags.
|
1144 |
+
* @param array $new_tags - New tags.
|
1145 |
+
* @param WP_Post $post - The post.
|
1146 |
*/
|
1147 |
+
protected function check_tags_change( $old_tags, $new_tags, $post ) {
|
1148 |
+
// Check for added tags.
|
1149 |
+
$added_tags = array_diff( (array) $new_tags, (array) $old_tags );
|
1150 |
|
1151 |
+
// Check for removed tags.
|
1152 |
+
$removed_tags = array_diff( (array) $old_tags, (array) $new_tags );
|
|
|
1153 |
|
1154 |
+
// Convert tags arrays to string.
|
1155 |
+
$old_tags = implode( ', ', (array) $old_tags );
|
1156 |
+
$new_tags = implode( ', ', (array) $new_tags );
|
1157 |
+
$added_tags = implode( ', ', $added_tags );
|
1158 |
+
$removed_tags = implode( ', ', $removed_tags );
|
1159 |
|
1160 |
+
// Declare event variables.
|
1161 |
+
$add_event = '';
|
1162 |
+
$remove_event = '';
|
1163 |
+
if ( $old_tags !== $new_tags && ! empty( $added_tags ) ) {
|
1164 |
+
$add_event = 2119;
|
1165 |
+
$editor_link = $this->get_editor_link( $post );
|
1166 |
+
$post_status = ( 'publish' === $post->post_status ) ? 'published' : $post->post_status;
|
1167 |
+
$this->plugin->alerts->Trigger(
|
1168 |
+
$add_event,
|
1169 |
+
array(
|
1170 |
+
'PostID' => $post->ID,
|
1171 |
+
'PostType' => $post->post_type,
|
1172 |
+
'PostStatus' => $post_status,
|
1173 |
+
'PostTitle' => $post->post_title,
|
1174 |
+
'PostDate' => $post->post_date,
|
1175 |
+
'PostUrl' => get_permalink( $post->ID ),
|
1176 |
+
'tag' => $added_tags ? $added_tags : 'no tags',
|
1177 |
+
$editor_link['name'] => $editor_link['value'],
|
1178 |
+
)
|
1179 |
+
);
|
1180 |
}
|
1181 |
|
1182 |
+
if ( $old_tags !== $new_tags && ! empty( $removed_tags ) ) {
|
1183 |
+
$remove_event = 2120;
|
1184 |
+
$editor_link = $this->get_editor_link( $post );
|
1185 |
+
$post_status = ( 'publish' === $post->post_status ) ? 'published' : $post->post_status;
|
1186 |
+
$this->plugin->alerts->Trigger(
|
1187 |
+
$remove_event,
|
1188 |
+
array(
|
1189 |
+
'PostID' => $post->ID,
|
1190 |
+
'PostType' => $post->post_type,
|
1191 |
+
'PostStatus' => $post_status,
|
1192 |
+
'PostTitle' => $post->post_title,
|
1193 |
+
'PostDate' => $post->post_date,
|
1194 |
+
'PostUrl' => get_permalink( $post->ID ),
|
1195 |
+
'tag' => $removed_tags ? $removed_tags : 'no tags',
|
1196 |
+
$editor_link['name'] => $editor_link['value'],
|
1197 |
+
)
|
1198 |
+
);
|
1199 |
+
}
|
1200 |
|
1201 |
+
if ( $add_event || $remove_event ) {
|
1202 |
+
return 1;
|
1203 |
}
|
1204 |
}
|
1205 |
|
1206 |
/**
|
1207 |
+
* Post modified content.
|
1208 |
*
|
1209 |
+
* @param integer $post_id – Post ID.
|
1210 |
+
* @param stdClass $oldpost – Old post.
|
1211 |
+
* @param stdClass $newpost – New post.
|
1212 |
+
* @param int $modified – Set to 0 if no changes done to the post.
|
1213 |
*/
|
1214 |
+
public function check_modification_change( $post_id, $oldpost, $newpost, $modified ) {
|
1215 |
+
if ( $this->check_other_sensors( $oldpost ) ) {
|
1216 |
return;
|
1217 |
}
|
1218 |
|
1219 |
+
if ( $this->check_title_change( $oldpost, $newpost ) ) {
|
1220 |
+
return;
|
|
|
1221 |
}
|
1222 |
|
1223 |
+
$content_changed = $oldpost->post_content != $newpost->post_content;
|
|
|
1224 |
|
1225 |
+
if ( $oldpost->post_modified !== $newpost->post_modified ) {
|
1226 |
+
$event = 0;
|
1227 |
+
|
1228 |
+
if ( $content_changed ) { // Check if content changed.
|
1229 |
+
$event = 2065;
|
1230 |
+
} elseif ( ! $modified ) {
|
1231 |
+
$event = 2002;
|
1232 |
+
}
|
1233 |
+
|
1234 |
+
if ( $event ) {
|
1235 |
+
if ( 2002 === $event ) {
|
1236 |
+
// Get Yoast alerts.
|
1237 |
+
$yoast_alerts = $this->plugin->alerts->get_alerts_by_sub_category( 'Yoast SEO' );
|
1238 |
+
|
1239 |
+
// Check all alerts.
|
1240 |
+
foreach ( $yoast_alerts as $alert_code => $alert ) {
|
1241 |
+
if ( $this->plugin->alerts->WillOrHasTriggered( $alert_code ) ) {
|
1242 |
+
return 0; // Return if any Yoast alert has or will trigger.
|
1243 |
+
}
|
1244 |
+
}
|
1245 |
+
|
1246 |
+
// Get post meta events.
|
1247 |
+
$meta_events = array( 2053, 2054, 2055, 2062 );
|
1248 |
+
foreach ( $meta_events as $meta_event ) {
|
1249 |
+
if ( $this->plugin->alerts->WillOrHasTriggered( $meta_event ) ) {
|
1250 |
+
return 0; // Return if any meta event has or will trigger.
|
1251 |
+
}
|
1252 |
+
}
|
1253 |
+
}
|
1254 |
+
|
1255 |
+
$event_data = $this->get_post_event_data( $oldpost );
|
1256 |
+
$editor_link = $this->get_editor_link( $oldpost );
|
1257 |
+
$event_data[ $editor_link['name'] ] = $editor_link['value'];
|
1258 |
+
$event_data['RevisionLink'] = $this->get_post_revision( $post_id, $oldpost );
|
1259 |
+
|
1260 |
+
if ( 2002 === $event ) {
|
1261 |
+
$this->plugin->alerts->TriggerIf( $event, $event_data, array( $this, 'must_not_contain_events' ) );
|
1262 |
+
} else {
|
1263 |
+
$this->plugin->alerts->Trigger( $event, $event_data );
|
1264 |
+
}
|
1265 |
}
|
1266 |
}
|
1267 |
}
|
1268 |
|
1269 |
/**
|
1270 |
+
* Ignore post from BBPress, WooCommerce Plugin
|
1271 |
+
* Triggered on the Sensors
|
1272 |
*
|
1273 |
+
* @param WP_Post $post - The post.
|
|
|
1274 |
*/
|
1275 |
+
private function check_other_sensors( $post ) {
|
1276 |
+
if ( empty( $post ) || ! isset( $post->post_type ) ) {
|
1277 |
+
return false;
|
1278 |
+
}
|
1279 |
+
switch ( $post->post_type ) {
|
1280 |
+
case 'forum':
|
1281 |
+
case 'topic':
|
1282 |
+
case 'reply':
|
1283 |
+
case 'product':
|
1284 |
+
case 'shop_order':
|
1285 |
+
case 'shop_coupon':
|
1286 |
return true;
|
1287 |
+
default:
|
1288 |
+
return false;
|
1289 |
}
|
|
|
1290 |
}
|
1291 |
|
1292 |
/**
|
1295 |
* @param stdClass $oldpost - Old post.
|
1296 |
* @param stdClass $newpost - New post.
|
1297 |
*/
|
1298 |
+
private function check_title_change( $oldpost, $newpost ) {
|
1299 |
if ( $oldpost->post_title !== $newpost->post_title ) {
|
1300 |
+
$editor_link = $this->get_editor_link( $oldpost );
|
1301 |
$this->plugin->alerts->Trigger(
|
1302 |
+
2086,
|
1303 |
+
array(
|
1304 |
'PostID' => $newpost->ID,
|
1305 |
'PostType' => $newpost->post_type,
|
1306 |
'PostTitle' => $newpost->post_title,
|
1318 |
}
|
1319 |
|
1320 |
/**
|
1321 |
+
* Return post revision link.
|
1322 |
*
|
1323 |
+
* @param integer $post_id - Post ID.
|
1324 |
+
* @param WP_Post $post - WP Post object.
|
1325 |
+
* @return string
|
1326 |
*/
|
1327 |
+
private function get_post_revision( $post_id, $post ) {
|
1328 |
+
$revisions = wp_get_post_revisions( $post_id );
|
1329 |
+
if ( ! empty( $revisions ) ) {
|
1330 |
+
$revision = array_shift( $revisions );
|
1331 |
+
return $this->get_revision_link( $revision->ID );
|
1332 |
+
}
|
1333 |
+
}
|
1334 |
|
1335 |
+
/**
|
1336 |
+
* Builds revision link.
|
1337 |
+
*
|
1338 |
+
* @param integer $revision_id - Revision ID.
|
1339 |
+
* @return string|null - Link.
|
1340 |
+
*/
|
1341 |
+
private function get_revision_link( $revision_id ) {
|
1342 |
+
return ! empty( $revision_id ) ? add_query_arg( 'revision', $revision_id, admin_url( 'revision.php' ) ) : null;
|
1343 |
+
}
|
1344 |
|
1345 |
+
/**
|
1346 |
+
* Method: This function make sures that alert 2016
|
1347 |
+
* has not been triggered before triggering categories
|
1348 |
+
* & tags events.
|
1349 |
+
*
|
1350 |
+
* @param WSAL_AlertManager $manager - WSAL Alert Manager.
|
1351 |
+
* @return bool
|
1352 |
+
*/
|
1353 |
+
public function must_not_contain_events( WSAL_AlertManager $manager ) {
|
1354 |
+
if ( $manager->WillOrHasTriggered( 2016 ) ) {
|
1355 |
+
return false;
|
1356 |
+
} elseif ( $manager->WillOrHasTriggered( 2119 ) ) {
|
1357 |
+
return false;
|
1358 |
+
} elseif ( $manager->WillOrHasTriggered( 2120 ) ) {
|
1359 |
+
return false;
|
1360 |
+
} elseif ( $manager->WillOrHasTriggered( 2049 ) ) {
|
1361 |
+
return false;
|
1362 |
+
} elseif ( $manager->WillOrHasTriggered( 2050 ) ) {
|
1363 |
+
return false;
|
1364 |
+
}
|
1365 |
+
return true;
|
1366 |
+
}
|
1367 |
|
1368 |
+
/**
|
1369 |
+
* Log post stuck/unstuck events.
|
1370 |
+
*
|
1371 |
+
* @param integer $post_id - Post ID.
|
1372 |
+
* @param integer $event - Event ID.
|
1373 |
+
*/
|
1374 |
+
private function log_sticky_post_event( $post_id, $event ) {
|
1375 |
+
// Get post.
|
1376 |
+
$post = get_post( $post_id );
|
1377 |
+
|
1378 |
+
if ( is_wp_error( $post ) ) {
|
1379 |
+
return;
|
|
|
1380 |
}
|
|
|
|
|
|
|
1381 |
|
1382 |
+
$editor_link = $this->get_editor_link( $post ); // Editor link.
|
1383 |
+
$event_data = $this->get_post_event_data( $post ); // Event data.
|
|
|
|
|
|
|
1384 |
|
1385 |
+
$event_data[ $editor_link['name'] ] = $editor_link['value'];
|
1386 |
+
$this->plugin->alerts->Trigger( $event, $event_data );
|
1387 |
+
}
|
1388 |
+
|
1389 |
+
/**
|
1390 |
+
* Check auto draft and the setting: Hide Plugin in Plugins Page
|
1391 |
+
*
|
1392 |
+
* @param integer $code - Alert code.
|
1393 |
+
* @param string $title - Title.
|
1394 |
+
* @return boolean
|
1395 |
+
*/
|
1396 |
+
private function check_auto_draft( $code, $title ) {
|
1397 |
+
if ( 2008 === $code && 'auto-draft' === $title ) {
|
1398 |
+
return 1 === (int) $this->plugin->settings->IsWPBackend();
|
1399 |
}
|
1400 |
+
return false;
|
1401 |
}
|
1402 |
|
1403 |
/**
|
1406 |
* @param stdClass $post - The post.
|
1407 |
* @param string $status - The status.
|
1408 |
*/
|
1409 |
+
private function get_comments_pings_event( $post, $status ) {
|
1410 |
+
if ( 'disable' === $status ) {
|
1411 |
$event = 2111;
|
1412 |
} else {
|
1413 |
$event = 2112;
|
1416 |
}
|
1417 |
|
1418 |
/**
|
1419 |
+
* Post Opened for Editing in WP Editors.
|
1420 |
*
|
1421 |
+
* @param WP_Post $post – Post object.
|
|
|
|
|
|
|
1422 |
*/
|
1423 |
+
public function post_opened_in_editor( $post ) {
|
1424 |
+
if ( empty( $post ) || ! $post instanceof WP_Post ) {
|
|
|
1425 |
return;
|
1426 |
}
|
1427 |
|
1428 |
+
// Check other sensors.
|
1429 |
+
if ( $this->check_other_sensors( $post ) ) {
|
1430 |
+
return $post;
|
1431 |
+
}
|
1432 |
+
|
1433 |
+
$current_path = isset( $_SERVER['SCRIPT_NAME'] ) ? esc_url_raw( wp_unslash( $_SERVER['SCRIPT_NAME'] ) ) . '?post=' . $post->ID : false;
|
1434 |
+
$referrer = isset( $_SERVER['HTTP_REFERER'] ) ? esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) : false;
|
1435 |
+
|
1436 |
+
if ( ! empty( $referrer )
|
1437 |
+
&& strpos( $referrer, $current_path ) !== false ) {
|
1438 |
+
// Ignore this if we were on the same page so we avoid double audit entries.
|
1439 |
+
return $post;
|
1440 |
+
}
|
1441 |
+
if ( ! empty( $post->post_title ) ) {
|
1442 |
+
$event = 2100;
|
1443 |
+
if ( ! $this->was_triggered( $event ) ) {
|
1444 |
+
$editor_link = $this->get_editor_link( $post );
|
|
|
1445 |
$this->plugin->alerts->Trigger(
|
1446 |
+
$event,
|
1447 |
+
array(
|
1448 |
'PostID' => $post->ID,
|
1449 |
'PostType' => $post->post_type,
|
1450 |
'PostTitle' => $post->post_title,
|
1451 |
'PostStatus' => $post->post_status,
|
1452 |
'PostDate' => $post->post_date,
|
1453 |
'PostUrl' => get_permalink( $post->ID ),
|
|
|
|
|
1454 |
$editor_link['name'] => $editor_link['value'],
|
1455 |
)
|
1456 |
);
|
1459 |
}
|
1460 |
|
1461 |
/**
|
1462 |
+
* Check if the alert was triggered.
|
1463 |
*
|
1464 |
+
* @param integer|array $alert_id - Alert code.
|
1465 |
+
* @return boolean
|
1466 |
*/
|
1467 |
+
private function was_triggered( $alert_id ) {
|
1468 |
+
$query = new WSAL_Models_OccurrenceQuery();
|
1469 |
+
$query->addOrderBy( 'created_on', true );
|
1470 |
+
$query->setLimit( 1 );
|
1471 |
+
$last_occurence = $query->getAdapter()->Execute( $query );
|
1472 |
+
|
1473 |
+
if ( ! empty( $last_occurence ) ) {
|
1474 |
+
if ( ! is_array( $alert_id ) && $last_occurence[0]->alert_id === $alert_id ) {
|
1475 |
+
return true;
|
1476 |
+
} elseif ( is_array( $alert_id ) && in_array( $last_occurence[0]->alert_id, $alert_id, true ) ) {
|
1477 |
+
return true;
|
1478 |
+
}
|
1479 |
+
}
|
1480 |
+
|
1481 |
+
return false;
|
1482 |
}
|
1483 |
|
1484 |
/**
|
1485 |
+
* Builds category link.
|
1486 |
*
|
1487 |
+
* @param integer $tag_id - Tag ID.
|
1488 |
+
* @param string $taxonomy - Taxonomy.
|
1489 |
+
* @return string|null - Link.
|
1490 |
*/
|
1491 |
+
private function get_taxonomy_edit_link( $tag_id, $taxonomy = 'post_tag' ) {
|
1492 |
+
$tag_args = array(
|
1493 |
+
'taxonomy' => $taxonomy,
|
1494 |
+
'tag_ID' => $tag_id,
|
1495 |
+
);
|
1496 |
+
return ! empty( $tag_id ) ? add_query_arg( $tag_args, admin_url( 'term.php' ) ) : null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1497 |
}
|
1498 |
}
|
classes/Sensors/Files.php
CHANGED
@@ -39,15 +39,7 @@ class WSAL_Sensors_Files extends WSAL_AbstractSensor {
|
|
39 |
public function HookEvents() {
|
40 |
add_action( 'add_attachment', array( $this, 'EventFileUploaded' ) );
|
41 |
add_action( 'delete_attachment', array( $this, 'EventFileUploadedDeleted' ) );
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Commenting the code to detect file changes in plugins and themes.
|
45 |
-
*
|
46 |
-
* @todo Figure out a way to detect changes in files of plugins and themes.
|
47 |
-
* With the introduction of the new code editor in 4.9 the previous code
|
48 |
-
* stopped working.
|
49 |
-
*/
|
50 |
-
// add_action( 'admin_init', array( $this, 'EventAdminInit' ) );
|
51 |
}
|
52 |
|
53 |
/**
|
@@ -65,8 +57,8 @@ class WSAL_Sensors_Files extends WSAL_AbstractSensor {
|
|
65 |
$this->plugin->alerts->Trigger(
|
66 |
2010, array(
|
67 |
'AttachmentID' => $attachment_id,
|
68 |
-
'FileName'
|
69 |
-
'FilePath'
|
70 |
)
|
71 |
);
|
72 |
}
|
@@ -86,41 +78,50 @@ class WSAL_Sensors_Files extends WSAL_AbstractSensor {
|
|
86 |
$this->plugin->alerts->Trigger(
|
87 |
2011, array(
|
88 |
'AttachmentID' => $attachment_id,
|
89 |
-
'FileName'
|
90 |
-
'FilePath'
|
91 |
)
|
92 |
);
|
93 |
}
|
94 |
|
95 |
/**
|
96 |
-
*
|
|
|
|
|
97 |
*/
|
98 |
public function EventAdminInit() {
|
99 |
-
//
|
100 |
-
$
|
101 |
-
$
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
'File' => $post_array['file'],
|
112 |
-
'Theme' => $post_array['theme'],
|
113 |
-
)
|
114 |
-
);
|
115 |
-
}
|
116 |
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
)
|
123 |
-
|
124 |
}
|
125 |
}
|
126 |
}
|
39 |
public function HookEvents() {
|
40 |
add_action( 'add_attachment', array( $this, 'EventFileUploaded' ) );
|
41 |
add_action( 'delete_attachment', array( $this, 'EventFileUploadedDeleted' ) );
|
42 |
+
add_action( 'admin_init', array( $this, 'EventAdminInit' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
}
|
44 |
|
45 |
/**
|
57 |
$this->plugin->alerts->Trigger(
|
58 |
2010, array(
|
59 |
'AttachmentID' => $attachment_id,
|
60 |
+
'FileName' => basename( $file ),
|
61 |
+
'FilePath' => dirname( $file ),
|
62 |
)
|
63 |
);
|
64 |
}
|
78 |
$this->plugin->alerts->Trigger(
|
79 |
2011, array(
|
80 |
'AttachmentID' => $attachment_id,
|
81 |
+
'FileName' => basename( $file ),
|
82 |
+
'FilePath' => dirname( $file ),
|
83 |
)
|
84 |
);
|
85 |
}
|
86 |
|
87 |
/**
|
88 |
+
* File Changes Event.
|
89 |
+
*
|
90 |
+
* Detect file changes in plugins/themes using plugin/theme editor.
|
91 |
*/
|
92 |
public function EventAdminInit() {
|
93 |
+
// @codingStandardsIgnoreStart
|
94 |
+
$nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : false;
|
95 |
+
$file = isset( $_POST['file'] ) ? sanitize_text_field( wp_unslash( $_POST['file'] ) ) : false;
|
96 |
+
$action = isset( $_POST['action'] ) ? sanitize_text_field( wp_unslash( $_POST['action'] ) ) : false;
|
97 |
+
$referer = isset( $_POST['_wp_http_referer'] ) ? sanitize_text_field( wp_unslash( $_POST['_wp_http_referer'] ) ) : false;
|
98 |
+
$referer = remove_query_arg( array( 'file', 'theme', 'plugin' ), $referer );
|
99 |
+
$referer = basename( $referer, '.php' );
|
100 |
+
// @codingStandardsIgnoreEnd
|
101 |
|
102 |
+
if ( 'edit-theme-plugin-file' === $action ) {
|
103 |
+
if ( 'plugin-editor' === $referer && wp_verify_nonce( $nonce, 'edit-plugin_' . $file ) ) {
|
104 |
+
$plugin = isset( $_POST['plugin'] ) ? sanitize_text_field( wp_unslash( $_POST['plugin'] ) ) : false;
|
105 |
+
$this->plugin->alerts->Trigger(
|
106 |
+
2051, array(
|
107 |
+
'File' => $file,
|
108 |
+
'Plugin' => $plugin,
|
109 |
+
)
|
110 |
+
);
|
111 |
+
} elseif ( 'theme-editor' === $referer ) {
|
112 |
+
$stylesheet = isset( $_POST['theme'] ) ? sanitize_text_field( wp_unslash( $_POST['theme'] ) ) : false;
|
113 |
|
114 |
+
if ( ! wp_verify_nonce( $nonce, 'edit-theme_' . $stylesheet . '_' . $file ) ) {
|
115 |
+
return;
|
116 |
+
}
|
|
|
|
|
|
|
|
|
|
|
117 |
|
118 |
+
$this->plugin->alerts->Trigger(
|
119 |
+
2046, array(
|
120 |
+
'File' => $file,
|
121 |
+
'Theme' => $stylesheet,
|
122 |
+
)
|
123 |
+
);
|
124 |
+
}
|
125 |
}
|
126 |
}
|
127 |
}
|
classes/Sensors/LogInOut.php
CHANGED
@@ -57,6 +57,10 @@ class WSAL_Sensors_LogInOut extends WSAL_AbstractSensor {
|
|
57 |
add_action( 'login_redirect', array( $this, 'event_2fa_login' ), 10, 1 );
|
58 |
}
|
59 |
|
|
|
|
|
|
|
|
|
60 |
// Directory for logged in users log files.
|
61 |
$user_upload_dir = wp_upload_dir();
|
62 |
$failed_login_dir = trailingslashit( $user_upload_dir['basedir'] . '/wp-security-audit-log/failed-logins/' );
|
@@ -178,7 +182,7 @@ class WSAL_Sensors_LogInOut extends WSAL_AbstractSensor {
|
|
178 |
$user_roles = $this->plugin->settings->GetCurrentUserRoles( $user->roles );
|
179 |
$this->plugin->alerts->Trigger(
|
180 |
4003, array(
|
181 |
-
'Username'
|
182 |
'CurrentUserRoles' => $user_roles,
|
183 |
), true
|
184 |
);
|
@@ -206,7 +210,7 @@ class WSAL_Sensors_LogInOut extends WSAL_AbstractSensor {
|
|
206 |
* Event Logout.
|
207 |
*/
|
208 |
public function EventLogout() {
|
209 |
-
if (
|
210 |
$this->plugin->alerts->Trigger(
|
211 |
1001, array(
|
212 |
'CurrentUserID' => $this->_current_user->ID,
|
@@ -258,14 +262,14 @@ class WSAL_Sensors_LogInOut extends WSAL_AbstractSensor {
|
|
258 |
return false;
|
259 |
} else {
|
260 |
$data_known = $get_fn( self::TRANSIENT_FAILEDLOGINS );
|
261 |
-
return ( false !== $data_known ) && isset( $data_known[ $site_id . ':' . $user->ID . ':' . $ip ] ) && ($data_known[ $site_id . ':' . $user->ID . ':' . $ip ] >= $this->GetLoginFailureLogLimit());
|
262 |
}
|
263 |
} else {
|
264 |
if ( -1 === (int) $this->GetVisitorLoginFailureLogLimit() ) {
|
265 |
return false;
|
266 |
} else {
|
267 |
$data_unknown = $get_fn( self::TRANSIENT_FAILEDLOGINS_UNKNOWN );
|
268 |
-
return ( false !== $data_unknown ) && isset( $data_unknown[ $site_id . ':' . $ip ] ) && ($data_unknown[ $site_id . ':' . $ip ] >= $this->GetVisitorLoginFailureLogLimit());
|
269 |
}
|
270 |
}
|
271 |
}
|
@@ -376,8 +380,8 @@ class WSAL_Sensors_LogInOut extends WSAL_AbstractSensor {
|
|
376 |
// Create a new record exists user.
|
377 |
$this->plugin->alerts->Trigger(
|
378 |
$new_alert_code, array(
|
379 |
-
'Attempts'
|
380 |
-
'Username'
|
381 |
'CurrentUserRoles' => $user_roles,
|
382 |
)
|
383 |
);
|
@@ -509,4 +513,31 @@ class WSAL_Sensors_LogInOut extends WSAL_AbstractSensor {
|
|
509 |
}
|
510 |
return $latest_filename;
|
511 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
}
|
57 |
add_action( 'login_redirect', array( $this, 'event_2fa_login' ), 10, 1 );
|
58 |
}
|
59 |
|
60 |
+
if ( is_plugin_active( 'user-switching/user-switching.php' ) ) {
|
61 |
+
add_action( 'switch_to_user', array( $this, 'user_switched_event' ), 10, 2 );
|
62 |
+
}
|
63 |
+
|
64 |
// Directory for logged in users log files.
|
65 |
$user_upload_dir = wp_upload_dir();
|
66 |
$failed_login_dir = trailingslashit( $user_upload_dir['basedir'] . '/wp-security-audit-log/failed-logins/' );
|
182 |
$user_roles = $this->plugin->settings->GetCurrentUserRoles( $user->roles );
|
183 |
$this->plugin->alerts->Trigger(
|
184 |
4003, array(
|
185 |
+
'Username' => $user->user_login,
|
186 |
'CurrentUserRoles' => $user_roles,
|
187 |
), true
|
188 |
);
|
210 |
* Event Logout.
|
211 |
*/
|
212 |
public function EventLogout() {
|
213 |
+
if ( $this->_current_user->ID ) {
|
214 |
$this->plugin->alerts->Trigger(
|
215 |
1001, array(
|
216 |
'CurrentUserID' => $this->_current_user->ID,
|
262 |
return false;
|
263 |
} else {
|
264 |
$data_known = $get_fn( self::TRANSIENT_FAILEDLOGINS );
|
265 |
+
return ( false !== $data_known ) && isset( $data_known[ $site_id . ':' . $user->ID . ':' . $ip ] ) && ( $data_known[ $site_id . ':' . $user->ID . ':' . $ip ] >= $this->GetLoginFailureLogLimit() );
|
266 |
}
|
267 |
} else {
|
268 |
if ( -1 === (int) $this->GetVisitorLoginFailureLogLimit() ) {
|
269 |
return false;
|
270 |
} else {
|
271 |
$data_unknown = $get_fn( self::TRANSIENT_FAILEDLOGINS_UNKNOWN );
|
272 |
+
return ( false !== $data_unknown ) && isset( $data_unknown[ $site_id . ':' . $ip ] ) && ( $data_unknown[ $site_id . ':' . $ip ] >= $this->GetVisitorLoginFailureLogLimit() );
|
273 |
}
|
274 |
}
|
275 |
}
|
380 |
// Create a new record exists user.
|
381 |
$this->plugin->alerts->Trigger(
|
382 |
$new_alert_code, array(
|
383 |
+
'Attempts' => 1,
|
384 |
+
'Username' => $username,
|
385 |
'CurrentUserRoles' => $user_roles,
|
386 |
)
|
387 |
);
|
513 |
}
|
514 |
return $latest_filename;
|
515 |
}
|
516 |
+
|
517 |
+
/**
|
518 |
+
* User Switched.
|
519 |
+
*
|
520 |
+
* Current user switched to another user event.
|
521 |
+
*
|
522 |
+
* @since 3.4
|
523 |
+
*
|
524 |
+
* @param int $new_user_id - New user id.
|
525 |
+
* @param int $old_user_id - Old user id.
|
526 |
+
*/
|
527 |
+
public function user_switched_event( $new_user_id, $old_user_id ) {
|
528 |
+
$target_user = get_user_by( 'ID', $new_user_id );
|
529 |
+
$target_user_roles = $this->plugin->settings->GetCurrentUserRoles( $target_user->roles );
|
530 |
+
$target_user_roles = implode( ', ', $target_user_roles );
|
531 |
+
$old_user = get_user_by( 'ID', $old_user_id );
|
532 |
+
$old_user_roles = $this->plugin->settings->GetCurrentUserRoles( $old_user->roles );
|
533 |
+
|
534 |
+
$this->plugin->alerts->Trigger(
|
535 |
+
1008, array(
|
536 |
+
'TargetUserName' => $target_user->user_login,
|
537 |
+
'TargetUserRole' => $target_user_roles,
|
538 |
+
'Username' => $old_user->user_login,
|
539 |
+
'CurrentUserRoles' => $old_user_roles,
|
540 |
+
)
|
541 |
+
);
|
542 |
+
}
|
543 |
}
|
classes/Sensors/MetaData.php
CHANGED
@@ -68,7 +68,6 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
|
|
68 |
add_action( 'update_user_meta', array( $this, 'event_user_meta_updating' ), 10, 3 );
|
69 |
add_action( 'updated_user_meta', array( $this, 'event_user_meta_updated' ), 10, 4 );
|
70 |
add_action( 'user_register', array( $this, 'reset_null_meta_counter' ), 10 );
|
71 |
-
add_action( 'profile_update', array( $this, 'event_userdata_updated' ), 10, 2 );
|
72 |
}
|
73 |
|
74 |
/**
|
@@ -134,76 +133,50 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
|
|
134 |
return;
|
135 |
}
|
136 |
|
137 |
-
// Get post object.
|
138 |
-
$post = get_post( $object_id );
|
139 |
-
|
140 |
-
// Return if the post object is null or the post type is revision.
|
141 |
-
if ( null === $post || 'revision' === $post->post_type ) {
|
142 |
-
return;
|
143 |
-
}
|
144 |
-
|
145 |
if ( empty( $meta_value ) && ( $this->null_meta_counter < 1 ) ) { // Report only one NULL meta value.
|
146 |
$this->null_meta_counter += 1;
|
147 |
} elseif ( $this->null_meta_counter >= 1 ) { // Do not report if NULL meta values are more than one.
|
148 |
return;
|
149 |
}
|
150 |
|
151 |
-
//
|
152 |
-
$
|
153 |
|
154 |
-
//
|
155 |
-
if (
|
156 |
-
return
|
157 |
-
} elseif ( isset( $post_array['_wpnonce'] ) && isset( $post_array['post_ID'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) {
|
158 |
-
return false;
|
159 |
}
|
160 |
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
)
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
$editor_link = $this->GetEditorLink( $post );
|
192 |
-
$this->plugin->alerts->Trigger(
|
193 |
-
2053, array(
|
194 |
-
'PostID' => $object_id,
|
195 |
-
'PostTitle' => $post->post_title,
|
196 |
-
'PostStatus' => $post->post_status,
|
197 |
-
'PostType' => $post->post_type,
|
198 |
-
'PostDate' => $post->post_date,
|
199 |
-
'PostUrl' => get_permalink( $post->ID ),
|
200 |
-
'MetaKey' => $meta_key,
|
201 |
-
'MetaValue' => $meta_value,
|
202 |
-
'MetaLink' => $meta_key,
|
203 |
-
$editor_link['name'] => $editor_link['value'],
|
204 |
-
)
|
205 |
-
);
|
206 |
-
}
|
207 |
}
|
208 |
}
|
209 |
|
@@ -263,90 +236,65 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
|
|
263 |
*/
|
264 |
do_action( 'wsal_post_meta_updated', $meta_id, $object_id, $this->old_meta, $meta_key, $meta_value );
|
265 |
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
'PostTitle' => $post->post_title,
|
315 |
-
'PostStatus' => $post->post_status,
|
316 |
-
'PostType' => $post->post_type,
|
317 |
-
'PostDate' => $post->post_date,
|
318 |
-
'PostUrl' => get_permalink( $post->ID ),
|
319 |
-
'MetaID' => $meta_id,
|
320 |
-
'MetaKeyNew' => $meta_key,
|
321 |
-
'MetaKeyOld' => $this->old_meta[ $meta_id ]->key,
|
322 |
-
'MetaValue' => $meta_value,
|
323 |
-
'MetaLink' => $meta_key,
|
324 |
-
$editor_link['name'] => $editor_link['value'],
|
325 |
-
)
|
326 |
-
);
|
327 |
-
} elseif ( $log_meta_event && $this->old_meta[ $meta_id ]->val != $meta_value ) { // Check change in meta value.
|
328 |
-
$editor_link = $this->GetEditorLink( $post );
|
329 |
-
$this->plugin->alerts->Trigger(
|
330 |
-
2054, array(
|
331 |
-
'PostID' => $object_id,
|
332 |
-
'PostTitle' => $post->post_title,
|
333 |
-
'PostStatus' => $post->post_status,
|
334 |
-
'PostType' => $post->post_type,
|
335 |
-
'PostDate' => $post->post_date,
|
336 |
-
'PostUrl' => get_permalink( $post->ID ),
|
337 |
-
'MetaID' => $meta_id,
|
338 |
-
'MetaKey' => $meta_key,
|
339 |
-
'MetaValueNew' => $meta_value,
|
340 |
-
'MetaValueOld' => $this->old_meta[ $meta_id ]->val,
|
341 |
-
'MetaLink' => $meta_key,
|
342 |
-
$editor_link['name'] => $editor_link['value'],
|
343 |
-
'ReportText' => is_string( $this->old_meta[ $meta_id ]->val ) ? $this->old_meta[ $meta_id ]->val . '|' . $meta_value : false,
|
344 |
-
)
|
345 |
-
);
|
346 |
-
}
|
347 |
-
// Remove old meta update data.
|
348 |
-
unset( $this->old_meta[ $meta_id ] );
|
349 |
}
|
|
|
|
|
350 |
}
|
351 |
}
|
352 |
|
@@ -372,78 +320,47 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
|
|
372 |
return;
|
373 |
}
|
374 |
|
375 |
-
|
376 |
-
$
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
return false;
|
381 |
-
} elseif ( isset( $post_array['_wpnonce'] ) && isset( $post_array['post_ID'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) {
|
382 |
-
return false;
|
383 |
-
}
|
384 |
-
|
385 |
-
// WP Dashboard action.
|
386 |
-
$wp_action = array( 'delete-meta' );
|
387 |
-
|
388 |
-
// Check MainWP $_POST members.
|
389 |
-
$new_post = filter_input( INPUT_POST, 'new_post' );
|
390 |
-
$post_custom = filter_input( INPUT_POST, 'post_custom' );
|
391 |
-
|
392 |
-
// Check if the post is coming from MainWP.
|
393 |
-
$mainwp = filter_input( INPUT_POST, 'mainwpsignature', FILTER_SANITIZE_STRING );
|
394 |
-
|
395 |
-
if (
|
396 |
-
(
|
397 |
-
isset( $post_array['action'] )
|
398 |
-
&& in_array( $post_array['action'], $wp_action, true )
|
399 |
-
) || (
|
400 |
-
! empty( $new_post )
|
401 |
-
&& ! empty( $post_custom )
|
402 |
-
&& ! empty( $mainwp )
|
403 |
-
)
|
404 |
-
) {
|
405 |
-
$editor_link = $this->GetEditorLink( $post );
|
406 |
-
foreach ( $meta_ids as $meta_id ) {
|
407 |
-
if ( ! $this->CanLogMetaKey( $object_id, $meta_key ) ) {
|
408 |
-
continue;
|
409 |
-
}
|
410 |
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
// If not allowed to log meta event then skip it.
|
428 |
-
if ( ! $log_meta_event ) {
|
429 |
-
continue;
|
430 |
-
}
|
431 |
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
'PostTitle' => $post->post_title,
|
436 |
-
'PostStatus' => $post->post_status,
|
437 |
-
'PostType' => $post->post_type,
|
438 |
-
'PostDate' => $post->post_date,
|
439 |
-
'PostUrl' => get_permalink( $post->ID ),
|
440 |
-
'MetaID' => $meta_id,
|
441 |
-
'MetaKey' => $meta_key,
|
442 |
-
'MetaValue' => $meta_value,
|
443 |
-
$editor_link['name'] => $editor_link['value'],
|
444 |
-
)
|
445 |
-
);
|
446 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
447 |
}
|
448 |
}
|
449 |
|
@@ -477,40 +394,33 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
|
|
477 |
* @param mixed $meta_value - Meta value.
|
478 |
*/
|
479 |
public function event_user_meta_created( $object_id, $meta_key, $meta_value ) {
|
480 |
-
// Get user.
|
481 |
-
$user = get_user_by( 'ID', $object_id );
|
482 |
-
|
483 |
// Check to see if we can log the meta key.
|
484 |
if ( ! $this->CanLogMetaKey( $object_id, $meta_key ) || is_array( $meta_value ) ) {
|
485 |
return;
|
486 |
}
|
487 |
|
|
|
|
|
|
|
|
|
488 |
if ( empty( $meta_value ) && ( $this->null_meta_counter < 1 ) ) { // Report only one NULL meta value.
|
489 |
$this->null_meta_counter += 1;
|
490 |
} elseif ( $this->null_meta_counter >= 1 ) { // Do not report if NULL meta values are more than one.
|
491 |
return;
|
492 |
}
|
493 |
|
494 |
-
//
|
495 |
-
$
|
496 |
-
|
497 |
-
// Check nonce.
|
498 |
-
if ( isset( $post_array['_wpnonce'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-user_' . $user->ID ) ) {
|
499 |
-
return false;
|
500 |
-
}
|
501 |
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
array( $this, 'must_not_contain_new_user_alert' )
|
512 |
-
);
|
513 |
-
}
|
514 |
}
|
515 |
|
516 |
/**
|
@@ -540,124 +450,81 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
|
|
540 |
* @param mixed $meta_value - Meta value.
|
541 |
*/
|
542 |
public function event_user_meta_updated( $meta_id, $object_id, $meta_key, $meta_value ) {
|
543 |
-
// Get user.
|
544 |
-
$user = get_user_by( 'ID', $object_id );
|
545 |
-
|
546 |
// Check to see if we can log the meta key.
|
547 |
if ( ! $this->CanLogMetaKey( $object_id, $meta_key ) || is_array( $meta_value ) ) {
|
548 |
return;
|
549 |
}
|
550 |
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
// Filter $_POST global array for security.
|
555 |
-
$post_array = filter_input_array( INPUT_POST );
|
556 |
-
|
557 |
-
// If update action is set then trigger the alert.
|
558 |
-
if (
|
559 |
-
(
|
560 |
-
isset( $post_array['_wpnonce'] ) // WP Dashboard Support.
|
561 |
-
&& wp_verify_nonce( $post_array['_wpnonce'], 'update-user_' . $user->ID )
|
562 |
-
&& isset( $post_array['action'] )
|
563 |
-
&& 'update' == $post_array['action']
|
564 |
-
) || (
|
565 |
-
isset( $post_array['_um_account'] ) // Ultimate Member Plugin support.
|
566 |
-
&& '1' === $post_array['_um_account']
|
567 |
-
&& isset( $post_array['_um_account_tab'] )
|
568 |
-
&& 'general' === $post_array['_um_account_tab']
|
569 |
-
) || (
|
570 |
-
isset( $post_array['action'] ) && 'update_user' === $post_array['action'] // MainWP action.
|
571 |
-
&& isset( $post_array['mainwpsignature'] ) && ! empty( $post_array['mainwpsignature'] ) // MainWP Signature.
|
572 |
-
)
|
573 |
-
) {
|
574 |
-
if ( isset( $this->old_meta[ $meta_id ] ) && ! in_array( $meta_key, $username_meta, true ) ) {
|
575 |
-
// Check change in meta value.
|
576 |
-
if ( $this->old_meta[ $meta_id ]->val != $meta_value ) {
|
577 |
-
$this->plugin->alerts->TriggerIf(
|
578 |
-
4015,
|
579 |
-
array(
|
580 |
-
'TargetUsername' => $user->user_login,
|
581 |
-
'custom_field_name' => $meta_key,
|
582 |
-
'new_value' => $meta_value,
|
583 |
-
'old_value' => $this->old_meta[ $meta_id ]->val,
|
584 |
-
'ReportText' => is_string( $this->old_meta[ $meta_id ]->val ) ? $this->old_meta[ $meta_id ]->val . '|' . $meta_value : false,
|
585 |
-
),
|
586 |
-
array( $this, 'must_not_contain_role_changes' )
|
587 |
-
);
|
588 |
-
}
|
589 |
-
// Remove old meta update data.
|
590 |
-
unset( $this->old_meta[ $meta_id ] );
|
591 |
-
} elseif ( isset( $this->old_meta[ $meta_id ] ) && in_array( $meta_key, $username_meta, true ) ) {
|
592 |
-
// Detect the alert based on meta key.
|
593 |
-
switch ( $meta_key ) {
|
594 |
-
case 'first_name':
|
595 |
-
if ( $this->old_meta[ $meta_id ]->val != $meta_value ) {
|
596 |
-
$this->plugin->alerts->Trigger(
|
597 |
-
4017, array(
|
598 |
-
'TargetUsername' => $user->user_login,
|
599 |
-
'new_firstname' => $meta_value,
|
600 |
-
'old_firstname' => $this->old_meta[ $meta_id ]->val,
|
601 |
-
)
|
602 |
-
);
|
603 |
-
}
|
604 |
-
break;
|
605 |
-
|
606 |
-
case 'last_name':
|
607 |
-
if ( $this->old_meta[ $meta_id ]->val != $meta_value ) {
|
608 |
-
$this->plugin->alerts->Trigger(
|
609 |
-
4018, array(
|
610 |
-
'TargetUsername' => $user->user_login,
|
611 |
-
'new_lastname' => $meta_value,
|
612 |
-
'old_lastname' => $this->old_meta[ $meta_id ]->val,
|
613 |
-
)
|
614 |
-
);
|
615 |
-
}
|
616 |
-
break;
|
617 |
-
|
618 |
-
case 'nickname':
|
619 |
-
if ( $this->old_meta[ $meta_id ]->val != $meta_value ) {
|
620 |
-
$this->plugin->alerts->Trigger(
|
621 |
-
4019, array(
|
622 |
-
'TargetUsername' => $user->user_login,
|
623 |
-
'new_nickname' => $meta_value,
|
624 |
-
'old_nickname' => $this->old_meta[ $meta_id ]->val,
|
625 |
-
)
|
626 |
-
);
|
627 |
-
}
|
628 |
-
break;
|
629 |
-
|
630 |
-
default:
|
631 |
-
break;
|
632 |
-
}
|
633 |
-
}
|
634 |
}
|
635 |
-
}
|
636 |
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
* @param int $user_id User ID.
|
641 |
-
* @param object $old_user_data Object containing user's data prior to update.
|
642 |
-
* @since 2.6.9
|
643 |
-
*/
|
644 |
-
public function event_userdata_updated( $user_id, $old_user_data ) {
|
645 |
-
// Get user display name.
|
646 |
-
$old_display_name = $old_user_data->display_name;
|
647 |
|
648 |
-
|
649 |
-
$
|
650 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
651 |
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
4020, array(
|
656 |
-
'TargetUsername' => $new_userdata->user_login,
|
657 |
-
'new_displayname' => $new_display_name,
|
658 |
-
'old_displayname' => $old_display_name,
|
659 |
-
)
|
660 |
-
);
|
661 |
}
|
662 |
}
|
663 |
|
@@ -684,4 +551,28 @@ class WSAL_Sensors_MetaData extends WSAL_AbstractSensor {
|
|
684 |
public function must_not_contain_new_user_alert( WSAL_AlertManager $manager ) {
|
685 |
return ! $manager->WillOrHasTriggered( 4001 );
|
686 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
687 |
}
|
68 |
add_action( 'update_user_meta', array( $this, 'event_user_meta_updating' ), 10, 3 );
|
69 |
add_action( 'updated_user_meta', array( $this, 'event_user_meta_updated' ), 10, 4 );
|
70 |
add_action( 'user_register', array( $this, 'reset_null_meta_counter' ), 10 );
|
|
|
71 |
}
|
72 |
|
73 |
/**
|
133 |
return;
|
134 |
}
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
if ( empty( $meta_value ) && ( $this->null_meta_counter < 1 ) ) { // Report only one NULL meta value.
|
137 |
$this->null_meta_counter += 1;
|
138 |
} elseif ( $this->null_meta_counter >= 1 ) { // Do not report if NULL meta values are more than one.
|
139 |
return;
|
140 |
}
|
141 |
|
142 |
+
// Get post object.
|
143 |
+
$post = get_post( $object_id );
|
144 |
|
145 |
+
// Return if the post object is null or the post type is revision.
|
146 |
+
if ( null === $post || 'revision' === $post->post_type ) {
|
147 |
+
return;
|
|
|
|
|
148 |
}
|
149 |
|
150 |
+
/**
|
151 |
+
* WSAL Filter: `wsal_before_post_meta_create_event`
|
152 |
+
*
|
153 |
+
* Runs before logging event for post meta created i.e. 2053.
|
154 |
+
* This filter can be used as check to whether log this event or not.
|
155 |
+
*
|
156 |
+
* @since 3.3.1
|
157 |
+
*
|
158 |
+
* @param bool $log_event - True if log meta event, false if not.
|
159 |
+
* @param string $meta_key - Meta key.
|
160 |
+
* @param mixed $meta_value - Meta value.
|
161 |
+
* @param WP_Post $post - Post object.
|
162 |
+
*/
|
163 |
+
$log_meta_event = apply_filters( 'wsal_before_post_meta_create_event', true, $meta_key, $meta_value, $post );
|
164 |
+
if ( $log_meta_event ) {
|
165 |
+
$editor_link = $this->GetEditorLink( $post );
|
166 |
+
$this->plugin->alerts->Trigger(
|
167 |
+
2053, array(
|
168 |
+
'PostID' => $object_id,
|
169 |
+
'PostTitle' => $post->post_title,
|
170 |
+
'PostStatus' => $post->post_status,
|
171 |
+
'PostType' => $post->post_type,
|
172 |
+
'PostDate' => $post->post_date,
|
173 |
+
'PostUrl' => get_permalink( $post->ID ),
|
174 |
+
'MetaKey' => $meta_key,
|
175 |
+
'MetaValue' => $meta_value,
|
176 |
+
'MetaLink' => $meta_key,
|
177 |
+
$editor_link['name'] => $editor_link['value'],
|
178 |
+
)
|
179 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
}
|
181 |
}
|
182 |
|
236 |
*/
|
237 |
do_action( 'wsal_post_meta_updated', $meta_id, $object_id, $this->old_meta, $meta_key, $meta_value );
|
238 |
|
239 |
+
if ( isset( $this->old_meta[ $meta_id ] ) ) {
|
240 |
+
/**
|
241 |
+
* WSAL Filter: `wsal_before_post_meta_update_event`
|
242 |
+
*
|
243 |
+
* Runs before logging events for post meta updated i.e. 2054 or 2062.
|
244 |
+
* This filter can be used as check to whether log these events or not.
|
245 |
+
*
|
246 |
+
* @since 3.3.1
|
247 |
+
*
|
248 |
+
* @param bool $log_event - True if log meta event 2054 or 2062, false if not.
|
249 |
+
* @param string $meta_key - Meta key.
|
250 |
+
* @param mixed $meta_value - Meta value.
|
251 |
+
* @param stdClass $this->old_meta[ $meta_id ] - Old meta value and key object.
|
252 |
+
* @param WP_Post $post - Post object.
|
253 |
+
* @param integer $meta_id - Meta ID.
|
254 |
+
*/
|
255 |
+
$log_meta_event = apply_filters( 'wsal_before_post_meta_update_event', true, $meta_key, $meta_value, $this->old_meta[ $meta_id ], $post, $meta_id );
|
256 |
|
257 |
+
// Check change in meta key.
|
258 |
+
if ( $log_meta_event && $this->old_meta[ $meta_id ]->key !== $meta_key ) {
|
259 |
+
$editor_link = $this->GetEditorLink( $post );
|
260 |
+
$this->plugin->alerts->Trigger(
|
261 |
+
2062, array(
|
262 |
+
'PostID' => $object_id,
|
263 |
+
'PostTitle' => $post->post_title,
|
264 |
+
'PostStatus' => $post->post_status,
|
265 |
+
'PostType' => $post->post_type,
|
266 |
+
'PostDate' => $post->post_date,
|
267 |
+
'PostUrl' => get_permalink( $post->ID ),
|
268 |
+
'MetaID' => $meta_id,
|
269 |
+
'MetaKeyNew' => $meta_key,
|
270 |
+
'MetaKeyOld' => $this->old_meta[ $meta_id ]->key,
|
271 |
+
'MetaValue' => $meta_value,
|
272 |
+
'MetaLink' => $meta_key,
|
273 |
+
$editor_link['name'] => $editor_link['value'],
|
274 |
+
)
|
275 |
+
);
|
276 |
+
} elseif ( $log_meta_event && $this->old_meta[ $meta_id ]->val !== $meta_value ) { // Check change in meta value.
|
277 |
+
$editor_link = $this->GetEditorLink( $post );
|
278 |
+
$this->plugin->alerts->Trigger(
|
279 |
+
2054, array(
|
280 |
+
'PostID' => $object_id,
|
281 |
+
'PostTitle' => $post->post_title,
|
282 |
+
'PostStatus' => $post->post_status,
|
283 |
+
'PostType' => $post->post_type,
|
284 |
+
'PostDate' => $post->post_date,
|
285 |
+
'PostUrl' => get_permalink( $post->ID ),
|
286 |
+
'MetaID' => $meta_id,
|
287 |
+
'MetaKey' => $meta_key,
|
288 |
+
'MetaValueNew' => $meta_value,
|
289 |
+
'MetaValueOld' => $this->old_meta[ $meta_id ]->val,
|
290 |
+
'MetaLink' => $meta_key,
|
291 |
+
$editor_link['name'] => $editor_link['value'],
|
292 |
+
'ReportText' => is_string( $this->old_meta[ $meta_id ]->val ) ? $this->old_meta[ $meta_id ]->val . '|' . $meta_value : false,
|
293 |
+
)
|
294 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
}
|
296 |
+
// Remove old meta update data.
|
297 |
+
unset( $this->old_meta[ $meta_id ] );
|
298 |
}
|
299 |
}
|
300 |
|
320 |
return;
|
321 |
}
|
322 |
|
323 |
+
$editor_link = $this->GetEditorLink( $post );
|
324 |
+
foreach ( $meta_ids as $meta_id ) {
|
325 |
+
if ( ! $this->CanLogMetaKey( $object_id, $meta_key ) ) {
|
326 |
+
continue;
|
327 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
|
329 |
+
/**
|
330 |
+
* WSAL Filter: `wsal_before_post_meta_delete_event`
|
331 |
+
*
|
332 |
+
* Runs before logging event for post meta deleted i.e. 2054.
|
333 |
+
* This filter can be used as check to whether log this event or not.
|
334 |
+
*
|
335 |
+
* @since 3.3.1
|
336 |
+
*
|
337 |
+
* @param bool $log_event - True if log meta event 2055, false if not.
|
338 |
+
* @param string $meta_key - Meta key.
|
339 |
+
* @param mixed $meta_value - Meta value.
|
340 |
+
* @param WP_Post $post - Post object.
|
341 |
+
* @param integer $meta_id - Meta ID.
|
342 |
+
*/
|
343 |
+
$log_meta_event = apply_filters( 'wsal_before_post_meta_delete_event', true, $meta_key, $meta_value, $post, $meta_id );
|
|
|
|
|
|
|
|
|
|
|
344 |
|
345 |
+
// If not allowed to log meta event then skip it.
|
346 |
+
if ( ! $log_meta_event ) {
|
347 |
+
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
}
|
349 |
+
|
350 |
+
$this->plugin->alerts->Trigger(
|
351 |
+
2055, array(
|
352 |
+
'PostID' => $object_id,
|
353 |
+
'PostTitle' => $post->post_title,
|
354 |
+
'PostStatus' => $post->post_status,
|
355 |
+
'PostType' => $post->post_type,
|
356 |
+
'PostDate' => $post->post_date,
|
357 |
+
'PostUrl' => get_permalink( $post->ID ),
|
358 |
+
'MetaID' => $meta_id,
|
359 |
+
'MetaKey' => $meta_key,
|
360 |
+
'MetaValue' => $meta_value,
|
361 |
+
$editor_link['name'] => $editor_link['value'],
|
362 |
+
)
|
363 |
+
);
|
364 |
}
|
365 |
}
|
366 |
|
394 |
* @param mixed $meta_value - Meta value.
|
395 |
*/
|
396 |
public function event_user_meta_created( $object_id, $meta_key, $meta_value ) {
|
|
|
|
|
|
|
397 |
// Check to see if we can log the meta key.
|
398 |
if ( ! $this->CanLogMetaKey( $object_id, $meta_key ) || is_array( $meta_value ) ) {
|
399 |
return;
|
400 |
}
|
401 |
|
402 |
+
if ( $this->is_woocommerce_user_meta( $meta_key ) ) {
|
403 |
+
return;
|
404 |
+
}
|
405 |
+
|
406 |
if ( empty( $meta_value ) && ( $this->null_meta_counter < 1 ) ) { // Report only one NULL meta value.
|
407 |
$this->null_meta_counter += 1;
|
408 |
} elseif ( $this->null_meta_counter >= 1 ) { // Do not report if NULL meta values are more than one.
|
409 |
return;
|
410 |
}
|
411 |
|
412 |
+
// Get user.
|
413 |
+
$user = get_user_by( 'ID', $object_id );
|
|
|
|
|
|
|
|
|
|
|
414 |
|
415 |
+
$this->plugin->alerts->TriggerIf(
|
416 |
+
4016,
|
417 |
+
array(
|
418 |
+
'TargetUsername' => $user->user_login,
|
419 |
+
'custom_field_name' => $meta_key,
|
420 |
+
'new_value' => $meta_value,
|
421 |
+
),
|
422 |
+
array( $this, 'must_not_contain_new_user_alert' )
|
423 |
+
);
|
|
|
|
|
|
|
424 |
}
|
425 |
|
426 |
/**
|
450 |
* @param mixed $meta_value - Meta value.
|
451 |
*/
|
452 |
public function event_user_meta_updated( $meta_id, $object_id, $meta_key, $meta_value ) {
|
|
|
|
|
|
|
453 |
// Check to see if we can log the meta key.
|
454 |
if ( ! $this->CanLogMetaKey( $object_id, $meta_key ) || is_array( $meta_value ) ) {
|
455 |
return;
|
456 |
}
|
457 |
|
458 |
+
if ( $this->is_woocommerce_user_meta( $meta_key ) ) {
|
459 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
}
|
|
|
461 |
|
462 |
+
if ( 'last_update' === $meta_key ) { // Contains timestamp for last user update so ignore it.
|
463 |
+
return;
|
464 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
465 |
|
466 |
+
$username_meta = array( 'first_name', 'last_name', 'nickname' ); // User profile name related meta.
|
467 |
+
$user = get_user_by( 'ID', $object_id ); // Get user.
|
468 |
+
|
469 |
+
if ( isset( $this->old_meta[ $meta_id ] ) && ! in_array( $meta_key, $username_meta, true ) ) {
|
470 |
+
// Check change in meta value.
|
471 |
+
if ( $this->old_meta[ $meta_id ]->val !== $meta_value ) {
|
472 |
+
$this->plugin->alerts->TriggerIf(
|
473 |
+
4015,
|
474 |
+
array(
|
475 |
+
'TargetUsername' => $user->user_login,
|
476 |
+
'custom_field_name' => $meta_key,
|
477 |
+
'new_value' => $meta_value,
|
478 |
+
'old_value' => $this->old_meta[ $meta_id ]->val,
|
479 |
+
'ReportText' => is_string( $this->old_meta[ $meta_id ]->val ) ? $this->old_meta[ $meta_id ]->val . '|' . $meta_value : false,
|
480 |
+
),
|
481 |
+
array( $this, 'must_not_contain_role_changes' )
|
482 |
+
);
|
483 |
+
}
|
484 |
+
// Remove old meta update data.
|
485 |
+
unset( $this->old_meta[ $meta_id ] );
|
486 |
+
} elseif ( isset( $this->old_meta[ $meta_id ] ) && in_array( $meta_key, $username_meta, true ) ) {
|
487 |
+
// Detect the alert based on meta key.
|
488 |
+
switch ( $meta_key ) {
|
489 |
+
case 'first_name':
|
490 |
+
if ( $this->old_meta[ $meta_id ]->val !== $meta_value ) {
|
491 |
+
$this->plugin->alerts->Trigger(
|
492 |
+
4017, array(
|
493 |
+
'TargetUsername' => $user->user_login,
|
494 |
+
'new_firstname' => $meta_value,
|
495 |
+
'old_firstname' => $this->old_meta[ $meta_id ]->val,
|
496 |
+
)
|
497 |
+
);
|
498 |
+
}
|
499 |
+
break;
|
500 |
+
|
501 |
+
case 'last_name':
|
502 |
+
if ( $this->old_meta[ $meta_id ]->val !== $meta_value ) {
|
503 |
+
$this->plugin->alerts->Trigger(
|
504 |
+
4018, array(
|
505 |
+
'TargetUsername' => $user->user_login,
|
506 |
+
'new_lastname' => $meta_value,
|
507 |
+
'old_lastname' => $this->old_meta[ $meta_id ]->val,
|
508 |
+
)
|
509 |
+
);
|
510 |
+
}
|
511 |
+
break;
|
512 |
+
|
513 |
+
case 'nickname':
|
514 |
+
if ( $this->old_meta[ $meta_id ]->val !== $meta_value ) {
|
515 |
+
$this->plugin->alerts->Trigger(
|
516 |
+
4019, array(
|
517 |
+
'TargetUsername' => $user->user_login,
|
518 |
+
'new_nickname' => $meta_value,
|
519 |
+
'old_nickname' => $this->old_meta[ $meta_id ]->val,
|
520 |
+
)
|
521 |
+
);
|
522 |
+
}
|
523 |
+
break;
|
524 |
|
525 |
+
default:
|
526 |
+
break;
|
527 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
528 |
}
|
529 |
}
|
530 |
|
551 |
public function must_not_contain_new_user_alert( WSAL_AlertManager $manager ) {
|
552 |
return ! $manager->WillOrHasTriggered( 4001 );
|
553 |
}
|
554 |
+
|
555 |
+
/**
|
556 |
+
* Check if meta key belongs to WooCommerce user meta.
|
557 |
+
*
|
558 |
+
* @param string $meta_key - Meta key.
|
559 |
+
* @return boolean
|
560 |
+
*/
|
561 |
+
private function is_woocommerce_user_meta( $meta_key ) {
|
562 |
+
// Check for WordPress user profile keys.
|
563 |
+
if ( false === strpos( $meta_key, 'shipping_' ) || false === strpos( $meta_key, 'billing_' ) ) {
|
564 |
+
return false;
|
565 |
+
}
|
566 |
+
|
567 |
+
// Remove the prefix to avoid redundancy in the meta keys.
|
568 |
+
$address_key = str_replace( array( 'shipping_', 'billing_' ), '', $meta_key );
|
569 |
+
|
570 |
+
// WC address meta keys without prefix.
|
571 |
+
$meta_keys = array( 'first_name', 'last_name', 'company', 'country', 'address_1', 'address_2', 'city', 'state', 'postcode', 'phone', 'email' );
|
572 |
+
|
573 |
+
if ( in_array( $address_key, $meta_keys, true ) ) {
|
574 |
+
return true;
|
575 |
+
}
|
576 |
+
return false;
|
577 |
+
}
|
578 |
}
|
classes/Sensors/Public.php
CHANGED
@@ -55,7 +55,7 @@ class WSAL_Sensors_Public extends WSAL_AbstractSensor {
|
|
55 |
public function HookEvents() {
|
56 |
if ( $this->plugin->load_wsal_on_frontend() ) {
|
57 |
add_action( 'user_register', array( $this, 'event_user_register' ) );
|
58 |
-
add_action( 'comment_post', array( $this, 'event_comment' ), 10,
|
59 |
add_filter( 'template_redirect', array( $this, 'event_404' ) );
|
60 |
|
61 |
// Check if WooCommerce plugin exists.
|
@@ -96,40 +96,82 @@ class WSAL_Sensors_Public extends WSAL_AbstractSensor {
|
|
96 |
/**
|
97 |
* Fires immediately after a comment is inserted into the database.
|
98 |
*
|
99 |
-
* @param int $comment_id
|
100 |
-
* @param mixed $comment_approved
|
|
|
101 |
*/
|
102 |
-
public function event_comment( $comment_id, $comment_approved
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
if ( $
|
108 |
-
$
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
129 |
}
|
130 |
}
|
131 |
}
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
/**
|
134 |
* Shows the username if the comment is owned by a user
|
135 |
* and the email if the comment was posted by a non WordPress user
|
@@ -561,7 +603,7 @@ class WSAL_Sensors_Public extends WSAL_AbstractSensor {
|
|
561 |
|
562 |
// Return if current screen is edit post page.
|
563 |
global $pagenow;
|
564 |
-
if ( is_admin() && 'post.php' === $pagenow ) {
|
565 |
return;
|
566 |
}
|
567 |
|
55 |
public function HookEvents() {
|
56 |
if ( $this->plugin->load_wsal_on_frontend() ) {
|
57 |
add_action( 'user_register', array( $this, 'event_user_register' ) );
|
58 |
+
add_action( 'comment_post', array( $this, 'event_comment' ), 10, 3 );
|
59 |
add_filter( 'template_redirect', array( $this, 'event_404' ) );
|
60 |
|
61 |
// Check if WooCommerce plugin exists.
|
96 |
/**
|
97 |
* Fires immediately after a comment is inserted into the database.
|
98 |
*
|
99 |
+
* @param int $comment_id - The comment ID.
|
100 |
+
* @param mixed $comment_approved - 1 if the comment is approved, 0 if not, 'spam' if spam.
|
101 |
+
* @param array $comment_data - Comment data.
|
102 |
*/
|
103 |
+
public function event_comment( $comment_id, $comment_approved, $comment_data ) {
|
104 |
+
if ( ! $comment_id ) {
|
105 |
+
return;
|
106 |
+
}
|
107 |
+
// Check if the comment is response to another comment.
|
108 |
+
if ( isset( $comment_data['comment_parent'] ) && $comment_data['comment_parent'] ) {
|
109 |
+
$this->event_generic( $comment_id, 2092 );
|
110 |
+
return;
|
111 |
+
}
|
112 |
+
|
113 |
+
$comment = get_comment( $comment_id );
|
114 |
+
if ( $comment ) {
|
115 |
+
if ( 'spam' !== $comment->comment_approved ) {
|
116 |
+
$post = get_post( $comment->comment_post_ID );
|
117 |
+
$comment_link = get_permalink( $post->ID ) . '#comment-' . $comment_id;
|
118 |
+
$fields = array(
|
119 |
+
'Date' => $comment->comment_date,
|
120 |
+
'CommentLink' => '<a target="_blank" href="' . $comment_link . '">' . $comment->comment_date . '</a>',
|
121 |
+
);
|
122 |
+
|
123 |
+
// Get user data.
|
124 |
+
$user_data = get_user_by( 'email', $comment->comment_author_email );
|
125 |
+
|
126 |
+
if ( ! $user_data ) {
|
127 |
+
// Set the fields.
|
128 |
+
/* Translators: 1: Post Title, 2: Comment Author */
|
129 |
+
$fields['CommentMsg'] = sprintf( esc_html__( 'A comment was posted in response to the post %1$s. The comment was posted by %2$s', 'wp-security-audit-log' ), '<strong>' . $post->post_title . '</strong>', '<strong>' . $this->check_author( $comment ) . '</strong>' );
|
130 |
+
$fields['Username'] = 'Website Visitor';
|
131 |
+
$this->plugin->alerts->Trigger( 2126, $fields );
|
132 |
+
} else {
|
133 |
+
// Get user roles.
|
134 |
+
$user_roles = $user_data->roles;
|
135 |
+
if ( function_exists( 'is_super_admin' ) && is_super_admin() ) { // Check if superadmin.
|
136 |
+
$user_roles[] = 'superadmin';
|
137 |
}
|
138 |
+
|
139 |
+
// Set the fields.
|
140 |
+
$fields['Username'] = $user_data->user_login;
|
141 |
+
$fields['CurrentUserRoles'] = $user_roles;
|
142 |
+
$fields['CommentMsg'] = sprintf( 'Posted a comment in response to the post <strong>%s</strong>', $post->post_title );
|
143 |
+
$this->plugin->alerts->Trigger( 2099, $fields );
|
144 |
}
|
145 |
}
|
146 |
}
|
147 |
}
|
148 |
|
149 |
+
/**
|
150 |
+
* Trigger generic event.
|
151 |
+
*
|
152 |
+
* @since 3.4
|
153 |
+
*
|
154 |
+
* @param integer $comment_id - Comment ID.
|
155 |
+
* @param integer $alert_code - Event code.
|
156 |
+
*/
|
157 |
+
private function event_generic( $comment_id, $alert_code ) {
|
158 |
+
$comment = get_comment( $comment_id );
|
159 |
+
if ( $comment ) {
|
160 |
+
$post = get_post( $comment->comment_post_ID );
|
161 |
+
$comment_link = get_permalink( $post->ID ) . '#comment-' . $comment_id;
|
162 |
+
$fields = array(
|
163 |
+
'PostTitle' => $post->post_title,
|
164 |
+
'Author' => $comment->comment_author,
|
165 |
+
'Date' => $comment->comment_date,
|
166 |
+
'CommentLink' => '<a target="_blank" href="' . $comment_link . '">' . $comment->comment_date . '</a>',
|
167 |
+
);
|
168 |
+
|
169 |
+
if ( 'shop_order' !== $post->post_type ) {
|
170 |
+
$this->plugin->alerts->Trigger( $alert_code, $fields );
|
171 |
+
}
|
172 |
+
}
|
173 |
+
}
|
174 |
+
|
175 |
/**
|
176 |
* Shows the username if the comment is owned by a user
|
177 |
* and the email if the comment was posted by a non WordPress user
|
603 |
|
604 |
// Return if current screen is edit post page.
|
605 |
global $pagenow;
|
606 |
+
if ( is_admin() && ( 'post.php' === $pagenow || defined( 'DOING_AJAX' ) ) ) {
|
607 |
return;
|
608 |
}
|
609 |
|
classes/Sensors/UserProfile.php
CHANGED
@@ -34,25 +34,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
34 |
*/
|
35 |
class WSAL_Sensors_UserProfile extends WSAL_AbstractSensor {
|
36 |
|
37 |
-
/**
|
38 |
-
* Listening to events using WP hooks.
|
39 |
-
*/
|
40 |
-
public function HookEvents() {
|
41 |
-
add_action( 'admin_init', array( $this, 'EventAdminInit' ) );
|
42 |
-
add_action( 'edit_user_profile_update', array( $this, 'EventUserChanged' ) );
|
43 |
-
add_action( 'personal_options_update', array( $this, 'EventUserChanged' ) );
|
44 |
-
add_action( 'delete_user', array( $this, 'EventUserDeleted' ) );
|
45 |
-
add_action( 'wpmu_delete_user', array( $this, 'EventUserDeleted' ) );
|
46 |
-
add_action( 'set_user_role', array( $this, 'EventUserRoleChanged' ), 10, 3 );
|
47 |
-
add_action( 'edit_user_profile', array( $this, 'EventOpenProfile' ), 10, 1 );
|
48 |
-
add_action( 'profile_update', array( $this, 'event_email_changed' ), 10, 2 );
|
49 |
-
|
50 |
-
// Check if MainWP Child Plugin exists.
|
51 |
-
if ( is_plugin_active( 'mainwp-child/mainwp-child.php' ) ) {
|
52 |
-
add_action( 'profile_update', array( $this, 'mainwp_child_user_update' ), 20, 2 );
|
53 |
-
}
|
54 |
-
}
|
55 |
-
|
56 |
/**
|
57 |
* List of super admins.
|
58 |
*
|
@@ -61,156 +42,141 @@ class WSAL_Sensors_UserProfile extends WSAL_AbstractSensor {
|
|
61 |
protected $old_superadmins;
|
62 |
|
63 |
/**
|
64 |
-
*
|
65 |
*/
|
66 |
-
public function
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
}
|
71 |
|
72 |
/**
|
73 |
-
*
|
|
|
74 |
*
|
75 |
-
* @param int
|
76 |
-
* @param
|
77 |
-
* @param string $old_roles - String of old roles.
|
78 |
*/
|
79 |
-
public function
|
80 |
-
//
|
81 |
-
$
|
82 |
|
83 |
-
if (
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
}
|
94 |
|
95 |
-
|
96 |
-
|
|
|
97 |
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
$
|
104 |
-
$
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
'NewRole' => ( isset( $post_array['bbp-forums-role'] ) ) ? ucfirst( substr( $post_array['bbp-forums-role'], 4 ) ) : false,
|
109 |
-
'UserChanger' => $current_user->user_login,
|
110 |
-
)
|
111 |
-
);
|
112 |
-
}
|
113 |
-
}
|
114 |
}
|
115 |
-
$old_roles = array_diff( $old_roles, $bbpress_roles );
|
116 |
}
|
117 |
|
118 |
-
//
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
}
|
126 |
|
127 |
-
// Alert if
|
128 |
-
if ( $
|
129 |
-
$
|
130 |
-
|
131 |
-
array(
|
132 |
'TargetUserID' => $user_id,
|
133 |
-
'TargetUsername' => $
|
134 |
-
'
|
135 |
-
'
|
136 |
-
|
137 |
-
|
138 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
);
|
140 |
}
|
141 |
}
|
142 |
|
143 |
/**
|
144 |
-
* Triggered when a user
|
145 |
-
* or user is granted or revoked super admin access.
|
146 |
*
|
147 |
-
* @param int
|
|
|
|
|
148 |
*/
|
149 |
-
public function
|
150 |
-
// Filter $_POST array for security.
|
151 |
-
$post_array = filter_input_array( INPUT_POST );
|
152 |
-
|
153 |
-
// Get user data.
|
154 |
$user = get_userdata( $user_id );
|
155 |
|
156 |
-
//
|
157 |
-
if (
|
158 |
-
|
159 |
-
|
160 |
-
$this->plugin->alerts->Trigger(
|
161 |
-
$event, array(
|
162 |
-
'TargetUserID' => $user_id,
|
163 |
-
'TargetUserData' => (object) array(
|
164 |
-
'Username' => $user->user_login,
|
165 |
-
'Roles' => is_array( $user->roles ) ? implode( ', ', $user->roles ) : $user->roles,
|
166 |
-
),
|
167 |
-
)
|
168 |
-
);
|
169 |
-
}
|
170 |
-
}
|
171 |
|
172 |
-
|
173 |
-
|
174 |
-
$
|
175 |
-
$
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
'TargetUserID' => $user_id,
|
181 |
-
'TargetUsername' => $user->user_login,
|
182 |
-
'OldEmail' => $old_email,
|
183 |
-
'NewEmail' => $new_email,
|
184 |
-
)
|
185 |
-
);
|
186 |
-
}
|
187 |
}
|
188 |
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
if ( get_current_user_id() != $user_id ) {
|
194 |
-
// Super admin enabled.
|
195 |
-
if ( $enabled && ! in_array( $username, $this->old_superadmins ) ) {
|
196 |
-
$this->plugin->alerts->Trigger(
|
197 |
-
4008, array(
|
198 |
-
'TargetUserID' => $user_id,
|
199 |
-
'TargetUsername' => $user->user_login,
|
200 |
-
)
|
201 |
-
);
|
202 |
-
}
|
203 |
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
|
|
|
|
|
|
214 |
}
|
215 |
}
|
216 |
|
@@ -219,18 +185,18 @@ class WSAL_Sensors_UserProfile extends WSAL_AbstractSensor {
|
|
219 |
*
|
220 |
* @param int $user_id - User ID of the registered user.
|
221 |
*/
|
222 |
-
public function
|
223 |
$user = get_userdata( $user_id );
|
224 |
$role = is_array( $user->roles ) ? implode( ', ', $user->roles ) : $user->roles;
|
225 |
$this->plugin->alerts->TriggerIf(
|
226 |
4007, array(
|
227 |
-
'TargetUserID'
|
228 |
'TargetUserData' => (object) array(
|
229 |
-
'Username'
|
230 |
'FirstName' => $user->user_firstname,
|
231 |
-
'LastName'
|
232 |
-
'Email'
|
233 |
-
'Roles'
|
234 |
),
|
235 |
), array( $this, 'MustNotContainCreateUser' )
|
236 |
);
|
@@ -241,25 +207,84 @@ class WSAL_Sensors_UserProfile extends WSAL_AbstractSensor {
|
|
241 |
*
|
242 |
* @param object $user - Instance of WP_User.
|
243 |
*/
|
244 |
-
public function
|
245 |
-
if ( !
|
246 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
|
248 |
-
|
249 |
-
|
|
|
|
|
|
|
|
|
250 |
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
}
|
261 |
}
|
262 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
/**
|
264 |
* Must Not Contain Create User.
|
265 |
*
|
@@ -283,103 +308,4 @@ class WSAL_Sensors_UserProfile extends WSAL_AbstractSensor {
|
|
283 |
|| $mgr->WillOrHasTriggered( 4001 )
|
284 |
);
|
285 |
}
|
286 |
-
|
287 |
-
/**
|
288 |
-
* Method: Support for Ultimate Member email change
|
289 |
-
* alert.
|
290 |
-
*
|
291 |
-
* @param int $user_id - User ID.
|
292 |
-
* @param WP_User $old_userdata - Old WP_User object.
|
293 |
-
*/
|
294 |
-
public function event_email_changed( $user_id, $old_userdata ) {
|
295 |
-
// Get $_POST global array.
|
296 |
-
$post_array = filter_input_array( INPUT_POST );
|
297 |
-
|
298 |
-
if (
|
299 |
-
isset( $post_array['_um_account_tab'] ) // Check for UM tab.
|
300 |
-
&& 'general' === $post_array['_um_account_tab'] // Verify `General` UM tab.
|
301 |
-
&& ! empty( $post_array['user_email'] ) // Check if user email is set.
|
302 |
-
) {
|
303 |
-
$old_email = $old_userdata->user_email; // Old email.
|
304 |
-
$new_email = trim( $post_array['user_email'] ); // New email.
|
305 |
-
if ( $old_email !== $new_email ) { // If both emails don't match then log alert.
|
306 |
-
$event = get_current_user_id() === $user_id ? 4005 : 4006;
|
307 |
-
$this->plugin->alerts->Trigger(
|
308 |
-
$event, array(
|
309 |
-
'TargetUserID' => $user_id,
|
310 |
-
'TargetUsername' => $old_userdata->user_login,
|
311 |
-
'OldEmail' => $old_email,
|
312 |
-
'NewEmail' => $new_email,
|
313 |
-
)
|
314 |
-
);
|
315 |
-
}
|
316 |
-
}
|
317 |
-
}
|
318 |
-
|
319 |
-
/**
|
320 |
-
* Method: Support for user profile changes via MainWP dashboard.
|
321 |
-
*
|
322 |
-
* @param int $user_id - User ID.
|
323 |
-
* @param WP_User $old_userdata - Old WP_User object.
|
324 |
-
*/
|
325 |
-
public function mainwp_child_user_update( $user_id, $old_userdata ) {
|
326 |
-
// Check parameters.
|
327 |
-
if ( empty( $user_id ) || empty( $old_userdata ) ) {
|
328 |
-
return;
|
329 |
-
}
|
330 |
-
|
331 |
-
// Get MainWP post data.
|
332 |
-
$post_array = filter_input_array( INPUT_POST );
|
333 |
-
|
334 |
-
if (
|
335 |
-
isset( $post_array['action'] ) && 'update_user' === $post_array['action']
|
336 |
-
&& isset( $post_array['mainwpsignature'] ) && ! empty( $post_array['mainwpsignature'] )
|
337 |
-
) {
|
338 |
-
// Get the user by id.
|
339 |
-
$user = get_user_by( 'id', $user_id );
|
340 |
-
|
341 |
-
// If user exists then continue.
|
342 |
-
if ( ! empty( $user ) && $user instanceof WP_User ) {
|
343 |
-
// Email changed.
|
344 |
-
if ( ! empty( $post_array['extra']['email'] ) ) {
|
345 |
-
$old_email = $old_userdata->user_email; // Old email address.
|
346 |
-
$new_email = trim( $post_array['extra']['email'] ); // New email address.
|
347 |
-
$new_email = sanitize_text_field( wp_unslash( $new_email ) ); // Filter data for security.
|
348 |
-
|
349 |
-
// If old email does not matches the new email then log the event.
|
350 |
-
if ( $old_email !== $new_email ) {
|
351 |
-
$event = get_current_user_id() === $user_id ? 4005 : 4006;
|
352 |
-
$this->plugin->alerts->Trigger(
|
353 |
-
$event, array(
|
354 |
-
'TargetUserID' => $user_id,
|
355 |
-
'TargetUsername' => $user->user_login,
|
356 |
-
'OldEmail' => $old_email,
|
357 |
-
'NewEmail' => $new_email,
|
358 |
-
)
|
359 |
-
);
|
360 |
-
}
|
361 |
-
}
|
362 |
-
|
363 |
-
// Password changed.
|
364 |
-
if ( ! empty( $post_array['extra']['pass1'] ) && ! empty( $post_array['extra']['pass2'] ) ) {
|
365 |
-
$pass1 = trim( $post_array['extra']['pass1'] );
|
366 |
-
$pass2 = trim( $post_array['extra']['pass2'] );
|
367 |
-
$match = wp_check_password( $pass1, $old_userdata->user_pass, $user_id ); // Check if current pass matches the old one.
|
368 |
-
|
369 |
-
if ( $pass1 === $pass2 && ! $match ) {
|
370 |
-
$event = get_current_user_id() === $user_id ? 4003 : 4004;
|
371 |
-
$this->plugin->alerts->Trigger(
|
372 |
-
$event, array(
|
373 |
-
'TargetUserID' => $user_id,
|
374 |
-
'TargetUserData' => (object) array(
|
375 |
-
'Username' => $user->user_login,
|
376 |
-
'Roles' => is_array( $user->roles ) ? implode( ', ', $user->roles ) : $user->roles,
|
377 |
-
),
|
378 |
-
)
|
379 |
-
);
|
380 |
-
}
|
381 |
-
}
|
382 |
-
}
|
383 |
-
}
|
384 |
-
}
|
385 |
}
|
34 |
*/
|
35 |
class WSAL_Sensors_UserProfile extends WSAL_AbstractSensor {
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
/**
|
38 |
* List of super admins.
|
39 |
*
|
42 |
protected $old_superadmins;
|
43 |
|
44 |
/**
|
45 |
+
* Listening to events using WP hooks.
|
46 |
*/
|
47 |
+
public function HookEvents() {
|
48 |
+
add_action( 'profile_update', array( $this, 'event_user_updated' ), 10, 2 );
|
49 |
+
add_action( 'set_user_role', array( $this, 'event_user_role_changed' ), 10, 3 );
|
50 |
+
add_action( 'delete_user', array( $this, 'event_user_deleted' ) );
|
51 |
+
add_action( 'wpmu_delete_user', array( $this, 'event_user_deleted' ) );
|
52 |
+
add_action( 'edit_user_profile', array( $this, 'event_open_profile' ), 10, 1 );
|
53 |
+
add_action( 'grant_super_admin', array( $this, 'get_super_admins' ) );
|
54 |
+
add_action( 'revoke_super_admin', array( $this, 'get_super_admins' ) );
|
55 |
+
add_action( 'granted_super_admin', array( $this, 'event_super_access_granted' ), 10, 1 );
|
56 |
+
add_action( 'revoked_super_admin', array( $this, 'event_super_access_revoked' ), 10, 1 );
|
57 |
}
|
58 |
|
59 |
/**
|
60 |
+
* Method: Support for Ultimate Member email change
|
61 |
+
* alert.
|
62 |
*
|
63 |
+
* @param int $user_id - User ID.
|
64 |
+
* @param WP_User $old_userdata - Old WP_User object.
|
|
|
65 |
*/
|
66 |
+
public function event_user_updated( $user_id, $old_userdata ) {
|
67 |
+
// Get new user data.
|
68 |
+
$new_userdata = get_userdata( $user_id );
|
69 |
|
70 |
+
if ( is_plugin_active( 'bbpress/bbpress.php' ) ) {
|
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, array(
|
89 |
+
'TargetUsername' => $new_userdata->user_login,
|
90 |
+
'OldRole' => $old_bbpress_roles,
|
91 |
+
'NewRole' => $new_bbpress_roles,
|
92 |
+
'UserChanger' => $current_user->user_login,
|
93 |
+
)
|
94 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
|
|
96 |
}
|
97 |
|
98 |
+
// Alert if user password is changed.
|
99 |
+
if ( $old_userdata->user_pass !== $new_userdata->user_pass ) {
|
100 |
+
$event = get_current_user_id() === $user_id ? 4003 : 4004;
|
101 |
+
$user_roles = implode( ', ', array_map( array( $this, 'filter_role_names' ), $new_userdata->roles ) );
|
102 |
+
$this->plugin->alerts->Trigger(
|
103 |
+
$event, array(
|
104 |
+
'TargetUserID' => $user_id,
|
105 |
+
'TargetUserData' => (object) array(
|
106 |
+
'Username' => $new_userdata->user_login,
|
107 |
+
'Roles' => $user_roles,
|
108 |
+
),
|
109 |
+
)
|
110 |
+
);
|
111 |
}
|
112 |
|
113 |
+
// Alert if user email is changed.
|
114 |
+
if ( $old_userdata->user_email !== $new_userdata->user_email ) {
|
115 |
+
$event = get_current_user_id() === $user_id ? 4005 : 4006;
|
116 |
+
$this->plugin->alerts->Trigger(
|
117 |
+
$event, array(
|
118 |
'TargetUserID' => $user_id,
|
119 |
+
'TargetUsername' => $new_userdata->user_login,
|
120 |
+
'OldEmail' => $old_userdata->user_email,
|
121 |
+
'NewEmail' => $new_userdata->user_email,
|
122 |
+
)
|
123 |
+
);
|
124 |
+
}
|
125 |
+
|
126 |
+
// Alert if display name is changed.
|
127 |
+
if ( $old_userdata->display_name !== $new_userdata->display_name ) {
|
128 |
+
$this->plugin->alerts->Trigger(
|
129 |
+
4020, array(
|
130 |
+
'TargetUsername' => $new_userdata->user_login,
|
131 |
+
'old_displayname' => $old_userdata->display_name,
|
132 |
+
'new_displayname' => $new_userdata->display_name,
|
133 |
+
)
|
134 |
);
|
135 |
}
|
136 |
}
|
137 |
|
138 |
/**
|
139 |
+
* Triggered when a user role is changed.
|
|
|
140 |
*
|
141 |
+
* @param int $user_id - User ID of the user.
|
142 |
+
* @param string $new_role - New role.
|
143 |
+
* @param array $old_roles - Array of old roles.
|
144 |
*/
|
145 |
+
public function event_user_role_changed( $user_id, $new_role, $old_roles ) {
|
|
|
|
|
|
|
|
|
146 |
$user = get_userdata( $user_id );
|
147 |
|
148 |
+
// If BBPress plugin is active then check for user roles change.
|
149 |
+
if ( is_plugin_active( 'bbpress/bbpress.php' ) ) {
|
150 |
+
// BBPress user roles.
|
151 |
+
$bbpress_roles = array( 'bbp_spectator', 'bbp_moderator', 'bbp_participant', 'bbp_keymaster', 'bbp_blocked' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
|
153 |
+
// Set WP roles.
|
154 |
+
$old_roles = array_diff( $old_roles, $bbpress_roles );
|
155 |
+
$new_roles = array_diff( $user->roles, $bbpress_roles );
|
156 |
+
$old_roles = array_map( array( $this, 'filter_role_names' ), $old_roles );
|
157 |
+
$new_roles = array_map( array( $this, 'filter_role_names' ), $new_roles );
|
158 |
+
} else {
|
159 |
+
$old_roles = array_map( array( $this, 'filter_role_names' ), $old_roles );
|
160 |
+
$new_roles = array_map( array( $this, 'filter_role_names' ), $user->roles );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
}
|
162 |
|
163 |
+
// Get roles.
|
164 |
+
$old_roles = is_array( $old_roles ) ? implode( ', ', $old_roles ) : '';
|
165 |
+
$new_roles = is_array( $new_roles ) ? implode( ', ', $new_roles ) : '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
|
167 |
+
// Alert if roles are changed.
|
168 |
+
if ( $old_roles !== $new_roles ) {
|
169 |
+
$this->plugin->alerts->TriggerIf(
|
170 |
+
4002,
|
171 |
+
array(
|
172 |
+
'TargetUserID' => $user_id,
|
173 |
+
'TargetUsername' => $user->user_login,
|
174 |
+
'OldRole' => $old_roles,
|
175 |
+
'NewRole' => $new_roles,
|
176 |
+
'multisite_text' => $this->plugin->IsMultisite() ? get_current_blog_id() : false,
|
177 |
+
),
|
178 |
+
array( $this, 'MustNotContainUserChanges' )
|
179 |
+
);
|
180 |
}
|
181 |
}
|
182 |
|
185 |
*
|
186 |
* @param int $user_id - User ID of the registered user.
|
187 |
*/
|
188 |
+
public function event_user_deleted( $user_id ) {
|
189 |
$user = get_userdata( $user_id );
|
190 |
$role = is_array( $user->roles ) ? implode( ', ', $user->roles ) : $user->roles;
|
191 |
$this->plugin->alerts->TriggerIf(
|
192 |
4007, array(
|
193 |
+
'TargetUserID' => $user_id,
|
194 |
'TargetUserData' => (object) array(
|
195 |
+
'Username' => $user->user_login,
|
196 |
'FirstName' => $user->user_firstname,
|
197 |
+
'LastName' => $user->user_lastname,
|
198 |
+
'Email' => $user->user_email,
|
199 |
+
'Roles' => $role ? $role : 'none',
|
200 |
),
|
201 |
), array( $this, 'MustNotContainCreateUser' )
|
202 |
);
|
207 |
*
|
208 |
* @param object $user - Instance of WP_User.
|
209 |
*/
|
210 |
+
public function event_open_profile( $user ) {
|
211 |
+
if ( ! $user ) {
|
212 |
+
return;
|
213 |
+
}
|
214 |
+
$current_user = wp_get_current_user();
|
215 |
+
$updated = isset( $_GET['updated'] ); // @codingStandardsIgnoreLine
|
216 |
+
if ( $current_user && ( $user->ID !== $current_user->ID ) && ! $updated ) {
|
217 |
+
$this->plugin->alerts->Trigger(
|
218 |
+
4014, array(
|
219 |
+
'UserChanger' => $current_user->user_login,
|
220 |
+
'TargetUsername' => $user->user_login,
|
221 |
+
)
|
222 |
+
);
|
223 |
+
}
|
224 |
+
}
|
225 |
|
226 |
+
/**
|
227 |
+
* Triggered when a user accesses the admin area.
|
228 |
+
*/
|
229 |
+
public function get_super_admins() {
|
230 |
+
$this->old_superadmins = $this->IsMultisite() ? get_super_admins() : null;
|
231 |
+
}
|
232 |
|
233 |
+
/**
|
234 |
+
* Super Admin Enabled.
|
235 |
+
*
|
236 |
+
* Triggers when a user is granted super admin access.
|
237 |
+
*
|
238 |
+
* @since 3.4
|
239 |
+
*
|
240 |
+
* @param int $user_id - ID of the user that was granted Super Admin privileges.
|
241 |
+
*/
|
242 |
+
public function event_super_access_granted( $user_id ) {
|
243 |
+
$user = get_userdata( $user_id );
|
244 |
+
if ( $user && ! in_array( $user->user_login, $this->old_superadmins, true ) ) {
|
245 |
+
$this->plugin->alerts->Trigger(
|
246 |
+
4008, array(
|
247 |
+
'TargetUserID' => $user_id,
|
248 |
+
'TargetUsername' => $user->user_login,
|
249 |
+
)
|
250 |
+
);
|
251 |
}
|
252 |
}
|
253 |
|
254 |
+
/**
|
255 |
+
* Super Admin Disabled.
|
256 |
+
*
|
257 |
+
* Triggers when a user is revoked super admin access.
|
258 |
+
*
|
259 |
+
* @since 3.4
|
260 |
+
*
|
261 |
+
* @param int $user_id - ID of the user that was revoked Super Admin privileges.
|
262 |
+
*/
|
263 |
+
public function event_super_access_revoked( $user_id ) {
|
264 |
+
$user = get_userdata( $user_id );
|
265 |
+
if ( $user && in_array( $user->user_login, $this->old_superadmins, true ) ) {
|
266 |
+
$this->plugin->alerts->Trigger(
|
267 |
+
4009, array(
|
268 |
+
'TargetUserID' => $user_id,
|
269 |
+
'TargetUsername' => $user->user_login,
|
270 |
+
)
|
271 |
+
);
|
272 |
+
}
|
273 |
+
}
|
274 |
+
|
275 |
+
/**
|
276 |
+
* Remove BBPress Prefix from User Role.
|
277 |
+
*
|
278 |
+
* @since 3.4
|
279 |
+
*
|
280 |
+
* @param string $user_role - User role.
|
281 |
+
* @return string
|
282 |
+
*/
|
283 |
+
public function filter_role_names( $user_role ) {
|
284 |
+
global $wp_roles;
|
285 |
+
return isset( $wp_roles->role_names[ $user_role ] ) ? $wp_roles->role_names[ $user_role ] : false;
|
286 |
+
}
|
287 |
+
|
288 |
/**
|
289 |
* Must Not Contain Create User.
|
290 |
*
|
308 |
|| $mgr->WillOrHasTriggered( 4001 )
|
309 |
);
|
310 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
}
|
classes/Sensors/WooCommerce.php
CHANGED
@@ -15,45 +15,17 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
/**
|
16 |
* Support for WooCommerce Plugin.
|
17 |
*
|
18 |
-
* 9000 User created a new product
|
19 |
-
* 9001 User published a product
|
20 |
-
* 9002 User created a new product category
|
21 |
-
* 9003 User changed the category of a product
|
22 |
-
* 9004 User modified the short description of a product
|
23 |
-
* 9005 User modified the text of a product
|
24 |
-
* 9006 User changed the URL of a product
|
25 |
-
* 9007 User changed the Product Data of a product
|
26 |
-
* 9008 User changed the date of a product
|
27 |
-
* 9009 User changed the visibility of a product
|
28 |
-
* 9010 User modified the product
|
29 |
-
* 9012 User moved a product to trash
|
30 |
-
* 9013 User permanently deleted a product
|
31 |
-
* 9014 User restored a product from the trash
|
32 |
-
* 9015 User changed status of a product
|
33 |
-
* 9016 User changed type of a price
|
34 |
-
* 9017 User changed the SKU of a product
|
35 |
-
* 9018 User changed the stock status of a product
|
36 |
-
* 9019 User changed the stock quantity
|
37 |
-
* 9020 User set a product type
|
38 |
-
* 9021 User changed the weight of a product
|
39 |
-
* 9022 User changed the dimensions of a product
|
40 |
-
* 9023 User added the Downloadable File to a product
|
41 |
-
* 9024 User Removed the Downloadable File from a product
|
42 |
-
* 9025 User changed the name of a Downloadable File in a product
|
43 |
-
* 9026 User changed the URL of the Downloadable File in a product
|
44 |
-
* 9027 User changed the Weight Unit
|
45 |
-
* 9028 User changed the Dimensions Unit
|
46 |
-
* 9029 User changed the Base Location
|
47 |
-
* 9030 User Enabled/Disabled taxes
|
48 |
-
* 9031 User changed the currency
|
49 |
-
* 9032 User Enabled/Disabled the use of coupons during checkout
|
50 |
-
* 9033 User Enabled/Disabled guest checkout
|
51 |
-
*
|
52 |
* @package Wsal
|
53 |
-
* @subpackage Sensors
|
54 |
*/
|
55 |
class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
/**
|
58 |
* Old Post.
|
59 |
*
|
@@ -61,6 +33,13 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
61 |
*/
|
62 |
protected $_old_post = null;
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
/**
|
65 |
* Old Post Link.
|
66 |
*
|
@@ -83,32 +62,11 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
83 |
protected $_old_data = null;
|
84 |
|
85 |
/**
|
86 |
-
*
|
87 |
-
*
|
88 |
-
* @var int
|
89 |
-
*/
|
90 |
-
protected $_old_stock = null;
|
91 |
-
|
92 |
-
/**
|
93 |
-
* Old Product Stock Status.
|
94 |
-
*
|
95 |
-
* @var string
|
96 |
-
*/
|
97 |
-
protected $_old_stock_status = null;
|
98 |
-
|
99 |
-
/**
|
100 |
-
* Old Product File Names.
|
101 |
*
|
102 |
* @var array
|
103 |
*/
|
104 |
-
|
105 |
-
|
106 |
-
/**
|
107 |
-
* Old Product File URLs.
|
108 |
-
*
|
109 |
-
* @var array
|
110 |
-
*/
|
111 |
-
protected $_old_file_urls = array();
|
112 |
|
113 |
/**
|
114 |
* Old Attribute Data.
|
@@ -147,6 +105,15 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
147 |
'customer_email',
|
148 |
);
|
149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
/**
|
151 |
* Is Event 9067 Logged?
|
152 |
*
|
@@ -170,9 +137,10 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
170 |
*/
|
171 |
public function HookEvents() {
|
172 |
if ( current_user_can( 'edit_posts' ) ) {
|
173 |
-
add_action( 'admin_init', array( $this, '
|
174 |
}
|
175 |
-
add_action( '
|
|
|
176 |
add_action( 'delete_post', array( $this, 'EventDeleted' ), 10, 1 );
|
177 |
add_action( 'wp_trash_post', array( $this, 'EventTrashed' ), 10, 1 );
|
178 |
add_action( 'untrash_post', array( $this, 'EventUntrashed' ) );
|
@@ -191,14 +159,15 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
191 |
add_action( 'wsal_before_post_meta_create_event', array( $this, 'log_coupon_meta_created_event' ), 10, 4 );
|
192 |
add_action( 'wsal_before_post_meta_update_event', array( $this, 'log_coupon_meta_update_events' ), 10, 5 );
|
193 |
add_action( 'wsal_before_post_meta_delete_event', array( $this, 'log_coupon_meta_delete_event' ), 10, 4 );
|
|
|
|
|
|
|
194 |
}
|
195 |
|
196 |
/**
|
197 |
* Triggered when a user accesses the admin area.
|
198 |
*/
|
199 |
-
public function
|
200 |
-
// Load old data, if applicable.
|
201 |
-
$this->RetrieveOldData();
|
202 |
$this->CheckSettingsChange();
|
203 |
$this->retrieve_attribute_data();
|
204 |
$this->check_wc_ajax_change_events();
|
@@ -207,37 +176,90 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
207 |
/**
|
208 |
* Retrieve Old data.
|
209 |
*
|
210 |
-
* @
|
211 |
*/
|
212 |
-
|
213 |
-
//
|
214 |
-
$
|
215 |
|
216 |
-
if (
|
217 |
-
|
218 |
-
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
}
|
221 |
|
222 |
-
if (
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
}
|
240 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
}
|
242 |
}
|
243 |
|
@@ -261,82 +283,6 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
261 |
);
|
262 |
}
|
263 |
|
264 |
-
/**
|
265 |
-
* WooCommerce Product Updated.
|
266 |
-
*
|
267 |
-
* @param integer $post_id - Post ID.
|
268 |
-
* @param stdClass $newpost - The new post.
|
269 |
-
* @param stdClass $oldpost - The old post.
|
270 |
-
*/
|
271 |
-
public function EventChanged( $post_id, $newpost, $oldpost ) {
|
272 |
-
// Global variable which returns current page.
|
273 |
-
global $pagenow;
|
274 |
-
|
275 |
-
// @codingStandardsIgnoreStart
|
276 |
-
$wpnonce = isset( $_POST['_wpnonce'] ) ? sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ) : false;
|
277 |
-
$post_id = isset( $_POST['post_ID'] ) ? sanitize_text_field( wp_unslash( $_POST['post_ID'] ) ) : false;
|
278 |
-
// @codingStandardsIgnoreEnd
|
279 |
-
|
280 |
-
if (
|
281 |
-
'post.php' === $pagenow // Check post edit page.
|
282 |
-
&& $this->CheckWooCommerce( $oldpost ) // Check WooCommerce CPT.
|
283 |
-
&& is_admin() // Check if admin.
|
284 |
-
&& $wpnonce && $post_id // Check post id and nonce exists.
|
285 |
-
&& wp_verify_nonce( $wpnonce, 'update-post_' . $post_id ) // Verify nonce.
|
286 |
-
) {
|
287 |
-
$changes = 0 + $this->EventCreation( $oldpost, $newpost );
|
288 |
-
if ( ! $changes ) {
|
289 |
-
// Change Categories.
|
290 |
-
$changes = $this->CheckCategoriesChange( $this->_old_cats, $this->GetProductCategories( $newpost ), $oldpost, $newpost );
|
291 |
-
}
|
292 |
-
if ( ! $changes ) {
|
293 |
-
// Change Short description, Text, URL, Product Data, Date, Visibility, etc.
|
294 |
-
$changes = 0
|
295 |
-
+ $this->CheckShortDescriptionChange( $oldpost, $newpost )
|
296 |
-
+ $this->CheckTextChange( $oldpost, $newpost )
|
297 |
-
+ $this->CheckProductDataChange( $this->_old_data, $newpost )
|
298 |
-
+ $this->CheckDateChange( $oldpost, $newpost )
|
299 |
-
+ $this->CheckVisibilityChange( $oldpost )
|
300 |
-
+ $this->check_catalog_visibility_change( $oldpost )
|
301 |
-
+ $this->check_featured_product( $oldpost )
|
302 |
-
+ $this->CheckStatusChange( $oldpost, $newpost )
|
303 |
-
+ $this->CheckPriceChange( $oldpost )
|
304 |
-
+ $this->CheckSKUChange( $oldpost )
|
305 |
-
+ $this->CheckStockStatusChange( $oldpost )
|
306 |
-
+ $this->CheckStockQuantityChange( $oldpost )
|
307 |
-
+ $this->CheckTypeChange( $oldpost, $newpost )
|
308 |
-
+ $this->CheckWeightChange( $oldpost )
|
309 |
-
+ $this->CheckDimensionsChange( $oldpost )
|
310 |
-
+ $this->CheckDownloadableFileChange( $oldpost )
|
311 |
-
+ $this->check_backorders_setting( $oldpost )
|
312 |
-
+ $this->check_upsells_change( $oldpost )
|
313 |
-
+ $this->check_cross_sell_change( $oldpost )
|
314 |
-
+ $this->check_attributes_change( $oldpost )
|
315 |
-
+ $this->check_title_change( $oldpost, $newpost );
|
316 |
-
}
|
317 |
-
if ( ! $changes ) {
|
318 |
-
// Change Permalink.
|
319 |
-
$changes = $this->CheckPermalinkChange( $this->_old_link, get_post_permalink( $post_id, false, true ), $newpost );
|
320 |
-
if ( ! $changes ) {
|
321 |
-
// If no one of the above changes happen.
|
322 |
-
$this->CheckModifyChange( $oldpost, $newpost );
|
323 |
-
}
|
324 |
-
}
|
325 |
-
} elseif ( 'post.php' === $pagenow && 'shop_order' === $oldpost->post_type && is_admin() ) {
|
326 |
-
// Check order events.
|
327 |
-
$this->check_order_modify_change( $post_id, $oldpost, $newpost );
|
328 |
-
} elseif ( 'post.php' === $pagenow && 'shop_coupon' === $oldpost->post_type && is_admin() ) {
|
329 |
-
// Check coupon events.
|
330 |
-
$changes = 0 + $this->EventCreation( $oldpost, $newpost );
|
331 |
-
|
332 |
-
if ( ! $changes ) {
|
333 |
-
$this->CheckShortDescriptionChange( $oldpost, $newpost );
|
334 |
-
$this->CheckStatusChange( $oldpost, $newpost );
|
335 |
-
$this->check_title_change( $oldpost, $newpost );
|
336 |
-
}
|
337 |
-
}
|
338 |
-
}
|
339 |
-
|
340 |
/**
|
341 |
* WooCommerce Product/Coupon Created.
|
342 |
*
|
@@ -346,40 +292,34 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
346 |
* @param object $new_post - New Post.
|
347 |
*/
|
348 |
private function EventCreation( $old_post, $new_post ) {
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
// Ignore if original or new post type is draft.
|
353 |
-
if ( 'draft' === $original && 'draft' === $new_post->post_status ) {
|
354 |
-
return 0;
|
355 |
}
|
356 |
|
357 |
-
if ( '
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
);
|
376 |
-
return 1;
|
377 |
-
}
|
378 |
-
} elseif ( 'shop_coupon' === $old_post->post_type && 'publish' === $new_post->post_status ) {
|
379 |
-
$coupon_data = $this->get_coupon_event_data( $new_post );
|
380 |
-
$this->plugin->alerts->Trigger( 9063, $coupon_data );
|
381 |
return 1;
|
382 |
}
|
|
|
|
|
|
|
|
|
383 |
}
|
384 |
return 0;
|
385 |
}
|
@@ -418,7 +358,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
418 |
$old_cats = is_array( $old_cats ) ? implode( ', ', $old_cats ) : $old_cats;
|
419 |
$new_cats = is_array( $new_cats ) ? implode( ', ', $new_cats ) : $new_cats;
|
420 |
|
421 |
-
if ( $old_cats
|
422 |
$editor_link = $this->GetEditorLink( $newpost );
|
423 |
$this->plugin->alerts->Trigger(
|
424 |
9003, array(
|
@@ -502,7 +442,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
502 |
* @return int
|
503 |
*/
|
504 |
protected function CheckPermalinkChange( $old_link, $new_link, $post ) {
|
505 |
-
if ( $old_link && $new_link && ( $old_link
|
506 |
$editor_link = $this->GetEditorLink( $post );
|
507 |
$this->plugin->alerts->Trigger(
|
508 |
9006, array(
|
@@ -522,28 +462,25 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
522 |
/**
|
523 |
* Trigger events 9007
|
524 |
*
|
525 |
-
* @param
|
526 |
-
* @param object $post - Product object.
|
527 |
* @return int
|
528 |
*/
|
529 |
-
protected function
|
530 |
-
|
531 |
-
|
532 |
-
$new_data = sanitize_text_field( wp_unslash( $_POST['product-type'] ) ); // @codingStandardsIgnoreLine
|
533 |
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
}
|
547 |
}
|
548 |
return 0;
|
549 |
}
|
@@ -563,7 +500,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
563 |
$from = strtotime( $oldpost->post_date );
|
564 |
$to = strtotime( $newpost->post_date );
|
565 |
|
566 |
-
if ( $from
|
567 |
$editor_link = $this->GetEditorLink( $oldpost );
|
568 |
$this->plugin->alerts->Trigger(
|
569 |
9008, array(
|
@@ -582,29 +519,35 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
582 |
/**
|
583 |
* Trigger events 9009
|
584 |
*
|
585 |
-
* @param
|
|
|
586 |
* @return int
|
587 |
*/
|
588 |
-
protected function CheckVisibilityChange( $oldpost ) {
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
|
|
594 |
|
595 |
-
if (
|
596 |
$old_visibility = __( 'Password Protected', 'wp-security-audit-log' );
|
597 |
-
}
|
598 |
-
$old_visibility =
|
|
|
|
|
599 |
}
|
600 |
|
601 |
-
if (
|
602 |
$new_visibility = __( 'Password Protected', 'wp-security-audit-log' );
|
603 |
-
}
|
604 |
-
$new_visibility =
|
|
|
|
|
605 |
}
|
606 |
|
607 |
-
if (
|
608 |
$editor_link = $this->GetEditorLink( $oldpost );
|
609 |
$this->plugin->alerts->Trigger(
|
610 |
9009, array(
|
@@ -674,26 +617,25 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
674 |
*
|
675 |
* @since 3.3.1
|
676 |
*
|
677 |
-
* @param
|
678 |
* @return int
|
679 |
*/
|
680 |
-
protected function check_catalog_visibility_change( $
|
681 |
// Get product data.
|
682 |
-
$
|
683 |
-
$
|
684 |
-
$new_visibility = isset( $_POST['_visibility'] ) ? sanitize_text_field( wp_unslash( $_POST['_visibility'] ) ) : false; // @codingStandardsIgnoreLine
|
685 |
|
686 |
// Get WooCommerce visibility options.
|
687 |
-
$
|
688 |
|
689 |
if ( ( $old_visibility && $new_visibility ) && ( $old_visibility !== $new_visibility ) ) {
|
690 |
-
$editor_link = $this->GetEditorLink( $
|
691 |
$this->plugin->alerts->Trigger(
|
692 |
9042, array(
|
693 |
-
'ProductTitle' => $
|
694 |
-
'ProductStatus' => $
|
695 |
-
'OldVisibility' => isset( $
|
696 |
-
'NewVisibility' => isset( $
|
697 |
$editor_link['name'] => $editor_link['value'],
|
698 |
)
|
699 |
);
|
@@ -707,22 +649,20 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
707 |
*
|
708 |
* @since 3.3.1
|
709 |
*
|
710 |
-
* @param
|
711 |
* @return int
|
712 |
*/
|
713 |
-
protected function check_featured_product( $
|
714 |
-
|
715 |
-
$
|
716 |
-
$old_featured = $product_object->get_featured();
|
717 |
-
$new_featured = isset( $_POST['_featured'] ); // @codingStandardsIgnoreLine
|
718 |
|
719 |
if ( $old_featured !== $new_featured ) {
|
720 |
-
$editor_link = $this->GetEditorLink( $
|
721 |
$this->plugin->alerts->Trigger(
|
722 |
9043, array(
|
723 |
-
'ProductTitle' => $
|
724 |
-
'ProductStatus' => $
|
725 |
-
'Status' =>
|
726 |
$editor_link['name'] => $editor_link['value'],
|
727 |
)
|
728 |
);
|
@@ -744,10 +684,10 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
744 |
protected function check_backorders_setting( $oldpost, $old_backorder = '', $new_backorder = '' ) {
|
745 |
// Get product data.
|
746 |
if ( '' === $old_backorder ) {
|
747 |
-
$old_backorder =
|
748 |
}
|
749 |
if ( '' === $new_backorder ) {
|
750 |
-
$new_backorder = isset( $
|
751 |
}
|
752 |
|
753 |
if ( $old_backorder !== $new_backorder ) {
|
@@ -776,8 +716,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
776 |
*/
|
777 |
protected function check_upsells_change( $oldpost ) {
|
778 |
// Get product data.
|
779 |
-
$old_upsell_ids =
|
780 |
-
$new_upsell_ids = isset( $
|
781 |
|
782 |
// Compute the difference.
|
783 |
$added_upsells = array();
|
@@ -841,8 +781,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
841 |
*/
|
842 |
protected function check_cross_sell_change( $oldpost ) {
|
843 |
// Get product data.
|
844 |
-
$old_cross_sell_ids =
|
845 |
-
$new_cross_sell_ids = isset( $
|
846 |
|
847 |
// Compute the difference.
|
848 |
$added_cross_sells = array();
|
@@ -1094,24 +1034,21 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1094 |
/**
|
1095 |
* Trigger events 9016
|
1096 |
*
|
1097 |
-
* @param
|
1098 |
* @return int
|
1099 |
*/
|
1100 |
-
protected function CheckPriceChange( $
|
1101 |
$result = 0;
|
1102 |
-
$old_price =
|
1103 |
-
$old_sale_price =
|
1104 |
-
|
1105 |
-
|
1106 |
-
$new_price = isset( $_POST['_regular_price'] ) ? sanitize_text_field( wp_unslash( $_POST['_regular_price'] ) ) : null;
|
1107 |
-
$new_sale_price = isset( $_POST['_sale_price'] ) ? sanitize_text_field( wp_unslash( $_POST['_sale_price'] ) ) : null;
|
1108 |
-
// @codingStandardsIgnoreEnd
|
1109 |
|
1110 |
if ( ( $new_price ) && ( $old_price !== $new_price ) ) {
|
1111 |
-
$result = $this->EventPrice( $
|
1112 |
}
|
1113 |
if ( ( $new_sale_price ) && ( $old_sale_price !== $new_sale_price ) ) {
|
1114 |
-
$result = $this->EventPrice( $
|
1115 |
}
|
1116 |
return $result;
|
1117 |
}
|
@@ -1119,21 +1056,21 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1119 |
/**
|
1120 |
* Group the Price changes in one function
|
1121 |
*
|
1122 |
-
* @param object $
|
1123 |
* @param string $type - Price Type.
|
1124 |
* @param int $old_price - Old Product Price.
|
1125 |
* @param int $new_price - New Product Price.
|
1126 |
* @return int
|
1127 |
*/
|
1128 |
-
private function EventPrice( $
|
1129 |
$currency = $this->GetCurrencySymbol( $this->GetConfig( 'currency' ) );
|
1130 |
-
$editor_link = $this->GetEditorLink( $
|
1131 |
$this->plugin->alerts->Trigger(
|
1132 |
9016, array(
|
1133 |
-
'ProductTitle' => $
|
1134 |
-
'ProductStatus' => $
|
1135 |
'PriceType' => $type,
|
1136 |
-
'OldPrice' =>
|
1137 |
'NewPrice' => $currency . $new_price,
|
1138 |
$editor_link['name'] => $editor_link['value'],
|
1139 |
)
|
@@ -1151,8 +1088,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1151 |
*/
|
1152 |
protected function CheckSKUChange( $oldpost, $old_sku = '', $new_sku = '' ) {
|
1153 |
if ( '' === $old_sku && '' === $new_sku ) {
|
1154 |
-
$old_sku =
|
1155 |
-
$new_sku = isset( $
|
1156 |
}
|
1157 |
|
1158 |
if ( $new_sku && ( $old_sku !== $new_sku ) ) {
|
@@ -1161,7 +1098,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1161 |
9017, array(
|
1162 |
'ProductTitle' => $oldpost->post_title,
|
1163 |
'ProductStatus' => $oldpost->post_status,
|
1164 |
-
'OldSku' =>
|
1165 |
'NewSku' => $new_sku,
|
1166 |
$editor_link['name'] => $editor_link['value'],
|
1167 |
)
|
@@ -1181,8 +1118,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1181 |
*/
|
1182 |
protected function CheckStockStatusChange( $oldpost, $old_status = '', $new_status = '' ) {
|
1183 |
if ( '' === $old_status && '' === $new_status ) {
|
1184 |
-
$old_status = $this->
|
1185 |
-
$new_status = isset( $
|
1186 |
}
|
1187 |
|
1188 |
if ( ( $old_status && $new_status ) && ( $old_status !== $new_status ) ) {
|
@@ -1211,8 +1148,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1211 |
*/
|
1212 |
protected function CheckStockQuantityChange( $oldpost, $old_value = false, $new_value = false ) {
|
1213 |
if ( false === $old_value && false === $new_value ) {
|
1214 |
-
$old_value = (
|
1215 |
-
$new_value = isset( $
|
1216 |
}
|
1217 |
|
1218 |
if ( $new_value && ( $old_value !== $new_value ) ) {
|
@@ -1257,8 +1194,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1257 |
|
1258 |
// Get simple product virtual data.
|
1259 |
if ( false === $virtual ) {
|
1260 |
-
$old_virtual =
|
1261 |
-
$new_virtual = isset( $
|
1262 |
} elseif ( is_array( $virtual ) ) {
|
1263 |
$old_virtual = ( isset( $virtual['old'] ) && $virtual['old'] ) ? 'yes' : 'no';
|
1264 |
$new_virtual = ( isset( $virtual['new'] ) && $virtual['new'] ) ? 'yes' : 'no';
|
@@ -1266,8 +1203,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1266 |
|
1267 |
// Get simple product downloadable data.
|
1268 |
if ( false === $download ) {
|
1269 |
-
$old_download =
|
1270 |
-
$new_download = isset( $
|
1271 |
} elseif ( is_array( $download ) ) {
|
1272 |
$old_download = ( isset( $download['old'] ) && $download['old'] ) ? 'yes' : 'no';
|
1273 |
$new_download = ( isset( $download['new'] ) && $download['new'] ) ? 'yes' : 'no';
|
@@ -1337,8 +1274,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1337 |
*/
|
1338 |
protected function CheckWeightChange( $oldpost, $old_weight = '', $new_weight = '' ) {
|
1339 |
if ( '' === $old_weight && '' === $new_weight ) {
|
1340 |
-
$old_weight =
|
1341 |
-
$new_weight = isset( $
|
1342 |
}
|
1343 |
|
1344 |
if ( $new_weight && ( $old_weight !== $new_weight ) ) {
|
@@ -1380,8 +1317,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1380 |
|
1381 |
// Length.
|
1382 |
if ( false === $length ) {
|
1383 |
-
$old_length =
|
1384 |
-
$new_length = isset( $
|
1385 |
} elseif ( is_array( $length ) ) {
|
1386 |
$old_length = isset( $length['old'] ) ? $length['old'] : false;
|
1387 |
$new_length = isset( $length['new'] ) ? $length['new'] : false;
|
@@ -1389,8 +1326,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1389 |
|
1390 |
// Width.
|
1391 |
if ( false === $width ) {
|
1392 |
-
$old_width =
|
1393 |
-
$new_width = isset( $
|
1394 |
} elseif ( is_array( $width ) ) {
|
1395 |
$old_width = isset( $width['old'] ) ? $width['old'] : false;
|
1396 |
$new_width = isset( $width['new'] ) ? $width['new'] : false;
|
@@ -1398,8 +1335,8 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1398 |
|
1399 |
// Height.
|
1400 |
if ( false === $height ) {
|
1401 |
-
$old_height =
|
1402 |
-
$new_height = isset( $
|
1403 |
} elseif ( is_array( $height ) ) {
|
1404 |
$old_height = isset( $height['old'] ) ? $height['old'] : false;
|
1405 |
$new_height = isset( $height['new'] ) ? $height['new'] : false;
|
@@ -1452,31 +1389,34 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1452 |
*/
|
1453 |
protected function CheckDownloadableFileChange( $oldpost, $file_names = false, $file_urls = false ) {
|
1454 |
// Get product data.
|
1455 |
-
$result
|
1456 |
-
$is_url_changed
|
1457 |
-
$
|
1458 |
-
$editor_link = $this->GetEditorLink( $oldpost );
|
1459 |
|
1460 |
if ( false === $file_names ) {
|
1461 |
-
$
|
|
|
1462 |
} else {
|
1463 |
-
$
|
|
|
1464 |
}
|
1465 |
|
1466 |
if ( false === $file_urls ) {
|
1467 |
-
$
|
|
|
1468 |
} else {
|
1469 |
-
$
|
|
|
1470 |
}
|
1471 |
|
1472 |
-
$added_urls = array_diff( $new_file_urls, $
|
1473 |
-
$removed_urls = array_diff( $
|
1474 |
-
$added_names = array_diff( $new_file_names, $
|
1475 |
|
1476 |
// Added files to the product.
|
1477 |
if ( count( $added_urls ) > 0 ) {
|
1478 |
// If the file has only changed URL.
|
1479 |
-
if ( count( $new_file_urls ) === count( $
|
1480 |
$is_url_changed = true;
|
1481 |
} else {
|
1482 |
foreach ( $added_urls as $key => $url ) {
|
@@ -1497,7 +1437,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1497 |
// Removed files from the product.
|
1498 |
if ( count( $removed_urls ) > 0 ) {
|
1499 |
// If the file has only changed URL.
|
1500 |
-
if ( count( $new_file_urls ) === count( $
|
1501 |
$is_url_changed = true;
|
1502 |
} else {
|
1503 |
foreach ( $removed_urls as $key => $url ) {
|
@@ -1505,7 +1445,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1505 |
9024, array(
|
1506 |
'ProductTitle' => $oldpost->post_title,
|
1507 |
'ProductStatus' => $oldpost->post_status,
|
1508 |
-
'FileName' => $
|
1509 |
'FileUrl' => $url,
|
1510 |
$editor_link['name'] => $editor_link['value'],
|
1511 |
)
|
@@ -1517,13 +1457,13 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1517 |
|
1518 |
if ( count( $added_names ) > 0 ) {
|
1519 |
// If the file has only changed Name.
|
1520 |
-
if ( count( $new_file_names ) === count( $
|
1521 |
foreach ( $added_names as $key => $name ) {
|
1522 |
$this->plugin->alerts->Trigger(
|
1523 |
9025, array(
|
1524 |
'ProductTitle' => $oldpost->post_title,
|
1525 |
'ProductStatus' => $oldpost->post_status,
|
1526 |
-
'OldName' => $
|
1527 |
'NewName' => $name,
|
1528 |
$editor_link['name'] => $editor_link['value'],
|
1529 |
)
|
@@ -1721,7 +1661,7 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1721 |
if ( $old_tax_round !== $new_tax_round ) {
|
1722 |
$this->plugin->alerts->Trigger( 9081, array( 'Status' => 'yes' === $new_tax_round ? 'Enabled' : 'Disabled' ) );
|
1723 |
}
|
1724 |
-
}
|
1725 |
// "Enable Coupon" event.
|
1726 |
$old_enable_coupons = $this->GetConfig( 'enable_coupons' );
|
1727 |
$new_enable_coupons = isset( $_POST['woocommerce_enable_coupons'] ) ? 'yes' : 'no';
|
@@ -1826,7 +1766,6 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1826 |
if ( ! $zone_id && isset( $_POST['changes']['zone_name'] ) ) {
|
1827 |
// Get zone details.
|
1828 |
$zone_name = sanitize_text_field( wp_unslash( $_POST['changes']['zone_name'] ) );
|
1829 |
-
|
1830 |
$this->plugin->alerts->Trigger(
|
1831 |
9082, array(
|
1832 |
'ShippingZoneStatus' => 'Added',
|
@@ -1896,17 +1835,61 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
1896 |
}
|
1897 |
|
1898 |
/**
|
1899 |
-
*
|
1900 |
-
*
|
1901 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1902 |
* @return array
|
1903 |
*/
|
1904 |
-
protected function GetProductData( $
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1909 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
1910 |
}
|
1911 |
|
1912 |
/**
|
@@ -2231,17 +2214,19 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
2231 |
*
|
2232 |
* @since 3.3.1
|
2233 |
*
|
2234 |
-
* @param int|WC_Order $
|
2235 |
* @return string
|
2236 |
*/
|
2237 |
-
private function get_order_title( $
|
2238 |
-
if ( ! $
|
2239 |
return false;
|
2240 |
}
|
2241 |
-
if (
|
2242 |
-
$order =
|
|
|
|
|
2243 |
}
|
2244 |
-
if ( ! $order
|
2245 |
return false;
|
2246 |
}
|
2247 |
|
@@ -2837,18 +2822,17 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
2837 |
$this->CheckDimensionsChange( $product, $length, $width, $height );
|
2838 |
|
2839 |
// Check product downloads change.
|
2840 |
-
$
|
2841 |
-
$
|
2842 |
-
$
|
|
|
2843 |
|
2844 |
// Set product old downloads data.
|
2845 |
-
|
2846 |
-
|
2847 |
-
|
2848 |
-
array_push( $this->_old_file_urls, $download->get_file() );
|
2849 |
-
}
|
2850 |
}
|
2851 |
-
$this->CheckDownloadableFileChange( $product, $
|
2852 |
|
2853 |
// Check backorders change.
|
2854 |
$old_backorder = $variation->get_backorders();
|
@@ -3175,4 +3159,111 @@ class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
|
3175 |
}
|
3176 |
return $log_event;
|
3177 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3178 |
}
|
15 |
/**
|
16 |
* Support for WooCommerce Plugin.
|
17 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
* @package Wsal
|
|
|
19 |
*/
|
20 |
class WSAL_Sensors_WooCommerce extends WSAL_AbstractSensor {
|
21 |
|
22 |
+
/**
|
23 |
+
* WooCommerce Product Object.
|
24 |
+
*
|
25 |
+
* @var WC_Product
|
26 |
+
*/
|
27 |
+
private $old_product = null;
|
28 |
+
|
29 |
/**
|
30 |
* Old Post.
|
31 |
*
|
33 |
*/
|
34 |
protected $_old_post = null;
|
35 |
|
36 |
+
/**
|
37 |
+
* Old Status.
|
38 |
+
*
|
39 |
+
* @var string
|
40 |
+
*/
|
41 |
+
protected $old_status = null;
|
42 |
+
|
43 |
/**
|
44 |
* Old Post Link.
|
45 |
*
|
62 |
protected $_old_data = null;
|
63 |
|
64 |
/**
|
65 |
+
* New Product Data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
*
|
67 |
* @var array
|
68 |
*/
|
69 |
+
private $new_data = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
/**
|
72 |
* Old Attribute Data.
|
105 |
'customer_email',
|
106 |
);
|
107 |
|
108 |
+
/**
|
109 |
+
* WC User Meta.
|
110 |
+
*
|
111 |
+
* @since 3.4
|
112 |
+
*
|
113 |
+
* @var array
|
114 |
+
*/
|
115 |
+
private $wc_user_meta = array();
|
116 |
+
|
117 |
/**
|
118 |
* Is Event 9067 Logged?
|
119 |
*
|
137 |
*/
|
138 |
public function HookEvents() {
|
139 |
if ( current_user_can( 'edit_posts' ) ) {
|
140 |
+
add_action( 'admin_init', array( $this, 'event_admin_init' ) );
|
141 |
}
|
142 |
+
add_action( 'pre_post_update', array( $this, 'get_before_post_edit_data' ), 10, 2 );
|
143 |
+
add_action( 'save_post', array( $this, 'EventChanged' ), 10, 3 );
|
144 |
add_action( 'delete_post', array( $this, 'EventDeleted' ), 10, 1 );
|
145 |
add_action( 'wp_trash_post', array( $this, 'EventTrashed' ), 10, 1 );
|
146 |
add_action( 'untrash_post', array( $this, 'EventUntrashed' ) );
|
159 |
add_action( 'wsal_before_post_meta_create_event', array( $this, 'log_coupon_meta_created_event' ), 10, 4 );
|
160 |
add_action( 'wsal_before_post_meta_update_event', array( $this, 'log_coupon_meta_update_events' ), 10, 5 );
|
161 |
add_action( 'wsal_before_post_meta_delete_event', array( $this, 'log_coupon_meta_delete_event' ), 10, 4 );
|
162 |
+
add_action( 'update_user_meta', array( $this, 'before_wc_user_meta_update' ), 10, 3 );
|
163 |
+
add_action( 'added_user_meta', array( $this, 'wc_user_meta_updated' ), 10, 4 );
|
164 |
+
add_action( 'updated_user_meta', array( $this, 'wc_user_meta_updated' ), 10, 4 );
|
165 |
}
|
166 |
|
167 |
/**
|
168 |
* Triggered when a user accesses the admin area.
|
169 |
*/
|
170 |
+
public function event_admin_init() {
|
|
|
|
|
171 |
$this->CheckSettingsChange();
|
172 |
$this->retrieve_attribute_data();
|
173 |
$this->check_wc_ajax_change_events();
|
176 |
/**
|
177 |
* Retrieve Old data.
|
178 |
*
|
179 |
+
* @param integer $post_id - Product ID.
|
180 |
*/
|
181 |
+
public function get_before_post_edit_data( $post_id ) {
|
182 |
+
$post_id = (int) $post_id; // Making sure that the post id is integer.
|
183 |
+
$post = get_post( $post_id ); // Get post.
|
184 |
|
185 |
+
if ( ! empty( $post ) && $post instanceof WP_Post ) {
|
186 |
+
$this->_old_post = $post;
|
187 |
+
$this->old_product = 'product' === $post->post_type ? wc_get_product( $post->ID ) : null;
|
188 |
+
$this->old_status = $post->post_status;
|
189 |
+
$this->_old_link = get_post_permalink( $post_id, false, true );
|
190 |
+
$this->_old_cats = 'product' === $post->post_type ? $this->GetProductCategories( $this->_old_post ) : null;
|
191 |
+
$this->_old_data = 'product' === $post->post_type ? $this->GetProductData( $this->old_product ) : null;
|
192 |
+
}
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* WooCommerce Product Updated.
|
197 |
+
*
|
198 |
+
* @param integer $post_id - Post ID.
|
199 |
+
* @param WP_Post $post - WC Product CPT object.
|
200 |
+
* @param integer $update - True if product update, false if product is new.
|
201 |
+
*/
|
202 |
+
public function EventChanged( $post_id, $post, $update ) {
|
203 |
+
if ( ! $update ) {
|
204 |
+
$this->EventCreation( $this->_old_post, $post );
|
205 |
+
return;
|
206 |
}
|
207 |
|
208 |
+
if ( 'product' === $post->post_type ) {
|
209 |
+
if (
|
210 |
+
( 'auto-draft' === $this->_old_post->post_status && 'draft' === $post->post_status ) // Saving draft.
|
211 |
+
|| ( 'draft' === $this->_old_post->post_status && 'publish' === $post->post_status ) // Publishing post.
|
212 |
+
) {
|
213 |
+
$this->EventCreation( $this->_old_post, $post );
|
214 |
+
} else {
|
215 |
+
// Get new woocommerce product object.
|
216 |
+
$new_product = wc_get_product( $post->ID );
|
217 |
+
$this->new_data = $this->GetProductData( $new_product );
|
218 |
+
|
219 |
+
$changes = 0;
|
220 |
+
$changes = $this->CheckCategoriesChange( $this->_old_cats, $this->GetProductCategories( $post ), $this->_old_post, $post )
|
221 |
+
+ $this->CheckShortDescriptionChange( $this->_old_post, $post )
|
222 |
+
+ $this->CheckTextChange( $this->_old_post, $post )
|
223 |
+
+ $this->CheckDateChange( $this->_old_post, $post )
|
224 |
+
+ $this->CheckVisibilityChange( $this->_old_post, $post )
|
225 |
+
+ $this->CheckStatusChange( $this->_old_post, $post )
|
226 |
+
+ $this->check_title_change( $this->_old_post, $post )
|
227 |
+
+ $this->check_product_type_change( $this->_old_post )
|
228 |
+
+ $this->check_catalog_visibility_change( $this->_old_post )
|
229 |
+
+ $this->check_featured_product( $this->_old_post )
|
230 |
+
+ $this->CheckPriceChange( $this->_old_post )
|
231 |
+
+ $this->CheckSKUChange( $this->_old_post )
|
232 |
+
+ $this->CheckStockStatusChange( $this->_old_post )
|
233 |
+
+ $this->CheckStockQuantityChange( $this->_old_post )
|
234 |
+
+ $this->CheckTypeChange( $this->_old_post, $post )
|
235 |
+
+ $this->CheckWeightChange( $this->_old_post )
|
236 |
+
+ $this->CheckDimensionsChange( $this->_old_post )
|
237 |
+
+ $this->CheckDownloadableFileChange( $this->_old_post )
|
238 |
+
+ $this->check_backorders_setting( $this->_old_post )
|
239 |
+
+ $this->check_upsells_change( $this->_old_post )
|
240 |
+
+ $this->check_cross_sell_change( $this->_old_post )
|
241 |
+
+ $this->check_attributes_change( $this->_old_post );
|
242 |
+
if ( ! $changes ) {
|
243 |
+
// Change Permalink.
|
244 |
+
$changes = $this->CheckPermalinkChange( $this->_old_link, get_post_permalink( $post_id, false, true ), $post );
|
245 |
+
if ( ! $changes ) {
|
246 |
+
// If no one of the above changes happen.
|
247 |
+
$this->CheckModifyChange( $this->_old_post, $post );
|
248 |
+
}
|
249 |
}
|
250 |
}
|
251 |
+
} elseif ( 'shop_order' === $post->post_type ) {
|
252 |
+
// Check order events.
|
253 |
+
$this->check_order_modify_change( $post_id, $this->_old_post, $post );
|
254 |
+
} elseif ( 'shop_coupon' === $post->post_type ) {
|
255 |
+
// Check coupon events.
|
256 |
+
$changes = 0 + $this->EventCreation( $this->_old_post, $post );
|
257 |
+
|
258 |
+
if ( ! $changes ) {
|
259 |
+
$this->CheckShortDescriptionChange( $this->_old_post, $post );
|
260 |
+
$this->CheckStatusChange( $this->_old_post, $post );
|
261 |
+
$this->check_title_change( $this->_old_post, $post );
|
262 |
+
}
|
263 |
}
|
264 |
}
|
265 |
|
283 |
);
|
284 |
}
|
285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
/**
|
287 |
* WooCommerce Product/Coupon Created.
|
288 |
*
|
292 |
* @param object $new_post - New Post.
|
293 |
*/
|
294 |
private function EventCreation( $old_post, $new_post ) {
|
295 |
+
if ( ! $old_post instanceof WP_Post || ! $new_post instanceof WP_Post ) {
|
296 |
+
return;
|
|
|
|
|
|
|
|
|
297 |
}
|
298 |
|
299 |
+
if ( 'product' === $old_post->post_type ) {
|
300 |
+
$editor_link = $this->GetEditorLink( $new_post );
|
301 |
+
if ( 'publish' === $new_post->post_status ) {
|
302 |
+
$this->plugin->alerts->Trigger(
|
303 |
+
9001, array(
|
304 |
+
'ProductTitle' => $new_post->post_title,
|
305 |
+
'ProductUrl' => get_post_permalink( $new_post->ID ),
|
306 |
+
$editor_link['name'] => $editor_link['value'],
|
307 |
+
)
|
308 |
+
);
|
309 |
+
return 1;
|
310 |
+
} else {
|
311 |
+
$this->plugin->alerts->Trigger(
|
312 |
+
9000, array(
|
313 |
+
'ProductTitle' => $new_post->post_title,
|
314 |
+
$editor_link['name'] => $editor_link['value'],
|
315 |
+
)
|
316 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
return 1;
|
318 |
}
|
319 |
+
} elseif ( 'shop_coupon' === $old_post->post_type && 'publish' === $new_post->post_status ) {
|
320 |
+
$coupon_data = $this->get_coupon_event_data( $new_post );
|
321 |
+
$this->plugin->alerts->Trigger( 9063, $coupon_data );
|
322 |
+
return 1;
|
323 |
}
|
324 |
return 0;
|
325 |
}
|
358 |
$old_cats = is_array( $old_cats ) ? implode( ', ', $old_cats ) : $old_cats;
|
359 |
$new_cats = is_array( $new_cats ) ? implode( ', ', $new_cats ) : $new_cats;
|
360 |
|
361 |
+
if ( $old_cats !== $new_cats ) {
|
362 |
$editor_link = $this->GetEditorLink( $newpost );
|
363 |
$this->plugin->alerts->Trigger(
|
364 |
9003, array(
|
442 |
* @return int
|
443 |
*/
|
444 |
protected function CheckPermalinkChange( $old_link, $new_link, $post ) {
|
445 |
+
if ( $old_link && $new_link && ( $old_link !== $new_link ) ) {
|
446 |
$editor_link = $this->GetEditorLink( $post );
|
447 |
$this->plugin->alerts->Trigger(
|
448 |
9006, array(
|
462 |
/**
|
463 |
* Trigger events 9007
|
464 |
*
|
465 |
+
* @param WP_Post $post - Product object.
|
|
|
466 |
* @return int
|
467 |
*/
|
468 |
+
protected function check_product_type_change( $post ) {
|
469 |
+
$old_type = isset( $this->_old_data['type'] ) ? $this->_old_data['type'] : false;
|
470 |
+
$new_type = isset( $this->new_data['type'] ) ? $this->new_data['type'] : false;
|
|
|
471 |
|
472 |
+
if ( $old_type !== $new_type ) {
|
473 |
+
$editor_link = $this->GetEditorLink( $post );
|
474 |
+
$this->plugin->alerts->Trigger(
|
475 |
+
9007, array(
|
476 |
+
'ProductTitle' => $post->post_title,
|
477 |
+
'ProductStatus' => $post->post_status,
|
478 |
+
'OldType' => $old_type,
|
479 |
+
'NewType' => $new_type,
|
480 |
+
$editor_link['name'] => $editor_link['value'],
|
481 |
+
)
|
482 |
+
);
|
483 |
+
return 1;
|
|
|
484 |
}
|
485 |
return 0;
|
486 |
}
|
500 |
$from = strtotime( $oldpost->post_date );
|
501 |
$to = strtotime( $newpost->post_date );
|
502 |
|
503 |
+
if ( $from !== $to ) {
|
504 |
$editor_link = $this->GetEditorLink( $oldpost );
|
505 |
$this->plugin->alerts->Trigger(
|
506 |
9008, array(
|
519 |
/**
|
520 |
* Trigger events 9009
|
521 |
*
|
522 |
+
* @param WP_Post $oldpost - Old product object.
|
523 |
+
* @param WP_Post $newpost - New product object.
|
524 |
* @return int
|
525 |
*/
|
526 |
+
protected function CheckVisibilityChange( $oldpost, $newpost ) {
|
527 |
+
if ( 'draft' === $this->old_status || 'draft' === $newpost->post_status ) {
|
528 |
+
return;
|
529 |
+
}
|
530 |
+
|
531 |
+
$old_visibility = '';
|
532 |
+
$new_visibility = '';
|
533 |
|
534 |
+
if ( $oldpost->post_password ) {
|
535 |
$old_visibility = __( 'Password Protected', 'wp-security-audit-log' );
|
536 |
+
} elseif ( 'publish' === $this->old_status ) {
|
537 |
+
$old_visibility = __( 'Public', 'wp-security-audit-log' );
|
538 |
+
} elseif ( 'private' === $this->old_status ) {
|
539 |
+
$old_visibility = __( 'Private', 'wp-security-audit-log' );
|
540 |
}
|
541 |
|
542 |
+
if ( $newpost->post_password ) {
|
543 |
$new_visibility = __( 'Password Protected', 'wp-security-audit-log' );
|
544 |
+
} elseif ( 'publish' === $newpost->post_status ) {
|
545 |
+
$new_visibility = __( 'Public', 'wp-security-audit-log' );
|
546 |
+
} elseif ( 'private' === $newpost->post_status ) {
|
547 |
+
$new_visibility = __( 'Private', 'wp-security-audit-log' );
|
548 |
}
|
549 |
|
550 |
+
if ( $old_visibility && $new_visibility && ( $old_visibility !== $new_visibility ) ) {
|
551 |
$editor_link = $this->GetEditorLink( $oldpost );
|
552 |
$this->plugin->alerts->Trigger(
|
553 |
9009, array(
|
617 |
*
|
618 |
* @since 3.3.1
|
619 |
*
|
620 |
+
* @param WP_Post $post - Product object.
|
621 |
* @return int
|
622 |
*/
|
623 |
+
protected function check_catalog_visibility_change( $post ) {
|
624 |
// Get product data.
|
625 |
+
$old_visibility = isset( $this->_old_data['catalog_visibility'] ) ? $this->_old_data['catalog_visibility'] : false;
|
626 |
+
$new_visibility = isset( $this->new_data['catalog_visibility'] ) ? $this->new_data['catalog_visibility'] : false;
|
|
|
627 |
|
628 |
// Get WooCommerce visibility options.
|
629 |
+
$wc_visibilities = wc_get_product_visibility_options();
|
630 |
|
631 |
if ( ( $old_visibility && $new_visibility ) && ( $old_visibility !== $new_visibility ) ) {
|
632 |
+
$editor_link = $this->GetEditorLink( $post );
|
633 |
$this->plugin->alerts->Trigger(
|
634 |
9042, array(
|
635 |
+
'ProductTitle' => $post->post_title,
|
636 |
+
'ProductStatus' => $post->post_status,
|
637 |
+
'OldVisibility' => isset( $wc_visibilities[ $old_visibility ] ) ? $wc_visibilities[ $old_visibility ] : false,
|
638 |
+
'NewVisibility' => isset( $wc_visibilities[ $new_visibility ] ) ? $wc_visibilities[ $new_visibility ] : false,
|
639 |
$editor_link['name'] => $editor_link['value'],
|
640 |
)
|
641 |
);
|
649 |
*
|
650 |
* @since 3.3.1
|
651 |
*
|
652 |
+
* @param WP_Post $post - Product object.
|
653 |
* @return int
|
654 |
*/
|
655 |
+
protected function check_featured_product( $post ) {
|
656 |
+
$old_featured = isset( $this->_old_data['featured'] ) ? $this->_old_data['featured'] : false;
|
657 |
+
$new_featured = isset( $this->new_data['featured'] ) ? $this->new_data['featured'] : false;
|
|
|
|
|
658 |
|
659 |
if ( $old_featured !== $new_featured ) {
|
660 |
+
$editor_link = $this->GetEditorLink( $post );
|
661 |
$this->plugin->alerts->Trigger(
|
662 |
9043, array(
|
663 |
+
'ProductTitle' => $post->post_title,
|
664 |
+
'ProductStatus' => $post->post_status,
|
665 |
+
'Status' => $new_featured ? 'Enabled' : 'Disabled',
|
666 |
$editor_link['name'] => $editor_link['value'],
|
667 |
)
|
668 |
);
|
684 |
protected function check_backorders_setting( $oldpost, $old_backorder = '', $new_backorder = '' ) {
|
685 |
// Get product data.
|
686 |
if ( '' === $old_backorder ) {
|
687 |
+
$old_backorder = isset( $this->_old_data['backorders'] ) ? $this->_old_data['backorders'] : false;
|
688 |
}
|
689 |
if ( '' === $new_backorder ) {
|
690 |
+
$new_backorder = isset( $this->new_data['backorders'] ) ? $this->new_data['backorders'] : false;
|
691 |
}
|
692 |
|
693 |
if ( $old_backorder !== $new_backorder ) {
|
716 |
*/
|
717 |
protected function check_upsells_change( $oldpost ) {
|
718 |
// Get product data.
|
719 |
+
$old_upsell_ids = isset( $this->_old_data['upsell_ids'] ) ? $this->_old_data['upsell_ids'] : false;
|
720 |
+
$new_upsell_ids = isset( $this->new_data['upsell_ids'] ) ? $this->new_data['upsell_ids'] : false;
|
721 |
|
722 |
// Compute the difference.
|
723 |
$added_upsells = array();
|
781 |
*/
|
782 |
protected function check_cross_sell_change( $oldpost ) {
|
783 |
// Get product data.
|
784 |
+
$old_cross_sell_ids = isset( $this->_old_data['cross_sell_ids'] ) ? $this->_old_data['cross_sell_ids'] : false;
|
785 |
+
$new_cross_sell_ids = isset( $this->new_data['cross_sell_ids'] ) ? $this->new_data['cross_sell_ids'] : false;
|
786 |
|
787 |
// Compute the difference.
|
788 |
$added_cross_sells = array();
|
1034 |
/**
|
1035 |
* Trigger events 9016
|
1036 |
*
|
1037 |
+
* @param WP_Post $post - Product object.
|
1038 |
* @return int
|
1039 |
*/
|
1040 |
+
protected function CheckPriceChange( $post ) {
|
1041 |
$result = 0;
|
1042 |
+
$old_price = isset( $this->_old_data['regular_price'] ) ? $this->_old_data['regular_price'] : false;
|
1043 |
+
$old_sale_price = isset( $this->_old_data['sale_price'] ) ? $this->_old_data['sale_price'] : false;
|
1044 |
+
$new_price = isset( $this->new_data['regular_price'] ) ? $this->new_data['regular_price'] : false;
|
1045 |
+
$new_sale_price = isset( $this->new_data['sale_price'] ) ? $this->new_data['sale_price'] : false;
|
|
|
|
|
|
|
1046 |
|
1047 |
if ( ( $new_price ) && ( $old_price !== $new_price ) ) {
|
1048 |
+
$result = $this->EventPrice( $post, 'Regular price', $old_price, $new_price );
|
1049 |
}
|
1050 |
if ( ( $new_sale_price ) && ( $old_sale_price !== $new_sale_price ) ) {
|
1051 |
+
$result = $this->EventPrice( $post, 'Sale price', $old_sale_price, $new_sale_price );
|
1052 |
}
|
1053 |
return $result;
|
1054 |
}
|
1056 |
/**
|
1057 |
* Group the Price changes in one function
|
1058 |
*
|
1059 |
+
* @param object $post - Old Product Object.
|
1060 |
* @param string $type - Price Type.
|
1061 |
* @param int $old_price - Old Product Price.
|
1062 |
* @param int $new_price - New Product Price.
|
1063 |
* @return int
|
1064 |
*/
|
1065 |
+
private function EventPrice( $post, $type, $old_price, $new_price ) {
|
1066 |
$currency = $this->GetCurrencySymbol( $this->GetConfig( 'currency' ) );
|
1067 |
+
$editor_link = $this->GetEditorLink( $post );
|
1068 |
$this->plugin->alerts->Trigger(
|
1069 |
9016, array(
|
1070 |
+
'ProductTitle' => $post->post_title,
|
1071 |
+
'ProductStatus' => $post->post_status,
|
1072 |
'PriceType' => $type,
|
1073 |
+
'OldPrice' => ! empty( $old_price ) ? $currency . $old_price : 0,
|
1074 |
'NewPrice' => $currency . $new_price,
|
1075 |
$editor_link['name'] => $editor_link['value'],
|
1076 |
)
|
1088 |
*/
|
1089 |
protected function CheckSKUChange( $oldpost, $old_sku = '', $new_sku = '' ) {
|
1090 |
if ( '' === $old_sku && '' === $new_sku ) {
|
1091 |
+
$old_sku = isset( $this->_old_data['sku'] ) ? $this->_old_data['sku'] : false;
|
1092 |
+
$new_sku = isset( $this->new_data['sku'] ) ? $this->new_data['sku'] : false;
|
1093 |
}
|
1094 |
|
1095 |
if ( $new_sku && ( $old_sku !== $new_sku ) ) {
|
1098 |
9017, array(
|
1099 |
'ProductTitle' => $oldpost->post_title,
|
1100 |
'ProductStatus' => $oldpost->post_status,
|
1101 |
+
'OldSku' => ! empty( $old_sku ) ? $old_sku : 0,
|
1102 |
'NewSku' => $new_sku,
|
1103 |
$editor_link['name'] => $editor_link['value'],
|
1104 |
)
|
1118 |
*/
|
1119 |
protected function CheckStockStatusChange( $oldpost, $old_status = '', $new_status = '' ) {
|
1120 |
if ( '' === $old_status && '' === $new_status ) {
|
1121 |
+
$old_status = isset( $this->_old_data['stock_status'] ) ? $this->_old_data['stock_status'] : false;
|
1122 |
+
$new_status = isset( $this->new_data['stock_status'] ) ? $this->new_data['stock_status'] : false;
|
1123 |
}
|
1124 |
|
1125 |
if ( ( $old_status && $new_status ) && ( $old_status !== $new_status ) ) {
|
1148 |
*/
|
1149 |
protected function CheckStockQuantityChange( $oldpost, $old_value = false, $new_value = false ) {
|
1150 |
if ( false === $old_value && false === $new_value ) {
|
1151 |
+
$old_value = isset( $this->_old_data['stock_quantity'] ) ? $this->_old_data['stock_quantity'] : false;
|
1152 |
+
$new_value = isset( $this->new_data['stock_quantity'] ) ? $this->new_data['stock_quantity'] : false;
|
1153 |
}
|
1154 |
|
1155 |
if ( $new_value && ( $old_value !== $new_value ) ) {
|
1194 |
|
1195 |
// Get simple product virtual data.
|
1196 |
if ( false === $virtual ) {
|
1197 |
+
$old_virtual = isset( $this->_old_data['virtual'] ) ? $this->_old_data['virtual'] : false;
|
1198 |
+
$new_virtual = isset( $this->new_data['virtual'] ) ? $this->new_data['virtual'] : false;
|
1199 |
} elseif ( is_array( $virtual ) ) {
|
1200 |
$old_virtual = ( isset( $virtual['old'] ) && $virtual['old'] ) ? 'yes' : 'no';
|
1201 |
$new_virtual = ( isset( $virtual['new'] ) && $virtual['new'] ) ? 'yes' : 'no';
|
1203 |
|
1204 |
// Get simple product downloadable data.
|
1205 |
if ( false === $download ) {
|
1206 |
+
$old_download = isset( $this->_old_data['downloadable'] ) ? $this->_old_data['downloadable'] : false;
|
1207 |
+
$new_download = isset( $this->new_data['downloadable'] ) ? $this->new_data['downloadable'] : false;
|
1208 |
} elseif ( is_array( $download ) ) {
|
1209 |
$old_download = ( isset( $download['old'] ) && $download['old'] ) ? 'yes' : 'no';
|
1210 |
$new_download = ( isset( $download['new'] ) && $download['new'] ) ? 'yes' : 'no';
|
1274 |
*/
|
1275 |
protected function CheckWeightChange( $oldpost, $old_weight = '', $new_weight = '' ) {
|
1276 |
if ( '' === $old_weight && '' === $new_weight ) {
|
1277 |
+
$old_weight = isset( $this->_old_data['weight'] ) ? $this->_old_data['weight'] : false;
|
1278 |
+
$new_weight = isset( $this->new_data['weight'] ) ? $this->new_data['weight'] : false;
|
1279 |
}
|
1280 |
|
1281 |
if ( $new_weight && ( $old_weight !== $new_weight ) ) {
|
1317 |
|
1318 |
// Length.
|
1319 |
if ( false === $length ) {
|
1320 |
+
$old_length = isset( $this->_old_data['length'] ) ? $this->_old_data['length'] : false;
|
1321 |
+
$new_length = isset( $this->new_data['length'] ) ? $this->new_data['length'] : false;
|
1322 |
} elseif ( is_array( $length ) ) {
|
1323 |
$old_length = isset( $length['old'] ) ? $length['old'] : false;
|
1324 |
$new_length = isset( $length['new'] ) ? $length['new'] : false;
|
1326 |
|
1327 |
// Width.
|
1328 |
if ( false === $width ) {
|
1329 |
+
$old_width = isset( $this->_old_data['width'] ) ? $this->_old_data['width'] : false;
|
1330 |
+
$new_width = isset( $this->new_data['width'] ) ? $this->new_data['width'] : false;
|
1331 |
} elseif ( is_array( $width ) ) {
|
1332 |
$old_width = isset( $width['old'] ) ? $width['old'] : false;
|
1333 |
$new_width = isset( $width['new'] ) ? $width['new'] : false;
|
1335 |
|
1336 |
// Height.
|
1337 |
if ( false === $height ) {
|
1338 |
+
$old_height = isset( $this->_old_data['height'] ) ? $this->_old_data['height'] : false;
|
1339 |
+
$new_height = isset( $this->new_data['height'] ) ? $this->new_data['height'] : false;
|
1340 |
} elseif ( is_array( $height ) ) {
|
1341 |
$old_height = isset( $height['old'] ) ? $height['old'] : false;
|
1342 |
$new_height = isset( $height['new'] ) ? $height['new'] : false;
|
1389 |
*/
|
1390 |
protected function CheckDownloadableFileChange( $oldpost, $file_names = false, $file_urls = false ) {
|
1391 |
// Get product data.
|
1392 |
+
$result = 0;
|
1393 |
+
$is_url_changed = false;
|
1394 |
+
$editor_link = $this->GetEditorLink( $oldpost );
|
|
|
1395 |
|
1396 |
if ( false === $file_names ) {
|
1397 |
+
$old_file_names = isset( $this->_old_data['file_names'] ) ? $this->_old_data['file_names'] : array();
|
1398 |
+
$new_file_names = isset( $this->new_data['file_names'] ) ? $this->new_data['file_names'] : array();
|
1399 |
} else {
|
1400 |
+
$old_file_names = isset( $file_names['old'] ) ? $file_names['old'] : array();
|
1401 |
+
$new_file_names = isset( $file_names['new'] ) ? $file_names['new'] : array();
|
1402 |
}
|
1403 |
|
1404 |
if ( false === $file_urls ) {
|
1405 |
+
$old_file_urls = isset( $this->_old_data['file_urls'] ) ? $this->_old_data['file_urls'] : array();
|
1406 |
+
$new_file_urls = isset( $this->new_data['file_urls'] ) ? $this->new_data['file_urls'] : array();
|
1407 |
} else {
|
1408 |
+
$old_file_urls = isset( $file_urls['old'] ) ? $file_urls['old'] : array();
|
1409 |
+
$new_file_urls = isset( $file_urls['new'] ) ? $file_urls['new'] : array();
|
1410 |
}
|
1411 |
|
1412 |
+
$added_urls = array_diff( $new_file_urls, $old_file_urls );
|
1413 |
+
$removed_urls = array_diff( $old_file_urls, $new_file_urls );
|
1414 |
+
$added_names = array_diff( $new_file_names, $old_file_names );
|
1415 |
|
1416 |
// Added files to the product.
|
1417 |
if ( count( $added_urls ) > 0 ) {
|
1418 |
// If the file has only changed URL.
|
1419 |
+
if ( count( $new_file_urls ) === count( $old_file_urls ) ) {
|
1420 |
$is_url_changed = true;
|
1421 |
} else {
|
1422 |
foreach ( $added_urls as $key => $url ) {
|
1437 |
// Removed files from the product.
|
1438 |
if ( count( $removed_urls ) > 0 ) {
|
1439 |
// If the file has only changed URL.
|
1440 |
+
if ( count( $new_file_urls ) === count( $old_file_urls ) ) {
|
1441 |
$is_url_changed = true;
|
1442 |
} else {
|
1443 |
foreach ( $removed_urls as $key => $url ) {
|
1445 |
9024, array(
|
1446 |
'ProductTitle' => $oldpost->post_title,
|
1447 |
'ProductStatus' => $oldpost->post_status,
|
1448 |
+
'FileName' => $old_file_names[ $key ],
|
1449 |
'FileUrl' => $url,
|
1450 |
$editor_link['name'] => $editor_link['value'],
|
1451 |
)
|
1457 |
|
1458 |
if ( count( $added_names ) > 0 ) {
|
1459 |
// If the file has only changed Name.
|
1460 |
+
if ( count( $new_file_names ) === count( $old_file_names ) ) {
|
1461 |
foreach ( $added_names as $key => $name ) {
|
1462 |
$this->plugin->alerts->Trigger(
|
1463 |
9025, array(
|
1464 |
'ProductTitle' => $oldpost->post_title,
|
1465 |
'ProductStatus' => $oldpost->post_status,
|
1466 |
+
'OldName' => $old_file_names[ $key ],
|
1467 |
'NewName' => $name,
|
1468 |
$editor_link['name'] => $editor_link['value'],
|
1469 |
)
|
1661 |
if ( $old_tax_round !== $new_tax_round ) {
|
1662 |
$this->plugin->alerts->Trigger( 9081, array( 'Status' => 'yes' === $new_tax_round ? 'Enabled' : 'Disabled' ) );
|
1663 |
}
|
1664 |
+
} elseif ( empty( $_GET['tab'] ) || 'general' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) {
|
1665 |
// "Enable Coupon" event.
|
1666 |
$old_enable_coupons = $this->GetConfig( 'enable_coupons' );
|
1667 |
$new_enable_coupons = isset( $_POST['woocommerce_enable_coupons'] ) ? 'yes' : 'no';
|
1766 |
if ( ! $zone_id && isset( $_POST['changes']['zone_name'] ) ) {
|
1767 |
// Get zone details.
|
1768 |
$zone_name = sanitize_text_field( wp_unslash( $_POST['changes']['zone_name'] ) );
|
|
|
1769 |
$this->plugin->alerts->Trigger(
|
1770 |
9082, array(
|
1771 |
'ShippingZoneStatus' => 'Added',
|
1835 |
}
|
1836 |
|
1837 |
/**
|
1838 |
+
* Returns Product Data.
|
1839 |
+
*
|
1840 |
+
* Returns an array containing only WooCommerce product specific data.
|
1841 |
+
* This array contains the following data:
|
1842 |
+
* 1. Product type.
|
1843 |
+
* 2. Catalog visibility.
|
1844 |
+
* 3. Featured product.
|
1845 |
+
* 4. Regular price.
|
1846 |
+
* 5. Sale price.
|
1847 |
+
* 6. SKU.
|
1848 |
+
* 7. Stock status.
|
1849 |
+
* 8. stock quantity.
|
1850 |
+
* 9. Virtual.
|
1851 |
+
* 10. Downloadable.
|
1852 |
+
* 11. Weight.
|
1853 |
+
* 12. Length.
|
1854 |
+
* 13. Width.
|
1855 |
+
* 14. Height.
|
1856 |
+
* 15. Backorders.
|
1857 |
+
* 16. Upsell IDs.
|
1858 |
+
* 17. Cross sell IDs.
|
1859 |
+
* 18. File names.
|
1860 |
+
* 19. File URLs.
|
1861 |
+
*
|
1862 |
+
* @param WC_Product $product - Product post object.
|
1863 |
* @return array
|
1864 |
*/
|
1865 |
+
protected function GetProductData( $product ) {
|
1866 |
+
$product_data = array(
|
1867 |
+
'type' => $product->get_type(),
|
1868 |
+
'catalog_visibility' => $product->get_catalog_visibility(),
|
1869 |
+
'featured' => $product->get_featured(),
|
1870 |
+
'regular_price' => $product->get_regular_price(),
|
1871 |
+
'sale_price' => $product->get_sale_price(),
|
1872 |
+
'sku' => $product->get_sku(),
|
1873 |
+
'stock_status' => $product->get_stock_status(),
|
1874 |
+
'stock_quantity' => $product->get_stock_quantity(),
|
1875 |
+
'virtual' => $product->is_virtual() ? 'yes' : 'no',
|
1876 |
+
'downloadable' => $product->is_downloadable() ? 'yes' : 'no',
|
1877 |
+
'weight' => $product->get_weight(),
|
1878 |
+
'length' => $product->get_length(),
|
1879 |
+
'width' => $product->get_width(),
|
1880 |
+
'height' => $product->get_height(),
|
1881 |
+
'backorders' => $product->get_backorders(),
|
1882 |
+
'upsell_ids' => $product->get_upsell_ids(),
|
1883 |
+
'cross_sell_ids' => $product->get_cross_sell_ids(),
|
1884 |
+
'file_names' => array(),
|
1885 |
+
'file_urls' => array(),
|
1886 |
);
|
1887 |
+
|
1888 |
+
foreach ( $product->get_downloads() as $download ) {
|
1889 |
+
array_push( $product_data['file_names'], $download->get_name() );
|
1890 |
+
array_push( $product_data['file_urls'], $download->get_file() );
|
1891 |
+
}
|
1892 |
+
return $product_data;
|
1893 |
}
|
1894 |
|
1895 |
/**
|
2214 |
*
|
2215 |
* @since 3.3.1
|
2216 |
*
|
2217 |
+
* @param int|WC_Order $order_id - Order id or WC Order object.
|
2218 |
* @return string
|
2219 |
*/
|
2220 |
+
private function get_order_title( $order_id ) {
|
2221 |
+
if ( ! $order_id ) {
|
2222 |
return false;
|
2223 |
}
|
2224 |
+
if ( is_a( $order_id, 'WC_Order' ) ) {
|
2225 |
+
$order = $order_id;
|
2226 |
+
} else {
|
2227 |
+
$order = wc_get_order( $order_id );
|
2228 |
}
|
2229 |
+
if ( ! $order ) {
|
2230 |
return false;
|
2231 |
}
|
2232 |
|
2822 |
$this->CheckDimensionsChange( $product, $length, $width, $height );
|
2823 |
|
2824 |
// Check product downloads change.
|
2825 |
+
$file_names['new'] = isset( $data['_wc_variation_file_names'][ $post_id ] ) ? array_map( 'sanitize_text_field', wp_unslash( $data['_wc_variation_file_names'][ $post_id ] ) ) : array();
|
2826 |
+
$file_urls['new'] = isset( $data['_wc_variation_file_urls'][ $post_id ] ) ? array_map( 'esc_url_raw', wp_unslash( $data['_wc_variation_file_urls'][ $post_id ] ) ) : array();
|
2827 |
+
$file_names['old'] = array();
|
2828 |
+
$file_urls['old'] = array();
|
2829 |
|
2830 |
// Set product old downloads data.
|
2831 |
+
foreach ( $variation->get_downloads() as $download ) {
|
2832 |
+
array_push( $file_names['old'], $download->get_name() );
|
2833 |
+
array_push( $file_urls['old'], $download->get_file() );
|
|
|
|
|
2834 |
}
|
2835 |
+
$this->CheckDownloadableFileChange( $product, $file_names, $file_urls );
|
2836 |
|
2837 |
// Check backorders change.
|
2838 |
$old_backorder = $variation->get_backorders();
|
3159 |
}
|
3160 |
return $log_event;
|
3161 |
}
|
3162 |
+
|
3163 |
+
/**
|
3164 |
+
* Get WC User Meta Data before updating.
|
3165 |
+
*
|
3166 |
+
* @since 3.4
|
3167 |
+
*
|
3168 |
+
* @param integer $meta_id - Meta id.
|
3169 |
+
* @param integer $user_id - User id.
|
3170 |
+
* @param string $meta_key - Meta key.
|
3171 |
+
*/
|
3172 |
+
public function before_wc_user_meta_update( $meta_id, $user_id, $meta_key ) {
|
3173 |
+
if ( ! $this->is_woocommerce_user_meta( $meta_key ) ) {
|
3174 |
+
return;
|
3175 |
+
}
|
3176 |
+
|
3177 |
+
$this->wc_user_meta[ $meta_id ] = (object) array(
|
3178 |
+
'key' => $meta_key,
|
3179 |
+
'value' => get_user_meta( $user_id, $meta_key, true ),
|
3180 |
+
);
|
3181 |
+
}
|
3182 |
+
|
3183 |
+
/**
|
3184 |
+
* WC User Meta data updated.
|
3185 |
+
*
|
3186 |
+
* @since 3.4
|
3187 |
+
*
|
3188 |
+
* @param integer $meta_id - Meta id.
|
3189 |
+
* @param integer $user_id - User id.
|
3190 |
+
* @param string $meta_key - Meta key.
|
3191 |
+
* @param mixed $meta_value - Meta value.
|
3192 |
+
*/
|
3193 |
+
public function wc_user_meta_updated( $meta_id, $user_id, $meta_key, $meta_value ) {
|
3194 |
+
if ( ! $this->is_woocommerce_user_meta( $meta_key ) ) {
|
3195 |
+
return;
|
3196 |
+
}
|
3197 |
+
|
3198 |
+
// Check meta creation event.
|
3199 |
+
if ( ! isset( $this->wc_user_meta[ $meta_id ] ) ) {
|
3200 |
+
$this->wc_user_meta[ $meta_id ] = (object) array( 'value' => false );
|
3201 |
+
}
|
3202 |
+
|
3203 |
+
if ( isset( $this->wc_user_meta[ $meta_id ] ) ) {
|
3204 |
+
if ( $meta_value && $this->wc_user_meta[ $meta_id ]->value !== $meta_value ) {
|
3205 |
+
// Event id.
|
3206 |
+
$event_id = false;
|
3207 |
+
|
3208 |
+
if ( false !== strpos( $meta_key, 'billing_' ) ) {
|
3209 |
+
$event_id = 9083;
|
3210 |
+
} elseif ( false !== strpos( $meta_key, 'shipping_' ) ) {
|
3211 |
+
$event_id = 9084;
|
3212 |
+
}
|
3213 |
+
|
3214 |
+
if ( $event_id ) {
|
3215 |
+
$user = get_user_by( 'ID', $user_id );
|
3216 |
+
$old_address_key = 'Old' . $this->get_key_for_event( $meta_key );
|
3217 |
+
$new_address_key = 'New' . $this->get_key_for_event( $meta_key );
|
3218 |
+
$address_field = str_replace( array( 'shipping_', 'billing_' ), '', $meta_key );
|
3219 |
+
$address_field = ucwords( str_replace( '_', ' ', $address_field ) );
|
3220 |
+
|
3221 |
+
$this->plugin->alerts->Trigger(
|
3222 |
+
$event_id, array(
|
3223 |
+
'TargetUsername' => $user ? $user->user_login : false,
|
3224 |
+
'AddressField' => $address_field,
|
3225 |
+
$old_address_key => $this->wc_user_meta[ $meta_id ]->value,
|
3226 |
+
$new_address_key => $meta_value,
|
3227 |
+
)
|
3228 |
+
);
|
3229 |
+
}
|
3230 |
+
}
|
3231 |
+
}
|
3232 |
+
}
|
3233 |
+
|
3234 |
+
/**
|
3235 |
+
* Check if meta key belongs to WooCommerce user meta.
|
3236 |
+
*
|
3237 |
+
* @since 3.4
|
3238 |
+
*
|
3239 |
+
* @param string $meta_key - Meta key.
|
3240 |
+
* @return boolean
|
3241 |
+
*/
|
3242 |
+
private function is_woocommerce_user_meta( $meta_key ) {
|
3243 |
+
// Remove the prefix to avoid redundancy in the meta keys.
|
3244 |
+
$address_key = str_replace( array( 'shipping_', 'billing_' ), '', $meta_key );
|
3245 |
+
|
3246 |
+
// WC address meta keys without prefix.
|
3247 |
+
$meta_keys = array( 'first_name', 'last_name', 'company', 'country', 'address_1', 'address_2', 'city', 'state', 'postcode', 'phone', 'email' );
|
3248 |
+
|
3249 |
+
if ( in_array( $address_key, $meta_keys, true ) ) {
|
3250 |
+
return true;
|
3251 |
+
}
|
3252 |
+
return false;
|
3253 |
+
}
|
3254 |
+
|
3255 |
+
/**
|
3256 |
+
* Get Meta Key for Event Meta.
|
3257 |
+
*
|
3258 |
+
* @since 3.4
|
3259 |
+
*
|
3260 |
+
* @param string $meta_key - Meta key.
|
3261 |
+
* @return string
|
3262 |
+
*/
|
3263 |
+
private function get_key_for_event( $meta_key ) {
|
3264 |
+
$meta_key = str_replace( '_', ' ', $meta_key );
|
3265 |
+
$meta_key = ucwords( $meta_key );
|
3266 |
+
$meta_key = str_replace( ' ', '', $meta_key );
|
3267 |
+
return $meta_key;
|
3268 |
+
}
|
3269 |
}
|
classes/Settings.php
CHANGED
@@ -1540,10 +1540,8 @@ class WSAL_Settings {
|
|
1540 |
switch ( true ) {
|
1541 |
case '%Message%' == $name:
|
1542 |
return esc_html( $value );
|
1543 |
-
|
1544 |
case '%PromoMessage%' == $name:
|
1545 |
return '<p class="promo-alert">' . $value . '</p>';
|
1546 |
-
|
1547 |
case '%PromoLink%' == $name:
|
1548 |
case '%CommentLink%' == $name:
|
1549 |
case '%CommentMsg%' == $name:
|
@@ -1732,10 +1730,7 @@ class WSAL_Settings {
|
|
1732 |
* @return bool
|
1733 |
*/
|
1734 |
protected function is_specific_view() {
|
1735 |
-
|
1736 |
-
$get_array = filter_input_array( INPUT_GET );
|
1737 |
-
|
1738 |
-
return isset( $get_array['wsal-cbid'] ) && '0' != $get_array['wsal-cbid'];
|
1739 |
}
|
1740 |
|
1741 |
/**
|
@@ -1746,10 +1741,7 @@ class WSAL_Settings {
|
|
1746 |
* @return int
|
1747 |
*/
|
1748 |
protected function get_specific_view() {
|
1749 |
-
|
1750 |
-
$get_array = filter_input_array( INPUT_GET );
|
1751 |
-
|
1752 |
-
return isset( $get_array['wsal-cbid'] ) ? (int) $get_array['wsal-cbid'] : 0;
|
1753 |
}
|
1754 |
|
1755 |
/**
|
1540 |
switch ( true ) {
|
1541 |
case '%Message%' == $name:
|
1542 |
return esc_html( $value );
|
|
|
1543 |
case '%PromoMessage%' == $name:
|
1544 |
return '<p class="promo-alert">' . $value . '</p>';
|
|
|
1545 |
case '%PromoLink%' == $name:
|
1546 |
case '%CommentLink%' == $name:
|
1547 |
case '%CommentMsg%' == $name:
|
1730 |
* @return bool
|
1731 |
*/
|
1732 |
protected function is_specific_view() {
|
1733 |
+
return isset( $_REQUEST['wsal-cbid'] ) && 0 !== (int) $_REQUEST['wsal-cbid']; // @codingStandardsIgnoreLine
|
|
|
|
|
|
|
1734 |
}
|
1735 |
|
1736 |
/**
|
1741 |
* @return int
|
1742 |
*/
|
1743 |
protected function get_specific_view() {
|
1744 |
+
return isset( $_REQUEST['wsal-cbid'] ) ? (int) sanitize_text_field( wp_unslash( $_REQUEST['wsal-cbid'] ) ) : 0; // @codingStandardsIgnoreLine
|
|
|
|
|
|
|
1745 |
}
|
1746 |
|
1747 |
/**
|
classes/Utilities/Emailer.php
CHANGED
@@ -75,14 +75,13 @@ class WSAL_Utilities_Emailer {
|
|
75 |
public static function send_email( $email_address, $subject, $content ) {
|
76 |
// Get email adresses even when there is the Username.
|
77 |
$email_address = self::get_emails( $email_address );
|
78 |
-
$headers = "MIME-Version: 1.0\r\n";
|
79 |
|
80 |
// @see: http://codex.wordpress.org/Function_Reference/wp_mail
|
81 |
add_filter( 'wp_mail_content_type', array( __CLASS__, 'set_html_content_type' ) );
|
82 |
add_filter( 'wp_mail_from', array( __CLASS__, 'custom_wp_mail_from' ) );
|
83 |
add_filter( 'wp_mail_from_name', array( __CLASS__, 'custom_wp_mail_from_name' ) );
|
84 |
|
85 |
-
$result = wp_mail( $email_address, $subject, $content
|
86 |
|
87 |
/**
|
88 |
* Reset content-type to avoid conflicts.
|
75 |
public static function send_email( $email_address, $subject, $content ) {
|
76 |
// Get email adresses even when there is the Username.
|
77 |
$email_address = self::get_emails( $email_address );
|
|
|
78 |
|
79 |
// @see: http://codex.wordpress.org/Function_Reference/wp_mail
|
80 |
add_filter( 'wp_mail_content_type', array( __CLASS__, 'set_html_content_type' ) );
|
81 |
add_filter( 'wp_mail_from', array( __CLASS__, 'custom_wp_mail_from' ) );
|
82 |
add_filter( 'wp_mail_from_name', array( __CLASS__, 'custom_wp_mail_from_name' ) );
|
83 |
|
84 |
+
$result = wp_mail( $email_address, $subject, $content );
|
85 |
|
86 |
/**
|
87 |
* Reset content-type to avoid conflicts.
|
classes/ViewManager.php
CHANGED
@@ -247,12 +247,18 @@ class WSAL_ViewManager {
|
|
247 |
$new_links = array();
|
248 |
foreach ( $this->views as $view ) {
|
249 |
if ( $view->HasPluginShortcutLink() ) {
|
250 |
-
$new_links[] =
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
256 |
}
|
257 |
}
|
258 |
return array_merge( $new_links, $old_links );
|
@@ -308,7 +314,7 @@ class WSAL_ViewManager {
|
|
308 |
* Render header of the current view.
|
309 |
*/
|
310 |
public function RenderViewHeader() {
|
311 |
-
if ( ! ! ($view = $this->GetActiveView()) ) {
|
312 |
$view->Header();
|
313 |
}
|
314 |
}
|
@@ -317,7 +323,7 @@ class WSAL_ViewManager {
|
|
317 |
* Render footer of the current view.
|
318 |
*/
|
319 |
public function RenderViewFooter() {
|
320 |
-
if ( ! ! ($view = $this->GetActiveView()) ) {
|
321 |
$view->Footer();
|
322 |
}
|
323 |
}
|
@@ -439,4 +445,86 @@ class WSAL_ViewManager {
|
|
439 |
}
|
440 |
return $menu_order;
|
441 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
442 |
}
|
247 |
$new_links = array();
|
248 |
foreach ( $this->views as $view ) {
|
249 |
if ( $view->HasPluginShortcutLink() ) {
|
250 |
+
$new_links[] = '<a href="' . add_query_arg( 'page', $view->GetSafeViewName(), admin_url( 'admin.php' ) ) . '">' . $view->GetName() . '</a>';
|
251 |
+
|
252 |
+
if ( 1 === count( $new_links ) && ! wsal_freemius()->is__premium_only() ) {
|
253 |
+
// Trial link arguments.
|
254 |
+
$trial_args = array(
|
255 |
+
'page' => 'wsal-auditlog-pricing',
|
256 |
+
'billing_cycle' => 'annual',
|
257 |
+
'trial' => 'true',
|
258 |
+
);
|
259 |
+
$admin_url = $this->_plugin->IsMultisite() ? network_admin_url( 'admin.php' ) : admin_url( 'admin.php' );
|
260 |
+
$new_links[] = '<a style="font-weight:bold" href="' . add_query_arg( $trial_args, $admin_url ) . '">' . __( 'Free Premium Trial', 'wp-security-audit-log' ) . '</a>';
|
261 |
+
}
|
262 |
}
|
263 |
}
|
264 |
return array_merge( $new_links, $old_links );
|
314 |
* Render header of the current view.
|
315 |
*/
|
316 |
public function RenderViewHeader() {
|
317 |
+
if ( ! ! ( $view = $this->GetActiveView() ) ) {
|
318 |
$view->Header();
|
319 |
}
|
320 |
}
|
323 |
* Render footer of the current view.
|
324 |
*/
|
325 |
public function RenderViewFooter() {
|
326 |
+
if ( ! ! ( $view = $this->GetActiveView() ) ) {
|
327 |
$view->Footer();
|
328 |
}
|
329 |
}
|
445 |
}
|
446 |
return $menu_order;
|
447 |
}
|
448 |
+
|
449 |
+
/**
|
450 |
+
* Add WSAL to WP-Admin menu bar.
|
451 |
+
*
|
452 |
+
* @since 3.2.4
|
453 |
+
*
|
454 |
+
* @param WP_Admin_Bar $admin_bar - Instance of WP_Admin_Bar.
|
455 |
+
*/
|
456 |
+
public function live_notifications__premium_only( $admin_bar ) {
|
457 |
+
if ( $this->_plugin->settings->CurrentUserCan( 'view' ) && is_admin() ) {
|
458 |
+
$adn_updates = $this->_plugin->settings->get_admin_bar_notif_updates();
|
459 |
+
$event = $this->_plugin->alerts->get_admin_bar_event( 'page-refresh' === $adn_updates ? true : false );
|
460 |
+
|
461 |
+
if ( $event ) {
|
462 |
+
$code = $this->_plugin->alerts->GetAlert( $event->alert_id );
|
463 |
+
$admin_bar->add_node(
|
464 |
+
array(
|
465 |
+
'id' => 'wsal-menu',
|
466 |
+
'title' => 'LIVE: ' . $code->desc . ' from ' . $event->GetSourceIp(),
|
467 |
+
'href' => add_query_arg( 'page', 'wsal-auditlog', admin_url( 'admin.php' ) ),
|
468 |
+
'meta' => array( 'class' => 'wsal-live-notif-item' ),
|
469 |
+
)
|
470 |
+
);
|
471 |
+
}
|
472 |
+
}
|
473 |
+
}
|
474 |
+
|
475 |
+
/**
|
476 |
+
* WP-Admin bar refresh event handler.
|
477 |
+
*
|
478 |
+
* @since 3.2.4
|
479 |
+
*/
|
480 |
+
public function wsal_adminbar_events_refresh__premium_only() {
|
481 |
+
if ( ! $this->_plugin->settings->CurrentUserCan( 'view' ) ) {
|
482 |
+
echo wp_json_encode(
|
483 |
+
array(
|
484 |
+
'success' => false,
|
485 |
+
'message' => __( 'Access Denied.', 'wp-security-audit-log' ),
|
486 |
+
)
|
487 |
+
);
|
488 |
+
die();
|
489 |
+
}
|
490 |
+
|
491 |
+
if ( isset( $_POST['nonce'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce'] ) ), 'wsal-common-js-nonce' ) ) {
|
492 |
+
$events_count = isset( $_POST['eventsCount'] ) ? (int) sanitize_text_field( wp_unslash( $_POST['eventsCount'] ) ) : false;
|
493 |
+
|
494 |
+
if ( $events_count ) {
|
495 |
+
$occurrence = new WSAL_Models_Occurrence();
|
496 |
+
$new_count = (int) $occurrence->Count();
|
497 |
+
|
498 |
+
if ( $events_count !== $new_count ) {
|
499 |
+
$event = $this->_plugin->alerts->get_admin_bar_event( true );
|
500 |
+
$code = $this->_plugin->alerts->GetAlert( $event->alert_id );
|
501 |
+
|
502 |
+
echo wp_json_encode(
|
503 |
+
array(
|
504 |
+
'success' => true,
|
505 |
+
'count' => $new_count,
|
506 |
+
'message' => 'LIVE: ' . $code->desc . ' from ' . $event->GetSourceIp(),
|
507 |
+
)
|
508 |
+
);
|
509 |
+
} else {
|
510 |
+
echo wp_json_encode( array( 'success' => false ) );
|
511 |
+
}
|
512 |
+
} else {
|
513 |
+
echo wp_json_encode(
|
514 |
+
array(
|
515 |
+
'success' => false,
|
516 |
+
'message' => __( 'Log count parameter expected.', 'wp-security-audit-log' ),
|
517 |
+
)
|
518 |
+
);
|
519 |
+
}
|
520 |
+
} else {
|
521 |
+
echo wp_json_encode(
|
522 |
+
array(
|
523 |
+
'success' => false,
|
524 |
+
'message' => __( 'Nonce verification failed.', 'wp-security-audit-log' ),
|
525 |
+
)
|
526 |
+
);
|
527 |
+
}
|
528 |
+
die();
|
529 |
+
}
|
530 |
}
|
classes/Views/AuditLog.php
CHANGED
@@ -88,16 +88,16 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
|
|
88 |
// Set adverts array.
|
89 |
$this->adverts = array(
|
90 |
0 => array(
|
91 |
-
'head' => __( 'Get instantly alerted of important changes via email,
|
92 |
'desc' => __( 'Upgrade to premium to unlock these powerful activity log features.', 'wp-security-audit-log' ),
|
93 |
),
|
94 |
1 => array(
|
95 |
'head' => __( 'Instant email notifications, search & filters, reports, users sessions management, integration tools and more!', 'wp-security-audit-log' ),
|
96 |
-
'desc' => __( 'Upgrade to
|
97 |
),
|
98 |
2 => array(
|
99 |
-
'head' => __( 'See who is logged in
|
100 |
-
'desc' => __( 'Unlock these
|
101 |
),
|
102 |
);
|
103 |
}
|
@@ -137,17 +137,26 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
|
|
137 |
</p>
|
138 |
</div>
|
139 |
<!-- /.wsal_notice__content -->
|
140 |
-
|
141 |
<div class="wsal_notice__btns">
|
142 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
// Buy Now button link.
|
144 |
-
$buy_now
|
|
|
145 |
|
146 |
// If user is not super admin and website is multisite then change the URL.
|
147 |
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
148 |
-
$buy_now
|
|
|
149 |
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
150 |
-
$buy_now
|
|
|
151 |
}
|
152 |
|
153 |
$more_info = add_query_arg(
|
@@ -161,11 +170,11 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
|
|
161 |
);
|
162 |
?>
|
163 |
<?php wp_nonce_field( 'wsal_dismiss_advert', 'wsal-dismiss-advert', false, true ); ?>
|
164 |
-
<a href="<?php echo esc_url( $buy_now ); ?>" class="button button-primary wsal_notice__btn"><?php esc_html_e( 'UPGRADE', 'wp-security-audit-log' ); ?></a>
|
165 |
-
<
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
</div>
|
170 |
<!-- /.wsal_notice__btns -->
|
171 |
</div>
|
@@ -291,7 +300,7 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
|
|
291 |
|
292 |
// @codingStandardsIgnoreStart
|
293 |
$this->page_args->page = isset( $_REQUEST['page'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['page'] ) ) : false;
|
294 |
-
$this->page_args->site_id =
|
295 |
|
296 |
// Order arguments.
|
297 |
$this->page_args->order_by = isset( $_REQUEST['orderby'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['orderby'] ) ) : false;
|
@@ -444,59 +453,34 @@ class WSAL_Views_AuditLog extends WSAL_AbstractView {
|
|
444 |
});
|
445 |
});
|
446 |
</script>
|
447 |
-
<?php endif; ?>
|
448 |
-
|
449 |
-
<?php
|
450 |
-
if ( class_exists( 'WSAL_SearchExtension' ) &&
|
451 |
-
( ! empty( $this->page_args->search_filters ) || ( ! empty( $this->page_args->search_term ) && trim( $this->page_args->search_term ) ) ) ) :
|
452 |
-
?>
|
453 |
-
<script type="text/javascript">
|
454 |
-
jQuery(document).ready( function() {
|
455 |
-
WsalAuditLogInit(
|
456 |
-
<?php
|
457 |
-
echo json_encode(
|
458 |
-
array(
|
459 |
-
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
460 |
-
'tr8n' => array(
|
461 |
-
'numofitems' => __( 'Please enter the number of alerts you would like to see on one page:', 'wp-security-audit-log' ),
|
462 |
-
'searchback' => __( 'All Sites', 'wp-security-audit-log' ),
|
463 |
-
'searchnone' => __( 'No Results', 'wp-security-audit-log' ),
|
464 |
-
),
|
465 |
-
'autorefresh' => array(
|
466 |
-
'enabled' => false,
|
467 |
-
'token' => $this->GetListView()->get_total_items(),
|
468 |
-
),
|
469 |
-
)
|
470 |
-
);
|
471 |
-
?>
|
472 |
-
);
|
473 |
-
} );
|
474 |
-
</script>
|
475 |
-
<?php else : ?>
|
476 |
-
<script type="text/javascript">
|
477 |
-
jQuery(document).ready( function() {
|
478 |
-
WsalAuditLogInit(
|
479 |
-
<?php
|
480 |
-
echo json_encode(
|
481 |
-
array(
|
482 |
-
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
483 |
-
'tr8n' => array(
|
484 |
-
'numofitems' => __( 'Please enter the number of alerts you would like to see on one page:', 'wp-security-audit-log' ),
|
485 |
-
'searchback' => __( 'All Sites', 'wp-security-audit-log' ),
|
486 |
-
'searchnone' => __( 'No Results', 'wp-security-audit-log' ),
|
487 |
-
),
|
488 |
-
'autorefresh' => array(
|
489 |
-
'enabled' => ! $this->_plugin->settings->is_infinite_scroll() ? $this->_plugin->settings->IsRefreshAlertsEnabled() : false,
|
490 |
-
'token' => $this->GetListView()->get_total_items(),
|
491 |
-
),
|
492 |
-
)
|
493 |
-
);
|
494 |
-
?>
|
495 |
-
);
|
496 |
-
} );
|
497 |
-
</script>
|
498 |
<?php
|
499 |
endif;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
500 |
}
|
501 |
|
502 |
/**
|
88 |
// Set adverts array.
|
89 |
$this->adverts = array(
|
90 |
0 => array(
|
91 |
+
'head' => __( 'Get instantly alerted of important changes via email, search the activity log and use filters, generate reports, see who is logged in and more!', 'wp-security-audit-log' ),
|
92 |
'desc' => __( 'Upgrade to premium to unlock these powerful activity log features.', 'wp-security-audit-log' ),
|
93 |
),
|
94 |
1 => array(
|
95 |
'head' => __( 'Instant email notifications, search & filters, reports, users sessions management, integration tools and more!', 'wp-security-audit-log' ),
|
96 |
+
'desc' => __( 'Upgrade to benefit more from the activity logs.', 'wp-security-audit-log' ),
|
97 |
),
|
98 |
2 => array(
|
99 |
+
'head' => __( 'See who is logged in real-time, generate reports, get alerted via email of important changes and more!', 'wp-security-audit-log' ),
|
100 |
+
'desc' => __( 'Unlock these and other features with the premium edition of WP Security Audit Log.', 'wp-security-audit-log' ),
|
101 |
),
|
102 |
);
|
103 |
}
|
137 |
</p>
|
138 |
</div>
|
139 |
<!-- /.wsal_notice__content -->
|
|
|
140 |
<div class="wsal_notice__btns">
|
141 |
<?php
|
142 |
+
// Trial link arguments.
|
143 |
+
$trial_args = array(
|
144 |
+
'page' => 'wsal-auditlog-pricing',
|
145 |
+
'billing_cycle' => 'annual',
|
146 |
+
'trial' => 'true',
|
147 |
+
);
|
148 |
+
|
149 |
// Buy Now button link.
|
150 |
+
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', admin_url( 'admin.php' ) );
|
151 |
+
$trial_link = add_query_arg( $trial_args, admin_url( 'admin.php' ) );
|
152 |
|
153 |
// If user is not super admin and website is multisite then change the URL.
|
154 |
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
155 |
+
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
156 |
+
$trial_link = 'https://www.wpsecurityauditlog.com/pricing/';
|
157 |
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
158 |
+
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', network_admin_url( 'admin.php' ) );
|
159 |
+
$trial_link = add_query_arg( $trial_args, network_admin_url( 'admin.php' ) );
|
160 |
}
|
161 |
|
162 |
$more_info = add_query_arg(
|
170 |
);
|
171 |
?>
|
172 |
<?php wp_nonce_field( 'wsal_dismiss_advert', 'wsal-dismiss-advert', false, true ); ?>
|
173 |
+
<a href="<?php echo esc_url( $buy_now ); ?>" class="button button-primary wsal_notice__btn"><?php esc_html_e( 'UPGRADE NOW', 'wp-security-audit-log' ); ?></a>
|
174 |
+
<a href="<?php echo esc_url( $trial_link ); ?>" class="button button-primary"><?php esc_html_e( 'Start Free Trial', 'wp-security-audit-log' ); ?></a>
|
175 |
+
<a href="<?php echo esc_url( $more_info ); ?>" target="_blank"><?php esc_html_e( 'Tell me more', 'wp-security-audit-log' ); ?></a>
|
176 |
+
<br>
|
177 |
+
<a href="javascript:;" data-advert="<?php echo esc_attr( $wsal_premium_advert ); ?>" onclick="wsal_dismiss_advert(this)" class="wsal_notice__btn_dismiss" title="<?php esc_attr_e( 'Dismiss the banner', 'wp-security-audit-log' ); ?>"><?php esc_html_e( 'Close', 'wp-security-audit-log' ); ?></a>
|
178 |
</div>
|
179 |
<!-- /.wsal_notice__btns -->
|
180 |
</div>
|
300 |
|
301 |
// @codingStandardsIgnoreStart
|
302 |
$this->page_args->page = isset( $_REQUEST['page'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['page'] ) ) : false;
|
303 |
+
$this->page_args->site_id = $this->_plugin->settings->get_view_site_id();
|
304 |
|
305 |
// Order arguments.
|
306 |
$this->page_args->order_by = isset( $_REQUEST['orderby'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['orderby'] ) ) : false;
|
453 |
});
|
454 |
});
|
455 |
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
<?php
|
457 |
endif;
|
458 |
+
|
459 |
+
$is_search_view = class_exists( 'WSAL_SearchExtension' ) && ( ! empty( $this->page_args->search_filters ) || ! empty( trim( $this->page_args->search_term ) ) );
|
460 |
+
?>
|
461 |
+
<script type="text/javascript">
|
462 |
+
jQuery( document ).ready( function() {
|
463 |
+
WsalAuditLogInit(
|
464 |
+
<?php
|
465 |
+
echo wp_json_encode(
|
466 |
+
array(
|
467 |
+
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
468 |
+
'tr8n' => array(
|
469 |
+
'numofitems' => __( 'Please enter the number of alerts you would like to see on one page:', 'wp-security-audit-log' ),
|
470 |
+
'searchback' => __( 'All Sites', 'wp-security-audit-log' ),
|
471 |
+
'searchnone' => __( 'No Results', 'wp-security-audit-log' ),
|
472 |
+
),
|
473 |
+
'autorefresh' => array(
|
474 |
+
'enabled' => ! $is_search_view ? $this->_plugin->settings->IsRefreshAlertsEnabled() : false,
|
475 |
+
'token' => $this->GetListView()->get_total_items(),
|
476 |
+
),
|
477 |
+
)
|
478 |
+
);
|
479 |
+
?>
|
480 |
+
);
|
481 |
+
} );
|
482 |
+
</script>
|
483 |
+
<?php
|
484 |
}
|
485 |
|
486 |
/**
|
classes/Views/EmailNotifications.php
CHANGED
@@ -22,35 +22,44 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
22 |
class WSAL_Views_EmailNotifications extends WSAL_AbstractView {
|
23 |
|
24 |
/**
|
25 |
-
*
|
26 |
*/
|
27 |
public function GetTitle() {
|
28 |
-
return __( '
|
29 |
}
|
30 |
|
31 |
/**
|
32 |
-
*
|
33 |
*/
|
34 |
public function GetIcon() {
|
35 |
return 'dashicons-external';
|
36 |
}
|
37 |
|
38 |
/**
|
39 |
-
*
|
40 |
*/
|
41 |
public function GetName() {
|
42 |
-
return __( '
|
43 |
}
|
44 |
|
45 |
/**
|
46 |
-
*
|
47 |
*/
|
48 |
public function GetWeight() {
|
49 |
return 8;
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
*/
|
55 |
public function Header() {
|
56 |
// Extension Page CSS.
|
@@ -71,7 +80,7 @@ class WSAL_Views_EmailNotifications extends WSAL_AbstractView {
|
|
71 |
}
|
72 |
|
73 |
/**
|
74 |
-
*
|
75 |
*/
|
76 |
public function Footer() {
|
77 |
// jQuery.
|
@@ -82,7 +91,8 @@ class WSAL_Views_EmailNotifications extends WSAL_AbstractView {
|
|
82 |
'wsal-swipebox-js',
|
83 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
84 |
array( 'jquery' ),
|
85 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' )
|
|
|
86 |
);
|
87 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
88 |
|
@@ -91,104 +101,47 @@ class WSAL_Views_EmailNotifications extends WSAL_AbstractView {
|
|
91 |
'wsal-extensions-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
93 |
array( 'wsal-swipebox-js' ),
|
94 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' )
|
|
|
95 |
);
|
96 |
wp_enqueue_script( 'wsal-extensions-js' );
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
-
*
|
101 |
*/
|
102 |
public function Render() {
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
134 |
-
$buy_now_target = 'target="_blank"';
|
135 |
-
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
136 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', network_admin_url( 'admin.php' ) );
|
137 |
-
} elseif ( ! $this->_plugin->IsMultisite() && ! current_user_can( 'manage_options' ) ) {
|
138 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
139 |
-
$buy_now_target = 'target="_blank"';
|
140 |
-
}
|
141 |
-
|
142 |
-
$more_info = add_query_arg(
|
143 |
-
array(
|
144 |
-
'utm_source' => 'plugin',
|
145 |
-
'utm_medium' => 'page',
|
146 |
-
'utm_content' => 'email+more+info',
|
147 |
-
'utm_campaign' => 'upgrade+premium',
|
148 |
-
),
|
149 |
-
'https://www.wpsecurityauditlog.com/premium-features/'
|
150 |
-
);
|
151 |
-
?>
|
152 |
-
<p>
|
153 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
154 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
155 |
-
</p>
|
156 |
-
</div>
|
157 |
-
<!-- /.wsal-col -->
|
158 |
-
</div>
|
159 |
-
<!-- /.wsal-row -->
|
160 |
-
|
161 |
-
<div class="wsal-row">
|
162 |
-
<div class="wsal-col">
|
163 |
-
<h3><?php esc_html_e( 'Screenshots', 'wp-security-audit-log' ); ?></h3>
|
164 |
-
|
165 |
-
<p>
|
166 |
-
<ul class="wsal-features-list">
|
167 |
-
<li>
|
168 |
-
<?php esc_html_e( 'Use the trigger builder to configure any type of email notification so you are instantly alerted of important changes on your WordPress.', 'wp-security-audit-log' ); ?><br />
|
169 |
-
<a class="swipebox" title="<?php esc_attr_e( 'Use the trigger builder to configure any type of email notification so you are instantly alerted of important changes on your WordPress.', 'wp-security-audit-log' ); ?>"
|
170 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/email-notifications/email_notifications.png">
|
171 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/email-notifications/email_notifications.png">
|
172 |
-
</a>
|
173 |
-
</li>
|
174 |
-
<li>
|
175 |
-
<?php esc_html_e( 'Use the wizard to easily get started and quickly configure basic email notifications.', 'wp-security-audit-log' ); ?><br />
|
176 |
-
<a class="swipebox" title="<?php esc_attr_e( 'Use the wizard to easily get started and quickly configure basic email notifications.', 'wp-security-audit-log' ); ?>"
|
177 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/email-notifications/email_notifications_wizard.png">
|
178 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/email-notifications/email_notifications_wizard.png">
|
179 |
-
</a>
|
180 |
-
</li>
|
181 |
-
</ul>
|
182 |
-
</p>
|
183 |
|
184 |
-
|
185 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
186 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
187 |
-
</p>
|
188 |
-
</div>
|
189 |
-
</div>
|
190 |
-
<!-- /.wsal-row -->
|
191 |
-
</div>
|
192 |
-
<?php
|
193 |
}
|
194 |
}
|
22 |
class WSAL_Views_EmailNotifications extends WSAL_AbstractView {
|
23 |
|
24 |
/**
|
25 |
+
* Get View Title.
|
26 |
*/
|
27 |
public function GetTitle() {
|
28 |
+
return __( 'Notifications Add-On', 'wp-security-audit-log' );
|
29 |
}
|
30 |
|
31 |
/**
|
32 |
+
* Get View Icon.
|
33 |
*/
|
34 |
public function GetIcon() {
|
35 |
return 'dashicons-external';
|
36 |
}
|
37 |
|
38 |
/**
|
39 |
+
* Get View Name.
|
40 |
*/
|
41 |
public function GetName() {
|
42 |
+
return __( 'Notifications ⇪', 'wp-security-audit-log' );
|
43 |
}
|
44 |
|
45 |
/**
|
46 |
+
* Get View Weight.
|
47 |
*/
|
48 |
public function GetWeight() {
|
49 |
return 8;
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
+
* Check if the page title is visible.
|
54 |
+
*
|
55 |
+
* @return boolean
|
56 |
+
*/
|
57 |
+
public function is_title_visible() {
|
58 |
+
return false;
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Get View Header.
|
63 |
*/
|
64 |
public function Header() {
|
65 |
// Extension Page CSS.
|
80 |
}
|
81 |
|
82 |
/**
|
83 |
+
* Get View Footer.
|
84 |
*/
|
85 |
public function Footer() {
|
86 |
// jQuery.
|
91 |
'wsal-swipebox-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
93 |
array( 'jquery' ),
|
94 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' ),
|
95 |
+
false
|
96 |
);
|
97 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
98 |
|
101 |
'wsal-extensions-js',
|
102 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
103 |
array( 'wsal-swipebox-js' ),
|
104 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' ),
|
105 |
+
false
|
106 |
);
|
107 |
wp_enqueue_script( 'wsal-extensions-js' );
|
108 |
}
|
109 |
|
110 |
/**
|
111 |
+
* Page View.
|
112 |
*/
|
113 |
public function Render() {
|
114 |
+
$title = __( 'SMS & Email Notifications', 'wp-security-audit-log' );
|
115 |
+
$description = __( 'Get instantly alerted of important changes on your site via SMS and email notifications. Upgrade to premium and:', 'wp-security-audit-log' );
|
116 |
+
$addon_img = trailingslashit( WSAL_BASE_URL ) . 'img/' . $this->GetSafeViewName() . '.jpg';
|
117 |
+
$premium_list = array(
|
118 |
+
__( 'Configure any type of SMS & email notifications', 'wp-security-audit-log' ),
|
119 |
+
__( 'Receive notifications for when users login, change their password or change content', 'wp-security-audit-log' ),
|
120 |
+
__( 'Get alerted of site changes like plugin installs, theme changes etc', 'wp-security-audit-log' ),
|
121 |
+
__( 'Enable built-in security email notifications of suspicious user activity', 'wp-security-audit-log' ),
|
122 |
+
__( 'Personalize all email and SMS templates', 'wp-security-audit-log' ),
|
123 |
+
__( 'Use the trigger builder to configure any type of notification criteria!', 'wp-security-audit-log' ),
|
124 |
+
);
|
125 |
+
$subtext = __( 'Getting started is really easy. You can use one of the plugin’s built-in notifications or create your own using the easy to use trigger builder.', 'wp-security-audit-log' );
|
126 |
+
$screenshots = array(
|
127 |
+
array(
|
128 |
+
'desc' => __( 'Email and SMS notifications instantly alert you of important changes on your WordPress site.', 'wp-security-audit-log' ),
|
129 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/notifications/notifications_1.png',
|
130 |
+
),
|
131 |
+
array(
|
132 |
+
'desc' => __( 'Easily enable any of the built-in security and user management notifications.', 'wp-security-audit-log' ),
|
133 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/notifications/notifications_2.png',
|
134 |
+
),
|
135 |
+
array(
|
136 |
+
'desc' => __( 'Use the trigger builder to configure any type of email and SMS notification to get instantly alerted of site changes that are important to you and your business.', 'wp-security-audit-log' ),
|
137 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/notifications/notifications_3.png',
|
138 |
+
),
|
139 |
+
array(
|
140 |
+
'desc' => __( 'All email and SMS templates are configurable, allowing you to personalize them.', 'wp-security-audit-log' ),
|
141 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/notifications/notifications_4.png',
|
142 |
+
),
|
143 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
|
145 |
+
require_once dirname( __FILE__ ) . '/addons/html-view.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
}
|
classes/Views/ExternalDB.php
CHANGED
@@ -49,6 +49,15 @@ class WSAL_Views_ExternalDB extends WSAL_AbstractView {
|
|
49 |
return 10;
|
50 |
}
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
/**
|
53 |
* Method: Get View Header.
|
54 |
*/
|
@@ -82,7 +91,8 @@ class WSAL_Views_ExternalDB extends WSAL_AbstractView {
|
|
82 |
'wsal-swipebox-js',
|
83 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
84 |
array( 'jquery' ),
|
85 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' )
|
|
|
86 |
);
|
87 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
88 |
|
@@ -91,103 +101,41 @@ class WSAL_Views_ExternalDB extends WSAL_AbstractView {
|
|
91 |
'wsal-extensions-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
93 |
array( 'wsal-swipebox-js' ),
|
94 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' )
|
|
|
95 |
);
|
96 |
wp_enqueue_script( 'wsal-extensions-js' );
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
-
*
|
101 |
*/
|
102 |
public function Render() {
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', admin_url( 'admin.php' ) );
|
128 |
-
$buy_now_target = '';
|
129 |
-
|
130 |
-
// If user is not super admin and website is multisite then change the URL.
|
131 |
-
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
132 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
133 |
-
$buy_now_target = 'target="_blank"';
|
134 |
-
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
135 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', network_admin_url( 'admin.php' ) );
|
136 |
-
} elseif ( ! $this->_plugin->IsMultisite() && ! current_user_can( 'manage_options' ) ) {
|
137 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
138 |
-
$buy_now_target = 'target="_blank"';
|
139 |
-
}
|
140 |
-
|
141 |
-
$more_info = add_query_arg(
|
142 |
-
array(
|
143 |
-
'utm_source' => 'plugin',
|
144 |
-
'utm_medium' => 'page',
|
145 |
-
'utm_content' => 'db+more+info',
|
146 |
-
'utm_campaign' => 'upgrade+premium',
|
147 |
-
),
|
148 |
-
'https://www.wpsecurityauditlog.com/premium-features/'
|
149 |
-
);
|
150 |
-
?>
|
151 |
-
<p>
|
152 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
153 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
154 |
-
</p>
|
155 |
-
</div>
|
156 |
-
<!-- /.wsal-col -->
|
157 |
-
</div>
|
158 |
-
<!-- /.wsal-row -->
|
159 |
-
|
160 |
-
<div class="wsal-row">
|
161 |
-
<div class="wsal-col">
|
162 |
-
<h3><?php esc_html_e( 'Screenshots', 'wp-security-audit-log' ); ?></h3>
|
163 |
-
|
164 |
-
<p>
|
165 |
-
<ul class="wsal-features-list">
|
166 |
-
<li>
|
167 |
-
<?php esc_html_e( 'Configure an external database so the WordPress audit trail is stored on it instead of the WordPress database.', 'wp-security-audit-log' ); ?><br />
|
168 |
-
<a class="swipebox" title="<?php esc_attr_e( 'Configure an external database so the WordPress audit trail is stored on it instead of the WordPress database.', 'wp-security-audit-log' ); ?>"
|
169 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/external-db/external_database_1.png">
|
170 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/external-db/external_database_1.png">
|
171 |
-
</a>
|
172 |
-
</li>
|
173 |
-
<li>
|
174 |
-
<?php esc_html_e( 'Configure mirroring to keep a secondary copy of the WordPress audit trail on Syslog, Papertrail etc.', 'wp-security-audit-log' ); ?><br />
|
175 |
-
<a class="swipebox" title="<?php esc_attr_e( 'Configure mirroring to keep a secondary copy of the WordPress audit trail on Syslog, Papertrail etc.', 'wp-security-audit-log' ); ?>"
|
176 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/external-db/extermal_database_mirroring_options.png">
|
177 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/external-db/extermal_database_mirroring_options.png">
|
178 |
-
</a>
|
179 |
-
</li>
|
180 |
-
</ul>
|
181 |
-
</p>
|
182 |
|
183 |
-
|
184 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
185 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
186 |
-
</p>
|
187 |
-
</div>
|
188 |
-
</div>
|
189 |
-
<!-- /.wsal-row -->
|
190 |
-
</div>
|
191 |
-
<?php
|
192 |
}
|
193 |
}
|
49 |
return 10;
|
50 |
}
|
51 |
|
52 |
+
/**
|
53 |
+
* Check if the page title is visible.
|
54 |
+
*
|
55 |
+
* @return boolean
|
56 |
+
*/
|
57 |
+
public function is_title_visible() {
|
58 |
+
return false;
|
59 |
+
}
|
60 |
+
|
61 |
/**
|
62 |
* Method: Get View Header.
|
63 |
*/
|
91 |
'wsal-swipebox-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
93 |
array( 'jquery' ),
|
94 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' ),
|
95 |
+
false
|
96 |
);
|
97 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
98 |
|
101 |
'wsal-extensions-js',
|
102 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
103 |
array( 'wsal-swipebox-js' ),
|
104 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' ),
|
105 |
+
false
|
106 |
);
|
107 |
wp_enqueue_script( 'wsal-extensions-js' );
|
108 |
}
|
109 |
|
110 |
/**
|
111 |
+
* Page View.
|
112 |
*/
|
113 |
public function Render() {
|
114 |
+
$title = __( 'Audit Log Database & Integration Tools', 'wp-security-audit-log' );
|
115 |
+
$description = __( 'There are several benefits to segregating the logs from the main site database, and to be able to mirror the logs to third party and centralized business solutions. Upgrade to premium and:', 'wp-security-audit-log' );
|
116 |
+
$addon_img = trailingslashit( WSAL_BASE_URL ) . 'img/' . $this->GetSafeViewName() . '.jpg';
|
117 |
+
$premium_list = array(
|
118 |
+
__( 'Store the audit logs of your sites on an external database', 'wp-security-audit-log' ),
|
119 |
+
__( 'Configuring archiving and store older log data in a segregated database', 'wp-security-audit-log' ),
|
120 |
+
__( 'Mirror the logs to syslog, Slack, Papertrail and central business communication services', 'wp-security-audit-log' ),
|
121 |
+
__( 'Configure filters to filter what is mirrored and archived in the databases and services', 'wp-security-audit-log' ),
|
122 |
+
);
|
123 |
+
$subtext = false;
|
124 |
+
$screenshots = array(
|
125 |
+
array(
|
126 |
+
'desc' => __( 'Easily configure integration and database connections thanks to a user friendly wizard.', 'wp-security-audit-log' ),
|
127 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/external-db/db_integrations_1.png',
|
128 |
+
),
|
129 |
+
array(
|
130 |
+
'desc' => __( 'Configure activity log filters for third party services connections.', 'wp-security-audit-log' ),
|
131 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/external-db/db_integrations_2.png',
|
132 |
+
),
|
133 |
+
array(
|
134 |
+
'desc' => __( 'Configure an unlimited number of connections to different databases and third party services.', 'wp-security-audit-log' ),
|
135 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/external-db/db_integrations_3.png',
|
136 |
+
),
|
137 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
|
139 |
+
require_once dirname( __FILE__ ) . '/addons/html-view.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
}
|
141 |
}
|
classes/Views/Help.php
CHANGED
@@ -210,32 +210,44 @@ class WSAL_Views_Help extends WSAL_AbstractView {
|
|
210 |
</li>
|
211 |
</ul>
|
212 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
// Buy Now button link.
|
214 |
-
$buy_now
|
215 |
$buy_now_target = '';
|
|
|
216 |
|
217 |
// If user is not super admin and website is multisite then change the URL.
|
218 |
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
219 |
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
|
|
220 |
$buy_now_target = 'target="_blank"';
|
221 |
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
222 |
-
$buy_now
|
|
|
223 |
} elseif ( ! $this->_plugin->IsMultisite() && ! current_user_can( 'manage_options' ) ) {
|
224 |
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
|
|
225 |
$buy_now_target = 'target="_blank"';
|
226 |
}
|
227 |
|
228 |
$more_info = add_query_arg(
|
229 |
array(
|
230 |
-
'utm_source'
|
231 |
-
'utm_medium'
|
232 |
-
'utm_content'
|
233 |
'utm_campaign' => 'upgrade+premium',
|
234 |
),
|
235 |
'https://www.wpsecurityauditlog.com/premium-features/'
|
236 |
);
|
237 |
?>
|
238 |
<p>
|
|
|
239 |
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
240 |
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
241 |
</p>
|
210 |
</li>
|
211 |
</ul>
|
212 |
<?php
|
213 |
+
// Trial link arguments.
|
214 |
+
$trial_args = array(
|
215 |
+
'page' => 'wsal-auditlog-pricing',
|
216 |
+
'billing_cycle' => 'annual',
|
217 |
+
'trial' => 'true',
|
218 |
+
);
|
219 |
+
|
220 |
// Buy Now button link.
|
221 |
+
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', admin_url( 'admin.php' ) );
|
222 |
$buy_now_target = '';
|
223 |
+
$trial_link = add_query_arg( $trial_args, admin_url( 'admin.php' ) );
|
224 |
|
225 |
// If user is not super admin and website is multisite then change the URL.
|
226 |
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
227 |
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
228 |
+
$trial_link = 'https://www.wpsecurityauditlog.com/pricing/';
|
229 |
$buy_now_target = 'target="_blank"';
|
230 |
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
231 |
+
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', network_admin_url( 'admin.php' ) );
|
232 |
+
$trial_link = add_query_arg( $trial_args, network_admin_url( 'admin.php' ) );
|
233 |
} elseif ( ! $this->_plugin->IsMultisite() && ! current_user_can( 'manage_options' ) ) {
|
234 |
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
235 |
+
$trial_link = 'https://www.wpsecurityauditlog.com/pricing/';
|
236 |
$buy_now_target = 'target="_blank"';
|
237 |
}
|
238 |
|
239 |
$more_info = add_query_arg(
|
240 |
array(
|
241 |
+
'utm_source' => 'plugin',
|
242 |
+
'utm_medium' => 'page',
|
243 |
+
'utm_content' => 'update+more+info',
|
244 |
'utm_campaign' => 'upgrade+premium',
|
245 |
),
|
246 |
'https://www.wpsecurityauditlog.com/premium-features/'
|
247 |
);
|
248 |
?>
|
249 |
<p>
|
250 |
+
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $trial_link ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Start Free Trial', 'wp-security-audit-log' ); ?></a>
|
251 |
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
252 |
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
253 |
</p>
|
classes/Views/LogInUsers.php
CHANGED
@@ -49,6 +49,15 @@ class WSAL_Views_LogInUsers extends WSAL_AbstractView {
|
|
49 |
return 7;
|
50 |
}
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
/**
|
53 |
* Method: Get View Header.
|
54 |
*/
|
@@ -82,7 +91,8 @@ class WSAL_Views_LogInUsers extends WSAL_AbstractView {
|
|
82 |
'wsal-swipebox-js',
|
83 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
84 |
array( 'jquery' ),
|
85 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' )
|
|
|
86 |
);
|
87 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
88 |
|
@@ -91,105 +101,39 @@ class WSAL_Views_LogInUsers extends WSAL_AbstractView {
|
|
91 |
'wsal-extensions-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
93 |
array( 'wsal-swipebox-js' ),
|
94 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' )
|
|
|
95 |
);
|
96 |
wp_enqueue_script( 'wsal-extensions-js' );
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
-
*
|
101 |
*/
|
102 |
public function Render() {
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
</ul>
|
126 |
-
</p>
|
127 |
-
<?php
|
128 |
-
// Buy Now button link.
|
129 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', admin_url( 'admin.php' ) );
|
130 |
-
$buy_now_target = '';
|
131 |
-
|
132 |
-
// If user is not super admin and website is multisite then change the URL.
|
133 |
-
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
134 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
135 |
-
$buy_now_target = 'target="_blank"';
|
136 |
-
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
137 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', network_admin_url( 'admin.php' ) );
|
138 |
-
} elseif ( ! $this->_plugin->IsMultisite() && ! current_user_can( 'manage_options' ) ) {
|
139 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
140 |
-
$buy_now_target = 'target="_blank"';
|
141 |
-
}
|
142 |
-
|
143 |
-
$more_info = add_query_arg(
|
144 |
-
array(
|
145 |
-
'utm_source' => 'plugin',
|
146 |
-
'utm_medium' => 'page',
|
147 |
-
'utm_content' => 'users+sessions+more+info',
|
148 |
-
'utm_campaign' => 'upgrade+premium',
|
149 |
-
),
|
150 |
-
'https://www.wpsecurityauditlog.com/premium-features/'
|
151 |
-
);
|
152 |
-
?>
|
153 |
-
<p>
|
154 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
155 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
156 |
-
</p>
|
157 |
-
</div>
|
158 |
-
<!-- /.wsal-col -->
|
159 |
-
</div>
|
160 |
-
<!-- /.wsal-row -->
|
161 |
-
|
162 |
-
<div class="wsal-row">
|
163 |
-
<div class="wsal-col">
|
164 |
-
<h3><?php esc_html_e( 'Screenshots', 'wp-security-audit-log' ); ?></h3>
|
165 |
-
|
166 |
-
<p>
|
167 |
-
<ul class="wsal-features-list">
|
168 |
-
<li>
|
169 |
-
<?php esc_html_e( 'See who is logged in to your WordPress website and WordPress multisite network.', 'wp-security-audit-log' ); ?><br />
|
170 |
-
<a class="swipebox" title="<?php esc_attr_e( 'See who is logged in to your WordPress website and WordPress multisite network.', 'wp-security-audit-log' ); ?>"
|
171 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/users-sessions-management/logged_in_users.png">
|
172 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/users-sessions-management/logged_in_users.png">
|
173 |
-
</a>
|
174 |
-
</li>
|
175 |
-
<li>
|
176 |
-
<?php esc_html_e( 'Block multiple sessions for the same user and configure related email notifications.', 'wp-security-audit-log' ); ?><br />
|
177 |
-
<a class="swipebox" title="<?php esc_attr_e( 'Block multiple sessions for the same user and configure related email notifications.', 'wp-security-audit-log' ); ?>"
|
178 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/users-sessions-management/users_session_management_config.png">
|
179 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/users-sessions-management/users_session_management_config.png">
|
180 |
-
</a>
|
181 |
-
</li>
|
182 |
-
</ul>
|
183 |
-
</p>
|
184 |
|
185 |
-
|
186 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
187 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
188 |
-
</p>
|
189 |
-
</div>
|
190 |
-
</div>
|
191 |
-
<!-- /.wsal-row -->
|
192 |
-
</div>
|
193 |
-
<?php
|
194 |
}
|
195 |
}
|
49 |
return 7;
|
50 |
}
|
51 |
|
52 |
+
/**
|
53 |
+
* Check if the page title is visible.
|
54 |
+
*
|
55 |
+
* @return boolean
|
56 |
+
*/
|
57 |
+
public function is_title_visible() {
|
58 |
+
return false;
|
59 |
+
}
|
60 |
+
|
61 |
/**
|
62 |
* Method: Get View Header.
|
63 |
*/
|
91 |
'wsal-swipebox-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
93 |
array( 'jquery' ),
|
94 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' ),
|
95 |
+
false
|
96 |
);
|
97 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
98 |
|
101 |
'wsal-extensions-js',
|
102 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
103 |
array( 'wsal-swipebox-js' ),
|
104 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' ),
|
105 |
+
false
|
106 |
);
|
107 |
wp_enqueue_script( 'wsal-extensions-js' );
|
108 |
}
|
109 |
|
110 |
/**
|
111 |
+
* Page View.
|
112 |
*/
|
113 |
public function Render() {
|
114 |
+
$title = __( 'Real-Time Users Sessions Management', 'wp-security-audit-log' );
|
115 |
+
$description = __( 'Better manage your users’ logins and sessions. Upgrade to premium and:', 'wp-security-audit-log' );
|
116 |
+
$addon_img = trailingslashit( WSAL_BASE_URL ) . 'img/' . $this->GetSafeViewName() . '.png';
|
117 |
+
$subtext = false;
|
118 |
+
$premium_list = array(
|
119 |
+
__( 'See who is logged in to your site', 'wp-security-audit-log' ),
|
120 |
+
__( 'When they logged in and from where', 'wp-security-audit-log' ),
|
121 |
+
__( 'The last change they have done in real-time', 'wp-security-audit-log' ),
|
122 |
+
__( 'Terminate any users’ session with a click of a button', 'wp-security-audit-log' ),
|
123 |
+
__( 'Limit or block multiple sessions for the same user', 'wp-security-audit-log' ),
|
124 |
+
__( 'Get alerted of multiple same user sessions', 'wp-security-audit-log' ),
|
125 |
+
);
|
126 |
+
$screenshots = array(
|
127 |
+
array(
|
128 |
+
'desc' => __( 'See who is logged in to your WordPress site and multisite network in real-time.', 'wp-security-audit-log' ),
|
129 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/users-sessions-management/user_sessions_1.png',
|
130 |
+
),
|
131 |
+
array(
|
132 |
+
'desc' => __( 'Limit, manage and block multiple same user sessions easily.', 'wp-security-audit-log' ),
|
133 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/users-sessions-management/user_sessions_2.png',
|
134 |
+
),
|
135 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
|
137 |
+
require_once dirname( __FILE__ ) . '/addons/html-view.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
}
|
139 |
}
|
classes/Views/Reports.php
CHANGED
@@ -49,6 +49,15 @@ class WSAL_Views_Reports extends WSAL_AbstractView {
|
|
49 |
return 9;
|
50 |
}
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
/**
|
53 |
* Method: Get View Header.
|
54 |
*/
|
@@ -82,7 +91,8 @@ class WSAL_Views_Reports extends WSAL_AbstractView {
|
|
82 |
'wsal-swipebox-js',
|
83 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
84 |
array( 'jquery' ),
|
85 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' )
|
|
|
86 |
);
|
87 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
88 |
|
@@ -91,104 +101,41 @@ class WSAL_Views_Reports extends WSAL_AbstractView {
|
|
91 |
'wsal-extensions-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
93 |
array( 'wsal-swipebox-js' ),
|
94 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' )
|
|
|
95 |
);
|
96 |
wp_enqueue_script( 'wsal-extensions-js' );
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
-
*
|
101 |
*/
|
102 |
public function Render() {
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
// Buy Now button link.
|
128 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', admin_url( 'admin.php' ) );
|
129 |
-
$buy_now_target = '';
|
130 |
-
|
131 |
-
// If user is not super admin and website is multisite then change the URL.
|
132 |
-
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
133 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
134 |
-
$buy_now_target = 'target="_blank"';
|
135 |
-
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
136 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', network_admin_url( 'admin.php' ) );
|
137 |
-
} elseif ( ! $this->_plugin->IsMultisite() && ! current_user_can( 'manage_options' ) ) {
|
138 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
139 |
-
$buy_now_target = 'target="_blank"';
|
140 |
-
}
|
141 |
-
|
142 |
-
$more_info = add_query_arg(
|
143 |
-
array(
|
144 |
-
'utm_source' => 'plugin',
|
145 |
-
'utm_medium' => 'page',
|
146 |
-
'utm_content' => 'reports+more+info',
|
147 |
-
'utm_campaign' => 'upgrade+premium',
|
148 |
-
),
|
149 |
-
'https://www.wpsecurityauditlog.com/premium-features/'
|
150 |
-
);
|
151 |
-
?>
|
152 |
-
<p>
|
153 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
154 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
155 |
-
</p>
|
156 |
-
</div>
|
157 |
-
<!-- /.wsal-col -->
|
158 |
-
</div>
|
159 |
-
<!-- /.wsal-row -->
|
160 |
-
|
161 |
-
<div class="wsal-row">
|
162 |
-
<div class="wsal-col">
|
163 |
-
<h3><?php esc_html_e( 'Screenshots', 'wp-security-audit-log' ); ?></h3>
|
164 |
-
|
165 |
-
<p>
|
166 |
-
<ul class="wsal-features-list">
|
167 |
-
<li>
|
168 |
-
<?php esc_html_e( 'Generate any type of report and also configure daily, weekly, monthly and quarterly reports which are automatically sent to you via email.', 'wp-security-audit-log' ); ?><br />
|
169 |
-
<a class="swipebox" title="<?php esc_attr_e( 'Generate any type of report and also configure daily, weekly, monthly and quarterly reports which are automatically sent to you via email.', 'wp-security-audit-log' ); ?>"
|
170 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/reports/reports_1.png">
|
171 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/reports/reports_1.png">
|
172 |
-
</a>
|
173 |
-
</li>
|
174 |
-
<li>
|
175 |
-
<?php esc_html_e( 'Generate statistical reports to get a better overview of what users are doing on your WordPress and WordPress multisite network are doing.', 'wp-security-audit-log' ); ?><br />
|
176 |
-
<a class="swipebox" title="<?php esc_attr_e( 'Generate statistical reports to get a better overview of what users are doing on your WordPress and WordPress multisite network are doing.', 'wp-security-audit-log' ); ?>"
|
177 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/reports/reports_2.png">
|
178 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/reports/reports_2.png">
|
179 |
-
</a>
|
180 |
-
</li>
|
181 |
-
</ul>
|
182 |
-
</p>
|
183 |
|
184 |
-
|
185 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
186 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
187 |
-
</p>
|
188 |
-
</div>
|
189 |
-
</div>
|
190 |
-
<!-- /.wsal-row -->
|
191 |
-
</div>
|
192 |
-
<?php
|
193 |
}
|
194 |
}
|
49 |
return 9;
|
50 |
}
|
51 |
|
52 |
+
/**
|
53 |
+
* Check if the page title is visible.
|
54 |
+
*
|
55 |
+
* @return boolean
|
56 |
+
*/
|
57 |
+
public function is_title_visible() {
|
58 |
+
return false;
|
59 |
+
}
|
60 |
+
|
61 |
/**
|
62 |
* Method: Get View Header.
|
63 |
*/
|
91 |
'wsal-swipebox-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
93 |
array( 'jquery' ),
|
94 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' ),
|
95 |
+
false
|
96 |
);
|
97 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
98 |
|
101 |
'wsal-extensions-js',
|
102 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
103 |
array( 'wsal-swipebox-js' ),
|
104 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' ),
|
105 |
+
false
|
106 |
);
|
107 |
wp_enqueue_script( 'wsal-extensions-js' );
|
108 |
}
|
109 |
|
110 |
/**
|
111 |
+
* Page View.
|
112 |
*/
|
113 |
public function Render() {
|
114 |
+
$title = __( 'Individual, Scheduled & Automated Reports', 'wp-security-audit-log' );
|
115 |
+
$description = __( 'Many are not fans of reports, however reports are vital in business. With them you can make informed decisions that allow you to improve user productivity and the business. Upgrade to Premium so you can:', 'wp-security-audit-log' );
|
116 |
+
$addon_img = trailingslashit( WSAL_BASE_URL ) . 'img/' . $this->GetSafeViewName() . '.jpg';
|
117 |
+
$premium_list = array(
|
118 |
+
__( 'Generate any type of user and site (in multisite) activity report', 'wp-security-audit-log' ),
|
119 |
+
__( 'Automate and schedule daily, weekly, monthly and quarterly reports', 'wp-security-audit-log' ),
|
120 |
+
__( 'Received reports automatically via email', 'wp-security-audit-log' ),
|
121 |
+
__( 'Create statistics reports about users’ views, logins, activity from IP addresses & more', 'wp-security-audit-log' ),
|
122 |
+
);
|
123 |
+
$subtext = __( 'Reports are vital to the success of your business and management of your site.', 'wp-security-audit-log' );
|
124 |
+
$screenshots = array(
|
125 |
+
array(
|
126 |
+
'desc' => __( 'Generate a HTML or CSV report.', 'wp-security-audit-log' ),
|
127 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/reports/reports_1.png',
|
128 |
+
),
|
129 |
+
array(
|
130 |
+
'desc' => __( 'Easily configure a criteria for your reports.', 'wp-security-audit-log' ),
|
131 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/reports/reports_2.png',
|
132 |
+
),
|
133 |
+
array(
|
134 |
+
'desc' => __( 'Schedule reports that are sent to you by email automatically.', 'wp-security-audit-log' ),
|
135 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/reports/reports_3.png',
|
136 |
+
),
|
137 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
|
139 |
+
require_once dirname( __FILE__ ) . '/addons/html-view.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
}
|
141 |
}
|
classes/Views/Search.php
CHANGED
@@ -49,6 +49,15 @@ class WSAL_Views_Search extends WSAL_AbstractView {
|
|
49 |
return 11;
|
50 |
}
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
/**
|
53 |
* Method: Get View Header.
|
54 |
*/
|
@@ -82,7 +91,8 @@ class WSAL_Views_Search extends WSAL_AbstractView {
|
|
82 |
'wsal-swipebox-js',
|
83 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
84 |
array( 'jquery' ),
|
85 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' )
|
|
|
86 |
);
|
87 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
88 |
|
@@ -91,97 +101,42 @@ class WSAL_Views_Search extends WSAL_AbstractView {
|
|
91 |
'wsal-extensions-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
93 |
array( 'wsal-swipebox-js' ),
|
94 |
-
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' )
|
|
|
95 |
);
|
96 |
wp_enqueue_script( 'wsal-extensions-js' );
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
-
*
|
101 |
*/
|
102 |
public function Render() {
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', admin_url( 'admin.php' ) );
|
129 |
-
$buy_now_target = '';
|
130 |
-
|
131 |
-
// If user is not super admin and website is multisite then change the URL.
|
132 |
-
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
133 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
134 |
-
$buy_now_target = 'target="_blank"';
|
135 |
-
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
136 |
-
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', network_admin_url( 'admin.php' ) );
|
137 |
-
} elseif ( ! $this->_plugin->IsMultisite() && ! current_user_can( 'manage_options' ) ) {
|
138 |
-
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
139 |
-
$buy_now_target = 'target="_blank"';
|
140 |
-
}
|
141 |
-
|
142 |
-
$more_info = add_query_arg(
|
143 |
-
array(
|
144 |
-
'utm_source' => 'plugin',
|
145 |
-
'utm_medium' => 'page',
|
146 |
-
'utm_content' => 'search+more+info',
|
147 |
-
'utm_campaign' => 'upgrade+premium',
|
148 |
-
),
|
149 |
-
'https://www.wpsecurityauditlog.com/premium-features/'
|
150 |
-
);
|
151 |
-
?>
|
152 |
-
<p>
|
153 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
154 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
155 |
-
</p>
|
156 |
-
</div>
|
157 |
-
<!-- /.wsal-col -->
|
158 |
-
</div>
|
159 |
-
<!-- /.wsal-row -->
|
160 |
-
|
161 |
-
<div class="wsal-row">
|
162 |
-
<div class="wsal-col">
|
163 |
-
<h3><?php esc_html_e( 'Screenshots', 'wp-security-audit-log' ); ?></h3>
|
164 |
-
|
165 |
-
<p>
|
166 |
-
<ul class="wsal-features-list">
|
167 |
-
<li>
|
168 |
-
<?php esc_html_e( 'Use the free-text based search to find a specific change and use the filters to fine tune the search results.', 'wp-security-audit-log' ); ?><br />
|
169 |
-
<a class="swipebox" title="<?php esc_attr_e( 'Use the free-text based search to find a specific change and use the filters to fine tune the search results.', 'wp-security-audit-log' ); ?>"
|
170 |
-
href="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/search/search.png">
|
171 |
-
<img width="500" src="<?php echo esc_url( $this->_plugin->GetBaseUrl() ); ?>/img/search/search.png">
|
172 |
-
</a>
|
173 |
-
</li>
|
174 |
-
</ul>
|
175 |
-
</p>
|
176 |
|
177 |
-
|
178 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $buy_now ); ?>" <?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
179 |
-
<a class="button-primary wsal-extension-btn" href="<?php echo esc_attr( $more_info ); ?>" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
180 |
-
</p>
|
181 |
-
</div>
|
182 |
-
</div>
|
183 |
-
<!-- /.wsal-row -->
|
184 |
-
</div>
|
185 |
-
<?php
|
186 |
}
|
187 |
}
|
49 |
return 11;
|
50 |
}
|
51 |
|
52 |
+
/**
|
53 |
+
* Check if the page title is visible.
|
54 |
+
*
|
55 |
+
* @return boolean
|
56 |
+
*/
|
57 |
+
public function is_title_visible() {
|
58 |
+
return false;
|
59 |
+
}
|
60 |
+
|
61 |
/**
|
62 |
* Method: Get View Header.
|
63 |
*/
|
91 |
'wsal-swipebox-js',
|
92 |
$this->_plugin->GetBaseUrl() . '/js/jquery.swipebox.min.js',
|
93 |
array( 'jquery' ),
|
94 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/jquery.swipebox.min.js' ),
|
95 |
+
false
|
96 |
);
|
97 |
wp_enqueue_script( 'wsal-swipebox-js' );
|
98 |
|
101 |
'wsal-extensions-js',
|
102 |
$this->_plugin->GetBaseUrl() . '/js/extensions.js',
|
103 |
array( 'wsal-swipebox-js' ),
|
104 |
+
filemtime( $this->_plugin->GetBaseDir() . '/js/extensions.js' ),
|
105 |
+
false
|
106 |
);
|
107 |
wp_enqueue_script( 'wsal-extensions-js' );
|
108 |
}
|
109 |
|
110 |
/**
|
111 |
+
* Page View.
|
112 |
*/
|
113 |
public function Render() {
|
114 |
+
$title = __( 'Search & Filters for the Activity Log', 'wp-security-audit-log' );
|
115 |
+
$description = __( 'You can find all the information you want in the activity log, if you know what you are looking for and have the right tools. Upgrade to premium so you can:', 'wp-security-audit-log' );
|
116 |
+
$addon_img = trailingslashit( WSAL_BASE_URL ) . 'img/' . $this->GetSafeViewName() . '.jpg';
|
117 |
+
$premium_list = array(
|
118 |
+
__( 'Do text searches and use filters to fine tune the search results', 'wp-security-audit-log' ),
|
119 |
+
__( 'Easily find when and who did a specific change on your site', 'wp-security-audit-log' ),
|
120 |
+
__( 'Easily identify and track back suspicious user behaviour', 'wp-security-audit-log' ),
|
121 |
+
__( 'Search for the cause of a problem and ease troubleshooting', 'wp-security-audit-log' ),
|
122 |
+
__( 'Save search terms and filters for future use and improved productivity', 'wp-security-audit-log' ),
|
123 |
+
);
|
124 |
+
$subtext = false;
|
125 |
+
$screenshots = array(
|
126 |
+
array(
|
127 |
+
'desc' => __( 'Use the text search to find a specific change.', 'wp-security-audit-log' ),
|
128 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/search/search_1.png',
|
129 |
+
),
|
130 |
+
array(
|
131 |
+
'desc' => __( 'Configure any filter you need to fine tune the search results and find what you are looking for with much less effort.', 'wp-security-audit-log' ),
|
132 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/search/search_2.png',
|
133 |
+
),
|
134 |
+
array(
|
135 |
+
'desc' => __( 'Save search terms and filters to run the searches again in the future with just a single click.', 'wp-security-audit-log' ),
|
136 |
+
'img' => trailingslashit( WSAL_BASE_URL ) . 'img/search/search_3.png',
|
137 |
+
),
|
138 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
|
140 |
+
require_once dirname( __FILE__ ) . '/addons/html-view.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
}
|
classes/Views/Settings.php
CHANGED
@@ -61,6 +61,7 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
61 |
*/
|
62 |
public function __construct( WpSecurityAuditLog $plugin ) {
|
63 |
parent::__construct( $plugin );
|
|
|
64 |
add_action( 'wp_ajax_AjaxCheckSecurityToken', array( $this, 'AjaxCheckSecurityToken' ) );
|
65 |
add_action( 'wp_ajax_AjaxRunCleanup', array( $this, 'AjaxRunCleanup' ) );
|
66 |
add_action( 'wp_ajax_AjaxGetAllUsers', array( $this, 'AjaxGetAllUsers' ) );
|
@@ -72,6 +73,22 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
72 |
add_action( 'wp_ajax_wsal_stop_file_changes_scan', array( $this, 'stop_file_changes_scan' ) );
|
73 |
add_action( 'wp_ajax_wsal_reset_settings', array( $this, 'reset_settings' ) );
|
74 |
add_action( 'wp_ajax_wsal_purge_activity', array( $this, 'purge_activity' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
// Tab links.
|
77 |
$wsal_setting_tabs = array(
|
@@ -205,9 +222,7 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
205 |
* @throws Exception - Unrecognized settings tab error.
|
206 |
*/
|
207 |
protected function Save() {
|
208 |
-
|
209 |
-
|
210 |
-
// Call respective tab save functions if they are set.
|
211 |
if ( ! empty( $this->current_tab ) && ! empty( $this->wsal_setting_tabs[ $this->current_tab ]['save'] ) ) {
|
212 |
call_user_func( $this->wsal_setting_tabs[ $this->current_tab ]['save'] );
|
213 |
} else {
|
@@ -323,24 +338,32 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
323 |
* Method: Get View.
|
324 |
*/
|
325 |
public function Render() {
|
326 |
-
//
|
327 |
-
|
328 |
-
|
329 |
-
if ( isset( $post_array['_wpnonce'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'wsal-settings' ) ) {
|
330 |
-
wp_die( esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ) );
|
331 |
}
|
332 |
|
333 |
if ( ! $this->_plugin->settings->CurrentUserCan( 'edit' ) ) {
|
334 |
wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'wp-security-audit-log' ) );
|
335 |
}
|
336 |
|
337 |
-
if
|
|
|
|
|
|
|
338 |
try {
|
339 |
-
$this->Save();
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
} catch ( Exception $ex ) {
|
345 |
?>
|
346 |
<div class="error"><p><?php esc_html_e( 'Error: ', 'wp-security-audit-log' ); ?><?php echo esc_html( $ex->getMessage() ); ?></p></div>
|
@@ -361,7 +384,6 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
361 |
</div>
|
362 |
<?php
|
363 |
}
|
364 |
-
|
365 |
?>
|
366 |
<nav id="wsal-tabs" class="nav-tab-wrapper">
|
367 |
<?php foreach ( $this->wsal_setting_tabs as $tab_id => $tab ) : ?>
|
@@ -393,7 +415,13 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
393 |
}
|
394 |
?>
|
395 |
</div>
|
396 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
397 |
</form>
|
398 |
<script type="text/javascript">
|
399 |
<!--
|
@@ -474,7 +502,33 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
474 |
<!-- / Reverse Proxy / Firewall Options -->
|
475 |
</tbody>
|
476 |
</table>
|
477 |
-
<!--
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
478 |
|
479 |
<h3><?php esc_html_e( 'Display latest events widget in Dashboard & Admin bar', 'wp-security-audit-log' ); ?></h3>
|
480 |
<p class="description">
|
@@ -835,6 +889,7 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
835 |
// Get $_POST global array.
|
836 |
$post_array = filter_input_array( INPUT_POST );
|
837 |
|
|
|
838 |
$this->_plugin->settings->set_events_type_nav( sanitize_text_field( $post_array['events-type-nav'] ) );
|
839 |
$this->_plugin->settings->set_use_email( sanitize_text_field( $post_array['use-email'] ) );
|
840 |
$this->_plugin->settings->SetFromEmail( sanitize_email( $post_array['FromEmail'] ) );
|
@@ -974,7 +1029,7 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
974 |
?>
|
975 |
</p>
|
976 |
<p>
|
977 |
-
<a class="button-primary" href="<?php echo esc_url( add_query_arg( 'action', 'AjaxRunCleanup', admin_url( 'admin-ajax.php' ) ) ); ?>"><?php esc_html_e( 'Purge Old Data', 'wp-security-audit-log' ) ?></a>
|
978 |
</p>
|
979 |
<?php endif; ?>
|
980 |
</td>
|
@@ -1094,34 +1149,6 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
1094 |
</table>
|
1095 |
<!-- Audit Log Columns -->
|
1096 |
|
1097 |
-
<h3><?php esc_html_e( 'Do you want the activity log viewer to auto refresh?', 'wp-security-audit-log' ); ?></h3>
|
1098 |
-
<p class="description"><?php esc_html_e( 'The activity log viewer auto refreshes every 30 seconds when opened so you can see the latest events as they happen almost in real time.', 'wp-security-audit-log' ); ?></p>
|
1099 |
-
<table class="form-table wsal-tab">
|
1100 |
-
<tbody>
|
1101 |
-
<tr>
|
1102 |
-
<th><label for="aroption_on"><?php esc_html_e( 'Refresh Audit Log Viewer', 'wp-security-audit-log' ); ?></label></th>
|
1103 |
-
<td>
|
1104 |
-
<fieldset>
|
1105 |
-
<?php $are = $this->_plugin->settings->IsRefreshAlertsEnabled(); ?>
|
1106 |
-
<label for="aroption_on">
|
1107 |
-
<input type="radio" name="EnableAuditViewRefresh" id="aroption_on" style="margin-top: -2px;"
|
1108 |
-
<?php checked( $are ); ?> value="1">
|
1109 |
-
<span><?php esc_html_e( 'Auto refresh', 'wp-security-audit-log' ); ?></span>
|
1110 |
-
</label>
|
1111 |
-
<br/>
|
1112 |
-
<label for="aroption_off">
|
1113 |
-
<input type="radio" name="EnableAuditViewRefresh" id="aroption_off" style="margin-top: -2px;"
|
1114 |
-
<?php checked( $are, false ); ?> value="0">
|
1115 |
-
<span><?php esc_html_e( 'Do not auto refresh', 'wp-security-audit-log' ); ?></span>
|
1116 |
-
</label>
|
1117 |
-
</fieldset>
|
1118 |
-
</td>
|
1119 |
-
</tr>
|
1120 |
-
<!-- Refresh Audit Log Viewer -->
|
1121 |
-
</tbody>
|
1122 |
-
</table>
|
1123 |
-
<!-- Refresh Audit Log -->
|
1124 |
-
|
1125 |
<h3><?php esc_html_e( 'Do you want to keep a log of WordPress background activity?', 'wp-security-audit-log' ); ?></h3>
|
1126 |
<p class="description">
|
1127 |
<?php esc_html_e( 'WordPress does a lot of things in the background that you do not necessarily need to know about, such as; deletion of post revisions, deletion of auto saved drafts etc. By default the plugin does not report them since there might be a lot and are irrelevant to the user.', 'wp-security-audit-log' ); ?>
|
@@ -1166,7 +1193,6 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
1166 |
$this->_plugin->settings->SetPruningDateEnabled( isset( $post_array['PruneBy'] ) ? 'date' === $post_array['PruneBy'] : '' );
|
1167 |
$this->_plugin->settings->SetPruningDate( $pruning_date );
|
1168 |
$this->_plugin->settings->set_pruning_unit( $pruning_unit );
|
1169 |
-
$this->_plugin->settings->SetRefreshAlertsEnabled( $post_array['EnableAuditViewRefresh'] );
|
1170 |
$this->_plugin->settings->SetTimezone( $post_array['Timezone'] );
|
1171 |
$this->_plugin->settings->set_type_username( $post_array['type_username'] );
|
1172 |
$this->_plugin->settings->SetWPBackend( isset( $post_array['WPBackend'] ) ? sanitize_text_field( $post_array['WPBackend'] ) : false );
|
@@ -1467,7 +1493,7 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
1467 |
<th><label for="wsal-scan-file-size"><?php esc_html_e( 'File Size Limit', 'wp-security-audit-log' ); ?></label></th>
|
1468 |
<td>
|
1469 |
<fieldset>
|
1470 |
-
<input type="number" id="wsal-scan-file-size" name="wsal-scan-file-size" min="1" max="100" value="<?php echo isset( $this->scan_settings['scan_file_size_limit'] ) ? esc_attr( $this->scan_settings['scan_file_size_limit'] ) : false ?>" /> <?php esc_html_e( 'MB', 'wp-security-audit-log' ); ?>
|
1471 |
</fieldset>
|
1472 |
</td>
|
1473 |
</tr>
|
@@ -2187,10 +2213,10 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2187 |
|
2188 |
// Get custom post types.
|
2189 |
$custom_post_types = array();
|
2190 |
-
$output
|
2191 |
-
$operator
|
2192 |
-
$post_types
|
2193 |
-
$post_types
|
2194 |
foreach ( $post_types as $post_type ) {
|
2195 |
if ( strpos( $post_type, $get_array['term'] ) !== false ) {
|
2196 |
array_push( $custom_post_types, $post_type );
|
@@ -2266,10 +2292,12 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2266 |
if ( ! in_array( $dir_name, $server_dirs, true ) ) {
|
2267 |
$excluded_option[] = $dir_name;
|
2268 |
} else {
|
2269 |
-
echo wp_json_encode(
|
2270 |
-
|
2271 |
-
|
2272 |
-
|
|
|
|
|
2273 |
exit();
|
2274 |
}
|
2275 |
} else {
|
@@ -2285,10 +2313,12 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2285 |
$this->_plugin->SetGlobalOption( 'scan-excluded-directories', $excluded_option );
|
2286 |
}
|
2287 |
|
2288 |
-
echo wp_json_encode(
|
2289 |
-
|
2290 |
-
|
2291 |
-
|
|
|
|
|
2292 |
} else {
|
2293 |
if ( 'file' === $data_type ) {
|
2294 |
$message = esc_html__( 'This file is already excluded from the scan.', 'wp-security-audit-log' );
|
@@ -2297,16 +2327,20 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2297 |
} elseif ( 'dir' === $data_type ) {
|
2298 |
$message = esc_html__( 'This directory is already excluded from the scan.', 'wp-security-audit-log' );
|
2299 |
}
|
2300 |
-
echo wp_json_encode(
|
2301 |
-
|
2302 |
-
|
2303 |
-
|
|
|
|
|
2304 |
}
|
2305 |
} else {
|
2306 |
-
echo wp_json_encode(
|
2307 |
-
|
2308 |
-
|
2309 |
-
|
|
|
|
|
2310 |
}
|
2311 |
exit();
|
2312 |
}
|
@@ -2399,15 +2433,19 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2399 |
$this->_plugin->SetGlobalOption( 'site_content', $site_content );
|
2400 |
}
|
2401 |
|
2402 |
-
echo wp_json_encode(
|
2403 |
-
|
2404 |
-
|
2405 |
-
|
|
|
|
|
2406 |
} else {
|
2407 |
-
echo wp_json_encode(
|
2408 |
-
|
2409 |
-
|
2410 |
-
|
|
|
|
|
2411 |
}
|
2412 |
exit();
|
2413 |
}
|
@@ -2431,10 +2469,12 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2431 |
|
2432 |
// Return if a cron is running.
|
2433 |
if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
|
2434 |
-
echo wp_json_encode(
|
2435 |
-
|
2436 |
-
|
2437 |
-
|
|
|
|
|
2438 |
exit();
|
2439 |
}
|
2440 |
|
@@ -2459,16 +2499,20 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2459 |
if ( ! $this->_plugin->GetGlobalOption( 'stop-scan', false ) ) {
|
2460 |
if ( 0 === $dir ) {
|
2461 |
// Scan started alert.
|
2462 |
-
$this->_plugin->alerts->Trigger(
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
|
|
|
|
2466 |
} elseif ( 6 === $dir ) {
|
2467 |
// Scan stopped.
|
2468 |
-
$this->_plugin->alerts->Trigger(
|
2469 |
-
|
2470 |
-
|
2471 |
-
|
|
|
|
|
2472 |
}
|
2473 |
$file_changes->detect_file_changes( true, $dir );
|
2474 |
} else {
|
@@ -2477,15 +2521,19 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2477 |
}
|
2478 |
$this->_plugin->SetGlobalOption( 'stop-scan', false );
|
2479 |
|
2480 |
-
echo wp_json_encode(
|
2481 |
-
|
2482 |
-
|
2483 |
-
|
|
|
|
|
2484 |
} else {
|
2485 |
-
echo wp_json_encode(
|
2486 |
-
|
2487 |
-
|
2488 |
-
|
|
|
|
|
2489 |
}
|
2490 |
exit();
|
2491 |
}
|
@@ -2504,20 +2552,24 @@ class WSAL_Views_Settings extends WSAL_AbstractView {
|
|
2504 |
|
2505 |
// Die if nonce verification failed.
|
2506 |
if ( ! wp_verify_nonce( $post_array['nonce'], 'wsal-stop-scan' ) ) {
|
2507 |
-
echo wp_json_encode(
|
2508 |
-
|
2509 |
-
|
2510 |
-
|
|
|
|
|
2511 |
exit();
|
2512 |
}
|
2513 |
|
2514 |
// Set stop scan option to true.
|
2515 |
$this->_plugin->SetGlobalOption( 'stop-scan', true );
|
2516 |
|
2517 |
-
echo wp_json_encode(
|
2518 |
-
|
2519 |
-
|
2520 |
-
|
|
|
|
|
2521 |
exit();
|
2522 |
}
|
2523 |
|
61 |
*/
|
62 |
public function __construct( WpSecurityAuditLog $plugin ) {
|
63 |
parent::__construct( $plugin );
|
64 |
+
add_action( 'admin_init', array( $this, 'setup_settings_tabs' ) );
|
65 |
add_action( 'wp_ajax_AjaxCheckSecurityToken', array( $this, 'AjaxCheckSecurityToken' ) );
|
66 |
add_action( 'wp_ajax_AjaxRunCleanup', array( $this, 'AjaxRunCleanup' ) );
|
67 |
add_action( 'wp_ajax_AjaxGetAllUsers', array( $this, 'AjaxGetAllUsers' ) );
|
73 |
add_action( 'wp_ajax_wsal_stop_file_changes_scan', array( $this, 'stop_file_changes_scan' ) );
|
74 |
add_action( 'wp_ajax_wsal_reset_settings', array( $this, 'reset_settings' ) );
|
75 |
add_action( 'wp_ajax_wsal_purge_activity', array( $this, 'purge_activity' ) );
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Setup WSAL Settings Page Tabs.
|
80 |
+
*
|
81 |
+
* @since 3.4
|
82 |
+
*/
|
83 |
+
public function setup_settings_tabs() {
|
84 |
+
// @codingStandardsIgnoreStart
|
85 |
+
$page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : false;
|
86 |
+
// @codingStandardsIgnoreEnd
|
87 |
+
|
88 |
+
// Verify that the current page is WSAL settings page.
|
89 |
+
if ( empty( $page ) || $this->GetSafeViewName() !== $page ) {
|
90 |
+
return;
|
91 |
+
}
|
92 |
|
93 |
// Tab links.
|
94 |
$wsal_setting_tabs = array(
|
222 |
* @throws Exception - Unrecognized settings tab error.
|
223 |
*/
|
224 |
protected function Save() {
|
225 |
+
// Call respective tab save functions if they are set. Nonce is already verified at this point.
|
|
|
|
|
226 |
if ( ! empty( $this->current_tab ) && ! empty( $this->wsal_setting_tabs[ $this->current_tab ]['save'] ) ) {
|
227 |
call_user_func( $this->wsal_setting_tabs[ $this->current_tab ]['save'] );
|
228 |
} else {
|
338 |
* Method: Get View.
|
339 |
*/
|
340 |
public function Render() {
|
341 |
+
// Verify nonce if a form is submitted.
|
342 |
+
if ( isset( $_POST['_wpnonce'] ) ) {
|
343 |
+
check_admin_referer( 'wsal-settings' );
|
|
|
|
|
344 |
}
|
345 |
|
346 |
if ( ! $this->_plugin->settings->CurrentUserCan( 'edit' ) ) {
|
347 |
wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'wp-security-audit-log' ) );
|
348 |
}
|
349 |
|
350 |
+
// Check to see if section parameter is set in the URL.
|
351 |
+
$section = isset( $_GET['section'] ) ? sanitize_text_field( wp_unslash( $_GET['section'] ) ) : false;
|
352 |
+
|
353 |
+
if ( isset( $_POST['submit'] ) ) {
|
354 |
try {
|
355 |
+
$this->Save(); // Save settings.
|
356 |
+
if ( 'sms-provider' === $this->current_tab && $section && 'test' === $section ) :
|
357 |
+
?>
|
358 |
+
<div class="updated">
|
359 |
+
<p><?php esc_html_e( 'Message sent successfully.', 'wp-security-audit-log' ); ?></p>
|
360 |
+
</div>
|
361 |
+
<?php else : ?>
|
362 |
+
<div class="updated">
|
363 |
+
<p><?php esc_html_e( 'Settings have been saved.', 'wp-security-audit-log' ); ?></p>
|
364 |
+
</div>
|
365 |
+
<?php
|
366 |
+
endif;
|
367 |
} catch ( Exception $ex ) {
|
368 |
?>
|
369 |
<div class="error"><p><?php esc_html_e( 'Error: ', 'wp-security-audit-log' ); ?><?php echo esc_html( $ex->getMessage() ); ?></p></div>
|
384 |
</div>
|
385 |
<?php
|
386 |
}
|
|
|
387 |
?>
|
388 |
<nav id="wsal-tabs" class="nav-tab-wrapper">
|
389 |
<?php foreach ( $this->wsal_setting_tabs as $tab_id => $tab ) : ?>
|
415 |
}
|
416 |
?>
|
417 |
</div>
|
418 |
+
<?php
|
419 |
+
if ( 'sms-provider' === $this->current_tab && $section && 'test' === $section ) {
|
420 |
+
submit_button( __( 'Send Message', 'wp-security-audit-log' ) );
|
421 |
+
} else {
|
422 |
+
submit_button();
|
423 |
+
}
|
424 |
+
?>
|
425 |
</form>
|
426 |
<script type="text/javascript">
|
427 |
<!--
|
502 |
<!-- / Reverse Proxy / Firewall Options -->
|
503 |
</tbody>
|
504 |
</table>
|
505 |
+
<!-- Events Navigation Type -->
|
506 |
+
|
507 |
+
<h3><?php esc_html_e( 'Do you want the activity log viewer to auto refresh?', 'wp-security-audit-log' ); ?></h3>
|
508 |
+
<p class="description"><?php esc_html_e( 'The activity log viewer auto refreshes every 30 seconds when opened so you can see the latest events as they happen almost in real time.', 'wp-security-audit-log' ); ?></p>
|
509 |
+
<table class="form-table wsal-tab">
|
510 |
+
<tbody>
|
511 |
+
<tr>
|
512 |
+
<th><label for="aroption_on"><?php esc_html_e( 'Refresh Audit Log Viewer', 'wp-security-audit-log' ); ?></label></th>
|
513 |
+
<td>
|
514 |
+
<fieldset>
|
515 |
+
<?php $are = $this->_plugin->settings->IsRefreshAlertsEnabled(); ?>
|
516 |
+
<label for="aroption_on">
|
517 |
+
<input type="radio" name="EnableAuditViewRefresh" id="aroption_on" style="margin-top: -2px;" <?php checked( $are ); ?> value="1">
|
518 |
+
<span><?php esc_html_e( 'Auto refresh', 'wp-security-audit-log' ); ?></span>
|
519 |
+
</label>
|
520 |
+
<br/>
|
521 |
+
<label for="aroption_off">
|
522 |
+
<input type="radio" name="EnableAuditViewRefresh" id="aroption_off" style="margin-top: -2px;" <?php checked( $are, false ); ?> value="0">
|
523 |
+
<span><?php esc_html_e( 'Do not auto refresh', 'wp-security-audit-log' ); ?></span>
|
524 |
+
</label>
|
525 |
+
</fieldset>
|
526 |
+
</td>
|
527 |
+
</tr>
|
528 |
+
<!-- Refresh Audit Log Viewer -->
|
529 |
+
</tbody>
|
530 |
+
</table>
|
531 |
+
<!-- Refresh Audit Log -->
|
532 |
|
533 |
<h3><?php esc_html_e( 'Display latest events widget in Dashboard & Admin bar', 'wp-security-audit-log' ); ?></h3>
|
534 |
<p class="description">
|
889 |
// Get $_POST global array.
|
890 |
$post_array = filter_input_array( INPUT_POST );
|
891 |
|
892 |
+
$this->_plugin->settings->SetRefreshAlertsEnabled( $post_array['EnableAuditViewRefresh'] );
|
893 |
$this->_plugin->settings->set_events_type_nav( sanitize_text_field( $post_array['events-type-nav'] ) );
|
894 |
$this->_plugin->settings->set_use_email( sanitize_text_field( $post_array['use-email'] ) );
|
895 |
$this->_plugin->settings->SetFromEmail( sanitize_email( $post_array['FromEmail'] ) );
|
1029 |
?>
|
1030 |
</p>
|
1031 |
<p>
|
1032 |
+
<a class="button-primary" href="<?php echo esc_url( add_query_arg( 'action', 'AjaxRunCleanup', admin_url( 'admin-ajax.php' ) ) ); ?>"><?php esc_html_e( 'Purge Old Data', 'wp-security-audit-log' ); ?></a>
|
1033 |
</p>
|
1034 |
<?php endif; ?>
|
1035 |
</td>
|
1149 |
</table>
|
1150 |
<!-- Audit Log Columns -->
|
1151 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1152 |
<h3><?php esc_html_e( 'Do you want to keep a log of WordPress background activity?', 'wp-security-audit-log' ); ?></h3>
|
1153 |
<p class="description">
|
1154 |
<?php esc_html_e( 'WordPress does a lot of things in the background that you do not necessarily need to know about, such as; deletion of post revisions, deletion of auto saved drafts etc. By default the plugin does not report them since there might be a lot and are irrelevant to the user.', 'wp-security-audit-log' ); ?>
|
1193 |
$this->_plugin->settings->SetPruningDateEnabled( isset( $post_array['PruneBy'] ) ? 'date' === $post_array['PruneBy'] : '' );
|
1194 |
$this->_plugin->settings->SetPruningDate( $pruning_date );
|
1195 |
$this->_plugin->settings->set_pruning_unit( $pruning_unit );
|
|
|
1196 |
$this->_plugin->settings->SetTimezone( $post_array['Timezone'] );
|
1197 |
$this->_plugin->settings->set_type_username( $post_array['type_username'] );
|
1198 |
$this->_plugin->settings->SetWPBackend( isset( $post_array['WPBackend'] ) ? sanitize_text_field( $post_array['WPBackend'] ) : false );
|
1493 |
<th><label for="wsal-scan-file-size"><?php esc_html_e( 'File Size Limit', 'wp-security-audit-log' ); ?></label></th>
|
1494 |
<td>
|
1495 |
<fieldset>
|
1496 |
+
<input type="number" id="wsal-scan-file-size" name="wsal-scan-file-size" min="1" max="100" value="<?php echo isset( $this->scan_settings['scan_file_size_limit'] ) ? esc_attr( $this->scan_settings['scan_file_size_limit'] ) : false; ?>" /> <?php esc_html_e( 'MB', 'wp-security-audit-log' ); ?>
|
1497 |
</fieldset>
|
1498 |
</td>
|
1499 |
</tr>
|
2213 |
|
2214 |
// Get custom post types.
|
2215 |
$custom_post_types = array();
|
2216 |
+
$output = 'names'; // names or objects, note names is the default
|
2217 |
+
$operator = 'and'; // Conditions: and, or.
|
2218 |
+
$post_types = get_post_types( array(), $output, $operator );
|
2219 |
+
$post_types = array_diff( $post_types, array( 'attachment', 'revision', 'nav_menu_item', 'customize_changeset', 'custom_css' ) );
|
2220 |
foreach ( $post_types as $post_type ) {
|
2221 |
if ( strpos( $post_type, $get_array['term'] ) !== false ) {
|
2222 |
array_push( $custom_post_types, $post_type );
|
2292 |
if ( ! in_array( $dir_name, $server_dirs, true ) ) {
|
2293 |
$excluded_option[] = $dir_name;
|
2294 |
} else {
|
2295 |
+
echo wp_json_encode(
|
2296 |
+
array(
|
2297 |
+
'success' => false,
|
2298 |
+
'message' => esc_html__( 'You can exclude this directory using the check boxes above.', 'wp-security-audit-log' ),
|
2299 |
+
)
|
2300 |
+
);
|
2301 |
exit();
|
2302 |
}
|
2303 |
} else {
|
2313 |
$this->_plugin->SetGlobalOption( 'scan-excluded-directories', $excluded_option );
|
2314 |
}
|
2315 |
|
2316 |
+
echo wp_json_encode(
|
2317 |
+
array(
|
2318 |
+
'success' => true,
|
2319 |
+
'message' => esc_html__( 'Option added to excluded types.', 'wp-security-audit-log' ),
|
2320 |
+
)
|
2321 |
+
);
|
2322 |
} else {
|
2323 |
if ( 'file' === $data_type ) {
|
2324 |
$message = esc_html__( 'This file is already excluded from the scan.', 'wp-security-audit-log' );
|
2327 |
} elseif ( 'dir' === $data_type ) {
|
2328 |
$message = esc_html__( 'This directory is already excluded from the scan.', 'wp-security-audit-log' );
|
2329 |
}
|
2330 |
+
echo wp_json_encode(
|
2331 |
+
array(
|
2332 |
+
'success' => false,
|
2333 |
+
'message' => $message,
|
2334 |
+
)
|
2335 |
+
);
|
2336 |
}
|
2337 |
} else {
|
2338 |
+
echo wp_json_encode(
|
2339 |
+
array(
|
2340 |
+
'success' => false,
|
2341 |
+
'message' => esc_html__( 'Option name is empty.', 'wp-security-audit-log' ),
|
2342 |
+
)
|
2343 |
+
);
|
2344 |
}
|
2345 |
exit();
|
2346 |
}
|
2433 |
$this->_plugin->SetGlobalOption( 'site_content', $site_content );
|
2434 |
}
|
2435 |
|
2436 |
+
echo wp_json_encode(
|
2437 |
+
array(
|
2438 |
+
'success' => true,
|
2439 |
+
'message' => esc_html__( 'Option removed from excluded scan types.', 'wp-security-audit-log' ),
|
2440 |
+
)
|
2441 |
+
);
|
2442 |
} else {
|
2443 |
+
echo wp_json_encode(
|
2444 |
+
array(
|
2445 |
+
'success' => false,
|
2446 |
+
'message' => esc_html__( 'Something went wrong.', 'wp-security-audit-log' ),
|
2447 |
+
)
|
2448 |
+
);
|
2449 |
}
|
2450 |
exit();
|
2451 |
}
|
2469 |
|
2470 |
// Return if a cron is running.
|
2471 |
if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
|
2472 |
+
echo wp_json_encode(
|
2473 |
+
array(
|
2474 |
+
'success' => false,
|
2475 |
+
'message' => esc_html__( 'A cron job is in progress.', 'wp-security-audit-log' ),
|
2476 |
+
)
|
2477 |
+
);
|
2478 |
exit();
|
2479 |
}
|
2480 |
|
2499 |
if ( ! $this->_plugin->GetGlobalOption( 'stop-scan', false ) ) {
|
2500 |
if ( 0 === $dir ) {
|
2501 |
// Scan started alert.
|
2502 |
+
$this->_plugin->alerts->Trigger(
|
2503 |
+
6033, array(
|
2504 |
+
'CurrentUserID' => '0',
|
2505 |
+
'ScanStatus' => 'started',
|
2506 |
+
)
|
2507 |
+
);
|
2508 |
} elseif ( 6 === $dir ) {
|
2509 |
// Scan stopped.
|
2510 |
+
$this->_plugin->alerts->Trigger(
|
2511 |
+
6033, array(
|
2512 |
+
'CurrentUserID' => '0',
|
2513 |
+
'ScanStatus' => 'stopped',
|
2514 |
+
)
|
2515 |
+
);
|
2516 |
}
|
2517 |
$file_changes->detect_file_changes( true, $dir );
|
2518 |
} else {
|
2521 |
}
|
2522 |
$this->_plugin->SetGlobalOption( 'stop-scan', false );
|
2523 |
|
2524 |
+
echo wp_json_encode(
|
2525 |
+
array(
|
2526 |
+
'success' => true,
|
2527 |
+
'message' => esc_html__( 'Scan started successfully.', 'wp-security-audit-log' ),
|
2528 |
+
)
|
2529 |
+
);
|
2530 |
} else {
|
2531 |
+
echo wp_json_encode(
|
2532 |
+
array(
|
2533 |
+
'success' => false,
|
2534 |
+
'message' => esc_html__( 'Something went wrong.', 'wp-security-audit-log' ),
|
2535 |
+
)
|
2536 |
+
);
|
2537 |
}
|
2538 |
exit();
|
2539 |
}
|
2552 |
|
2553 |
// Die if nonce verification failed.
|
2554 |
if ( ! wp_verify_nonce( $post_array['nonce'], 'wsal-stop-scan' ) ) {
|
2555 |
+
echo wp_json_encode(
|
2556 |
+
array(
|
2557 |
+
'success' => false,
|
2558 |
+
'message' => esc_html__( 'Nonce verification failed.', 'wp-security-audit-log' ),
|
2559 |
+
)
|
2560 |
+
);
|
2561 |
exit();
|
2562 |
}
|
2563 |
|
2564 |
// Set stop scan option to true.
|
2565 |
$this->_plugin->SetGlobalOption( 'stop-scan', true );
|
2566 |
|
2567 |
+
echo wp_json_encode(
|
2568 |
+
array(
|
2569 |
+
'success' => true,
|
2570 |
+
'message' => esc_html__( 'Scan started successfully.', 'wp-security-audit-log' ),
|
2571 |
+
)
|
2572 |
+
);
|
2573 |
exit();
|
2574 |
}
|
2575 |
|
classes/Views/ToggleAlerts.php
CHANGED
@@ -174,7 +174,7 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
|
|
174 |
$is_custom = ! empty( $events_diff ) ? true : false; // If difference is not empty then mode is custom.
|
175 |
$log_details = $this->_plugin->GetGlobalOption( 'details-level', false ); // Get log level option.
|
176 |
|
177 |
-
$subcat_alerts = array( 1004, 2010, 6007, 2111, 2119, 2016, 2053, 7000, 8009, 8014, 9007, 9047, 9027, 9002, 9057, 9063, 9035, 8809, 8813, 6000, 6001, 6028 );
|
178 |
$public_events = $this->_plugin->alerts->get_public_events(); // Get public events.
|
179 |
?>
|
180 |
<p>
|
@@ -432,6 +432,8 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
|
|
432 |
esc_html_e( 'Settings', 'wp-security-audit-log' );
|
433 |
} elseif ( 8014 === $alert->type ) {
|
434 |
esc_html_e( 'Topics', 'wp-security-audit-log' );
|
|
|
|
|
435 |
} elseif ( 9007 === $alert->type ) {
|
436 |
esc_html_e( 'Product Admin', 'wp-security-audit-log' );
|
437 |
} elseif ( 9047 === $alert->type ) {
|
@@ -446,6 +448,8 @@ class WSAL_Views_ToggleAlerts extends WSAL_AbstractView {
|
|
446 |
esc_html_e( 'Coupons', 'wp-security-audit-log' );
|
447 |
} elseif ( 9035 === $alert->type ) {
|
448 |
esc_html_e( 'Orders', 'wp-security-audit-log' );
|
|
|
|
|
449 |
} elseif ( 8809 === $alert->type ) {
|
450 |
esc_html_e( 'Website Changes', 'wp-security-audit-log' );
|
451 |
} elseif ( 8813 === $alert->type ) {
|
174 |
$is_custom = ! empty( $events_diff ) ? true : false; // If difference is not empty then mode is custom.
|
175 |
$log_details = $this->_plugin->GetGlobalOption( 'details-level', false ); // Get log level option.
|
176 |
|
177 |
+
$subcat_alerts = array( 1004, 2010, 6007, 2111, 2119, 2016, 2053, 7000, 8009, 8014, 4013, 9007, 9047, 9027, 9002, 9057, 9063, 9035, 9083, 8809, 8813, 6000, 6001, 6028 );
|
178 |
$public_events = $this->_plugin->alerts->get_public_events(); // Get public events.
|
179 |
?>
|
180 |
<p>
|
432 |
esc_html_e( 'Settings', 'wp-security-audit-log' );
|
433 |
} elseif ( 8014 === $alert->type ) {
|
434 |
esc_html_e( 'Topics', 'wp-security-audit-log' );
|
435 |
+
} elseif ( 4013 === $alert->type ) {
|
436 |
+
esc_html_e( 'User Profile', 'wp-security-audit-log' );
|
437 |
} elseif ( 9007 === $alert->type ) {
|
438 |
esc_html_e( 'Product Admin', 'wp-security-audit-log' );
|
439 |
} elseif ( 9047 === $alert->type ) {
|
448 |
esc_html_e( 'Coupons', 'wp-security-audit-log' );
|
449 |
} elseif ( 9035 === $alert->type ) {
|
450 |
esc_html_e( 'Orders', 'wp-security-audit-log' );
|
451 |
+
} elseif ( 9083 === $alert->type ) {
|
452 |
+
esc_html_e( 'User Profile', 'wp-security-audit-log' );
|
453 |
} elseif ( 8809 === $alert->type ) {
|
454 |
esc_html_e( 'Website Changes', 'wp-security-audit-log' );
|
455 |
} elseif ( 8813 === $alert->type ) {
|
classes/Views/addons/html-view.php
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Addons HTML View in Admin.
|
4 |
+
*
|
5 |
+
* @package wsal
|
6 |
+
*/
|
7 |
+
|
8 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
+
exit; // Exit if accessed directly.
|
10 |
+
}
|
11 |
+
|
12 |
+
// Links.
|
13 |
+
$more_info = add_query_arg(
|
14 |
+
array(
|
15 |
+
'utm_source' => 'plugin',
|
16 |
+
'utm_medium' => 'page',
|
17 |
+
'utm_content' => 'users+sessions+more+info',
|
18 |
+
'utm_campaign' => 'upgrade+premium',
|
19 |
+
),
|
20 |
+
'https://www.wpsecurityauditlog.com/premium-features/'
|
21 |
+
);
|
22 |
+
|
23 |
+
// Trial link arguments.
|
24 |
+
$trial_args = array(
|
25 |
+
'page' => 'wsal-auditlog-pricing',
|
26 |
+
'billing_cycle' => 'annual',
|
27 |
+
'trial' => 'true',
|
28 |
+
);
|
29 |
+
|
30 |
+
// Buy Now button link.
|
31 |
+
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', admin_url( 'admin.php' ) );
|
32 |
+
$buy_now_target = '';
|
33 |
+
$trial_link = add_query_arg( $trial_args, admin_url( 'admin.php' ) );
|
34 |
+
|
35 |
+
// If user is not super admin and website is multisite then change the URL.
|
36 |
+
if ( $this->_plugin->IsMultisite() && ! is_super_admin() ) {
|
37 |
+
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
38 |
+
$trial_link = 'https://www.wpsecurityauditlog.com/pricing/';
|
39 |
+
$buy_now_target = ' target="_blank"';
|
40 |
+
} elseif ( $this->_plugin->IsMultisite() && is_super_admin() ) {
|
41 |
+
$buy_now = add_query_arg( 'page', 'wsal-auditlog-pricing', network_admin_url( 'admin.php' ) );
|
42 |
+
$trial_link = add_query_arg( $trial_args, network_admin_url( 'admin.php' ) );
|
43 |
+
} elseif ( ! $this->_plugin->IsMultisite() && ! current_user_can( 'manage_options' ) ) {
|
44 |
+
$buy_now = 'https://www.wpsecurityauditlog.com/pricing/';
|
45 |
+
$trial_link = 'https://www.wpsecurityauditlog.com/pricing/';
|
46 |
+
$buy_now_target = ' target="_blank"';
|
47 |
+
}
|
48 |
+
?>
|
49 |
+
|
50 |
+
<div class="user-login-row">
|
51 |
+
<div class="container">
|
52 |
+
<div class="title-wrap">
|
53 |
+
<h3><?php echo esc_html( $title ); ?></h3>
|
54 |
+
</div>
|
55 |
+
<div class="user-login-content-wrap">
|
56 |
+
<div class="user-login-content">
|
57 |
+
<div class="user-content-right">
|
58 |
+
<div class="img-wrap">
|
59 |
+
<img src="<?php echo esc_url( $addon_img ); ?>" alt="">
|
60 |
+
</div>
|
61 |
+
</div>
|
62 |
+
<div class="user-content-left">
|
63 |
+
<p><?php echo esc_html( $description ); ?></p>
|
64 |
+
<ul class="premium-list">
|
65 |
+
<?php foreach ( $premium_list as $item ) : ?>
|
66 |
+
<li><?php echo esc_html( $item ); ?></li>
|
67 |
+
<?php endforeach; ?>
|
68 |
+
</ul>
|
69 |
+
<?php if ( $subtext ) : ?>
|
70 |
+
<p><?php echo esc_html( $subtext ); ?></p>
|
71 |
+
<?php endif; ?>
|
72 |
+
</div>
|
73 |
+
</div>
|
74 |
+
<div class="user-login-cta">
|
75 |
+
<a href="<?php echo esc_url( $buy_now ); ?>" class="user-gradient-cta"<?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
76 |
+
<a href="<?php echo esc_url( $more_info ); ?>" class="user-bordered-cta" target="_blank"><?php esc_html_e( 'More Information', 'wp-security-audit-log' ); ?></a>
|
77 |
+
</div>
|
78 |
+
</div>
|
79 |
+
</div>
|
80 |
+
</div>
|
81 |
+
<div class="user-login-row">
|
82 |
+
<div class="container">
|
83 |
+
<div class="title-wrap">
|
84 |
+
<h3><?php esc_html_e( 'Screenshots', 'wp-security-audit-log' ); ?></h3>
|
85 |
+
</div>
|
86 |
+
<div class="user-login-content-wrap">
|
87 |
+
<?php foreach ( $screenshots as $screenshot ) : ?>
|
88 |
+
<div class="user-login-content user-screenshots">
|
89 |
+
<div class="user-content-right">
|
90 |
+
<a class="swipebox img-wrap" href="<?php echo esc_url( $screenshot['img'] ); ?>" title="<?php echo esc_attr( $screenshot['desc'] ); ?>">
|
91 |
+
<img src="<?php echo esc_url( $screenshot['img'] ); ?>" alt="">
|
92 |
+
</a>
|
93 |
+
</div>
|
94 |
+
<div class="user-content-left">
|
95 |
+
<p><?php echo esc_html( $screenshot['desc'] ); ?></p>
|
96 |
+
</div>
|
97 |
+
</div>
|
98 |
+
<?php endforeach; ?>
|
99 |
+
<div class="user-login-cta">
|
100 |
+
<a href="<?php echo esc_url( $buy_now ); ?>" class="user-gradient-cta"<?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Upgrade to Premium', 'wp-security-audit-log' ); ?></a>
|
101 |
+
<a href="<?php echo esc_url( $trial_link ); ?>" class="user-bordered-cta"<?php echo esc_attr( $buy_now_target ); ?>><?php esc_html_e( 'Start Free 14-Day Premium Trial', 'wp-security-audit-log' ); ?></a>
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
</div>
|
105 |
+
</div>
|
css/auditlog.css
CHANGED
@@ -265,57 +265,70 @@ td.column-user {
|
|
265 |
/**
|
266 |
* Audit Log Admin Notice
|
267 |
*/
|
268 |
-
.
|
269 |
-
display: -webkit-box;
|
270 |
-
display: -ms-flexbox;
|
271 |
-
display: flex;
|
272 |
-
-webkit-box-align: center;
|
273 |
-
-ms-flex-align: center;
|
274 |
-
align-items: center;
|
275 |
-
-webkit-box-pack: justify;
|
276 |
-
-ms-flex-pack: justify;
|
277 |
-
justify-content: space-between;
|
278 |
position: relative;
|
|
|
|
|
|
|
|
|
|
|
279 |
margin: 12px 0;
|
280 |
}
|
281 |
|
282 |
.wsal_notice__wrapper .wsal_notice__content {
|
283 |
-
display: -
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
}
|
290 |
|
291 |
.wsal_notice__btns {
|
|
|
|
|
|
|
292 |
text-align: right;
|
293 |
}
|
294 |
|
295 |
.wsal_notice__btns a.wsal_notice__btn {
|
296 |
-
|
297 |
-
|
|
|
|
|
298 |
}
|
299 |
|
300 |
-
.wsal_notice__btns
|
301 |
-
|
302 |
-
|
303 |
}
|
304 |
|
305 |
-
.wsal_notice__btns a.
|
306 |
-
|
307 |
-
margin-left: 2px;
|
308 |
}
|
309 |
|
310 |
-
.
|
311 |
-
|
312 |
-
margin-
|
313 |
}
|
314 |
|
315 |
-
|
316 |
display: inline-block;
|
317 |
-
|
318 |
-
|
|
|
|
|
|
|
|
|
|
|
319 |
}
|
320 |
|
321 |
.wsal-premium {
|
265 |
/**
|
266 |
* Audit Log Admin Notice
|
267 |
*/
|
268 |
+
.wsal_notice {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
269 |
position: relative;
|
270 |
+
}
|
271 |
+
|
272 |
+
.wsal_notice__wrapper {
|
273 |
+
display: table;
|
274 |
+
width: 100%;
|
275 |
margin: 12px 0;
|
276 |
}
|
277 |
|
278 |
.wsal_notice__wrapper .wsal_notice__content {
|
279 |
+
display: table-cell;
|
280 |
+
vertical-align: middle;
|
281 |
+
padding-right: 12px;
|
282 |
+
}
|
283 |
+
|
284 |
+
.wsal_notice__wrapper img {
|
285 |
+
height: 70px;
|
286 |
+
margin-right: 5px;
|
287 |
+
}
|
288 |
+
|
289 |
+
div.wsal_notice__wrapper p {
|
290 |
+
display: inline-block;
|
291 |
+
width: 89%;
|
292 |
+
vertical-align: top;
|
293 |
}
|
294 |
|
295 |
.wsal_notice__btns {
|
296 |
+
display: table-cell;
|
297 |
+
vertical-align: top;
|
298 |
+
width: 235px;
|
299 |
text-align: right;
|
300 |
}
|
301 |
|
302 |
.wsal_notice__btns a.wsal_notice__btn {
|
303 |
+
background: #00ad50;
|
304 |
+
border-color: #00ad50 #009344 #009344 #009344;
|
305 |
+
box-shadow: 0 1px 0 #00ad50;
|
306 |
+
text-shadow: none;
|
307 |
}
|
308 |
|
309 |
+
.wsal_notice__btns a.wsal_notice__btn:hover {
|
310 |
+
background: #00b353;
|
311 |
+
border-color: #00ad50 #009344 #009344 #009344;
|
312 |
}
|
313 |
|
314 |
+
.wsal_notice__btns a.button-primary {
|
315 |
+
margin-bottom: 7px;
|
|
|
316 |
}
|
317 |
|
318 |
+
.wsal_notice__btns > div {
|
319 |
+
width: 110px;
|
320 |
+
margin-top: 5px;
|
321 |
}
|
322 |
|
323 |
+
.wsal_notice__btns a.wsal_notice__btn_dismiss {
|
324 |
display: inline-block;
|
325 |
+
color: #AAA;
|
326 |
+
font-size: 11px;
|
327 |
+
text-decoration: none;
|
328 |
+
padding: 0;
|
329 |
+
position: absolute;
|
330 |
+
right: 14px;
|
331 |
+
bottom: 3px;
|
332 |
}
|
333 |
|
334 |
.wsal-premium {
|
css/extensions.css
CHANGED
@@ -1,182 +1,416 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
}
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
}
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
}
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
}
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
.
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Addon Page Styles
|
3 |
+
*/
|
4 |
+
@charset "UTF-8";
|
5 |
+
/* CSS Document */
|
6 |
+
|
7 |
+
/*==============================================================
|
8 |
+
Common Styles Initials
|
9 |
+
==============================================================*/
|
10 |
+
|
11 |
+
html {
|
12 |
+
-webkit-text-size-adjust: none; /* Prevent font scaling in landscape */
|
13 |
+
width: 100%;
|
14 |
+
height: 100%;
|
15 |
+
-webkit-font-smoothing: antialiased;
|
16 |
+
-moz-font-smoothing: antialiased;
|
17 |
+
-moz-osx-font-smoothing: grayscale;
|
18 |
+
}
|
19 |
+
|
20 |
+
input[type="submit"] {
|
21 |
+
-webkit-appearance: none;
|
22 |
+
-webkit-border-radius: 0;
|
23 |
+
border-radius: 0;
|
24 |
+
}
|
25 |
+
|
26 |
+
*, *:after, *:before {
|
27 |
+
box-sizing: border-box;
|
28 |
+
margin: 0;
|
29 |
+
padding: 0;
|
30 |
+
}
|
31 |
+
|
32 |
+
body {
|
33 |
+
/* margin: 0;
|
34 |
+
padding: 0;
|
35 |
+
font-family: 'Roboto', sans-serif;
|
36 |
+
-webkit-font-smoothing: antialiased;
|
37 |
+
font-weight: 400;
|
38 |
+
width: 100%;
|
39 |
+
min-height: 100%;
|
40 |
+
color: #23282d;
|
41 |
+
background: #fff; */
|
42 |
+
}
|
43 |
+
|
44 |
+
a {
|
45 |
+
outline: none;
|
46 |
+
text-decoration: none;
|
47 |
+
color: #23282d;
|
48 |
+
}
|
49 |
+
|
50 |
+
a:hover, a:focus{
|
51 |
+
outline: none;
|
52 |
+
text-decoration: none;
|
53 |
+
}
|
54 |
+
|
55 |
+
input, textarea, select {
|
56 |
+
outline: none;
|
57 |
+
resize: none;
|
58 |
+
font-family: 'Roboto', sans-serif;
|
59 |
+
}
|
60 |
+
|
61 |
+
a, input, button{
|
62 |
+
outline:none !important;
|
63 |
+
}
|
64 |
+
|
65 |
+
button::-moz-focus-inner {
|
66 |
+
border: 0;
|
67 |
+
}
|
68 |
+
|
69 |
+
h1, h2, h3, h4, h5, h6 {
|
70 |
+
margin: 0;
|
71 |
+
padding: 0;
|
72 |
+
font-weight: normal;
|
73 |
+
}
|
74 |
+
|
75 |
+
img {
|
76 |
+
border: 0;
|
77 |
+
vertical-align: top;
|
78 |
+
max-width: 100%;
|
79 |
+
height: auto;
|
80 |
+
}
|
81 |
+
|
82 |
+
ul, ol {
|
83 |
+
margin: 0;
|
84 |
+
padding: 0;
|
85 |
+
list-style: none;
|
86 |
+
}
|
87 |
+
|
88 |
+
p {
|
89 |
+
margin: 0 0 15px 0;
|
90 |
+
padding: 0;
|
91 |
+
}
|
92 |
+
|
93 |
+
/*==============================================================
|
94 |
+
Custom Style
|
95 |
+
==============================================================*/
|
96 |
+
|
97 |
+
.container {
|
98 |
+
max-width: 1170px;
|
99 |
+
width:100%;
|
100 |
+
/* padding: 0 15px; */
|
101 |
+
margin: auto;
|
102 |
+
}
|
103 |
+
|
104 |
+
.user-login-row {
|
105 |
+
margin-top: 20px;
|
106 |
+
}
|
107 |
+
.user-login-row .title-wrap {
|
108 |
+
padding: 20px 30px;
|
109 |
+
border-top-left-radius: 4px;
|
110 |
+
border-top-right-radius: 4px;
|
111 |
+
background-color: #4f4847;
|
112 |
+
}
|
113 |
+
.user-login-row .title-wrap h3 {
|
114 |
+
font-size: 20px;
|
115 |
+
line-height: 24px;
|
116 |
+
color: #f7e71c;
|
117 |
+
}
|
118 |
+
.user-login-content-wrap {
|
119 |
+
padding: 30px 15px 30px;
|
120 |
+
border-bottom-left-radius: 4px;
|
121 |
+
border-bottom-right-radius: 4px;
|
122 |
+
background-color: #f7f5eb;
|
123 |
+
}
|
124 |
+
.user-login-content {
|
125 |
+
display: -ms-flexbox;
|
126 |
+
display: flex;
|
127 |
+
-ms-flex-direction: row-reverse;
|
128 |
+
flex-direction: row-reverse;
|
129 |
+
-ms-flex-wrap: wrap;
|
130 |
+
flex-wrap: wrap;
|
131 |
+
padding-bottom: 20px;
|
132 |
+
}
|
133 |
+
.user-login-content .user-content-left {
|
134 |
+
width: 56.86%;
|
135 |
+
padding: 0 15px;
|
136 |
+
}
|
137 |
+
.user-login-content .user-content-left p{
|
138 |
+
font-size: 15px;
|
139 |
+
line-height: 24px;
|
140 |
+
margin-top: 5px;
|
141 |
+
}
|
142 |
+
.user-login-content .user-content-right {
|
143 |
+
width: 43.14%;
|
144 |
+
padding: 0 15px;
|
145 |
+
}
|
146 |
+
|
147 |
+
ul.premium-list li {
|
148 |
+
font-size: 15px;
|
149 |
+
line-height: 24px;
|
150 |
+
color: #5b5e61;
|
151 |
+
padding: 0 0 10px 24px;
|
152 |
+
position: relative;
|
153 |
+
}
|
154 |
+
|
155 |
+
ul.premium-list li:before {
|
156 |
+
content: '';
|
157 |
+
position: absolute;
|
158 |
+
left: 0;
|
159 |
+
top: 4px;
|
160 |
+
width: 14px;
|
161 |
+
height: 14px;
|
162 |
+
background-image: url('../img/check-icon.png');
|
163 |
+
background-repeat: no-repeat;
|
164 |
+
background-position: left center;
|
165 |
+
background-size: contain;
|
166 |
+
}
|
167 |
+
|
168 |
+
.user-login-cta {
|
169 |
+
padding: 0 15px;
|
170 |
+
}
|
171 |
+
.user-login-cta a{
|
172 |
+
font-family: 'Montserrat', sans-serif;
|
173 |
+
display: inline-block;
|
174 |
+
margin: 0 20px 10px 0;
|
175 |
+
}
|
176 |
+
.user-login-cta a:last-child{
|
177 |
+
margin-right: 0;
|
178 |
+
}
|
179 |
+
.user-login-cta a.user-gradient-cta{
|
180 |
+
font-size: 15px;
|
181 |
+
line-height: 45px;
|
182 |
+
font-weight: 500;
|
183 |
+
text-transform: uppercase;
|
184 |
+
letter-spacing: 0.2px;
|
185 |
+
background-color: #109246;
|
186 |
+
color: #fff;
|
187 |
+
padding: 0 20px;
|
188 |
+
border-radius: 5px;
|
189 |
+
background: linear-gradient(135deg,#bdd63a,#009344);
|
190 |
+
}
|
191 |
+
.user-login-cta a.user-bordered-cta{
|
192 |
+
font-size: 15px;
|
193 |
+
line-height: 39px;
|
194 |
+
font-weight: 500;
|
195 |
+
text-transform: uppercase;
|
196 |
+
letter-spacing: 0.2px;
|
197 |
+
background-color: transparent;
|
198 |
+
color: #0f9944;
|
199 |
+
padding: 0 20px;
|
200 |
+
border: solid 3px #0c9743;
|
201 |
+
border-radius: 5px;
|
202 |
+
}
|
203 |
+
|
204 |
+
.user-screenshots{
|
205 |
+
padding-bottom: 45px;
|
206 |
+
}
|
207 |
+
.user-screenshots:first-child{
|
208 |
+
padding-top: 26px;
|
209 |
+
}
|
210 |
+
.user-login-content.user-screenshots .user-content-right{
|
211 |
+
width: 73.33%;
|
212 |
+
}
|
213 |
+
.user-login-content.user-screenshots .user-content-left{
|
214 |
+
width: 26.67%;
|
215 |
+
}
|
216 |
+
|
217 |
+
@media(max-width: 767px){
|
218 |
+
.user-login-row{ padding-bottom: 35px; }
|
219 |
+
.user-login-row .title-wrap{ padding: 15px 20px; }
|
220 |
+
.user-login-row .title-wrap h3{ font-size: 16px; line-height: 20px; }
|
221 |
+
.user-login-content-wrap{ padding: 30px 0px; }
|
222 |
+
.user-login-content{ display: block; text-align: center; }
|
223 |
+
.user-login-content .user-content-right,
|
224 |
+
.user-login-content .user-content-left{ width: 100% !important; }
|
225 |
+
.user-login-content .user-content-right .img-wrap{ padding-bottom: 20px; }
|
226 |
+
.user-login-content .user-content-left p{ margin-top: 0 ;}
|
227 |
+
ul.premium-list{ display: inline-block; }
|
228 |
+
ul.premium-list li{ text-align: left; }
|
229 |
+
.user-login-cta{text-align: center;}
|
230 |
+
.user-login-cta a{ margin: 0 10px 10px !important; }
|
231 |
+
.user-screenshots:first-child{ padding-top: 0; }
|
232 |
+
.user-login-content{ padding-bottom: 20px; }
|
233 |
+
}
|
234 |
+
|
235 |
+
/* --------------------------------------------
|
236 |
+
Old Styles
|
237 |
+
-------------------------------------------- */
|
238 |
+
.extension {
|
239 |
+
position:relative;
|
240 |
+
float:left;
|
241 |
+
box-sizing:border-box;
|
242 |
+
width:300px;
|
243 |
+
height:250px;
|
244 |
+
margin:10px 20px 10px 0;
|
245 |
+
border:1px solid #ccc
|
246 |
+
}
|
247 |
+
.extension p {
|
248 |
+
margin:0;padding:10px
|
249 |
+
}
|
250 |
+
.extension h3 {
|
251 |
+
box-sizing:border-box;
|
252 |
+
height:110px;
|
253 |
+
margin:0;
|
254 |
+
padding:20px 10px 0 120px;
|
255 |
+
border-bottom:1px solid #ccc;
|
256 |
+
background:10px 10px/90px 90px no-repeat #fff
|
257 |
+
}
|
258 |
+
.extension a {
|
259 |
+
text-decoration:none
|
260 |
+
}
|
261 |
+
.extension a.button-primary {
|
262 |
+
position: absolute;
|
263 |
+
bottom: 20px;
|
264 |
+
}
|
265 |
+
.user-managment h3 {
|
266 |
+
background-image:url(../img/monitoring.jpg)
|
267 |
+
}
|
268 |
+
.email-notifications h3 {
|
269 |
+
background-image:url(../img/envelope.jpg);
|
270 |
+
}
|
271 |
+
.reports h3 {
|
272 |
+
background-image:url(../img/file.jpg);
|
273 |
+
}
|
274 |
+
.search-ext h3 {
|
275 |
+
background-image:url(../img/search.jpg);
|
276 |
+
}
|
277 |
+
.external-db h3 {
|
278 |
+
background-image:url(../img/database.jpg);
|
279 |
+
}
|
280 |
+
.wrap-advertising-page {
|
281 |
+
margin-top: 15px;
|
282 |
+
padding-top: 9px;
|
283 |
+
border-top: 1px solid #ccc;
|
284 |
+
}
|
285 |
+
.wrap-advertising-page-single {
|
286 |
+
margin-top: 15px;
|
287 |
+
padding: 20px;
|
288 |
+
background-color: #fff;
|
289 |
+
border: 1px solid #ccc;
|
290 |
+
}
|
291 |
+
.wrap-advertising-page-single .icon {
|
292 |
+
float:left;
|
293 |
+
width: 110px;
|
294 |
+
height: 110px;
|
295 |
+
margin: 0;
|
296 |
+
background: 0px 10px/90px 90px no-repeat #fff
|
297 |
+
}
|
298 |
+
.clear {
|
299 |
+
clear: both;
|
300 |
+
}
|
301 |
+
.button-blue {
|
302 |
+
color: #fff;
|
303 |
+
text-decoration: none;
|
304 |
+
display: inline-block;
|
305 |
+
font-size: 13px;
|
306 |
+
line-height: 26px;
|
307 |
+
height: 28px;
|
308 |
+
margin: 0;
|
309 |
+
padding: 0 10px 1px;
|
310 |
+
cursor: pointer;
|
311 |
+
border-width: 1px;
|
312 |
+
border-style: solid;
|
313 |
+
-webkit-appearance: none;
|
314 |
+
-webkit-border-radius: 3px;
|
315 |
+
border-radius: 3px;
|
316 |
+
white-space: nowrap;
|
317 |
+
-webkit-box-sizing: border-box;
|
318 |
+
-moz-box-sizing: border-box;
|
319 |
+
box-sizing: border-box;
|
320 |
+
background-color: #0026ff;
|
321 |
+
}
|
322 |
+
.text-red {
|
323 |
+
color: red;
|
324 |
+
}
|
325 |
+
.button-blue:hover,
|
326 |
+
.button-blue:focus {
|
327 |
+
color: #fff;
|
328 |
+
}
|
329 |
+
|
330 |
+
.wsal-row {
|
331 |
+
display: -webkit-box;
|
332 |
+
display: -ms-flexbox;
|
333 |
+
display: flex;
|
334 |
+
-webkit-flex-wrap: wrap;
|
335 |
+
-ms-flex-wrap: wrap;
|
336 |
+
flex-wrap: wrap;
|
337 |
+
}
|
338 |
+
|
339 |
+
.wsal-features-list {
|
340 |
+
list-style-type: disc;
|
341 |
+
line-height: 2;
|
342 |
+
padding: 0 0 0 15px;
|
343 |
+
}
|
344 |
+
|
345 |
+
.wp-core-ui .wsal-extension-btn {
|
346 |
+
margin-bottom: 10px;
|
347 |
+
}
|
348 |
+
|
349 |
+
.wsal-block .activity-block {
|
350 |
+
padding: 0 20px 5px;
|
351 |
+
}
|
352 |
+
|
353 |
+
.wsal-block p {
|
354 |
+
line-height: 2;
|
355 |
+
}
|
356 |
+
|
357 |
+
.wsal-block p .wsal-youtube-embed {
|
358 |
+
display: block;
|
359 |
+
margin: 0 auto;
|
360 |
+
}
|
361 |
+
|
362 |
+
.rating-link {
|
363 |
+
display: inline-block;
|
364 |
+
line-height: 1.5;
|
365 |
+
color: #ffb900;
|
366 |
+
text-decoration: none;
|
367 |
+
box-shadow: none;
|
368 |
+
}
|
369 |
+
|
370 |
+
.activity-block .rating-link:focus {
|
371 |
+
outline: 0;
|
372 |
+
}
|
373 |
+
|
374 |
+
.activity-block .rating-link .dashicons {
|
375 |
+
font-size: 17px;
|
376 |
+
}
|
377 |
+
|
378 |
+
.wsal-nav-tabs-wrap {
|
379 |
+
position: relative;
|
380 |
+
padding-right: 300px;
|
381 |
+
}
|
382 |
+
|
383 |
+
.wsal-sidebar-advert {
|
384 |
+
position: absolute;
|
385 |
+
top: 10px;
|
386 |
+
right: 57px;
|
387 |
+
width: 200px;
|
388 |
+
}
|
389 |
+
|
390 |
+
.postbox .hndl {
|
391 |
+
padding: 0 12px;
|
392 |
+
}
|
393 |
+
|
394 |
+
.swipebox {
|
395 |
+
display: inline-block;
|
396 |
+
margin-top: 10px;
|
397 |
+
}
|
398 |
+
|
399 |
+
.wsal-tab {
|
400 |
+
display: none;
|
401 |
+
margin-top: 0px;
|
402 |
+
}
|
403 |
+
.wsal-tab th {
|
404 |
+
padding-left: 20px;
|
405 |
+
}
|
406 |
+
.wsal-tab td {
|
407 |
+
padding-left: 20px;
|
408 |
+
}
|
409 |
+
|
410 |
+
.wsal-tab__heading {
|
411 |
+
font-size: 23px;
|
412 |
+
font-weight: 400;
|
413 |
+
margin: 0;
|
414 |
+
padding: 9px 0 4px;
|
415 |
+
line-height: 29px;
|
416 |
+
}
|
css/settings.css
CHANGED
@@ -253,3 +253,30 @@ a.disabled {
|
|
253 |
margin-right: 10px;
|
254 |
box-shadow: none;
|
255 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
margin-right: 10px;
|
254 |
box-shadow: none;
|
255 |
}
|
256 |
+
|
257 |
+
.nav-sub-tabs {
|
258 |
+
list-style: none;
|
259 |
+
margin: -8px 0 8px;
|
260 |
+
padding: 0;
|
261 |
+
font-size: 13px;
|
262 |
+
color: #666;
|
263 |
+
}
|
264 |
+
|
265 |
+
.nav-sub-tabs li {
|
266 |
+
display: inline-block;
|
267 |
+
margin: 0;
|
268 |
+
padding: 0;
|
269 |
+
white-space: nowrap;
|
270 |
+
}
|
271 |
+
|
272 |
+
.nav-sub-tabs a {
|
273 |
+
line-height: 2;
|
274 |
+
padding: 3px;
|
275 |
+
text-decoration: none;
|
276 |
+
}
|
277 |
+
|
278 |
+
.nav-sub-tabs a.current {
|
279 |
+
color: #000;
|
280 |
+
font-weight: 600;
|
281 |
+
border: none;
|
282 |
+
}
|
defaults.php
CHANGED
@@ -139,6 +139,7 @@ function wsaldefaults_wsal_init() {
|
|
139 |
),
|
140 |
)
|
141 |
);
|
|
|
142 |
// Create list of default alerts.
|
143 |
$wsal->alerts->RegisterGroup(
|
144 |
array(
|
@@ -158,6 +159,7 @@ function wsaldefaults_wsal_init() {
|
|
158 |
array( 1005, E_WARNING, __( 'User logged in with existing session(s)', 'wp-security-audit-log' ), __( 'Successfully logged in. Another session from %IPAddress% for this user already exist.', 'wp-security-audit-log' ) ),
|
159 |
array( 1006, E_CRITICAL, __( 'User logged out all other sessions with the same username', 'wp-security-audit-log' ), __( 'Logged out all other sessions with the same username.', 'wp-security-audit-log' ) ),
|
160 |
array( 1007, E_CRITICAL, __( 'User session destroyed and logged out', 'wp-security-audit-log' ), __( 'Logged out session %TargetSessionID% which belonged to %TargetUserName%', 'wp-security-audit-log' ) ),
|
|
|
161 |
array( 2010, E_NOTICE, __( 'User uploaded file from Uploads directory', 'wp-security-audit-log' ), __( 'Uploaded the file %FileName% in %FilePath%.', 'wp-security-audit-log' ) ),
|
162 |
array( 2011, E_WARNING, __( 'User deleted file from Uploads directory', 'wp-security-audit-log' ), __( 'Deleted the file %FileName% from %FilePath%.', 'wp-security-audit-log' ) ),
|
163 |
array( 6007, E_NOTICE, __( 'User requests non-existing pages (404 Error Pages)', 'wp-security-audit-log' ), __( 'Has requested a non existing page (404 Error Pages) %Attempts% %Msg%. %LinkFile%%URL%', 'wp-security-audit-log' ) ),
|
@@ -469,7 +471,6 @@ function wsaldefaults_wsal_init() {
|
|
469 |
array( 4010, E_CRITICAL, __( 'Existing user added to a site', 'wp-security-audit-log' ), __( 'Added the existing user %TargetUsername% with %TargetUserRole% role to site %SiteName%.', 'wp-security-audit-log' ) ),
|
470 |
array( 4011, E_CRITICAL, __( 'User removed from site', 'wp-security-audit-log' ), __( 'Removed the user %TargetUsername% with role %TargetUserRole% from %SiteName% site.', 'wp-security-audit-log' ) ),
|
471 |
array( 4012, E_CRITICAL, __( 'New network user created', 'wp-security-audit-log' ), __( 'Created a new network user %NewUserData->Username%.', 'wp-security-audit-log' ) ),
|
472 |
-
array( 4013, E_CRITICAL, __( 'The forum role of a user was changed by another WordPress user', 'wp-security-audit-log' ), __( 'Change the forum role of the user %TargetUsername% from %OldRole% to %NewRole% by %UserChanger%.', 'wp-security-audit-log' ) ),
|
473 |
array( 7000, E_CRITICAL, __( 'New site added on the network', 'wp-security-audit-log' ), __( 'Added the site %SiteName% to the network.', 'wp-security-audit-log' ) ),
|
474 |
array( 7001, E_CRITICAL, __( 'Existing site archived', 'wp-security-audit-log' ), __( 'Archived the site %SiteName%.', 'wp-security-audit-log' ) ),
|
475 |
array( 7002, E_CRITICAL, __( 'Archived site has been unarchived', 'wp-security-audit-log' ), __( 'Unarchived the site %SiteName%.', 'wp-security-audit-log' ) ),
|
@@ -510,6 +511,7 @@ function wsaldefaults_wsal_init() {
|
|
510 |
array( 8020, E_WARNING, __( 'User permanently deleted topic', 'wp-security-audit-log' ), __( 'Permanently deleted the topic %TopicName%.', 'wp-security-audit-log' ) ),
|
511 |
array( 8021, E_WARNING, __( 'User restored topic from trash', 'wp-security-audit-log' ), __( 'Restored the topic %TopicName% from trash.' . ' %EditorLinkTopic%.', 'wp-security-audit-log' ) ),
|
512 |
array( 8022, E_NOTICE, __( 'User changed visibility of a topic', 'wp-security-audit-log' ), __( 'Changed the visibility of the topic %TopicName% from %OldVisibility% to %NewVisibility%.' . ' %EditorLinkTopic%.', 'wp-security-audit-log' ) ),
|
|
|
513 |
),
|
514 |
|
515 |
/**
|
@@ -605,6 +607,8 @@ function wsaldefaults_wsal_init() {
|
|
605 |
array( 9039, E_WARNING, __( 'User permanently deleted a WooCommerce order', 'wp-security-audit-log' ), __( 'Permanently deleted the WooCommerce order %OrderTitle%.', 'wp-security-audit-log' ) ),
|
606 |
array( 9040, E_NOTICE, __( 'User edited a WooCommerce order', 'wp-security-audit-log' ), __( 'Edited the WooCommerce order %OrderTitle%. %EditorLinkOrder%.', 'wp-security-audit-log' ) ),
|
607 |
array( 9041, E_WARNING, __( 'User refunded a WooCommerce order', 'wp-security-audit-log' ), __( 'Refunded the WooCommerce order %OrderTitle%. %EditorLinkOrder%.', 'wp-security-audit-log' ) ),
|
|
|
|
|
608 |
),
|
609 |
|
610 |
/**
|
@@ -644,4 +648,4 @@ function wsaldefaults_wsal_init() {
|
|
644 |
load_include_custom_file( $wsal );
|
645 |
}
|
646 |
}
|
647 |
-
add_action( 'init', 'wsaldefaults_wsal_init' );
|
139 |
),
|
140 |
)
|
141 |
);
|
142 |
+
|
143 |
// Create list of default alerts.
|
144 |
$wsal->alerts->RegisterGroup(
|
145 |
array(
|
159 |
array( 1005, E_WARNING, __( 'User logged in with existing session(s)', 'wp-security-audit-log' ), __( 'Successfully logged in. Another session from %IPAddress% for this user already exist.', 'wp-security-audit-log' ) ),
|
160 |
array( 1006, E_CRITICAL, __( 'User logged out all other sessions with the same username', 'wp-security-audit-log' ), __( 'Logged out all other sessions with the same username.', 'wp-security-audit-log' ) ),
|
161 |
array( 1007, E_CRITICAL, __( 'User session destroyed and logged out', 'wp-security-audit-log' ), __( 'Logged out session %TargetSessionID% which belonged to %TargetUserName%', 'wp-security-audit-log' ) ),
|
162 |
+
array( 1008, E_WARNING, __( 'Switched to another user', 'wp-security-audit-log' ), __( 'Switched to %TargetUserName% with role %TargetUserRole%.', 'wp-security-audit-log' ) ),
|
163 |
array( 2010, E_NOTICE, __( 'User uploaded file from Uploads directory', 'wp-security-audit-log' ), __( 'Uploaded the file %FileName% in %FilePath%.', 'wp-security-audit-log' ) ),
|
164 |
array( 2011, E_WARNING, __( 'User deleted file from Uploads directory', 'wp-security-audit-log' ), __( 'Deleted the file %FileName% from %FilePath%.', 'wp-security-audit-log' ) ),
|
165 |
array( 6007, E_NOTICE, __( 'User requests non-existing pages (404 Error Pages)', 'wp-security-audit-log' ), __( 'Has requested a non existing page (404 Error Pages) %Attempts% %Msg%. %LinkFile%%URL%', 'wp-security-audit-log' ) ),
|
471 |
array( 4010, E_CRITICAL, __( 'Existing user added to a site', 'wp-security-audit-log' ), __( 'Added the existing user %TargetUsername% with %TargetUserRole% role to site %SiteName%.', 'wp-security-audit-log' ) ),
|
472 |
array( 4011, E_CRITICAL, __( 'User removed from site', 'wp-security-audit-log' ), __( 'Removed the user %TargetUsername% with role %TargetUserRole% from %SiteName% site.', 'wp-security-audit-log' ) ),
|
473 |
array( 4012, E_CRITICAL, __( 'New network user created', 'wp-security-audit-log' ), __( 'Created a new network user %NewUserData->Username%.', 'wp-security-audit-log' ) ),
|
|
|
474 |
array( 7000, E_CRITICAL, __( 'New site added on the network', 'wp-security-audit-log' ), __( 'Added the site %SiteName% to the network.', 'wp-security-audit-log' ) ),
|
475 |
array( 7001, E_CRITICAL, __( 'Existing site archived', 'wp-security-audit-log' ), __( 'Archived the site %SiteName%.', 'wp-security-audit-log' ) ),
|
476 |
array( 7002, E_CRITICAL, __( 'Archived site has been unarchived', 'wp-security-audit-log' ), __( 'Unarchived the site %SiteName%.', 'wp-security-audit-log' ) ),
|
511 |
array( 8020, E_WARNING, __( 'User permanently deleted topic', 'wp-security-audit-log' ), __( 'Permanently deleted the topic %TopicName%.', 'wp-security-audit-log' ) ),
|
512 |
array( 8021, E_WARNING, __( 'User restored topic from trash', 'wp-security-audit-log' ), __( 'Restored the topic %TopicName% from trash.' . ' %EditorLinkTopic%.', 'wp-security-audit-log' ) ),
|
513 |
array( 8022, E_NOTICE, __( 'User changed visibility of a topic', 'wp-security-audit-log' ), __( 'Changed the visibility of the topic %TopicName% from %OldVisibility% to %NewVisibility%.' . ' %EditorLinkTopic%.', 'wp-security-audit-log' ) ),
|
514 |
+
array( 4013, E_CRITICAL, __( 'The forum role of a user was changed by another WordPress user', 'wp-security-audit-log' ), __( 'Change the forum role of the user %TargetUsername% from %OldRole% to %NewRole% by %UserChanger%.', 'wp-security-audit-log' ) ),
|
515 |
),
|
516 |
|
517 |
/**
|
607 |
array( 9039, E_WARNING, __( 'User permanently deleted a WooCommerce order', 'wp-security-audit-log' ), __( 'Permanently deleted the WooCommerce order %OrderTitle%.', 'wp-security-audit-log' ) ),
|
608 |
array( 9040, E_NOTICE, __( 'User edited a WooCommerce order', 'wp-security-audit-log' ), __( 'Edited the WooCommerce order %OrderTitle%. %EditorLinkOrder%.', 'wp-security-audit-log' ) ),
|
609 |
array( 9041, E_WARNING, __( 'User refunded a WooCommerce order', 'wp-security-audit-log' ), __( 'Refunded the WooCommerce order %OrderTitle%. %EditorLinkOrder%.', 'wp-security-audit-log' ) ),
|
610 |
+
array( 9083, E_NOTICE, __( 'User changed the billing address details', 'wp-security-audit-log' ), __( 'Changed the %AddressField% in the user\'s %TargetUsername% billing address.%ChangeText%', 'wp-security-audit-log' ) ),
|
611 |
+
array( 9084, E_NOTICE, __( 'User changed the shipping address details', 'wp-security-audit-log' ), __( 'Changed the %AddressField% in the user\'s %TargetUsername% shipping address.%ChangeText%', 'wp-security-audit-log' ) ),
|
612 |
),
|
613 |
|
614 |
/**
|
648 |
load_include_custom_file( $wsal );
|
649 |
}
|
650 |
}
|
651 |
+
add_action( 'init', 'wsaldefaults_wsal_init', 5 );
|
img/check-icon.png
ADDED
Binary file
|
img/external-db/db_integrations_1.png
ADDED
Binary file
|
img/external-db/db_integrations_2.png
ADDED
Binary file
|
img/external-db/db_integrations_3.png
ADDED
Binary file
|
img/mails/daily-notification/box-shadow-bottom.png
ADDED
Binary file
|
img/mails/daily-notification/box-shadow-left.png
ADDED
Binary file
|
img/mails/daily-notification/box-shadow-right.png
ADDED
Binary file
|
img/mails/daily-notification/box-shadow-up.png
ADDED
Binary file
|
img/mails/daily-notification/documentation.png
ADDED
Binary file
|
img/mails/daily-notification/get-support.png
ADDED
Binary file
|
img/mails/daily-notification/logo.png
ADDED
Binary file
|
img/mails/daily-notification/table-bg.jpg
ADDED
Binary file
|
img/notifications/notifications_1.png
ADDED
Binary file
|
img/notifications/notifications_2.png
ADDED
Binary file
|
img/notifications/notifications_3.png
ADDED
Binary file
|
img/notifications/notifications_4.png
ADDED
Binary file
|
img/reports/reports_1.png
CHANGED
Binary file
|
img/reports/reports_2.png
CHANGED
Binary file
|
img/reports/reports_3.png
ADDED
Binary file
|
img/search/search_1.png
ADDED
Binary file
|
img/search/search_2.png
ADDED
Binary file
|
img/search/search_3.png
ADDED
Binary file
|
img/users-sessions-management/user_sessions_1.png
ADDED
Binary file
|
img/users-sessions-management/user_sessions_2.png
ADDED
Binary file
|
img/wsal-emailnotifications.jpg
ADDED
Binary file
|
img/wsal-externaldb.jpg
ADDED
Binary file
|
img/wsal-loginusers.png
ADDED
Binary file
|
img/wsal-reports.jpg
ADDED
Binary file
|
img/wsal-search.jpg
ADDED
Binary file
|
js/auditlog.js
CHANGED
@@ -100,12 +100,9 @@ function WsalAuditLogInit(_WsalData) {
|
|
100 |
};
|
101 |
|
102 |
// If audit log auto refresh is enabled.
|
103 |
-
if (WsalData.autorefresh.enabled) {
|
104 |
// Check for new alerts every 30 secs.
|
105 |
-
setInterval(WsalChk, 30000);
|
106 |
-
|
107 |
-
// Make the first call on page load.
|
108 |
-
WsalChk();
|
109 |
}
|
110 |
|
111 |
WsalSsasInit();
|
100 |
};
|
101 |
|
102 |
// If audit log auto refresh is enabled.
|
103 |
+
if ( WsalData.autorefresh.enabled ) {
|
104 |
// Check for new alerts every 30 secs.
|
105 |
+
setInterval( WsalChk, 30000 );
|
|
|
|
|
|
|
106 |
}
|
107 |
|
108 |
WsalSsasInit();
|
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: 2019-
|
7 |
-
"PO-Revision-Date: 2019-
|
8 |
"Last-Translator: \n"
|
9 |
"Language-Team: \n"
|
10 |
"MIME-Version: 1.0\n"
|
@@ -22,184 +22,183 @@ msgstr ""
|
|
22 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
23 |
|
24 |
#. translators: Event ID
|
25 |
-
#: classes/AlertManager.php:
|
26 |
#, php-format
|
27 |
msgid "Event with code %d has not be registered."
|
28 |
msgstr ""
|
29 |
|
30 |
-
#: classes/AlertManager.php:
|
31 |
#, php-format
|
32 |
msgid "Event %s already registered with WP Security Audit Log."
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: classes/AlertManager.php:
|
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:
|
42 |
#, php-format
|
43 |
msgid "%4$s to help you solve this issue."
|
44 |
msgstr ""
|
45 |
|
46 |
-
#: classes/AlertManager.php:
|
47 |
msgid "ERROR:"
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: classes/AlertManager.php:
|
51 |
msgid "Contact us"
|
52 |
msgstr ""
|
53 |
|
54 |
-
#: classes/AuditLogListView.php:
|
55 |
msgid "No events so far."
|
56 |
msgstr ""
|
57 |
|
58 |
-
#: classes/AuditLogListView.php:
|
59 |
msgid "Show "
|
60 |
msgstr ""
|
61 |
|
62 |
-
#: classes/AuditLogListView.php:
|
63 |
msgid " Items"
|
64 |
msgstr ""
|
65 |
|
66 |
-
#: classes/AuditLogListView.php:
|
67 |
msgid "— End of Activity Log —"
|
68 |
msgstr ""
|
69 |
|
70 |
-
#: classes/AuditLogListView.php:
|
71 |
-
#: classes/Views/AuditLog.php:485
|
72 |
msgid "All Sites"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: classes/AuditLogListView.php:
|
76 |
msgid "Live Database"
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: classes/AuditLogListView.php:
|
80 |
msgid "Archive Database"
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: classes/AuditLogListView.php:
|
84 |
#: classes/WidgetManager.php:82
|
85 |
msgid "User"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: classes/AuditLogListView.php:
|
89 |
msgid "Username"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: classes/AuditLogListView.php:
|
93 |
-
#: classes/Views/Settings.php:
|
94 |
msgid "Event ID"
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: classes/AuditLogListView.php:
|
98 |
-
#: classes/Views/Settings.php:
|
99 |
msgid "Severity"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: classes/AuditLogListView.php:
|
103 |
msgid "Date"
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: classes/AuditLogListView.php:
|
107 |
msgid "Source IP"
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: classes/AuditLogListView.php:
|
111 |
msgid "Site"
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: classes/AuditLogListView.php:
|
115 |
msgid "Message"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: classes/AuditLogListView.php:
|
119 |
msgid "Click to toggle."
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: classes/AuditLogListView.php:
|
123 |
msgid "Disable this type of events."
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: classes/AuditLogListView.php:
|
127 |
msgid "Unknown error code."
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: classes/AuditLogListView.php:
|
131 |
msgid "Critical"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: classes/AuditLogListView.php:
|
135 |
msgid "Warning"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: classes/AuditLogListView.php:
|
139 |
-
#: classes/Views/ToggleAlerts.php:
|
140 |
msgid "Notification"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: classes/AuditLogListView.php:
|
144 |
msgid "Unknown"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: classes/AuditLogListView.php:
|
148 |
msgid "Show me all activity by this User"
|
149 |
msgstr ""
|
150 |
|
151 |
-
#: classes/AuditLogListView.php:
|
152 |
#: classes/Views/Licensing.php:153
|
153 |
msgid "Plugin"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: classes/AuditLogListView.php:
|
157 |
msgid "Plugins"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: classes/AuditLogListView.php:
|
161 |
msgid "Website Visitor"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: classes/AuditLogListView.php:
|
165 |
-
#: classes/Views/ToggleAlerts.php:
|
166 |
msgid "System"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: classes/AuditLogListView.php:
|
170 |
msgid "Show me all activity originating from this IP Address"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: classes/AuditLogListView.php:
|
174 |
msgid "View all details of this change"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: classes/AuditLogListView.php:
|
178 |
-
#: classes/Settings.php:
|
179 |
msgid "Alert Data Inspector"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: classes/AuditLogListView.php:
|
183 |
msgid "Download the log file"
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: classes/AuditLogListView.php:
|
187 |
msgid "Download the log file."
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: classes/AuditLogListView.php:
|
191 |
-
#: classes/Settings.php:
|
192 |
msgid "published"
|
193 |
msgstr ""
|
194 |
|
195 |
#. translators: Mailto link for support.
|
196 |
-
#: classes/AuditLogListView.php:
|
197 |
-
#: classes/Settings.php:
|
198 |
#, php-format
|
199 |
msgid "Contact us on %s for assistance"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: classes/AuditLogListView.php:
|
203 |
msgid "Select All"
|
204 |
msgstr ""
|
205 |
|
@@ -241,62 +240,56 @@ msgstr ""
|
|
241 |
msgid "https://wordpress.org/support/"
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: classes/Loggers/Database.php:243 classes/Views/
|
245 |
-
#: classes/Views/
|
246 |
-
#: classes/Views/
|
247 |
-
#: classes/Views/Help.php:239 classes/Views/LogInUsers.php:154
|
248 |
-
#: classes/Views/LogInUsers.php:186 classes/Views/Reports.php:153
|
249 |
-
#: classes/Views/Reports.php:185 classes/Views/Search.php:153
|
250 |
-
#: classes/Views/Search.php:178
|
251 |
msgid "Upgrade to Premium"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: classes/Loggers/Database.php:244 classes/Views/
|
255 |
-
#: classes/Views/
|
256 |
-
#: classes/Views/ExternalDB.php:185 classes/Views/Help.php:240
|
257 |
-
#: classes/Views/LogInUsers.php:155 classes/Views/LogInUsers.php:187
|
258 |
-
#: classes/Views/Reports.php:154 classes/Views/Reports.php:186
|
259 |
-
#: classes/Views/Search.php:154 classes/Views/Search.php:179
|
260 |
msgid "More Information"
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: classes/Sensors/Content.php:
|
264 |
-
#: classes/Sensors/WooCommerce.php:
|
265 |
msgid "Password Protected"
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: classes/Sensors/Content.php:
|
|
|
269 |
msgid "Public"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: classes/Sensors/Content.php:
|
|
|
273 |
msgid "Private"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: classes/Sensors/Public.php:
|
277 |
#, php-format
|
278 |
msgid ""
|
279 |
"A comment was posted in response to the post %1$s. The comment was posted by "
|
280 |
"%2$s"
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: classes/Sensors/Public.php:
|
284 |
msgid "In stock"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: classes/Sensors/Public.php:
|
288 |
msgid "Out of stock"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: classes/Sensors/Public.php:
|
292 |
msgid "On backorder"
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: classes/Sensors/WooCommerce.php:
|
296 |
msgid "Visible"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: classes/Sensors/WooCommerce.php:
|
300 |
msgid "Non-Visible"
|
301 |
msgstr ""
|
302 |
|
@@ -304,15 +297,15 @@ msgstr ""
|
|
304 |
msgid "This function is deprecated"
|
305 |
msgstr ""
|
306 |
|
307 |
-
#: classes/Settings.php:
|
308 |
msgid "View Order"
|
309 |
msgstr ""
|
310 |
|
311 |
-
#: classes/Settings.php:
|
312 |
msgid "plugin settings"
|
313 |
msgstr ""
|
314 |
|
315 |
-
#: classes/Settings.php:
|
316 |
msgid "contact our support"
|
317 |
msgstr ""
|
318 |
|
@@ -332,10 +325,37 @@ msgid ""
|
|
332 |
"the plugin WP Security Audit Log on the website %2$s on %3$s."
|
333 |
msgstr ""
|
334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
335 |
#: classes/Views/AuditLog.php:91
|
336 |
msgid ""
|
337 |
-
"Get instantly alerted of important changes via email,
|
338 |
-
"and
|
339 |
msgstr ""
|
340 |
|
341 |
#: classes/Views/AuditLog.php:92
|
@@ -349,228 +369,226 @@ msgid ""
|
|
349 |
msgstr ""
|
350 |
|
351 |
#: classes/Views/AuditLog.php:96
|
352 |
-
msgid ""
|
353 |
-
"Upgrade to unlock these powerful features and gain more from your activity "
|
354 |
-
"logs."
|
355 |
msgstr ""
|
356 |
|
357 |
#: classes/Views/AuditLog.php:99
|
358 |
msgid ""
|
359 |
-
"See who is logged in
|
360 |
-
"
|
361 |
msgstr ""
|
362 |
|
363 |
#: classes/Views/AuditLog.php:100
|
364 |
msgid ""
|
365 |
-
"Unlock these
|
366 |
-
"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: classes/Views/AuditLog.php:
|
370 |
-
msgid "UPGRADE"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: classes/Views/AuditLog.php:
|
|
|
|
|
|
|
|
|
374 |
msgid "Tell me more"
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: classes/Views/AuditLog.php:
|
378 |
msgid "Dismiss the banner"
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: classes/Views/AuditLog.php:
|
382 |
msgid "Close"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: classes/Views/AuditLog.php:
|
386 |
msgid ""
|
387 |
"There are connectivity issues with the database where the WordPress activity "
|
388 |
"log is stored. The logs will be temporary buffered in the WordPress database "
|
389 |
"until the connection is fully restored."
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: classes/Views/AuditLog.php:
|
393 |
msgid ""
|
394 |
"Help us improve WP Security Audit Log! Opt-in to sending us diagnostic non-"
|
395 |
"sensitive data about your plugin usage (<strong>no activity log data is "
|
396 |
"sent</strong>) and subscribe to our newsletter."
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: classes/Views/AuditLog.php:
|
400 |
msgid "Opt-In"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: classes/Views/AuditLog.php:
|
404 |
msgid "Learn More"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: classes/Views/AuditLog.php:
|
408 |
-
#: classes/Views/Settings.php:
|
409 |
-
#: classes/Views/Settings.php:
|
410 |
-
#: classes/Views/Settings.php:
|
411 |
-
#: classes/Views/Settings.php:
|
412 |
-
#: classes/Views/Settings.php:
|
413 |
-
#: classes/Views/Settings.php:
|
414 |
msgid "No"
|
415 |
msgstr ""
|
416 |
|
417 |
-
#: classes/Views/AuditLog.php:
|
418 |
msgid "Audit Log Viewer"
|
419 |
msgstr ""
|
420 |
|
421 |
-
#: classes/Views/AuditLog.php:
|
422 |
-
#: classes/Views/Settings.php:
|
423 |
msgid "You do not have sufficient permissions to access this page."
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: classes/Views/AuditLog.php:
|
427 |
msgid ""
|
428 |
"Thank you very much for using the WP Security Audit Log plugin. We have "
|
429 |
"created a wizard to ease the process of configuring the plugin so you can "
|
430 |
"get the best out of it. Would you like to run the wizard?"
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: classes/Views/AuditLog.php:
|
434 |
-
#: classes/Views/Settings.php:
|
435 |
-
#: classes/Views/Settings.php:
|
436 |
-
#: classes/Views/Settings.php:
|
437 |
-
#: classes/Views/Settings.php:
|
438 |
-
#: classes/Views/Settings.php:
|
439 |
#: classes/Views/SetupWizard.php:524
|
440 |
msgid "Yes"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: classes/Views/AuditLog.php:
|
444 |
msgid "Please enter the number of alerts you would like to see on one page:"
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: classes/Views/AuditLog.php:
|
448 |
msgid "No Results"
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: classes/Views/AuditLog.php:
|
452 |
msgid "No users found."
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: classes/Views/AuditLog.php:
|
456 |
-
#: classes/Views/AuditLog.php:777 classes/Views/AuditLog.php:1082
|
457 |
-
#: classes/Views/AuditLog.php:1152 classes/Views/Licensing.php:90
|
458 |
-
#: classes/Views/Settings.php:241 classes/Views/Settings.php:330
|
459 |
-
#: classes/Views/Settings.php:2127 classes/Views/Settings.php:2155
|
460 |
-
#: classes/Views/Settings.php:2185 classes/Views/Settings.php:2224
|
461 |
-
#: classes/Views/Settings.php:2226 classes/Views/Settings.php:2228
|
462 |
-
#: classes/Views/Settings.php:2335 classes/Views/Settings.php:2337
|
463 |
-
#: classes/Views/Settings.php:2339 classes/Views/Settings.php:2429
|
464 |
-
#: classes/Views/Settings.php:2509 classes/Views/SetupWizard.php:81
|
465 |
-
msgid "Nonce verification failed."
|
466 |
-
msgstr ""
|
467 |
-
|
468 |
-
#: classes/Views/AuditLog.php:693
|
469 |
msgid "Log file does not exist."
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: classes/Views/AuditLog.php:
|
473 |
msgid "Request to get log file failed."
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: classes/Views/AuditLog.php:
|
477 |
msgid "Freemius opt choice selected."
|
478 |
msgstr ""
|
479 |
|
480 |
-
#: classes/Views/AuditLog.php:
|
481 |
msgid "Freemius opt choice not found."
|
482 |
msgstr ""
|
483 |
|
484 |
-
#: classes/Views/AuditLog.php:
|
485 |
msgid "WordPress Activity Log"
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: classes/Views/AuditLog.php:
|
489 |
msgid ""
|
490 |
"When a user makes a change on your website the plugin will keep a record of "
|
491 |
"that event here. Right now there is nothing because this is a new install."
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: classes/Views/AuditLog.php:
|
495 |
msgid "Thank you for using WP Security Audit Log"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: classes/Views/AuditLog.php:
|
499 |
msgid "Error: You do not have sufficient permissions to exclude this URL."
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: classes/Views/AuditLog.php:
|
503 |
msgid "You do not have sufficient permissions to dismiss this notice."
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: classes/Views/AuditLog.php:
|
507 |
msgid "Access Denied"
|
508 |
msgstr ""
|
509 |
|
510 |
#: classes/Views/EmailNotifications.php:28
|
511 |
-
msgid "
|
512 |
msgstr ""
|
513 |
|
514 |
#: classes/Views/EmailNotifications.php:42
|
515 |
-
msgid "
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: classes/Views/EmailNotifications.php:
|
519 |
-
msgid "Email Notifications"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: classes/Views/EmailNotifications.php:
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
msgstr ""
|
527 |
|
528 |
#: classes/Views/EmailNotifications.php:118
|
529 |
-
msgid ""
|
530 |
-
"Configure email notifications to be instantly alerted of important changes,"
|
531 |
msgstr ""
|
532 |
|
533 |
#: classes/Views/EmailNotifications.php:119
|
534 |
msgid ""
|
535 |
-
"
|
536 |
-
"
|
537 |
msgstr ""
|
538 |
|
539 |
#: classes/Views/EmailNotifications.php:120
|
540 |
-
msgid "
|
541 |
msgstr ""
|
542 |
|
543 |
#: classes/Views/EmailNotifications.php:121
|
544 |
-
msgid "
|
|
|
545 |
msgstr ""
|
546 |
|
547 |
#: classes/Views/EmailNotifications.php:122
|
548 |
-
msgid "
|
549 |
msgstr ""
|
550 |
|
551 |
-
#: classes/Views/EmailNotifications.php:123
|
552 |
-
|
553 |
-
msgid "& more."
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: classes/Views/EmailNotifications.php:
|
557 |
-
|
558 |
-
|
559 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: classes/Views/EmailNotifications.php:
|
563 |
-
#: classes/Views/EmailNotifications.php:169
|
564 |
msgid ""
|
565 |
-
"Use the trigger builder to configure any type of email
|
566 |
-
"
|
|
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: classes/Views/EmailNotifications.php:
|
570 |
-
#: classes/Views/EmailNotifications.php:176
|
571 |
msgid ""
|
572 |
-
"
|
573 |
-
"
|
574 |
msgstr ""
|
575 |
|
576 |
#: classes/Views/ExternalDB.php:28
|
@@ -581,39 +599,51 @@ msgstr ""
|
|
581 |
msgid "DB & Integrations ⇪"
|
582 |
msgstr ""
|
583 |
|
584 |
-
#: classes/Views/ExternalDB.php:
|
585 |
-
msgid "
|
586 |
msgstr ""
|
587 |
|
588 |
-
#: classes/Views/ExternalDB.php:
|
589 |
msgid ""
|
590 |
-
"
|
591 |
-
"
|
|
|
|
|
|
|
|
|
|
|
592 |
msgstr ""
|
593 |
|
594 |
#: classes/Views/ExternalDB.php:119
|
595 |
-
msgid "
|
596 |
msgstr ""
|
597 |
|
598 |
#: classes/Views/ExternalDB.php:120
|
599 |
-
msgid "
|
|
|
|
|
600 |
msgstr ""
|
601 |
|
602 |
#: classes/Views/ExternalDB.php:121
|
603 |
msgid ""
|
604 |
-
"Configure
|
|
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: classes/Views/ExternalDB.php:
|
608 |
msgid ""
|
609 |
-
"
|
610 |
-
"
|
|
|
|
|
|
|
|
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: classes/Views/ExternalDB.php:
|
614 |
msgid ""
|
615 |
-
"Configure
|
616 |
-
"
|
617 |
msgstr ""
|
618 |
|
619 |
#: classes/Views/Help.php:30 classes/Views/Help.php:44
|
@@ -764,12 +794,12 @@ msgstr ""
|
|
764 |
msgid "Licensing"
|
765 |
msgstr ""
|
766 |
|
767 |
-
#: classes/Views/Licensing.php:96 classes/Views/Settings.php:
|
768 |
#: classes/Views/ToggleAlerts.php:144
|
769 |
msgid "Settings have been saved."
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: classes/Views/Licensing.php:101 classes/Views/Settings.php:
|
773 |
#: classes/Views/ToggleAlerts.php:150
|
774 |
msgid "Error: "
|
775 |
msgstr ""
|
@@ -798,44 +828,46 @@ msgstr ""
|
|
798 |
msgid "Logged In Users ⇪"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: classes/Views/LogInUsers.php:
|
802 |
-
msgid "Users
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: classes/Views/LogInUsers.php:
|
806 |
-
msgid "
|
807 |
msgstr ""
|
808 |
|
809 |
#: classes/Views/LogInUsers.php:119
|
810 |
-
msgid "
|
811 |
msgstr ""
|
812 |
|
813 |
#: classes/Views/LogInUsers.php:120
|
814 |
-
msgid "
|
815 |
msgstr ""
|
816 |
|
817 |
#: classes/Views/LogInUsers.php:121
|
818 |
-
msgid "
|
819 |
msgstr ""
|
820 |
|
821 |
#: classes/Views/LogInUsers.php:122
|
822 |
-
msgid "
|
823 |
msgstr ""
|
824 |
|
825 |
#: classes/Views/LogInUsers.php:123
|
826 |
-
msgid "
|
827 |
msgstr ""
|
828 |
|
829 |
-
#: classes/Views/LogInUsers.php:
|
830 |
-
msgid ""
|
831 |
-
"See who is logged in to your WordPress website and WordPress multisite "
|
832 |
-
"network."
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: classes/Views/LogInUsers.php:
|
836 |
msgid ""
|
837 |
-
"
|
838 |
-
"
|
|
|
|
|
|
|
|
|
839 |
msgstr ""
|
840 |
|
841 |
#: classes/Views/Reports.php:28
|
@@ -846,48 +878,51 @@ msgstr ""
|
|
846 |
msgid "Reports ⇪"
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: classes/Views/Reports.php:
|
850 |
-
msgid "Reports"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: classes/Views/Reports.php:
|
854 |
msgid ""
|
855 |
-
"
|
856 |
-
"
|
|
|
|
|
|
|
|
|
|
|
857 |
msgstr ""
|
858 |
|
859 |
#: classes/Views/Reports.php:119
|
860 |
-
msgid "
|
861 |
msgstr ""
|
862 |
|
863 |
#: classes/Views/Reports.php:120
|
864 |
-
msgid "
|
865 |
msgstr ""
|
866 |
|
867 |
#: classes/Views/Reports.php:121
|
868 |
msgid ""
|
869 |
-
"
|
870 |
-
"
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: classes/Views/Reports.php:
|
874 |
-
msgid "
|
|
|
|
|
875 |
msgstr ""
|
876 |
|
877 |
-
#: classes/Views/Reports.php:
|
878 |
-
msgid "
|
879 |
msgstr ""
|
880 |
|
881 |
-
#: classes/Views/Reports.php:
|
882 |
-
msgid ""
|
883 |
-
"Generate any type of report and also configure daily, weekly, monthly and "
|
884 |
-
"quarterly reports which are automatically sent to you via email."
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: classes/Views/Reports.php:
|
888 |
-
msgid ""
|
889 |
-
"Generate statistical reports to get a better overview of what users are "
|
890 |
-
"doing on your WordPress and WordPress multisite network are doing."
|
891 |
msgstr ""
|
892 |
|
893 |
#: classes/Views/Search.php:28
|
@@ -898,174 +933,215 @@ msgstr ""
|
|
898 |
msgid "Search ⇪"
|
899 |
msgstr ""
|
900 |
|
901 |
-
#: classes/Views/Search.php:
|
902 |
-
msgid "Search"
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: classes/Views/Search.php:
|
906 |
msgid ""
|
907 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
908 |
msgstr ""
|
909 |
|
910 |
#: classes/Views/Search.php:119
|
911 |
-
msgid "Easily find
|
912 |
msgstr ""
|
913 |
|
914 |
#: classes/Views/Search.php:120
|
915 |
-
msgid "
|
916 |
msgstr ""
|
917 |
|
918 |
#: classes/Views/Search.php:121
|
919 |
-
msgid "
|
920 |
msgstr ""
|
921 |
|
922 |
#: classes/Views/Search.php:122
|
923 |
-
msgid "Save search terms
|
|
|
|
|
|
|
|
|
924 |
msgstr ""
|
925 |
|
926 |
-
#: classes/Views/Search.php:
|
927 |
msgid ""
|
928 |
-
"
|
929 |
-
"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: classes/Views/
|
|
|
|
|
|
|
|
|
|
|
|
|
933 |
msgid "General"
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: classes/Views/Settings.php:
|
937 |
msgid "Activity Log"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: classes/Views/Settings.php:
|
941 |
msgid "File Integrity Scan"
|
942 |
msgstr ""
|
943 |
|
944 |
-
#: classes/Views/Settings.php:
|
945 |
msgid "Exclude Objects"
|
946 |
msgstr ""
|
947 |
|
948 |
-
#: classes/Views/Settings.php:
|
949 |
msgid "Advanced Settings"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: classes/Views/Settings.php:
|
953 |
-
#: classes/Views/ToggleAlerts.php:432 classes/Views/ToggleAlerts.php:
|
954 |
msgid "Settings"
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: classes/Views/Settings.php:
|
958 |
msgid "Unknown settings tab."
|
959 |
msgstr ""
|
960 |
|
961 |
-
#: classes/Views/Settings.php:
|
962 |
-
|
963 |
-
msgid "Access Denied."
|
964 |
msgstr ""
|
965 |
|
966 |
-
#: classes/Views/Settings.php:
|
967 |
-
msgid "
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: classes/Views/Settings.php:
|
971 |
msgid "Old data successfully purged."
|
972 |
msgstr ""
|
973 |
|
974 |
-
#: classes/Views/Settings.php:
|
975 |
msgid "No data is old enough to be purged."
|
976 |
msgstr ""
|
977 |
|
978 |
-
#: classes/Views/Settings.php:
|
|
|
|
|
|
|
|
|
979 |
msgid ""
|
980 |
"Need help with setting up the plugin to meet your requirements? <a href="
|
981 |
"\"https://www.wpsecurityauditlog.com/contact/\" target=\"_blank\">Schedule a "
|
982 |
"20 minutes consultation and setup call</a> with our experts for just $50."
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: classes/Views/Settings.php:
|
986 |
msgid "Use infinite scroll or pagination for the event viewer?"
|
987 |
msgstr ""
|
988 |
|
989 |
#. translators: Learn more link.
|
990 |
-
#: classes/Views/Settings.php:
|
991 |
#, php-format
|
992 |
msgid ""
|
993 |
"When using infinite scroll the event viewer and search results %s load up "
|
994 |
"much faster and require less resources."
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: classes/Views/Settings.php:
|
998 |
msgid "(Premium feature)"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: classes/Views/Settings.php:
|
1002 |
msgid "Select event viewer view type:"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: classes/Views/Settings.php:
|
1006 |
msgid "Infinite Scroll (Recommended)"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
-
#: classes/Views/Settings.php:
|
1010 |
msgid "Pagination"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
-
#: classes/Views/Settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1014 |
msgid "Display latest events widget in Dashboard & Admin bar"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
#. translators: Max number of dashboard widget alerts.
|
1018 |
-
#: classes/Views/Settings.php:
|
1019 |
#, php-format
|
1020 |
msgid ""
|
1021 |
"The events widget displays the latest %d security events in the dashboard "
|
1022 |
"and the admin bar notification displays the latest event."
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: classes/Views/Settings.php:
|
1026 |
msgid "Dashboard Widget"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: classes/Views/Settings.php:
|
1030 |
msgid "Admin Bar Notification"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
-
#: classes/Views/Settings.php:
|
1034 |
msgid "Admin Bar Notification (Premium)"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: classes/Views/Settings.php:
|
1038 |
msgid "Admin Bar Notification Updates"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: classes/Views/Settings.php:
|
1042 |
msgid "Admin Bar Notification Updates (Premium)"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: classes/Views/Settings.php:
|
1046 |
msgid "Update in near real time"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
-
#: classes/Views/Settings.php:
|
1050 |
msgid "Update only on page refreshes"
|
1051 |
msgstr ""
|
1052 |
|
1053 |
-
#: classes/Views/Settings.php:
|
1054 |
msgid "Add user notification on the WordPress login page"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: classes/Views/Settings.php:
|
1058 |
msgid ""
|
1059 |
"Many compliance regulations (such as the GDRP) require website "
|
1060 |
"administrators to tell the users of their website that all the changes they "
|
1061 |
"do when logged in are being logged."
|
1062 |
msgstr ""
|
1063 |
|
1064 |
-
#: classes/Views/Settings.php:
|
1065 |
msgid "Login Page Notification"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
-
#: classes/Views/Settings.php:
|
1069 |
msgid ""
|
1070 |
"For security and auditing purposes, a record of all of your logged-in "
|
1071 |
"actions and changes within the WordPress dashboard will be recorded in an "
|
@@ -1074,137 +1150,137 @@ msgid ""
|
|
1074 |
"IP address where you accessed this site from."
|
1075 |
msgstr ""
|
1076 |
|
1077 |
-
#: classes/Views/Settings.php:
|
1078 |
msgid "<strong>Note: </strong>"
|
1079 |
msgstr ""
|
1080 |
|
1081 |
-
#: classes/Views/Settings.php:
|
1082 |
msgid ""
|
1083 |
"The only HTML code allowed in the login page notification is for links ( < a "
|
1084 |
"href >< /a > )."
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: classes/Views/Settings.php:
|
1088 |
msgid "Is your website running behind a firewall or reverse proxy?"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
#. translators: Learn more link.
|
1092 |
-
#: classes/Views/Settings.php:
|
1093 |
#, php-format
|
1094 |
msgid ""
|
1095 |
"If your website is running behind a firewall set this option to yes so the "
|
1096 |
"plugin retrieves the end user’s IP address from the proxy header - %s."
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: classes/Views/Settings.php:
|
1100 |
msgid "learn more"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: classes/Views/Settings.php:
|
1104 |
msgid "Reverse Proxy / Firewall Options"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: classes/Views/Settings.php:
|
1108 |
msgid ""
|
1109 |
"Filter internal IP addresses from the proxy headers. Enable this option only "
|
1110 |
"if you are\tare still seeing the internal IP addresses of the firewall or "
|
1111 |
"proxy."
|
1112 |
msgstr ""
|
1113 |
|
1114 |
-
#: classes/Views/Settings.php:
|
1115 |
msgid "Who can change the plugin settings?"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
-
#: classes/Views/Settings.php:
|
1119 |
msgid ""
|
1120 |
"By default only users with administrator or super administrator (multisite) "
|
1121 |
"roles can change the settings of the plugin. Though you can change these "
|
1122 |
"privileges from this section."
|
1123 |
msgstr ""
|
1124 |
|
1125 |
-
#: classes/Views/Settings.php:
|
1126 |
msgid "Restrict Plugin Access"
|
1127 |
msgstr ""
|
1128 |
|
1129 |
-
#: classes/Views/Settings.php:
|
1130 |
msgid "Only me"
|
1131 |
msgstr ""
|
1132 |
|
1133 |
-
#: classes/Views/Settings.php:
|
1134 |
msgid "Only administrators"
|
1135 |
msgstr ""
|
1136 |
|
1137 |
-
#: classes/Views/Settings.php:
|
1138 |
msgid "Only superadmins"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: classes/Views/Settings.php:
|
1142 |
msgid "All these users or users with these roles"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
-
#: classes/Views/Settings.php:
|
1146 |
msgid ""
|
1147 |
"Specify the username or the users which can change the plugin settings. You "
|
1148 |
"can also specify roles."
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: classes/Views/Settings.php:
|
1152 |
msgid "Allow other users to view the activity log"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: classes/Views/Settings.php:
|
1156 |
msgid ""
|
1157 |
"By default only users with administrator and super administrator (multisite) "
|
1158 |
"role can view the WordPress activity log. Though you can allow other users "
|
1159 |
"with no admin role to view the events."
|
1160 |
msgstr ""
|
1161 |
|
1162 |
-
#: classes/Views/Settings.php:
|
1163 |
msgid "Can View Events"
|
1164 |
msgstr ""
|
1165 |
|
1166 |
-
#: classes/Views/Settings.php:
|
1167 |
msgid ""
|
1168 |
"Specify the username or the users which do not have an admin role but can "
|
1169 |
"also see the WordPress activity role. You can also specify roles."
|
1170 |
msgstr ""
|
1171 |
|
1172 |
-
#: classes/Views/Settings.php:
|
1173 |
msgid "Which email address should the plugin use as a from address?"
|
1174 |
msgstr ""
|
1175 |
|
1176 |
-
#: classes/Views/Settings.php:
|
1177 |
msgid ""
|
1178 |
"By default when the plugin sends an email notification it uses the email "
|
1179 |
"address specified in this website’s general settings. Though you can change "
|
1180 |
"the email address and display name from this section."
|
1181 |
msgstr ""
|
1182 |
|
1183 |
-
#: classes/Views/Settings.php:
|
1184 |
msgid "From Email & Name"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
-
#: classes/Views/Settings.php:
|
1188 |
msgid "Use the email address from the WordPress general settings"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
-
#: classes/Views/Settings.php:
|
1192 |
msgid "Use another email address"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
-
#: classes/Views/Settings.php:
|
1196 |
msgid "Email Address"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
-
#: classes/Views/Settings.php:
|
1200 |
msgid "Display Name"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
-
#: classes/Views/Settings.php:
|
1204 |
msgid "Do you want to hide the plugin from the list of installed plugins?"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
-
#: classes/Views/Settings.php:
|
1208 |
msgid ""
|
1209 |
"By default all installed plugins are listed in the plugins page. If you do "
|
1210 |
"not want other administrators to see that you installed this plugin set this "
|
@@ -1212,32 +1288,32 @@ msgid ""
|
|
1212 |
"plugin on this website."
|
1213 |
msgstr ""
|
1214 |
|
1215 |
-
#: classes/Views/Settings.php:
|
1216 |
msgid "Hide Plugin in Plugins Page"
|
1217 |
msgstr ""
|
1218 |
|
1219 |
-
#: classes/Views/Settings.php:
|
1220 |
msgid "Yes, hide the plugin from the list of installed plugins"
|
1221 |
msgstr ""
|
1222 |
|
1223 |
-
#: classes/Views/Settings.php:
|
1224 |
msgid "No, do not hide the plugin"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: classes/Views/Settings.php:
|
1228 |
msgid ""
|
1229 |
"For how long do you want to keep the activity log events (Retention "
|
1230 |
"settings) ?"
|
1231 |
msgstr ""
|
1232 |
|
1233 |
-
#: classes/Views/Settings.php:
|
1234 |
msgid ""
|
1235 |
"The plugin uses an efficient way to store the activity log data in the "
|
1236 |
"WordPress database, though the more data you keep the more disk space will "
|
1237 |
"be required. "
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: classes/Views/Settings.php:
|
1241 |
msgid ""
|
1242 |
"<a href=\"https://www.wpsecurityauditlog.com/pricing/\" target=\"_blank"
|
1243 |
"\">Upgrade to Premium</a> to store the activity log data in an external "
|
@@ -1245,74 +1321,74 @@ msgid ""
|
|
1245 |
msgstr ""
|
1246 |
|
1247 |
#. translators: 1: Archive page link tag. 2: Link closing tag.
|
1248 |
-
#: classes/Views/Settings.php:
|
1249 |
#, php-format
|
1250 |
msgid ""
|
1251 |
"Retention settings moved to %1$s archiving settings %2$s because archiving "
|
1252 |
"is enabled"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
-
#: classes/Views/Settings.php:
|
1256 |
msgid "Audit Log Retention"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
-
#: classes/Views/Settings.php:
|
1260 |
msgid "Keep all data"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
-
#: classes/Views/Settings.php:
|
1264 |
msgid "Delete events older than"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
-
#: classes/Views/Settings.php:
|
1268 |
msgid "Months"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
-
#: classes/Views/Settings.php:
|
1272 |
msgid "Years"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
-
#: classes/Views/Settings.php:
|
1276 |
msgid "The next scheduled purging of activity log data that is older than "
|
1277 |
msgstr ""
|
1278 |
|
1279 |
-
#: classes/Views/Settings.php:
|
1280 |
msgid "You can run the purging process now by clicking the button below."
|
1281 |
msgstr ""
|
1282 |
|
1283 |
-
#: classes/Views/Settings.php:
|
1284 |
msgid "Purge Old Data"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
-
#: classes/Views/Settings.php:
|
1288 |
msgid "What timestamp you would like to see in the WordPress activity log?"
|
1289 |
msgstr ""
|
1290 |
|
1291 |
-
#: classes/Views/Settings.php:
|
1292 |
msgid ""
|
1293 |
"Note that the WordPress' timezone might be different from that configured on "
|
1294 |
"the server so when you switch from UTC to WordPress timezone or vice versa "
|
1295 |
"you might notice a big difference."
|
1296 |
msgstr ""
|
1297 |
|
1298 |
-
#: classes/Views/Settings.php:
|
1299 |
msgid "Events Timestamp"
|
1300 |
msgstr ""
|
1301 |
|
1302 |
-
#: classes/Views/Settings.php:
|
1303 |
msgid "UTC"
|
1304 |
msgstr ""
|
1305 |
|
1306 |
-
#: classes/Views/Settings.php:
|
1307 |
msgid "Timezone configured on this WordPress website"
|
1308 |
msgstr ""
|
1309 |
|
1310 |
-
#: classes/Views/Settings.php:
|
1311 |
msgid ""
|
1312 |
"What user information should be displayed in the WordPress activity log?"
|
1313 |
msgstr ""
|
1314 |
|
1315 |
-
#: classes/Views/Settings.php:
|
1316 |
msgid ""
|
1317 |
"Usernames might not be the same as a user's first and last name so it can be "
|
1318 |
"difficult to recognize whose user was that did a change. When there is no "
|
@@ -1320,72 +1396,50 @@ msgid ""
|
|
1320 |
"back to the WordPress username."
|
1321 |
msgstr ""
|
1322 |
|
1323 |
-
#: classes/Views/Settings.php:
|
1324 |
msgid "User Information in Audit Log"
|
1325 |
msgstr ""
|
1326 |
|
1327 |
-
#: classes/Views/Settings.php:
|
1328 |
msgid "WordPress Username"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
-
#: classes/Views/Settings.php:
|
1332 |
msgid "First Name & Last Name"
|
1333 |
msgstr ""
|
1334 |
|
1335 |
-
#: classes/Views/Settings.php:
|
1336 |
msgid "Configured Public Display Name"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
-
#: classes/Views/Settings.php:
|
1340 |
msgid "Select the columns to be displayed in the WordPress activity log"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
-
#: classes/Views/Settings.php:
|
1344 |
msgid ""
|
1345 |
"When you deselect a column it won’t be shown in the activity log viewer but "
|
1346 |
"the data will still be recorded by the plugin, so when you select it again "
|
1347 |
"all the data will be displayed."
|
1348 |
msgstr ""
|
1349 |
|
1350 |
-
#: classes/Views/Settings.php:
|
1351 |
msgid "Audit Log Columns Selection"
|
1352 |
msgstr ""
|
1353 |
|
1354 |
-
#: classes/Views/Settings.php:
|
1355 |
msgid "Date & Time"
|
1356 |
msgstr ""
|
1357 |
|
1358 |
-
#: classes/Views/Settings.php:
|
1359 |
msgid "Source IP Address"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
-
#: classes/Views/Settings.php:
|
1363 |
-
msgid "Do you want the activity log viewer to auto refresh?"
|
1364 |
-
msgstr ""
|
1365 |
-
|
1366 |
-
#: classes/Views/Settings.php:1098
|
1367 |
-
msgid ""
|
1368 |
-
"The activity log viewer auto refreshes every 30 seconds when opened so you "
|
1369 |
-
"can see the latest events as they happen almost in real time."
|
1370 |
-
msgstr ""
|
1371 |
-
|
1372 |
-
#: classes/Views/Settings.php:1102
|
1373 |
-
msgid "Refresh Audit Log Viewer"
|
1374 |
-
msgstr ""
|
1375 |
-
|
1376 |
-
#: classes/Views/Settings.php:1109
|
1377 |
-
msgid "Auto refresh"
|
1378 |
-
msgstr ""
|
1379 |
-
|
1380 |
-
#: classes/Views/Settings.php:1115
|
1381 |
-
msgid "Do not auto refresh"
|
1382 |
-
msgstr ""
|
1383 |
-
|
1384 |
-
#: classes/Views/Settings.php:1125
|
1385 |
msgid "Do you want to keep a log of WordPress background activity?"
|
1386 |
msgstr ""
|
1387 |
|
1388 |
-
#: classes/Views/Settings.php:
|
1389 |
msgid ""
|
1390 |
"WordPress does a lot of things in the background that you do not necessarily "
|
1391 |
"need to know about, such as; deletion of post revisions, deletion of auto "
|
@@ -1393,38 +1447,38 @@ msgid ""
|
|
1393 |
"might be a lot and are irrelevant to the user."
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
#: classes/Views/Settings.php:
|
1397 |
msgid "Enable Events for WordPress Background Activity"
|
1398 |
msgstr ""
|
1399 |
|
1400 |
-
#: classes/Views/Settings.php:
|
1401 |
msgid ""
|
1402 |
"The plugin runs file integrity scans on your website so it keeps a log when "
|
1403 |
"a file is added, modified or deleted. All the settings for the file "
|
1404 |
"integrity scans can be found in this page."
|
1405 |
msgstr ""
|
1406 |
|
1407 |
-
#: classes/Views/Settings.php:
|
1408 |
msgid ""
|
1409 |
"<a href=\"https://www.wpsecurityauditlog.com/support-documentation/wordpress-"
|
1410 |
"files-changes-warning-activity-logs/\" target=\"_blank\">Refer to the "
|
1411 |
"WordPress file integrity scans feature page</a> for more information."
|
1412 |
msgstr ""
|
1413 |
|
1414 |
-
#: classes/Views/Settings.php:
|
1415 |
msgid "Do you want the plugin to scan your website for file changes?"
|
1416 |
msgstr ""
|
1417 |
|
1418 |
-
#: classes/Views/Settings.php:
|
1419 |
msgid "Keep a Log of File Changes"
|
1420 |
msgstr ""
|
1421 |
|
1422 |
-
#: classes/Views/Settings.php:
|
1423 |
msgid ""
|
1424 |
"Which file changes events do you want to keep a log of in the activity log?"
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#: classes/Views/Settings.php:
|
1428 |
msgid ""
|
1429 |
"By default the plugin will keep a log whenever a file has been added, "
|
1430 |
"modified or deleted. It will also log an event in the activity log when a "
|
@@ -1432,19 +1486,19 @@ msgid ""
|
|
1432 |
"link to specify which of these events the plugin should keep a log of."
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#: classes/Views/Settings.php:
|
1436 |
msgid "Alert me when"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#: classes/Views/Settings.php:
|
1440 |
msgid "Configure Events"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#: classes/Views/Settings.php:
|
1444 |
msgid "When should the plugin scan your website for file changes?"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#: classes/Views/Settings.php:
|
1448 |
msgid ""
|
1449 |
"By default the plugin will run file integrity scans once a week. If you can, "
|
1450 |
"ideally you should run file integrity scans on a daily basis. The file "
|
@@ -1454,283 +1508,283 @@ msgid ""
|
|
1454 |
"complete."
|
1455 |
msgstr ""
|
1456 |
|
1457 |
-
#: classes/Views/Settings.php:
|
1458 |
msgid "Scan Frequency"
|
1459 |
msgstr ""
|
1460 |
|
1461 |
-
#: classes/Views/Settings.php:
|
1462 |
msgid "Daily"
|
1463 |
msgstr ""
|
1464 |
|
1465 |
-
#: classes/Views/Settings.php:
|
1466 |
msgid "Weekly"
|
1467 |
msgstr ""
|
1468 |
|
1469 |
-
#: classes/Views/Settings.php:
|
1470 |
msgid "Monthly"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
-
#: classes/Views/Settings.php:
|
1474 |
msgid "Scan Time"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
-
#: classes/Views/Settings.php:
|
1478 |
msgid "00:00"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
-
#: classes/Views/Settings.php:
|
1482 |
msgid "01:00"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: classes/Views/Settings.php:
|
1486 |
msgid "02:00"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: classes/Views/Settings.php:
|
1490 |
msgid "03:00"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: classes/Views/Settings.php:
|
1494 |
msgid "04:00"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
-
#: classes/Views/Settings.php:
|
1498 |
msgid "05:00"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: classes/Views/Settings.php:
|
1502 |
msgid "06:00"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
-
#: classes/Views/Settings.php:
|
1506 |
msgid "07:00"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
-
#: classes/Views/Settings.php:
|
1510 |
msgid "08:00"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: classes/Views/Settings.php:
|
1514 |
msgid "09:00"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
-
#: classes/Views/Settings.php:
|
1518 |
msgid "10:00"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
-
#: classes/Views/Settings.php:
|
1522 |
msgid "11:00"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
-
#: classes/Views/Settings.php:
|
1526 |
msgid "12:00"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
-
#: classes/Views/Settings.php:
|
1530 |
msgid "13:00"
|
1531 |
msgstr ""
|
1532 |
|
1533 |
-
#: classes/Views/Settings.php:
|
1534 |
msgid "14:00"
|
1535 |
msgstr ""
|
1536 |
|
1537 |
-
#: classes/Views/Settings.php:
|
1538 |
msgid "15:00"
|
1539 |
msgstr ""
|
1540 |
|
1541 |
-
#: classes/Views/Settings.php:
|
1542 |
msgid "16:00"
|
1543 |
msgstr ""
|
1544 |
|
1545 |
-
#: classes/Views/Settings.php:
|
1546 |
msgid "17:00"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
-
#: classes/Views/Settings.php:
|
1550 |
msgid "18:00"
|
1551 |
msgstr ""
|
1552 |
|
1553 |
-
#: classes/Views/Settings.php:
|
1554 |
msgid "19:00"
|
1555 |
msgstr ""
|
1556 |
|
1557 |
-
#: classes/Views/Settings.php:
|
1558 |
msgid "20:00"
|
1559 |
msgstr ""
|
1560 |
|
1561 |
-
#: classes/Views/Settings.php:
|
1562 |
msgid "21:00"
|
1563 |
msgstr ""
|
1564 |
|
1565 |
-
#: classes/Views/Settings.php:
|
1566 |
msgid "22:00"
|
1567 |
msgstr ""
|
1568 |
|
1569 |
-
#: classes/Views/Settings.php:
|
1570 |
msgid "23:00"
|
1571 |
msgstr ""
|
1572 |
|
1573 |
-
#: classes/Views/Settings.php:
|
1574 |
msgid "Monday"
|
1575 |
msgstr ""
|
1576 |
|
1577 |
-
#: classes/Views/Settings.php:
|
1578 |
msgid "Tuesday"
|
1579 |
msgstr ""
|
1580 |
|
1581 |
-
#: classes/Views/Settings.php:
|
1582 |
msgid "Wednesday"
|
1583 |
msgstr ""
|
1584 |
|
1585 |
-
#: classes/Views/Settings.php:
|
1586 |
msgid "Thursday"
|
1587 |
msgstr ""
|
1588 |
|
1589 |
-
#: classes/Views/Settings.php:
|
1590 |
msgid "Friday"
|
1591 |
msgstr ""
|
1592 |
|
1593 |
-
#: classes/Views/Settings.php:
|
1594 |
msgid "Saturday"
|
1595 |
msgstr ""
|
1596 |
|
1597 |
-
#: classes/Views/Settings.php:
|
1598 |
msgid "Sunday"
|
1599 |
msgstr ""
|
1600 |
|
1601 |
-
#: classes/Views/Settings.php:
|
1602 |
msgid "01"
|
1603 |
msgstr ""
|
1604 |
|
1605 |
-
#: classes/Views/Settings.php:
|
1606 |
msgid "02"
|
1607 |
msgstr ""
|
1608 |
|
1609 |
-
#: classes/Views/Settings.php:
|
1610 |
msgid "03"
|
1611 |
msgstr ""
|
1612 |
|
1613 |
-
#: classes/Views/Settings.php:
|
1614 |
msgid "04"
|
1615 |
msgstr ""
|
1616 |
|
1617 |
-
#: classes/Views/Settings.php:
|
1618 |
msgid "05"
|
1619 |
msgstr ""
|
1620 |
|
1621 |
-
#: classes/Views/Settings.php:
|
1622 |
msgid "06"
|
1623 |
msgstr ""
|
1624 |
|
1625 |
-
#: classes/Views/Settings.php:
|
1626 |
msgid "07"
|
1627 |
msgstr ""
|
1628 |
|
1629 |
-
#: classes/Views/Settings.php:
|
1630 |
msgid "08"
|
1631 |
msgstr ""
|
1632 |
|
1633 |
-
#: classes/Views/Settings.php:
|
1634 |
msgid "09"
|
1635 |
msgstr ""
|
1636 |
|
1637 |
-
#: classes/Views/Settings.php:
|
1638 |
msgid "10"
|
1639 |
msgstr ""
|
1640 |
|
1641 |
-
#: classes/Views/Settings.php:
|
1642 |
msgid "11"
|
1643 |
msgstr ""
|
1644 |
|
1645 |
-
#: classes/Views/Settings.php:
|
1646 |
msgid "12"
|
1647 |
msgstr ""
|
1648 |
|
1649 |
-
#: classes/Views/Settings.php:
|
1650 |
msgid "13"
|
1651 |
msgstr ""
|
1652 |
|
1653 |
-
#: classes/Views/Settings.php:
|
1654 |
msgid "14"
|
1655 |
msgstr ""
|
1656 |
|
1657 |
-
#: classes/Views/Settings.php:
|
1658 |
msgid "15"
|
1659 |
msgstr ""
|
1660 |
|
1661 |
-
#: classes/Views/Settings.php:
|
1662 |
msgid "16"
|
1663 |
msgstr ""
|
1664 |
|
1665 |
-
#: classes/Views/Settings.php:
|
1666 |
msgid "17"
|
1667 |
msgstr ""
|
1668 |
|
1669 |
-
#: classes/Views/Settings.php:
|
1670 |
msgid "18"
|
1671 |
msgstr ""
|
1672 |
|
1673 |
-
#: classes/Views/Settings.php:
|
1674 |
msgid "19"
|
1675 |
msgstr ""
|
1676 |
|
1677 |
-
#: classes/Views/Settings.php:
|
1678 |
msgid "20"
|
1679 |
msgstr ""
|
1680 |
|
1681 |
-
#: classes/Views/Settings.php:
|
1682 |
msgid "21"
|
1683 |
msgstr ""
|
1684 |
|
1685 |
-
#: classes/Views/Settings.php:
|
1686 |
msgid "22"
|
1687 |
msgstr ""
|
1688 |
|
1689 |
-
#: classes/Views/Settings.php:
|
1690 |
msgid "23"
|
1691 |
msgstr ""
|
1692 |
|
1693 |
-
#: classes/Views/Settings.php:
|
1694 |
msgid "24"
|
1695 |
msgstr ""
|
1696 |
|
1697 |
-
#: classes/Views/Settings.php:
|
1698 |
msgid "25"
|
1699 |
msgstr ""
|
1700 |
|
1701 |
-
#: classes/Views/Settings.php:
|
1702 |
msgid "26"
|
1703 |
msgstr ""
|
1704 |
|
1705 |
-
#: classes/Views/Settings.php:
|
1706 |
msgid "27"
|
1707 |
msgstr ""
|
1708 |
|
1709 |
-
#: classes/Views/Settings.php:
|
1710 |
msgid "28"
|
1711 |
msgstr ""
|
1712 |
|
1713 |
-
#: classes/Views/Settings.php:
|
1714 |
msgid "29"
|
1715 |
msgstr ""
|
1716 |
|
1717 |
-
#: classes/Views/Settings.php:
|
1718 |
msgid "30"
|
1719 |
msgstr ""
|
1720 |
|
1721 |
-
#: classes/Views/Settings.php:
|
1722 |
msgid "Hour"
|
1723 |
msgstr ""
|
1724 |
|
1725 |
-
#: classes/Views/Settings.php:
|
1726 |
msgid "Day"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
-
#: classes/Views/Settings.php:
|
1730 |
msgid "Which directories should be scanned for file changes?"
|
1731 |
msgstr ""
|
1732 |
|
1733 |
-
#: classes/Views/Settings.php:
|
1734 |
msgid ""
|
1735 |
"The plugin will scan all the directories in your WordPress website by "
|
1736 |
"default because that is the most secure option. Though if for some reason "
|
@@ -1738,49 +1792,49 @@ msgid ""
|
|
1738 |
"them from the below list."
|
1739 |
msgstr ""
|
1740 |
|
1741 |
-
#: classes/Views/Settings.php:
|
1742 |
msgid "Directories to scan"
|
1743 |
msgstr ""
|
1744 |
|
1745 |
-
#: classes/Views/Settings.php:
|
1746 |
msgid "Root directory of WordPress (excluding sub directories)"
|
1747 |
msgstr ""
|
1748 |
|
1749 |
-
#: classes/Views/Settings.php:
|
1750 |
msgid "WP Admin directory (/wp-admin/)"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
-
#: classes/Views/Settings.php:
|
1754 |
msgid "WP Includes directory (/wp-includes/)"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
-
#: classes/Views/Settings.php:
|
1758 |
msgid ""
|
1759 |
"/wp-content/ directory (excluding plugins, themes & uploads directories)"
|
1760 |
msgstr ""
|
1761 |
|
1762 |
-
#: classes/Views/Settings.php:
|
1763 |
msgid "Themes directory (/wp-content/themes/)"
|
1764 |
msgstr ""
|
1765 |
|
1766 |
-
#: classes/Views/Settings.php:
|
1767 |
msgid "Plugins directory (/wp-content/plugins/)"
|
1768 |
msgstr ""
|
1769 |
|
1770 |
-
#: classes/Views/Settings.php:
|
1771 |
msgid "Uploads directory (/wp-content/uploads/)"
|
1772 |
msgstr ""
|
1773 |
|
1774 |
-
#: classes/Views/Settings.php:
|
1775 |
msgid ""
|
1776 |
"Uploads directory of all sub sites on this network (/wp-content/sites/*)"
|
1777 |
msgstr ""
|
1778 |
|
1779 |
-
#: classes/Views/Settings.php:
|
1780 |
msgid "What is the biggest file size the plugin should scan?"
|
1781 |
msgstr ""
|
1782 |
|
1783 |
-
#: classes/Views/Settings.php:
|
1784 |
msgid ""
|
1785 |
"By default the plugin does not scan files that are bigger than 5MB. Such "
|
1786 |
"files are not common, hence typically not a target. Though if you are "
|
@@ -1788,21 +1842,21 @@ msgid ""
|
|
1788 |
"limit from the below option."
|
1789 |
msgstr ""
|
1790 |
|
1791 |
-
#: classes/Views/Settings.php:
|
1792 |
msgid "File Size Limit"
|
1793 |
msgstr ""
|
1794 |
|
1795 |
-
#: classes/Views/Settings.php:
|
1796 |
msgid "MB"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
-
#: classes/Views/Settings.php:
|
1800 |
msgid ""
|
1801 |
"Do you want to exclude specific files or files with a particular extension "
|
1802 |
"from the scan?"
|
1803 |
msgstr ""
|
1804 |
|
1805 |
-
#: classes/Views/Settings.php:
|
1806 |
msgid ""
|
1807 |
"The plugin will scan everything that is in the WordPress root directory or "
|
1808 |
"below, even if the files and directories are not part of WordPress. It is "
|
@@ -1811,54 +1865,54 @@ msgid ""
|
|
1811 |
"excluded by default."
|
1812 |
msgstr ""
|
1813 |
|
1814 |
-
#: classes/Views/Settings.php:
|
1815 |
msgid "Exclude All Files in These Directories"
|
1816 |
msgstr ""
|
1817 |
|
1818 |
-
#: classes/Views/Settings.php:
|
1819 |
-
#: classes/Views/Settings.php:
|
1820 |
msgid "REMOVE"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
-
#: classes/Views/Settings.php:
|
1824 |
-
#: classes/Views/Settings.php:
|
1825 |
#: classes/Views/SetupWizard.php:541 classes/Views/SetupWizard.php:626
|
1826 |
#: classes/Views/SetupWizard.php:645 classes/Views/SetupWizard.php:664
|
1827 |
msgid "ADD"
|
1828 |
msgstr ""
|
1829 |
|
1830 |
-
#: classes/Views/Settings.php:
|
1831 |
msgid ""
|
1832 |
"Specify the name of the directory and the path to it in relation to the "
|
1833 |
"website's root. For example, if you want to want to exclude all files in the "
|
1834 |
"sub directory dir1/dir2 specify the following:"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
-
#: classes/Views/Settings.php:
|
1838 |
msgid "Exclude These Files"
|
1839 |
msgstr ""
|
1840 |
|
1841 |
-
#: classes/Views/Settings.php:
|
1842 |
msgid ""
|
1843 |
"Specify the name and extension of the file(s) you want to exclude. Wildcard "
|
1844 |
"not supported. There is no need to specify the path of the file."
|
1845 |
msgstr ""
|
1846 |
|
1847 |
-
#: classes/Views/Settings.php:
|
1848 |
msgid "Exclude these File Types"
|
1849 |
msgstr ""
|
1850 |
|
1851 |
-
#: classes/Views/Settings.php:
|
1852 |
msgid ""
|
1853 |
"Specify the extension of the file types you want to exclude. You should "
|
1854 |
"exclude any type of logs and backup files that tend to be very big."
|
1855 |
msgstr ""
|
1856 |
|
1857 |
-
#: classes/Views/Settings.php:
|
1858 |
msgid "Launch an instant file integrity scan"
|
1859 |
msgstr ""
|
1860 |
|
1861 |
-
#: classes/Views/Settings.php:
|
1862 |
msgid ""
|
1863 |
"Click the Scan Now button to launch an instant file integrity scan using the "
|
1864 |
"configured settings. You can navigate away from this page during the scan. "
|
@@ -1866,25 +1920,25 @@ msgid ""
|
|
1866 |
"scans."
|
1867 |
msgstr ""
|
1868 |
|
1869 |
-
#: classes/Views/Settings.php:
|
1870 |
msgid "Launch Instant Scan"
|
1871 |
msgstr ""
|
1872 |
|
1873 |
-
#: classes/Views/Settings.php:
|
1874 |
-
#: classes/Views/Settings.php:
|
1875 |
msgid "Scan Now"
|
1876 |
msgstr ""
|
1877 |
|
1878 |
-
#: classes/Views/Settings.php:
|
1879 |
-
#: classes/Views/Settings.php:
|
1880 |
msgid "Stop Scan"
|
1881 |
msgstr ""
|
1882 |
|
1883 |
-
#: classes/Views/Settings.php:
|
1884 |
msgid "Scan in Progress"
|
1885 |
msgstr ""
|
1886 |
|
1887 |
-
#: classes/Views/Settings.php:
|
1888 |
msgid ""
|
1889 |
"By default the plugin keeps a log of all user changes done on your WordPress "
|
1890 |
"website. Use the setting below to exclude any objects from the activity log. "
|
@@ -1892,133 +1946,133 @@ msgid ""
|
|
1892 |
"object is referred will not be logged in the activity log."
|
1893 |
msgstr ""
|
1894 |
|
1895 |
-
#: classes/Views/Settings.php:
|
1896 |
msgid "Exclude Users:"
|
1897 |
msgstr ""
|
1898 |
|
1899 |
-
#: classes/Views/Settings.php:
|
1900 |
msgid "Exclude Roles:"
|
1901 |
msgstr ""
|
1902 |
|
1903 |
-
#: classes/Views/Settings.php:
|
1904 |
msgid "Exclude IP Addresses:"
|
1905 |
msgstr ""
|
1906 |
|
1907 |
-
#: classes/Views/Settings.php:
|
1908 |
msgid "Exclude Post Type:"
|
1909 |
msgstr ""
|
1910 |
|
1911 |
-
#: classes/Views/Settings.php:
|
1912 |
msgid ""
|
1913 |
"WordPress has the post and page post types by default though your website "
|
1914 |
"might use more post types (custom post types). You can exclude all post "
|
1915 |
"types, including the default WordPress ones."
|
1916 |
msgstr ""
|
1917 |
|
1918 |
-
#: classes/Views/Settings.php:
|
1919 |
msgid "Exclude Custom Fields:"
|
1920 |
msgstr ""
|
1921 |
|
1922 |
-
#: classes/Views/Settings.php:
|
1923 |
msgid ""
|
1924 |
"You can use the * wildcard to exclude multiple matching custom fields. For "
|
1925 |
"example to exclude all custom fields starting with wp123 enter wp123*"
|
1926 |
msgstr ""
|
1927 |
|
1928 |
-
#: classes/Views/Settings.php:
|
1929 |
msgid "Exclude Non-Existing URLs:"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
-
#: classes/Views/Settings.php:
|
1933 |
msgid ""
|
1934 |
"Add the non existing URLs for which you do not want to be alerted of HTTP "
|
1935 |
"404 errors in the activity log by specifying the complete URL.\tExamples "
|
1936 |
"below:"
|
1937 |
msgstr ""
|
1938 |
|
1939 |
-
#: classes/Views/Settings.php:
|
1940 |
msgid "File: "
|
1941 |
msgstr ""
|
1942 |
|
1943 |
-
#: classes/Views/Settings.php:
|
1944 |
msgid "Directory: "
|
1945 |
msgstr ""
|
1946 |
|
1947 |
-
#: classes/Views/Settings.php:
|
1948 |
msgid "These settings are for advanced users."
|
1949 |
msgstr ""
|
1950 |
|
1951 |
-
#: classes/Views/Settings.php:
|
1952 |
msgid ""
|
1953 |
"If you have any questions <a href=\"https://www.wpsecurityauditlog.com/"
|
1954 |
"contact/\" target=\"_blank\">contact us</a>."
|
1955 |
msgstr ""
|
1956 |
|
1957 |
-
#: classes/Views/Settings.php:
|
1958 |
msgid ""
|
1959 |
"Troubleshooting setting: Keep a debug log of all the requests this website "
|
1960 |
"receives"
|
1961 |
msgstr ""
|
1962 |
|
1963 |
-
#: classes/Views/Settings.php:
|
1964 |
msgid ""
|
1965 |
"Only enable the request log on testing, staging and development website. "
|
1966 |
"Never enable logging on a live website unless instructed to do so. Enabling "
|
1967 |
"request logging on a live website may degrade the performance of the website."
|
1968 |
msgstr ""
|
1969 |
|
1970 |
-
#: classes/Views/Settings.php:
|
1971 |
msgid "Request Log"
|
1972 |
msgstr ""
|
1973 |
|
1974 |
-
#: classes/Views/Settings.php:
|
1975 |
msgid ""
|
1976 |
"<strong>Note:</strong> The requests debug log file is saved as request.log."
|
1977 |
"php in the /wp-content/uploads/wp-security-audit-log/ directory."
|
1978 |
msgstr ""
|
1979 |
|
1980 |
-
#: classes/Views/Settings.php:
|
1981 |
msgid "Reset plugin settings to default"
|
1982 |
msgstr ""
|
1983 |
|
1984 |
-
#: classes/Views/Settings.php:
|
1985 |
msgid ""
|
1986 |
"Click the RESET button to reset ALL plugin settings to default. Note that "
|
1987 |
"the activity log data will be retained and only the plugin settings will be "
|
1988 |
"reset. To purge the data of the activity log use the setting below."
|
1989 |
msgstr ""
|
1990 |
|
1991 |
-
#: classes/Views/Settings.php:
|
1992 |
msgid "Reset Settings"
|
1993 |
msgstr ""
|
1994 |
|
1995 |
-
#: classes/Views/Settings.php:
|
1996 |
msgid "RESET"
|
1997 |
msgstr ""
|
1998 |
|
1999 |
-
#: classes/Views/Settings.php:
|
2000 |
msgid "Purge the WordPress activity log"
|
2001 |
msgstr ""
|
2002 |
|
2003 |
-
#: classes/Views/Settings.php:
|
2004 |
msgid ""
|
2005 |
"Click the Purge button below to delete all the data from the WordPress "
|
2006 |
"activity log and start afresh."
|
2007 |
msgstr ""
|
2008 |
|
2009 |
-
#: classes/Views/Settings.php:
|
2010 |
msgid "Purge Activity Log"
|
2011 |
msgstr ""
|
2012 |
|
2013 |
-
#: classes/Views/Settings.php:
|
2014 |
msgid "PURGE"
|
2015 |
msgstr ""
|
2016 |
|
2017 |
-
#: classes/Views/Settings.php:
|
2018 |
msgid "MainWP Child Site Stealth Mode"
|
2019 |
msgstr ""
|
2020 |
|
2021 |
-
#: classes/Views/Settings.php:
|
2022 |
msgid ""
|
2023 |
"This option is enabled automatically when the plugin detects the MainWP "
|
2024 |
"Child plugin on the site. When this setting is enabled plugin access is "
|
@@ -2027,15 +2081,15 @@ msgid ""
|
|
2027 |
"Disable this option to change the plugin to the default setup."
|
2028 |
msgstr ""
|
2029 |
|
2030 |
-
#: classes/Views/Settings.php:
|
2031 |
msgid "Enable MainWP Child Site Stealth Mode"
|
2032 |
msgstr ""
|
2033 |
|
2034 |
-
#: classes/Views/Settings.php:
|
2035 |
msgid "Do you want to delete the plugin data from the database upon uninstall?"
|
2036 |
msgstr ""
|
2037 |
|
2038 |
-
#: classes/Views/Settings.php:
|
2039 |
msgid ""
|
2040 |
"The plugin saves the activity log data and settings in the WordPress "
|
2041 |
"database. By default upon uninstalling the plugin the data is kept in the "
|
@@ -2044,107 +2098,107 @@ msgid ""
|
|
2044 |
"access it again even when you reinstall the plugin."
|
2045 |
msgstr ""
|
2046 |
|
2047 |
-
#: classes/Views/Settings.php:
|
2048 |
msgid "Remove Data on Uninstall"
|
2049 |
msgstr ""
|
2050 |
|
2051 |
-
#: classes/Views/Settings.php:
|
2052 |
msgid "Are you sure you want to reset all the plugin settings to default?"
|
2053 |
msgstr ""
|
2054 |
|
2055 |
-
#: classes/Views/Settings.php:
|
2056 |
msgid "Are you sure you want to purge all the activity log data?"
|
2057 |
msgstr ""
|
2058 |
|
2059 |
-
#: classes/Views/Settings.php:
|
2060 |
msgid "MainWP Child plugin is not active on this website."
|
2061 |
msgstr ""
|
2062 |
|
2063 |
-
#: classes/Views/Settings.php:
|
2064 |
msgid "The specified value is not a valid URL!"
|
2065 |
msgstr ""
|
2066 |
|
2067 |
-
#: classes/Views/Settings.php:
|
2068 |
msgid "The specified value is not a valid post type!"
|
2069 |
msgstr ""
|
2070 |
|
2071 |
-
#: classes/Views/Settings.php:
|
2072 |
msgid "The specified value is not a valid IP address!"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
-
#: classes/Views/Settings.php:
|
2076 |
msgid "The specified value is not a user nor a role!"
|
2077 |
msgstr ""
|
2078 |
|
2079 |
-
#: classes/Views/Settings.php:
|
2080 |
msgid "Filename cannot be added because it contains invalid characters."
|
2081 |
msgstr ""
|
2082 |
|
2083 |
-
#: classes/Views/Settings.php:
|
2084 |
msgid "File extension cannot be added because it contains invalid characters."
|
2085 |
msgstr ""
|
2086 |
|
2087 |
-
#: classes/Views/Settings.php:
|
2088 |
msgid "Directory cannot be added because it contains invalid characters."
|
2089 |
msgstr ""
|
2090 |
|
2091 |
-
#: classes/Views/Settings.php:
|
2092 |
msgid "Scan Failed"
|
2093 |
msgstr ""
|
2094 |
|
2095 |
-
#: classes/Views/Settings.php:
|
2096 |
msgid "Invalid setting type."
|
2097 |
msgstr ""
|
2098 |
|
2099 |
-
#: classes/Views/Settings.php:
|
2100 |
msgid "You can exclude this directory using the check boxes above."
|
2101 |
msgstr ""
|
2102 |
|
2103 |
-
#: classes/Views/Settings.php:
|
2104 |
msgid "Option added to excluded types."
|
2105 |
msgstr ""
|
2106 |
|
2107 |
-
#: classes/Views/Settings.php:
|
2108 |
msgid "This file is already excluded from the scan."
|
2109 |
msgstr ""
|
2110 |
|
2111 |
-
#: classes/Views/Settings.php:
|
2112 |
msgid "This file extension is already excluded from the scan."
|
2113 |
msgstr ""
|
2114 |
|
2115 |
-
#: classes/Views/Settings.php:
|
2116 |
msgid "This directory is already excluded from the scan."
|
2117 |
msgstr ""
|
2118 |
|
2119 |
-
#: classes/Views/Settings.php:
|
2120 |
msgid "Option name is empty."
|
2121 |
msgstr ""
|
2122 |
|
2123 |
-
#: classes/Views/Settings.php:
|
2124 |
msgid "Option removed from excluded scan types."
|
2125 |
msgstr ""
|
2126 |
|
2127 |
-
#: classes/Views/Settings.php:
|
2128 |
msgid "Something went wrong."
|
2129 |
msgstr ""
|
2130 |
|
2131 |
-
#: classes/Views/Settings.php:
|
2132 |
msgid "A cron job is in progress."
|
2133 |
msgstr ""
|
2134 |
|
2135 |
-
#: classes/Views/Settings.php:
|
2136 |
msgid "Scan started successfully."
|
2137 |
msgstr ""
|
2138 |
|
2139 |
-
#: classes/Views/Settings.php:
|
2140 |
msgid "Tables has been reset."
|
2141 |
msgstr ""
|
2142 |
|
2143 |
-
#: classes/Views/Settings.php:
|
2144 |
msgid "Reset query failed."
|
2145 |
msgstr ""
|
2146 |
|
2147 |
-
#: classes/Views/Settings.php:
|
2148 |
msgid "Nonce Verification Failed."
|
2149 |
msgstr ""
|
2150 |
|
@@ -2381,7 +2435,7 @@ msgid ""
|
|
2381 |
"on all the events the plugin can keep a log of."
|
2382 |
msgstr ""
|
2383 |
|
2384 |
-
#: classes/Views/ToggleAlerts.php:209 defaults.php:
|
2385 |
msgid "Third Party Plugins"
|
2386 |
msgstr ""
|
2387 |
|
@@ -2390,38 +2444,38 @@ msgid "Visitor Events"
|
|
2390 |
msgstr ""
|
2391 |
|
2392 |
#: classes/Views/ToggleAlerts.php:229 classes/Views/ToggleAlerts.php:261
|
2393 |
-
#: defaults.php:
|
2394 |
msgid "Custom Post Types"
|
2395 |
msgstr ""
|
2396 |
|
2397 |
#: classes/Views/ToggleAlerts.php:229 classes/Views/ToggleAlerts.php:261
|
2398 |
-
#: defaults.php:
|
2399 |
msgid "Pages"
|
2400 |
msgstr ""
|
2401 |
|
2402 |
#: classes/Views/ToggleAlerts.php:264 classes/Views/ToggleAlerts.php:271
|
2403 |
-
#: classes/Views/ToggleAlerts.php:329 defaults.php:
|
2404 |
msgid "BBPress Forum"
|
2405 |
msgstr ""
|
2406 |
|
2407 |
#: classes/Views/ToggleAlerts.php:265 classes/Views/ToggleAlerts.php:278
|
2408 |
-
#: classes/Views/ToggleAlerts.php:342 defaults.php:
|
2409 |
msgid "WooCommerce"
|
2410 |
msgstr ""
|
2411 |
|
2412 |
#: classes/Views/ToggleAlerts.php:266 classes/Views/ToggleAlerts.php:285
|
2413 |
#: classes/Views/ToggleAlerts.php:342 classes/Views/ToggleAlerts.php:350
|
2414 |
-
#: defaults.php:
|
2415 |
msgid "WooCommerce Products"
|
2416 |
msgstr ""
|
2417 |
|
2418 |
#: classes/Views/ToggleAlerts.php:267 classes/Views/ToggleAlerts.php:292
|
2419 |
-
#: classes/Views/ToggleAlerts.php:357 defaults.php:
|
2420 |
msgid "Yoast SEO"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
#: classes/Views/ToggleAlerts.php:268 classes/Views/ToggleAlerts.php:301
|
2424 |
-
#: classes/Views/ToggleAlerts.php:370 defaults.php:
|
2425 |
msgid "MultiSite"
|
2426 |
msgstr ""
|
2427 |
|
@@ -2433,12 +2487,12 @@ msgstr ""
|
|
2433 |
msgid "Description"
|
2434 |
msgstr ""
|
2435 |
|
2436 |
-
#: classes/Views/ToggleAlerts.php:322 classes/Views/ToggleAlerts.php:
|
2437 |
-
#: classes/Views/ToggleAlerts.php:
|
2438 |
msgid "File Changes"
|
2439 |
msgstr ""
|
2440 |
|
2441 |
-
#: classes/Views/ToggleAlerts.php:323 defaults.php:
|
2442 |
msgid "Content"
|
2443 |
msgstr ""
|
2444 |
|
@@ -2483,11 +2537,11 @@ msgid ""
|
|
2483 |
"Your website is a single site so the multisite events have been disabled."
|
2484 |
msgstr ""
|
2485 |
|
2486 |
-
#: classes/Views/ToggleAlerts.php:380 defaults.php:
|
2487 |
msgid "User Profiles"
|
2488 |
msgstr ""
|
2489 |
|
2490 |
-
#: classes/Views/ToggleAlerts.php:383 defaults.php:
|
2491 |
msgid "Other User Activity"
|
2492 |
msgstr ""
|
2493 |
|
@@ -2519,7 +2573,7 @@ msgstr ""
|
|
2519 |
msgid "Tags"
|
2520 |
msgstr ""
|
2521 |
|
2522 |
-
#: classes/Views/ToggleAlerts.php:426 classes/Views/ToggleAlerts.php:
|
2523 |
msgid "Categories"
|
2524 |
msgstr ""
|
2525 |
|
@@ -2535,64 +2589,68 @@ msgstr ""
|
|
2535 |
msgid "Topics"
|
2536 |
msgstr ""
|
2537 |
|
2538 |
-
#: classes/Views/ToggleAlerts.php:436
|
2539 |
-
msgid "
|
2540 |
msgstr ""
|
2541 |
|
2542 |
#: classes/Views/ToggleAlerts.php:438
|
2543 |
-
msgid "Product
|
2544 |
msgstr ""
|
2545 |
|
2546 |
#: classes/Views/ToggleAlerts.php:440
|
|
|
|
|
|
|
|
|
2547 |
msgid "Store Admin"
|
2548 |
msgstr ""
|
2549 |
|
2550 |
-
#: classes/Views/ToggleAlerts.php:
|
2551 |
msgid "Attributes"
|
2552 |
msgstr ""
|
2553 |
|
2554 |
-
#: classes/Views/ToggleAlerts.php:
|
2555 |
msgid "Coupons"
|
2556 |
msgstr ""
|
2557 |
|
2558 |
-
#: classes/Views/ToggleAlerts.php:
|
2559 |
msgid "Orders"
|
2560 |
msgstr ""
|
2561 |
|
2562 |
-
#: classes/Views/ToggleAlerts.php:
|
2563 |
msgid "Website Changes"
|
2564 |
msgstr ""
|
2565 |
|
2566 |
-
#: classes/Views/ToggleAlerts.php:
|
2567 |
msgid "Plugin Settings"
|
2568 |
msgstr ""
|
2569 |
|
2570 |
-
#: classes/Views/ToggleAlerts.php:
|
2571 |
msgid "File Changes Scanning"
|
2572 |
msgstr ""
|
2573 |
|
2574 |
-
#: classes/Views/ToggleAlerts.php:
|
2575 |
msgid ""
|
2576 |
"Capture 404 requests to file (the log file are created in the /wp-content/"
|
2577 |
"uploads/wp-security-audit-log/404s/ directory)"
|
2578 |
msgstr ""
|
2579 |
|
2580 |
-
#: classes/Views/ToggleAlerts.php:
|
2581 |
msgid "Purge log files older than one month"
|
2582 |
msgstr ""
|
2583 |
|
2584 |
-
#: classes/Views/ToggleAlerts.php:
|
2585 |
msgid ""
|
2586 |
"Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
|
2587 |
"to non-existing pages from the same IP address. Increase the value in this "
|
2588 |
"setting to the desired amount to keep a log of more or less requests."
|
2589 |
msgstr ""
|
2590 |
|
2591 |
-
#: classes/Views/ToggleAlerts.php:
|
2592 |
msgid "Record the referrer that generated the 404 error."
|
2593 |
msgstr ""
|
2594 |
|
2595 |
-
#: classes/Views/ToggleAlerts.php:
|
2596 |
msgid ""
|
2597 |
"Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
|
2598 |
"to non-existing pages from the same IP address. Increase the value in this "
|
@@ -2601,14 +2659,14 @@ msgid ""
|
|
2601 |
"scanned the plugin will consume more resources to log all the requests."
|
2602 |
msgstr ""
|
2603 |
|
2604 |
-
#: classes/Views/ToggleAlerts.php:
|
2605 |
msgid ""
|
2606 |
"Number of login attempts to log. Enter 0 to log all failed login attempts. "
|
2607 |
"(By default the plugin only logs up to 10 failed login because the process "
|
2608 |
"can be very resource intensive in case of a brute force attack)"
|
2609 |
msgstr ""
|
2610 |
|
2611 |
-
#: classes/Views/ToggleAlerts.php:
|
2612 |
msgid ""
|
2613 |
"Log all stock changes. Disable this setting to only keep a log of stock "
|
2614 |
"changes done manually via the WooCommerce dashboard. Therefore automated "
|
@@ -2616,67 +2674,75 @@ msgid ""
|
|
2616 |
"plugins will not be logged."
|
2617 |
msgstr ""
|
2618 |
|
2619 |
-
#: classes/Views/ToggleAlerts.php:
|
2620 |
msgid "Configure the file integrity scan settings."
|
2621 |
msgstr ""
|
2622 |
|
2623 |
-
#: classes/Views/ToggleAlerts.php:
|
2624 |
msgid ""
|
2625 |
"The plugin also keeps a log of some events that website visitors (non-logged "
|
2626 |
"in users) do because it is typically required by site admins. You can "
|
2627 |
"disable these events from here:"
|
2628 |
msgstr ""
|
2629 |
|
2630 |
-
#: classes/Views/ToggleAlerts.php:
|
2631 |
msgid "Enable website visitors events"
|
2632 |
msgstr ""
|
2633 |
|
2634 |
-
#: classes/Views/ToggleAlerts.php:
|
2635 |
msgid "Enable"
|
2636 |
msgstr ""
|
2637 |
|
2638 |
-
#: classes/Views/ToggleAlerts.php:
|
2639 |
msgid ""
|
2640 |
"Below is the list of the events which are disabled when the above option is "
|
2641 |
"disabled:"
|
2642 |
msgstr ""
|
2643 |
|
2644 |
-
#: classes/Views/ToggleAlerts.php:
|
2645 |
msgid "Save Changes"
|
2646 |
msgstr ""
|
2647 |
|
2648 |
-
#: classes/Views/ToggleAlerts.php:
|
2649 |
msgid "Log Level Updated"
|
2650 |
msgstr ""
|
2651 |
|
2652 |
#. translators: Alerts log level.
|
2653 |
-
#: classes/Views/ToggleAlerts.php:
|
2654 |
#, php-format
|
2655 |
msgid "The %s log level has been successfully loaded and applied."
|
2656 |
msgstr ""
|
2657 |
|
2658 |
-
#: classes/Views/ToggleAlerts.php:
|
2659 |
msgid "OK"
|
2660 |
msgstr ""
|
2661 |
|
2662 |
-
#: classes/Views/ToggleAlerts.php:
|
2663 |
msgid "Enable File Integrity Scanner"
|
2664 |
msgstr ""
|
2665 |
|
2666 |
-
#: classes/Views/ToggleAlerts.php:
|
2667 |
msgid ""
|
2668 |
"The file integrity scanner is switched off. To enable this event it has to "
|
2669 |
"be switched on."
|
2670 |
msgstr ""
|
2671 |
|
2672 |
-
#: classes/Views/ToggleAlerts.php:
|
2673 |
msgid "SWITCH ON"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
-
#: classes/Views/ToggleAlerts.php:
|
2677 |
msgid "DISABLE EVENT"
|
2678 |
msgstr ""
|
2679 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2680 |
#: classes/WidgetManager.php:55
|
2681 |
msgid "Latest Events"
|
2682 |
msgstr ""
|
@@ -2753,3357 +2819,3385 @@ msgstr ""
|
|
2753 |
msgid "Debug informational messages."
|
2754 |
msgstr ""
|
2755 |
|
2756 |
-
#: defaults.php:
|
2757 |
msgid "Users Profiles & Activity"
|
2758 |
msgstr ""
|
2759 |
|
2760 |
-
#: defaults.php:
|
2761 |
msgid "User logged in"
|
2762 |
msgstr ""
|
2763 |
|
2764 |
-
#: defaults.php:
|
2765 |
msgid "Successfully logged in."
|
2766 |
msgstr ""
|
2767 |
|
2768 |
-
#: defaults.php:
|
2769 |
msgid "User logged out"
|
2770 |
msgstr ""
|
2771 |
|
2772 |
-
#: defaults.php:
|
2773 |
msgid "Successfully logged out."
|
2774 |
msgstr ""
|
2775 |
|
2776 |
-
#: defaults.php:
|
2777 |
msgid "Login failed"
|
2778 |
msgstr ""
|
2779 |
|
2780 |
-
#: defaults.php:
|
2781 |
msgid "%Attempts% failed login(s) detected."
|
2782 |
msgstr ""
|
2783 |
|
2784 |
-
#: defaults.php:
|
2785 |
msgid "Login failed / non existing user"
|
2786 |
msgstr ""
|
2787 |
|
2788 |
-
#: defaults.php:
|
2789 |
msgid ""
|
2790 |
"%Attempts% failed login(s) detected using non existing user. %LogFileText%"
|
2791 |
msgstr ""
|
2792 |
|
2793 |
-
#: defaults.php:
|
2794 |
msgid "Login blocked"
|
2795 |
msgstr ""
|
2796 |
|
2797 |
-
#: defaults.php:
|
2798 |
msgid ""
|
2799 |
"Blocked from logging in because the same WordPress user is logged in from "
|
2800 |
"%ClientIP%."
|
2801 |
msgstr ""
|
2802 |
|
2803 |
-
#: defaults.php:
|
2804 |
msgid "User logged in with existing session(s)"
|
2805 |
msgstr ""
|
2806 |
|
2807 |
-
#: defaults.php:
|
2808 |
msgid ""
|
2809 |
"Successfully logged in. Another session from %IPAddress% for this user "
|
2810 |
"already exist."
|
2811 |
msgstr ""
|
2812 |
|
2813 |
-
#: defaults.php:
|
2814 |
msgid "User logged out all other sessions with the same username"
|
2815 |
msgstr ""
|
2816 |
|
2817 |
-
#: defaults.php:
|
2818 |
msgid "Logged out all other sessions with the same username."
|
2819 |
msgstr ""
|
2820 |
|
2821 |
-
#: defaults.php:
|
2822 |
msgid "User session destroyed and logged out"
|
2823 |
msgstr ""
|
2824 |
|
2825 |
-
#: defaults.php:
|
2826 |
msgid "Logged out session %TargetSessionID% which belonged to %TargetUserName%"
|
2827 |
msgstr ""
|
2828 |
|
2829 |
-
#: defaults.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2830 |
msgid "User uploaded file from Uploads directory"
|
2831 |
msgstr ""
|
2832 |
|
2833 |
-
#: defaults.php:
|
2834 |
msgid "Uploaded the file %FileName% in %FilePath%."
|
2835 |
msgstr ""
|
2836 |
|
2837 |
-
#: defaults.php:
|
2838 |
msgid "User deleted file from Uploads directory"
|
2839 |
msgstr ""
|
2840 |
|
2841 |
-
#: defaults.php:
|
2842 |
msgid "Deleted the file %FileName% from %FilePath%."
|
2843 |
msgstr ""
|
2844 |
|
2845 |
-
#: defaults.php:
|
2846 |
msgid "User requests non-existing pages (404 Error Pages)"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
-
#: defaults.php:
|
2850 |
msgid ""
|
2851 |
"Has requested a non existing page (404 Error Pages) %Attempts% %Msg%. "
|
2852 |
"%LinkFile%%URL%"
|
2853 |
msgstr ""
|
2854 |
|
2855 |
-
#: defaults.php:
|
2856 |
msgid "Website Visitor User requests non-existing pages (404 Error Pages)"
|
2857 |
msgstr ""
|
2858 |
|
2859 |
-
#: defaults.php:
|
2860 |
msgid ""
|
2861 |
"Website Visitor Has requested a non existing page (404 Error Pages) %Attempts"
|
2862 |
"% %Msg%. %LinkFile%%URL%"
|
2863 |
msgstr ""
|
2864 |
|
2865 |
-
#: defaults.php:
|
2866 |
msgid "New user was created on WordPress"
|
2867 |
msgstr ""
|
2868 |
|
2869 |
-
#: defaults.php:
|
2870 |
msgid ""
|
2871 |
"A new user %NewUserData->Username% was created with role of %NewUserData-"
|
2872 |
">Roles%."
|
2873 |
msgstr ""
|
2874 |
|
2875 |
-
#: defaults.php:
|
2876 |
msgid "User created another WordPress user"
|
2877 |
msgstr ""
|
2878 |
|
2879 |
-
#: defaults.php:
|
2880 |
msgid ""
|
2881 |
"%UserChanger% created a new user %NewUserData->Username% with the role of "
|
2882 |
"%NewUserData->Roles%."
|
2883 |
msgstr ""
|
2884 |
|
2885 |
-
#: defaults.php:
|
2886 |
msgid "The role of a user was changed by another WordPress user"
|
2887 |
msgstr ""
|
2888 |
|
2889 |
-
#: defaults.php:
|
2890 |
msgid ""
|
2891 |
"Changed the role of the user %TargetUsername% from %OldRole% to %NewRole%"
|
2892 |
"%multisite_text%."
|
2893 |
msgstr ""
|
2894 |
|
2895 |
-
#: defaults.php:
|
2896 |
msgid "User has changed his or her password"
|
2897 |
msgstr ""
|
2898 |
|
2899 |
-
#: defaults.php:
|
2900 |
msgid "Changed the password."
|
2901 |
msgstr ""
|
2902 |
|
2903 |
-
#: defaults.php:
|
2904 |
msgid "User changed another user's password"
|
2905 |
msgstr ""
|
2906 |
|
2907 |
-
#: defaults.php:
|
2908 |
msgid ""
|
2909 |
"Changed the password for the user %TargetUserData->Username% with the role "
|
2910 |
"of %TargetUserData->Roles%."
|
2911 |
msgstr ""
|
2912 |
|
2913 |
-
#: defaults.php:
|
2914 |
msgid "User changed his or her email address"
|
2915 |
msgstr ""
|
2916 |
|
2917 |
-
#: defaults.php:
|
2918 |
msgid "Changed the email address from %OldEmail% to %NewEmail%."
|
2919 |
msgstr ""
|
2920 |
|
2921 |
-
#: defaults.php:
|
2922 |
msgid "User changed another user's email address"
|
2923 |
msgstr ""
|
2924 |
|
2925 |
-
#: defaults.php:
|
2926 |
msgid ""
|
2927 |
"Changed the email address of the user %TargetUsername% from %OldEmail% to "
|
2928 |
"%NewEmail%."
|
2929 |
msgstr ""
|
2930 |
|
2931 |
-
#: defaults.php:
|
2932 |
msgid "User was deleted by another user"
|
2933 |
msgstr ""
|
2934 |
|
2935 |
-
#: defaults.php:
|
2936 |
msgid ""
|
2937 |
"Deleted the user %TargetUserData->Username% with the role of %TargetUserData-"
|
2938 |
">Roles%."
|
2939 |
msgstr ""
|
2940 |
|
2941 |
-
#: defaults.php:
|
2942 |
msgid "User opened the profile page of another user"
|
2943 |
msgstr ""
|
2944 |
|
2945 |
-
#: defaults.php:
|
2946 |
msgid "%UserChanger% opened the profile page of the user %TargetUsername%."
|
2947 |
msgstr ""
|
2948 |
|
2949 |
-
#: defaults.php:
|
2950 |
msgid "User updated a custom field value for a user"
|
2951 |
msgstr ""
|
2952 |
|
2953 |
-
#: defaults.php:
|
2954 |
msgid ""
|
2955 |
"Changed the value of the custom field %custom_field_name%%ReportText% for "
|
2956 |
"the user %TargetUsername%.%ChangeText%"
|
2957 |
msgstr ""
|
2958 |
|
2959 |
-
#: defaults.php:
|
2960 |
msgid "User created a custom field value for a user"
|
2961 |
msgstr ""
|
2962 |
|
2963 |
-
#: defaults.php:
|
2964 |
msgid ""
|
2965 |
"Created the value of the custom field %custom_field_name% with %new_value% "
|
2966 |
"for the user %TargetUsername%."
|
2967 |
msgstr ""
|
2968 |
|
2969 |
-
#: defaults.php:
|
2970 |
msgid "User changed first name for a user"
|
2971 |
msgstr ""
|
2972 |
|
2973 |
-
#: defaults.php:
|
2974 |
msgid ""
|
2975 |
"Changed the first name of the user %TargetUsername% from %old_firstname% to "
|
2976 |
"%new_firstname%"
|
2977 |
msgstr ""
|
2978 |
|
2979 |
-
#: defaults.php:
|
2980 |
msgid "User changed last name for a user"
|
2981 |
msgstr ""
|
2982 |
|
2983 |
-
#: defaults.php:
|
2984 |
msgid ""
|
2985 |
"Changed the last name of the user %TargetUsername% from %old_lastname% to "
|
2986 |
"%new_lastname%"
|
2987 |
msgstr ""
|
2988 |
|
2989 |
-
#: defaults.php:
|
2990 |
msgid "User changed nickname for a user"
|
2991 |
msgstr ""
|
2992 |
|
2993 |
-
#: defaults.php:
|
2994 |
msgid ""
|
2995 |
"Changed the nickname of the user %TargetUsername% from %old_nickname% to "
|
2996 |
"%new_nickname%"
|
2997 |
msgstr ""
|
2998 |
|
2999 |
-
#: defaults.php:
|
3000 |
msgid "User changed the display name for a user"
|
3001 |
msgstr ""
|
3002 |
|
3003 |
-
#: defaults.php:
|
3004 |
msgid ""
|
3005 |
"Changed the Display name publicly of user %TargetUsername% from "
|
3006 |
"%old_displayname% to %new_displayname%"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
-
#: defaults.php:
|
3010 |
msgid "Content & Comments"
|
3011 |
msgstr ""
|
3012 |
|
3013 |
-
#: defaults.php:
|
3014 |
msgid "User created a new post and saved it as draft"
|
3015 |
msgstr ""
|
3016 |
|
3017 |
-
#: defaults.php:
|
3018 |
msgid ""
|
3019 |
"Created a new %PostType% titled %PostTitle% and saved it as draft. "
|
3020 |
"%EditorLinkPost%."
|
3021 |
msgstr ""
|
3022 |
|
3023 |
-
#: defaults.php:
|
3024 |
msgid "User published a post"
|
3025 |
msgstr ""
|
3026 |
|
3027 |
-
#: defaults.php:
|
3028 |
msgid ""
|
3029 |
"Published a %PostType% titled %PostTitle%. URL is %PostUrl%. %EditorLinkPost"
|
3030 |
"%."
|
3031 |
msgstr ""
|
3032 |
|
3033 |
-
#: defaults.php:
|
3034 |
msgid "User modified a post"
|
3035 |
msgstr ""
|
3036 |
|
3037 |
-
#: defaults.php:
|
3038 |
msgid ""
|
3039 |
"Modified the %PostStatus% %PostType% titled %PostTitle%. URL is: %PostUrl%. "
|
3040 |
"%EditorLinkPost%."
|
3041 |
msgstr ""
|
3042 |
|
3043 |
-
#: defaults.php:
|
3044 |
msgid "User permanently deleted a post from the trash"
|
3045 |
msgstr ""
|
3046 |
|
3047 |
-
#: defaults.php:
|
3048 |
msgid ""
|
3049 |
"Permanently deleted the %PostType% titled %PostTitle%. URL was %PostUrl%."
|
3050 |
msgstr ""
|
3051 |
|
3052 |
-
#: defaults.php:
|
3053 |
msgid "User moved a post to the trash"
|
3054 |
msgstr ""
|
3055 |
|
3056 |
-
#: defaults.php:
|
3057 |
msgid ""
|
3058 |
"Moved the %PostStatus% %PostType% titled %PostTitle% to trash. URL is "
|
3059 |
"%PostUrl%."
|
3060 |
msgstr ""
|
3061 |
|
3062 |
-
#: defaults.php:
|
3063 |
msgid "User restored a post from trash"
|
3064 |
msgstr ""
|
3065 |
|
3066 |
-
#: defaults.php:
|
3067 |
msgid ""
|
3068 |
"The %PostStatus% %PostType% titled %PostTitle% has been restored from trash. "
|
3069 |
"URL is: %PostUrl%. %EditorLinkPost%."
|
3070 |
msgstr ""
|
3071 |
|
3072 |
-
#: defaults.php:
|
3073 |
msgid "User changed post URL"
|
3074 |
msgstr ""
|
3075 |
|
3076 |
-
#: defaults.php:
|
3077 |
msgid ""
|
3078 |
"Changed the URL of the %PostStatus% %PostType% titled %PostTitle%%ReportText"
|
3079 |
"%.%ChangeText% %EditorLinkPost%."
|
3080 |
msgstr ""
|
3081 |
|
3082 |
-
#: defaults.php:
|
3083 |
msgid "User changed post author"
|
3084 |
msgstr ""
|
3085 |
|
3086 |
-
#: defaults.php:
|
3087 |
msgid ""
|
3088 |
"Changed the author of the %PostStatus% %PostType% titled %PostTitle% from "
|
3089 |
"%OldAuthor% to %NewAuthor%. URL is: %PostUrl%. %EditorLinkPost%."
|
3090 |
msgstr ""
|
3091 |
|
3092 |
-
#: defaults.php:
|
3093 |
msgid "User changed post status"
|
3094 |
msgstr ""
|
3095 |
|
3096 |
-
#: defaults.php:
|
3097 |
msgid ""
|
3098 |
"Changed the status of the %PostType% titled %PostTitle% from %OldStatus% to "
|
3099 |
"%NewStatus%. URL is: %PostUrl%. %EditorLinkPost%."
|
3100 |
msgstr ""
|
3101 |
|
3102 |
-
#: defaults.php:
|
3103 |
msgid "User changed the visibility of a post"
|
3104 |
msgstr ""
|
3105 |
|
3106 |
-
#: defaults.php:
|
3107 |
msgid ""
|
3108 |
"Changed the visibility of the %PostStatus% %PostType% titled %PostTitle% "
|
3109 |
"from %OldVisibility% to %NewVisibility%. URL is: %PostUrl%. %EditorLinkPost%."
|
3110 |
msgstr ""
|
3111 |
|
3112 |
-
#: defaults.php:
|
3113 |
msgid "User changed the date of a post"
|
3114 |
msgstr ""
|
3115 |
|
3116 |
-
#: defaults.php:
|
3117 |
msgid ""
|
3118 |
"Changed the date of the %PostStatus% %PostType% titled %PostTitle% from "
|
3119 |
"%OldDate% to %NewDate%. URL is: %PostUrl%. %EditorLinkPost%."
|
3120 |
msgstr ""
|
3121 |
|
3122 |
-
#: defaults.php:
|
3123 |
msgid "User changed the parent of a page"
|
3124 |
msgstr ""
|
3125 |
|
3126 |
-
#: defaults.php:
|
3127 |
msgid ""
|
3128 |
"Changed the parent of the %PostStatus% %PostType% titled %PostTitle% from "
|
3129 |
"%OldParentName% to %NewParentName%. %EditorLinkPost%."
|
3130 |
msgstr ""
|
3131 |
|
3132 |
-
#: defaults.php:
|
3133 |
msgid "User changed the template of a page"
|
3134 |
msgstr ""
|
3135 |
|
3136 |
-
#: defaults.php:
|
3137 |
msgid ""
|
3138 |
"Changed the template of the %PostStatus% %PostType% titled %PostTitle% from "
|
3139 |
"%OldTemplate% to %NewTemplate%. %EditorLinkPost%."
|
3140 |
msgstr ""
|
3141 |
|
3142 |
-
#: defaults.php:
|
3143 |
msgid "User set a post as sticky"
|
3144 |
msgstr ""
|
3145 |
|
3146 |
-
#: defaults.php:
|
3147 |
msgid ""
|
3148 |
"Set the post %PostTitle% as Sticky. Post URL is %PostUrl%. %EditorLinkPost%."
|
3149 |
msgstr ""
|
3150 |
|
3151 |
-
#: defaults.php:
|
3152 |
msgid "User removed post from sticky"
|
3153 |
msgstr ""
|
3154 |
|
3155 |
-
#: defaults.php:
|
3156 |
msgid "Removed the post %PostTitle% from Sticky. %EditorLinkPost%."
|
3157 |
msgstr ""
|
3158 |
|
3159 |
-
#: defaults.php:
|
3160 |
msgid "User modified the content of a post"
|
3161 |
msgstr ""
|
3162 |
|
3163 |
-
#: defaults.php:
|
3164 |
msgid ""
|
3165 |
"Modified the content of the %PostStatus% %PostType% titled %PostTitle%. Post "
|
3166 |
"URL is %PostUrl%. %RevisionLink% %EditorLinkPost%."
|
3167 |
msgstr ""
|
3168 |
|
3169 |
-
#: defaults.php:
|
3170 |
msgid "User submitted a post for review"
|
3171 |
msgstr ""
|
3172 |
|
3173 |
-
#: defaults.php:
|
3174 |
msgid ""
|
3175 |
"Submitted the %PostType% titled %PostTitle% for review. URL is: %PostUrl%. "
|
3176 |
"%EditorLinkPost%."
|
3177 |
msgstr ""
|
3178 |
|
3179 |
-
#: defaults.php:
|
3180 |
msgid "User scheduled a post"
|
3181 |
msgstr ""
|
3182 |
|
3183 |
-
#: defaults.php:
|
3184 |
msgid ""
|
3185 |
"Scheduled the %PostType% titled %PostTitle% to be published on "
|
3186 |
"%PublishingDate%. URL is: %PostUrl%. %EditorLinkPost%."
|
3187 |
msgstr ""
|
3188 |
|
3189 |
-
#: defaults.php:
|
3190 |
msgid "User changed title of a post"
|
3191 |
msgstr ""
|
3192 |
|
3193 |
-
#: defaults.php:
|
3194 |
msgid ""
|
3195 |
"Changed the title of the %PostStatus% %PostType% from %OldTitle% to %NewTitle"
|
3196 |
"%. URL is: %PostUrl%. %EditorLinkPost%."
|
3197 |
msgstr ""
|
3198 |
|
3199 |
-
#: defaults.php:
|
3200 |
msgid "User opened a post in the editor"
|
3201 |
msgstr ""
|
3202 |
|
3203 |
-
#: defaults.php:
|
3204 |
msgid ""
|
3205 |
"Opened the %PostStatus% %PostType% titled %PostTitle% in the editor. URL is: "
|
3206 |
"%PostUrl%. %EditorLinkPost%."
|
3207 |
msgstr ""
|
3208 |
|
3209 |
-
#: defaults.php:
|
3210 |
msgid "User viewed a post"
|
3211 |
msgstr ""
|
3212 |
|
3213 |
-
#: defaults.php:
|
3214 |
msgid ""
|
3215 |
"Viewed the %PostStatus% %PostType% titled %PostTitle%. URL is: %PostUrl%. "
|
3216 |
"%EditorLinkPost%."
|
3217 |
msgstr ""
|
3218 |
|
3219 |
-
#: defaults.php:
|
3220 |
msgid "A plugin modified a post"
|
3221 |
msgstr ""
|
3222 |
|
3223 |
-
#: defaults.php:
|
3224 |
msgid ""
|
3225 |
"Plugin modified the %PostStatus% %PostType% titled %PostTitle% of type "
|
3226 |
"%PostType%. URL is: %PostUrl%. %EditorLinkPost%."
|
3227 |
msgstr ""
|
3228 |
|
3229 |
-
#: defaults.php:
|
3230 |
msgid "User disabled Comments/Trackbacks and Pingbacks in a post"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
-
#: defaults.php:
|
3234 |
msgid ""
|
3235 |
"Disabled %Type% on the %PostStatus% %PostType% titled %PostTitle%. URL is: "
|
3236 |
"%PostUrl%. %EditorLinkPost%."
|
3237 |
msgstr ""
|
3238 |
|
3239 |
-
#: defaults.php:
|
3240 |
msgid "User enabled Comments/Trackbacks and Pingbacks in a post"
|
3241 |
msgstr ""
|
3242 |
|
3243 |
-
#: defaults.php:
|
3244 |
msgid ""
|
3245 |
"Enabled %Type% on the %PostStatus% %PostType% titled %PostTitle%. URL is: "
|
3246 |
"%PostUrl%. %EditorLinkPost%."
|
3247 |
msgstr ""
|
3248 |
|
3249 |
-
#: defaults.php:
|
3250 |
msgid "User added post tag"
|
3251 |
msgstr ""
|
3252 |
|
3253 |
-
#: defaults.php:
|
3254 |
msgid ""
|
3255 |
"Added the tag %tag% to the %PostStatus% post titled %PostTitle%. URL is: "
|
3256 |
"%PostUrl%. %EditorLinkPost%."
|
3257 |
msgstr ""
|
3258 |
|
3259 |
-
#: defaults.php:
|
3260 |
msgid "User removed post tag"
|
3261 |
msgstr ""
|
3262 |
|
3263 |
-
#: defaults.php:
|
3264 |
msgid ""
|
3265 |
"Removed the tag %tag% from the %PostStatus% post titled %PostTitle%. URL is: "
|
3266 |
"%PostUrl%. %EditorLinkPost%."
|
3267 |
msgstr ""
|
3268 |
|
3269 |
-
#: defaults.php:
|
3270 |
msgid "User created new tag"
|
3271 |
msgstr ""
|
3272 |
|
3273 |
-
#: defaults.php:
|
3274 |
msgid "Added a new tag called %TagName%. View the tag: %TagLink%."
|
3275 |
msgstr ""
|
3276 |
|
3277 |
-
#: defaults.php:
|
3278 |
msgid "User deleted tag"
|
3279 |
msgstr ""
|
3280 |
|
3281 |
-
#: defaults.php:
|
3282 |
msgid "Deleted the tag %TagName%."
|
3283 |
msgstr ""
|
3284 |
|
3285 |
-
#: defaults.php:
|
3286 |
msgid "User renamed tag"
|
3287 |
msgstr ""
|
3288 |
|
3289 |
-
#: defaults.php:
|
3290 |
msgid "Renamed a tag from %old_name% to %new_name%. View the tag: %TagLink%."
|
3291 |
msgstr ""
|
3292 |
|
3293 |
-
#: defaults.php:
|
3294 |
msgid "User changed tag slug"
|
3295 |
msgstr ""
|
3296 |
|
3297 |
-
#: defaults.php:
|
3298 |
msgid ""
|
3299 |
"Changed the slug of tag %tag% from %old_slug% to %new_slug%. View the tag: "
|
3300 |
"%TagLink%."
|
3301 |
msgstr ""
|
3302 |
|
3303 |
-
#: defaults.php:
|
3304 |
msgid "User changed tag description"
|
3305 |
msgstr ""
|
3306 |
|
3307 |
-
#: defaults.php:
|
3308 |
msgid ""
|
3309 |
"Changed the description of the tag %tag%%ReportText%.%ChangeText% View the "
|
3310 |
"tag: %TagLink%."
|
3311 |
msgstr ""
|
3312 |
|
3313 |
-
#: defaults.php:
|
3314 |
msgid "User changed post category"
|
3315 |
msgstr ""
|
3316 |
|
3317 |
-
#: defaults.php:
|
3318 |
msgid ""
|
3319 |
"Changed the category of the %PostStatus% %PostType% titled %PostTitle% from "
|
3320 |
"%OldCategories% to %NewCategories%. URL is: %PostUrl%. %EditorLinkPost%."
|
3321 |
msgstr ""
|
3322 |
|
3323 |
-
#: defaults.php:
|
3324 |
msgid "User created new category"
|
3325 |
msgstr ""
|
3326 |
|
3327 |
-
#: defaults.php:
|
3328 |
msgid ""
|
3329 |
"Created a new category called %CategoryName%. Category slug is %Slug%. "
|
3330 |
"%CategoryLink%."
|
3331 |
msgstr ""
|
3332 |
|
3333 |
-
#: defaults.php:
|
3334 |
msgid "User deleted category"
|
3335 |
msgstr ""
|
3336 |
|
3337 |
-
#: defaults.php:
|
3338 |
msgid ""
|
3339 |
"Deleted the %CategoryName% category. Category slug was %Slug%. %CategoryLink"
|
3340 |
"%."
|
3341 |
msgstr ""
|
3342 |
|
3343 |
-
#: defaults.php:
|
3344 |
msgid "Changed the parent of a category"
|
3345 |
msgstr ""
|
3346 |
|
3347 |
-
#: defaults.php:
|
3348 |
msgid ""
|
3349 |
"Changed the parent of the category %CategoryName% from %OldParent% to "
|
3350 |
"%NewParent%. %CategoryLink%."
|
3351 |
msgstr ""
|
3352 |
|
3353 |
-
#: defaults.php:
|
3354 |
msgid "User changed category name"
|
3355 |
msgstr ""
|
3356 |
|
3357 |
-
#: defaults.php:
|
3358 |
msgid "Changed the name of the category %old_name% to %new_name%."
|
3359 |
msgstr ""
|
3360 |
|
3361 |
-
#: defaults.php:
|
3362 |
msgid "User changed category slug"
|
3363 |
msgstr ""
|
3364 |
|
3365 |
-
#: defaults.php:
|
3366 |
msgid ""
|
3367 |
"Changed the slug of the category %CategoryName% from %old_slug% to %new_slug"
|
3368 |
"%."
|
3369 |
msgstr ""
|
3370 |
|
3371 |
-
#: defaults.php:
|
3372 |
msgid "User created a custom field for a post"
|
3373 |
msgstr ""
|
3374 |
|
3375 |
-
#: defaults.php:
|
3376 |
msgid ""
|
3377 |
"Created a new custom field called %MetaKey% with value %MetaValue% in the "
|
3378 |
"%PostStatus% %PostType% titled %PostTitle%. URL is: %PostUrl%. "
|
3379 |
"%EditorLinkPost%.<br>%MetaLink%."
|
3380 |
msgstr ""
|
3381 |
|
3382 |
-
#: defaults.php:
|
3383 |
msgid "User updated a custom field value for a post"
|
3384 |
msgstr ""
|
3385 |
|
3386 |
-
#: defaults.php:
|
3387 |
msgid ""
|
3388 |
"Modified the value of the custom field %MetaKey%%ReportText% in the "
|
3389 |
"%PostStatus% %PostType% titled %PostTitle%.%ChangeText% URL is: %PostUrl%. "
|
3390 |
"%EditorLinkPost%.<br>%MetaLink%."
|
3391 |
msgstr ""
|
3392 |
|
3393 |
-
#: defaults.php:
|
3394 |
msgid "User deleted a custom field from a post"
|
3395 |
msgstr ""
|
3396 |
|
3397 |
-
#: defaults.php:
|
3398 |
msgid ""
|
3399 |
"Deleted the custom field %MetaKey% with value %MetaValue% from %PostStatus% "
|
3400 |
"%PostType% titled %PostTitle%. URL is: %PostUrl%. %EditorLinkPost%."
|
3401 |
msgstr ""
|
3402 |
|
3403 |
-
#: defaults.php:
|
3404 |
msgid "User updated a custom field name for a post"
|
3405 |
msgstr ""
|
3406 |
|
3407 |
-
#: defaults.php:
|
3408 |
msgid ""
|
3409 |
"Changed the custom field's name from %MetaKeyOld% to %MetaKeyNew% in the "
|
3410 |
"%PostStatus% %PostType% titled %PostTitle%. URL is: %PostUrl%. "
|
3411 |
"%EditorLinkPost%.<br>%MetaLink%."
|
3412 |
msgstr ""
|
3413 |
|
3414 |
-
#: defaults.php:
|
3415 |
msgid "Comments"
|
3416 |
msgstr ""
|
3417 |
|
3418 |
-
#: defaults.php:
|
3419 |
msgid "User approved a comment"
|
3420 |
msgstr ""
|
3421 |
|
3422 |
-
#: defaults.php:
|
3423 |
msgid ""
|
3424 |
"Approved the comment posted in response to the post %PostTitle% by %Author% "
|
3425 |
"on %CommentLink%."
|
3426 |
msgstr ""
|
3427 |
|
3428 |
-
#: defaults.php:
|
3429 |
msgid "User unapproved a comment"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
-
#: defaults.php:
|
3433 |
msgid ""
|
3434 |
"Unapproved the comment posted in response to the post %PostTitle% by %Author"
|
3435 |
"% on %CommentLink%."
|
3436 |
msgstr ""
|
3437 |
|
3438 |
-
#: defaults.php:
|
3439 |
msgid "User replied to a comment"
|
3440 |
msgstr ""
|
3441 |
|
3442 |
-
#: defaults.php:
|
3443 |
msgid ""
|
3444 |
"Replied to the comment posted in response to the post %PostTitle% by %Author"
|
3445 |
"% on %CommentLink%."
|
3446 |
msgstr ""
|
3447 |
|
3448 |
-
#: defaults.php:
|
3449 |
msgid "User edited a comment"
|
3450 |
msgstr ""
|
3451 |
|
3452 |
-
#: defaults.php:
|
3453 |
msgid ""
|
3454 |
"Edited a comment posted in response to the post %PostTitle% by %Author% on "
|
3455 |
"%CommentLink%."
|
3456 |
msgstr ""
|
3457 |
|
3458 |
-
#: defaults.php:
|
3459 |
msgid "User marked a comment as Spam"
|
3460 |
msgstr ""
|
3461 |
|
3462 |
-
#: defaults.php:
|
3463 |
msgid ""
|
3464 |
"Marked the comment posted in response to the post %PostTitle% by %Author% on "
|
3465 |
"%CommentLink% as Spam."
|
3466 |
msgstr ""
|
3467 |
|
3468 |
-
#: defaults.php:
|
3469 |
msgid "User marked a comment as Not Spam"
|
3470 |
msgstr ""
|
3471 |
|
3472 |
-
#: defaults.php:
|
3473 |
msgid ""
|
3474 |
"Marked the comment posted in response to the post %PostTitle% by %Author% on "
|
3475 |
"%CommentLink% as Not Spam."
|
3476 |
msgstr ""
|
3477 |
|
3478 |
-
#: defaults.php:
|
3479 |
msgid "User moved a comment to trash"
|
3480 |
msgstr ""
|
3481 |
|
3482 |
-
#: defaults.php:
|
3483 |
msgid ""
|
3484 |
"Moved the comment posted in response to the post %PostTitle% by %Author% on "
|
3485 |
"%Date% to trash."
|
3486 |
msgstr ""
|
3487 |
|
3488 |
-
#: defaults.php:
|
3489 |
msgid "User restored a comment from the trash"
|
3490 |
msgstr ""
|
3491 |
|
3492 |
-
#: defaults.php:
|
3493 |
msgid ""
|
3494 |
"Restored the comment posted in response to the post %PostTitle% by %Author% "
|
3495 |
"on %CommentLink% from the trash."
|
3496 |
msgstr ""
|
3497 |
|
3498 |
-
#: defaults.php:
|
3499 |
msgid "User permanently deleted a comment"
|
3500 |
msgstr ""
|
3501 |
|
3502 |
-
#: defaults.php:
|
3503 |
msgid ""
|
3504 |
"Permanently deleted the comment posted in response to the post %PostTitle% "
|
3505 |
"by %Author% on %Date%."
|
3506 |
msgstr ""
|
3507 |
|
3508 |
-
#: defaults.php:
|
3509 |
msgid "User posted a comment"
|
3510 |
msgstr ""
|
3511 |
|
3512 |
-
#: defaults.php:
|
3513 |
msgid "%CommentMsg% on %CommentLink%."
|
3514 |
msgstr ""
|
3515 |
|
3516 |
-
#: defaults.php:
|
3517 |
msgid "Visitor posted a comment"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
-
#: defaults.php:
|
3521 |
msgid "User modified a draft blog post"
|
3522 |
msgstr ""
|
3523 |
|
3524 |
-
#: defaults.php:
|
3525 |
msgid "Modified the draft post with the %PostTitle%. %EditorLinkPost%."
|
3526 |
msgstr ""
|
3527 |
|
3528 |
-
#: defaults.php:
|
3529 |
msgid "User created a new post with custom post type and saved it as draft"
|
3530 |
msgstr ""
|
3531 |
|
3532 |
-
#: defaults.php:
|
3533 |
msgid ""
|
3534 |
"Created a new custom post called %PostTitle% of type %PostType%. "
|
3535 |
"%EditorLinkPost%."
|
3536 |
msgstr ""
|
3537 |
|
3538 |
-
#: defaults.php:
|
3539 |
msgid "User published a post with custom post type"
|
3540 |
msgstr ""
|
3541 |
|
3542 |
-
#: defaults.php:
|
3543 |
msgid ""
|
3544 |
"Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl"
|
3545 |
"%. %EditorLinkPost%."
|
3546 |
msgstr ""
|
3547 |
|
3548 |
-
#: defaults.php:
|
3549 |
msgid "User modified a post with custom post type"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
-
#: defaults.php:
|
3553 |
msgid ""
|
3554 |
"Modified the custom post %PostTitle% of type %PostType%. Post URL is %PostUrl"
|
3555 |
"%. %EditorLinkPost%."
|
3556 |
msgstr ""
|
3557 |
|
3558 |
-
#: defaults.php:
|
3559 |
msgid "User modified a draft post with custom post type"
|
3560 |
msgstr ""
|
3561 |
|
3562 |
-
#: defaults.php:
|
3563 |
msgid ""
|
3564 |
"Modified the draft custom post %PostTitle% of type is %PostType%. "
|
3565 |
"%EditorLinkPost%."
|
3566 |
msgstr ""
|
3567 |
|
3568 |
-
#: defaults.php:
|
3569 |
msgid "User permanently deleted post with custom post type"
|
3570 |
msgstr ""
|
3571 |
|
3572 |
-
#: defaults.php:
|
3573 |
msgid "Permanently Deleted the custom post %PostTitle% of type %PostType%."
|
3574 |
msgstr ""
|
3575 |
|
3576 |
-
#: defaults.php:
|
3577 |
msgid "User moved post with custom post type to trash"
|
3578 |
msgstr ""
|
3579 |
|
3580 |
-
#: defaults.php:
|
3581 |
msgid ""
|
3582 |
"Moved the custom post %PostTitle% of type %PostType% to trash. Post URL was "
|
3583 |
"%PostUrl%."
|
3584 |
msgstr ""
|
3585 |
|
3586 |
-
#: defaults.php:
|
3587 |
msgid "User restored post with custom post type from trash"
|
3588 |
msgstr ""
|
3589 |
|
3590 |
-
#: defaults.php:
|
3591 |
msgid ""
|
3592 |
"The custom post %PostTitle% of type %PostType% has been restored from trash. "
|
3593 |
"%EditorLinkPost%."
|
3594 |
msgstr ""
|
3595 |
|
3596 |
-
#: defaults.php:
|
3597 |
msgid "User changed the category of a post with custom post type"
|
3598 |
msgstr ""
|
3599 |
|
3600 |
-
#: defaults.php:
|
3601 |
msgid ""
|
3602 |
"Changed the category(ies) of the custom post %PostTitle% of type %PostType% "
|
3603 |
"from %OldCategories% to %NewCategories%. %EditorLinkPost%."
|
3604 |
msgstr ""
|
3605 |
|
3606 |
-
#: defaults.php:
|
3607 |
msgid "User changed the URL of a post with custom post type"
|
3608 |
msgstr ""
|
3609 |
|
3610 |
-
#: defaults.php:
|
3611 |
msgid ""
|
3612 |
"Changed the URL of the custom post %PostTitle% of type %PostType% from "
|
3613 |
"%OldUrl% to %NewUrl%. %EditorLinkPost%."
|
3614 |
msgstr ""
|
3615 |
|
3616 |
-
#: defaults.php:
|
3617 |
msgid "User changed the author or post with custom post type"
|
3618 |
msgstr ""
|
3619 |
|
3620 |
-
#: defaults.php:
|
3621 |
msgid ""
|
3622 |
"Changed the author of custom post %PostTitle% of type %PostType% from "
|
3623 |
"%OldAuthor% to %NewAuthor%. %EditorLinkPost%."
|
3624 |
msgstr ""
|
3625 |
|
3626 |
-
#: defaults.php:
|
3627 |
msgid "User changed the status of post with custom post type"
|
3628 |
msgstr ""
|
3629 |
|
3630 |
-
#: defaults.php:
|
3631 |
msgid ""
|
3632 |
"Changed the status of custom post %PostTitle% of type %PostType% from "
|
3633 |
"%OldStatus% to %NewStatus%. %EditorLinkPost%."
|
3634 |
msgstr ""
|
3635 |
|
3636 |
-
#: defaults.php:
|
3637 |
msgid "User changed the visibility of a post with custom post type"
|
3638 |
msgstr ""
|
3639 |
|
3640 |
-
#: defaults.php:
|
3641 |
msgid ""
|
3642 |
"Changed the visibility of the custom post %PostTitle% of type %PostType% "
|
3643 |
"from %OldVisibility% to %NewVisibility%. %EditorLinkPost%."
|
3644 |
msgstr ""
|
3645 |
|
3646 |
-
#: defaults.php:
|
3647 |
msgid "User changed the date of post with custom post type"
|
3648 |
msgstr ""
|
3649 |
|
3650 |
-
#: defaults.php:
|
3651 |
msgid ""
|
3652 |
"Changed the date of the custom post %PostTitle% of type %PostType% from "
|
3653 |
"%OldDate% to %NewDate%. %EditorLinkPost%."
|
3654 |
msgstr ""
|
3655 |
|
3656 |
-
#: defaults.php:
|
3657 |
msgid "User created a custom field for a custom post type"
|
3658 |
msgstr ""
|
3659 |
|
3660 |
-
#: defaults.php:
|
3661 |
msgid ""
|
3662 |
"Created a new custom field %MetaKey% with value %MetaValue% in custom post "
|
3663 |
"%PostTitle% of type %PostType%. %EditorLinkPost%.<br>%MetaLink%."
|
3664 |
msgstr ""
|
3665 |
|
3666 |
-
#: defaults.php:
|
3667 |
msgid "User updated a custom field for a custom post type"
|
3668 |
msgstr ""
|
3669 |
|
3670 |
-
#: defaults.php:
|
3671 |
msgid ""
|
3672 |
"Modified the value of the custom field %MetaKey% from %MetaValueOld% to "
|
3673 |
"%MetaValueNew% in custom post %PostTitle% of type %PostType% %EditorLinkPost"
|
3674 |
"%.<br>%MetaLink%."
|
3675 |
msgstr ""
|
3676 |
|
3677 |
-
#: defaults.php:
|
3678 |
msgid "User deleted a custom field from a custom post type"
|
3679 |
msgstr ""
|
3680 |
|
3681 |
-
#: defaults.php:
|
3682 |
msgid ""
|
3683 |
"Deleted the custom field %MetaKey% with id %MetaID% from custom post "
|
3684 |
"%PostTitle% of type %PostType% %EditorLinkPost%.<br>%MetaLink%."
|
3685 |
msgstr ""
|
3686 |
|
3687 |
-
#: defaults.php:
|
3688 |
msgid "User updated a custom field name for a custom post type"
|
3689 |
msgstr ""
|
3690 |
|
3691 |
-
#: defaults.php:
|
3692 |
msgid ""
|
3693 |
"Changed the custom field name from %MetaKeyOld% to %MetaKeyNew% in custom "
|
3694 |
"post %PostTitle% of type %PostType% %EditorLinkPost%.<br>%MetaLink%."
|
3695 |
msgstr ""
|
3696 |
|
3697 |
-
#: defaults.php:
|
3698 |
msgid "User modified content for a published custom post type"
|
3699 |
msgstr ""
|
3700 |
|
3701 |
-
#: defaults.php:
|
3702 |
msgid ""
|
3703 |
"Modified the content of the published custom post type %PostTitle%. Post URL "
|
3704 |
"is %PostUrl%.%EditorLinkPost%."
|
3705 |
msgstr ""
|
3706 |
|
3707 |
-
#: defaults.php:
|
3708 |
msgid "User modified content for a draft post"
|
3709 |
msgstr ""
|
3710 |
|
3711 |
-
#: defaults.php:
|
3712 |
msgid ""
|
3713 |
"Modified the content of the draft post %PostTitle%.%RevisionLink% "
|
3714 |
"%EditorLinkPost%."
|
3715 |
msgstr ""
|
3716 |
|
3717 |
-
#: defaults.php:
|
3718 |
msgid "User modified content for a draft custom post type"
|
3719 |
msgstr ""
|
3720 |
|
3721 |
-
#: defaults.php:
|
3722 |
msgid ""
|
3723 |
"Modified the content of the draft custom post type %PostTitle%."
|
3724 |
"%EditorLinkPost%."
|
3725 |
msgstr ""
|
3726 |
|
3727 |
-
#: defaults.php:
|
3728 |
msgid "User modified content of a post"
|
3729 |
msgstr ""
|
3730 |
|
3731 |
-
#: defaults.php:
|
3732 |
msgid ""
|
3733 |
"Modified the content of post %PostTitle% which is submitted for review."
|
3734 |
"%RevisionLink% %EditorLinkPost%."
|
3735 |
msgstr ""
|
3736 |
|
3737 |
-
#: defaults.php:
|
3738 |
msgid "User scheduled a custom post type"
|
3739 |
msgstr ""
|
3740 |
|
3741 |
-
#: defaults.php:
|
3742 |
msgid ""
|
3743 |
"Scheduled the custom post type %PostTitle% to be published %PublishingDate%. "
|
3744 |
"%EditorLinkPost%."
|
3745 |
msgstr ""
|
3746 |
|
3747 |
-
#: defaults.php:
|
3748 |
msgid "User changed title of a custom post type"
|
3749 |
msgstr ""
|
3750 |
|
3751 |
-
#: defaults.php:
|
3752 |
msgid ""
|
3753 |
"Changed the title of the custom post %OldTitle% to %NewTitle%. "
|
3754 |
"%EditorLinkPost%."
|
3755 |
msgstr ""
|
3756 |
|
3757 |
-
#: defaults.php:
|
3758 |
msgid "User opened a custom post type in the editor"
|
3759 |
msgstr ""
|
3760 |
|
3761 |
-
#: defaults.php:
|
3762 |
msgid ""
|
3763 |
"Opened the custom post %PostTitle% of type %PostType% in the editor. View "
|
3764 |
"the post: %EditorLinkPost%."
|
3765 |
msgstr ""
|
3766 |
|
3767 |
-
#: defaults.php:
|
3768 |
msgid "User viewed a custom post type"
|
3769 |
msgstr ""
|
3770 |
|
3771 |
-
#: defaults.php:
|
3772 |
msgid ""
|
3773 |
"Viewed the custom post %PostTitle% of type %PostType%. View the post: "
|
3774 |
"%PostUrl%."
|
3775 |
msgstr ""
|
3776 |
|
3777 |
-
#: defaults.php:
|
3778 |
msgid "A plugin created a custom post"
|
3779 |
msgstr ""
|
3780 |
|
3781 |
-
#: defaults.php:
|
3782 |
msgid "A plugin automatically created the following custom post: %PostTitle%."
|
3783 |
msgstr ""
|
3784 |
|
3785 |
-
#: defaults.php:
|
3786 |
msgid "A plugin deleted a custom post"
|
3787 |
msgstr ""
|
3788 |
|
3789 |
-
#: defaults.php:
|
3790 |
msgid "A plugin automatically deleted the following custom post: %PostTitle%."
|
3791 |
msgstr ""
|
3792 |
|
3793 |
-
#: defaults.php:
|
3794 |
msgid "A plugin modified a custom post"
|
3795 |
msgstr ""
|
3796 |
|
3797 |
-
#: defaults.php:
|
3798 |
msgid ""
|
3799 |
"Plugin modified the custom post %PostTitle%. View the post: %EditorLinkPost%."
|
3800 |
msgstr ""
|
3801 |
|
3802 |
-
#: defaults.php:
|
3803 |
msgid "User created a new WordPress page and saved it as draft"
|
3804 |
msgstr ""
|
3805 |
|
3806 |
-
#: defaults.php:
|
3807 |
msgid ""
|
3808 |
"Created a new page called %PostTitle% and saved it as draft. %EditorLinkPage"
|
3809 |
"%."
|
3810 |
msgstr ""
|
3811 |
|
3812 |
-
#: defaults.php:
|
3813 |
msgid "User published a WordPress page"
|
3814 |
msgstr ""
|
3815 |
|
3816 |
-
#: defaults.php:
|
3817 |
msgid ""
|
3818 |
"Published a page called %PostTitle%. Page URL is %PostUrl%. %EditorLinkPage%."
|
3819 |
msgstr ""
|
3820 |
|
3821 |
-
#: defaults.php:
|
3822 |
msgid "User modified a published WordPress page"
|
3823 |
msgstr ""
|
3824 |
|
3825 |
-
#: defaults.php:
|
3826 |
msgid ""
|
3827 |
"Modified the published page %PostTitle%. Page URL is %PostUrl%. "
|
3828 |
"%EditorLinkPage%."
|
3829 |
msgstr ""
|
3830 |
|
3831 |
-
#: defaults.php:
|
3832 |
msgid "User modified a draft WordPress page"
|
3833 |
msgstr ""
|
3834 |
|
3835 |
-
#: defaults.php:
|
3836 |
msgid ""
|
3837 |
"Modified the draft page %PostTitle%. Page ID is %PostID%. %EditorLinkPage%."
|
3838 |
msgstr ""
|
3839 |
|
3840 |
-
#: defaults.php:
|
3841 |
msgid "User permanently deleted a page from the trash"
|
3842 |
msgstr ""
|
3843 |
|
3844 |
-
#: defaults.php:
|
3845 |
msgid "Permanently deleted the page %PostTitle%."
|
3846 |
msgstr ""
|
3847 |
|
3848 |
-
#: defaults.php:
|
3849 |
msgid "User moved WordPress page to the trash"
|
3850 |
msgstr ""
|
3851 |
|
3852 |
-
#: defaults.php:
|
3853 |
msgid "Moved the page %PostTitle% to trash. Page URL was %PostUrl%."
|
3854 |
msgstr ""
|
3855 |
|
3856 |
-
#: defaults.php:
|
3857 |
msgid "User restored a WordPress page from trash"
|
3858 |
msgstr ""
|
3859 |
|
3860 |
-
#: defaults.php:
|
3861 |
msgid "Page %PostTitle% has been restored from trash. %EditorLinkPage%."
|
3862 |
msgstr ""
|
3863 |
|
3864 |
-
#: defaults.php:
|
3865 |
msgid "User changed page URL"
|
3866 |
msgstr ""
|
3867 |
|
3868 |
-
#: defaults.php:
|
3869 |
msgid ""
|
3870 |
"Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%. "
|
3871 |
"%EditorLinkPage%."
|
3872 |
msgstr ""
|
3873 |
|
3874 |
-
#: defaults.php:
|
3875 |
msgid "User changed page author"
|
3876 |
msgstr ""
|
3877 |
|
3878 |
-
#: defaults.php:
|
3879 |
msgid ""
|
3880 |
"Changed the author of the page %PostTitle% from %OldAuthor% to %NewAuthor%. "
|
3881 |
"%EditorLinkPage%."
|
3882 |
msgstr ""
|
3883 |
|
3884 |
-
#: defaults.php:
|
3885 |
msgid "User changed page status"
|
3886 |
msgstr ""
|
3887 |
|
3888 |
-
#: defaults.php:
|
3889 |
msgid ""
|
3890 |
"Changed the status of the page %PostTitle% from %OldStatus% to %NewStatus%. "
|
3891 |
"%EditorLinkPage%."
|
3892 |
msgstr ""
|
3893 |
|
3894 |
-
#: defaults.php:
|
3895 |
msgid "User changed the visibility of a page post"
|
3896 |
msgstr ""
|
3897 |
|
3898 |
-
#: defaults.php:
|
3899 |
msgid ""
|
3900 |
"Changed the visibility of the page %PostTitle% from %OldVisibility% to "
|
3901 |
"%NewVisibility%. %EditorLinkPage%."
|
3902 |
msgstr ""
|
3903 |
|
3904 |
-
#: defaults.php:
|
3905 |
msgid "User changed the date of a page post"
|
3906 |
msgstr ""
|
3907 |
|
3908 |
-
#: defaults.php:
|
3909 |
msgid ""
|
3910 |
"Changed the date of the page %PostTitle% from %OldDate% to %NewDate%. "
|
3911 |
"%EditorLinkPage%."
|
3912 |
msgstr ""
|
3913 |
|
3914 |
-
#: defaults.php:
|
3915 |
msgid "User created a custom field for a page"
|
3916 |
msgstr ""
|
3917 |
|
3918 |
-
#: defaults.php:
|
3919 |
msgid ""
|
3920 |
"Created a new custom field called %MetaKey% with value %MetaValue% in the "
|
3921 |
"page %PostTitle% %EditorLinkPage%.<br>%MetaLink%."
|
3922 |
msgstr ""
|
3923 |
|
3924 |
-
#: defaults.php:
|
3925 |
msgid "User updated a custom field value for a page"
|
3926 |
msgstr ""
|
3927 |
|
3928 |
-
#: defaults.php:
|
3929 |
msgid ""
|
3930 |
"Modified the value of the custom field %MetaKey% from %MetaValueOld% to "
|
3931 |
"%MetaValueNew% in the page %PostTitle% %EditorLinkPage%.<br>%MetaLink%."
|
3932 |
msgstr ""
|
3933 |
|
3934 |
-
#: defaults.php:
|
3935 |
msgid "User deleted a custom field from a page"
|
3936 |
msgstr ""
|
3937 |
|
3938 |
-
#: defaults.php:
|
3939 |
msgid ""
|
3940 |
"Deleted the custom field %MetaKey% with id %MetaID% from page %PostTitle% "
|
3941 |
"%EditorLinkPage%.<br>%MetaLink%."
|
3942 |
msgstr ""
|
3943 |
|
3944 |
-
#: defaults.php:
|
3945 |
msgid "User updated a custom field name for a page"
|
3946 |
msgstr ""
|
3947 |
|
3948 |
-
#: defaults.php:
|
3949 |
msgid ""
|
3950 |
"Changed the custom field name from %MetaKeyOld% to %MetaKeyNew% in the page "
|
3951 |
"%PostTitle% %EditorLinkPage%.<br>%MetaLink%."
|
3952 |
msgstr ""
|
3953 |
|
3954 |
-
#: defaults.php:
|
3955 |
msgid "User modified content for a published page"
|
3956 |
msgstr ""
|
3957 |
|
3958 |
-
#: defaults.php:
|
3959 |
msgid ""
|
3960 |
"Modified the content of the published page %PostTitle%. Page URL is %PostUrl"
|
3961 |
"%. %RevisionLink% %EditorLinkPage%."
|
3962 |
msgstr ""
|
3963 |
|
3964 |
-
#: defaults.php:
|
3965 |
msgid "User modified content for a draft page"
|
3966 |
msgstr ""
|
3967 |
|
3968 |
-
#: defaults.php:
|
3969 |
msgid ""
|
3970 |
"Modified the content of draft page %PostTitle%.%RevisionLink% %EditorLinkPage"
|
3971 |
"%."
|
3972 |
msgstr ""
|
3973 |
|
3974 |
-
#: defaults.php:
|
3975 |
msgid "User scheduled a page"
|
3976 |
msgstr ""
|
3977 |
|
3978 |
-
#: defaults.php:
|
3979 |
msgid ""
|
3980 |
"Scheduled the page %PostTitle% to be published %PublishingDate%. "
|
3981 |
"%EditorLinkPage%."
|
3982 |
msgstr ""
|
3983 |
|
3984 |
-
#: defaults.php:
|
3985 |
msgid "User changed title of a page"
|
3986 |
msgstr ""
|
3987 |
|
3988 |
-
#: defaults.php:
|
3989 |
msgid ""
|
3990 |
"Changed the title of the page %OldTitle% to %NewTitle%. %EditorLinkPage%."
|
3991 |
msgstr ""
|
3992 |
|
3993 |
-
#: defaults.php:
|
3994 |
msgid "User opened a page in the editor"
|
3995 |
msgstr ""
|
3996 |
|
3997 |
-
#: defaults.php:
|
3998 |
msgid ""
|
3999 |
"Opened the page %PostTitle% in the editor. View the page: %EditorLinkPage%."
|
4000 |
msgstr ""
|
4001 |
|
4002 |
-
#: defaults.php:
|
4003 |
msgid "User viewed a page"
|
4004 |
msgstr ""
|
4005 |
|
4006 |
-
#: defaults.php:
|
4007 |
msgid "Viewed the page %PostTitle%. View the page: %PostUrl%."
|
4008 |
msgstr ""
|
4009 |
|
4010 |
-
#: defaults.php:
|
4011 |
msgid "User disabled Comments/Trackbacks and Pingbacks on a draft post"
|
4012 |
msgstr ""
|
4013 |
|
4014 |
-
#: defaults.php:
|
4015 |
msgid ""
|
4016 |
"Disabled %Type% on the draft post %PostTitle%. View the post: %PostUrl%."
|
4017 |
msgstr ""
|
4018 |
|
4019 |
-
#: defaults.php:
|
4020 |
msgid "User enabled Comments/Trackbacks and Pingbacks on a draft post"
|
4021 |
msgstr ""
|
4022 |
|
4023 |
-
#: defaults.php:
|
4024 |
msgid "Enabled %Type% on the draft post %PostTitle%. View the post: %PostUrl%."
|
4025 |
msgstr ""
|
4026 |
|
4027 |
-
#: defaults.php:
|
4028 |
msgid "User disabled Comments/Trackbacks and Pingbacks on a published page"
|
4029 |
msgstr ""
|
4030 |
|
4031 |
-
#: defaults.php:
|
4032 |
msgid ""
|
4033 |
"Disabled %Type% on the published page %PostTitle%. View the page: %PostUrl%."
|
4034 |
msgstr ""
|
4035 |
|
4036 |
-
#: defaults.php:
|
4037 |
msgid "User enabled Comments/Trackbacks and Pingbacks on a published page"
|
4038 |
msgstr ""
|
4039 |
|
4040 |
-
#: defaults.php:
|
4041 |
msgid ""
|
4042 |
"Enabled %Type% on the published page %PostTitle%. View the page: %PostUrl%."
|
4043 |
msgstr ""
|
4044 |
|
4045 |
-
#: defaults.php:
|
4046 |
msgid "User disabled Comments/Trackbacks and Pingbacks on a draft page"
|
4047 |
msgstr ""
|
4048 |
|
4049 |
-
#: defaults.php:
|
4050 |
msgid ""
|
4051 |
"Disabled %Type% on the draft page %PostTitle%. View the page: %PostUrl%."
|
4052 |
msgstr ""
|
4053 |
|
4054 |
-
#: defaults.php:
|
4055 |
msgid "User enabled Comments/Trackbacks and Pingbacks on a draft page"
|
4056 |
msgstr ""
|
4057 |
|
4058 |
-
#: defaults.php:
|
4059 |
msgid "Enabled %Type% on the draft page %PostTitle%. View the page: %PostUrl%."
|
4060 |
msgstr ""
|
4061 |
|
4062 |
-
#: defaults.php:
|
4063 |
msgid "A plugin created a page"
|
4064 |
msgstr ""
|
4065 |
|
4066 |
-
#: defaults.php:
|
4067 |
msgid "A plugin automatically created the following page: %PostTitle%."
|
4068 |
msgstr ""
|
4069 |
|
4070 |
-
#: defaults.php:
|
4071 |
msgid "A plugin deleted a page"
|
4072 |
msgstr ""
|
4073 |
|
4074 |
-
#: defaults.php:
|
4075 |
msgid "A plugin automatically deleted the following page: %PostTitle%."
|
4076 |
msgstr ""
|
4077 |
|
4078 |
-
#: defaults.php:
|
4079 |
msgid "A plugin modified a page"
|
4080 |
msgstr ""
|
4081 |
|
4082 |
-
#: defaults.php:
|
4083 |
msgid "Plugin modified the page %PostTitle%. View the page: %EditorLinkPage%."
|
4084 |
msgstr ""
|
4085 |
|
4086 |
-
#: defaults.php:
|
4087 |
msgid "WordPress Install"
|
4088 |
msgstr ""
|
4089 |
|
4090 |
-
#: defaults.php:
|
4091 |
msgid "Database"
|
4092 |
msgstr ""
|
4093 |
|
4094 |
-
#: defaults.php:
|
4095 |
msgid "Unknown component created tables"
|
4096 |
msgstr ""
|
4097 |
|
4098 |
-
#: defaults.php:
|
4099 |
msgid ""
|
4100 |
"An unknown component created these tables in the database: %TableNames%."
|
4101 |
msgstr ""
|
4102 |
|
4103 |
-
#: defaults.php:
|
4104 |
msgid "Unknown component modified tables structure"
|
4105 |
msgstr ""
|
4106 |
|
4107 |
-
#: defaults.php:
|
4108 |
msgid ""
|
4109 |
"An unknown component modified the structure of these database tables: "
|
4110 |
"%TableNames%."
|
4111 |
msgstr ""
|
4112 |
|
4113 |
-
#: defaults.php:
|
4114 |
msgid "Unknown component deleted tables"
|
4115 |
msgstr ""
|
4116 |
|
4117 |
-
#: defaults.php:
|
4118 |
msgid ""
|
4119 |
"An unknown component deleted the following tables from the database: "
|
4120 |
"%TableNames%."
|
4121 |
msgstr ""
|
4122 |
|
4123 |
-
#: defaults.php:
|
4124 |
msgid "User installed a plugin"
|
4125 |
msgstr ""
|
4126 |
|
4127 |
-
#: defaults.php:
|
4128 |
msgid "Installed the plugin %Plugin->Name% in %Plugin->plugin_dir_path%."
|
4129 |
msgstr ""
|
4130 |
|
4131 |
-
#: defaults.php:
|
4132 |
msgid "User activated a WordPress plugin"
|
4133 |
msgstr ""
|
4134 |
|
4135 |
-
#: defaults.php:
|
4136 |
msgid "Activated the plugin %PluginData->Name% installed in %PluginFile%."
|
4137 |
msgstr ""
|
4138 |
|
4139 |
-
#: defaults.php:
|
4140 |
msgid "User deactivated a WordPress plugin"
|
4141 |
msgstr ""
|
4142 |
|
4143 |
-
#: defaults.php:
|
4144 |
msgid "Deactivated the plugin %PluginData->Name% installed in %PluginFile%."
|
4145 |
msgstr ""
|
4146 |
|
4147 |
-
#: defaults.php:
|
4148 |
msgid "User uninstalled a plugin"
|
4149 |
msgstr ""
|
4150 |
|
4151 |
-
#: defaults.php:
|
4152 |
msgid ""
|
4153 |
"Uninstalled the plugin %PluginData->Name% which was installed in %PluginFile"
|
4154 |
"%."
|
4155 |
msgstr ""
|
4156 |
|
4157 |
-
#: defaults.php:
|
4158 |
msgid "User upgraded a plugin"
|
4159 |
msgstr ""
|
4160 |
|
4161 |
-
#: defaults.php:
|
4162 |
msgid "Upgraded the plugin %PluginData->Name% installed in %PluginFile%."
|
4163 |
msgstr ""
|
4164 |
|
4165 |
-
#: defaults.php:
|
4166 |
msgid "Plugin created tables"
|
4167 |
msgstr ""
|
4168 |
|
4169 |
-
#: defaults.php:
|
4170 |
msgid ""
|
4171 |
"Plugin %Plugin->Name% created these tables in the database: %TableNames%."
|
4172 |
msgstr ""
|
4173 |
|
4174 |
-
#: defaults.php:
|
4175 |
msgid "Plugin modified tables structure"
|
4176 |
msgstr ""
|
4177 |
|
4178 |
-
#: defaults.php:
|
4179 |
msgid ""
|
4180 |
"Plugin %Plugin->Name% modified the structure of these database tables: "
|
4181 |
"%TableNames%."
|
4182 |
msgstr ""
|
4183 |
|
4184 |
-
#: defaults.php:
|
4185 |
msgid "Plugin deleted tables"
|
4186 |
msgstr ""
|
4187 |
|
4188 |
-
#: defaults.php:
|
4189 |
msgid ""
|
4190 |
"Plugin %Plugin->Name% deleted the following tables from the database: "
|
4191 |
"%TableNames%."
|
4192 |
msgstr ""
|
4193 |
|
4194 |
-
#: defaults.php:
|
4195 |
msgid "A plugin created a post"
|
4196 |
msgstr ""
|
4197 |
|
4198 |
-
#: defaults.php:
|
4199 |
msgid ""
|
4200 |
"A plugin automatically created the following %PostType% called %PostTitle%. "
|
4201 |
"View the post: %EditorLinkPost%."
|
4202 |
msgstr ""
|
4203 |
|
4204 |
-
#: defaults.php:
|
4205 |
msgid "A plugin deleted a post"
|
4206 |
msgstr ""
|
4207 |
|
4208 |
-
#: defaults.php:
|
4209 |
msgid ""
|
4210 |
"A plugin automatically deleted the following %PostType% called %PostTitle%."
|
4211 |
msgstr ""
|
4212 |
|
4213 |
-
#: defaults.php:
|
4214 |
msgid "User changed a file using the plugin editor"
|
4215 |
msgstr ""
|
4216 |
|
4217 |
-
#: defaults.php:
|
4218 |
msgid "Modified %File% with the Plugin Editor."
|
4219 |
msgstr ""
|
4220 |
|
4221 |
-
#: defaults.php:
|
4222 |
msgid "Themes"
|
4223 |
msgstr ""
|
4224 |
|
4225 |
-
#: defaults.php:
|
4226 |
msgid "User installed a theme"
|
4227 |
msgstr ""
|
4228 |
|
4229 |
-
#: defaults.php:
|
4230 |
msgid ""
|
4231 |
"Installed the theme \"%Theme->Name%\" in %Theme->get_template_directory%."
|
4232 |
msgstr ""
|
4233 |
|
4234 |
-
#: defaults.php:
|
4235 |
msgid "User activated a theme"
|
4236 |
msgstr ""
|
4237 |
|
4238 |
-
#: defaults.php:
|
4239 |
msgid ""
|
4240 |
"Activated the theme \"%Theme->Name%\", installed in %Theme-"
|
4241 |
">get_template_directory%."
|
4242 |
msgstr ""
|
4243 |
|
4244 |
-
#: defaults.php:
|
4245 |
msgid "User uninstalled a theme"
|
4246 |
msgstr ""
|
4247 |
|
4248 |
-
#: defaults.php:
|
4249 |
msgid ""
|
4250 |
"Deleted the theme \"%Theme->Name%\" installed in %Theme-"
|
4251 |
">get_template_directory%."
|
4252 |
msgstr ""
|
4253 |
|
4254 |
-
#: defaults.php:
|
4255 |
msgid "Activated theme on network"
|
4256 |
msgstr ""
|
4257 |
|
4258 |
-
#: defaults.php:
|
4259 |
msgid ""
|
4260 |
"Network activated the theme %Theme->Name% installed in %Theme-"
|
4261 |
">get_template_directory%."
|
4262 |
msgstr ""
|
4263 |
|
4264 |
-
#: defaults.php:
|
4265 |
msgid "Deactivated theme from network"
|
4266 |
msgstr ""
|
4267 |
|
4268 |
-
#: defaults.php:
|
4269 |
msgid ""
|
4270 |
"Network deactivated the theme %Theme->Name% installed in %Theme-"
|
4271 |
">get_template_directory%."
|
4272 |
msgstr ""
|
4273 |
|
4274 |
-
#: defaults.php:
|
4275 |
msgid "Theme created tables"
|
4276 |
msgstr ""
|
4277 |
|
4278 |
-
#: defaults.php:
|
4279 |
msgid "Theme %Theme->Name% created these tables in the database: %TableNames%."
|
4280 |
msgstr ""
|
4281 |
|
4282 |
-
#: defaults.php:
|
4283 |
msgid "Theme modified tables structure"
|
4284 |
msgstr ""
|
4285 |
|
4286 |
-
#: defaults.php:
|
4287 |
msgid ""
|
4288 |
"Theme %Theme->Name% modified the structure of these database tables: "
|
4289 |
"%TableNames%."
|
4290 |
msgstr ""
|
4291 |
|
4292 |
-
#: defaults.php:
|
4293 |
msgid "Theme deleted tables"
|
4294 |
msgstr ""
|
4295 |
|
4296 |
-
#: defaults.php:
|
4297 |
msgid ""
|
4298 |
"Theme %Theme->Name% deleted the following tables from the database: "
|
4299 |
"%TableNames%."
|
4300 |
msgstr ""
|
4301 |
|
4302 |
-
#: defaults.php:
|
4303 |
msgid "User updated a theme"
|
4304 |
msgstr ""
|
4305 |
|
4306 |
-
#: defaults.php:
|
4307 |
msgid ""
|
4308 |
"Updated the theme \"%Theme->Name%\" installed in %Theme-"
|
4309 |
">get_template_directory%."
|
4310 |
msgstr ""
|
4311 |
|
4312 |
-
#: defaults.php:
|
4313 |
msgid "User changed a file using the theme editor"
|
4314 |
msgstr ""
|
4315 |
|
4316 |
-
#: defaults.php:
|
4317 |
msgid "Modified %File% with the Theme Editor."
|
4318 |
msgstr ""
|
4319 |
|
4320 |
-
#: defaults.php:
|
4321 |
msgid "Unknown Error"
|
4322 |
msgstr ""
|
4323 |
|
4324 |
-
#: defaults.php:
|
4325 |
msgid "An unexpected error has occurred ."
|
4326 |
msgstr ""
|
4327 |
|
4328 |
-
#: defaults.php:
|
4329 |
msgid "PHP error"
|
4330 |
msgstr ""
|
4331 |
|
4332 |
-
#: defaults.php:
|
4333 |
-
#: defaults.php:
|
4334 |
msgid "%Message%."
|
4335 |
msgstr ""
|
4336 |
|
4337 |
-
#: defaults.php:
|
4338 |
msgid "PHP warning"
|
4339 |
msgstr ""
|
4340 |
|
4341 |
-
#: defaults.php:
|
4342 |
msgid "PHP notice"
|
4343 |
msgstr ""
|
4344 |
|
4345 |
-
#: defaults.php:
|
4346 |
msgid "PHP exception"
|
4347 |
msgstr ""
|
4348 |
|
4349 |
-
#: defaults.php:
|
4350 |
msgid "PHP shutdown error"
|
4351 |
msgstr ""
|
4352 |
|
4353 |
-
#: defaults.php:
|
4354 |
msgid "Events automatically pruned by system"
|
4355 |
msgstr ""
|
4356 |
|
4357 |
-
#: defaults.php:
|
4358 |
msgid "System automatically deleted %EventCount% event(s)."
|
4359 |
msgstr ""
|
4360 |
|
4361 |
-
#: defaults.php:
|
4362 |
msgid "WordPress was updated"
|
4363 |
msgstr ""
|
4364 |
|
4365 |
-
#: defaults.php:
|
4366 |
msgid "Updated WordPress from version %OldVersion% to %NewVersion%."
|
4367 |
msgstr ""
|
4368 |
|
4369 |
-
#: defaults.php:
|
4370 |
msgid "Reset plugin's settings to default"
|
4371 |
msgstr ""
|
4372 |
|
4373 |
-
#: defaults.php:
|
4374 |
msgid "Reset plugin's settings to default."
|
4375 |
msgstr ""
|
4376 |
|
4377 |
-
#: defaults.php:
|
4378 |
msgid "Purged the activity log"
|
4379 |
msgstr ""
|
4380 |
|
4381 |
-
#: defaults.php:
|
4382 |
msgid "Purged the activity log."
|
4383 |
msgstr ""
|
4384 |
|
4385 |
-
#: defaults.php:
|
4386 |
msgid "File content has been modified"
|
4387 |
msgstr ""
|
4388 |
|
4389 |
-
#: defaults.php:
|
4390 |
msgid "The content of the file %FileLocation% has been modified."
|
4391 |
msgstr ""
|
4392 |
|
4393 |
-
#: defaults.php:
|
4394 |
msgid "File added to the site"
|
4395 |
msgstr ""
|
4396 |
|
4397 |
-
#: defaults.php:
|
4398 |
msgid "The file %FileLocation% has been added to your website."
|
4399 |
msgstr ""
|
4400 |
|
4401 |
-
#: defaults.php:
|
4402 |
msgid "File deleted from the site"
|
4403 |
msgstr ""
|
4404 |
|
4405 |
-
#: defaults.php:
|
4406 |
msgid "The file %FileLocation% has been deleted from your website."
|
4407 |
msgstr ""
|
4408 |
|
4409 |
-
#: defaults.php:
|
4410 |
msgid "File not scanned because it is bigger than the maximum file size limit"
|
4411 |
msgstr ""
|
4412 |
|
4413 |
-
#: defaults.php:
|
4414 |
msgid ""
|
4415 |
"The file %FileLocation% was not scanned because it is bigger than the "
|
4416 |
"maximum file size limit. If you want to include these files in the scan "
|
4417 |
"increase the file size limit from the %FileSettings%."
|
4418 |
msgstr ""
|
4419 |
|
4420 |
-
#: defaults.php:
|
4421 |
msgid "File integrity scan stopped due to the limit of 1 million files"
|
4422 |
msgstr ""
|
4423 |
|
4424 |
-
#: defaults.php:
|
4425 |
msgid ""
|
4426 |
"The file changes scanning engine has reached the limit of 1 million files "
|
4427 |
"and stopped the scan. Please %ContactSupport% for more information."
|
4428 |
msgstr ""
|
4429 |
|
4430 |
-
#: defaults.php:
|
4431 |
msgid "File integrity scan started/stopped"
|
4432 |
msgstr ""
|
4433 |
|
4434 |
-
#: defaults.php:
|
4435 |
msgid "The file integrity scanner has %ScanStatus%."
|
4436 |
msgstr ""
|
4437 |
|
4438 |
-
#: defaults.php:
|
4439 |
msgid "Advertising Add-ons"
|
4440 |
msgstr ""
|
4441 |
|
4442 |
-
#: defaults.php:
|
4443 |
msgid "%PromoName% %PromoMessage%"
|
4444 |
msgstr ""
|
4445 |
|
4446 |
-
#: defaults.php:
|
4447 |
msgid "Menus"
|
4448 |
msgstr ""
|
4449 |
|
4450 |
-
#: defaults.php:
|
4451 |
msgid "User created new menu"
|
4452 |
msgstr ""
|
4453 |
|
4454 |
-
#: defaults.php:
|
4455 |
msgid "Created a new menu called %MenuName%."
|
4456 |
msgstr ""
|
4457 |
|
4458 |
-
#: defaults.php:
|
4459 |
msgid "User added content to a menu"
|
4460 |
msgstr ""
|
4461 |
|
4462 |
-
#: defaults.php:
|
4463 |
msgid "Added the %ContentType% called %ContentName% to menu %MenuName%."
|
4464 |
msgstr ""
|
4465 |
|
4466 |
-
#: defaults.php:
|
4467 |
msgid "User removed content from a menu"
|
4468 |
msgstr ""
|
4469 |
|
4470 |
-
#: defaults.php:
|
4471 |
msgid ""
|
4472 |
"Removed the %ContentType% called %ContentName% from the menu %MenuName%."
|
4473 |
msgstr ""
|
4474 |
|
4475 |
-
#: defaults.php:
|
4476 |
msgid "User deleted menu"
|
4477 |
msgstr ""
|
4478 |
|
4479 |
-
#: defaults.php:
|
4480 |
msgid "Deleted the menu %MenuName%."
|
4481 |
msgstr ""
|
4482 |
|
4483 |
-
#: defaults.php:
|
4484 |
msgid "User changed menu setting"
|
4485 |
msgstr ""
|
4486 |
|
4487 |
-
#: defaults.php:
|
4488 |
msgid "%Status% the menu setting %MenuSetting% in %MenuName%."
|
4489 |
msgstr ""
|
4490 |
|
4491 |
-
#: defaults.php:
|
4492 |
msgid "User modified content in a menu"
|
4493 |
msgstr ""
|
4494 |
|
4495 |
-
#: defaults.php:
|
4496 |
msgid "Modified the %ContentType% called %ContentName% in menu %MenuName%."
|
4497 |
msgstr ""
|
4498 |
|
4499 |
-
#: defaults.php:
|
4500 |
msgid "User changed name of a menu"
|
4501 |
msgstr ""
|
4502 |
|
4503 |
-
#: defaults.php:
|
4504 |
msgid "Changed the name of menu %OldMenuName% to %NewMenuName%."
|
4505 |
msgstr ""
|
4506 |
|
4507 |
-
#: defaults.php:
|
4508 |
msgid "User changed order of the objects in a menu"
|
4509 |
msgstr ""
|
4510 |
|
4511 |
-
#: defaults.php:
|
4512 |
msgid "Changed the order of the %ItemName% in menu %MenuName%."
|
4513 |
msgstr ""
|
4514 |
|
4515 |
-
#: defaults.php:
|
4516 |
msgid "User moved objects as a sub-item"
|
4517 |
msgstr ""
|
4518 |
|
4519 |
-
#: defaults.php:
|
4520 |
msgid "Moved %ItemName% as a sub-item of %ParentName% in menu %MenuName%."
|
4521 |
msgstr ""
|
4522 |
|
4523 |
-
#: defaults.php:
|
4524 |
msgid "Widgets"
|
4525 |
msgstr ""
|
4526 |
|
4527 |
-
#: defaults.php:
|
4528 |
msgid "User added a new widget"
|
4529 |
msgstr ""
|
4530 |
|
4531 |
-
#: defaults.php:
|
4532 |
msgid "Added a new %WidgetName% widget in %Sidebar%."
|
4533 |
msgstr ""
|
4534 |
|
4535 |
-
#: defaults.php:
|
4536 |
msgid "User modified a widget"
|
4537 |
msgstr ""
|
4538 |
|
4539 |
-
#: defaults.php:
|
4540 |
msgid "Modified the %WidgetName% widget in %Sidebar%."
|
4541 |
msgstr ""
|
4542 |
|
4543 |
-
#: defaults.php:
|
4544 |
msgid "User deleted widget"
|
4545 |
msgstr ""
|
4546 |
|
4547 |
-
#: defaults.php:
|
4548 |
msgid "Deleted the %WidgetName% widget from %Sidebar%."
|
4549 |
msgstr ""
|
4550 |
|
4551 |
-
#: defaults.php:
|
4552 |
msgid "User moved widget"
|
4553 |
msgstr ""
|
4554 |
|
4555 |
-
#: defaults.php:
|
4556 |
msgid "Moved the %WidgetName% widget from %OldSidebar% to %NewSidebar%."
|
4557 |
msgstr ""
|
4558 |
|
4559 |
-
#: defaults.php:
|
4560 |
msgid "User changed widget position"
|
4561 |
msgstr ""
|
4562 |
|
4563 |
-
#: defaults.php:
|
4564 |
msgid "Changed the position of the widget %WidgetName% in sidebar %Sidebar%."
|
4565 |
msgstr ""
|
4566 |
|
4567 |
-
#: defaults.php:
|
4568 |
msgid "WordPress Settings"
|
4569 |
msgstr ""
|
4570 |
|
4571 |
-
#: defaults.php:
|
4572 |
msgid "Option Anyone Can Register in WordPress settings changed"
|
4573 |
msgstr ""
|
4574 |
|
4575 |
-
#: defaults.php:
|
4576 |
msgid "%NewValue% the option \"Anyone can register\"."
|
4577 |
msgstr ""
|
4578 |
|
4579 |
-
#: defaults.php:
|
4580 |
msgid "New User Default Role changed"
|
4581 |
msgstr ""
|
4582 |
|
4583 |
-
#: defaults.php:
|
4584 |
msgid "Changed the New User Default Role from %OldRole% to %NewRole%."
|
4585 |
msgstr ""
|
4586 |
|
4587 |
-
#: defaults.php:
|
4588 |
msgid "WordPress Administrator Notification email changed"
|
4589 |
msgstr ""
|
4590 |
|
4591 |
-
#: defaults.php:
|
4592 |
msgid ""
|
4593 |
"Changed the WordPress administrator notifications email address from "
|
4594 |
"%OldEmail% to %NewEmail%."
|
4595 |
msgstr ""
|
4596 |
|
4597 |
-
#: defaults.php:
|
4598 |
msgid "User changes the WordPress Permalinks"
|
4599 |
msgstr ""
|
4600 |
|
4601 |
-
#: defaults.php:
|
4602 |
msgid "Changed the WordPress permalinks from %OldPattern% to %NewPattern%."
|
4603 |
msgstr ""
|
4604 |
|
4605 |
-
#: defaults.php:
|
4606 |
msgid ""
|
4607 |
"Enabled/Disabled the option Discourage search engines from indexing this site"
|
4608 |
msgstr ""
|
4609 |
|
4610 |
-
#: defaults.php:
|
4611 |
msgid "%Status% the option Discourage search engines from indexing this site."
|
4612 |
msgstr ""
|
4613 |
|
4614 |
-
#: defaults.php:
|
4615 |
msgid "Enabled/Disabled comments on all the website"
|
4616 |
msgstr ""
|
4617 |
|
4618 |
-
#: defaults.php:
|
4619 |
msgid "%Status% comments on all the website."
|
4620 |
msgstr ""
|
4621 |
|
4622 |
-
#: defaults.php:
|
4623 |
msgid "Enabled/Disabled the option Comment author must fill out name and email"
|
4624 |
msgstr ""
|
4625 |
|
4626 |
-
#: defaults.php:
|
4627 |
msgid "%Status% the option Comment author must fill out name and email."
|
4628 |
msgstr ""
|
4629 |
|
4630 |
-
#: defaults.php:
|
4631 |
msgid ""
|
4632 |
"Enabled/Disabled the option Users must be logged in and registered to comment"
|
4633 |
msgstr ""
|
4634 |
|
4635 |
-
#: defaults.php:
|
4636 |
msgid "%Status% the option Users must be logged in and registered to comment."
|
4637 |
msgstr ""
|
4638 |
|
4639 |
-
#: defaults.php:
|
4640 |
msgid "Enabled/Disabled the option to automatically close comments"
|
4641 |
msgstr ""
|
4642 |
|
4643 |
-
#: defaults.php:
|
4644 |
msgid "%Status% the option to automatically close comments after %Value% days."
|
4645 |
msgstr ""
|
4646 |
|
4647 |
-
#: defaults.php:
|
4648 |
msgid "Changed the value of the option Automatically close comments"
|
4649 |
msgstr ""
|
4650 |
|
4651 |
-
#: defaults.php:
|
4652 |
msgid ""
|
4653 |
"Changed the value of the option Automatically close comments from %OldValue% "
|
4654 |
"to %NewValue% days."
|
4655 |
msgstr ""
|
4656 |
|
4657 |
-
#: defaults.php:
|
4658 |
msgid "Enabled/Disabled the option for comments to be manually approved"
|
4659 |
msgstr ""
|
4660 |
|
4661 |
-
#: defaults.php:
|
4662 |
msgid "%Status% the option for comments to be manually approved."
|
4663 |
msgstr ""
|
4664 |
|
4665 |
-
#: defaults.php:
|
4666 |
msgid ""
|
4667 |
"Enabled/Disabled the option for an author to have previously approved "
|
4668 |
"comments for the comments to appear"
|
4669 |
msgstr ""
|
4670 |
|
4671 |
-
#: defaults.php:
|
4672 |
msgid ""
|
4673 |
"%Status% the option for an author to have previously approved comments for "
|
4674 |
"the comments to appear."
|
4675 |
msgstr ""
|
4676 |
|
4677 |
-
#: defaults.php:
|
4678 |
msgid ""
|
4679 |
"Changed the number of links that a comment must have to be held in the queue"
|
4680 |
msgstr ""
|
4681 |
|
4682 |
-
#: defaults.php:
|
4683 |
msgid ""
|
4684 |
"Changed the number of links from %OldValue% to %NewValue% that a comment "
|
4685 |
"must have to be held in the queue."
|
4686 |
msgstr ""
|
4687 |
|
4688 |
-
#: defaults.php:
|
4689 |
msgid "Modified the list of keywords for comments moderation"
|
4690 |
msgstr ""
|
4691 |
|
4692 |
-
#: defaults.php:
|
4693 |
msgid "Modified the list of keywords for comments moderation."
|
4694 |
msgstr ""
|
4695 |
|
4696 |
-
#: defaults.php:
|
4697 |
msgid "Modified the list of keywords for comments blacklisting"
|
4698 |
msgstr ""
|
4699 |
|
4700 |
-
#: defaults.php:
|
4701 |
msgid "Modified the list of keywords for comments blacklisting."
|
4702 |
msgstr ""
|
4703 |
|
4704 |
-
#: defaults.php:
|
4705 |
msgid "Option WordPress Address (URL) in WordPress settings changed"
|
4706 |
msgstr ""
|
4707 |
|
4708 |
-
#: defaults.php:
|
4709 |
msgid "Changed the WordPress address (URL) from %old_url% to %new_url%."
|
4710 |
msgstr ""
|
4711 |
|
4712 |
-
#: defaults.php:
|
4713 |
msgid "Option Site Address (URL) in WordPress settings changed"
|
4714 |
msgstr ""
|
4715 |
|
4716 |
-
#: defaults.php:
|
4717 |
msgid "Changed the site address (URL) from %old_url% to %new_url%."
|
4718 |
msgstr ""
|
4719 |
|
4720 |
-
#: defaults.php:
|
4721 |
msgid "Multisite Network"
|
4722 |
msgstr ""
|
4723 |
|
4724 |
-
#: defaults.php:
|
4725 |
msgid "User granted Super Admin privileges"
|
4726 |
msgstr ""
|
4727 |
|
4728 |
-
#: defaults.php:
|
4729 |
msgid "Granted Super Admin privileges to %TargetUsername%."
|
4730 |
msgstr ""
|
4731 |
|
4732 |
-
#: defaults.php:
|
4733 |
msgid "User revoked from Super Admin privileges"
|
4734 |
msgstr ""
|
4735 |
|
4736 |
-
#: defaults.php:
|
4737 |
msgid "Revoked Super Admin privileges from %TargetUsername%."
|
4738 |
msgstr ""
|
4739 |
|
4740 |
-
#: defaults.php:
|
4741 |
msgid "Existing user added to a site"
|
4742 |
msgstr ""
|
4743 |
|
4744 |
-
#: defaults.php:
|
4745 |
msgid ""
|
4746 |
"Added the existing user %TargetUsername% with %TargetUserRole% role to site "
|
4747 |
"%SiteName%."
|
4748 |
msgstr ""
|
4749 |
|
4750 |
-
#: defaults.php:
|
4751 |
msgid "User removed from site"
|
4752 |
msgstr ""
|
4753 |
|
4754 |
-
#: defaults.php:
|
4755 |
msgid ""
|
4756 |
"Removed the user %TargetUsername% with role %TargetUserRole% from %SiteName% "
|
4757 |
"site."
|
4758 |
msgstr ""
|
4759 |
|
4760 |
-
#: defaults.php:
|
4761 |
msgid "New network user created"
|
4762 |
msgstr ""
|
4763 |
|
4764 |
-
#: defaults.php:
|
4765 |
msgid "Created a new network user %NewUserData->Username%."
|
4766 |
msgstr ""
|
4767 |
|
4768 |
-
#: defaults.php:
|
4769 |
-
msgid "The forum role of a user was changed by another WordPress user"
|
4770 |
-
msgstr ""
|
4771 |
-
|
4772 |
-
#: defaults.php:472
|
4773 |
-
msgid ""
|
4774 |
-
"Change the forum role of the user %TargetUsername% from %OldRole% to %NewRole"
|
4775 |
-
"% by %UserChanger%."
|
4776 |
-
msgstr ""
|
4777 |
-
|
4778 |
-
#: defaults.php:473
|
4779 |
msgid "New site added on the network"
|
4780 |
msgstr ""
|
4781 |
|
4782 |
-
#: defaults.php:
|
4783 |
msgid "Added the site %SiteName% to the network."
|
4784 |
msgstr ""
|
4785 |
|
4786 |
-
#: defaults.php:
|
4787 |
msgid "Existing site archived"
|
4788 |
msgstr ""
|
4789 |
|
4790 |
-
#: defaults.php:
|
4791 |
msgid "Archived the site %SiteName%."
|
4792 |
msgstr ""
|
4793 |
|
4794 |
-
#: defaults.php:
|
4795 |
msgid "Archived site has been unarchived"
|
4796 |
msgstr ""
|
4797 |
|
4798 |
-
#: defaults.php:
|
4799 |
msgid "Unarchived the site %SiteName%."
|
4800 |
msgstr ""
|
4801 |
|
4802 |
-
#: defaults.php:
|
4803 |
msgid "Deactivated site has been activated"
|
4804 |
msgstr ""
|
4805 |
|
4806 |
-
#: defaults.php:
|
4807 |
msgid "Activated the site %SiteName%."
|
4808 |
msgstr ""
|
4809 |
|
4810 |
-
#: defaults.php:
|
4811 |
msgid "Site has been deactivated"
|
4812 |
msgstr ""
|
4813 |
|
4814 |
-
#: defaults.php:
|
4815 |
msgid "Deactivated the site %SiteName%."
|
4816 |
msgstr ""
|
4817 |
|
4818 |
-
#: defaults.php:
|
4819 |
msgid "Existing site deleted from network"
|
4820 |
msgstr ""
|
4821 |
|
4822 |
-
#: defaults.php:
|
4823 |
msgid "Deleted the site %SiteName%."
|
4824 |
msgstr ""
|
4825 |
|
4826 |
-
#: defaults.php:
|
4827 |
msgid "User created new forum"
|
4828 |
msgstr ""
|
4829 |
|
4830 |
-
#: defaults.php:
|
4831 |
msgid ""
|
4832 |
"Created new forum %ForumName%. Forum URL is %ForumURL%. %EditorLinkForum%."
|
4833 |
msgstr ""
|
4834 |
|
4835 |
-
#: defaults.php:
|
4836 |
msgid "User changed status of a forum"
|
4837 |
msgstr ""
|
4838 |
|
4839 |
-
#: defaults.php:
|
4840 |
msgid ""
|
4841 |
"Changed the status of the forum %ForumName% from %OldStatus% to %NewStatus%. "
|
4842 |
"%EditorLinkForum%."
|
4843 |
msgstr ""
|
4844 |
|
4845 |
-
#: defaults.php:
|
4846 |
msgid "User changed visibility of a forum"
|
4847 |
msgstr ""
|
4848 |
|
4849 |
-
#: defaults.php:
|
4850 |
msgid ""
|
4851 |
"Changed the visibility of the forum %ForumName% from %OldVisibility% to "
|
4852 |
"%NewVisibility%. %EditorLinkForum%."
|
4853 |
msgstr ""
|
4854 |
|
4855 |
-
#: defaults.php:
|
4856 |
msgid "User changed the URL of a forum"
|
4857 |
msgstr ""
|
4858 |
|
4859 |
-
#: defaults.php:
|
4860 |
msgid ""
|
4861 |
"Changed the URL of the forum %ForumName% from %OldUrl% to %NewUrl%. "
|
4862 |
"%EditorLinkForum%."
|
4863 |
msgstr ""
|
4864 |
|
4865 |
-
#: defaults.php:
|
4866 |
msgid "User changed order of a forum"
|
4867 |
msgstr ""
|
4868 |
|
4869 |
-
#: defaults.php:
|
4870 |
msgid ""
|
4871 |
"Changed the order of the forum %ForumName% from %OldOrder% to %NewOrder%. "
|
4872 |
"%EditorLinkForum%."
|
4873 |
msgstr ""
|
4874 |
|
4875 |
-
#: defaults.php:
|
4876 |
msgid "User moved forum to trash"
|
4877 |
msgstr ""
|
4878 |
|
4879 |
-
#: defaults.php:
|
4880 |
msgid "Moved the forum %ForumName% to trash."
|
4881 |
msgstr ""
|
4882 |
|
4883 |
-
#: defaults.php:
|
4884 |
msgid "User permanently deleted forum"
|
4885 |
msgstr ""
|
4886 |
|
4887 |
-
#: defaults.php:
|
4888 |
msgid "Permanently deleted the forum %ForumName%."
|
4889 |
msgstr ""
|
4890 |
|
4891 |
-
#: defaults.php:
|
4892 |
msgid "User restored forum from trash"
|
4893 |
msgstr ""
|
4894 |
|
4895 |
-
#: defaults.php:
|
4896 |
msgid "Restored the forum %ForumName% from trash. %EditorLinkForum%."
|
4897 |
msgstr ""
|
4898 |
|
4899 |
-
#: defaults.php:
|
4900 |
msgid "User changed the parent of a forum"
|
4901 |
msgstr ""
|
4902 |
|
4903 |
-
#: defaults.php:
|
4904 |
msgid ""
|
4905 |
"Changed the parent of the forum %ForumName% from %OldParent% to %NewParent%. "
|
4906 |
"%EditorLinkForum%."
|
4907 |
msgstr ""
|
4908 |
|
4909 |
-
#: defaults.php:
|
4910 |
msgid "User changed type of a forum"
|
4911 |
msgstr ""
|
4912 |
|
4913 |
-
#: defaults.php:
|
4914 |
msgid ""
|
4915 |
"Changed the type of the forum %ForumName% from %OldType% to %NewType%. "
|
4916 |
"%EditorLinkForum%."
|
4917 |
msgstr ""
|
4918 |
|
4919 |
-
#: defaults.php:
|
4920 |
msgid "User changed forum's role"
|
4921 |
msgstr ""
|
4922 |
|
4923 |
-
#: defaults.php:
|
4924 |
msgid "Changed the forum's auto role from %OldRole% to %NewRole%."
|
4925 |
msgstr ""
|
4926 |
|
4927 |
-
#: defaults.php:
|
4928 |
msgid "User changed option of a forum"
|
4929 |
msgstr ""
|
4930 |
|
4931 |
-
#: defaults.php:
|
4932 |
msgid "%Status% the option for anonymous posting on forum."
|
4933 |
msgstr ""
|
4934 |
|
4935 |
-
#: defaults.php:
|
4936 |
msgid "User changed time to disallow post editing"
|
4937 |
msgstr ""
|
4938 |
|
4939 |
-
#: defaults.php:
|
4940 |
msgid ""
|
4941 |
"Changed the time to disallow post editing from %OldTime% to %NewTime% "
|
4942 |
"minutes in the forums."
|
4943 |
msgstr ""
|
4944 |
|
4945 |
-
#: defaults.php:
|
4946 |
msgid "User changed the forum setting posting throttle time"
|
4947 |
msgstr ""
|
4948 |
|
4949 |
-
#: defaults.php:
|
4950 |
msgid ""
|
4951 |
"Changed the posting throttle time from %OldTime% to %NewTime% seconds in the "
|
4952 |
"forums."
|
4953 |
msgstr ""
|
4954 |
|
4955 |
-
#: defaults.php:
|
4956 |
msgid "User created new topic"
|
4957 |
msgstr ""
|
4958 |
|
4959 |
-
#: defaults.php:
|
4960 |
msgid "Created a new topic %TopicName%. %EditorLinkTopic%."
|
4961 |
msgstr ""
|
4962 |
|
4963 |
-
#: defaults.php:
|
4964 |
msgid "User changed status of a topic"
|
4965 |
msgstr ""
|
4966 |
|
4967 |
-
#: defaults.php:
|
4968 |
msgid ""
|
4969 |
"Changed the status of the topic %TopicName% from %OldStatus% to %NewStatus%. "
|
4970 |
"%EditorLinkTopic%."
|
4971 |
msgstr ""
|
4972 |
|
4973 |
-
#: defaults.php:
|
4974 |
msgid "User changed type of a topic"
|
4975 |
msgstr ""
|
4976 |
|
4977 |
-
#: defaults.php:
|
4978 |
msgid ""
|
4979 |
"Changed the type of the topic %TopicName% from %OldType% to %NewType%. "
|
4980 |
"%EditorLinkTopic%."
|
4981 |
msgstr ""
|
4982 |
|
4983 |
-
#: defaults.php:
|
4984 |
msgid "User changed URL of a topic"
|
4985 |
msgstr ""
|
4986 |
|
4987 |
-
#: defaults.php:
|
4988 |
msgid "Changed the URL of the topic %TopicName% from %OldUrl% to %NewUrl%."
|
4989 |
msgstr ""
|
4990 |
|
4991 |
-
#: defaults.php:
|
4992 |
msgid "User changed the forum of a topic"
|
4993 |
msgstr ""
|
4994 |
|
4995 |
-
#: defaults.php:
|
4996 |
msgid ""
|
4997 |
"Changed the forum of the topic %TopicName% from %OldForum% to %NewForum%. "
|
4998 |
"%EditorLinkTopic%."
|
4999 |
msgstr ""
|
5000 |
|
5001 |
-
#: defaults.php:
|
5002 |
msgid "User moved topic to trash"
|
5003 |
msgstr ""
|
5004 |
|
5005 |
-
#: defaults.php:
|
5006 |
msgid "Moved the topic %TopicName% to trash."
|
5007 |
msgstr ""
|
5008 |
|
5009 |
-
#: defaults.php:
|
5010 |
msgid "User permanently deleted topic"
|
5011 |
msgstr ""
|
5012 |
|
5013 |
-
#: defaults.php:
|
5014 |
msgid "Permanently deleted the topic %TopicName%."
|
5015 |
msgstr ""
|
5016 |
|
5017 |
-
#: defaults.php:
|
5018 |
msgid "User restored topic from trash"
|
5019 |
msgstr ""
|
5020 |
|
5021 |
-
#: defaults.php:
|
5022 |
msgid "Restored the topic %TopicName% from trash. %EditorLinkTopic%."
|
5023 |
msgstr ""
|
5024 |
|
5025 |
-
#: defaults.php:
|
5026 |
msgid "User changed visibility of a topic"
|
5027 |
msgstr ""
|
5028 |
|
5029 |
-
#: defaults.php:
|
5030 |
msgid ""
|
5031 |
"Changed the visibility of the topic %TopicName% from %OldVisibility% to "
|
5032 |
"%NewVisibility%. %EditorLinkTopic%."
|
5033 |
msgstr ""
|
5034 |
|
5035 |
-
#: defaults.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5036 |
msgid "User created a new product"
|
5037 |
msgstr ""
|
5038 |
|
5039 |
-
#: defaults.php:
|
5040 |
msgid ""
|
5041 |
"Created a new product called %ProductTitle% and saved it as draft. View the "
|
5042 |
"product: %EditorLinkProduct%."
|
5043 |
msgstr ""
|
5044 |
|
5045 |
-
#: defaults.php:
|
5046 |
msgid "User published a product"
|
5047 |
msgstr ""
|
5048 |
|
5049 |
-
#: defaults.php:
|
5050 |
msgid ""
|
5051 |
"Published a product called %ProductTitle%. Product URL is %ProductUrl%. View "
|
5052 |
"the product: %EditorLinkProduct%."
|
5053 |
msgstr ""
|
5054 |
|
5055 |
-
#: defaults.php:
|
5056 |
msgid "User changed the category of a product"
|
5057 |
msgstr ""
|
5058 |
|
5059 |
-
#: defaults.php:
|
5060 |
msgid ""
|
5061 |
"Changed the category of the %ProductStatus% product %ProductTitle% from "
|
5062 |
"%OldCategories% to %NewCategories%. View the product: %EditorLinkProduct%."
|
5063 |
msgstr ""
|
5064 |
|
5065 |
-
#: defaults.php:
|
5066 |
msgid "User modified the short description of a product"
|
5067 |
msgstr ""
|
5068 |
|
5069 |
-
#: defaults.php:
|
5070 |
msgid ""
|
5071 |
"Modified the short description of the %ProductStatus% product %ProductTitle%."
|
5072 |
"%ChangeText% View the product: %EditorLinkProduct%."
|
5073 |
msgstr ""
|
5074 |
|
5075 |
-
#: defaults.php:
|
5076 |
msgid "User modified the text of a product"
|
5077 |
msgstr ""
|
5078 |
|
5079 |
-
#: defaults.php:
|
5080 |
msgid ""
|
5081 |
"Modified the text of the %ProductStatus% product %ProductTitle%. View the "
|
5082 |
"product: %EditorLinkProduct%."
|
5083 |
msgstr ""
|
5084 |
|
5085 |
-
#: defaults.php:
|
5086 |
msgid "User changed the URL of a product"
|
5087 |
msgstr ""
|
5088 |
|
5089 |
-
#: defaults.php:
|
5090 |
msgid ""
|
5091 |
"Changed the URL of the %ProductStatus% product %ProductTitle%%ReportText%."
|
5092 |
"%ChangeText% View the product: %EditorLinkProduct%."
|
5093 |
msgstr ""
|
5094 |
|
5095 |
-
#: defaults.php:
|
5096 |
msgid "User changed the date of a product"
|
5097 |
msgstr ""
|
5098 |
|
5099 |
-
#: defaults.php:
|
5100 |
msgid ""
|
5101 |
"Changed the date of the %ProductStatus% product %ProductTitle% from %OldDate"
|
5102 |
"% to %NewDate%. View the product: %EditorLinkProduct%."
|
5103 |
msgstr ""
|
5104 |
|
5105 |
-
#: defaults.php:
|
5106 |
msgid "User changed the visibility of a product"
|
5107 |
msgstr ""
|
5108 |
|
5109 |
-
#: defaults.php:
|
5110 |
msgid ""
|
5111 |
"Changed the visibility of the %ProductStatus% product %ProductTitle% from "
|
5112 |
"%OldVisibility% to %NewVisibility%. View the product: %EditorLinkProduct%."
|
5113 |
msgstr ""
|
5114 |
|
5115 |
-
#: defaults.php:
|
5116 |
msgid "User modified the product"
|
5117 |
msgstr ""
|
5118 |
|
5119 |
-
#: defaults.php:
|
5120 |
msgid ""
|
5121 |
"Modified the %ProductStatus% product %ProductTitle%. Product URL is "
|
5122 |
"%ProductUrl%. View the product: %EditorLinkProduct%."
|
5123 |
msgstr ""
|
5124 |
|
5125 |
-
#: defaults.php:
|
5126 |
msgid "User modified the draft product"
|
5127 |
msgstr ""
|
5128 |
|
5129 |
-
#: defaults.php:
|
5130 |
msgid ""
|
5131 |
"Modified the draft product %ProductTitle%. View the product: "
|
5132 |
"%EditorLinkProduct%."
|
5133 |
msgstr ""
|
5134 |
|
5135 |
-
#: defaults.php:
|
5136 |
msgid "User moved a product to trash"
|
5137 |
msgstr ""
|
5138 |
|
5139 |
-
#: defaults.php:
|
5140 |
msgid ""
|
5141 |
"Moved the %ProductStatus% product %ProductTitle% to trash. Product URL was "
|
5142 |
"%ProductUrl%."
|
5143 |
msgstr ""
|
5144 |
|
5145 |
-
#: defaults.php:
|
5146 |
msgid "User permanently deleted a product"
|
5147 |
msgstr ""
|
5148 |
|
5149 |
-
#: defaults.php:
|
5150 |
msgid "Permanently deleted the product %ProductTitle%."
|
5151 |
msgstr ""
|
5152 |
|
5153 |
-
#: defaults.php:
|
5154 |
msgid "User restored a product from the trash"
|
5155 |
msgstr ""
|
5156 |
|
5157 |
-
#: defaults.php:
|
5158 |
msgid ""
|
5159 |
"Product %ProductTitle% has been restored from trash. View product: "
|
5160 |
"%EditorLinkProduct%."
|
5161 |
msgstr ""
|
5162 |
|
5163 |
-
#: defaults.php:
|
5164 |
msgid "User changed status of a product"
|
5165 |
msgstr ""
|
5166 |
|
5167 |
-
#: defaults.php:
|
5168 |
msgid ""
|
5169 |
"Changed the status of the product %ProductTitle% from %OldStatus% to "
|
5170 |
"%NewStatus%. View the product: %EditorLinkProduct%."
|
5171 |
msgstr ""
|
5172 |
|
5173 |
-
#: defaults.php:
|
5174 |
msgid "User opened a product in the editor"
|
5175 |
msgstr ""
|
5176 |
|
5177 |
-
#: defaults.php:
|
5178 |
msgid ""
|
5179 |
"Opened the %ProductStatus% product page %ProductTitle% in editor. View the "
|
5180 |
"product: %EditorLinkProduct%."
|
5181 |
msgstr ""
|
5182 |
|
5183 |
-
#: defaults.php:
|
5184 |
msgid "User viewed a product"
|
5185 |
msgstr ""
|
5186 |
|
5187 |
-
#: defaults.php:
|
5188 |
msgid ""
|
5189 |
"Viewed the %ProductStatus% product page %ProductTitle%. View the product: "
|
5190 |
"%EditorLinkProduct%."
|
5191 |
msgstr ""
|
5192 |
|
5193 |
-
#: defaults.php:
|
5194 |
msgid "User renamed a product"
|
5195 |
msgstr ""
|
5196 |
|
5197 |
-
#: defaults.php:
|
5198 |
msgid ""
|
5199 |
"Renamed the %ProductStatus% product from %OldTitle% to %NewTitle%. View the "
|
5200 |
"product: %EditorLinkProduct%."
|
5201 |
msgstr ""
|
5202 |
|
5203 |
-
#: defaults.php:
|
5204 |
msgid "User changed the Product Data of a product"
|
5205 |
msgstr ""
|
5206 |
|
5207 |
-
#: defaults.php:
|
5208 |
msgid ""
|
5209 |
"Changed the Product Type of the %ProductStatus% product %ProductTitle% from "
|
5210 |
"%OldType% to %NewType%. View the product: %EditorLinkProduct%."
|
5211 |
msgstr ""
|
5212 |
|
5213 |
-
#: defaults.php:
|
5214 |
msgid "User changed type of a price"
|
5215 |
msgstr ""
|
5216 |
|
5217 |
-
#: defaults.php:
|
5218 |
msgid ""
|
5219 |
"Changed the %PriceType% of the %ProductStatus% product %ProductTitle% from "
|
5220 |
"%OldPrice% to %NewPrice%. View the product: %EditorLinkProduct%."
|
5221 |
msgstr ""
|
5222 |
|
5223 |
-
#: defaults.php:
|
5224 |
msgid "User changed the SKU of a product"
|
5225 |
msgstr ""
|
5226 |
|
5227 |
-
#: defaults.php:
|
5228 |
msgid ""
|
5229 |
"Changed the SKU of the %ProductStatus% product %ProductTitle% from %OldSku% "
|
5230 |
"to %NewSku%. View the product: %EditorLinkProduct%."
|
5231 |
msgstr ""
|
5232 |
|
5233 |
-
#: defaults.php:
|
5234 |
msgid "User changed the stock status of a product"
|
5235 |
msgstr ""
|
5236 |
|
5237 |
-
#: defaults.php:
|
5238 |
msgid ""
|
5239 |
"Changed the stock status of the %ProductStatus% product %ProductTitle% from "
|
5240 |
"%OldStatus% to %NewStatus%. View the product: %EditorLinkProduct%."
|
5241 |
msgstr ""
|
5242 |
|
5243 |
-
#: defaults.php:
|
5244 |
msgid "User changed the stock quantity"
|
5245 |
msgstr ""
|
5246 |
|
5247 |
-
#: defaults.php:
|
5248 |
msgid ""
|
5249 |
"Changed the stock quantity of the %ProductStatus% product %ProductTitle% "
|
5250 |
"from %OldValue% to %NewValue%. View the product: %EditorLinkProduct%"
|
5251 |
msgstr ""
|
5252 |
|
5253 |
-
#: defaults.php:
|
5254 |
msgid "User set a product type"
|
5255 |
msgstr ""
|
5256 |
|
5257 |
-
#: defaults.php:
|
5258 |
msgid ""
|
5259 |
"Changed the type of the %ProductStatus% simple product %ProductTitle% from "
|
5260 |
"%OldType% to %NewType%. View the product: %EditorLinkProduct%."
|
5261 |
msgstr ""
|
5262 |
|
5263 |
-
#: defaults.php:
|
5264 |
msgid "User changed the weight of a product"
|
5265 |
msgstr ""
|
5266 |
|
5267 |
-
#: defaults.php:
|
5268 |
msgid ""
|
5269 |
"Changed the weight of the %ProductStatus% product %ProductTitle% from "
|
5270 |
"%OldWeight% to %NewWeight%. View the product: %EditorLinkProduct%."
|
5271 |
msgstr ""
|
5272 |
|
5273 |
-
#: defaults.php:
|
5274 |
msgid "User changed the dimensions of a product"
|
5275 |
msgstr ""
|
5276 |
|
5277 |
-
#: defaults.php:
|
5278 |
msgid ""
|
5279 |
"Changed the %DimensionType% dimensions of the %ProductStatus% product "
|
5280 |
"%ProductTitle% from %OldDimension% to %NewDimension%. View the product: "
|
5281 |
"%EditorLinkProduct%."
|
5282 |
msgstr ""
|
5283 |
|
5284 |
-
#: defaults.php:
|
5285 |
msgid "User added the Downloadable File to a product"
|
5286 |
msgstr ""
|
5287 |
|
5288 |
-
#: defaults.php:
|
5289 |
msgid ""
|
5290 |
"Added the Downloadable File %FileName% with File URL %FileUrl% to the "
|
5291 |
"%ProductStatus% product %ProductTitle%. View the product: %EditorLinkProduct"
|
5292 |
"%."
|
5293 |
msgstr ""
|
5294 |
|
5295 |
-
#: defaults.php:
|
5296 |
msgid "User Removed the Downloadable File from a product"
|
5297 |
msgstr ""
|
5298 |
|
5299 |
-
#: defaults.php:
|
5300 |
msgid ""
|
5301 |
"Removed the Downloadable File %FileName% with File URL %FileUrl% from the "
|
5302 |
"%ProductStatus% product %ProductTitle%. View the product: %EditorLinkProduct"
|
5303 |
"%."
|
5304 |
msgstr ""
|
5305 |
|
5306 |
-
#: defaults.php:
|
5307 |
msgid "User changed the name of a Downloadable File in a product"
|
5308 |
msgstr ""
|
5309 |
|
5310 |
-
#: defaults.php:
|
5311 |
msgid ""
|
5312 |
"Changed the name of a Downloadable File from %OldName% to %NewName% in "
|
5313 |
"%ProductStatus% product %ProductTitle%. View the product: %EditorLinkProduct"
|
5314 |
"%."
|
5315 |
msgstr ""
|
5316 |
|
5317 |
-
#: defaults.php:
|
5318 |
msgid "User changed the URL of the Downloadable File in a product"
|
5319 |
msgstr ""
|
5320 |
|
5321 |
-
#: defaults.php:
|
5322 |
msgid ""
|
5323 |
"Changed the URL of the Downloadable File %FileName% from %OldUrl% to %NewUrl"
|
5324 |
"% in %ProductStatus% product %ProductTitle%. View the product: "
|
5325 |
"%EditorLinkProduct%."
|
5326 |
msgstr ""
|
5327 |
|
5328 |
-
#: defaults.php:
|
5329 |
msgid "User changed the catalog visibility of a product"
|
5330 |
msgstr ""
|
5331 |
|
5332 |
-
#: defaults.php:
|
5333 |
msgid ""
|
5334 |
"Changed the catalog visibility of the %ProductStatus% product %ProductTitle% "
|
5335 |
"from %OldVisibility% to %NewVisibility%. View the product: %EditorLinkProduct"
|
5336 |
"%."
|
5337 |
msgstr ""
|
5338 |
|
5339 |
-
#: defaults.php:
|
5340 |
msgid "User changed the setting Featured Product of a product"
|
5341 |
msgstr ""
|
5342 |
|
5343 |
-
#: defaults.php:
|
5344 |
msgid ""
|
5345 |
"%Status% the setting Featured Product in the %ProductStatus% product "
|
5346 |
"%ProductTitle%. View the product: %EditorLinkProduct%."
|
5347 |
msgstr ""
|
5348 |
|
5349 |
-
#: defaults.php:
|
5350 |
msgid "User changed the Allow Backorders setting of a product"
|
5351 |
msgstr ""
|
5352 |
|
5353 |
-
#: defaults.php:
|
5354 |
msgid ""
|
5355 |
"Changed the Allow Backorders setting of the %ProductStatus% product "
|
5356 |
"%ProductTitle% from %OldStatus% to %NewStatus%. View the product: "
|
5357 |
"%EditorLinkProduct%."
|
5358 |
msgstr ""
|
5359 |
|
5360 |
-
#: defaults.php:
|
5361 |
msgid "User added/removed products to upsell of a product"
|
5362 |
msgstr ""
|
5363 |
|
5364 |
-
#: defaults.php:
|
5365 |
msgid ""
|
5366 |
"%Status% the product %UpsellTitle% to Upsells in the %ProductStatus% product "
|
5367 |
"%ProductTitle%. View the product: %EditorLinkProduct%."
|
5368 |
msgstr ""
|
5369 |
|
5370 |
-
#: defaults.php:
|
5371 |
msgid "User added/removed products to cross-sells of a product"
|
5372 |
msgstr ""
|
5373 |
|
5374 |
-
#: defaults.php:
|
5375 |
msgid ""
|
5376 |
"%Status% the product %CrossSellTitle% to Cross-sells in the %ProductStatus% "
|
5377 |
"product %ProductTitle%. View the product: %EditorLinkProduct%."
|
5378 |
msgstr ""
|
5379 |
|
5380 |
-
#: defaults.php:
|
5381 |
msgid "Added a new attribute of a product"
|
5382 |
msgstr ""
|
5383 |
|
5384 |
-
#: defaults.php:
|
5385 |
msgid ""
|
5386 |
"Added a new attribute called %AttributeName% with value %AttributeValue% in "
|
5387 |
"the %ProductStatus% product %ProductTitle%. View the product: "
|
5388 |
"%EditorLinkProduct%."
|
5389 |
msgstr ""
|
5390 |
|
5391 |
-
#: defaults.php:
|
5392 |
msgid "Modified the value of an attribute of a product"
|
5393 |
msgstr ""
|
5394 |
|
5395 |
-
#: defaults.php:
|
5396 |
msgid ""
|
5397 |
"Modified the value of the attribute %AttributeName% from %OldValue% to "
|
5398 |
"%NewValue% in the %ProductStatus% product %ProductTitle%. View the product: "
|
5399 |
"%EditorLinkProduct%."
|
5400 |
msgstr ""
|
5401 |
|
5402 |
-
#: defaults.php:
|
5403 |
msgid "Changed the name of an attribute of a product"
|
5404 |
msgstr ""
|
5405 |
|
5406 |
-
#: defaults.php:
|
5407 |
msgid ""
|
5408 |
"Changed the attribute's name from %OldValue% to %NewValue% in the "
|
5409 |
"%ProductStatus% product %ProductTitle%. URL is: %ProductUrl%. View the "
|
5410 |
"product: %EditorLinkProduct%."
|
5411 |
msgstr ""
|
5412 |
|
5413 |
-
#: defaults.php:
|
5414 |
msgid "Deleted an attribute of a product"
|
5415 |
msgstr ""
|
5416 |
|
5417 |
-
#: defaults.php:
|
5418 |
msgid ""
|
5419 |
"Deleted the attribute %AttributeName% with value %AttributeValue% from "
|
5420 |
"%ProductStatus% product %ProductTitle%. URL is: %ProductUrl%. View the "
|
5421 |
"product: %EditorLinkProduct%."
|
5422 |
msgstr ""
|
5423 |
|
5424 |
-
#: defaults.php:
|
5425 |
msgid "Set the attribute visibility of a product"
|
5426 |
msgstr ""
|
5427 |
|
5428 |
-
#: defaults.php:
|
5429 |
msgid ""
|
5430 |
"Set the attribute %AttributeName% as %AttributeVisiblilty% on product page "
|
5431 |
"in %ProductStatus% product %ProductTitle%. View the product: "
|
5432 |
"%EditorLinkProduct%."
|
5433 |
msgstr ""
|
5434 |
|
5435 |
-
#: defaults.php:
|
5436 |
msgid "User changed the Weight Unit"
|
5437 |
msgstr ""
|
5438 |
|
5439 |
-
#: defaults.php:
|
5440 |
msgid "Changed the Weight Unit from %OldUnit% to %NewUnit% in WooCommerce."
|
5441 |
msgstr ""
|
5442 |
|
5443 |
-
#: defaults.php:
|
5444 |
msgid "User changed the Dimensions Unit"
|
5445 |
msgstr ""
|
5446 |
|
5447 |
-
#: defaults.php:
|
5448 |
msgid "Changed the Dimensions Unit from %OldUnit% to %NewUnit% in WooCommerce."
|
5449 |
msgstr ""
|
5450 |
|
5451 |
-
#: defaults.php:
|
5452 |
msgid "User changed the Base Location"
|
5453 |
msgstr ""
|
5454 |
|
5455 |
-
#: defaults.php:
|
5456 |
msgid ""
|
5457 |
"Changed the Base Location from %OldLocation% to %NewLocation% in WooCommerce."
|
5458 |
msgstr ""
|
5459 |
|
5460 |
-
#: defaults.php:
|
5461 |
msgid "User Enabled/Disabled taxes"
|
5462 |
msgstr ""
|
5463 |
|
5464 |
-
#: defaults.php:
|
5465 |
msgid "%Status% taxes in the WooCommerce store."
|
5466 |
msgstr ""
|
5467 |
|
5468 |
-
#: defaults.php:
|
5469 |
msgid "User changed the currency"
|
5470 |
msgstr ""
|
5471 |
|
5472 |
-
#: defaults.php:
|
5473 |
msgid ""
|
5474 |
"Changed the currency from %OldCurrency% to %NewCurrency% in WooCommerce."
|
5475 |
msgstr ""
|
5476 |
|
5477 |
-
#: defaults.php:
|
5478 |
msgid "User Enabled/Disabled the use of coupons during checkout"
|
5479 |
msgstr ""
|
5480 |
|
5481 |
-
#: defaults.php:
|
5482 |
msgid "%Status% the use of coupons during checkout in WooCommerce."
|
5483 |
msgstr ""
|
5484 |
|
5485 |
-
#: defaults.php:
|
5486 |
msgid "User Enabled/Disabled guest checkout"
|
5487 |
msgstr ""
|
5488 |
|
5489 |
-
#: defaults.php:
|
5490 |
msgid "%Status% guest checkout in WooCommerce."
|
5491 |
msgstr ""
|
5492 |
|
5493 |
-
#: defaults.php:
|
5494 |
msgid "User Enabled/Disabled cash on delivery"
|
5495 |
msgstr ""
|
5496 |
|
5497 |
-
#: defaults.php:
|
5498 |
msgid "%Status% the option Cash on Delivery in WooCommerce."
|
5499 |
msgstr ""
|
5500 |
|
5501 |
-
#: defaults.php:
|
5502 |
msgid "User enabled a payment gateway"
|
5503 |
msgstr ""
|
5504 |
|
5505 |
-
#: defaults.php:
|
5506 |
msgid "Enabled the payment gateway %GatewayName%."
|
5507 |
msgstr ""
|
5508 |
|
5509 |
-
#: defaults.php:
|
5510 |
msgid "User disabled a payment gateway"
|
5511 |
msgstr ""
|
5512 |
|
5513 |
-
#: defaults.php:
|
5514 |
msgid "Disabled the payment gateway %GatewayName%."
|
5515 |
msgstr ""
|
5516 |
|
5517 |
-
#: defaults.php:
|
5518 |
msgid "User modified a payment gateway"
|
5519 |
msgstr ""
|
5520 |
|
5521 |
-
#: defaults.php:
|
5522 |
msgid "Modified the payment gateway %GatewayName%."
|
5523 |
msgstr ""
|
5524 |
|
5525 |
-
#: defaults.php:
|
5526 |
msgid "User modified prices with tax option"
|
5527 |
msgstr ""
|
5528 |
|
5529 |
-
#: defaults.php:
|
5530 |
msgid "Set the option that prices are %TaxStatus% of tax."
|
5531 |
msgstr ""
|
5532 |
|
5533 |
-
#: defaults.php:
|
5534 |
msgid "User modified tax calculation base"
|
5535 |
msgstr ""
|
5536 |
|
5537 |
-
#: defaults.php:
|
5538 |
msgid "Set the setting Calculate tax based on to %Setting%."
|
5539 |
msgstr ""
|
5540 |
|
5541 |
-
#: defaults.php:
|
5542 |
msgid "User modified shipping tax class"
|
5543 |
msgstr ""
|
5544 |
|
5545 |
-
#: defaults.php:
|
5546 |
msgid "Set the Shipping tax class to %Setting%."
|
5547 |
msgstr ""
|
5548 |
|
5549 |
-
#: defaults.php:
|
5550 |
msgid "User enabled/disabled rounding of tax"
|
5551 |
msgstr ""
|
5552 |
|
5553 |
-
#: defaults.php:
|
5554 |
msgid "%Status% rounding of tax at subtotal level."
|
5555 |
msgstr ""
|
5556 |
|
5557 |
-
#: defaults.php:
|
5558 |
msgid "User modified a shipping zone"
|
5559 |
msgstr ""
|
5560 |
|
5561 |
-
#: defaults.php:
|
5562 |
msgid "%ShippingZoneStatus% the shipping zone %ShippingZoneName%."
|
5563 |
msgstr ""
|
5564 |
|
5565 |
-
#: defaults.php:
|
5566 |
msgid "User created a new product category"
|
5567 |
msgstr ""
|
5568 |
|
5569 |
-
#: defaults.php:
|
5570 |
msgid ""
|
5571 |
"Created a new product category called %CategoryName% in WooCommerce. Product "
|
5572 |
"category slug is %Slug%."
|
5573 |
msgstr ""
|
5574 |
|
5575 |
-
#: defaults.php:
|
5576 |
msgid "User deleted a product category"
|
5577 |
msgstr ""
|
5578 |
|
5579 |
-
#: defaults.php:
|
5580 |
msgid ""
|
5581 |
"Deleted the product category called %CategoryName% in WooCommerce. Product "
|
5582 |
"category slug was %CategorySlug%."
|
5583 |
msgstr ""
|
5584 |
|
5585 |
-
#: defaults.php:
|
5586 |
msgid "User changed the slug of a product category"
|
5587 |
msgstr ""
|
5588 |
|
5589 |
-
#: defaults.php:
|
5590 |
msgid ""
|
5591 |
"Changed the Slug of the product category %CategoryName% in WooCommerce from "
|
5592 |
"%OldSlug% to %NewSlug%."
|
5593 |
msgstr ""
|
5594 |
|
5595 |
-
#: defaults.php:
|
5596 |
msgid "User changed the parent category of a product category"
|
5597 |
msgstr ""
|
5598 |
|
5599 |
-
#: defaults.php:
|
5600 |
msgid ""
|
5601 |
"Changed the Parent Category of the product category %CategoryName% in "
|
5602 |
"WooCommerce from %OldParentCat% to %NewParentCat%."
|
5603 |
msgstr ""
|
5604 |
|
5605 |
-
#: defaults.php:
|
5606 |
msgid "User changed the display type of a product category"
|
5607 |
msgstr ""
|
5608 |
|
5609 |
-
#: defaults.php:
|
5610 |
msgid ""
|
5611 |
"Changed the Display Type of the product category %CategoryName% in "
|
5612 |
"WooCommerce from %OldDisplayType% to %NewDisplayType%."
|
5613 |
msgstr ""
|
5614 |
|
5615 |
-
#: defaults.php:
|
5616 |
msgid "User changed the name of a product category"
|
5617 |
msgstr ""
|
5618 |
|
5619 |
-
#: defaults.php:
|
5620 |
msgid ""
|
5621 |
"Changed the name of the product category %CategoryName% in WooCommerce from "
|
5622 |
"%OldName% to %NewName%."
|
5623 |
msgstr ""
|
5624 |
|
5625 |
-
#: defaults.php:
|
5626 |
msgid "User created a new attribute"
|
5627 |
msgstr ""
|
5628 |
|
5629 |
-
#: defaults.php:
|
5630 |
msgid ""
|
5631 |
"Created a new Attribute called %AttributeName% with slug %AttributeSlug% in "
|
5632 |
"WooCommerce."
|
5633 |
msgstr ""
|
5634 |
|
5635 |
-
#: defaults.php:
|
5636 |
msgid "User deleted an attribute"
|
5637 |
msgstr ""
|
5638 |
|
5639 |
-
#: defaults.php:
|
5640 |
msgid ""
|
5641 |
"Deleted the Attribute called %AttributeName% with Slug %AttributeSlug% from "
|
5642 |
"WooCommerce."
|
5643 |
msgstr ""
|
5644 |
|
5645 |
-
#: defaults.php:
|
5646 |
msgid "User changed the slug of an attribute"
|
5647 |
msgstr ""
|
5648 |
|
5649 |
-
#: defaults.php:
|
5650 |
msgid ""
|
5651 |
"Changed the Slug of the Attribute %AttributeName% in WooCommerce from "
|
5652 |
"%OldSlug% to %NewSlug%."
|
5653 |
msgstr ""
|
5654 |
|
5655 |
-
#: defaults.php:
|
5656 |
msgid "User changed the name of an attribute"
|
5657 |
msgstr ""
|
5658 |
|
5659 |
-
#: defaults.php:
|
5660 |
msgid ""
|
5661 |
"Changed the Name of the Attribute %AttributeName% in WooCommerce from "
|
5662 |
"%OldName% to %NewName%."
|
5663 |
msgstr ""
|
5664 |
|
5665 |
-
#: defaults.php:
|
5666 |
msgid "User changed the default sort order of an attribute"
|
5667 |
msgstr ""
|
5668 |
|
5669 |
-
#: defaults.php:
|
5670 |
msgid ""
|
5671 |
"Changed the Default Sort Order of the Attribute %AttributeName% in "
|
5672 |
"WooCommerce from %OldSortOrder% to %NewSortOrder%."
|
5673 |
msgstr ""
|
5674 |
|
5675 |
-
#: defaults.php:
|
5676 |
msgid "User enabled/disabled the option Enable Archives of an attribute"
|
5677 |
msgstr ""
|
5678 |
|
5679 |
-
#: defaults.php:
|
5680 |
msgid ""
|
5681 |
"%ArchivesStatus% the option Enable Archives in the Attribute %AttributeName% "
|
5682 |
"in WooCommerce."
|
5683 |
msgstr ""
|
5684 |
|
5685 |
-
#: defaults.php:
|
5686 |
msgid "User published a new coupon"
|
5687 |
msgstr ""
|
5688 |
|
5689 |
-
#: defaults.php:
|
5690 |
msgid "Published a new coupon called %CouponName% in WooCommerce."
|
5691 |
msgstr ""
|
5692 |
|
5693 |
-
#: defaults.php:
|
5694 |
msgid "User changed the discount type of a coupon"
|
5695 |
msgstr ""
|
5696 |
|
5697 |
-
#: defaults.php:
|
5698 |
msgid ""
|
5699 |
"Changed the Discount Type of the %CouponStatus% WooCommerce coupon "
|
5700 |
"%CouponName% from %OldDiscountType% to %NewDiscountType%."
|
5701 |
msgstr ""
|
5702 |
|
5703 |
-
#: defaults.php:
|
5704 |
msgid "User changed the coupon amount of a coupon"
|
5705 |
msgstr ""
|
5706 |
|
5707 |
-
#: defaults.php:
|
5708 |
msgid ""
|
5709 |
"Changed the Coupon Amount of the %CouponStatus% WooCommerce coupon "
|
5710 |
"%CouponName% from %OldAmount% to %NewAmount%."
|
5711 |
msgstr ""
|
5712 |
|
5713 |
-
#: defaults.php:
|
5714 |
msgid "User changed the coupon expire date of a coupon"
|
5715 |
msgstr ""
|
5716 |
|
5717 |
-
#: defaults.php:
|
5718 |
msgid ""
|
5719 |
"Changed the Coupon Expire Date of the %CouponStatus% WooCommerce coupon "
|
5720 |
"%CouponName% from %OldDate% to %NewDate%."
|
5721 |
msgstr ""
|
5722 |
|
5723 |
-
#: defaults.php:
|
5724 |
msgid "User changed the usage restriction settings of a coupon"
|
5725 |
msgstr ""
|
5726 |
|
5727 |
-
#: defaults.php:
|
5728 |
msgid ""
|
5729 |
"Changed the Usage Restriction settings of the %CouponStatus% WooCommerce "
|
5730 |
"coupon %CouponName%."
|
5731 |
msgstr ""
|
5732 |
|
5733 |
-
#: defaults.php:
|
5734 |
msgid "User changed the usage limits settings of a coupon"
|
5735 |
msgstr ""
|
5736 |
|
5737 |
-
#: defaults.php:
|
5738 |
msgid ""
|
5739 |
"Changed the Usage Limits settings of the %CouponStatus% WooCommerce coupon "
|
5740 |
"%CouponName%."
|
5741 |
msgstr ""
|
5742 |
|
5743 |
-
#: defaults.php:
|
5744 |
msgid "User changed the description of a coupon"
|
5745 |
msgstr ""
|
5746 |
|
5747 |
-
#: defaults.php:
|
5748 |
msgid ""
|
5749 |
"Changed the Description of the %CouponStatus% WooCommerce coupon %CouponName"
|
5750 |
"%."
|
5751 |
msgstr ""
|
5752 |
|
5753 |
-
#: defaults.php:
|
5754 |
msgid "User changed the status of a coupon"
|
5755 |
msgstr ""
|
5756 |
|
5757 |
-
#: defaults.php:
|
5758 |
msgid ""
|
5759 |
"Changed the Status of the WooCommerce coupon %CouponName% from %OldStatus% "
|
5760 |
"to %NewStatus%."
|
5761 |
msgstr ""
|
5762 |
|
5763 |
-
#: defaults.php:
|
5764 |
msgid "User renamed a WooCommerce coupon"
|
5765 |
msgstr ""
|
5766 |
|
5767 |
-
#: defaults.php:
|
5768 |
msgid "Renamed the WooCommerce coupon %OldName% to %NewName%."
|
5769 |
msgstr ""
|
5770 |
|
5771 |
-
#: defaults.php:
|
5772 |
msgid "A WooCommerce order has been placed"
|
5773 |
msgstr ""
|
5774 |
|
5775 |
-
#: defaults.php:
|
5776 |
msgid ""
|
5777 |
"A WooCommerce order %OrderTitle% has just been placed. %EditorLinkOrder%."
|
5778 |
msgstr ""
|
5779 |
|
5780 |
-
#: defaults.php:
|
5781 |
msgid "WooCommerce order status changed"
|
5782 |
msgstr ""
|
5783 |
|
5784 |
-
#: defaults.php:
|
5785 |
msgid ""
|
5786 |
"Marked the WooCommerce order %OrderTitle% as %OrderStatus%. %EditorLinkOrder"
|
5787 |
"%."
|
5788 |
msgstr ""
|
5789 |
|
5790 |
-
#: defaults.php:
|
5791 |
msgid "User moved a WooCommerce order to trash"
|
5792 |
msgstr ""
|
5793 |
|
5794 |
-
#: defaults.php:
|
5795 |
msgid "Moved the WooCommerce order %OrderTitle% to trash."
|
5796 |
msgstr ""
|
5797 |
|
5798 |
-
#: defaults.php:
|
5799 |
msgid "User moved a WooCommerce order out of trash"
|
5800 |
msgstr ""
|
5801 |
|
5802 |
-
#: defaults.php:
|
5803 |
msgid ""
|
5804 |
"Moved the WooCommerce order %OrderTitle% out of trash. %EditorLinkOrder%."
|
5805 |
msgstr ""
|
5806 |
|
5807 |
-
#: defaults.php:
|
5808 |
msgid "User permanently deleted a WooCommerce order"
|
5809 |
msgstr ""
|
5810 |
|
5811 |
-
#: defaults.php:
|
5812 |
msgid "Permanently deleted the WooCommerce order %OrderTitle%."
|
5813 |
msgstr ""
|
5814 |
|
5815 |
-
#: defaults.php:
|
5816 |
msgid "User edited a WooCommerce order"
|
5817 |
msgstr ""
|
5818 |
|
5819 |
-
#: defaults.php:
|
5820 |
msgid "Edited the WooCommerce order %OrderTitle%. %EditorLinkOrder%."
|
5821 |
msgstr ""
|
5822 |
|
5823 |
-
#: defaults.php:
|
5824 |
msgid "User refunded a WooCommerce order"
|
5825 |
msgstr ""
|
5826 |
|
5827 |
-
#: defaults.php:
|
5828 |
msgid "Refunded the WooCommerce order %OrderTitle%. %EditorLinkOrder%."
|
5829 |
msgstr ""
|
5830 |
|
5831 |
-
#: defaults.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5832 |
msgid "User changed title of a SEO post"
|
5833 |
msgstr ""
|
5834 |
|
5835 |
-
#: defaults.php:
|
5836 |
msgid ""
|
5837 |
"Changed the SEO title of the %PostStatus% %PostType%%ReportText%.%ChangeText"
|
5838 |
"% %EditorLinkPost%."
|
5839 |
msgstr ""
|
5840 |
|
5841 |
-
#: defaults.php:
|
5842 |
msgid "User changed the meta description of a SEO post"
|
5843 |
msgstr ""
|
5844 |
|
5845 |
-
#: defaults.php:
|
5846 |
msgid ""
|
5847 |
"Changed the Meta description of the %PostStatus% %PostType% titled %PostTitle"
|
5848 |
"%%ReportText%.%ChangeText% %EditorLinkPost%."
|
5849 |
msgstr ""
|
5850 |
|
5851 |
-
#: defaults.php:
|
5852 |
msgid ""
|
5853 |
"User changed setting to allow search engines to show post in search results "
|
5854 |
"of a SEO post"
|
5855 |
msgstr ""
|
5856 |
|
5857 |
-
#: defaults.php:
|
5858 |
msgid ""
|
5859 |
"Changed the setting to allow search engines to show post in search results "
|
5860 |
"from %OldStatus% to %NewStatus% in the %PostStatus% %PostType% titled "
|
5861 |
"%PostTitle%. %EditorLinkPost%."
|
5862 |
msgstr ""
|
5863 |
|
5864 |
-
#: defaults.php:
|
5865 |
msgid ""
|
5866 |
"User Enabled/Disabled the option for search engine to follow links of a SEO "
|
5867 |
"post"
|
5868 |
msgstr ""
|
5869 |
|
5870 |
-
#: defaults.php:
|
5871 |
msgid ""
|
5872 |
"%NewStatus% the option for search engine to follow links in the %PostType% "
|
5873 |
"titled %PostTitle%. %EditorLinkPost%."
|
5874 |
msgstr ""
|
5875 |
|
5876 |
-
#: defaults.php:
|
5877 |
msgid "User set the meta robots advanced setting of a SEO post"
|
5878 |
msgstr ""
|
5879 |
|
5880 |
-
#: defaults.php:
|
5881 |
msgid ""
|
5882 |
"Set the Meta Robots Advanced setting to %NewStatus% in the %PostStatus% "
|
5883 |
"%PostType% titled %PostTitle%. %EditorLinkPost%."
|
5884 |
msgstr ""
|
5885 |
|
5886 |
-
#: defaults.php:
|
5887 |
msgid "User changed the canonical URL of a SEO post"
|
5888 |
msgstr ""
|
5889 |
|
5890 |
-
#: defaults.php:
|
5891 |
msgid ""
|
5892 |
"Changed the Canonical URL of the %PostStatus% %PostType% titled %PostTitle%"
|
5893 |
"%ReportText%.%ChangeText% %EditorLinkPost%."
|
5894 |
msgstr ""
|
5895 |
|
5896 |
-
#: defaults.php:
|
5897 |
msgid "User changed the focus keyword of a SEO post"
|
5898 |
msgstr ""
|
5899 |
|
5900 |
-
#: defaults.php:
|
5901 |
msgid ""
|
5902 |
"Changed the focus keyword of the %PostStatus% %PostType% titled %PostTitle% "
|
5903 |
"from %old_keywords% to %new_keywords%. %EditorLinkPost%."
|
5904 |
msgstr ""
|
5905 |
|
5906 |
-
#: defaults.php:
|
5907 |
msgid "User Enabled/Disabled the option Cornerston Content of a SEO post"
|
5908 |
msgstr ""
|
5909 |
|
5910 |
-
#: defaults.php:
|
5911 |
msgid ""
|
5912 |
"%Status% the option Cornerston Content on the %PostStatus% %PostType% titled "
|
5913 |
"%PostTitle%. %EditorLinkPost%."
|
5914 |
msgstr ""
|
5915 |
|
5916 |
-
#: defaults.php:
|
5917 |
msgid "User changed the Title Separator setting"
|
5918 |
msgstr ""
|
5919 |
|
5920 |
-
#: defaults.php:
|
5921 |
msgid ""
|
5922 |
"Changed the Title Separator from %old% to %new% in the Yoast SEO plugin "
|
5923 |
"settings."
|
5924 |
msgstr ""
|
5925 |
|
5926 |
-
#: defaults.php:
|
5927 |
msgid "User changed the Homepage Title setting"
|
5928 |
msgstr ""
|
5929 |
|
5930 |
-
#: defaults.php:
|
5931 |
msgid ""
|
5932 |
"Changed the Homepage Title%ReportText% in the Yoast SEO plugin settings."
|
5933 |
"%ChangeText%"
|
5934 |
msgstr ""
|
5935 |
|
5936 |
-
#: defaults.php:
|
5937 |
msgid "User changed the Homepage Meta description setting"
|
5938 |
msgstr ""
|
5939 |
|
5940 |
-
#: defaults.php:
|
5941 |
msgid ""
|
5942 |
"Changed the Homepage Meta description%ReportText% in the Yoast SEO plugin "
|
5943 |
"settings.%ChangeText%"
|
5944 |
msgstr ""
|
5945 |
|
5946 |
-
#: defaults.php:
|
5947 |
msgid "User changed the Company or Person setting"
|
5948 |
msgstr ""
|
5949 |
|
5950 |
-
#: defaults.php:
|
5951 |
msgid ""
|
5952 |
"Changed the Company or Person setting from %old% to %new% in the YOAST SEO "
|
5953 |
"plugin settings."
|
5954 |
msgstr ""
|
5955 |
|
5956 |
-
#: defaults.php:
|
5957 |
msgid ""
|
5958 |
"User Enabled/Disabled the option Show Posts/Pages in Search Results in the "
|
5959 |
"Yoast SEO plugin settings"
|
5960 |
msgstr ""
|
5961 |
|
5962 |
-
#: defaults.php:
|
5963 |
msgid ""
|
5964 |
"%Status% the option Show %SEOPostType% in Search Results in the Yoast SEO "
|
5965 |
"plugin settings."
|
5966 |
msgstr ""
|
5967 |
|
5968 |
-
#: defaults.php:
|
5969 |
msgid ""
|
5970 |
"User changed the Posts/Pages title template in the Yoast SEO plugin settings"
|
5971 |
msgstr ""
|
5972 |
|
5973 |
-
#: defaults.php:
|
5974 |
msgid ""
|
5975 |
"Changed the %SEOPostType% title template from %old% to %new% in the Yoast "
|
5976 |
"SEO plugin settings."
|
5977 |
msgstr ""
|
5978 |
|
5979 |
-
#: defaults.php:
|
5980 |
msgid "User Enabled/Disabled SEO analysis in the Yoast SEO plugin settings"
|
5981 |
msgstr ""
|
5982 |
|
5983 |
-
#: defaults.php:
|
5984 |
msgid "%Status% SEO analysis in the Yoast SEO plugin settings."
|
5985 |
msgstr ""
|
5986 |
|
5987 |
-
#: defaults.php:
|
5988 |
msgid ""
|
5989 |
"User Enabled/Disabled readability analysis in the Yoast SEO plugin settings"
|
5990 |
msgstr ""
|
5991 |
|
5992 |
-
#: defaults.php:
|
5993 |
msgid "%Status% Readability analysis in the Yoast SEO plugin settings."
|
5994 |
msgstr ""
|
5995 |
|
5996 |
-
#: defaults.php:
|
5997 |
msgid ""
|
5998 |
"User Enabled/Disabled cornerstone content in the Yoast SEO plugin settings"
|
5999 |
msgstr ""
|
6000 |
|
6001 |
-
#: defaults.php:
|
6002 |
msgid "%Status% Cornerstone content in the Yoast SEO plugin settings."
|
6003 |
msgstr ""
|
6004 |
|
6005 |
-
#: defaults.php:
|
6006 |
msgid ""
|
6007 |
"User Enabled/Disabled the text link counter in the Yoast SEO plugin settings"
|
6008 |
msgstr ""
|
6009 |
|
6010 |
-
#: defaults.php:
|
6011 |
msgid "%Status% the Text link counter in the Yoast SEO plugin settings."
|
6012 |
msgstr ""
|
6013 |
|
6014 |
-
#: defaults.php:
|
6015 |
msgid "User Enabled/Disabled XML sitemaps in the Yoast SEO plugin settings"
|
6016 |
msgstr ""
|
6017 |
|
6018 |
-
#: defaults.php:
|
6019 |
msgid "%Status% XML Sitemaps in the Yoast SEO plugin settings."
|
6020 |
msgstr ""
|
6021 |
|
6022 |
-
#: defaults.php:
|
6023 |
msgid "User Enabled/Disabled ryte integration in the Yoast SEO plugin settings"
|
6024 |
msgstr ""
|
6025 |
|
6026 |
-
#: defaults.php:
|
6027 |
msgid "%Status% Ryte Integration in the Yoast SEO plugin settings."
|
6028 |
msgstr ""
|
6029 |
|
6030 |
-
#: defaults.php:
|
6031 |
msgid ""
|
6032 |
"User Enabled/Disabled the admin bar menu in the Yoast SEO plugin settings"
|
6033 |
msgstr ""
|
6034 |
|
6035 |
-
#: defaults.php:
|
6036 |
msgid "%Status% the Admin bar menu in the Yoast SEO plugin settings."
|
6037 |
msgstr ""
|
6038 |
|
6039 |
-
#: defaults.php:
|
6040 |
msgid ""
|
6041 |
"User changed the Posts/Pages meta description template in the Yoast SEO "
|
6042 |
"plugin settings"
|
6043 |
msgstr ""
|
6044 |
|
6045 |
-
#: defaults.php:
|
6046 |
msgid ""
|
6047 |
"Changed the %SEOPostType% meta description template from %old% to %new% in "
|
6048 |
"the Yoast SEO plugin settings."
|
6049 |
msgstr ""
|
6050 |
|
6051 |
-
#: defaults.php:
|
6052 |
msgid ""
|
6053 |
"User set the option Date in Snippet Preview for Posts/Pages in the Yoast SEO "
|
6054 |
"plugin settings"
|
6055 |
msgstr ""
|
6056 |
|
6057 |
-
#: defaults.php:
|
6058 |
msgid ""
|
6059 |
"%Status% the option Date in Snippet Preview for %SEOPostType% in the Yoast "
|
6060 |
"SEO plugin settings."
|
6061 |
msgstr ""
|
6062 |
|
6063 |
-
#: defaults.php:
|
6064 |
msgid ""
|
6065 |
"User set the option Yoast SEO Meta Box for Posts/Pages in the Yoast SEO "
|
6066 |
"plugin settings"
|
6067 |
msgstr ""
|
6068 |
|
6069 |
-
#: defaults.php:
|
6070 |
msgid ""
|
6071 |
"%Status% the option Yoast SEO Meta Box for %SEOPostType% in the Yoast SEO "
|
6072 |
"plugin settings."
|
6073 |
msgstr ""
|
6074 |
|
6075 |
-
#: defaults.php:
|
6076 |
msgid ""
|
6077 |
"User Enabled/Disabled the advanced settings for authors in the Yoast SEO "
|
6078 |
"plugin settings"
|
6079 |
msgstr ""
|
6080 |
|
6081 |
-
#: defaults.php:
|
6082 |
msgid "%Status% the advanced settings for authors in the Yoast SEO settings."
|
6083 |
msgstr ""
|
6084 |
|
6085 |
#. translators: Username
|
6086 |
-
#: wp-security-audit-log.php:
|
6087 |
#, php-format
|
6088 |
msgid "Hey %1$s"
|
6089 |
msgstr ""
|
6090 |
|
6091 |
-
#: wp-security-audit-log.php:
|
6092 |
msgid ""
|
6093 |
"Never miss an important update! Opt-in to our security and feature updates "
|
6094 |
"notifications, and non-sensitive diagnostic tracking with freemius.com."
|
6095 |
msgstr ""
|
6096 |
|
6097 |
-
#: wp-security-audit-log.php:
|
6098 |
msgid "Note: "
|
6099 |
msgstr ""
|
6100 |
|
6101 |
-
#: wp-security-audit-log.php:
|
6102 |
msgid "NO AUDIT LOG ACTIVITY & DATA IS SENT BACK TO OUR SERVERS."
|
6103 |
msgstr ""
|
6104 |
|
6105 |
#. translators: 1: Plugin name. 2: Freemius link.
|
6106 |
-
#: wp-security-audit-log.php:
|
6107 |
#, php-format
|
6108 |
msgid ""
|
6109 |
"Please help us improve %2$s! If you opt-in, some non-sensitive data about "
|
@@ -6112,7 +6206,7 @@ msgid ""
|
|
6112 |
msgstr ""
|
6113 |
|
6114 |
#. translators: Plugin name
|
6115 |
-
#: wp-security-audit-log.php:
|
6116 |
#, php-format
|
6117 |
msgid ""
|
6118 |
"Get a free 7-day trial of the premium edition of %s. No credit card "
|
@@ -6120,97 +6214,104 @@ msgid ""
|
|
6120 |
msgstr ""
|
6121 |
|
6122 |
#. Plugin Name of the plugin/theme
|
6123 |
-
#: wp-security-audit-log.php:
|
6124 |
msgid "WP Security Audit Log"
|
6125 |
msgstr ""
|
6126 |
|
6127 |
-
#: wp-security-audit-log.php:
|
6128 |
msgid "Start free trial"
|
6129 |
msgstr ""
|
6130 |
|
6131 |
-
#: wp-security-audit-log.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6132 |
msgid ""
|
6133 |
"Error: You do not have sufficient permissions to disable this custom field."
|
6134 |
msgstr ""
|
6135 |
|
6136 |
-
#: wp-security-audit-log.php:
|
6137 |
msgid "Error: You do not have sufficient permissions to disable this alert."
|
6138 |
msgstr ""
|
6139 |
|
6140 |
-
#: wp-security-audit-log.php:
|
6141 |
#, php-format
|
6142 |
msgid ""
|
6143 |
"You are using a version of PHP that is older than %s, which is no longer "
|
6144 |
"supported."
|
6145 |
msgstr ""
|
6146 |
|
6147 |
-
#: wp-security-audit-log.php:
|
6148 |
msgid ""
|
6149 |
"Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
|
6150 |
"\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
|
6151 |
"are using."
|
6152 |
msgstr ""
|
6153 |
|
6154 |
-
#: wp-security-audit-log.php:
|
6155 |
msgid ""
|
6156 |
"The WP Security Audit Log plugin is a multisite network tool, so it has to "
|
6157 |
"be activated at network level."
|
6158 |
msgstr ""
|
6159 |
|
6160 |
-
#: wp-security-audit-log.php:
|
6161 |
msgid "Redirect me to the network dashboard"
|
6162 |
msgstr ""
|
6163 |
|
6164 |
-
#: wp-security-audit-log.php:
|
6165 |
msgid ""
|
6166 |
"This plugin uses 3 tables in the WordPress database to store the activity "
|
6167 |
"log and settings. It seems that these tables were not created."
|
6168 |
msgstr ""
|
6169 |
|
6170 |
-
#: wp-security-audit-log.php:
|
6171 |
msgid ""
|
6172 |
"This could happen because the database user does not have the right "
|
6173 |
"privileges to create the tables in the database. We recommend you to update "
|
6174 |
"the privileges and try enabling the plugin again."
|
6175 |
msgstr ""
|
6176 |
|
6177 |
-
#: wp-security-audit-log.php:
|
6178 |
#, php-format
|
6179 |
msgid ""
|
6180 |
"If after doing so you still have issues, please send us an email on %s for "
|
6181 |
"assistance."
|
6182 |
msgstr ""
|
6183 |
|
6184 |
-
#: wp-security-audit-log.php:
|
6185 |
msgid "support@wpsecurityauditlog.com"
|
6186 |
msgstr ""
|
6187 |
|
6188 |
-
#: wp-security-audit-log.php:
|
6189 |
msgid "Every 6 hours"
|
6190 |
msgstr ""
|
6191 |
|
6192 |
-
#: wp-security-audit-log.php:
|
6193 |
msgid "Every 45 minutes"
|
6194 |
msgstr ""
|
6195 |
|
6196 |
-
#: wp-security-audit-log.php:
|
6197 |
msgid "Every 30 minutes"
|
6198 |
msgstr ""
|
6199 |
|
6200 |
-
#: wp-security-audit-log.php:
|
6201 |
msgid "Every 15 minutes"
|
6202 |
msgstr ""
|
6203 |
|
6204 |
-
#: wp-security-audit-log.php:
|
6205 |
msgid "Every 10 minutes"
|
6206 |
msgstr ""
|
6207 |
|
6208 |
-
#: wp-security-audit-log.php:
|
6209 |
msgid "Every 1 minute"
|
6210 |
msgstr ""
|
6211 |
|
6212 |
#. translators: 1. Deprecated method name 2. Version since deprecated
|
6213 |
-
#: wp-security-audit-log.php:
|
6214 |
#, php-format
|
6215 |
msgid "Method %1$s is deprecated since version %2$s!"
|
6216 |
msgstr ""
|
3 |
msgstr ""
|
4 |
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
5 |
"Project-Id-Version: WP Security Audit Log\n"
|
6 |
+
"POT-Creation-Date: 2019-04-03 19:53+0200\n"
|
7 |
+
"PO-Revision-Date: 2019-04-03 19:53+0200\n"
|
8 |
"Last-Translator: \n"
|
9 |
"Language-Team: \n"
|
10 |
"MIME-Version: 1.0\n"
|
22 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
23 |
|
24 |
#. translators: Event ID
|
25 |
+
#: classes/AlertManager.php:323
|
26 |
#, php-format
|
27 |
msgid "Event with code %d has not be registered."
|
28 |
msgstr ""
|
29 |
|
30 |
+
#: classes/AlertManager.php:378
|
31 |
#, php-format
|
32 |
msgid "Event %s already registered with WP Security Audit Log."
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: classes/AlertManager.php:413
|
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:416
|
42 |
#, php-format
|
43 |
msgid "%4$s to help you solve this issue."
|
44 |
msgstr ""
|
45 |
|
46 |
+
#: classes/AlertManager.php:418
|
47 |
msgid "ERROR:"
|
48 |
msgstr ""
|
49 |
|
50 |
+
#: classes/AlertManager.php:420
|
51 |
msgid "Contact us"
|
52 |
msgstr ""
|
53 |
|
54 |
+
#: classes/AuditLogListView.php:129
|
55 |
msgid "No events so far."
|
56 |
msgstr ""
|
57 |
|
58 |
+
#: classes/AuditLogListView.php:180
|
59 |
msgid "Show "
|
60 |
msgstr ""
|
61 |
|
62 |
+
#: classes/AuditLogListView.php:188
|
63 |
msgid " Items"
|
64 |
msgstr ""
|
65 |
|
66 |
+
#: classes/AuditLogListView.php:195
|
67 |
msgid "— End of Activity Log —"
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: classes/AuditLogListView.php:215 classes/Views/AuditLog.php:470
|
|
|
71 |
msgid "All Sites"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: classes/AuditLogListView.php:243
|
75 |
msgid "Live Database"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: classes/AuditLogListView.php:246
|
79 |
msgid "Archive Database"
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: classes/AuditLogListView.php:303 classes/Views/Settings.php:1135
|
83 |
#: classes/WidgetManager.php:82
|
84 |
msgid "User"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: classes/AuditLogListView.php:305
|
88 |
msgid "Username"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: classes/AuditLogListView.php:310 classes/AuditLogListView.php:336
|
92 |
+
#: classes/Views/Settings.php:1129
|
93 |
msgid "Event ID"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: classes/AuditLogListView.php:311 classes/AuditLogListView.php:339
|
97 |
+
#: classes/Views/Settings.php:1131 classes/Views/ToggleAlerts.php:318
|
98 |
msgid "Severity"
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: classes/AuditLogListView.php:312 classes/AuditLogListView.php:342
|
102 |
msgid "Date"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: classes/AuditLogListView.php:314 classes/AuditLogListView.php:348
|
106 |
msgid "Source IP"
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: classes/AuditLogListView.php:319 classes/AuditLogListView.php:351
|
110 |
msgid "Site"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: classes/AuditLogListView.php:322 classes/AuditLogListView.php:354
|
114 |
msgid "Message"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: classes/AuditLogListView.php:410
|
118 |
msgid "Click to toggle."
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: classes/AuditLogListView.php:429
|
122 |
msgid "Disable this type of events."
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: classes/AuditLogListView.php:437
|
126 |
msgid "Unknown error code."
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: classes/AuditLogListView.php:441 classes/Views/ToggleAlerts.php:494
|
130 |
msgid "Critical"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: classes/AuditLogListView.php:443 classes/Views/ToggleAlerts.php:496
|
134 |
msgid "Warning"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: classes/AuditLogListView.php:445 classes/Views/ToggleAlerts.php:498
|
138 |
+
#: classes/Views/ToggleAlerts.php:500
|
139 |
msgid "Notification"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: classes/AuditLogListView.php:455 classes/AuditLogListView.php:496
|
143 |
msgid "Unknown"
|
144 |
msgstr ""
|
145 |
|
146 |
+
#: classes/AuditLogListView.php:481
|
147 |
msgid "Show me all activity by this User"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: classes/AuditLogListView.php:500 classes/Views/Licensing.php:113
|
151 |
#: classes/Views/Licensing.php:153
|
152 |
msgid "Plugin"
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: classes/AuditLogListView.php:504 defaults.php:358
|
156 |
msgid "Plugins"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: classes/AuditLogListView.php:508
|
160 |
msgid "Website Visitor"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: classes/AuditLogListView.php:512 classes/Views/ToggleAlerts.php:420
|
164 |
+
#: classes/Views/ToggleAlerts.php:458 defaults.php:391
|
165 |
msgid "System"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: classes/AuditLogListView.php:544 classes/AuditLogListView.php:557
|
169 |
msgid "Show me all activity originating from this IP Address"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: classes/AuditLogListView.php:586
|
173 |
msgid "View all details of this change"
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: classes/AuditLogListView.php:587 classes/AuditLogListView.php:737
|
177 |
+
#: classes/Settings.php:1657
|
178 |
msgid "Alert Data Inspector"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: classes/AuditLogListView.php:689 classes/Settings.php:1601
|
182 |
msgid "Download the log file"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: classes/AuditLogListView.php:709 classes/Settings.php:1621
|
186 |
msgid "Download the log file."
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: classes/AuditLogListView.php:717 classes/Settings.php:1629
|
190 |
+
#: classes/Settings.php:1875
|
191 |
msgid "published"
|
192 |
msgstr ""
|
193 |
|
194 |
#. translators: Mailto link for support.
|
195 |
+
#: classes/AuditLogListView.php:745 classes/Settings.php:1668
|
196 |
+
#: classes/Settings.php:1901
|
197 |
#, php-format
|
198 |
msgid "Contact us on %s for assistance"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: classes/AuditLogListView.php:879
|
202 |
msgid "Select All"
|
203 |
msgstr ""
|
204 |
|
240 |
msgid "https://wordpress.org/support/"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: classes/Loggers/Database.php:243 classes/Views/Help.php:188
|
244 |
+
#: classes/Views/Help.php:251 classes/Views/addons/html-view.php:75
|
245 |
+
#: classes/Views/addons/html-view.php:100
|
|
|
|
|
|
|
|
|
246 |
msgid "Upgrade to Premium"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: classes/Loggers/Database.php:244 classes/Views/Help.php:252
|
250 |
+
#: classes/Views/addons/html-view.php:76
|
|
|
|
|
|
|
|
|
251 |
msgid "More Information"
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: classes/Sensors/Content.php:977 classes/Sensors/Content.php:985
|
255 |
+
#: classes/Sensors/WooCommerce.php:535 classes/Sensors/WooCommerce.php:543
|
256 |
msgid "Password Protected"
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: classes/Sensors/Content.php:979 classes/Sensors/Content.php:987
|
260 |
+
#: classes/Sensors/WooCommerce.php:537 classes/Sensors/WooCommerce.php:545
|
261 |
msgid "Public"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: classes/Sensors/Content.php:981 classes/Sensors/Content.php:989
|
265 |
+
#: classes/Sensors/WooCommerce.php:539 classes/Sensors/WooCommerce.php:547
|
266 |
msgid "Private"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: classes/Sensors/Public.php:129
|
270 |
#, php-format
|
271 |
msgid ""
|
272 |
"A comment was posted in response to the post %1$s. The comment was posted by "
|
273 |
"%2$s"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: classes/Sensors/Public.php:695 classes/Sensors/WooCommerce.php:1819
|
277 |
msgid "In stock"
|
278 |
msgstr ""
|
279 |
|
280 |
+
#: classes/Sensors/Public.php:697 classes/Sensors/WooCommerce.php:1821
|
281 |
msgid "Out of stock"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: classes/Sensors/Public.php:699 classes/Sensors/WooCommerce.php:1823
|
285 |
msgid "On backorder"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: classes/Sensors/WooCommerce.php:2718
|
289 |
msgid "Visible"
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: classes/Sensors/WooCommerce.php:2718
|
293 |
msgid "Non-Visible"
|
294 |
msgstr ""
|
295 |
|
297 |
msgid "This function is deprecated"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: classes/Settings.php:1569
|
301 |
msgid "View Order"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: classes/Settings.php:1680 classes/Settings.php:1913
|
305 |
msgid "plugin settings"
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: classes/Settings.php:1683 classes/Settings.php:1916
|
309 |
msgid "contact our support"
|
310 |
msgstr ""
|
311 |
|
325 |
"the plugin WP Security Audit Log on the website %2$s on %3$s."
|
326 |
msgstr ""
|
327 |
|
328 |
+
#: classes/ViewManager.php:260
|
329 |
+
msgid "Free Premium Trial"
|
330 |
+
msgstr ""
|
331 |
+
|
332 |
+
#: classes/ViewManager.php:485 classes/Views/Settings.php:241
|
333 |
+
#: classes/Views/Settings.php:2582 classes/Views/Settings.php:2611
|
334 |
+
#: classes/Views/SetupWizard.php:66
|
335 |
+
msgid "Access Denied."
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: classes/ViewManager.php:516
|
339 |
+
msgid "Log count parameter expected."
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: classes/ViewManager.php:524 classes/Views/AuditLog.php:658
|
343 |
+
#: classes/Views/AuditLog.php:735 classes/Views/AuditLog.php:761
|
344 |
+
#: classes/Views/AuditLog.php:1066 classes/Views/AuditLog.php:1136
|
345 |
+
#: classes/Views/Licensing.php:90 classes/Views/Settings.php:256
|
346 |
+
#: classes/Views/Settings.php:2153 classes/Views/Settings.php:2181
|
347 |
+
#: classes/Views/Settings.php:2211 classes/Views/Settings.php:2250
|
348 |
+
#: classes/Views/Settings.php:2252 classes/Views/Settings.php:2254
|
349 |
+
#: classes/Views/Settings.php:2369 classes/Views/Settings.php:2371
|
350 |
+
#: classes/Views/Settings.php:2373 classes/Views/Settings.php:2467
|
351 |
+
#: classes/Views/Settings.php:2558 classes/Views/SetupWizard.php:81
|
352 |
+
msgid "Nonce verification failed."
|
353 |
+
msgstr ""
|
354 |
+
|
355 |
#: classes/Views/AuditLog.php:91
|
356 |
msgid ""
|
357 |
+
"Get instantly alerted of important changes via email, search the activity "
|
358 |
+
"log and use filters, generate reports, see who is logged in and more!"
|
359 |
msgstr ""
|
360 |
|
361 |
#: classes/Views/AuditLog.php:92
|
369 |
msgstr ""
|
370 |
|
371 |
#: classes/Views/AuditLog.php:96
|
372 |
+
msgid "Upgrade to benefit more from the activity logs."
|
|
|
|
|
373 |
msgstr ""
|
374 |
|
375 |
#: classes/Views/AuditLog.php:99
|
376 |
msgid ""
|
377 |
+
"See who is logged in real-time, generate reports, get alerted via email of "
|
378 |
+
"important changes and more!"
|
379 |
msgstr ""
|
380 |
|
381 |
#: classes/Views/AuditLog.php:100
|
382 |
msgid ""
|
383 |
+
"Unlock these and other features with the premium edition of WP Security "
|
384 |
+
"Audit Log."
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: classes/Views/AuditLog.php:173
|
388 |
+
msgid "UPGRADE NOW"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: classes/Views/AuditLog.php:174 classes/Views/Help.php:250
|
392 |
+
msgid "Start Free Trial"
|
393 |
+
msgstr ""
|
394 |
+
|
395 |
+
#: classes/Views/AuditLog.php:175
|
396 |
msgid "Tell me more"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: classes/Views/AuditLog.php:177
|
400 |
msgid "Dismiss the banner"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: classes/Views/AuditLog.php:177
|
404 |
msgid "Close"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: classes/Views/AuditLog.php:202
|
408 |
msgid ""
|
409 |
"There are connectivity issues with the database where the WordPress activity "
|
410 |
"log is stored. The logs will be temporary buffered in the WordPress database "
|
411 |
"until the connection is fully restored."
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: classes/Views/AuditLog.php:220
|
415 |
msgid ""
|
416 |
"Help us improve WP Security Audit Log! Opt-in to sending us diagnostic non-"
|
417 |
"sensitive data about your plugin usage (<strong>no activity log data is "
|
418 |
"sent</strong>) and subscribe to our newsletter."
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: classes/Views/AuditLog.php:223
|
422 |
msgid "Opt-In"
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: classes/Views/AuditLog.php:225
|
426 |
msgid "Learn More"
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: classes/Views/AuditLog.php:227 classes/Views/AuditLog.php:435
|
430 |
+
#: classes/Views/Settings.php:557 classes/Views/Settings.php:584
|
431 |
+
#: classes/Views/Settings.php:675 classes/Views/Settings.php:713
|
432 |
+
#: classes/Views/Settings.php:1169 classes/Views/Settings.php:1236
|
433 |
+
#: classes/Views/Settings.php:1891 classes/Views/Settings.php:1954
|
434 |
+
#: classes/Views/Settings.php:1982 classes/Views/Settings.php:1997
|
435 |
+
#: classes/Views/Settings.php:2007 classes/Views/SetupWizard.php:519
|
436 |
msgid "No"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: classes/Views/AuditLog.php:267 classes/Views/AuditLog.php:283
|
440 |
msgid "Audit Log Viewer"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: classes/Views/AuditLog.php:383 classes/Views/Licensing.php:82
|
444 |
+
#: classes/Views/Settings.php:347 classes/Views/ToggleAlerts.php:127
|
445 |
msgid "You do not have sufficient permissions to access this page."
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: classes/Views/AuditLog.php:431
|
449 |
msgid ""
|
450 |
"Thank you very much for using the WP Security Audit Log plugin. We have "
|
451 |
"created a wizard to ease the process of configuring the plugin so you can "
|
452 |
"get the best out of it. Would you like to run the wizard?"
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: classes/Views/AuditLog.php:434 classes/Views/Settings.php:552
|
456 |
+
#: classes/Views/Settings.php:579 classes/Views/Settings.php:645
|
457 |
+
#: classes/Views/Settings.php:703 classes/Views/Settings.php:1164
|
458 |
+
#: classes/Views/Settings.php:1229 classes/Views/Settings.php:1886
|
459 |
+
#: classes/Views/Settings.php:1947 classes/Views/Settings.php:1975
|
460 |
+
#: classes/Views/Settings.php:1996 classes/Views/Settings.php:2006
|
461 |
#: classes/Views/SetupWizard.php:524
|
462 |
msgid "Yes"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: classes/Views/AuditLog.php:469
|
466 |
msgid "Please enter the number of alerts you would like to see on one page:"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: classes/Views/AuditLog.php:471
|
470 |
msgid "No Results"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: classes/Views/AuditLog.php:655
|
474 |
msgid "No users found."
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: classes/Views/AuditLog.php:677
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
478 |
msgid "Log file does not exist."
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: classes/Views/AuditLog.php:726
|
482 |
msgid "Request to get log file failed."
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: classes/Views/AuditLog.php:801
|
486 |
msgid "Freemius opt choice selected."
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: classes/Views/AuditLog.php:808
|
490 |
msgid "Freemius opt choice not found."
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: classes/Views/AuditLog.php:980
|
494 |
msgid "WordPress Activity Log"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: classes/Views/AuditLog.php:981
|
498 |
msgid ""
|
499 |
"When a user makes a change on your website the plugin will keep a record of "
|
500 |
"that event here. Right now there is nothing because this is a new install."
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: classes/Views/AuditLog.php:982
|
504 |
msgid "Thank you for using WP Security Audit Log"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: classes/Views/AuditLog.php:1003
|
508 |
msgid "Error: You do not have sufficient permissions to exclude this URL."
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: classes/Views/AuditLog.php:1049
|
512 |
msgid "You do not have sufficient permissions to dismiss this notice."
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: classes/Views/AuditLog.php:1119
|
516 |
msgid "Access Denied"
|
517 |
msgstr ""
|
518 |
|
519 |
#: classes/Views/EmailNotifications.php:28
|
520 |
+
msgid "Notifications Add-On"
|
521 |
msgstr ""
|
522 |
|
523 |
#: classes/Views/EmailNotifications.php:42
|
524 |
+
msgid "Notifications ⇪"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: classes/Views/EmailNotifications.php:114
|
528 |
+
msgid "SMS & Email Notifications"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: classes/Views/EmailNotifications.php:115
|
532 |
+
msgid ""
|
533 |
+
"Get instantly alerted of important changes on your site via SMS and email "
|
534 |
+
"notifications. Upgrade to premium and:"
|
535 |
msgstr ""
|
536 |
|
537 |
#: classes/Views/EmailNotifications.php:118
|
538 |
+
msgid "Configure any type of SMS & email notifications"
|
|
|
539 |
msgstr ""
|
540 |
|
541 |
#: classes/Views/EmailNotifications.php:119
|
542 |
msgid ""
|
543 |
+
"Receive notifications for when users login, change their password or change "
|
544 |
+
"content"
|
545 |
msgstr ""
|
546 |
|
547 |
#: classes/Views/EmailNotifications.php:120
|
548 |
+
msgid "Get alerted of site changes like plugin installs, theme changes etc"
|
549 |
msgstr ""
|
550 |
|
551 |
#: classes/Views/EmailNotifications.php:121
|
552 |
+
msgid ""
|
553 |
+
"Enable built-in security email notifications of suspicious user activity"
|
554 |
msgstr ""
|
555 |
|
556 |
#: classes/Views/EmailNotifications.php:122
|
557 |
+
msgid "Personalize all email and SMS templates"
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: classes/Views/EmailNotifications.php:123
|
561 |
+
msgid "Use the trigger builder to configure any type of notification criteria!"
|
|
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: classes/Views/EmailNotifications.php:125
|
565 |
+
msgid ""
|
566 |
+
"Getting started is really easy. You can use one of the plugin’s built-in "
|
567 |
+
"notifications or create your own using the easy to use trigger builder."
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: classes/Views/EmailNotifications.php:128
|
571 |
+
msgid ""
|
572 |
+
"Email and SMS notifications instantly alert you of important changes on your "
|
573 |
+
"WordPress site."
|
574 |
+
msgstr ""
|
575 |
+
|
576 |
+
#: classes/Views/EmailNotifications.php:132
|
577 |
+
msgid ""
|
578 |
+
"Easily enable any of the built-in security and user management notifications."
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: classes/Views/EmailNotifications.php:136
|
|
|
582 |
msgid ""
|
583 |
+
"Use the trigger builder to configure any type of email and SMS notification "
|
584 |
+
"to get instantly alerted of site changes that are important to you and your "
|
585 |
+
"business."
|
586 |
msgstr ""
|
587 |
|
588 |
+
#: classes/Views/EmailNotifications.php:140
|
|
|
589 |
msgid ""
|
590 |
+
"All email and SMS templates are configurable, allowing you to personalize "
|
591 |
+
"them."
|
592 |
msgstr ""
|
593 |
|
594 |
#: classes/Views/ExternalDB.php:28
|
599 |
msgid "DB & Integrations ⇪"
|
600 |
msgstr ""
|
601 |
|
602 |
+
#: classes/Views/ExternalDB.php:114
|
603 |
+
msgid "Audit Log Database & Integration Tools"
|
604 |
msgstr ""
|
605 |
|
606 |
+
#: classes/Views/ExternalDB.php:115
|
607 |
msgid ""
|
608 |
+
"There are several benefits to segregating the logs from the main site "
|
609 |
+
"database, and to be able to mirror the logs to third party and centralized "
|
610 |
+
"business solutions. Upgrade to premium and:"
|
611 |
+
msgstr ""
|
612 |
+
|
613 |
+
#: classes/Views/ExternalDB.php:118
|
614 |
+
msgid "Store the audit logs of your sites on an external database"
|
615 |
msgstr ""
|
616 |
|
617 |
#: classes/Views/ExternalDB.php:119
|
618 |
+
msgid "Configuring archiving and store older log data in a segregated database"
|
619 |
msgstr ""
|
620 |
|
621 |
#: classes/Views/ExternalDB.php:120
|
622 |
+
msgid ""
|
623 |
+
"Mirror the logs to syslog, Slack, Papertrail and central business "
|
624 |
+
"communication services"
|
625 |
msgstr ""
|
626 |
|
627 |
#: classes/Views/ExternalDB.php:121
|
628 |
msgid ""
|
629 |
+
"Configure filters to filter what is mirrored and archived in the databases "
|
630 |
+
"and services"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: classes/Views/ExternalDB.php:126
|
634 |
msgid ""
|
635 |
+
"Easily configure integration and database connections thanks to a user "
|
636 |
+
"friendly wizard."
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
#: classes/Views/ExternalDB.php:130
|
640 |
+
msgid "Configure activity log filters for third party services connections."
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: classes/Views/ExternalDB.php:134
|
644 |
msgid ""
|
645 |
+
"Configure an unlimited number of connections to different databases and "
|
646 |
+
"third party services."
|
647 |
msgstr ""
|
648 |
|
649 |
#: classes/Views/Help.php:30 classes/Views/Help.php:44
|
794 |
msgid "Licensing"
|
795 |
msgstr ""
|
796 |
|
797 |
+
#: classes/Views/Licensing.php:96 classes/Views/Settings.php:363
|
798 |
#: classes/Views/ToggleAlerts.php:144
|
799 |
msgid "Settings have been saved."
|
800 |
msgstr ""
|
801 |
|
802 |
+
#: classes/Views/Licensing.php:101 classes/Views/Settings.php:369
|
803 |
#: classes/Views/ToggleAlerts.php:150
|
804 |
msgid "Error: "
|
805 |
msgstr ""
|
828 |
msgid "Logged In Users ⇪"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: classes/Views/LogInUsers.php:114
|
832 |
+
msgid "Real-Time Users Sessions Management"
|
833 |
msgstr ""
|
834 |
|
835 |
+
#: classes/Views/LogInUsers.php:115
|
836 |
+
msgid "Better manage your users’ logins and sessions. Upgrade to premium and:"
|
837 |
msgstr ""
|
838 |
|
839 |
#: classes/Views/LogInUsers.php:119
|
840 |
+
msgid "See who is logged in to your site"
|
841 |
msgstr ""
|
842 |
|
843 |
#: classes/Views/LogInUsers.php:120
|
844 |
+
msgid "When they logged in and from where"
|
845 |
msgstr ""
|
846 |
|
847 |
#: classes/Views/LogInUsers.php:121
|
848 |
+
msgid "The last change they have done in real-time"
|
849 |
msgstr ""
|
850 |
|
851 |
#: classes/Views/LogInUsers.php:122
|
852 |
+
msgid "Terminate any users’ session with a click of a button"
|
853 |
msgstr ""
|
854 |
|
855 |
#: classes/Views/LogInUsers.php:123
|
856 |
+
msgid "Limit or block multiple sessions for the same user"
|
857 |
msgstr ""
|
858 |
|
859 |
+
#: classes/Views/LogInUsers.php:124
|
860 |
+
msgid "Get alerted of multiple same user sessions"
|
|
|
|
|
861 |
msgstr ""
|
862 |
|
863 |
+
#: classes/Views/LogInUsers.php:128
|
864 |
msgid ""
|
865 |
+
"See who is logged in to your WordPress site and multisite network in real-"
|
866 |
+
"time."
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: classes/Views/LogInUsers.php:132
|
870 |
+
msgid "Limit, manage and block multiple same user sessions easily."
|
871 |
msgstr ""
|
872 |
|
873 |
#: classes/Views/Reports.php:28
|
878 |
msgid "Reports ⇪"
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: classes/Views/Reports.php:114
|
882 |
+
msgid "Individual, Scheduled & Automated Reports"
|
883 |
msgstr ""
|
884 |
|
885 |
+
#: classes/Views/Reports.php:115
|
886 |
msgid ""
|
887 |
+
"Many are not fans of reports, however reports are vital in business. With "
|
888 |
+
"them you can make informed decisions that allow you to improve user "
|
889 |
+
"productivity and the business. Upgrade to Premium so you can:"
|
890 |
+
msgstr ""
|
891 |
+
|
892 |
+
#: classes/Views/Reports.php:118
|
893 |
+
msgid "Generate any type of user and site (in multisite) activity report"
|
894 |
msgstr ""
|
895 |
|
896 |
#: classes/Views/Reports.php:119
|
897 |
+
msgid "Automate and schedule daily, weekly, monthly and quarterly reports"
|
898 |
msgstr ""
|
899 |
|
900 |
#: classes/Views/Reports.php:120
|
901 |
+
msgid "Received reports automatically via email"
|
902 |
msgstr ""
|
903 |
|
904 |
#: classes/Views/Reports.php:121
|
905 |
msgid ""
|
906 |
+
"Create statistics reports about users’ views, logins, activity from IP "
|
907 |
+
"addresses & more"
|
908 |
msgstr ""
|
909 |
|
910 |
+
#: classes/Views/Reports.php:123
|
911 |
+
msgid ""
|
912 |
+
"Reports are vital to the success of your business and management of your "
|
913 |
+
"site."
|
914 |
msgstr ""
|
915 |
|
916 |
+
#: classes/Views/Reports.php:126
|
917 |
+
msgid "Generate a HTML or CSV report."
|
918 |
msgstr ""
|
919 |
|
920 |
+
#: classes/Views/Reports.php:130
|
921 |
+
msgid "Easily configure a criteria for your reports."
|
|
|
|
|
922 |
msgstr ""
|
923 |
|
924 |
+
#: classes/Views/Reports.php:134
|
925 |
+
msgid "Schedule reports that are sent to you by email automatically."
|
|
|
|
|
926 |
msgstr ""
|
927 |
|
928 |
#: classes/Views/Search.php:28
|
933 |
msgid "Search ⇪"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: classes/Views/Search.php:114
|
937 |
+
msgid "Search & Filters for the Activity Log"
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: classes/Views/Search.php:115
|
941 |
msgid ""
|
942 |
+
"You can find all the information you want in the activity log, if you know "
|
943 |
+
"what you are looking for and have the right tools. Upgrade to premium so you "
|
944 |
+
"can:"
|
945 |
+
msgstr ""
|
946 |
+
|
947 |
+
#: classes/Views/Search.php:118
|
948 |
+
msgid "Do text searches and use filters to fine tune the search results"
|
949 |
msgstr ""
|
950 |
|
951 |
#: classes/Views/Search.php:119
|
952 |
+
msgid "Easily find when and who did a specific change on your site"
|
953 |
msgstr ""
|
954 |
|
955 |
#: classes/Views/Search.php:120
|
956 |
+
msgid "Easily identify and track back suspicious user behaviour"
|
957 |
msgstr ""
|
958 |
|
959 |
#: classes/Views/Search.php:121
|
960 |
+
msgid "Search for the cause of a problem and ease troubleshooting"
|
961 |
msgstr ""
|
962 |
|
963 |
#: classes/Views/Search.php:122
|
964 |
+
msgid "Save search terms and filters for future use and improved productivity"
|
965 |
+
msgstr ""
|
966 |
+
|
967 |
+
#: classes/Views/Search.php:127
|
968 |
+
msgid "Use the text search to find a specific change."
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: classes/Views/Search.php:131
|
972 |
msgid ""
|
973 |
+
"Configure any filter you need to fine tune the search results and find what "
|
974 |
+
"you are looking for with much less effort."
|
975 |
msgstr ""
|
976 |
|
977 |
+
#: classes/Views/Search.php:135
|
978 |
+
msgid ""
|
979 |
+
"Save search terms and filters to run the searches again in the future with "
|
980 |
+
"just a single click."
|
981 |
+
msgstr ""
|
982 |
+
|
983 |
+
#: classes/Views/Settings.php:96
|
984 |
msgid "General"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: classes/Views/Settings.php:102
|
988 |
msgid "Activity Log"
|
989 |
msgstr ""
|
990 |
|
991 |
+
#: classes/Views/Settings.php:108
|
992 |
msgid "File Integrity Scan"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: classes/Views/Settings.php:114 classes/Views/SetupWizard.php:148
|
996 |
msgid "Exclude Objects"
|
997 |
msgstr ""
|
998 |
|
999 |
+
#: classes/Views/Settings.php:120
|
1000 |
msgid "Advanced Settings"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: classes/Views/Settings.php:161 classes/Views/Settings.php:175
|
1004 |
+
#: classes/Views/ToggleAlerts.php:432 classes/Views/ToggleAlerts.php:460
|
1005 |
msgid "Settings"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: classes/Views/Settings.php:229
|
1009 |
msgid "Unknown settings tab."
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: classes/Views/Settings.php:266 classes/Views/SetupWizard.php:91
|
1013 |
+
msgid "Invalid input."
|
|
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: classes/Views/Settings.php:359
|
1017 |
+
msgid "Message sent successfully."
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: classes/Views/Settings.php:377
|
1021 |
msgid "Old data successfully purged."
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: classes/Views/Settings.php:383
|
1025 |
msgid "No data is old enough to be purged."
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: classes/Views/Settings.php:420
|
1029 |
+
msgid "Send Message"
|
1030 |
+
msgstr ""
|
1031 |
+
|
1032 |
+
#: classes/Views/Settings.php:471
|
1033 |
msgid ""
|
1034 |
"Need help with setting up the plugin to meet your requirements? <a href="
|
1035 |
"\"https://www.wpsecurityauditlog.com/contact/\" target=\"_blank\">Schedule a "
|
1036 |
"20 minutes consultation and setup call</a> with our experts for just $50."
|
1037 |
msgstr ""
|
1038 |
|
1039 |
+
#: classes/Views/Settings.php:473
|
1040 |
msgid "Use infinite scroll or pagination for the event viewer?"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
#. translators: Learn more link.
|
1044 |
+
#: classes/Views/Settings.php:478
|
1045 |
#, php-format
|
1046 |
msgid ""
|
1047 |
"When using infinite scroll the event viewer and search results %s load up "
|
1048 |
"much faster and require less resources."
|
1049 |
msgstr ""
|
1050 |
|
1051 |
+
#: classes/Views/Settings.php:479
|
1052 |
msgid "(Premium feature)"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: classes/Views/Settings.php:486
|
1056 |
msgid "Select event viewer view type:"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: classes/Views/Settings.php:491
|
1060 |
msgid "Infinite Scroll (Recommended)"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
+
#: classes/Views/Settings.php:496
|
1064 |
msgid "Pagination"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: classes/Views/Settings.php:507
|
1068 |
+
msgid "Do you want the activity log viewer to auto refresh?"
|
1069 |
+
msgstr ""
|
1070 |
+
|
1071 |
+
#: classes/Views/Settings.php:508
|
1072 |
+
msgid ""
|
1073 |
+
"The activity log viewer auto refreshes every 30 seconds when opened so you "
|
1074 |
+
"can see the latest events as they happen almost in real time."
|
1075 |
+
msgstr ""
|
1076 |
+
|
1077 |
+
#: classes/Views/Settings.php:512
|
1078 |
+
msgid "Refresh Audit Log Viewer"
|
1079 |
+
msgstr ""
|
1080 |
+
|
1081 |
+
#: classes/Views/Settings.php:518
|
1082 |
+
msgid "Auto refresh"
|
1083 |
+
msgstr ""
|
1084 |
+
|
1085 |
+
#: classes/Views/Settings.php:523
|
1086 |
+
msgid "Do not auto refresh"
|
1087 |
+
msgstr ""
|
1088 |
+
|
1089 |
+
#: classes/Views/Settings.php:533
|
1090 |
msgid "Display latest events widget in Dashboard & Admin bar"
|
1091 |
msgstr ""
|
1092 |
|
1093 |
#. translators: Max number of dashboard widget alerts.
|
1094 |
+
#: classes/Views/Settings.php:538
|
1095 |
#, php-format
|
1096 |
msgid ""
|
1097 |
"The events widget displays the latest %d security events in the dashboard "
|
1098 |
"and the admin bar notification displays the latest event."
|
1099 |
msgstr ""
|
1100 |
|
1101 |
+
#: classes/Views/Settings.php:546
|
1102 |
msgid "Dashboard Widget"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
+
#: classes/Views/Settings.php:567
|
1106 |
msgid "Admin Bar Notification"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
+
#: classes/Views/Settings.php:570
|
1110 |
msgid "Admin Bar Notification (Premium)"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
+
#: classes/Views/Settings.php:594
|
1114 |
msgid "Admin Bar Notification Updates"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
+
#: classes/Views/Settings.php:597
|
1118 |
msgid "Admin Bar Notification Updates (Premium)"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
+
#: classes/Views/Settings.php:606
|
1122 |
msgid "Update in near real time"
|
1123 |
msgstr ""
|
1124 |
|
1125 |
+
#: classes/Views/Settings.php:611
|
1126 |
msgid "Update only on page refreshes"
|
1127 |
msgstr ""
|
1128 |
|
1129 |
+
#: classes/Views/Settings.php:621
|
1130 |
msgid "Add user notification on the WordPress login page"
|
1131 |
msgstr ""
|
1132 |
|
1133 |
+
#: classes/Views/Settings.php:622
|
1134 |
msgid ""
|
1135 |
"Many compliance regulations (such as the GDRP) require website "
|
1136 |
"administrators to tell the users of their website that all the changes they "
|
1137 |
"do when logged in are being logged."
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: classes/Views/Settings.php:626
|
1141 |
msgid "Login Page Notification"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: classes/Views/Settings.php:651 wp-security-audit-log.php:1565
|
1145 |
msgid ""
|
1146 |
"For security and auditing purposes, a record of all of your logged-in "
|
1147 |
"actions and changes within the WordPress dashboard will be recorded in an "
|
1150 |
"IP address where you accessed this site from."
|
1151 |
msgstr ""
|
1152 |
|
1153 |
+
#: classes/Views/Settings.php:669
|
1154 |
msgid "<strong>Note: </strong>"
|
1155 |
msgstr ""
|
1156 |
|
1157 |
+
#: classes/Views/Settings.php:669
|
1158 |
msgid ""
|
1159 |
"The only HTML code allowed in the login page notification is for links ( < a "
|
1160 |
"href >< /a > )."
|
1161 |
msgstr ""
|
1162 |
|
1163 |
+
#: classes/Views/Settings.php:685
|
1164 |
msgid "Is your website running behind a firewall or reverse proxy?"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
#. translators: Learn more link.
|
1168 |
+
#: classes/Views/Settings.php:690
|
1169 |
#, php-format
|
1170 |
msgid ""
|
1171 |
"If your website is running behind a firewall set this option to yes so the "
|
1172 |
"plugin retrieves the end user’s IP address from the proxy header - %s."
|
1173 |
msgstr ""
|
1174 |
|
1175 |
+
#: classes/Views/Settings.php:691
|
1176 |
msgid "learn more"
|
1177 |
msgstr ""
|
1178 |
|
1179 |
+
#: classes/Views/Settings.php:698
|
1180 |
msgid "Reverse Proxy / Firewall Options"
|
1181 |
msgstr ""
|
1182 |
|
1183 |
+
#: classes/Views/Settings.php:708
|
1184 |
msgid ""
|
1185 |
"Filter internal IP addresses from the proxy headers. Enable this option only "
|
1186 |
"if you are\tare still seeing the internal IP addresses of the firewall or "
|
1187 |
"proxy."
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: classes/Views/Settings.php:724
|
1191 |
msgid "Who can change the plugin settings?"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
+
#: classes/Views/Settings.php:725
|
1195 |
msgid ""
|
1196 |
"By default only users with administrator or super administrator (multisite) "
|
1197 |
"roles can change the settings of the plugin. Though you can change these "
|
1198 |
"privileges from this section."
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: classes/Views/Settings.php:729
|
1202 |
msgid "Restrict Plugin Access"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: classes/Views/Settings.php:735
|
1206 |
msgid "Only me"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: classes/Views/Settings.php:740
|
1210 |
msgid "Only administrators"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: classes/Views/Settings.php:746
|
1214 |
msgid "Only superadmins"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: classes/Views/Settings.php:752
|
1218 |
msgid "All these users or users with these roles"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: classes/Views/Settings.php:754
|
1222 |
msgid ""
|
1223 |
"Specify the username or the users which can change the plugin settings. You "
|
1224 |
"can also specify roles."
|
1225 |
msgstr ""
|
1226 |
|
1227 |
+
#: classes/Views/Settings.php:783
|
1228 |
msgid "Allow other users to view the activity log"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: classes/Views/Settings.php:784
|
1232 |
msgid ""
|
1233 |
"By default only users with administrator and super administrator (multisite) "
|
1234 |
"role can view the WordPress activity log. Though you can allow other users "
|
1235 |
"with no admin role to view the events."
|
1236 |
msgstr ""
|
1237 |
|
1238 |
+
#: classes/Views/Settings.php:788
|
1239 |
msgid "Can View Events"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
+
#: classes/Views/Settings.php:796
|
1243 |
msgid ""
|
1244 |
"Specify the username or the users which do not have an admin role but can "
|
1245 |
"also see the WordPress activity role. You can also specify roles."
|
1246 |
msgstr ""
|
1247 |
|
1248 |
+
#: classes/Views/Settings.php:822
|
1249 |
msgid "Which email address should the plugin use as a from address?"
|
1250 |
msgstr ""
|
1251 |
|
1252 |
+
#: classes/Views/Settings.php:823
|
1253 |
msgid ""
|
1254 |
"By default when the plugin sends an email notification it uses the email "
|
1255 |
"address specified in this website’s general settings. Though you can change "
|
1256 |
"the email address and display name from this section."
|
1257 |
msgstr ""
|
1258 |
|
1259 |
+
#: classes/Views/Settings.php:827
|
1260 |
msgid "From Email & Name"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: classes/Views/Settings.php:833
|
1264 |
msgid "Use the email address from the WordPress general settings"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: classes/Views/Settings.php:838
|
1268 |
msgid "Use another email address"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: classes/Views/Settings.php:842
|
1272 |
msgid "Email Address"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: classes/Views/Settings.php:847
|
1276 |
msgid "Display Name"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: classes/Views/Settings.php:858
|
1280 |
msgid "Do you want to hide the plugin from the list of installed plugins?"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: classes/Views/Settings.php:859
|
1284 |
msgid ""
|
1285 |
"By default all installed plugins are listed in the plugins page. If you do "
|
1286 |
"not want other administrators to see that you installed this plugin set this "
|
1288 |
"plugin on this website."
|
1289 |
msgstr ""
|
1290 |
|
1291 |
+
#: classes/Views/Settings.php:863
|
1292 |
msgid "Hide Plugin in Plugins Page"
|
1293 |
msgstr ""
|
1294 |
|
1295 |
+
#: classes/Views/Settings.php:868
|
1296 |
msgid "Yes, hide the plugin from the list of installed plugins"
|
1297 |
msgstr ""
|
1298 |
|
1299 |
+
#: classes/Views/Settings.php:873
|
1300 |
msgid "No, do not hide the plugin"
|
1301 |
msgstr ""
|
1302 |
|
1303 |
+
#: classes/Views/Settings.php:943
|
1304 |
msgid ""
|
1305 |
"For how long do you want to keep the activity log events (Retention "
|
1306 |
"settings) ?"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: classes/Views/Settings.php:946
|
1310 |
msgid ""
|
1311 |
"The plugin uses an efficient way to store the activity log data in the "
|
1312 |
"WordPress database, though the more data you keep the more disk space will "
|
1313 |
"be required. "
|
1314 |
msgstr ""
|
1315 |
|
1316 |
+
#: classes/Views/Settings.php:947
|
1317 |
msgid ""
|
1318 |
"<a href=\"https://www.wpsecurityauditlog.com/pricing/\" target=\"_blank"
|
1319 |
"\">Upgrade to Premium</a> to store the activity log data in an external "
|
1321 |
msgstr ""
|
1322 |
|
1323 |
#. translators: 1: Archive page link tag. 2: Link closing tag.
|
1324 |
+
#: classes/Views/Settings.php:965
|
1325 |
#, php-format
|
1326 |
msgid ""
|
1327 |
"Retention settings moved to %1$s archiving settings %2$s because archiving "
|
1328 |
"is enabled"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
+
#: classes/Views/Settings.php:972
|
1332 |
msgid "Audit Log Retention"
|
1333 |
msgstr ""
|
1334 |
|
1335 |
+
#: classes/Views/Settings.php:978
|
1336 |
msgid "Keep all data"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
+
#: classes/Views/Settings.php:1005
|
1340 |
msgid "Delete events older than"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
+
#: classes/Views/Settings.php:1012
|
1344 |
msgid "Months"
|
1345 |
msgstr ""
|
1346 |
|
1347 |
+
#: classes/Views/Settings.php:1013
|
1348 |
msgid "Years"
|
1349 |
msgstr ""
|
1350 |
|
1351 |
+
#: classes/Views/Settings.php:1021
|
1352 |
msgid "The next scheduled purging of activity log data that is older than "
|
1353 |
msgstr ""
|
1354 |
|
1355 |
+
#: classes/Views/Settings.php:1028
|
1356 |
msgid "You can run the purging process now by clicking the button below."
|
1357 |
msgstr ""
|
1358 |
|
1359 |
+
#: classes/Views/Settings.php:1032
|
1360 |
msgid "Purge Old Data"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
+
#: classes/Views/Settings.php:1043
|
1364 |
msgid "What timestamp you would like to see in the WordPress activity log?"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: classes/Views/Settings.php:1044
|
1368 |
msgid ""
|
1369 |
"Note that the WordPress' timezone might be different from that configured on "
|
1370 |
"the server so when you switch from UTC to WordPress timezone or vice versa "
|
1371 |
"you might notice a big difference."
|
1372 |
msgstr ""
|
1373 |
|
1374 |
+
#: classes/Views/Settings.php:1048
|
1375 |
msgid "Events Timestamp"
|
1376 |
msgstr ""
|
1377 |
|
1378 |
+
#: classes/Views/Settings.php:1068
|
1379 |
msgid "UTC"
|
1380 |
msgstr ""
|
1381 |
|
1382 |
+
#: classes/Views/Settings.php:1074
|
1383 |
msgid "Timezone configured on this WordPress website"
|
1384 |
msgstr ""
|
1385 |
|
1386 |
+
#: classes/Views/Settings.php:1084
|
1387 |
msgid ""
|
1388 |
"What user information should be displayed in the WordPress activity log?"
|
1389 |
msgstr ""
|
1390 |
|
1391 |
+
#: classes/Views/Settings.php:1085
|
1392 |
msgid ""
|
1393 |
"Usernames might not be the same as a user's first and last name so it can be "
|
1394 |
"difficult to recognize whose user was that did a change. When there is no "
|
1396 |
"back to the WordPress username."
|
1397 |
msgstr ""
|
1398 |
|
1399 |
+
#: classes/Views/Settings.php:1089
|
1400 |
msgid "User Information in Audit Log"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
+
#: classes/Views/Settings.php:1095
|
1404 |
msgid "WordPress Username"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
+
#: classes/Views/Settings.php:1100
|
1408 |
msgid "First Name & Last Name"
|
1409 |
msgstr ""
|
1410 |
|
1411 |
+
#: classes/Views/Settings.php:1105
|
1412 |
msgid "Configured Public Display Name"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
+
#: classes/Views/Settings.php:1115
|
1416 |
msgid "Select the columns to be displayed in the WordPress activity log"
|
1417 |
msgstr ""
|
1418 |
|
1419 |
+
#: classes/Views/Settings.php:1116
|
1420 |
msgid ""
|
1421 |
"When you deselect a column it won’t be shown in the activity log viewer but "
|
1422 |
"the data will still be recorded by the plugin, so when you select it again "
|
1423 |
"all the data will be displayed."
|
1424 |
msgstr ""
|
1425 |
|
1426 |
+
#: classes/Views/Settings.php:1120
|
1427 |
msgid "Audit Log Columns Selection"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
+
#: classes/Views/Settings.php:1133
|
1431 |
msgid "Date & Time"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
+
#: classes/Views/Settings.php:1137
|
1435 |
msgid "Source IP Address"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
+
#: classes/Views/Settings.php:1152
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1439 |
msgid "Do you want to keep a log of WordPress background activity?"
|
1440 |
msgstr ""
|
1441 |
|
1442 |
+
#: classes/Views/Settings.php:1154
|
1443 |
msgid ""
|
1444 |
"WordPress does a lot of things in the background that you do not necessarily "
|
1445 |
"need to know about, such as; deletion of post revisions, deletion of auto "
|
1447 |
"might be a lot and are irrelevant to the user."
|
1448 |
msgstr ""
|
1449 |
|
1450 |
+
#: classes/Views/Settings.php:1159
|
1451 |
msgid "Enable Events for WordPress Background Activity"
|
1452 |
msgstr ""
|
1453 |
|
1454 |
+
#: classes/Views/Settings.php:1212
|
1455 |
msgid ""
|
1456 |
"The plugin runs file integrity scans on your website so it keeps a log when "
|
1457 |
"a file is added, modified or deleted. All the settings for the file "
|
1458 |
"integrity scans can be found in this page."
|
1459 |
msgstr ""
|
1460 |
|
1461 |
+
#: classes/Views/Settings.php:1213
|
1462 |
msgid ""
|
1463 |
"<a href=\"https://www.wpsecurityauditlog.com/support-documentation/wordpress-"
|
1464 |
"files-changes-warning-activity-logs/\" target=\"_blank\">Refer to the "
|
1465 |
"WordPress file integrity scans feature page</a> for more information."
|
1466 |
msgstr ""
|
1467 |
|
1468 |
+
#: classes/Views/Settings.php:1216
|
1469 |
msgid "Do you want the plugin to scan your website for file changes?"
|
1470 |
msgstr ""
|
1471 |
|
1472 |
+
#: classes/Views/Settings.php:1221
|
1473 |
msgid "Keep a Log of File Changes"
|
1474 |
msgstr ""
|
1475 |
|
1476 |
+
#: classes/Views/Settings.php:1245
|
1477 |
msgid ""
|
1478 |
"Which file changes events do you want to keep a log of in the activity log?"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
+
#: classes/Views/Settings.php:1247
|
1482 |
msgid ""
|
1483 |
"By default the plugin will keep a log whenever a file has been added, "
|
1484 |
"modified or deleted. It will also log an event in the activity log when a "
|
1486 |
"link to specify which of these events the plugin should keep a log of."
|
1487 |
msgstr ""
|
1488 |
|
1489 |
+
#: classes/Views/Settings.php:1253
|
1490 |
msgid "Alert me when"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
+
#: classes/Views/Settings.php:1266
|
1494 |
msgid "Configure Events"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
+
#: classes/Views/Settings.php:1275
|
1498 |
msgid "When should the plugin scan your website for file changes?"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
+
#: classes/Views/Settings.php:1277
|
1502 |
msgid ""
|
1503 |
"By default the plugin will run file integrity scans once a week. If you can, "
|
1504 |
"ideally you should run file integrity scans on a daily basis. The file "
|
1508 |
"complete."
|
1509 |
msgstr ""
|
1510 |
|
1511 |
+
#: classes/Views/Settings.php:1283
|
1512 |
msgid "Scan Frequency"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
+
#: classes/Views/Settings.php:1288
|
1516 |
msgid "Daily"
|
1517 |
msgstr ""
|
1518 |
|
1519 |
+
#: classes/Views/Settings.php:1289
|
1520 |
msgid "Weekly"
|
1521 |
msgstr ""
|
1522 |
|
1523 |
+
#: classes/Views/Settings.php:1290
|
1524 |
msgid "Monthly"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: classes/Views/Settings.php:1308
|
1528 |
msgid "Scan Time"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: classes/Views/Settings.php:1314
|
1532 |
msgid "00:00"
|
1533 |
msgstr ""
|
1534 |
|
1535 |
+
#: classes/Views/Settings.php:1315
|
1536 |
msgid "01:00"
|
1537 |
msgstr ""
|
1538 |
|
1539 |
+
#: classes/Views/Settings.php:1316
|
1540 |
msgid "02:00"
|
1541 |
msgstr ""
|
1542 |
|
1543 |
+
#: classes/Views/Settings.php:1317
|
1544 |
msgid "03:00"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
+
#: classes/Views/Settings.php:1318
|
1548 |
msgid "04:00"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
+
#: classes/Views/Settings.php:1319
|
1552 |
msgid "05:00"
|
1553 |
msgstr ""
|
1554 |
|
1555 |
+
#: classes/Views/Settings.php:1320
|
1556 |
msgid "06:00"
|
1557 |
msgstr ""
|
1558 |
|
1559 |
+
#: classes/Views/Settings.php:1321
|
1560 |
msgid "07:00"
|
1561 |
msgstr ""
|
1562 |
|
1563 |
+
#: classes/Views/Settings.php:1322
|
1564 |
msgid "08:00"
|
1565 |
msgstr ""
|
1566 |
|
1567 |
+
#: classes/Views/Settings.php:1323
|
1568 |
msgid "09:00"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
+
#: classes/Views/Settings.php:1324
|
1572 |
msgid "10:00"
|
1573 |
msgstr ""
|
1574 |
|
1575 |
+
#: classes/Views/Settings.php:1325
|
1576 |
msgid "11:00"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: classes/Views/Settings.php:1326
|
1580 |
msgid "12:00"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
+
#: classes/Views/Settings.php:1327
|
1584 |
msgid "13:00"
|
1585 |
msgstr ""
|
1586 |
|
1587 |
+
#: classes/Views/Settings.php:1328
|
1588 |
msgid "14:00"
|
1589 |
msgstr ""
|
1590 |
|
1591 |
+
#: classes/Views/Settings.php:1329
|
1592 |
msgid "15:00"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
+
#: classes/Views/Settings.php:1330
|
1596 |
msgid "16:00"
|
1597 |
msgstr ""
|
1598 |
|
1599 |
+
#: classes/Views/Settings.php:1331
|
1600 |
msgid "17:00"
|
1601 |
msgstr ""
|
1602 |
|
1603 |
+
#: classes/Views/Settings.php:1332
|
1604 |
msgid "18:00"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
+
#: classes/Views/Settings.php:1333
|
1608 |
msgid "19:00"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
+
#: classes/Views/Settings.php:1334
|
1612 |
msgid "20:00"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
+
#: classes/Views/Settings.php:1335
|
1616 |
msgid "21:00"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
+
#: classes/Views/Settings.php:1336
|
1620 |
msgid "22:00"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
+
#: classes/Views/Settings.php:1337
|
1624 |
msgid "23:00"
|
1625 |
msgstr ""
|
1626 |
|
1627 |
+
#: classes/Views/Settings.php:1342
|
1628 |
msgid "Monday"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
+
#: classes/Views/Settings.php:1343
|
1632 |
msgid "Tuesday"
|
1633 |
msgstr ""
|
1634 |
|
1635 |
+
#: classes/Views/Settings.php:1344
|
1636 |
msgid "Wednesday"
|
1637 |
msgstr ""
|
1638 |
|
1639 |
+
#: classes/Views/Settings.php:1345
|
1640 |
msgid "Thursday"
|
1641 |
msgstr ""
|
1642 |
|
1643 |
+
#: classes/Views/Settings.php:1346
|
1644 |
msgid "Friday"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
+
#: classes/Views/Settings.php:1347
|
1648 |
msgid "Saturday"
|
1649 |
msgstr ""
|
1650 |
|
1651 |
+
#: classes/Views/Settings.php:1348
|
1652 |
msgid "Sunday"
|
1653 |
msgstr ""
|
1654 |
|
1655 |
+
#: classes/Views/Settings.php:1353
|
1656 |
msgid "01"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
+
#: classes/Views/Settings.php:1354
|
1660 |
msgid "02"
|
1661 |
msgstr ""
|
1662 |
|
1663 |
+
#: classes/Views/Settings.php:1355
|
1664 |
msgid "03"
|
1665 |
msgstr ""
|
1666 |
|
1667 |
+
#: classes/Views/Settings.php:1356
|
1668 |
msgid "04"
|
1669 |
msgstr ""
|
1670 |
|
1671 |
+
#: classes/Views/Settings.php:1357
|
1672 |
msgid "05"
|
1673 |
msgstr ""
|
1674 |
|
1675 |
+
#: classes/Views/Settings.php:1358
|
1676 |
msgid "06"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
+
#: classes/Views/Settings.php:1359
|
1680 |
msgid "07"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
+
#: classes/Views/Settings.php:1360
|
1684 |
msgid "08"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
+
#: classes/Views/Settings.php:1361
|
1688 |
msgid "09"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
+
#: classes/Views/Settings.php:1362
|
1692 |
msgid "10"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
+
#: classes/Views/Settings.php:1363
|
1696 |
msgid "11"
|
1697 |
msgstr ""
|
1698 |
|
1699 |
+
#: classes/Views/Settings.php:1364
|
1700 |
msgid "12"
|
1701 |
msgstr ""
|
1702 |
|
1703 |
+
#: classes/Views/Settings.php:1365
|
1704 |
msgid "13"
|
1705 |
msgstr ""
|
1706 |
|
1707 |
+
#: classes/Views/Settings.php:1366
|
1708 |
msgid "14"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
+
#: classes/Views/Settings.php:1367
|
1712 |
msgid "15"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
+
#: classes/Views/Settings.php:1368
|
1716 |
msgid "16"
|
1717 |
msgstr ""
|
1718 |
|
1719 |
+
#: classes/Views/Settings.php:1369
|
1720 |
msgid "17"
|
1721 |
msgstr ""
|
1722 |
|
1723 |
+
#: classes/Views/Settings.php:1370
|
1724 |
msgid "18"
|
1725 |
msgstr ""
|
1726 |
|
1727 |
+
#: classes/Views/Settings.php:1371
|
1728 |
msgid "19"
|
1729 |
msgstr ""
|
1730 |
|
1731 |
+
#: classes/Views/Settings.php:1372
|
1732 |
msgid "20"
|
1733 |
msgstr ""
|
1734 |
|
1735 |
+
#: classes/Views/Settings.php:1373
|
1736 |
msgid "21"
|
1737 |
msgstr ""
|
1738 |
|
1739 |
+
#: classes/Views/Settings.php:1374
|
1740 |
msgid "22"
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: classes/Views/Settings.php:1375
|
1744 |
msgid "23"
|
1745 |
msgstr ""
|
1746 |
|
1747 |
+
#: classes/Views/Settings.php:1376
|
1748 |
msgid "24"
|
1749 |
msgstr ""
|
1750 |
|
1751 |
+
#: classes/Views/Settings.php:1377
|
1752 |
msgid "25"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
+
#: classes/Views/Settings.php:1378
|
1756 |
msgid "26"
|
1757 |
msgstr ""
|
1758 |
|
1759 |
+
#: classes/Views/Settings.php:1379
|
1760 |
msgid "27"
|
1761 |
msgstr ""
|
1762 |
|
1763 |
+
#: classes/Views/Settings.php:1380
|
1764 |
msgid "28"
|
1765 |
msgstr ""
|
1766 |
|
1767 |
+
#: classes/Views/Settings.php:1381
|
1768 |
msgid "29"
|
1769 |
msgstr ""
|
1770 |
|
1771 |
+
#: classes/Views/Settings.php:1382
|
1772 |
msgid "30"
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: classes/Views/Settings.php:1398
|
1776 |
msgid "Hour"
|
1777 |
msgstr ""
|
1778 |
|
1779 |
+
#: classes/Views/Settings.php:1414 classes/Views/Settings.php:1430
|
1780 |
msgid "Day"
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: classes/Views/Settings.php:1440
|
1784 |
msgid "Which directories should be scanned for file changes?"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: classes/Views/Settings.php:1442
|
1788 |
msgid ""
|
1789 |
"The plugin will scan all the directories in your WordPress website by "
|
1790 |
"default because that is the most secure option. Though if for some reason "
|
1792 |
"them from the below list."
|
1793 |
msgstr ""
|
1794 |
|
1795 |
+
#: classes/Views/Settings.php:1448
|
1796 |
msgid "Directories to scan"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
+
#: classes/Views/Settings.php:1454
|
1800 |
msgid "Root directory of WordPress (excluding sub directories)"
|
1801 |
msgstr ""
|
1802 |
|
1803 |
+
#: classes/Views/Settings.php:1455
|
1804 |
msgid "WP Admin directory (/wp-admin/)"
|
1805 |
msgstr ""
|
1806 |
|
1807 |
+
#: classes/Views/Settings.php:1456
|
1808 |
msgid "WP Includes directory (/wp-includes/)"
|
1809 |
msgstr ""
|
1810 |
|
1811 |
+
#: classes/Views/Settings.php:1457
|
1812 |
msgid ""
|
1813 |
"/wp-content/ directory (excluding plugins, themes & uploads directories)"
|
1814 |
msgstr ""
|
1815 |
|
1816 |
+
#: classes/Views/Settings.php:1458
|
1817 |
msgid "Themes directory (/wp-content/themes/)"
|
1818 |
msgstr ""
|
1819 |
|
1820 |
+
#: classes/Views/Settings.php:1459
|
1821 |
msgid "Plugins directory (/wp-content/plugins/)"
|
1822 |
msgstr ""
|
1823 |
|
1824 |
+
#: classes/Views/Settings.php:1460
|
1825 |
msgid "Uploads directory (/wp-content/uploads/)"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
+
#: classes/Views/Settings.php:1466
|
1829 |
msgid ""
|
1830 |
"Uploads directory of all sub sites on this network (/wp-content/sites/*)"
|
1831 |
msgstr ""
|
1832 |
|
1833 |
+
#: classes/Views/Settings.php:1489
|
1834 |
msgid "What is the biggest file size the plugin should scan?"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
+
#: classes/Views/Settings.php:1490
|
1838 |
msgid ""
|
1839 |
"By default the plugin does not scan files that are bigger than 5MB. Such "
|
1840 |
"files are not common, hence typically not a target. Though if you are "
|
1842 |
"limit from the below option."
|
1843 |
msgstr ""
|
1844 |
|
1845 |
+
#: classes/Views/Settings.php:1493
|
1846 |
msgid "File Size Limit"
|
1847 |
msgstr ""
|
1848 |
|
1849 |
+
#: classes/Views/Settings.php:1496
|
1850 |
msgid "MB"
|
1851 |
msgstr ""
|
1852 |
|
1853 |
+
#: classes/Views/Settings.php:1502
|
1854 |
msgid ""
|
1855 |
"Do you want to exclude specific files or files with a particular extension "
|
1856 |
"from the scan?"
|
1857 |
msgstr ""
|
1858 |
|
1859 |
+
#: classes/Views/Settings.php:1503
|
1860 |
msgid ""
|
1861 |
"The plugin will scan everything that is in the WordPress root directory or "
|
1862 |
"below, even if the files and directories are not part of WordPress. It is "
|
1865 |
"excluded by default."
|
1866 |
msgstr ""
|
1867 |
|
1868 |
+
#: classes/Views/Settings.php:1508
|
1869 |
msgid "Exclude All Files in These Directories"
|
1870 |
msgstr ""
|
1871 |
|
1872 |
+
#: classes/Views/Settings.php:1521 classes/Views/Settings.php:1557
|
1873 |
+
#: classes/Views/Settings.php:1587
|
1874 |
msgid "REMOVE"
|
1875 |
msgstr ""
|
1876 |
|
1877 |
+
#: classes/Views/Settings.php:1526 classes/Views/Settings.php:1562
|
1878 |
+
#: classes/Views/Settings.php:1592 classes/Views/SetupWizard.php:533
|
1879 |
#: classes/Views/SetupWizard.php:541 classes/Views/SetupWizard.php:626
|
1880 |
#: classes/Views/SetupWizard.php:645 classes/Views/SetupWizard.php:664
|
1881 |
msgid "ADD"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
+
#: classes/Views/Settings.php:1529
|
1885 |
msgid ""
|
1886 |
"Specify the name of the directory and the path to it in relation to the "
|
1887 |
"website's root. For example, if you want to want to exclude all files in the "
|
1888 |
"sub directory dir1/dir2 specify the following:"
|
1889 |
msgstr ""
|
1890 |
|
1891 |
+
#: classes/Views/Settings.php:1540
|
1892 |
msgid "Exclude These Files"
|
1893 |
msgstr ""
|
1894 |
|
1895 |
+
#: classes/Views/Settings.php:1565
|
1896 |
msgid ""
|
1897 |
"Specify the name and extension of the file(s) you want to exclude. Wildcard "
|
1898 |
"not supported. There is no need to specify the path of the file."
|
1899 |
msgstr ""
|
1900 |
|
1901 |
+
#: classes/Views/Settings.php:1574
|
1902 |
msgid "Exclude these File Types"
|
1903 |
msgstr ""
|
1904 |
|
1905 |
+
#: classes/Views/Settings.php:1595
|
1906 |
msgid ""
|
1907 |
"Specify the extension of the file types you want to exclude. You should "
|
1908 |
"exclude any type of logs and backup files that tend to be very big."
|
1909 |
msgstr ""
|
1910 |
|
1911 |
+
#: classes/Views/Settings.php:1604
|
1912 |
msgid "Launch an instant file integrity scan"
|
1913 |
msgstr ""
|
1914 |
|
1915 |
+
#: classes/Views/Settings.php:1606
|
1916 |
msgid ""
|
1917 |
"Click the Scan Now button to launch an instant file integrity scan using the "
|
1918 |
"configured settings. You can navigate away from this page during the scan. "
|
1920 |
"scans."
|
1921 |
msgstr ""
|
1922 |
|
1923 |
+
#: classes/Views/Settings.php:1612
|
1924 |
msgid "Launch Instant Scan"
|
1925 |
msgstr ""
|
1926 |
|
1927 |
+
#: classes/Views/Settings.php:1618 classes/Views/Settings.php:1625
|
1928 |
+
#: classes/Views/Settings.php:2117
|
1929 |
msgid "Scan Now"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
+
#: classes/Views/Settings.php:1619 classes/Views/Settings.php:1622
|
1933 |
+
#: classes/Views/Settings.php:1626
|
1934 |
msgid "Stop Scan"
|
1935 |
msgstr ""
|
1936 |
|
1937 |
+
#: classes/Views/Settings.php:1621 classes/Views/Settings.php:2119
|
1938 |
msgid "Scan in Progress"
|
1939 |
msgstr ""
|
1940 |
|
1941 |
+
#: classes/Views/Settings.php:1705
|
1942 |
msgid ""
|
1943 |
"By default the plugin keeps a log of all user changes done on your WordPress "
|
1944 |
"website. Use the setting below to exclude any objects from the activity log. "
|
1946 |
"object is referred will not be logged in the activity log."
|
1947 |
msgstr ""
|
1948 |
|
1949 |
+
#: classes/Views/Settings.php:1709
|
1950 |
msgid "Exclude Users:"
|
1951 |
msgstr ""
|
1952 |
|
1953 |
+
#: classes/Views/Settings.php:1730
|
1954 |
msgid "Exclude Roles:"
|
1955 |
msgstr ""
|
1956 |
|
1957 |
+
#: classes/Views/Settings.php:1751
|
1958 |
msgid "Exclude IP Addresses:"
|
1959 |
msgstr ""
|
1960 |
|
1961 |
+
#: classes/Views/Settings.php:1772
|
1962 |
msgid "Exclude Post Type:"
|
1963 |
msgstr ""
|
1964 |
|
1965 |
+
#: classes/Views/Settings.php:1787
|
1966 |
msgid ""
|
1967 |
"WordPress has the post and page post types by default though your website "
|
1968 |
"might use more post types (custom post types). You can exclude all post "
|
1969 |
"types, including the default WordPress ones."
|
1970 |
msgstr ""
|
1971 |
|
1972 |
+
#: classes/Views/Settings.php:1794
|
1973 |
msgid "Exclude Custom Fields:"
|
1974 |
msgstr ""
|
1975 |
|
1976 |
+
#: classes/Views/Settings.php:1809
|
1977 |
msgid ""
|
1978 |
"You can use the * wildcard to exclude multiple matching custom fields. For "
|
1979 |
"example to exclude all custom fields starting with wp123 enter wp123*"
|
1980 |
msgstr ""
|
1981 |
|
1982 |
+
#: classes/Views/Settings.php:1816
|
1983 |
msgid "Exclude Non-Existing URLs:"
|
1984 |
msgstr ""
|
1985 |
|
1986 |
+
#: classes/Views/Settings.php:1832
|
1987 |
msgid ""
|
1988 |
"Add the non existing URLs for which you do not want to be alerted of HTTP "
|
1989 |
"404 errors in the activity log by specifying the complete URL.\tExamples "
|
1990 |
"below:"
|
1991 |
msgstr ""
|
1992 |
|
1993 |
+
#: classes/Views/Settings.php:1834
|
1994 |
msgid "File: "
|
1995 |
msgstr ""
|
1996 |
|
1997 |
+
#: classes/Views/Settings.php:1836
|
1998 |
msgid "Directory: "
|
1999 |
msgstr ""
|
2000 |
|
2001 |
+
#: classes/Views/Settings.php:1869
|
2002 |
msgid "These settings are for advanced users."
|
2003 |
msgstr ""
|
2004 |
|
2005 |
+
#: classes/Views/Settings.php:1870
|
2006 |
msgid ""
|
2007 |
"If you have any questions <a href=\"https://www.wpsecurityauditlog.com/"
|
2008 |
"contact/\" target=\"_blank\">contact us</a>."
|
2009 |
msgstr ""
|
2010 |
|
2011 |
+
#: classes/Views/Settings.php:1873
|
2012 |
msgid ""
|
2013 |
"Troubleshooting setting: Keep a debug log of all the requests this website "
|
2014 |
"receives"
|
2015 |
msgstr ""
|
2016 |
|
2017 |
+
#: classes/Views/Settings.php:1874
|
2018 |
msgid ""
|
2019 |
"Only enable the request log on testing, staging and development website. "
|
2020 |
"Never enable logging on a live website unless instructed to do so. Enabling "
|
2021 |
"request logging on a live website may degrade the performance of the website."
|
2022 |
msgstr ""
|
2023 |
|
2024 |
+
#: classes/Views/Settings.php:1878
|
2025 |
msgid "Request Log"
|
2026 |
msgstr ""
|
2027 |
|
2028 |
+
#: classes/Views/Settings.php:1896
|
2029 |
msgid ""
|
2030 |
"<strong>Note:</strong> The requests debug log file is saved as request.log."
|
2031 |
"php in the /wp-content/uploads/wp-security-audit-log/ directory."
|
2032 |
msgstr ""
|
2033 |
|
2034 |
+
#: classes/Views/Settings.php:1908
|
2035 |
msgid "Reset plugin settings to default"
|
2036 |
msgstr ""
|
2037 |
|
2038 |
+
#: classes/Views/Settings.php:1909
|
2039 |
msgid ""
|
2040 |
"Click the RESET button to reset ALL plugin settings to default. Note that "
|
2041 |
"the activity log data will be retained and only the plugin settings will be "
|
2042 |
"reset. To purge the data of the activity log use the setting below."
|
2043 |
msgstr ""
|
2044 |
|
2045 |
+
#: classes/Views/Settings.php:1913
|
2046 |
msgid "Reset Settings"
|
2047 |
msgstr ""
|
2048 |
|
2049 |
+
#: classes/Views/Settings.php:1915
|
2050 |
msgid "RESET"
|
2051 |
msgstr ""
|
2052 |
|
2053 |
+
#: classes/Views/Settings.php:1921
|
2054 |
msgid "Purge the WordPress activity log"
|
2055 |
msgstr ""
|
2056 |
|
2057 |
+
#: classes/Views/Settings.php:1922
|
2058 |
msgid ""
|
2059 |
"Click the Purge button below to delete all the data from the WordPress "
|
2060 |
"activity log and start afresh."
|
2061 |
msgstr ""
|
2062 |
|
2063 |
+
#: classes/Views/Settings.php:1926
|
2064 |
msgid "Purge Activity Log"
|
2065 |
msgstr ""
|
2066 |
|
2067 |
+
#: classes/Views/Settings.php:1928
|
2068 |
msgid "PURGE"
|
2069 |
msgstr ""
|
2070 |
|
2071 |
+
#: classes/Views/Settings.php:1934
|
2072 |
msgid "MainWP Child Site Stealth Mode"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
+
#: classes/Views/Settings.php:1935
|
2076 |
msgid ""
|
2077 |
"This option is enabled automatically when the plugin detects the MainWP "
|
2078 |
"Child plugin on the site. When this setting is enabled plugin access is "
|
2081 |
"Disable this option to change the plugin to the default setup."
|
2082 |
msgstr ""
|
2083 |
|
2084 |
+
#: classes/Views/Settings.php:1939
|
2085 |
msgid "Enable MainWP Child Site Stealth Mode"
|
2086 |
msgstr ""
|
2087 |
|
2088 |
+
#: classes/Views/Settings.php:1963
|
2089 |
msgid "Do you want to delete the plugin data from the database upon uninstall?"
|
2090 |
msgstr ""
|
2091 |
|
2092 |
+
#: classes/Views/Settings.php:1964
|
2093 |
msgid ""
|
2094 |
"The plugin saves the activity log data and settings in the WordPress "
|
2095 |
"database. By default upon uninstalling the plugin the data is kept in the "
|
2098 |
"access it again even when you reinstall the plugin."
|
2099 |
msgstr ""
|
2100 |
|
2101 |
+
#: classes/Views/Settings.php:1968
|
2102 |
msgid "Remove Data on Uninstall"
|
2103 |
msgstr ""
|
2104 |
|
2105 |
+
#: classes/Views/Settings.php:1993
|
2106 |
msgid "Are you sure you want to reset all the plugin settings to default?"
|
2107 |
msgstr ""
|
2108 |
|
2109 |
+
#: classes/Views/Settings.php:2003
|
2110 |
msgid "Are you sure you want to purge all the activity log data?"
|
2111 |
msgstr ""
|
2112 |
|
2113 |
+
#: classes/Views/Settings.php:2035
|
2114 |
msgid "MainWP Child plugin is not active on this website."
|
2115 |
msgstr ""
|
2116 |
|
2117 |
+
#: classes/Views/Settings.php:2110
|
2118 |
msgid "The specified value is not a valid URL!"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
+
#: classes/Views/Settings.php:2111
|
2122 |
msgid "The specified value is not a valid post type!"
|
2123 |
msgstr ""
|
2124 |
|
2125 |
+
#: classes/Views/Settings.php:2112
|
2126 |
msgid "The specified value is not a valid IP address!"
|
2127 |
msgstr ""
|
2128 |
|
2129 |
+
#: classes/Views/Settings.php:2113
|
2130 |
msgid "The specified value is not a user nor a role!"
|
2131 |
msgstr ""
|
2132 |
|
2133 |
+
#: classes/Views/Settings.php:2114
|
2134 |
msgid "Filename cannot be added because it contains invalid characters."
|
2135 |
msgstr ""
|
2136 |
|
2137 |
+
#: classes/Views/Settings.php:2115
|
2138 |
msgid "File extension cannot be added because it contains invalid characters."
|
2139 |
msgstr ""
|
2140 |
|
2141 |
+
#: classes/Views/Settings.php:2116
|
2142 |
msgid "Directory cannot be added because it contains invalid characters."
|
2143 |
msgstr ""
|
2144 |
|
2145 |
+
#: classes/Views/Settings.php:2118
|
2146 |
msgid "Scan Failed"
|
2147 |
msgstr ""
|
2148 |
|
2149 |
+
#: classes/Views/Settings.php:2243 classes/Views/Settings.php:2362
|
2150 |
msgid "Invalid setting type."
|
2151 |
msgstr ""
|
2152 |
|
2153 |
+
#: classes/Views/Settings.php:2298
|
2154 |
msgid "You can exclude this directory using the check boxes above."
|
2155 |
msgstr ""
|
2156 |
|
2157 |
+
#: classes/Views/Settings.php:2319
|
2158 |
msgid "Option added to excluded types."
|
2159 |
msgstr ""
|
2160 |
|
2161 |
+
#: classes/Views/Settings.php:2324
|
2162 |
msgid "This file is already excluded from the scan."
|
2163 |
msgstr ""
|
2164 |
|
2165 |
+
#: classes/Views/Settings.php:2326
|
2166 |
msgid "This file extension is already excluded from the scan."
|
2167 |
msgstr ""
|
2168 |
|
2169 |
+
#: classes/Views/Settings.php:2328
|
2170 |
msgid "This directory is already excluded from the scan."
|
2171 |
msgstr ""
|
2172 |
|
2173 |
+
#: classes/Views/Settings.php:2341
|
2174 |
msgid "Option name is empty."
|
2175 |
msgstr ""
|
2176 |
|
2177 |
+
#: classes/Views/Settings.php:2439
|
2178 |
msgid "Option removed from excluded scan types."
|
2179 |
msgstr ""
|
2180 |
|
2181 |
+
#: classes/Views/Settings.php:2446 classes/Views/Settings.php:2534
|
2182 |
msgid "Something went wrong."
|
2183 |
msgstr ""
|
2184 |
|
2185 |
+
#: classes/Views/Settings.php:2475
|
2186 |
msgid "A cron job is in progress."
|
2187 |
msgstr ""
|
2188 |
|
2189 |
+
#: classes/Views/Settings.php:2527 classes/Views/Settings.php:2570
|
2190 |
msgid "Scan started successfully."
|
2191 |
msgstr ""
|
2192 |
|
2193 |
+
#: classes/Views/Settings.php:2596 classes/Views/Settings.php:2623
|
2194 |
msgid "Tables has been reset."
|
2195 |
msgstr ""
|
2196 |
|
2197 |
+
#: classes/Views/Settings.php:2598 classes/Views/Settings.php:2625
|
2198 |
msgid "Reset query failed."
|
2199 |
msgstr ""
|
2200 |
|
2201 |
+
#: classes/Views/Settings.php:2601 classes/Views/Settings.php:2628
|
2202 |
msgid "Nonce Verification Failed."
|
2203 |
msgstr ""
|
2204 |
|
2435 |
"on all the events the plugin can keep a log of."
|
2436 |
msgstr ""
|
2437 |
|
2438 |
+
#: classes/Views/ToggleAlerts.php:209 defaults.php:486
|
2439 |
msgid "Third Party Plugins"
|
2440 |
msgstr ""
|
2441 |
|
2444 |
msgstr ""
|
2445 |
|
2446 |
#: classes/Views/ToggleAlerts.php:229 classes/Views/ToggleAlerts.php:261
|
2447 |
+
#: defaults.php:267
|
2448 |
msgid "Custom Post Types"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
#: classes/Views/ToggleAlerts.php:229 classes/Views/ToggleAlerts.php:261
|
2452 |
+
#: defaults.php:307
|
2453 |
msgid "Pages"
|
2454 |
msgstr ""
|
2455 |
|
2456 |
#: classes/Views/ToggleAlerts.php:264 classes/Views/ToggleAlerts.php:271
|
2457 |
+
#: classes/Views/ToggleAlerts.php:329 defaults.php:490
|
2458 |
msgid "BBPress Forum"
|
2459 |
msgstr ""
|
2460 |
|
2461 |
#: classes/Views/ToggleAlerts.php:265 classes/Views/ToggleAlerts.php:278
|
2462 |
+
#: classes/Views/ToggleAlerts.php:342 defaults.php:565
|
2463 |
msgid "WooCommerce"
|
2464 |
msgstr ""
|
2465 |
|
2466 |
#: classes/Views/ToggleAlerts.php:266 classes/Views/ToggleAlerts.php:285
|
2467 |
#: classes/Views/ToggleAlerts.php:342 classes/Views/ToggleAlerts.php:350
|
2468 |
+
#: defaults.php:520
|
2469 |
msgid "WooCommerce Products"
|
2470 |
msgstr ""
|
2471 |
|
2472 |
#: classes/Views/ToggleAlerts.php:267 classes/Views/ToggleAlerts.php:292
|
2473 |
+
#: classes/Views/ToggleAlerts.php:357 defaults.php:617
|
2474 |
msgid "Yoast SEO"
|
2475 |
msgstr ""
|
2476 |
|
2477 |
#: classes/Views/ToggleAlerts.php:268 classes/Views/ToggleAlerts.php:301
|
2478 |
+
#: classes/Views/ToggleAlerts.php:370 defaults.php:468
|
2479 |
msgid "MultiSite"
|
2480 |
msgstr ""
|
2481 |
|
2487 |
msgid "Description"
|
2488 |
msgstr ""
|
2489 |
|
2490 |
+
#: classes/Views/ToggleAlerts.php:322 classes/Views/ToggleAlerts.php:486
|
2491 |
+
#: classes/Views/ToggleAlerts.php:614
|
2492 |
msgid "File Changes"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
+
#: classes/Views/ToggleAlerts.php:323 defaults.php:198
|
2496 |
msgid "Content"
|
2497 |
msgstr ""
|
2498 |
|
2537 |
"Your website is a single site so the multisite events have been disabled."
|
2538 |
msgstr ""
|
2539 |
|
2540 |
+
#: classes/Views/ToggleAlerts.php:380 defaults.php:172
|
2541 |
msgid "User Profiles"
|
2542 |
msgstr ""
|
2543 |
|
2544 |
+
#: classes/Views/ToggleAlerts.php:383 defaults.php:153
|
2545 |
msgid "Other User Activity"
|
2546 |
msgstr ""
|
2547 |
|
2573 |
msgid "Tags"
|
2574 |
msgstr ""
|
2575 |
|
2576 |
+
#: classes/Views/ToggleAlerts.php:426 classes/Views/ToggleAlerts.php:444
|
2577 |
msgid "Categories"
|
2578 |
msgstr ""
|
2579 |
|
2589 |
msgid "Topics"
|
2590 |
msgstr ""
|
2591 |
|
2592 |
+
#: classes/Views/ToggleAlerts.php:436 classes/Views/ToggleAlerts.php:452
|
2593 |
+
msgid "User Profile"
|
2594 |
msgstr ""
|
2595 |
|
2596 |
#: classes/Views/ToggleAlerts.php:438
|
2597 |
+
msgid "Product Admin"
|
2598 |
msgstr ""
|
2599 |
|
2600 |
#: classes/Views/ToggleAlerts.php:440
|
2601 |
+
msgid "Product Attribute"
|
2602 |
+
msgstr ""
|
2603 |
+
|
2604 |
+
#: classes/Views/ToggleAlerts.php:442
|
2605 |
msgid "Store Admin"
|
2606 |
msgstr ""
|
2607 |
|
2608 |
+
#: classes/Views/ToggleAlerts.php:446
|
2609 |
msgid "Attributes"
|
2610 |
msgstr ""
|
2611 |
|
2612 |
+
#: classes/Views/ToggleAlerts.php:448
|
2613 |
msgid "Coupons"
|
2614 |
msgstr ""
|
2615 |
|
2616 |
+
#: classes/Views/ToggleAlerts.php:450
|
2617 |
msgid "Orders"
|
2618 |
msgstr ""
|
2619 |
|
2620 |
+
#: classes/Views/ToggleAlerts.php:454
|
2621 |
msgid "Website Changes"
|
2622 |
msgstr ""
|
2623 |
|
2624 |
+
#: classes/Views/ToggleAlerts.php:456
|
2625 |
msgid "Plugin Settings"
|
2626 |
msgstr ""
|
2627 |
|
2628 |
+
#: classes/Views/ToggleAlerts.php:462
|
2629 |
msgid "File Changes Scanning"
|
2630 |
msgstr ""
|
2631 |
|
2632 |
+
#: classes/Views/ToggleAlerts.php:518 classes/Views/ToggleAlerts.php:551
|
2633 |
msgid ""
|
2634 |
"Capture 404 requests to file (the log file are created in the /wp-content/"
|
2635 |
"uploads/wp-security-audit-log/404s/ directory)"
|
2636 |
msgstr ""
|
2637 |
|
2638 |
+
#: classes/Views/ToggleAlerts.php:526 classes/Views/ToggleAlerts.php:559
|
2639 |
msgid "Purge log files older than one month"
|
2640 |
msgstr ""
|
2641 |
|
2642 |
+
#: classes/Views/ToggleAlerts.php:531
|
2643 |
msgid ""
|
2644 |
"Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
|
2645 |
"to non-existing pages from the same IP address. Increase the value in this "
|
2646 |
"setting to the desired amount to keep a log of more or less requests."
|
2647 |
msgstr ""
|
2648 |
|
2649 |
+
#: classes/Views/ToggleAlerts.php:536 classes/Views/ToggleAlerts.php:569
|
2650 |
msgid "Record the referrer that generated the 404 error."
|
2651 |
msgstr ""
|
2652 |
|
2653 |
+
#: classes/Views/ToggleAlerts.php:564
|
2654 |
msgid ""
|
2655 |
"Number of 404 Requests to Log. By default the plugin keeps up to 99 requests "
|
2656 |
"to non-existing pages from the same IP address. Increase the value in this "
|
2659 |
"scanned the plugin will consume more resources to log all the requests."
|
2660 |
msgstr ""
|
2661 |
|
2662 |
+
#: classes/Views/ToggleAlerts.php:581 classes/Views/ToggleAlerts.php:594
|
2663 |
msgid ""
|
2664 |
"Number of login attempts to log. Enter 0 to log all failed login attempts. "
|
2665 |
"(By default the plugin only logs up to 10 failed login because the process "
|
2666 |
"can be very resource intensive in case of a brute force attack)"
|
2667 |
msgstr ""
|
2668 |
|
2669 |
+
#: classes/Views/ToggleAlerts.php:607
|
2670 |
msgid ""
|
2671 |
"Log all stock changes. Disable this setting to only keep a log of stock "
|
2672 |
"changes done manually via the WooCommerce dashboard. Therefore automated "
|
2674 |
"plugins will not be logged."
|
2675 |
msgstr ""
|
2676 |
|
2677 |
+
#: classes/Views/ToggleAlerts.php:629
|
2678 |
msgid "Configure the file integrity scan settings."
|
2679 |
msgstr ""
|
2680 |
|
2681 |
+
#: classes/Views/ToggleAlerts.php:644
|
2682 |
msgid ""
|
2683 |
"The plugin also keeps a log of some events that website visitors (non-logged "
|
2684 |
"in users) do because it is typically required by site admins. You can "
|
2685 |
"disable these events from here:"
|
2686 |
msgstr ""
|
2687 |
|
2688 |
+
#: classes/Views/ToggleAlerts.php:646
|
2689 |
msgid "Enable website visitors events"
|
2690 |
msgstr ""
|
2691 |
|
2692 |
+
#: classes/Views/ToggleAlerts.php:652
|
2693 |
msgid "Enable"
|
2694 |
msgstr ""
|
2695 |
|
2696 |
+
#: classes/Views/ToggleAlerts.php:657
|
2697 |
msgid ""
|
2698 |
"Below is the list of the events which are disabled when the above option is "
|
2699 |
"disabled:"
|
2700 |
msgstr ""
|
2701 |
|
2702 |
+
#: classes/Views/ToggleAlerts.php:672
|
2703 |
msgid "Save Changes"
|
2704 |
msgstr ""
|
2705 |
|
2706 |
+
#: classes/Views/ToggleAlerts.php:679
|
2707 |
msgid "Log Level Updated"
|
2708 |
msgstr ""
|
2709 |
|
2710 |
#. translators: Alerts log level.
|
2711 |
+
#: classes/Views/ToggleAlerts.php:683
|
2712 |
#, php-format
|
2713 |
msgid "The %s log level has been successfully loaded and applied."
|
2714 |
msgstr ""
|
2715 |
|
2716 |
+
#: classes/Views/ToggleAlerts.php:687
|
2717 |
msgid "OK"
|
2718 |
msgstr ""
|
2719 |
|
2720 |
+
#: classes/Views/ToggleAlerts.php:702
|
2721 |
msgid "Enable File Integrity Scanner"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
+
#: classes/Views/ToggleAlerts.php:704
|
2725 |
msgid ""
|
2726 |
"The file integrity scanner is switched off. To enable this event it has to "
|
2727 |
"be switched on."
|
2728 |
msgstr ""
|
2729 |
|
2730 |
+
#: classes/Views/ToggleAlerts.php:708
|
2731 |
msgid "SWITCH ON"
|
2732 |
msgstr ""
|
2733 |
|
2734 |
+
#: classes/Views/ToggleAlerts.php:709
|
2735 |
msgid "DISABLE EVENT"
|
2736 |
msgstr ""
|
2737 |
|
2738 |
+
#: classes/Views/addons/html-view.php:84
|
2739 |
+
msgid "Screenshots"
|
2740 |
+
msgstr ""
|
2741 |
+
|
2742 |
+
#: classes/Views/addons/html-view.php:101
|
2743 |
+
msgid "Start Free 14-Day Premium Trial"
|
2744 |
+
msgstr ""
|
2745 |
+
|
2746 |
#: classes/WidgetManager.php:55
|
2747 |
msgid "Latest Events"
|
2748 |
msgstr ""
|
2819 |
msgid "Debug informational messages."
|
2820 |
msgstr ""
|
2821 |
|
2822 |
+
#: defaults.php:149
|
2823 |
msgid "Users Profiles & Activity"
|
2824 |
msgstr ""
|
2825 |
|
2826 |
+
#: defaults.php:154
|
2827 |
msgid "User logged in"
|
2828 |
msgstr ""
|
2829 |
|
2830 |
+
#: defaults.php:154
|
2831 |
msgid "Successfully logged in."
|
2832 |
msgstr ""
|
2833 |
|
2834 |
+
#: defaults.php:155
|
2835 |
msgid "User logged out"
|
2836 |
msgstr ""
|
2837 |
|
2838 |
+
#: defaults.php:155
|
2839 |
msgid "Successfully logged out."
|
2840 |
msgstr ""
|
2841 |
|
2842 |
+
#: defaults.php:156
|
2843 |
msgid "Login failed"
|
2844 |
msgstr ""
|
2845 |
|
2846 |
+
#: defaults.php:156
|
2847 |
msgid "%Attempts% failed login(s) detected."
|
2848 |
msgstr ""
|
2849 |
|
2850 |
+
#: defaults.php:157
|
2851 |
msgid "Login failed / non existing user"
|
2852 |
msgstr ""
|
2853 |
|
2854 |
+
#: defaults.php:157
|
2855 |
msgid ""
|
2856 |
"%Attempts% failed login(s) detected using non existing user. %LogFileText%"
|
2857 |
msgstr ""
|
2858 |
|
2859 |
+
#: defaults.php:158
|
2860 |
msgid "Login blocked"
|
2861 |
msgstr ""
|
2862 |
|
2863 |
+
#: defaults.php:158
|
2864 |
msgid ""
|
2865 |
"Blocked from logging in because the same WordPress user is logged in from "
|
2866 |
"%ClientIP%."
|
2867 |
msgstr ""
|
2868 |
|
2869 |
+
#: defaults.php:159
|
2870 |
msgid "User logged in with existing session(s)"
|
2871 |
msgstr ""
|
2872 |
|
2873 |
+
#: defaults.php:159
|
2874 |
msgid ""
|
2875 |
"Successfully logged in. Another session from %IPAddress% for this user "
|
2876 |
"already exist."
|
2877 |
msgstr ""
|
2878 |
|
2879 |
+
#: defaults.php:160
|
2880 |
msgid "User logged out all other sessions with the same username"
|
2881 |
msgstr ""
|
2882 |
|
2883 |
+
#: defaults.php:160
|
2884 |
msgid "Logged out all other sessions with the same username."
|
2885 |
msgstr ""
|
2886 |
|
2887 |
+
#: defaults.php:161
|
2888 |
msgid "User session destroyed and logged out"
|
2889 |
msgstr ""
|
2890 |
|
2891 |
+
#: defaults.php:161
|
2892 |
msgid "Logged out session %TargetSessionID% which belonged to %TargetUserName%"
|
2893 |
msgstr ""
|
2894 |
|
2895 |
+
#: defaults.php:162
|
2896 |
+
msgid "Switched to another user"
|
2897 |
+
msgstr ""
|
2898 |
+
|
2899 |
+
#: defaults.php:162
|
2900 |
+
msgid "Switched to %TargetUserName% with role %TargetUserRole%."
|
2901 |
+
msgstr ""
|
2902 |
+
|
2903 |
+
#: defaults.php:163
|
2904 |
msgid "User uploaded file from Uploads directory"
|
2905 |
msgstr ""
|
2906 |
|
2907 |
+
#: defaults.php:163
|
2908 |
msgid "Uploaded the file %FileName% in %FilePath%."
|
2909 |
msgstr ""
|
2910 |
|
2911 |
+
#: defaults.php:164
|
2912 |
msgid "User deleted file from Uploads directory"
|
2913 |
msgstr ""
|
2914 |
|
2915 |
+
#: defaults.php:164
|
2916 |
msgid "Deleted the file %FileName% from %FilePath%."
|
2917 |
msgstr ""
|
2918 |
|
2919 |
+
#: defaults.php:165
|
2920 |
msgid "User requests non-existing pages (404 Error Pages)"
|
2921 |
msgstr ""
|
2922 |
|
2923 |
+
#: defaults.php:165
|
2924 |
msgid ""
|
2925 |
"Has requested a non existing page (404 Error Pages) %Attempts% %Msg%. "
|
2926 |
"%LinkFile%%URL%"
|
2927 |
msgstr ""
|
2928 |
|
2929 |
+
#: defaults.php:166
|
2930 |
msgid "Website Visitor User requests non-existing pages (404 Error Pages)"
|
2931 |
msgstr ""
|
2932 |
|
2933 |
+
#: defaults.php:166
|
2934 |
msgid ""
|
2935 |
"Website Visitor Has requested a non existing page (404 Error Pages) %Attempts"
|
2936 |
"% %Msg%. %LinkFile%%URL%"
|
2937 |
msgstr ""
|
2938 |
|
2939 |
+
#: defaults.php:173
|
2940 |
msgid "New user was created on WordPress"
|
2941 |
msgstr ""
|
2942 |
|
2943 |
+
#: defaults.php:173
|
2944 |
msgid ""
|
2945 |
"A new user %NewUserData->Username% was created with role of %NewUserData-"
|
2946 |
">Roles%."
|
2947 |
msgstr ""
|
2948 |
|
2949 |
+
#: defaults.php:174
|
2950 |
msgid "User created another WordPress user"
|
2951 |
msgstr ""
|
2952 |
|
2953 |
+
#: defaults.php:174
|
2954 |
msgid ""
|
2955 |
"%UserChanger% created a new user %NewUserData->Username% with the role of "
|
2956 |
"%NewUserData->Roles%."
|
2957 |
msgstr ""
|
2958 |
|
2959 |
+
#: defaults.php:175
|
2960 |
msgid "The role of a user was changed by another WordPress user"
|
2961 |
msgstr ""
|
2962 |
|
2963 |
+
#: defaults.php:175
|
2964 |
msgid ""
|
2965 |
"Changed the role of the user %TargetUsername% from %OldRole% to %NewRole%"
|
2966 |
"%multisite_text%."
|
2967 |
msgstr ""
|
2968 |
|
2969 |
+
#: defaults.php:176
|
2970 |
msgid "User has changed his or her password"
|
2971 |
msgstr ""
|
2972 |
|
2973 |
+
#: defaults.php:176
|
2974 |
msgid "Changed the password."
|
2975 |
msgstr ""
|
2976 |
|
2977 |
+
#: defaults.php:177
|
2978 |
msgid "User changed another user's password"
|
2979 |
msgstr ""
|
2980 |
|
2981 |
+
#: defaults.php:177
|
2982 |
msgid ""
|
2983 |
"Changed the password for the user %TargetUserData->Username% with the role "
|
2984 |
"of %TargetUserData->Roles%."
|
2985 |
msgstr ""
|
2986 |
|
2987 |
+
#: defaults.php:178
|
2988 |
msgid "User changed his or her email address"
|
2989 |
msgstr ""
|
2990 |
|
2991 |
+
#: defaults.php:178
|
2992 |
msgid "Changed the email address from %OldEmail% to %NewEmail%."
|
2993 |
msgstr ""
|
2994 |
|
2995 |
+
#: defaults.php:179
|
2996 |
msgid "User changed another user's email address"
|
2997 |
msgstr ""
|
2998 |
|
2999 |
+
#: defaults.php:179
|
3000 |
msgid ""
|
3001 |
"Changed the email address of the user %TargetUsername% from %OldEmail% to "
|
3002 |
"%NewEmail%."
|
3003 |
msgstr ""
|
3004 |
|
3005 |
+
#: defaults.php:180
|
3006 |
msgid "User was deleted by another user"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
+
#: defaults.php:180
|
3010 |
msgid ""
|
3011 |
"Deleted the user %TargetUserData->Username% with the role of %TargetUserData-"
|
3012 |
">Roles%."
|
3013 |
msgstr ""
|
3014 |
|
3015 |
+
#: defaults.php:181
|
3016 |
msgid "User opened the profile page of another user"
|
3017 |
msgstr ""
|
3018 |
|
3019 |
+
#: defaults.php:181
|
3020 |
msgid "%UserChanger% opened the profile page of the user %TargetUsername%."
|
3021 |
msgstr ""
|
3022 |
|
3023 |
+
#: defaults.php:182
|
3024 |
msgid "User updated a custom field value for a user"
|
3025 |
msgstr ""
|
3026 |
|
3027 |
+
#: defaults.php:182
|
3028 |
msgid ""
|
3029 |
"Changed the value of the custom field %custom_field_name%%ReportText% for "
|
3030 |
"the user %TargetUsername%.%ChangeText%"
|
3031 |
msgstr ""
|
3032 |
|
3033 |
+
#: defaults.php:183
|
3034 |
msgid "User created a custom field value for a user"
|
3035 |
msgstr ""
|
3036 |
|
3037 |
+
#: defaults.php:183
|
3038 |
msgid ""
|
3039 |
"Created the value of the custom field %custom_field_name% with %new_value% "
|
3040 |
"for the user %TargetUsername%."
|
3041 |
msgstr ""
|
3042 |
|
3043 |
+
#: defaults.php:184
|
3044 |
msgid "User changed first name for a user"
|
3045 |
msgstr ""
|
3046 |
|
3047 |
+
#: defaults.php:184
|
3048 |
msgid ""
|
3049 |
"Changed the first name of the user %TargetUsername% from %old_firstname% to "
|
3050 |
"%new_firstname%"
|
3051 |
msgstr ""
|
3052 |
|
3053 |
+
#: defaults.php:185
|
3054 |
msgid "User changed last name for a user"
|
3055 |
msgstr ""
|
3056 |
|
3057 |
+
#: defaults.php:185
|
3058 |
msgid ""
|
3059 |
"Changed the last name of the user %TargetUsername% from %old_lastname% to "
|
3060 |
"%new_lastname%"
|
3061 |
msgstr ""
|
3062 |
|
3063 |
+
#: defaults.php:186
|
3064 |
msgid "User changed nickname for a user"
|
3065 |
msgstr ""
|
3066 |
|
3067 |
+
#: defaults.php:186
|
3068 |
msgid ""
|
3069 |
"Changed the nickname of the user %TargetUsername% from %old_nickname% to "
|
3070 |
"%new_nickname%"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
+
#: defaults.php:187
|
3074 |
msgid "User changed the display name for a user"
|
3075 |
msgstr ""
|
3076 |
|
3077 |
+
#: defaults.php:187
|
3078 |
msgid ""
|
3079 |
"Changed the Display name publicly of user %TargetUsername% from "
|
3080 |
"%old_displayname% to %new_displayname%"
|
3081 |
msgstr ""
|
3082 |
|
3083 |
+
#: defaults.php:194
|
3084 |
msgid "Content & Comments"
|
3085 |
msgstr ""
|
3086 |
|
3087 |
+
#: defaults.php:199
|
3088 |
msgid "User created a new post and saved it as draft"
|
3089 |
msgstr ""
|
3090 |
|
3091 |
+
#: defaults.php:199
|
3092 |
msgid ""
|
3093 |
"Created a new %PostType% titled %PostTitle% and saved it as draft. "
|
3094 |
"%EditorLinkPost%."
|
3095 |
msgstr ""
|
3096 |
|
3097 |
+
#: defaults.php:200
|
3098 |
msgid "User published a post"
|
3099 |
msgstr ""
|
3100 |
|
3101 |
+
#: defaults.php:200
|
3102 |
msgid ""
|
3103 |
"Published a %PostType% titled %PostTitle%. URL is %PostUrl%. %EditorLinkPost"
|
3104 |
"%."
|
3105 |
msgstr ""
|
3106 |
|
3107 |
+
#: defaults.php:201
|
3108 |
msgid "User modified a post"
|
3109 |
msgstr ""
|
3110 |
|
3111 |
+
#: defaults.php:201
|
3112 |
msgid ""
|
3113 |
"Modified the %PostStatus% %PostType% titled %PostTitle%. URL is: %PostUrl%. "
|
3114 |
"%EditorLinkPost%."
|
3115 |
msgstr ""
|
3116 |
|
3117 |
+
#: defaults.php:202
|
3118 |
msgid "User permanently deleted a post from the trash"
|
3119 |
msgstr ""
|
3120 |
|
3121 |
+
#: defaults.php:202
|
3122 |
msgid ""
|
3123 |
"Permanently deleted the %PostType% titled %PostTitle%. URL was %PostUrl%."
|
3124 |
msgstr ""
|
3125 |
|
3126 |
+
#: defaults.php:203
|
3127 |
msgid "User moved a post to the trash"
|
3128 |
msgstr ""
|
3129 |
|
3130 |
+
#: defaults.php:203
|
3131 |
msgid ""
|
3132 |
"Moved the %PostStatus% %PostType% titled %PostTitle% to trash. URL is "
|
3133 |
"%PostUrl%."
|
3134 |
msgstr ""
|
3135 |
|
3136 |
+
#: defaults.php:204
|
3137 |
msgid "User restored a post from trash"
|
3138 |
msgstr ""
|
3139 |
|
3140 |
+
#: defaults.php:204
|
3141 |
msgid ""
|
3142 |
"The %PostStatus% %PostType% titled %PostTitle% has been restored from trash. "
|
3143 |
"URL is: %PostUrl%. %EditorLinkPost%."
|
3144 |
msgstr ""
|
3145 |
|
3146 |
+
#: defaults.php:205
|
3147 |
msgid "User changed post URL"
|
3148 |
msgstr ""
|
3149 |
|
3150 |
+
#: defaults.php:205
|
3151 |
msgid ""
|
3152 |
"Changed the URL of the %PostStatus% %PostType% titled %PostTitle%%ReportText"
|
3153 |
"%.%ChangeText% %EditorLinkPost%."
|
3154 |
msgstr ""
|
3155 |
|
3156 |
+
#: defaults.php:206
|
3157 |
msgid "User changed post author"
|
3158 |
msgstr ""
|
3159 |
|
3160 |
+
#: defaults.php:206
|
3161 |
msgid ""
|
3162 |
"Changed the author of the %PostStatus% %PostType% titled %PostTitle% from "
|
3163 |
"%OldAuthor% to %NewAuthor%. URL is: %PostUrl%. %EditorLinkPost%."
|
3164 |
msgstr ""
|
3165 |
|
3166 |
+
#: defaults.php:207
|
3167 |
msgid "User changed post status"
|
3168 |
msgstr ""
|
3169 |
|
3170 |
+
#: defaults.php:207
|
3171 |
msgid ""
|
3172 |
"Changed the status of the %PostType% titled %PostTitle% from %OldStatus% to "
|
3173 |
"%NewStatus%. URL is: %PostUrl%. %EditorLinkPost%."
|
3174 |
msgstr ""
|
3175 |
|
3176 |
+
#: defaults.php:208
|
3177 |
msgid "User changed the visibility of a post"
|
3178 |
msgstr ""
|
3179 |
|
3180 |
+
#: defaults.php:208
|
3181 |
msgid ""
|
3182 |
"Changed the visibility of the %PostStatus% %PostType% titled %PostTitle% "
|
3183 |
"from %OldVisibility% to %NewVisibility%. URL is: %PostUrl%. %EditorLinkPost%."
|
3184 |
msgstr ""
|
3185 |
|
3186 |
+
#: defaults.php:209
|
3187 |
msgid "User changed the date of a post"
|
3188 |
msgstr ""
|
3189 |
|
3190 |
+
#: defaults.php:209
|
3191 |
msgid ""
|
3192 |
"Changed the date of the %PostStatus% %PostType% titled %PostTitle% from "
|
3193 |
"%OldDate% to %NewDate%. URL is: %PostUrl%. %EditorLinkPost%."
|
3194 |
msgstr ""
|
3195 |
|
3196 |
+
#: defaults.php:210
|
3197 |
msgid "User changed the parent of a page"
|
3198 |
msgstr ""
|
3199 |
|
3200 |
+
#: defaults.php:210
|
3201 |
msgid ""
|
3202 |
"Changed the parent of the %PostStatus% %PostType% titled %PostTitle% from "
|
3203 |
"%OldParentName% to %NewParentName%. %EditorLinkPost%."
|
3204 |
msgstr ""
|
3205 |
|
3206 |
+
#: defaults.php:211
|
3207 |
msgid "User changed the template of a page"
|
3208 |
msgstr ""
|
3209 |
|
3210 |
+
#: defaults.php:211
|
3211 |
msgid ""
|
3212 |
"Changed the template of the %PostStatus% %PostType% titled %PostTitle% from "
|
3213 |
"%OldTemplate% to %NewTemplate%. %EditorLinkPost%."
|
3214 |
msgstr ""
|
3215 |
|
3216 |
+
#: defaults.php:212
|
3217 |
msgid "User set a post as sticky"
|
3218 |
msgstr ""
|
3219 |
|
3220 |
+
#: defaults.php:212
|
3221 |
msgid ""
|
3222 |
"Set the post %PostTitle% as Sticky. Post URL is %PostUrl%. %EditorLinkPost%."
|
3223 |
msgstr ""
|
3224 |
|
3225 |
+
#: defaults.php:213
|
3226 |
msgid "User removed post from sticky"
|
3227 |
msgstr ""
|
3228 |
|
3229 |
+
#: defaults.php:213
|
3230 |
msgid "Removed the post %PostTitle% from Sticky. %EditorLinkPost%."
|
3231 |
msgstr ""
|
3232 |
|
3233 |
+
#: defaults.php:214
|
3234 |
msgid "User modified the content of a post"
|
3235 |
msgstr ""
|
3236 |
|
3237 |
+
#: defaults.php:214
|
3238 |
msgid ""
|
3239 |
"Modified the content of the %PostStatus% %PostType% titled %PostTitle%. Post "
|
3240 |
"URL is %PostUrl%. %RevisionLink% %EditorLinkPost%."
|
3241 |
msgstr ""
|
3242 |
|
3243 |
+
#: defaults.php:215
|
3244 |
msgid "User submitted a post for review"
|
3245 |
msgstr ""
|
3246 |
|
3247 |
+
#: defaults.php:215
|
3248 |
msgid ""
|
3249 |
"Submitted the %PostType% titled %PostTitle% for review. URL is: %PostUrl%. "
|
3250 |
"%EditorLinkPost%."
|
3251 |
msgstr ""
|
3252 |
|
3253 |
+
#: defaults.php:216
|
3254 |
msgid "User scheduled a post"
|
3255 |
msgstr ""
|
3256 |
|
3257 |
+
#: defaults.php:216
|
3258 |
msgid ""
|
3259 |
"Scheduled the %PostType% titled %PostTitle% to be published on "
|
3260 |
"%PublishingDate%. URL is: %PostUrl%. %EditorLinkPost%."
|
3261 |
msgstr ""
|
3262 |
|
3263 |
+
#: defaults.php:217
|
3264 |
msgid "User changed title of a post"
|
3265 |
msgstr ""
|
3266 |
|
3267 |
+
#: defaults.php:217
|
3268 |
msgid ""
|
3269 |
"Changed the title of the %PostStatus% %PostType% from %OldTitle% to %NewTitle"
|
3270 |
"%. URL is: %PostUrl%. %EditorLinkPost%."
|
3271 |
msgstr ""
|
3272 |
|
3273 |
+
#: defaults.php:218
|
3274 |
msgid "User opened a post in the editor"
|
3275 |
msgstr ""
|
3276 |
|
3277 |
+
#: defaults.php:218
|
3278 |
msgid ""
|
3279 |
"Opened the %PostStatus% %PostType% titled %PostTitle% in the editor. URL is: "
|
3280 |
"%PostUrl%. %EditorLinkPost%."
|
3281 |
msgstr ""
|
3282 |
|
3283 |
+
#: defaults.php:219
|
3284 |
msgid "User viewed a post"
|
3285 |
msgstr ""
|
3286 |
|
3287 |
+
#: defaults.php:219
|
3288 |
msgid ""
|
3289 |
"Viewed the %PostStatus% %PostType% titled %PostTitle%. URL is: %PostUrl%. "
|
3290 |
"%EditorLinkPost%."
|
3291 |
msgstr ""
|
3292 |
|
3293 |
+
#: defaults.php:220
|
3294 |
msgid "A plugin modified a post"
|
3295 |
msgstr ""
|
3296 |
|
3297 |
+
#: defaults.php:220
|
3298 |
msgid ""
|
3299 |
"Plugin modified the %PostStatus% %PostType% titled %PostTitle% of type "
|
3300 |
"%PostType%. URL is: %PostUrl%. %EditorLinkPost%."
|
3301 |
msgstr ""
|
3302 |
|
3303 |
+
#: defaults.php:221
|
3304 |
msgid "User disabled Comments/Trackbacks and Pingbacks in a post"
|
3305 |
msgstr ""
|
3306 |
|
3307 |
+
#: defaults.php:221
|
3308 |
msgid ""
|
3309 |
"Disabled %Type% on the %PostStatus% %PostType% titled %PostTitle%. URL is: "
|
3310 |
"%PostUrl%. %EditorLinkPost%."
|
3311 |
msgstr ""
|
3312 |
|
3313 |
+
#: defaults.php:222
|
3314 |
msgid "User enabled Comments/Trackbacks and Pingbacks in a post"
|
3315 |
msgstr ""
|
3316 |
|
3317 |
+
#: defaults.php:222
|
3318 |
msgid ""
|
3319 |
"Enabled %Type% on the %PostStatus% %PostType% titled %PostTitle%. URL is: "
|
3320 |
"%PostUrl%. %EditorLinkPost%."
|
3321 |
msgstr ""
|
3322 |
|
3323 |
+
#: defaults.php:223
|
3324 |
msgid "User added post tag"
|
3325 |
msgstr ""
|
3326 |
|
3327 |
+
#: defaults.php:223
|
3328 |
msgid ""
|
3329 |
"Added the tag %tag% to the %PostStatus% post titled %PostTitle%. URL is: "
|
3330 |
"%PostUrl%. %EditorLinkPost%."
|
3331 |
msgstr ""
|
3332 |
|
3333 |
+
#: defaults.php:224
|
3334 |
msgid "User removed post tag"
|
3335 |
msgstr ""
|
3336 |
|
3337 |
+
#: defaults.php:224
|
3338 |
msgid ""
|
3339 |
"Removed the tag %tag% from the %PostStatus% post titled %PostTitle%. URL is: "
|
3340 |
"%PostUrl%. %EditorLinkPost%."
|
3341 |
msgstr ""
|
3342 |
|
3343 |
+
#: defaults.php:225
|
3344 |
msgid "User created new tag"
|
3345 |
msgstr ""
|
3346 |
|
3347 |
+
#: defaults.php:225
|
3348 |
msgid "Added a new tag called %TagName%. View the tag: %TagLink%."
|
3349 |
msgstr ""
|
3350 |
|
3351 |
+
#: defaults.php:226
|
3352 |
msgid "User deleted tag"
|
3353 |
msgstr ""
|
3354 |
|
3355 |
+
#: defaults.php:226
|
3356 |
msgid "Deleted the tag %TagName%."
|
3357 |
msgstr ""
|
3358 |
|
3359 |
+
#: defaults.php:227
|
3360 |
msgid "User renamed tag"
|
3361 |
msgstr ""
|
3362 |
|
3363 |
+
#: defaults.php:227
|
3364 |
msgid "Renamed a tag from %old_name% to %new_name%. View the tag: %TagLink%."
|
3365 |
msgstr ""
|
3366 |
|
3367 |
+
#: defaults.php:228
|
3368 |
msgid "User changed tag slug"
|
3369 |
msgstr ""
|
3370 |
|
3371 |
+
#: defaults.php:228
|
3372 |
msgid ""
|
3373 |
"Changed the slug of tag %tag% from %old_slug% to %new_slug%. View the tag: "
|
3374 |
"%TagLink%."
|
3375 |
msgstr ""
|
3376 |
|
3377 |
+
#: defaults.php:229
|
3378 |
msgid "User changed tag description"
|
3379 |
msgstr ""
|
3380 |
|
3381 |
+
#: defaults.php:229
|
3382 |
msgid ""
|
3383 |
"Changed the description of the tag %tag%%ReportText%.%ChangeText% View the "
|
3384 |
"tag: %TagLink%."
|
3385 |
msgstr ""
|
3386 |
|
3387 |
+
#: defaults.php:230
|
3388 |
msgid "User changed post category"
|
3389 |
msgstr ""
|
3390 |
|
3391 |
+
#: defaults.php:230
|
3392 |
msgid ""
|
3393 |
"Changed the category of the %PostStatus% %PostType% titled %PostTitle% from "
|
3394 |
"%OldCategories% to %NewCategories%. URL is: %PostUrl%. %EditorLinkPost%."
|
3395 |
msgstr ""
|
3396 |
|
3397 |
+
#: defaults.php:231
|
3398 |
msgid "User created new category"
|
3399 |
msgstr ""
|
3400 |
|
3401 |
+
#: defaults.php:231
|
3402 |
msgid ""
|
3403 |
"Created a new category called %CategoryName%. Category slug is %Slug%. "
|
3404 |
"%CategoryLink%."
|
3405 |
msgstr ""
|
3406 |
|
3407 |
+
#: defaults.php:232
|
3408 |
msgid "User deleted category"
|
3409 |
msgstr ""
|
3410 |
|
3411 |
+
#: defaults.php:232
|
3412 |
msgid ""
|
3413 |
"Deleted the %CategoryName% category. Category slug was %Slug%. %CategoryLink"
|
3414 |
"%."
|
3415 |
msgstr ""
|
3416 |
|
3417 |
+
#: defaults.php:233
|
3418 |
msgid "Changed the parent of a category"
|
3419 |
msgstr ""
|
3420 |
|
3421 |
+
#: defaults.php:233
|
3422 |
msgid ""
|
3423 |
"Changed the parent of the category %CategoryName% from %OldParent% to "
|
3424 |
"%NewParent%. %CategoryLink%."
|
3425 |
msgstr ""
|
3426 |
|
3427 |
+
#: defaults.php:234
|
3428 |
msgid "User changed category name"
|
3429 |
msgstr ""
|
3430 |
|
3431 |
+
#: defaults.php:234
|
3432 |
msgid "Changed the name of the category %old_name% to %new_name%."
|
3433 |
msgstr ""
|
3434 |
|
3435 |
+
#: defaults.php:235
|
3436 |
msgid "User changed category slug"
|
3437 |
msgstr ""
|
3438 |
|
3439 |
+
#: defaults.php:235
|
3440 |
msgid ""
|
3441 |
"Changed the slug of the category %CategoryName% from %old_slug% to %new_slug"
|
3442 |
"%."
|
3443 |
msgstr ""
|
3444 |
|
3445 |
+
#: defaults.php:236
|
3446 |
msgid "User created a custom field for a post"
|
3447 |
msgstr ""
|
3448 |
|
3449 |
+
#: defaults.php:236
|
3450 |
msgid ""
|
3451 |
"Created a new custom field called %MetaKey% with value %MetaValue% in the "
|
3452 |
"%PostStatus% %PostType% titled %PostTitle%. URL is: %PostUrl%. "
|
3453 |
"%EditorLinkPost%.<br>%MetaLink%."
|
3454 |
msgstr ""
|
3455 |
|
3456 |
+
#: defaults.php:237
|
3457 |
msgid "User updated a custom field value for a post"
|
3458 |
msgstr ""
|
3459 |
|
3460 |
+
#: defaults.php:237
|
3461 |
msgid ""
|
3462 |
"Modified the value of the custom field %MetaKey%%ReportText% in the "
|
3463 |
"%PostStatus% %PostType% titled %PostTitle%.%ChangeText% URL is: %PostUrl%. "
|
3464 |
"%EditorLinkPost%.<br>%MetaLink%."
|
3465 |
msgstr ""
|
3466 |
|
3467 |
+
#: defaults.php:238
|
3468 |
msgid "User deleted a custom field from a post"
|
3469 |
msgstr ""
|
3470 |
|
3471 |
+
#: defaults.php:238
|
3472 |
msgid ""
|
3473 |
"Deleted the custom field %MetaKey% with value %MetaValue% from %PostStatus% "
|
3474 |
"%PostType% titled %PostTitle%. URL is: %PostUrl%. %EditorLinkPost%."
|
3475 |
msgstr ""
|
3476 |
|
3477 |
+
#: defaults.php:239
|
3478 |
msgid "User updated a custom field name for a post"
|
3479 |
msgstr ""
|
3480 |
|
3481 |
+
#: defaults.php:239
|
3482 |
msgid ""
|
3483 |
"Changed the custom field's name from %MetaKeyOld% to %MetaKeyNew% in the "
|
3484 |
"%PostStatus% %PostType% titled %PostTitle%. URL is: %PostUrl%. "
|
3485 |
"%EditorLinkPost%.<br>%MetaLink%."
|
3486 |
msgstr ""
|
3487 |
|
3488 |
+
#: defaults.php:245
|
3489 |
msgid "Comments"
|
3490 |
msgstr ""
|
3491 |
|
3492 |
+
#: defaults.php:246
|
3493 |
msgid "User approved a comment"
|
3494 |
msgstr ""
|
3495 |
|
3496 |
+
#: defaults.php:246
|
3497 |
msgid ""
|
3498 |
"Approved the comment posted in response to the post %PostTitle% by %Author% "
|
3499 |
"on %CommentLink%."
|
3500 |
msgstr ""
|
3501 |
|
3502 |
+
#: defaults.php:247
|
3503 |
msgid "User unapproved a comment"
|
3504 |
msgstr ""
|
3505 |
|
3506 |
+
#: defaults.php:247
|
3507 |
msgid ""
|
3508 |
"Unapproved the comment posted in response to the post %PostTitle% by %Author"
|
3509 |
"% on %CommentLink%."
|
3510 |
msgstr ""
|
3511 |
|
3512 |
+
#: defaults.php:248
|
3513 |
msgid "User replied to a comment"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
+
#: defaults.php:248
|
3517 |
msgid ""
|
3518 |
"Replied to the comment posted in response to the post %PostTitle% by %Author"
|
3519 |
"% on %CommentLink%."
|
3520 |
msgstr ""
|
3521 |
|
3522 |
+
#: defaults.php:249
|
3523 |
msgid "User edited a comment"
|
3524 |
msgstr ""
|
3525 |
|
3526 |
+
#: defaults.php:249
|
3527 |
msgid ""
|
3528 |
"Edited a comment posted in response to the post %PostTitle% by %Author% on "
|
3529 |
"%CommentLink%."
|
3530 |
msgstr ""
|
3531 |
|
3532 |
+
#: defaults.php:250
|
3533 |
msgid "User marked a comment as Spam"
|
3534 |
msgstr ""
|
3535 |
|
3536 |
+
#: defaults.php:250
|
3537 |
msgid ""
|
3538 |
"Marked the comment posted in response to the post %PostTitle% by %Author% on "
|
3539 |
"%CommentLink% as Spam."
|
3540 |
msgstr ""
|
3541 |
|
3542 |
+
#: defaults.php:251
|
3543 |
msgid "User marked a comment as Not Spam"
|
3544 |
msgstr ""
|
3545 |
|
3546 |
+
#: defaults.php:251
|
3547 |
msgid ""
|
3548 |
"Marked the comment posted in response to the post %PostTitle% by %Author% on "
|
3549 |
"%CommentLink% as Not Spam."
|
3550 |
msgstr ""
|
3551 |
|
3552 |
+
#: defaults.php:252
|
3553 |
msgid "User moved a comment to trash"
|
3554 |
msgstr ""
|
3555 |
|
3556 |
+
#: defaults.php:252
|
3557 |
msgid ""
|
3558 |
"Moved the comment posted in response to the post %PostTitle% by %Author% on "
|
3559 |
"%Date% to trash."
|
3560 |
msgstr ""
|
3561 |
|
3562 |
+
#: defaults.php:253
|
3563 |
msgid "User restored a comment from the trash"
|
3564 |
msgstr ""
|
3565 |
|
3566 |
+
#: defaults.php:253
|
3567 |
msgid ""
|
3568 |
"Restored the comment posted in response to the post %PostTitle% by %Author% "
|
3569 |
"on %CommentLink% from the trash."
|
3570 |
msgstr ""
|
3571 |
|
3572 |
+
#: defaults.php:254
|
3573 |
msgid "User permanently deleted a comment"
|
3574 |
msgstr ""
|
3575 |
|
3576 |
+
#: defaults.php:254
|
3577 |
msgid ""
|
3578 |
"Permanently deleted the comment posted in response to the post %PostTitle% "
|
3579 |
"by %Author% on %Date%."
|
3580 |
msgstr ""
|
3581 |
|
3582 |
+
#: defaults.php:255
|
3583 |
msgid "User posted a comment"
|
3584 |
msgstr ""
|
3585 |
|
3586 |
+
#: defaults.php:255 defaults.php:256
|
3587 |
msgid "%CommentMsg% on %CommentLink%."
|
3588 |
msgstr ""
|
3589 |
|
3590 |
+
#: defaults.php:256
|
3591 |
msgid "Visitor posted a comment"
|
3592 |
msgstr ""
|
3593 |
|
3594 |
+
#: defaults.php:268
|
3595 |
msgid "User modified a draft blog post"
|
3596 |
msgstr ""
|
3597 |
|
3598 |
+
#: defaults.php:268
|
3599 |
msgid "Modified the draft post with the %PostTitle%. %EditorLinkPost%."
|
3600 |
msgstr ""
|
3601 |
|
3602 |
+
#: defaults.php:269
|
3603 |
msgid "User created a new post with custom post type and saved it as draft"
|
3604 |
msgstr ""
|
3605 |
|
3606 |
+
#: defaults.php:269
|
3607 |
msgid ""
|
3608 |
"Created a new custom post called %PostTitle% of type %PostType%. "
|
3609 |
"%EditorLinkPost%."
|
3610 |
msgstr ""
|
3611 |
|
3612 |
+
#: defaults.php:270
|
3613 |
msgid "User published a post with custom post type"
|
3614 |
msgstr ""
|
3615 |
|
3616 |
+
#: defaults.php:270
|
3617 |
msgid ""
|
3618 |
"Published a custom post %PostTitle% of type %PostType%. Post URL is %PostUrl"
|
3619 |
"%. %EditorLinkPost%."
|
3620 |
msgstr ""
|
3621 |
|
3622 |
+
#: defaults.php:271
|
3623 |
msgid "User modified a post with custom post type"
|
3624 |
msgstr ""
|
3625 |
|
3626 |
+
#: defaults.php:271
|
3627 |
msgid ""
|
3628 |
"Modified the custom post %PostTitle% of type %PostType%. Post URL is %PostUrl"
|
3629 |
"%. %EditorLinkPost%."
|
3630 |
msgstr ""
|
3631 |
|
3632 |
+
#: defaults.php:272
|
3633 |
msgid "User modified a draft post with custom post type"
|
3634 |
msgstr ""
|
3635 |
|
3636 |
+
#: defaults.php:272
|
3637 |
msgid ""
|
3638 |
"Modified the draft custom post %PostTitle% of type is %PostType%. "
|
3639 |
"%EditorLinkPost%."
|
3640 |
msgstr ""
|
3641 |
|
3642 |
+
#: defaults.php:273
|
3643 |
msgid "User permanently deleted post with custom post type"
|
3644 |
msgstr ""
|
3645 |
|
3646 |
+
#: defaults.php:273
|
3647 |
msgid "Permanently Deleted the custom post %PostTitle% of type %PostType%."
|
3648 |
msgstr ""
|
3649 |
|
3650 |
+
#: defaults.php:274
|
3651 |
msgid "User moved post with custom post type to trash"
|
3652 |
msgstr ""
|
3653 |
|
3654 |
+
#: defaults.php:274
|
3655 |
msgid ""
|
3656 |
"Moved the custom post %PostTitle% of type %PostType% to trash. Post URL was "
|
3657 |
"%PostUrl%."
|
3658 |
msgstr ""
|
3659 |
|
3660 |
+
#: defaults.php:275
|
3661 |
msgid "User restored post with custom post type from trash"
|
3662 |
msgstr ""
|
3663 |
|
3664 |
+
#: defaults.php:275
|
3665 |
msgid ""
|
3666 |
"The custom post %PostTitle% of type %PostType% has been restored from trash. "
|
3667 |
"%EditorLinkPost%."
|
3668 |
msgstr ""
|
3669 |
|
3670 |
+
#: defaults.php:276
|
3671 |
msgid "User changed the category of a post with custom post type"
|
3672 |
msgstr ""
|
3673 |
|
3674 |
+
#: defaults.php:276
|
3675 |
msgid ""
|
3676 |
"Changed the category(ies) of the custom post %PostTitle% of type %PostType% "
|
3677 |
"from %OldCategories% to %NewCategories%. %EditorLinkPost%."
|
3678 |
msgstr ""
|
3679 |
|
3680 |
+
#: defaults.php:277
|
3681 |
msgid "User changed the URL of a post with custom post type"
|
3682 |
msgstr ""
|
3683 |
|
3684 |
+
#: defaults.php:277
|
3685 |
msgid ""
|
3686 |
"Changed the URL of the custom post %PostTitle% of type %PostType% from "
|
3687 |
"%OldUrl% to %NewUrl%. %EditorLinkPost%."
|
3688 |
msgstr ""
|
3689 |
|
3690 |
+
#: defaults.php:278
|
3691 |
msgid "User changed the author or post with custom post type"
|
3692 |
msgstr ""
|
3693 |
|
3694 |
+
#: defaults.php:278
|
3695 |
msgid ""
|
3696 |
"Changed the author of custom post %PostTitle% of type %PostType% from "
|
3697 |
"%OldAuthor% to %NewAuthor%. %EditorLinkPost%."
|
3698 |
msgstr ""
|
3699 |
|
3700 |
+
#: defaults.php:279
|
3701 |
msgid "User changed the status of post with custom post type"
|
3702 |
msgstr ""
|
3703 |
|
3704 |
+
#: defaults.php:279
|
3705 |
msgid ""
|
3706 |
"Changed the status of custom post %PostTitle% of type %PostType% from "
|
3707 |
"%OldStatus% to %NewStatus%. %EditorLinkPost%."
|
3708 |
msgstr ""
|
3709 |
|
3710 |
+
#: defaults.php:280
|
3711 |
msgid "User changed the visibility of a post with custom post type"
|
3712 |
msgstr ""
|
3713 |
|
3714 |
+
#: defaults.php:280
|
3715 |
msgid ""
|
3716 |
"Changed the visibility of the custom post %PostTitle% of type %PostType% "
|
3717 |
"from %OldVisibility% to %NewVisibility%. %EditorLinkPost%."
|
3718 |
msgstr ""
|
3719 |
|
3720 |
+
#: defaults.php:281
|
3721 |
msgid "User changed the date of post with custom post type"
|
3722 |
msgstr ""
|
3723 |
|
3724 |
+
#: defaults.php:281
|
3725 |
msgid ""
|
3726 |
"Changed the date of the custom post %PostTitle% of type %PostType% from "
|
3727 |
"%OldDate% to %NewDate%. %EditorLinkPost%."
|
3728 |
msgstr ""
|
3729 |
|
3730 |
+
#: defaults.php:282
|
3731 |
msgid "User created a custom field for a custom post type"
|
3732 |
msgstr ""
|
3733 |
|
3734 |
+
#: defaults.php:282
|
3735 |
msgid ""
|
3736 |
"Created a new custom field %MetaKey% with value %MetaValue% in custom post "
|
3737 |
"%PostTitle% of type %PostType%. %EditorLinkPost%.<br>%MetaLink%."
|
3738 |
msgstr ""
|
3739 |
|
3740 |
+
#: defaults.php:283
|
3741 |
msgid "User updated a custom field for a custom post type"
|
3742 |
msgstr ""
|
3743 |
|
3744 |
+
#: defaults.php:283
|
3745 |
msgid ""
|
3746 |
"Modified the value of the custom field %MetaKey% from %MetaValueOld% to "
|
3747 |
"%MetaValueNew% in custom post %PostTitle% of type %PostType% %EditorLinkPost"
|
3748 |
"%.<br>%MetaLink%."
|
3749 |
msgstr ""
|
3750 |
|
3751 |
+
#: defaults.php:284
|
3752 |
msgid "User deleted a custom field from a custom post type"
|
3753 |
msgstr ""
|
3754 |
|
3755 |
+
#: defaults.php:284
|
3756 |
msgid ""
|
3757 |
"Deleted the custom field %MetaKey% with id %MetaID% from custom post "
|
3758 |
"%PostTitle% of type %PostType% %EditorLinkPost%.<br>%MetaLink%."
|
3759 |
msgstr ""
|
3760 |
|
3761 |
+
#: defaults.php:285
|
3762 |
msgid "User updated a custom field name for a custom post type"
|
3763 |
msgstr ""
|
3764 |
|
3765 |
+
#: defaults.php:285
|
3766 |
msgid ""
|
3767 |
"Changed the custom field name from %MetaKeyOld% to %MetaKeyNew% in custom "
|
3768 |
"post %PostTitle% of type %PostType% %EditorLinkPost%.<br>%MetaLink%."
|
3769 |
msgstr ""
|
3770 |
|
3771 |
+
#: defaults.php:286
|
3772 |
msgid "User modified content for a published custom post type"
|
3773 |
msgstr ""
|
3774 |
|
3775 |
+
#: defaults.php:286
|
3776 |
msgid ""
|
3777 |
"Modified the content of the published custom post type %PostTitle%. Post URL "
|
3778 |
"is %PostUrl%.%EditorLinkPost%."
|
3779 |
msgstr ""
|
3780 |
|
3781 |
+
#: defaults.php:287
|
3782 |
msgid "User modified content for a draft post"
|
3783 |
msgstr ""
|
3784 |
|
3785 |
+
#: defaults.php:287
|
3786 |
msgid ""
|
3787 |
"Modified the content of the draft post %PostTitle%.%RevisionLink% "
|
3788 |
"%EditorLinkPost%."
|
3789 |
msgstr ""
|
3790 |
|
3791 |
+
#: defaults.php:288
|
3792 |
msgid "User modified content for a draft custom post type"
|
3793 |
msgstr ""
|
3794 |
|
3795 |
+
#: defaults.php:288
|
3796 |
msgid ""
|
3797 |
"Modified the content of the draft custom post type %PostTitle%."
|
3798 |
"%EditorLinkPost%."
|
3799 |
msgstr ""
|
3800 |
|
3801 |
+
#: defaults.php:289
|
3802 |
msgid "User modified content of a post"
|
3803 |
msgstr ""
|
3804 |
|
3805 |
+
#: defaults.php:289
|
3806 |
msgid ""
|
3807 |
"Modified the content of post %PostTitle% which is submitted for review."
|
3808 |
"%RevisionLink% %EditorLinkPost%."
|
3809 |
msgstr ""
|
3810 |
|
3811 |
+
#: defaults.php:290
|
3812 |
msgid "User scheduled a custom post type"
|
3813 |
msgstr ""
|
3814 |
|
3815 |
+
#: defaults.php:290
|
3816 |
msgid ""
|
3817 |
"Scheduled the custom post type %PostTitle% to be published %PublishingDate%. "
|
3818 |
"%EditorLinkPost%."
|
3819 |
msgstr ""
|
3820 |
|
3821 |
+
#: defaults.php:291
|
3822 |
msgid "User changed title of a custom post type"
|
3823 |
msgstr ""
|
3824 |
|
3825 |
+
#: defaults.php:291
|
3826 |
msgid ""
|
3827 |
"Changed the title of the custom post %OldTitle% to %NewTitle%. "
|
3828 |
"%EditorLinkPost%."
|
3829 |
msgstr ""
|
3830 |
|
3831 |
+
#: defaults.php:292
|
3832 |
msgid "User opened a custom post type in the editor"
|
3833 |
msgstr ""
|
3834 |
|
3835 |
+
#: defaults.php:292
|
3836 |
msgid ""
|
3837 |
"Opened the custom post %PostTitle% of type %PostType% in the editor. View "
|
3838 |
"the post: %EditorLinkPost%."
|
3839 |
msgstr ""
|
3840 |
|
3841 |
+
#: defaults.php:293
|
3842 |
msgid "User viewed a custom post type"
|
3843 |
msgstr ""
|
3844 |
|
3845 |
+
#: defaults.php:293
|
3846 |
msgid ""
|
3847 |
"Viewed the custom post %PostTitle% of type %PostType%. View the post: "
|
3848 |
"%PostUrl%."
|
3849 |
msgstr ""
|
3850 |
|
3851 |
+
#: defaults.php:294
|
3852 |
msgid "A plugin created a custom post"
|
3853 |
msgstr ""
|
3854 |
|
3855 |
+
#: defaults.php:294
|
3856 |
msgid "A plugin automatically created the following custom post: %PostTitle%."
|
3857 |
msgstr ""
|
3858 |
|
3859 |
+
#: defaults.php:295
|
3860 |
msgid "A plugin deleted a custom post"
|
3861 |
msgstr ""
|
3862 |
|
3863 |
+
#: defaults.php:295
|
3864 |
msgid "A plugin automatically deleted the following custom post: %PostTitle%."
|
3865 |
msgstr ""
|
3866 |
|
3867 |
+
#: defaults.php:296
|
3868 |
msgid "A plugin modified a custom post"
|
3869 |
msgstr ""
|
3870 |
|
3871 |
+
#: defaults.php:296
|
3872 |
msgid ""
|
3873 |
"Plugin modified the custom post %PostTitle%. View the post: %EditorLinkPost%."
|
3874 |
msgstr ""
|
3875 |
|
3876 |
+
#: defaults.php:308
|
3877 |
msgid "User created a new WordPress page and saved it as draft"
|
3878 |
msgstr ""
|
3879 |
|
3880 |
+
#: defaults.php:308
|
3881 |
msgid ""
|
3882 |
"Created a new page called %PostTitle% and saved it as draft. %EditorLinkPage"
|
3883 |
"%."
|
3884 |
msgstr ""
|
3885 |
|
3886 |
+
#: defaults.php:309
|
3887 |
msgid "User published a WordPress page"
|
3888 |
msgstr ""
|
3889 |
|
3890 |
+
#: defaults.php:309
|
3891 |
msgid ""
|
3892 |
"Published a page called %PostTitle%. Page URL is %PostUrl%. %EditorLinkPage%."
|
3893 |
msgstr ""
|
3894 |
|
3895 |
+
#: defaults.php:310
|
3896 |
msgid "User modified a published WordPress page"
|
3897 |
msgstr ""
|
3898 |
|
3899 |
+
#: defaults.php:310
|
3900 |
msgid ""
|
3901 |
"Modified the published page %PostTitle%. Page URL is %PostUrl%. "
|
3902 |
"%EditorLinkPage%."
|
3903 |
msgstr ""
|
3904 |
|
3905 |
+
#: defaults.php:311
|
3906 |
msgid "User modified a draft WordPress page"
|
3907 |
msgstr ""
|
3908 |
|
3909 |
+
#: defaults.php:311
|
3910 |
msgid ""
|
3911 |
"Modified the draft page %PostTitle%. Page ID is %PostID%. %EditorLinkPage%."
|
3912 |
msgstr ""
|
3913 |
|
3914 |
+
#: defaults.php:312
|
3915 |
msgid "User permanently deleted a page from the trash"
|
3916 |
msgstr ""
|
3917 |
|
3918 |
+
#: defaults.php:312
|
3919 |
msgid "Permanently deleted the page %PostTitle%."
|
3920 |
msgstr ""
|
3921 |
|
3922 |
+
#: defaults.php:313
|
3923 |
msgid "User moved WordPress page to the trash"
|
3924 |
msgstr ""
|
3925 |
|
3926 |
+
#: defaults.php:313
|
3927 |
msgid "Moved the page %PostTitle% to trash. Page URL was %PostUrl%."
|
3928 |
msgstr ""
|
3929 |
|
3930 |
+
#: defaults.php:314
|
3931 |
msgid "User restored a WordPress page from trash"
|
3932 |
msgstr ""
|
3933 |
|
3934 |
+
#: defaults.php:314
|
3935 |
msgid "Page %PostTitle% has been restored from trash. %EditorLinkPage%."
|
3936 |
msgstr ""
|
3937 |
|
3938 |
+
#: defaults.php:315
|
3939 |
msgid "User changed page URL"
|
3940 |
msgstr ""
|
3941 |
|
3942 |
+
#: defaults.php:315
|
3943 |
msgid ""
|
3944 |
"Changed the URL of the page %PostTitle% from %OldUrl% to %NewUrl%. "
|
3945 |
"%EditorLinkPage%."
|
3946 |
msgstr ""
|
3947 |
|
3948 |
+
#: defaults.php:316
|
3949 |
msgid "User changed page author"
|
3950 |
msgstr ""
|
3951 |
|
3952 |
+
#: defaults.php:316
|
3953 |
msgid ""
|
3954 |
"Changed the author of the page %PostTitle% from %OldAuthor% to %NewAuthor%. "
|
3955 |
"%EditorLinkPage%."
|
3956 |
msgstr ""
|
3957 |
|
3958 |
+
#: defaults.php:317
|
3959 |
msgid "User changed page status"
|
3960 |
msgstr ""
|
3961 |
|
3962 |
+
#: defaults.php:317
|
3963 |
msgid ""
|
3964 |
"Changed the status of the page %PostTitle% from %OldStatus% to %NewStatus%. "
|
3965 |
"%EditorLinkPage%."
|
3966 |
msgstr ""
|
3967 |
|
3968 |
+
#: defaults.php:318
|
3969 |
msgid "User changed the visibility of a page post"
|
3970 |
msgstr ""
|
3971 |
|
3972 |
+
#: defaults.php:318
|
3973 |
msgid ""
|
3974 |
"Changed the visibility of the page %PostTitle% from %OldVisibility% to "
|
3975 |
"%NewVisibility%. %EditorLinkPage%."
|
3976 |
msgstr ""
|
3977 |
|
3978 |
+
#: defaults.php:319
|
3979 |
msgid "User changed the date of a page post"
|
3980 |
msgstr ""
|
3981 |
|
3982 |
+
#: defaults.php:319
|
3983 |
msgid ""
|
3984 |
"Changed the date of the page %PostTitle% from %OldDate% to %NewDate%. "
|
3985 |
"%EditorLinkPage%."
|
3986 |
msgstr ""
|
3987 |
|
3988 |
+
#: defaults.php:320
|
3989 |
msgid "User created a custom field for a page"
|
3990 |
msgstr ""
|
3991 |
|
3992 |
+
#: defaults.php:320
|
3993 |
msgid ""
|
3994 |
"Created a new custom field called %MetaKey% with value %MetaValue% in the "
|
3995 |
"page %PostTitle% %EditorLinkPage%.<br>%MetaLink%."
|
3996 |
msgstr ""
|
3997 |
|
3998 |
+
#: defaults.php:321
|
3999 |
msgid "User updated a custom field value for a page"
|
4000 |
msgstr ""
|
4001 |
|
4002 |
+
#: defaults.php:321
|
4003 |
msgid ""
|
4004 |
"Modified the value of the custom field %MetaKey% from %MetaValueOld% to "
|
4005 |
"%MetaValueNew% in the page %PostTitle% %EditorLinkPage%.<br>%MetaLink%."
|
4006 |
msgstr ""
|
4007 |
|
4008 |
+
#: defaults.php:322
|
4009 |
msgid "User deleted a custom field from a page"
|
4010 |
msgstr ""
|
4011 |
|
4012 |
+
#: defaults.php:322
|
4013 |
msgid ""
|
4014 |
"Deleted the custom field %MetaKey% with id %MetaID% from page %PostTitle% "
|
4015 |
"%EditorLinkPage%.<br>%MetaLink%."
|
4016 |
msgstr ""
|
4017 |
|
4018 |
+
#: defaults.php:323
|
4019 |
msgid "User updated a custom field name for a page"
|
4020 |
msgstr ""
|
4021 |
|
4022 |
+
#: defaults.php:323
|
4023 |
msgid ""
|
4024 |
"Changed the custom field name from %MetaKeyOld% to %MetaKeyNew% in the page "
|
4025 |
"%PostTitle% %EditorLinkPage%.<br>%MetaLink%."
|
4026 |
msgstr ""
|
4027 |
|
4028 |
+
#: defaults.php:324
|
4029 |
msgid "User modified content for a published page"
|
4030 |
msgstr ""
|
4031 |
|
4032 |
+
#: defaults.php:324
|
4033 |
msgid ""
|
4034 |
"Modified the content of the published page %PostTitle%. Page URL is %PostUrl"
|
4035 |
"%. %RevisionLink% %EditorLinkPage%."
|
4036 |
msgstr ""
|
4037 |
|
4038 |
+
#: defaults.php:325
|
4039 |
msgid "User modified content for a draft page"
|
4040 |
msgstr ""
|
4041 |
|
4042 |
+
#: defaults.php:325
|
4043 |
msgid ""
|
4044 |
"Modified the content of draft page %PostTitle%.%RevisionLink% %EditorLinkPage"
|
4045 |
"%."
|
4046 |
msgstr ""
|
4047 |
|
4048 |
+
#: defaults.php:326
|
4049 |
msgid "User scheduled a page"
|
4050 |
msgstr ""
|
4051 |
|
4052 |
+
#: defaults.php:326
|
4053 |
msgid ""
|
4054 |
"Scheduled the page %PostTitle% to be published %PublishingDate%. "
|
4055 |
"%EditorLinkPage%."
|
4056 |
msgstr ""
|
4057 |
|
4058 |
+
#: defaults.php:327
|
4059 |
msgid "User changed title of a page"
|
4060 |
msgstr ""
|
4061 |
|
4062 |
+
#: defaults.php:327
|
4063 |
msgid ""
|
4064 |
"Changed the title of the page %OldTitle% to %NewTitle%. %EditorLinkPage%."
|
4065 |
msgstr ""
|
4066 |
|
4067 |
+
#: defaults.php:328
|
4068 |
msgid "User opened a page in the editor"
|
4069 |
msgstr ""
|
4070 |
|
4071 |
+
#: defaults.php:328
|
4072 |
msgid ""
|
4073 |
"Opened the page %PostTitle% in the editor. View the page: %EditorLinkPage%."
|
4074 |
msgstr ""
|
4075 |
|
4076 |
+
#: defaults.php:329
|
4077 |
msgid "User viewed a page"
|
4078 |
msgstr ""
|
4079 |
|
4080 |
+
#: defaults.php:329
|
4081 |
msgid "Viewed the page %PostTitle%. View the page: %PostUrl%."
|
4082 |
msgstr ""
|
4083 |
|
4084 |
+
#: defaults.php:330
|
4085 |
msgid "User disabled Comments/Trackbacks and Pingbacks on a draft post"
|
4086 |
msgstr ""
|
4087 |
|
4088 |
+
#: defaults.php:330
|
4089 |
msgid ""
|
4090 |
"Disabled %Type% on the draft post %PostTitle%. View the post: %PostUrl%."
|
4091 |
msgstr ""
|
4092 |
|
4093 |
+
#: defaults.php:331
|
4094 |
msgid "User enabled Comments/Trackbacks and Pingbacks on a draft post"
|
4095 |
msgstr ""
|
4096 |
|
4097 |
+
#: defaults.php:331
|
4098 |
msgid "Enabled %Type% on the draft post %PostTitle%. View the post: %PostUrl%."
|
4099 |
msgstr ""
|
4100 |
|
4101 |
+
#: defaults.php:332
|
4102 |
msgid "User disabled Comments/Trackbacks and Pingbacks on a published page"
|
4103 |
msgstr ""
|
4104 |
|
4105 |
+
#: defaults.php:332
|
4106 |
msgid ""
|
4107 |
"Disabled %Type% on the published page %PostTitle%. View the page: %PostUrl%."
|
4108 |
msgstr ""
|
4109 |
|
4110 |
+
#: defaults.php:333
|
4111 |
msgid "User enabled Comments/Trackbacks and Pingbacks on a published page"
|
4112 |
msgstr ""
|
4113 |
|
4114 |
+
#: defaults.php:333
|
4115 |
msgid ""
|
4116 |
"Enabled %Type% on the published page %PostTitle%. View the page: %PostUrl%."
|
4117 |
msgstr ""
|
4118 |
|
4119 |
+
#: defaults.php:334
|
4120 |
msgid "User disabled Comments/Trackbacks and Pingbacks on a draft page"
|
4121 |
msgstr ""
|
4122 |
|
4123 |
+
#: defaults.php:334
|
4124 |
msgid ""
|
4125 |
"Disabled %Type% on the draft page %PostTitle%. View the page: %PostUrl%."
|
4126 |
msgstr ""
|
4127 |
|
4128 |
+
#: defaults.php:335
|
4129 |
msgid "User enabled Comments/Trackbacks and Pingbacks on a draft page"
|
4130 |
msgstr ""
|
4131 |
|
4132 |
+
#: defaults.php:335
|
4133 |
msgid "Enabled %Type% on the draft page %PostTitle%. View the page: %PostUrl%."
|
4134 |
msgstr ""
|
4135 |
|
4136 |
+
#: defaults.php:336
|
4137 |
msgid "A plugin created a page"
|
4138 |
msgstr ""
|
4139 |
|
4140 |
+
#: defaults.php:336
|
4141 |
msgid "A plugin automatically created the following page: %PostTitle%."
|
4142 |
msgstr ""
|
4143 |
|
4144 |
+
#: defaults.php:337
|
4145 |
msgid "A plugin deleted a page"
|
4146 |
msgstr ""
|
4147 |
|
4148 |
+
#: defaults.php:337
|
4149 |
msgid "A plugin automatically deleted the following page: %PostTitle%."
|
4150 |
msgstr ""
|
4151 |
|
4152 |
+
#: defaults.php:338
|
4153 |
msgid "A plugin modified a page"
|
4154 |
msgstr ""
|
4155 |
|
4156 |
+
#: defaults.php:338
|
4157 |
msgid "Plugin modified the page %PostTitle%. View the page: %EditorLinkPage%."
|
4158 |
msgstr ""
|
4159 |
|
4160 |
+
#: defaults.php:345
|
4161 |
msgid "WordPress Install"
|
4162 |
msgstr ""
|
4163 |
|
4164 |
+
#: defaults.php:349
|
4165 |
msgid "Database"
|
4166 |
msgstr ""
|
4167 |
|
4168 |
+
#: defaults.php:350
|
4169 |
msgid "Unknown component created tables"
|
4170 |
msgstr ""
|
4171 |
|
4172 |
+
#: defaults.php:350
|
4173 |
msgid ""
|
4174 |
"An unknown component created these tables in the database: %TableNames%."
|
4175 |
msgstr ""
|
4176 |
|
4177 |
+
#: defaults.php:351
|
4178 |
msgid "Unknown component modified tables structure"
|
4179 |
msgstr ""
|
4180 |
|
4181 |
+
#: defaults.php:351
|
4182 |
msgid ""
|
4183 |
"An unknown component modified the structure of these database tables: "
|
4184 |
"%TableNames%."
|
4185 |
msgstr ""
|
4186 |
|
4187 |
+
#: defaults.php:352
|
4188 |
msgid "Unknown component deleted tables"
|
4189 |
msgstr ""
|
4190 |
|
4191 |
+
#: defaults.php:352
|
4192 |
msgid ""
|
4193 |
"An unknown component deleted the following tables from the database: "
|
4194 |
"%TableNames%."
|
4195 |
msgstr ""
|
4196 |
|
4197 |
+
#: defaults.php:359
|
4198 |
msgid "User installed a plugin"
|
4199 |
msgstr ""
|
4200 |
|
4201 |
+
#: defaults.php:359
|
4202 |
msgid "Installed the plugin %Plugin->Name% in %Plugin->plugin_dir_path%."
|
4203 |
msgstr ""
|
4204 |
|
4205 |
+
#: defaults.php:360
|
4206 |
msgid "User activated a WordPress plugin"
|
4207 |
msgstr ""
|
4208 |
|
4209 |
+
#: defaults.php:360
|
4210 |
msgid "Activated the plugin %PluginData->Name% installed in %PluginFile%."
|
4211 |
msgstr ""
|
4212 |
|
4213 |
+
#: defaults.php:361
|
4214 |
msgid "User deactivated a WordPress plugin"
|
4215 |
msgstr ""
|
4216 |
|
4217 |
+
#: defaults.php:361
|
4218 |
msgid "Deactivated the plugin %PluginData->Name% installed in %PluginFile%."
|
4219 |
msgstr ""
|
4220 |
|
4221 |
+
#: defaults.php:362
|
4222 |
msgid "User uninstalled a plugin"
|
4223 |
msgstr ""
|
4224 |
|
4225 |
+
#: defaults.php:362
|
4226 |
msgid ""
|
4227 |
"Uninstalled the plugin %PluginData->Name% which was installed in %PluginFile"
|
4228 |
"%."
|
4229 |
msgstr ""
|
4230 |
|
4231 |
+
#: defaults.php:363
|
4232 |
msgid "User upgraded a plugin"
|
4233 |
msgstr ""
|
4234 |
|
4235 |
+
#: defaults.php:363
|
4236 |
msgid "Upgraded the plugin %PluginData->Name% installed in %PluginFile%."
|
4237 |
msgstr ""
|
4238 |
|
4239 |
+
#: defaults.php:364
|
4240 |
msgid "Plugin created tables"
|
4241 |
msgstr ""
|
4242 |
|
4243 |
+
#: defaults.php:364
|
4244 |
msgid ""
|
4245 |
"Plugin %Plugin->Name% created these tables in the database: %TableNames%."
|
4246 |
msgstr ""
|
4247 |
|
4248 |
+
#: defaults.php:365
|
4249 |
msgid "Plugin modified tables structure"
|
4250 |
msgstr ""
|
4251 |
|
4252 |
+
#: defaults.php:365
|
4253 |
msgid ""
|
4254 |
"Plugin %Plugin->Name% modified the structure of these database tables: "
|
4255 |
"%TableNames%."
|
4256 |
msgstr ""
|
4257 |
|
4258 |
+
#: defaults.php:366
|
4259 |
msgid "Plugin deleted tables"
|
4260 |
msgstr ""
|
4261 |
|
4262 |
+
#: defaults.php:366
|
4263 |
msgid ""
|
4264 |
"Plugin %Plugin->Name% deleted the following tables from the database: "
|
4265 |
"%TableNames%."
|
4266 |
msgstr ""
|
4267 |
|
4268 |
+
#: defaults.php:367
|
4269 |
msgid "A plugin created a post"
|
4270 |
msgstr ""
|
4271 |
|
4272 |
+
#: defaults.php:367
|
4273 |
msgid ""
|
4274 |
"A plugin automatically created the following %PostType% called %PostTitle%. "
|
4275 |
"View the post: %EditorLinkPost%."
|
4276 |
msgstr ""
|
4277 |
|
4278 |
+
#: defaults.php:368
|
4279 |
msgid "A plugin deleted a post"
|
4280 |
msgstr ""
|
4281 |
|
4282 |
+
#: defaults.php:368
|
4283 |
msgid ""
|
4284 |
"A plugin automatically deleted the following %PostType% called %PostTitle%."
|
4285 |
msgstr ""
|
4286 |
|
4287 |
+
#: defaults.php:369
|
4288 |
msgid "User changed a file using the plugin editor"
|
4289 |
msgstr ""
|
4290 |
|
4291 |
+
#: defaults.php:369
|
4292 |
msgid "Modified %File% with the Plugin Editor."
|
4293 |
msgstr ""
|
4294 |
|
4295 |
+
#: defaults.php:375
|
4296 |
msgid "Themes"
|
4297 |
msgstr ""
|
4298 |
|
4299 |
+
#: defaults.php:376
|
4300 |
msgid "User installed a theme"
|
4301 |
msgstr ""
|
4302 |
|
4303 |
+
#: defaults.php:376
|
4304 |
msgid ""
|
4305 |
"Installed the theme \"%Theme->Name%\" in %Theme->get_template_directory%."
|
4306 |
msgstr ""
|
4307 |
|
4308 |
+
#: defaults.php:377
|
4309 |
msgid "User activated a theme"
|
4310 |
msgstr ""
|
4311 |
|
4312 |
+
#: defaults.php:377
|
4313 |
msgid ""
|
4314 |
"Activated the theme \"%Theme->Name%\", installed in %Theme-"
|
4315 |
">get_template_directory%."
|
4316 |
msgstr ""
|
4317 |
|
4318 |
+
#: defaults.php:378
|
4319 |
msgid "User uninstalled a theme"
|
4320 |
msgstr ""
|
4321 |
|
4322 |
+
#: defaults.php:378
|
4323 |
msgid ""
|
4324 |
"Deleted the theme \"%Theme->Name%\" installed in %Theme-"
|
4325 |
">get_template_directory%."
|
4326 |
msgstr ""
|
4327 |
|
4328 |
+
#: defaults.php:379
|
4329 |
msgid "Activated theme on network"
|
4330 |
msgstr ""
|
4331 |
|
4332 |
+
#: defaults.php:379
|
4333 |
msgid ""
|
4334 |
"Network activated the theme %Theme->Name% installed in %Theme-"
|
4335 |
">get_template_directory%."
|
4336 |
msgstr ""
|
4337 |
|
4338 |
+
#: defaults.php:380
|
4339 |
msgid "Deactivated theme from network"
|
4340 |
msgstr ""
|
4341 |
|
4342 |
+
#: defaults.php:380
|
4343 |
msgid ""
|
4344 |
"Network deactivated the theme %Theme->Name% installed in %Theme-"
|
4345 |
">get_template_directory%."
|
4346 |
msgstr ""
|
4347 |
|
4348 |
+
#: defaults.php:381
|
4349 |
msgid "Theme created tables"
|
4350 |
msgstr ""
|
4351 |
|
4352 |
+
#: defaults.php:381
|
4353 |
msgid "Theme %Theme->Name% created these tables in the database: %TableNames%."
|
4354 |
msgstr ""
|
4355 |
|
4356 |
+
#: defaults.php:382
|
4357 |
msgid "Theme modified tables structure"
|
4358 |
msgstr ""
|
4359 |
|
4360 |
+
#: defaults.php:382
|
4361 |
msgid ""
|
4362 |
"Theme %Theme->Name% modified the structure of these database tables: "
|
4363 |
"%TableNames%."
|
4364 |
msgstr ""
|
4365 |
|
4366 |
+
#: defaults.php:383
|
4367 |
msgid "Theme deleted tables"
|
4368 |
msgstr ""
|
4369 |
|
4370 |
+
#: defaults.php:383
|
4371 |
msgid ""
|
4372 |
"Theme %Theme->Name% deleted the following tables from the database: "
|
4373 |
"%TableNames%."
|
4374 |
msgstr ""
|
4375 |
|
4376 |
+
#: defaults.php:384
|
4377 |
msgid "User updated a theme"
|
4378 |
msgstr ""
|
4379 |
|
4380 |
+
#: defaults.php:384
|
4381 |
msgid ""
|
4382 |
"Updated the theme \"%Theme->Name%\" installed in %Theme-"
|
4383 |
">get_template_directory%."
|
4384 |
msgstr ""
|
4385 |
|
4386 |
+
#: defaults.php:385
|
4387 |
msgid "User changed a file using the theme editor"
|
4388 |
msgstr ""
|
4389 |
|
4390 |
+
#: defaults.php:385
|
4391 |
msgid "Modified %File% with the Theme Editor."
|
4392 |
msgstr ""
|
4393 |
|
4394 |
+
#: defaults.php:392
|
4395 |
msgid "Unknown Error"
|
4396 |
msgstr ""
|
4397 |
|
4398 |
+
#: defaults.php:392
|
4399 |
msgid "An unexpected error has occurred ."
|
4400 |
msgstr ""
|
4401 |
|
4402 |
+
#: defaults.php:393
|
4403 |
msgid "PHP error"
|
4404 |
msgstr ""
|
4405 |
|
4406 |
+
#: defaults.php:393 defaults.php:394 defaults.php:395 defaults.php:396
|
4407 |
+
#: defaults.php:397
|
4408 |
msgid "%Message%."
|
4409 |
msgstr ""
|
4410 |
|
4411 |
+
#: defaults.php:394
|
4412 |
msgid "PHP warning"
|
4413 |
msgstr ""
|
4414 |
|
4415 |
+
#: defaults.php:395
|
4416 |
msgid "PHP notice"
|
4417 |
msgstr ""
|
4418 |
|
4419 |
+
#: defaults.php:396
|
4420 |
msgid "PHP exception"
|
4421 |
msgstr ""
|
4422 |
|
4423 |
+
#: defaults.php:397
|
4424 |
msgid "PHP shutdown error"
|
4425 |
msgstr ""
|
4426 |
|
4427 |
+
#: defaults.php:398
|
4428 |
msgid "Events automatically pruned by system"
|
4429 |
msgstr ""
|
4430 |
|
4431 |
+
#: defaults.php:398
|
4432 |
msgid "System automatically deleted %EventCount% event(s)."
|
4433 |
msgstr ""
|
4434 |
|
4435 |
+
#: defaults.php:399
|
4436 |
msgid "WordPress was updated"
|
4437 |
msgstr ""
|
4438 |
|
4439 |
+
#: defaults.php:399
|
4440 |
msgid "Updated WordPress from version %OldVersion% to %NewVersion%."
|
4441 |
msgstr ""
|
4442 |
|
4443 |
+
#: defaults.php:400
|
4444 |
msgid "Reset plugin's settings to default"
|
4445 |
msgstr ""
|
4446 |
|
4447 |
+
#: defaults.php:400
|
4448 |
msgid "Reset plugin's settings to default."
|
4449 |
msgstr ""
|
4450 |
|
4451 |
+
#: defaults.php:401
|
4452 |
msgid "Purged the activity log"
|
4453 |
msgstr ""
|
4454 |
|
4455 |
+
#: defaults.php:401
|
4456 |
msgid "Purged the activity log."
|
4457 |
msgstr ""
|
4458 |
|
4459 |
+
#: defaults.php:402
|
4460 |
msgid "File content has been modified"
|
4461 |
msgstr ""
|
4462 |
|
4463 |
+
#: defaults.php:402
|
4464 |
msgid "The content of the file %FileLocation% has been modified."
|
4465 |
msgstr ""
|
4466 |
|
4467 |
+
#: defaults.php:403
|
4468 |
msgid "File added to the site"
|
4469 |
msgstr ""
|
4470 |
|
4471 |
+
#: defaults.php:403
|
4472 |
msgid "The file %FileLocation% has been added to your website."
|
4473 |
msgstr ""
|
4474 |
|
4475 |
+
#: defaults.php:404
|
4476 |
msgid "File deleted from the site"
|
4477 |
msgstr ""
|
4478 |
|
4479 |
+
#: defaults.php:404
|
4480 |
msgid "The file %FileLocation% has been deleted from your website."
|
4481 |
msgstr ""
|
4482 |
|
4483 |
+
#: defaults.php:405
|
4484 |
msgid "File not scanned because it is bigger than the maximum file size limit"
|
4485 |
msgstr ""
|
4486 |
|
4487 |
+
#: defaults.php:405
|
4488 |
msgid ""
|
4489 |
"The file %FileLocation% was not scanned because it is bigger than the "
|
4490 |
"maximum file size limit. If you want to include these files in the scan "
|
4491 |
"increase the file size limit from the %FileSettings%."
|
4492 |
msgstr ""
|
4493 |
|
4494 |
+
#: defaults.php:406
|
4495 |
msgid "File integrity scan stopped due to the limit of 1 million files"
|
4496 |
msgstr ""
|
4497 |
|
4498 |
+
#: defaults.php:406
|
4499 |
msgid ""
|
4500 |
"The file changes scanning engine has reached the limit of 1 million files "
|
4501 |
"and stopped the scan. Please %ContactSupport% for more information."
|
4502 |
msgstr ""
|
4503 |
|
4504 |
+
#: defaults.php:407
|
4505 |
msgid "File integrity scan started/stopped"
|
4506 |
msgstr ""
|
4507 |
|
4508 |
+
#: defaults.php:407
|
4509 |
msgid "The file integrity scanner has %ScanStatus%."
|
4510 |
msgstr ""
|
4511 |
|
4512 |
+
#: defaults.php:408
|
4513 |
msgid "Advertising Add-ons"
|
4514 |
msgstr ""
|
4515 |
|
4516 |
+
#: defaults.php:408
|
4517 |
msgid "%PromoName% %PromoMessage%"
|
4518 |
msgstr ""
|
4519 |
|
4520 |
+
#: defaults.php:414
|
4521 |
msgid "Menus"
|
4522 |
msgstr ""
|
4523 |
|
4524 |
+
#: defaults.php:415
|
4525 |
msgid "User created new menu"
|
4526 |
msgstr ""
|
4527 |
|
4528 |
+
#: defaults.php:415
|
4529 |
msgid "Created a new menu called %MenuName%."
|
4530 |
msgstr ""
|
4531 |
|
4532 |
+
#: defaults.php:416
|
4533 |
msgid "User added content to a menu"
|
4534 |
msgstr ""
|
4535 |
|
4536 |
+
#: defaults.php:416
|
4537 |
msgid "Added the %ContentType% called %ContentName% to menu %MenuName%."
|
4538 |
msgstr ""
|
4539 |
|
4540 |
+
#: defaults.php:417
|
4541 |
msgid "User removed content from a menu"
|
4542 |
msgstr ""
|
4543 |
|
4544 |
+
#: defaults.php:417
|
4545 |
msgid ""
|
4546 |
"Removed the %ContentType% called %ContentName% from the menu %MenuName%."
|
4547 |
msgstr ""
|
4548 |
|
4549 |
+
#: defaults.php:418
|
4550 |
msgid "User deleted menu"
|
4551 |
msgstr ""
|
4552 |
|
4553 |
+
#: defaults.php:418
|
4554 |
msgid "Deleted the menu %MenuName%."
|
4555 |
msgstr ""
|
4556 |
|
4557 |
+
#: defaults.php:419
|
4558 |
msgid "User changed menu setting"
|
4559 |
msgstr ""
|
4560 |
|
4561 |
+
#: defaults.php:419
|
4562 |
msgid "%Status% the menu setting %MenuSetting% in %MenuName%."
|
4563 |
msgstr ""
|
4564 |
|
4565 |
+
#: defaults.php:420
|
4566 |
msgid "User modified content in a menu"
|
4567 |
msgstr ""
|
4568 |
|
4569 |
+
#: defaults.php:420
|
4570 |
msgid "Modified the %ContentType% called %ContentName% in menu %MenuName%."
|
4571 |
msgstr ""
|
4572 |
|
4573 |
+
#: defaults.php:421
|
4574 |
msgid "User changed name of a menu"
|
4575 |
msgstr ""
|
4576 |
|
4577 |
+
#: defaults.php:421
|
4578 |
msgid "Changed the name of menu %OldMenuName% to %NewMenuName%."
|
4579 |
msgstr ""
|
4580 |
|
4581 |
+
#: defaults.php:422
|
4582 |
msgid "User changed order of the objects in a menu"
|
4583 |
msgstr ""
|
4584 |
|
4585 |
+
#: defaults.php:422
|
4586 |
msgid "Changed the order of the %ItemName% in menu %MenuName%."
|
4587 |
msgstr ""
|
4588 |
|
4589 |
+
#: defaults.php:423
|
4590 |
msgid "User moved objects as a sub-item"
|
4591 |
msgstr ""
|
4592 |
|
4593 |
+
#: defaults.php:423
|
4594 |
msgid "Moved %ItemName% as a sub-item of %ParentName% in menu %MenuName%."
|
4595 |
msgstr ""
|
4596 |
|
4597 |
+
#: defaults.php:429
|
4598 |
msgid "Widgets"
|
4599 |
msgstr ""
|
4600 |
|
4601 |
+
#: defaults.php:430
|
4602 |
msgid "User added a new widget"
|
4603 |
msgstr ""
|
4604 |
|
4605 |
+
#: defaults.php:430
|
4606 |
msgid "Added a new %WidgetName% widget in %Sidebar%."
|
4607 |
msgstr ""
|
4608 |
|
4609 |
+
#: defaults.php:431
|
4610 |
msgid "User modified a widget"
|
4611 |
msgstr ""
|
4612 |
|
4613 |
+
#: defaults.php:431
|
4614 |
msgid "Modified the %WidgetName% widget in %Sidebar%."
|
4615 |
msgstr ""
|
4616 |
|
4617 |
+
#: defaults.php:432
|
4618 |
msgid "User deleted widget"
|
4619 |
msgstr ""
|
4620 |
|
4621 |
+
#: defaults.php:432
|
4622 |
msgid "Deleted the %WidgetName% widget from %Sidebar%."
|
4623 |
msgstr ""
|
4624 |
|
4625 |
+
#: defaults.php:433
|
4626 |
msgid "User moved widget"
|
4627 |
msgstr ""
|
4628 |
|
4629 |
+
#: defaults.php:433
|
4630 |
msgid "Moved the %WidgetName% widget from %OldSidebar% to %NewSidebar%."
|
4631 |
msgstr ""
|
4632 |
|
4633 |
+
#: defaults.php:434
|
4634 |
msgid "User changed widget position"
|
4635 |
msgstr ""
|
4636 |
|
4637 |
+
#: defaults.php:434
|
4638 |
msgid "Changed the position of the widget %WidgetName% in sidebar %Sidebar%."
|
4639 |
msgstr ""
|
4640 |
|
4641 |
+
#: defaults.php:440
|
4642 |
msgid "WordPress Settings"
|
4643 |
msgstr ""
|
4644 |
|
4645 |
+
#: defaults.php:441
|
4646 |
msgid "Option Anyone Can Register in WordPress settings changed"
|
4647 |
msgstr ""
|
4648 |
|
4649 |
+
#: defaults.php:441
|
4650 |
msgid "%NewValue% the option \"Anyone can register\"."
|
4651 |
msgstr ""
|
4652 |
|
4653 |
+
#: defaults.php:442
|
4654 |
msgid "New User Default Role changed"
|
4655 |
msgstr ""
|
4656 |
|
4657 |
+
#: defaults.php:442
|
4658 |
msgid "Changed the New User Default Role from %OldRole% to %NewRole%."
|
4659 |
msgstr ""
|
4660 |
|
4661 |
+
#: defaults.php:443
|
4662 |
msgid "WordPress Administrator Notification email changed"
|
4663 |
msgstr ""
|
4664 |
|
4665 |
+
#: defaults.php:443
|
4666 |
msgid ""
|
4667 |
"Changed the WordPress administrator notifications email address from "
|
4668 |
"%OldEmail% to %NewEmail%."
|
4669 |
msgstr ""
|
4670 |
|
4671 |
+
#: defaults.php:444
|
4672 |
msgid "User changes the WordPress Permalinks"
|
4673 |
msgstr ""
|
4674 |
|
4675 |
+
#: defaults.php:444
|
4676 |
msgid "Changed the WordPress permalinks from %OldPattern% to %NewPattern%."
|
4677 |
msgstr ""
|
4678 |
|
4679 |
+
#: defaults.php:445
|
4680 |
msgid ""
|
4681 |
"Enabled/Disabled the option Discourage search engines from indexing this site"
|
4682 |
msgstr ""
|
4683 |
|
4684 |
+
#: defaults.php:445
|
4685 |
msgid "%Status% the option Discourage search engines from indexing this site."
|
4686 |
msgstr ""
|
4687 |
|
4688 |
+
#: defaults.php:446
|
4689 |
msgid "Enabled/Disabled comments on all the website"
|
4690 |
msgstr ""
|
4691 |
|
4692 |
+
#: defaults.php:446
|
4693 |
msgid "%Status% comments on all the website."
|
4694 |
msgstr ""
|
4695 |
|
4696 |
+
#: defaults.php:447
|
4697 |
msgid "Enabled/Disabled the option Comment author must fill out name and email"
|
4698 |
msgstr ""
|
4699 |
|
4700 |
+
#: defaults.php:447
|
4701 |
msgid "%Status% the option Comment author must fill out name and email."
|
4702 |
msgstr ""
|
4703 |
|
4704 |
+
#: defaults.php:448
|
4705 |
msgid ""
|
4706 |
"Enabled/Disabled the option Users must be logged in and registered to comment"
|
4707 |
msgstr ""
|
4708 |
|
4709 |
+
#: defaults.php:448
|
4710 |
msgid "%Status% the option Users must be logged in and registered to comment."
|
4711 |
msgstr ""
|
4712 |
|
4713 |
+
#: defaults.php:449
|
4714 |
msgid "Enabled/Disabled the option to automatically close comments"
|
4715 |
msgstr ""
|
4716 |
|
4717 |
+
#: defaults.php:449
|
4718 |
msgid "%Status% the option to automatically close comments after %Value% days."
|
4719 |
msgstr ""
|
4720 |
|
4721 |
+
#: defaults.php:450
|
4722 |
msgid "Changed the value of the option Automatically close comments"
|
4723 |
msgstr ""
|
4724 |
|
4725 |
+
#: defaults.php:450
|
4726 |
msgid ""
|
4727 |
"Changed the value of the option Automatically close comments from %OldValue% "
|
4728 |
"to %NewValue% days."
|
4729 |
msgstr ""
|
4730 |
|
4731 |
+
#: defaults.php:451
|
4732 |
msgid "Enabled/Disabled the option for comments to be manually approved"
|
4733 |
msgstr ""
|
4734 |
|
4735 |
+
#: defaults.php:451
|
4736 |
msgid "%Status% the option for comments to be manually approved."
|
4737 |
msgstr ""
|
4738 |
|
4739 |
+
#: defaults.php:452
|
4740 |
msgid ""
|
4741 |
"Enabled/Disabled the option for an author to have previously approved "
|
4742 |
"comments for the comments to appear"
|
4743 |
msgstr ""
|
4744 |
|
4745 |
+
#: defaults.php:452
|
4746 |
msgid ""
|
4747 |
"%Status% the option for an author to have previously approved comments for "
|
4748 |
"the comments to appear."
|
4749 |
msgstr ""
|
4750 |
|
4751 |
+
#: defaults.php:453
|
4752 |
msgid ""
|
4753 |
"Changed the number of links that a comment must have to be held in the queue"
|
4754 |
msgstr ""
|
4755 |
|
4756 |
+
#: defaults.php:453
|
4757 |
msgid ""
|
4758 |
"Changed the number of links from %OldValue% to %NewValue% that a comment "
|
4759 |
"must have to be held in the queue."
|
4760 |
msgstr ""
|
4761 |
|
4762 |
+
#: defaults.php:454
|
4763 |
msgid "Modified the list of keywords for comments moderation"
|
4764 |
msgstr ""
|
4765 |
|
4766 |
+
#: defaults.php:454
|
4767 |
msgid "Modified the list of keywords for comments moderation."
|
4768 |
msgstr ""
|
4769 |
|
4770 |
+
#: defaults.php:455
|
4771 |
msgid "Modified the list of keywords for comments blacklisting"
|
4772 |
msgstr ""
|
4773 |
|
4774 |
+
#: defaults.php:455
|
4775 |
msgid "Modified the list of keywords for comments blacklisting."
|
4776 |
msgstr ""
|
4777 |
|
4778 |
+
#: defaults.php:456
|
4779 |
msgid "Option WordPress Address (URL) in WordPress settings changed"
|
4780 |
msgstr ""
|
4781 |
|
4782 |
+
#: defaults.php:456
|
4783 |
msgid "Changed the WordPress address (URL) from %old_url% to %new_url%."
|
4784 |
msgstr ""
|
4785 |
|
4786 |
+
#: defaults.php:457
|
4787 |
msgid "Option Site Address (URL) in WordPress settings changed"
|
4788 |
msgstr ""
|
4789 |
|
4790 |
+
#: defaults.php:457
|
4791 |
msgid "Changed the site address (URL) from %old_url% to %new_url%."
|
4792 |
msgstr ""
|
4793 |
|
4794 |
+
#: defaults.php:464
|
4795 |
msgid "Multisite Network"
|
4796 |
msgstr ""
|
4797 |
|
4798 |
+
#: defaults.php:469
|
4799 |
msgid "User granted Super Admin privileges"
|
4800 |
msgstr ""
|
4801 |
|
4802 |
+
#: defaults.php:469
|
4803 |
msgid "Granted Super Admin privileges to %TargetUsername%."
|
4804 |
msgstr ""
|
4805 |
|
4806 |
+
#: defaults.php:470
|
4807 |
msgid "User revoked from Super Admin privileges"
|
4808 |
msgstr ""
|
4809 |
|
4810 |
+
#: defaults.php:470
|
4811 |
msgid "Revoked Super Admin privileges from %TargetUsername%."
|
4812 |
msgstr ""
|
4813 |
|
4814 |
+
#: defaults.php:471
|
4815 |
msgid "Existing user added to a site"
|
4816 |
msgstr ""
|
4817 |
|
4818 |
+
#: defaults.php:471
|
4819 |
msgid ""
|
4820 |
"Added the existing user %TargetUsername% with %TargetUserRole% role to site "
|
4821 |
"%SiteName%."
|
4822 |
msgstr ""
|
4823 |
|
4824 |
+
#: defaults.php:472
|
4825 |
msgid "User removed from site"
|
4826 |
msgstr ""
|
4827 |
|
4828 |
+
#: defaults.php:472
|
4829 |
msgid ""
|
4830 |
"Removed the user %TargetUsername% with role %TargetUserRole% from %SiteName% "
|
4831 |
"site."
|
4832 |
msgstr ""
|
4833 |
|
4834 |
+
#: defaults.php:473
|
4835 |
msgid "New network user created"
|
4836 |
msgstr ""
|
4837 |
|
4838 |
+
#: defaults.php:473
|
4839 |
msgid "Created a new network user %NewUserData->Username%."
|
4840 |
msgstr ""
|
4841 |
|
4842 |
+
#: defaults.php:474
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4843 |
msgid "New site added on the network"
|
4844 |
msgstr ""
|
4845 |
|
4846 |
+
#: defaults.php:474
|
4847 |
msgid "Added the site %SiteName% to the network."
|
4848 |
msgstr ""
|
4849 |
|
4850 |
+
#: defaults.php:475
|
4851 |
msgid "Existing site archived"
|
4852 |
msgstr ""
|
4853 |
|
4854 |
+
#: defaults.php:475
|
4855 |
msgid "Archived the site %SiteName%."
|
4856 |
msgstr ""
|
4857 |
|
4858 |
+
#: defaults.php:476
|
4859 |
msgid "Archived site has been unarchived"
|
4860 |
msgstr ""
|
4861 |
|
4862 |
+
#: defaults.php:476
|
4863 |
msgid "Unarchived the site %SiteName%."
|
4864 |
msgstr ""
|
4865 |
|
4866 |
+
#: defaults.php:477
|
4867 |
msgid "Deactivated site has been activated"
|
4868 |
msgstr ""
|
4869 |
|
4870 |
+
#: defaults.php:477
|
4871 |
msgid "Activated the site %SiteName%."
|
4872 |
msgstr ""
|
4873 |
|
4874 |
+
#: defaults.php:478
|
4875 |
msgid "Site has been deactivated"
|
4876 |
msgstr ""
|
4877 |
|
4878 |
+
#: defaults.php:478
|
4879 |
msgid "Deactivated the site %SiteName%."
|
4880 |
msgstr ""
|
4881 |
|
4882 |
+
#: defaults.php:479
|
4883 |
msgid "Existing site deleted from network"
|
4884 |
msgstr ""
|
4885 |
|
4886 |
+
#: defaults.php:479
|
4887 |
msgid "Deleted the site %SiteName%."
|
4888 |
msgstr ""
|
4889 |
|
4890 |
+
#: defaults.php:491
|
4891 |
msgid "User created new forum"
|
4892 |
msgstr ""
|
4893 |
|
4894 |
+
#: defaults.php:491
|
4895 |
msgid ""
|
4896 |
"Created new forum %ForumName%. Forum URL is %ForumURL%. %EditorLinkForum%."
|
4897 |
msgstr ""
|
4898 |
|
4899 |
+
#: defaults.php:492
|
4900 |
msgid "User changed status of a forum"
|
4901 |
msgstr ""
|
4902 |
|
4903 |
+
#: defaults.php:492
|
4904 |
msgid ""
|
4905 |
"Changed the status of the forum %ForumName% from %OldStatus% to %NewStatus%. "
|
4906 |
"%EditorLinkForum%."
|
4907 |
msgstr ""
|
4908 |
|
4909 |
+
#: defaults.php:493
|
4910 |
msgid "User changed visibility of a forum"
|
4911 |
msgstr ""
|
4912 |
|
4913 |
+
#: defaults.php:493
|
4914 |
msgid ""
|
4915 |
"Changed the visibility of the forum %ForumName% from %OldVisibility% to "
|
4916 |
"%NewVisibility%. %EditorLinkForum%."
|
4917 |
msgstr ""
|
4918 |
|
4919 |
+
#: defaults.php:494
|
4920 |
msgid "User changed the URL of a forum"
|
4921 |
msgstr ""
|
4922 |
|
4923 |
+
#: defaults.php:494
|
4924 |
msgid ""
|
4925 |
"Changed the URL of the forum %ForumName% from %OldUrl% to %NewUrl%. "
|
4926 |
"%EditorLinkForum%."
|
4927 |
msgstr ""
|
4928 |
|
4929 |
+
#: defaults.php:495
|
4930 |
msgid "User changed order of a forum"
|
4931 |
msgstr ""
|
4932 |
|
4933 |
+
#: defaults.php:495
|
4934 |
msgid ""
|
4935 |
"Changed the order of the forum %ForumName% from %OldOrder% to %NewOrder%. "
|
4936 |
"%EditorLinkForum%."
|
4937 |
msgstr ""
|
4938 |
|
4939 |
+
#: defaults.php:496
|
4940 |
msgid "User moved forum to trash"
|
4941 |
msgstr ""
|
4942 |
|
4943 |
+
#: defaults.php:496
|
4944 |
msgid "Moved the forum %ForumName% to trash."
|
4945 |
msgstr ""
|
4946 |
|
4947 |
+
#: defaults.php:497
|
4948 |
msgid "User permanently deleted forum"
|
4949 |
msgstr ""
|
4950 |
|
4951 |
+
#: defaults.php:497
|
4952 |
msgid "Permanently deleted the forum %ForumName%."
|
4953 |
msgstr ""
|
4954 |
|
4955 |
+
#: defaults.php:498
|
4956 |
msgid "User restored forum from trash"
|
4957 |
msgstr ""
|
4958 |
|
4959 |
+
#: defaults.php:498
|
4960 |
msgid "Restored the forum %ForumName% from trash. %EditorLinkForum%."
|
4961 |
msgstr ""
|
4962 |
|
4963 |
+
#: defaults.php:499
|
4964 |
msgid "User changed the parent of a forum"
|
4965 |
msgstr ""
|
4966 |
|
4967 |
+
#: defaults.php:499
|
4968 |
msgid ""
|
4969 |
"Changed the parent of the forum %ForumName% from %OldParent% to %NewParent%. "
|
4970 |
"%EditorLinkForum%."
|
4971 |
msgstr ""
|
4972 |
|
4973 |
+
#: defaults.php:500
|
4974 |
msgid "User changed type of a forum"
|
4975 |
msgstr ""
|
4976 |
|
4977 |
+
#: defaults.php:500
|
4978 |
msgid ""
|
4979 |
"Changed the type of the forum %ForumName% from %OldType% to %NewType%. "
|
4980 |
"%EditorLinkForum%."
|
4981 |
msgstr ""
|
4982 |
|
4983 |
+
#: defaults.php:501
|
4984 |
msgid "User changed forum's role"
|
4985 |
msgstr ""
|
4986 |
|
4987 |
+
#: defaults.php:501
|
4988 |
msgid "Changed the forum's auto role from %OldRole% to %NewRole%."
|
4989 |
msgstr ""
|
4990 |
|
4991 |
+
#: defaults.php:502
|
4992 |
msgid "User changed option of a forum"
|
4993 |
msgstr ""
|
4994 |
|
4995 |
+
#: defaults.php:502
|
4996 |
msgid "%Status% the option for anonymous posting on forum."
|
4997 |
msgstr ""
|
4998 |
|
4999 |
+
#: defaults.php:503
|
5000 |
msgid "User changed time to disallow post editing"
|
5001 |
msgstr ""
|
5002 |
|
5003 |
+
#: defaults.php:503
|
5004 |
msgid ""
|
5005 |
"Changed the time to disallow post editing from %OldTime% to %NewTime% "
|
5006 |
"minutes in the forums."
|
5007 |
msgstr ""
|
5008 |
|
5009 |
+
#: defaults.php:504
|
5010 |
msgid "User changed the forum setting posting throttle time"
|
5011 |
msgstr ""
|
5012 |
|
5013 |
+
#: defaults.php:504
|
5014 |
msgid ""
|
5015 |
"Changed the posting throttle time from %OldTime% to %NewTime% seconds in the "
|
5016 |
"forums."
|
5017 |
msgstr ""
|
5018 |
|
5019 |
+
#: defaults.php:505
|
5020 |
msgid "User created new topic"
|
5021 |
msgstr ""
|
5022 |
|
5023 |
+
#: defaults.php:505
|
5024 |
msgid "Created a new topic %TopicName%. %EditorLinkTopic%."
|
5025 |
msgstr ""
|
5026 |
|
5027 |
+
#: defaults.php:506
|
5028 |
msgid "User changed status of a topic"
|
5029 |
msgstr ""
|
5030 |
|
5031 |
+
#: defaults.php:506
|
5032 |
msgid ""
|
5033 |
"Changed the status of the topic %TopicName% from %OldStatus% to %NewStatus%. "
|
5034 |
"%EditorLinkTopic%."
|
5035 |
msgstr ""
|
5036 |
|
5037 |
+
#: defaults.php:507
|
5038 |
msgid "User changed type of a topic"
|
5039 |
msgstr ""
|
5040 |
|
5041 |
+
#: defaults.php:507
|
5042 |
msgid ""
|
5043 |
"Changed the type of the topic %TopicName% from %OldType% to %NewType%. "
|
5044 |
"%EditorLinkTopic%."
|
5045 |
msgstr ""
|
5046 |
|
5047 |
+
#: defaults.php:508
|
5048 |
msgid "User changed URL of a topic"
|
5049 |
msgstr ""
|
5050 |
|
5051 |
+
#: defaults.php:508
|
5052 |
msgid "Changed the URL of the topic %TopicName% from %OldUrl% to %NewUrl%."
|
5053 |
msgstr ""
|
5054 |
|
5055 |
+
#: defaults.php:509
|
5056 |
msgid "User changed the forum of a topic"
|
5057 |
msgstr ""
|
5058 |
|
5059 |
+
#: defaults.php:509
|
5060 |
msgid ""
|
5061 |
"Changed the forum of the topic %TopicName% from %OldForum% to %NewForum%. "
|
5062 |
"%EditorLinkTopic%."
|
5063 |
msgstr ""
|
5064 |
|
5065 |
+
#: defaults.php:510
|
5066 |
msgid "User moved topic to trash"
|
5067 |
msgstr ""
|
5068 |
|
5069 |
+
#: defaults.php:510
|
5070 |
msgid "Moved the topic %TopicName% to trash."
|
5071 |
msgstr ""
|
5072 |
|
5073 |
+
#: defaults.php:511
|
5074 |
msgid "User permanently deleted topic"
|
5075 |
msgstr ""
|
5076 |
|
5077 |
+
#: defaults.php:511
|
5078 |
msgid "Permanently deleted the topic %TopicName%."
|
5079 |
msgstr ""
|
5080 |
|
5081 |
+
#: defaults.php:512
|
5082 |
msgid "User restored topic from trash"
|
5083 |
msgstr ""
|
5084 |
|
5085 |
+
#: defaults.php:512
|
5086 |
msgid "Restored the topic %TopicName% from trash. %EditorLinkTopic%."
|
5087 |
msgstr ""
|
5088 |
|
5089 |
+
#: defaults.php:513
|
5090 |
msgid "User changed visibility of a topic"
|
5091 |
msgstr ""
|
5092 |
|
5093 |
+
#: defaults.php:513
|
5094 |
msgid ""
|
5095 |
"Changed the visibility of the topic %TopicName% from %OldVisibility% to "
|
5096 |
"%NewVisibility%. %EditorLinkTopic%."
|
5097 |
msgstr ""
|
5098 |
|
5099 |
+
#: defaults.php:514
|
5100 |
+
msgid "The forum role of a user was changed by another WordPress user"
|
5101 |
+
msgstr ""
|
5102 |
+
|
5103 |
+
#: defaults.php:514
|
5104 |
+
msgid ""
|
5105 |
+
"Change the forum role of the user %TargetUsername% from %OldRole% to %NewRole"
|
5106 |
+
"% by %UserChanger%."
|
5107 |
+
msgstr ""
|
5108 |
+
|
5109 |
+
#: defaults.php:521
|
5110 |
msgid "User created a new product"
|
5111 |
msgstr ""
|
5112 |
|
5113 |
+
#: defaults.php:521
|
5114 |
msgid ""
|
5115 |
"Created a new product called %ProductTitle% and saved it as draft. View the "
|
5116 |
"product: %EditorLinkProduct%."
|
5117 |
msgstr ""
|
5118 |
|
5119 |
+
#: defaults.php:522
|
5120 |
msgid "User published a product"
|
5121 |
msgstr ""
|
5122 |
|
5123 |
+
#: defaults.php:522
|
5124 |
msgid ""
|
5125 |
"Published a product called %ProductTitle%. Product URL is %ProductUrl%. View "
|
5126 |
"the product: %EditorLinkProduct%."
|
5127 |
msgstr ""
|
5128 |
|
5129 |
+
#: defaults.php:523
|
5130 |
msgid "User changed the category of a product"
|
5131 |
msgstr ""
|
5132 |
|
5133 |
+
#: defaults.php:523
|
5134 |
msgid ""
|
5135 |
"Changed the category of the %ProductStatus% product %ProductTitle% from "
|
5136 |
"%OldCategories% to %NewCategories%. View the product: %EditorLinkProduct%."
|
5137 |
msgstr ""
|
5138 |
|
5139 |
+
#: defaults.php:524
|
5140 |
msgid "User modified the short description of a product"
|
5141 |
msgstr ""
|
5142 |
|
5143 |
+
#: defaults.php:524
|
5144 |
msgid ""
|
5145 |
"Modified the short description of the %ProductStatus% product %ProductTitle%."
|
5146 |
"%ChangeText% View the product: %EditorLinkProduct%."
|
5147 |
msgstr ""
|
5148 |
|
5149 |
+
#: defaults.php:525
|
5150 |
msgid "User modified the text of a product"
|
5151 |
msgstr ""
|
5152 |
|
5153 |
+
#: defaults.php:525
|
5154 |
msgid ""
|
5155 |
"Modified the text of the %ProductStatus% product %ProductTitle%. View the "
|
5156 |
"product: %EditorLinkProduct%."
|
5157 |
msgstr ""
|
5158 |
|
5159 |
+
#: defaults.php:526
|
5160 |
msgid "User changed the URL of a product"
|
5161 |
msgstr ""
|
5162 |
|
5163 |
+
#: defaults.php:526
|
5164 |
msgid ""
|
5165 |
"Changed the URL of the %ProductStatus% product %ProductTitle%%ReportText%."
|
5166 |
"%ChangeText% View the product: %EditorLinkProduct%."
|
5167 |
msgstr ""
|
5168 |
|
5169 |
+
#: defaults.php:527
|
5170 |
msgid "User changed the date of a product"
|
5171 |
msgstr ""
|
5172 |
|
5173 |
+
#: defaults.php:527
|
5174 |
msgid ""
|
5175 |
"Changed the date of the %ProductStatus% product %ProductTitle% from %OldDate"
|
5176 |
"% to %NewDate%. View the product: %EditorLinkProduct%."
|
5177 |
msgstr ""
|
5178 |
|
5179 |
+
#: defaults.php:528
|
5180 |
msgid "User changed the visibility of a product"
|
5181 |
msgstr ""
|
5182 |
|
5183 |
+
#: defaults.php:528
|
5184 |
msgid ""
|
5185 |
"Changed the visibility of the %ProductStatus% product %ProductTitle% from "
|
5186 |
"%OldVisibility% to %NewVisibility%. View the product: %EditorLinkProduct%."
|
5187 |
msgstr ""
|
5188 |
|
5189 |
+
#: defaults.php:529
|
5190 |
msgid "User modified the product"
|
5191 |
msgstr ""
|
5192 |
|
5193 |
+
#: defaults.php:529
|
5194 |
msgid ""
|
5195 |
"Modified the %ProductStatus% product %ProductTitle%. Product URL is "
|
5196 |
"%ProductUrl%. View the product: %EditorLinkProduct%."
|
5197 |
msgstr ""
|
5198 |
|
5199 |
+
#: defaults.php:530
|
5200 |
msgid "User modified the draft product"
|
5201 |
msgstr ""
|
5202 |
|
5203 |
+
#: defaults.php:530
|
5204 |
msgid ""
|
5205 |
"Modified the draft product %ProductTitle%. View the product: "
|
5206 |
"%EditorLinkProduct%."
|
5207 |
msgstr ""
|
5208 |
|
5209 |
+
#: defaults.php:531
|
5210 |
msgid "User moved a product to trash"
|
5211 |
msgstr ""
|
5212 |
|
5213 |
+
#: defaults.php:531
|
5214 |
msgid ""
|
5215 |
"Moved the %ProductStatus% product %ProductTitle% to trash. Product URL was "
|
5216 |
"%ProductUrl%."
|
5217 |
msgstr ""
|
5218 |
|
5219 |
+
#: defaults.php:532
|
5220 |
msgid "User permanently deleted a product"
|
5221 |
msgstr ""
|
5222 |
|
5223 |
+
#: defaults.php:532
|
5224 |
msgid "Permanently deleted the product %ProductTitle%."
|
5225 |
msgstr ""
|
5226 |
|
5227 |
+
#: defaults.php:533
|
5228 |
msgid "User restored a product from the trash"
|
5229 |
msgstr ""
|
5230 |
|
5231 |
+
#: defaults.php:533
|
5232 |
msgid ""
|
5233 |
"Product %ProductTitle% has been restored from trash. View product: "
|
5234 |
"%EditorLinkProduct%."
|
5235 |
msgstr ""
|
5236 |
|
5237 |
+
#: defaults.php:534
|
5238 |
msgid "User changed status of a product"
|
5239 |
msgstr ""
|
5240 |
|
5241 |
+
#: defaults.php:534
|
5242 |
msgid ""
|
5243 |
"Changed the status of the product %ProductTitle% from %OldStatus% to "
|
5244 |
"%NewStatus%. View the product: %EditorLinkProduct%."
|
5245 |
msgstr ""
|
5246 |
|
5247 |
+
#: defaults.php:535
|
5248 |
msgid "User opened a product in the editor"
|
5249 |
msgstr ""
|
5250 |
|
5251 |
+
#: defaults.php:535
|
5252 |
msgid ""
|
5253 |
"Opened the %ProductStatus% product page %ProductTitle% in editor. View the "
|
5254 |
"product: %EditorLinkProduct%."
|
5255 |
msgstr ""
|
5256 |
|
5257 |
+
#: defaults.php:536
|
5258 |
msgid "User viewed a product"
|
5259 |
msgstr ""
|
5260 |
|
5261 |
+
#: defaults.php:536
|
5262 |
msgid ""
|
5263 |
"Viewed the %ProductStatus% product page %ProductTitle%. View the product: "
|
5264 |
"%EditorLinkProduct%."
|
5265 |
msgstr ""
|
5266 |
|
5267 |
+
#: defaults.php:537
|
5268 |
msgid "User renamed a product"
|
5269 |
msgstr ""
|
5270 |
|
5271 |
+
#: defaults.php:537
|
5272 |
msgid ""
|
5273 |
"Renamed the %ProductStatus% product from %OldTitle% to %NewTitle%. View the "
|
5274 |
"product: %EditorLinkProduct%."
|
5275 |
msgstr ""
|
5276 |
|
5277 |
+
#: defaults.php:538
|
5278 |
msgid "User changed the Product Data of a product"
|
5279 |
msgstr ""
|
5280 |
|
5281 |
+
#: defaults.php:538
|
5282 |
msgid ""
|
5283 |
"Changed the Product Type of the %ProductStatus% product %ProductTitle% from "
|
5284 |
"%OldType% to %NewType%. View the product: %EditorLinkProduct%."
|
5285 |
msgstr ""
|
5286 |
|
5287 |
+
#: defaults.php:539
|
5288 |
msgid "User changed type of a price"
|
5289 |
msgstr ""
|
5290 |
|
5291 |
+
#: defaults.php:539
|
5292 |
msgid ""
|
5293 |
"Changed the %PriceType% of the %ProductStatus% product %ProductTitle% from "
|
5294 |
"%OldPrice% to %NewPrice%. View the product: %EditorLinkProduct%."
|
5295 |
msgstr ""
|
5296 |
|
5297 |
+
#: defaults.php:540
|
5298 |
msgid "User changed the SKU of a product"
|
5299 |
msgstr ""
|
5300 |
|
5301 |
+
#: defaults.php:540
|
5302 |
msgid ""
|
5303 |
"Changed the SKU of the %ProductStatus% product %ProductTitle% from %OldSku% "
|
5304 |
"to %NewSku%. View the product: %EditorLinkProduct%."
|
5305 |
msgstr ""
|
5306 |
|
5307 |
+
#: defaults.php:541
|
5308 |
msgid "User changed the stock status of a product"
|
5309 |
msgstr ""
|
5310 |
|
5311 |
+
#: defaults.php:541
|
5312 |
msgid ""
|
5313 |
"Changed the stock status of the %ProductStatus% product %ProductTitle% from "
|
5314 |
"%OldStatus% to %NewStatus%. View the product: %EditorLinkProduct%."
|
5315 |
msgstr ""
|
5316 |
|
5317 |
+
#: defaults.php:542
|
5318 |
msgid "User changed the stock quantity"
|
5319 |
msgstr ""
|
5320 |
|
5321 |
+
#: defaults.php:542
|
5322 |
msgid ""
|
5323 |
"Changed the stock quantity of the %ProductStatus% product %ProductTitle% "
|
5324 |
"from %OldValue% to %NewValue%. View the product: %EditorLinkProduct%"
|
5325 |
msgstr ""
|
5326 |
|
5327 |
+
#: defaults.php:543
|
5328 |
msgid "User set a product type"
|
5329 |
msgstr ""
|
5330 |
|
5331 |
+
#: defaults.php:543
|
5332 |
msgid ""
|
5333 |
"Changed the type of the %ProductStatus% simple product %ProductTitle% from "
|
5334 |
"%OldType% to %NewType%. View the product: %EditorLinkProduct%."
|
5335 |
msgstr ""
|
5336 |
|
5337 |
+
#: defaults.php:544
|
5338 |
msgid "User changed the weight of a product"
|
5339 |
msgstr ""
|
5340 |
|
5341 |
+
#: defaults.php:544
|
5342 |
msgid ""
|
5343 |
"Changed the weight of the %ProductStatus% product %ProductTitle% from "
|
5344 |
"%OldWeight% to %NewWeight%. View the product: %EditorLinkProduct%."
|
5345 |
msgstr ""
|
5346 |
|
5347 |
+
#: defaults.php:545
|
5348 |
msgid "User changed the dimensions of a product"
|
5349 |
msgstr ""
|
5350 |
|
5351 |
+
#: defaults.php:545
|
5352 |
msgid ""
|
5353 |
"Changed the %DimensionType% dimensions of the %ProductStatus% product "
|
5354 |
"%ProductTitle% from %OldDimension% to %NewDimension%. View the product: "
|
5355 |
"%EditorLinkProduct%."
|
5356 |
msgstr ""
|
5357 |
|
5358 |
+
#: defaults.php:546
|
5359 |
msgid "User added the Downloadable File to a product"
|
5360 |
msgstr ""
|
5361 |
|
5362 |
+
#: defaults.php:546
|
5363 |
msgid ""
|
5364 |
"Added the Downloadable File %FileName% with File URL %FileUrl% to the "
|
5365 |
"%ProductStatus% product %ProductTitle%. View the product: %EditorLinkProduct"
|
5366 |
"%."
|
5367 |
msgstr ""
|
5368 |
|
5369 |
+
#: defaults.php:547
|
5370 |
msgid "User Removed the Downloadable File from a product"
|
5371 |
msgstr ""
|
5372 |
|
5373 |
+
#: defaults.php:547
|
5374 |
msgid ""
|
5375 |
"Removed the Downloadable File %FileName% with File URL %FileUrl% from the "
|
5376 |
"%ProductStatus% product %ProductTitle%. View the product: %EditorLinkProduct"
|
5377 |
"%."
|
5378 |
msgstr ""
|
5379 |
|
5380 |
+
#: defaults.php:548
|
5381 |
msgid "User changed the name of a Downloadable File in a product"
|
5382 |
msgstr ""
|
5383 |
|
5384 |
+
#: defaults.php:548
|
5385 |
msgid ""
|
5386 |
"Changed the name of a Downloadable File from %OldName% to %NewName% in "
|
5387 |
"%ProductStatus% product %ProductTitle%. View the product: %EditorLinkProduct"
|
5388 |
"%."
|
5389 |
msgstr ""
|
5390 |
|
5391 |
+
#: defaults.php:549
|
5392 |
msgid "User changed the URL of the Downloadable File in a product"
|
5393 |
msgstr ""
|
5394 |
|
5395 |
+
#: defaults.php:549
|
5396 |
msgid ""
|
5397 |
"Changed the URL of the Downloadable File %FileName% from %OldUrl% to %NewUrl"
|
5398 |
"% in %ProductStatus% product %ProductTitle%. View the product: "
|
5399 |
"%EditorLinkProduct%."
|
5400 |
msgstr ""
|
5401 |
|
5402 |
+
#: defaults.php:550
|
5403 |
msgid "User changed the catalog visibility of a product"
|
5404 |
msgstr ""
|
5405 |
|
5406 |
+
#: defaults.php:550
|
5407 |
msgid ""
|
5408 |
"Changed the catalog visibility of the %ProductStatus% product %ProductTitle% "
|
5409 |
"from %OldVisibility% to %NewVisibility%. View the product: %EditorLinkProduct"
|
5410 |
"%."
|
5411 |
msgstr ""
|
5412 |
|
5413 |
+
#: defaults.php:551
|
5414 |
msgid "User changed the setting Featured Product of a product"
|
5415 |
msgstr ""
|
5416 |
|
5417 |
+
#: defaults.php:551
|
5418 |
msgid ""
|
5419 |
"%Status% the setting Featured Product in the %ProductStatus% product "
|
5420 |
"%ProductTitle%. View the product: %EditorLinkProduct%."
|
5421 |
msgstr ""
|
5422 |
|
5423 |
+
#: defaults.php:552
|
5424 |
msgid "User changed the Allow Backorders setting of a product"
|
5425 |
msgstr ""
|
5426 |
|
5427 |
+
#: defaults.php:552
|
5428 |
msgid ""
|
5429 |
"Changed the Allow Backorders setting of the %ProductStatus% product "
|
5430 |
"%ProductTitle% from %OldStatus% to %NewStatus%. View the product: "
|
5431 |
"%EditorLinkProduct%."
|
5432 |
msgstr ""
|
5433 |
|
5434 |
+
#: defaults.php:553
|
5435 |
msgid "User added/removed products to upsell of a product"
|
5436 |
msgstr ""
|
5437 |
|
5438 |
+
#: defaults.php:553
|
5439 |
msgid ""
|
5440 |
"%Status% the product %UpsellTitle% to Upsells in the %ProductStatus% product "
|
5441 |
"%ProductTitle%. View the product: %EditorLinkProduct%."
|
5442 |
msgstr ""
|
5443 |
|
5444 |
+
#: defaults.php:554
|
5445 |
msgid "User added/removed products to cross-sells of a product"
|
5446 |
msgstr ""
|
5447 |
|
5448 |
+
#: defaults.php:554
|
5449 |
msgid ""
|
5450 |
"%Status% the product %CrossSellTitle% to Cross-sells in the %ProductStatus% "
|
5451 |
"product %ProductTitle%. View the product: %EditorLinkProduct%."
|
5452 |
msgstr ""
|
5453 |
|
5454 |
+
#: defaults.php:555
|
5455 |
msgid "Added a new attribute of a product"
|
5456 |
msgstr ""
|
5457 |
|
5458 |
+
#: defaults.php:555
|
5459 |
msgid ""
|
5460 |
"Added a new attribute called %AttributeName% with value %AttributeValue% in "
|
5461 |
"the %ProductStatus% product %ProductTitle%. View the product: "
|
5462 |
"%EditorLinkProduct%."
|
5463 |
msgstr ""
|
5464 |
|
5465 |
+
#: defaults.php:556
|
5466 |
msgid "Modified the value of an attribute of a product"
|
5467 |
msgstr ""
|
5468 |
|
5469 |
+
#: defaults.php:556
|
5470 |
msgid ""
|
5471 |
"Modified the value of the attribute %AttributeName% from %OldValue% to "
|
5472 |
"%NewValue% in the %ProductStatus% product %ProductTitle%. View the product: "
|
5473 |
"%EditorLinkProduct%."
|
5474 |
msgstr ""
|
5475 |
|
5476 |
+
#: defaults.php:557
|
5477 |
msgid "Changed the name of an attribute of a product"
|
5478 |
msgstr ""
|
5479 |
|
5480 |
+
#: defaults.php:557
|
5481 |
msgid ""
|
5482 |
"Changed the attribute's name from %OldValue% to %NewValue% in the "
|
5483 |
"%ProductStatus% product %ProductTitle%. URL is: %ProductUrl%. View the "
|
5484 |
"product: %EditorLinkProduct%."
|
5485 |
msgstr ""
|
5486 |
|
5487 |
+
#: defaults.php:558
|
5488 |
msgid "Deleted an attribute of a product"
|
5489 |
msgstr ""
|
5490 |
|
5491 |
+
#: defaults.php:558
|
5492 |
msgid ""
|
5493 |
"Deleted the attribute %AttributeName% with value %AttributeValue% from "
|
5494 |
"%ProductStatus% product %ProductTitle%. URL is: %ProductUrl%. View the "
|
5495 |
"product: %EditorLinkProduct%."
|
5496 |
msgstr ""
|
5497 |
|
5498 |
+
#: defaults.php:559
|
5499 |
msgid "Set the attribute visibility of a product"
|
5500 |
msgstr ""
|
5501 |
|
5502 |
+
#: defaults.php:559
|
5503 |
msgid ""
|
5504 |
"Set the attribute %AttributeName% as %AttributeVisiblilty% on product page "
|
5505 |
"in %ProductStatus% product %ProductTitle%. View the product: "
|
5506 |
"%EditorLinkProduct%."
|
5507 |
msgstr ""
|
5508 |
|
5509 |
+
#: defaults.php:566
|
5510 |
msgid "User changed the Weight Unit"
|
5511 |
msgstr ""
|
5512 |
|
5513 |
+
#: defaults.php:566
|
5514 |
msgid "Changed the Weight Unit from %OldUnit% to %NewUnit% in WooCommerce."
|
5515 |
msgstr ""
|
5516 |
|
5517 |
+
#: defaults.php:567
|
5518 |
msgid "User changed the Dimensions Unit"
|
5519 |
msgstr ""
|
5520 |
|
5521 |
+
#: defaults.php:567
|
5522 |
msgid "Changed the Dimensions Unit from %OldUnit% to %NewUnit% in WooCommerce."
|
5523 |
msgstr ""
|
5524 |
|
5525 |
+
#: defaults.php:568
|
5526 |
msgid "User changed the Base Location"
|
5527 |
msgstr ""
|
5528 |
|
5529 |
+
#: defaults.php:568
|
5530 |
msgid ""
|
5531 |
"Changed the Base Location from %OldLocation% to %NewLocation% in WooCommerce."
|
5532 |
msgstr ""
|
5533 |
|
5534 |
+
#: defaults.php:569
|
5535 |
msgid "User Enabled/Disabled taxes"
|
5536 |
msgstr ""
|
5537 |
|
5538 |
+
#: defaults.php:569
|
5539 |
msgid "%Status% taxes in the WooCommerce store."
|
5540 |
msgstr ""
|
5541 |
|
5542 |
+
#: defaults.php:570
|
5543 |
msgid "User changed the currency"
|
5544 |
msgstr ""
|
5545 |
|
5546 |
+
#: defaults.php:570
|
5547 |
msgid ""
|
5548 |
"Changed the currency from %OldCurrency% to %NewCurrency% in WooCommerce."
|
5549 |
msgstr ""
|
5550 |
|
5551 |
+
#: defaults.php:571
|
5552 |
msgid "User Enabled/Disabled the use of coupons during checkout"
|
5553 |
msgstr ""
|
5554 |
|
5555 |
+
#: defaults.php:571
|
5556 |
msgid "%Status% the use of coupons during checkout in WooCommerce."
|
5557 |
msgstr ""
|
5558 |
|
5559 |
+
#: defaults.php:572
|
5560 |
msgid "User Enabled/Disabled guest checkout"
|
5561 |
msgstr ""
|
5562 |
|
5563 |
+
#: defaults.php:572
|
5564 |
msgid "%Status% guest checkout in WooCommerce."
|
5565 |
msgstr ""
|
5566 |
|
5567 |
+
#: defaults.php:573
|
5568 |
msgid "User Enabled/Disabled cash on delivery"
|
5569 |
msgstr ""
|
5570 |
|
5571 |
+
#: defaults.php:573
|
5572 |
msgid "%Status% the option Cash on Delivery in WooCommerce."
|
5573 |
msgstr ""
|
5574 |
|
5575 |
+
#: defaults.php:574
|
5576 |
msgid "User enabled a payment gateway"
|
5577 |
msgstr ""
|
5578 |
|
5579 |
+
#: defaults.php:574
|
5580 |
msgid "Enabled the payment gateway %GatewayName%."
|
5581 |
msgstr ""
|
5582 |
|
5583 |
+
#: defaults.php:575
|
5584 |
msgid "User disabled a payment gateway"
|
5585 |
msgstr ""
|
5586 |
|
5587 |
+
#: defaults.php:575
|
5588 |
msgid "Disabled the payment gateway %GatewayName%."
|
5589 |
msgstr ""
|
5590 |
|
5591 |
+
#: defaults.php:576
|
5592 |
msgid "User modified a payment gateway"
|
5593 |
msgstr ""
|
5594 |
|
5595 |
+
#: defaults.php:576
|
5596 |
msgid "Modified the payment gateway %GatewayName%."
|
5597 |
msgstr ""
|
5598 |
|
5599 |
+
#: defaults.php:577
|
5600 |
msgid "User modified prices with tax option"
|
5601 |
msgstr ""
|
5602 |
|
5603 |
+
#: defaults.php:577
|
5604 |
msgid "Set the option that prices are %TaxStatus% of tax."
|
5605 |
msgstr ""
|
5606 |
|
5607 |
+
#: defaults.php:578
|
5608 |
msgid "User modified tax calculation base"
|
5609 |
msgstr ""
|
5610 |
|
5611 |
+
#: defaults.php:578
|
5612 |
msgid "Set the setting Calculate tax based on to %Setting%."
|
5613 |
msgstr ""
|
5614 |
|
5615 |
+
#: defaults.php:579
|
5616 |
msgid "User modified shipping tax class"
|
5617 |
msgstr ""
|
5618 |
|
5619 |
+
#: defaults.php:579
|
5620 |
msgid "Set the Shipping tax class to %Setting%."
|
5621 |
msgstr ""
|
5622 |
|
5623 |
+
#: defaults.php:580
|
5624 |
msgid "User enabled/disabled rounding of tax"
|
5625 |
msgstr ""
|
5626 |
|
5627 |
+
#: defaults.php:580
|
5628 |
msgid "%Status% rounding of tax at subtotal level."
|
5629 |
msgstr ""
|
5630 |
|
5631 |
+
#: defaults.php:581
|
5632 |
msgid "User modified a shipping zone"
|
5633 |
msgstr ""
|
5634 |
|
5635 |
+
#: defaults.php:581
|
5636 |
msgid "%ShippingZoneStatus% the shipping zone %ShippingZoneName%."
|
5637 |
msgstr ""
|
5638 |
|
5639 |
+
#: defaults.php:582
|
5640 |
msgid "User created a new product category"
|
5641 |
msgstr ""
|
5642 |
|
5643 |
+
#: defaults.php:582
|
5644 |
msgid ""
|
5645 |
"Created a new product category called %CategoryName% in WooCommerce. Product "
|
5646 |
"category slug is %Slug%."
|
5647 |
msgstr ""
|
5648 |
|
5649 |
+
#: defaults.php:583
|
5650 |
msgid "User deleted a product category"
|
5651 |
msgstr ""
|
5652 |
|
5653 |
+
#: defaults.php:583
|
5654 |
msgid ""
|
5655 |
"Deleted the product category called %CategoryName% in WooCommerce. Product "
|
5656 |
"category slug was %CategorySlug%."
|
5657 |
msgstr ""
|
5658 |
|
5659 |
+
#: defaults.php:584
|
5660 |
msgid "User changed the slug of a product category"
|
5661 |
msgstr ""
|
5662 |
|
5663 |
+
#: defaults.php:584
|
5664 |
msgid ""
|
5665 |
"Changed the Slug of the product category %CategoryName% in WooCommerce from "
|
5666 |
"%OldSlug% to %NewSlug%."
|
5667 |
msgstr ""
|
5668 |
|
5669 |
+
#: defaults.php:585
|
5670 |
msgid "User changed the parent category of a product category"
|
5671 |
msgstr ""
|
5672 |
|
5673 |
+
#: defaults.php:585
|
5674 |
msgid ""
|
5675 |
"Changed the Parent Category of the product category %CategoryName% in "
|
5676 |
"WooCommerce from %OldParentCat% to %NewParentCat%."
|
5677 |
msgstr ""
|
5678 |
|
5679 |
+
#: defaults.php:586
|
5680 |
msgid "User changed the display type of a product category"
|
5681 |
msgstr ""
|
5682 |
|
5683 |
+
#: defaults.php:586
|
5684 |
msgid ""
|
5685 |
"Changed the Display Type of the product category %CategoryName% in "
|
5686 |
"WooCommerce from %OldDisplayType% to %NewDisplayType%."
|
5687 |
msgstr ""
|
5688 |
|
5689 |
+
#: defaults.php:587
|
5690 |
msgid "User changed the name of a product category"
|
5691 |
msgstr ""
|
5692 |
|
5693 |
+
#: defaults.php:587
|
5694 |
msgid ""
|
5695 |
"Changed the name of the product category %CategoryName% in WooCommerce from "
|
5696 |
"%OldName% to %NewName%."
|
5697 |
msgstr ""
|
5698 |
|
5699 |
+
#: defaults.php:588
|
5700 |
msgid "User created a new attribute"
|
5701 |
msgstr ""
|
5702 |
|
5703 |
+
#: defaults.php:588
|
5704 |
msgid ""
|
5705 |
"Created a new Attribute called %AttributeName% with slug %AttributeSlug% in "
|
5706 |
"WooCommerce."
|
5707 |
msgstr ""
|
5708 |
|
5709 |
+
#: defaults.php:589
|
5710 |
msgid "User deleted an attribute"
|
5711 |
msgstr ""
|
5712 |
|
5713 |
+
#: defaults.php:589
|
5714 |
msgid ""
|
5715 |
"Deleted the Attribute called %AttributeName% with Slug %AttributeSlug% from "
|
5716 |
"WooCommerce."
|
5717 |
msgstr ""
|
5718 |
|
5719 |
+
#: defaults.php:590
|
5720 |
msgid "User changed the slug of an attribute"
|
5721 |
msgstr ""
|
5722 |
|
5723 |
+
#: defaults.php:590
|
5724 |
msgid ""
|
5725 |
"Changed the Slug of the Attribute %AttributeName% in WooCommerce from "
|
5726 |
"%OldSlug% to %NewSlug%."
|
5727 |
msgstr ""
|
5728 |
|
5729 |
+
#: defaults.php:591
|
5730 |
msgid "User changed the name of an attribute"
|
5731 |
msgstr ""
|
5732 |
|
5733 |
+
#: defaults.php:591
|
5734 |
msgid ""
|
5735 |
"Changed the Name of the Attribute %AttributeName% in WooCommerce from "
|
5736 |
"%OldName% to %NewName%."
|
5737 |
msgstr ""
|
5738 |
|
5739 |
+
#: defaults.php:592
|
5740 |
msgid "User changed the default sort order of an attribute"
|
5741 |
msgstr ""
|
5742 |
|
5743 |
+
#: defaults.php:592
|
5744 |
msgid ""
|
5745 |
"Changed the Default Sort Order of the Attribute %AttributeName% in "
|
5746 |
"WooCommerce from %OldSortOrder% to %NewSortOrder%."
|
5747 |
msgstr ""
|
5748 |
|
5749 |
+
#: defaults.php:593
|
5750 |
msgid "User enabled/disabled the option Enable Archives of an attribute"
|
5751 |
msgstr ""
|
5752 |
|
5753 |
+
#: defaults.php:593
|
5754 |
msgid ""
|
5755 |
"%ArchivesStatus% the option Enable Archives in the Attribute %AttributeName% "
|
5756 |
"in WooCommerce."
|
5757 |
msgstr ""
|
5758 |
|
5759 |
+
#: defaults.php:594
|
5760 |
msgid "User published a new coupon"
|
5761 |
msgstr ""
|
5762 |
|
5763 |
+
#: defaults.php:594
|
5764 |
msgid "Published a new coupon called %CouponName% in WooCommerce."
|
5765 |
msgstr ""
|
5766 |
|
5767 |
+
#: defaults.php:595
|
5768 |
msgid "User changed the discount type of a coupon"
|
5769 |
msgstr ""
|
5770 |
|
5771 |
+
#: defaults.php:595
|
5772 |
msgid ""
|
5773 |
"Changed the Discount Type of the %CouponStatus% WooCommerce coupon "
|
5774 |
"%CouponName% from %OldDiscountType% to %NewDiscountType%."
|
5775 |
msgstr ""
|
5776 |
|
5777 |
+
#: defaults.php:596
|
5778 |
msgid "User changed the coupon amount of a coupon"
|
5779 |
msgstr ""
|
5780 |
|
5781 |
+
#: defaults.php:596
|
5782 |
msgid ""
|
5783 |
"Changed the Coupon Amount of the %CouponStatus% WooCommerce coupon "
|
5784 |
"%CouponName% from %OldAmount% to %NewAmount%."
|
5785 |
msgstr ""
|
5786 |
|
5787 |
+
#: defaults.php:597
|
5788 |
msgid "User changed the coupon expire date of a coupon"
|
5789 |
msgstr ""
|
5790 |
|
5791 |
+
#: defaults.php:597
|
5792 |
msgid ""
|
5793 |
"Changed the Coupon Expire Date of the %CouponStatus% WooCommerce coupon "
|
5794 |
"%CouponName% from %OldDate% to %NewDate%."
|
5795 |
msgstr ""
|
5796 |
|
5797 |
+
#: defaults.php:598
|
5798 |
msgid "User changed the usage restriction settings of a coupon"
|
5799 |
msgstr ""
|
5800 |
|
5801 |
+
#: defaults.php:598
|
5802 |
msgid ""
|
5803 |
"Changed the Usage Restriction settings of the %CouponStatus% WooCommerce "
|
5804 |
"coupon %CouponName%."
|
5805 |
msgstr ""
|
5806 |
|
5807 |
+
#: defaults.php:599
|
5808 |
msgid "User changed the usage limits settings of a coupon"
|
5809 |
msgstr ""
|
5810 |
|
5811 |
+
#: defaults.php:599
|
5812 |
msgid ""
|
5813 |
"Changed the Usage Limits settings of the %CouponStatus% WooCommerce coupon "
|
5814 |
"%CouponName%."
|
5815 |
msgstr ""
|
5816 |
|
5817 |
+
#: defaults.php:600
|
5818 |
msgid "User changed the description of a coupon"
|
5819 |
msgstr ""
|
5820 |
|
5821 |
+
#: defaults.php:600
|
5822 |
msgid ""
|
5823 |
"Changed the Description of the %CouponStatus% WooCommerce coupon %CouponName"
|
5824 |
"%."
|
5825 |
msgstr ""
|
5826 |
|
5827 |
+
#: defaults.php:601
|
5828 |
msgid "User changed the status of a coupon"
|
5829 |
msgstr ""
|
5830 |
|
5831 |
+
#: defaults.php:601
|
5832 |
msgid ""
|
5833 |
"Changed the Status of the WooCommerce coupon %CouponName% from %OldStatus% "
|
5834 |
"to %NewStatus%."
|
5835 |
msgstr ""
|
5836 |
|
5837 |
+
#: defaults.php:602
|
5838 |
msgid "User renamed a WooCommerce coupon"
|
5839 |
msgstr ""
|
5840 |
|
5841 |
+
#: defaults.php:602
|
5842 |
msgid "Renamed the WooCommerce coupon %OldName% to %NewName%."
|
5843 |
msgstr ""
|
5844 |
|
5845 |
+
#: defaults.php:603
|
5846 |
msgid "A WooCommerce order has been placed"
|
5847 |
msgstr ""
|
5848 |
|
5849 |
+
#: defaults.php:603
|
5850 |
msgid ""
|
5851 |
"A WooCommerce order %OrderTitle% has just been placed. %EditorLinkOrder%."
|
5852 |
msgstr ""
|
5853 |
|
5854 |
+
#: defaults.php:604
|
5855 |
msgid "WooCommerce order status changed"
|
5856 |
msgstr ""
|
5857 |
|
5858 |
+
#: defaults.php:604
|
5859 |
msgid ""
|
5860 |
"Marked the WooCommerce order %OrderTitle% as %OrderStatus%. %EditorLinkOrder"
|
5861 |
"%."
|
5862 |
msgstr ""
|
5863 |
|
5864 |
+
#: defaults.php:605
|
5865 |
msgid "User moved a WooCommerce order to trash"
|
5866 |
msgstr ""
|
5867 |
|
5868 |
+
#: defaults.php:605
|
5869 |
msgid "Moved the WooCommerce order %OrderTitle% to trash."
|
5870 |
msgstr ""
|
5871 |
|
5872 |
+
#: defaults.php:606
|
5873 |
msgid "User moved a WooCommerce order out of trash"
|
5874 |
msgstr ""
|
5875 |
|
5876 |
+
#: defaults.php:606
|
5877 |
msgid ""
|
5878 |
"Moved the WooCommerce order %OrderTitle% out of trash. %EditorLinkOrder%."
|
5879 |
msgstr ""
|
5880 |
|
5881 |
+
#: defaults.php:607
|
5882 |
msgid "User permanently deleted a WooCommerce order"
|
5883 |
msgstr ""
|
5884 |
|
5885 |
+
#: defaults.php:607
|
5886 |
msgid "Permanently deleted the WooCommerce order %OrderTitle%."
|
5887 |
msgstr ""
|
5888 |
|
5889 |
+
#: defaults.php:608
|
5890 |
msgid "User edited a WooCommerce order"
|
5891 |
msgstr ""
|
5892 |
|
5893 |
+
#: defaults.php:608
|
5894 |
msgid "Edited the WooCommerce order %OrderTitle%. %EditorLinkOrder%."
|
5895 |
msgstr ""
|
5896 |
|
5897 |
+
#: defaults.php:609
|
5898 |
msgid "User refunded a WooCommerce order"
|
5899 |
msgstr ""
|
5900 |
|
5901 |
+
#: defaults.php:609
|
5902 |
msgid "Refunded the WooCommerce order %OrderTitle%. %EditorLinkOrder%."
|
5903 |
msgstr ""
|
5904 |
|
5905 |
+
#: defaults.php:610
|
5906 |
+
msgid "User changed the billing address details"
|
5907 |
+
msgstr ""
|
5908 |
+
|
5909 |
+
#: defaults.php:610
|
5910 |
+
msgid ""
|
5911 |
+
"Changed the %AddressField% in the user's %TargetUsername% billing address."
|
5912 |
+
"%ChangeText%"
|
5913 |
+
msgstr ""
|
5914 |
+
|
5915 |
+
#: defaults.php:611
|
5916 |
+
msgid "User changed the shipping address details"
|
5917 |
+
msgstr ""
|
5918 |
+
|
5919 |
+
#: defaults.php:611
|
5920 |
+
msgid ""
|
5921 |
+
"Changed the %AddressField% in the user's %TargetUsername% shipping address."
|
5922 |
+
"%ChangeText%"
|
5923 |
+
msgstr ""
|
5924 |
+
|
5925 |
+
#: defaults.php:618
|
5926 |
msgid "User changed title of a SEO post"
|
5927 |
msgstr ""
|
5928 |
|
5929 |
+
#: defaults.php:618
|
5930 |
msgid ""
|
5931 |
"Changed the SEO title of the %PostStatus% %PostType%%ReportText%.%ChangeText"
|
5932 |
"% %EditorLinkPost%."
|
5933 |
msgstr ""
|
5934 |
|
5935 |
+
#: defaults.php:619
|
5936 |
msgid "User changed the meta description of a SEO post"
|
5937 |
msgstr ""
|
5938 |
|
5939 |
+
#: defaults.php:619
|
5940 |
msgid ""
|
5941 |
"Changed the Meta description of the %PostStatus% %PostType% titled %PostTitle"
|
5942 |
"%%ReportText%.%ChangeText% %EditorLinkPost%."
|
5943 |
msgstr ""
|
5944 |
|
5945 |
+
#: defaults.php:620
|
5946 |
msgid ""
|
5947 |
"User changed setting to allow search engines to show post in search results "
|
5948 |
"of a SEO post"
|
5949 |
msgstr ""
|
5950 |
|
5951 |
+
#: defaults.php:620
|
5952 |
msgid ""
|
5953 |
"Changed the setting to allow search engines to show post in search results "
|
5954 |
"from %OldStatus% to %NewStatus% in the %PostStatus% %PostType% titled "
|
5955 |
"%PostTitle%. %EditorLinkPost%."
|
5956 |
msgstr ""
|
5957 |
|
5958 |
+
#: defaults.php:621
|
5959 |
msgid ""
|
5960 |
"User Enabled/Disabled the option for search engine to follow links of a SEO "
|
5961 |
"post"
|
5962 |
msgstr ""
|
5963 |
|
5964 |
+
#: defaults.php:621
|
5965 |
msgid ""
|
5966 |
"%NewStatus% the option for search engine to follow links in the %PostType% "
|
5967 |
"titled %PostTitle%. %EditorLinkPost%."
|
5968 |
msgstr ""
|
5969 |
|
5970 |
+
#: defaults.php:622
|
5971 |
msgid "User set the meta robots advanced setting of a SEO post"
|
5972 |
msgstr ""
|
5973 |
|
5974 |
+
#: defaults.php:622
|
5975 |
msgid ""
|
5976 |
"Set the Meta Robots Advanced setting to %NewStatus% in the %PostStatus% "
|
5977 |
"%PostType% titled %PostTitle%. %EditorLinkPost%."
|
5978 |
msgstr ""
|
5979 |
|
5980 |
+
#: defaults.php:623
|
5981 |
msgid "User changed the canonical URL of a SEO post"
|
5982 |
msgstr ""
|
5983 |
|
5984 |
+
#: defaults.php:623
|
5985 |
msgid ""
|
5986 |
"Changed the Canonical URL of the %PostStatus% %PostType% titled %PostTitle%"
|
5987 |
"%ReportText%.%ChangeText% %EditorLinkPost%."
|
5988 |
msgstr ""
|
5989 |
|
5990 |
+
#: defaults.php:624
|
5991 |
msgid "User changed the focus keyword of a SEO post"
|
5992 |
msgstr ""
|
5993 |
|
5994 |
+
#: defaults.php:624
|
5995 |
msgid ""
|
5996 |
"Changed the focus keyword of the %PostStatus% %PostType% titled %PostTitle% "
|
5997 |
"from %old_keywords% to %new_keywords%. %EditorLinkPost%."
|
5998 |
msgstr ""
|
5999 |
|
6000 |
+
#: defaults.php:625
|
6001 |
msgid "User Enabled/Disabled the option Cornerston Content of a SEO post"
|
6002 |
msgstr ""
|
6003 |
|
6004 |
+
#: defaults.php:625
|
6005 |
msgid ""
|
6006 |
"%Status% the option Cornerston Content on the %PostStatus% %PostType% titled "
|
6007 |
"%PostTitle%. %EditorLinkPost%."
|
6008 |
msgstr ""
|
6009 |
|
6010 |
+
#: defaults.php:626
|
6011 |
msgid "User changed the Title Separator setting"
|
6012 |
msgstr ""
|
6013 |
|
6014 |
+
#: defaults.php:626
|
6015 |
msgid ""
|
6016 |
"Changed the Title Separator from %old% to %new% in the Yoast SEO plugin "
|
6017 |
"settings."
|
6018 |
msgstr ""
|
6019 |
|
6020 |
+
#: defaults.php:627
|
6021 |
msgid "User changed the Homepage Title setting"
|
6022 |
msgstr ""
|
6023 |
|
6024 |
+
#: defaults.php:627
|
6025 |
msgid ""
|
6026 |
"Changed the Homepage Title%ReportText% in the Yoast SEO plugin settings."
|
6027 |
"%ChangeText%"
|
6028 |
msgstr ""
|
6029 |
|
6030 |
+
#: defaults.php:628
|
6031 |
msgid "User changed the Homepage Meta description setting"
|
6032 |
msgstr ""
|
6033 |
|
6034 |
+
#: defaults.php:628
|
6035 |
msgid ""
|
6036 |
"Changed the Homepage Meta description%ReportText% in the Yoast SEO plugin "
|
6037 |
"settings.%ChangeText%"
|
6038 |
msgstr ""
|
6039 |
|
6040 |
+
#: defaults.php:629
|
6041 |
msgid "User changed the Company or Person setting"
|
6042 |
msgstr ""
|
6043 |
|
6044 |
+
#: defaults.php:629
|
6045 |
msgid ""
|
6046 |
"Changed the Company or Person setting from %old% to %new% in the YOAST SEO "
|
6047 |
"plugin settings."
|
6048 |
msgstr ""
|
6049 |
|
6050 |
+
#: defaults.php:630
|
6051 |
msgid ""
|
6052 |
"User Enabled/Disabled the option Show Posts/Pages in Search Results in the "
|
6053 |
"Yoast SEO plugin settings"
|
6054 |
msgstr ""
|
6055 |
|
6056 |
+
#: defaults.php:630
|
6057 |
msgid ""
|
6058 |
"%Status% the option Show %SEOPostType% in Search Results in the Yoast SEO "
|
6059 |
"plugin settings."
|
6060 |
msgstr ""
|
6061 |
|
6062 |
+
#: defaults.php:631
|
6063 |
msgid ""
|
6064 |
"User changed the Posts/Pages title template in the Yoast SEO plugin settings"
|
6065 |
msgstr ""
|
6066 |
|
6067 |
+
#: defaults.php:631
|
6068 |
msgid ""
|
6069 |
"Changed the %SEOPostType% title template from %old% to %new% in the Yoast "
|
6070 |
"SEO plugin settings."
|
6071 |
msgstr ""
|
6072 |
|
6073 |
+
#: defaults.php:632
|
6074 |
msgid "User Enabled/Disabled SEO analysis in the Yoast SEO plugin settings"
|
6075 |
msgstr ""
|
6076 |
|
6077 |
+
#: defaults.php:632
|
6078 |
msgid "%Status% SEO analysis in the Yoast SEO plugin settings."
|
6079 |
msgstr ""
|
6080 |
|
6081 |
+
#: defaults.php:633
|
6082 |
msgid ""
|
6083 |
"User Enabled/Disabled readability analysis in the Yoast SEO plugin settings"
|
6084 |
msgstr ""
|
6085 |
|
6086 |
+
#: defaults.php:633
|
6087 |
msgid "%Status% Readability analysis in the Yoast SEO plugin settings."
|
6088 |
msgstr ""
|
6089 |
|
6090 |
+
#: defaults.php:634
|
6091 |
msgid ""
|
6092 |
"User Enabled/Disabled cornerstone content in the Yoast SEO plugin settings"
|
6093 |
msgstr ""
|
6094 |
|
6095 |
+
#: defaults.php:634
|
6096 |
msgid "%Status% Cornerstone content in the Yoast SEO plugin settings."
|
6097 |
msgstr ""
|
6098 |
|
6099 |
+
#: defaults.php:635
|
6100 |
msgid ""
|
6101 |
"User Enabled/Disabled the text link counter in the Yoast SEO plugin settings"
|
6102 |
msgstr ""
|
6103 |
|
6104 |
+
#: defaults.php:635
|
6105 |
msgid "%Status% the Text link counter in the Yoast SEO plugin settings."
|
6106 |
msgstr ""
|
6107 |
|
6108 |
+
#: defaults.php:636
|
6109 |
msgid "User Enabled/Disabled XML sitemaps in the Yoast SEO plugin settings"
|
6110 |
msgstr ""
|
6111 |
|
6112 |
+
#: defaults.php:636
|
6113 |
msgid "%Status% XML Sitemaps in the Yoast SEO plugin settings."
|
6114 |
msgstr ""
|
6115 |
|
6116 |
+
#: defaults.php:637
|
6117 |
msgid "User Enabled/Disabled ryte integration in the Yoast SEO plugin settings"
|
6118 |
msgstr ""
|
6119 |
|
6120 |
+
#: defaults.php:637
|
6121 |
msgid "%Status% Ryte Integration in the Yoast SEO plugin settings."
|
6122 |
msgstr ""
|
6123 |
|
6124 |
+
#: defaults.php:638
|
6125 |
msgid ""
|
6126 |
"User Enabled/Disabled the admin bar menu in the Yoast SEO plugin settings"
|
6127 |
msgstr ""
|
6128 |
|
6129 |
+
#: defaults.php:638
|
6130 |
msgid "%Status% the Admin bar menu in the Yoast SEO plugin settings."
|
6131 |
msgstr ""
|
6132 |
|
6133 |
+
#: defaults.php:639
|
6134 |
msgid ""
|
6135 |
"User changed the Posts/Pages meta description template in the Yoast SEO "
|
6136 |
"plugin settings"
|
6137 |
msgstr ""
|
6138 |
|
6139 |
+
#: defaults.php:639
|
6140 |
msgid ""
|
6141 |
"Changed the %SEOPostType% meta description template from %old% to %new% in "
|
6142 |
"the Yoast SEO plugin settings."
|
6143 |
msgstr ""
|
6144 |
|
6145 |
+
#: defaults.php:640
|
6146 |
msgid ""
|
6147 |
"User set the option Date in Snippet Preview for Posts/Pages in the Yoast SEO "
|
6148 |
"plugin settings"
|
6149 |
msgstr ""
|
6150 |
|
6151 |
+
#: defaults.php:640
|
6152 |
msgid ""
|
6153 |
"%Status% the option Date in Snippet Preview for %SEOPostType% in the Yoast "
|
6154 |
"SEO plugin settings."
|
6155 |
msgstr ""
|
6156 |
|
6157 |
+
#: defaults.php:641
|
6158 |
msgid ""
|
6159 |
"User set the option Yoast SEO Meta Box for Posts/Pages in the Yoast SEO "
|
6160 |
"plugin settings"
|
6161 |
msgstr ""
|
6162 |
|
6163 |
+
#: defaults.php:641
|
6164 |
msgid ""
|
6165 |
"%Status% the option Yoast SEO Meta Box for %SEOPostType% in the Yoast SEO "
|
6166 |
"plugin settings."
|
6167 |
msgstr ""
|
6168 |
|
6169 |
+
#: defaults.php:642
|
6170 |
msgid ""
|
6171 |
"User Enabled/Disabled the advanced settings for authors in the Yoast SEO "
|
6172 |
"plugin settings"
|
6173 |
msgstr ""
|
6174 |
|
6175 |
+
#: defaults.php:642
|
6176 |
msgid "%Status% the advanced settings for authors in the Yoast SEO settings."
|
6177 |
msgstr ""
|
6178 |
|
6179 |
#. translators: Username
|
6180 |
+
#: wp-security-audit-log.php:462 wp-security-audit-log.php:489
|
6181 |
#, php-format
|
6182 |
msgid "Hey %1$s"
|
6183 |
msgstr ""
|
6184 |
|
6185 |
+
#: wp-security-audit-log.php:463
|
6186 |
msgid ""
|
6187 |
"Never miss an important update! Opt-in to our security and feature updates "
|
6188 |
"notifications, and non-sensitive diagnostic tracking with freemius.com."
|
6189 |
msgstr ""
|
6190 |
|
6191 |
+
#: wp-security-audit-log.php:464 wp-security-audit-log.php:492
|
6192 |
msgid "Note: "
|
6193 |
msgstr ""
|
6194 |
|
6195 |
+
#: wp-security-audit-log.php:465 wp-security-audit-log.php:493
|
6196 |
msgid "NO AUDIT LOG ACTIVITY & DATA IS SENT BACK TO OUR SERVERS."
|
6197 |
msgstr ""
|
6198 |
|
6199 |
#. translators: 1: Plugin name. 2: Freemius link.
|
6200 |
+
#: wp-security-audit-log.php:491
|
6201 |
#, php-format
|
6202 |
msgid ""
|
6203 |
"Please help us improve %2$s! If you opt-in, some non-sensitive data about "
|
6206 |
msgstr ""
|
6207 |
|
6208 |
#. translators: Plugin name
|
6209 |
+
#: wp-security-audit-log.php:513
|
6210 |
#, php-format
|
6211 |
msgid ""
|
6212 |
"Get a free 7-day trial of the premium edition of %s. No credit card "
|
6214 |
msgstr ""
|
6215 |
|
6216 |
#. Plugin Name of the plugin/theme
|
6217 |
+
#: wp-security-audit-log.php:514
|
6218 |
msgid "WP Security Audit Log"
|
6219 |
msgstr ""
|
6220 |
|
6221 |
+
#: wp-security-audit-log.php:518
|
6222 |
msgid "Start free trial"
|
6223 |
msgstr ""
|
6224 |
|
6225 |
+
#: wp-security-audit-log.php:585
|
6226 |
+
#, php-format
|
6227 |
+
msgid ""
|
6228 |
+
"The license is limited to %s sub-sites. You need to upgrade your license to "
|
6229 |
+
"cover all the sub-sites on this network."
|
6230 |
+
msgstr ""
|
6231 |
+
|
6232 |
+
#: wp-security-audit-log.php:680
|
6233 |
msgid ""
|
6234 |
"Error: You do not have sufficient permissions to disable this custom field."
|
6235 |
msgstr ""
|
6236 |
|
6237 |
+
#: wp-security-audit-log.php:716
|
6238 |
msgid "Error: You do not have sufficient permissions to disable this alert."
|
6239 |
msgstr ""
|
6240 |
|
6241 |
+
#: wp-security-audit-log.php:840
|
6242 |
#, php-format
|
6243 |
msgid ""
|
6244 |
"You are using a version of PHP that is older than %s, which is no longer "
|
6245 |
"supported."
|
6246 |
msgstr ""
|
6247 |
|
6248 |
+
#: wp-security-audit-log.php:842
|
6249 |
msgid ""
|
6250 |
"Contact us on <a href=\"mailto:plugins@wpwhitesecurity.com"
|
6251 |
"\">plugins@wpwhitesecurity.com</a> to help you switch the version of PHP you "
|
6252 |
"are using."
|
6253 |
msgstr ""
|
6254 |
|
6255 |
+
#: wp-security-audit-log.php:844
|
6256 |
msgid ""
|
6257 |
"The WP Security Audit Log plugin is a multisite network tool, so it has to "
|
6258 |
"be activated at network level."
|
6259 |
msgstr ""
|
6260 |
|
6261 |
+
#: wp-security-audit-log.php:846
|
6262 |
msgid "Redirect me to the network dashboard"
|
6263 |
msgstr ""
|
6264 |
|
6265 |
+
#: wp-security-audit-log.php:929
|
6266 |
msgid ""
|
6267 |
"This plugin uses 3 tables in the WordPress database to store the activity "
|
6268 |
"log and settings. It seems that these tables were not created."
|
6269 |
msgstr ""
|
6270 |
|
6271 |
+
#: wp-security-audit-log.php:931
|
6272 |
msgid ""
|
6273 |
"This could happen because the database user does not have the right "
|
6274 |
"privileges to create the tables in the database. We recommend you to update "
|
6275 |
"the privileges and try enabling the plugin again."
|
6276 |
msgstr ""
|
6277 |
|
6278 |
+
#: wp-security-audit-log.php:933
|
6279 |
#, php-format
|
6280 |
msgid ""
|
6281 |
"If after doing so you still have issues, please send us an email on %s for "
|
6282 |
"assistance."
|
6283 |
msgstr ""
|
6284 |
|
6285 |
+
#: wp-security-audit-log.php:933
|
6286 |
msgid "support@wpsecurityauditlog.com"
|
6287 |
msgstr ""
|
6288 |
|
6289 |
+
#: wp-security-audit-log.php:1584
|
6290 |
msgid "Every 6 hours"
|
6291 |
msgstr ""
|
6292 |
|
6293 |
+
#: wp-security-audit-log.php:1588
|
6294 |
msgid "Every 45 minutes"
|
6295 |
msgstr ""
|
6296 |
|
6297 |
+
#: wp-security-audit-log.php:1592
|
6298 |
msgid "Every 30 minutes"
|
6299 |
msgstr ""
|
6300 |
|
6301 |
+
#: wp-security-audit-log.php:1596
|
6302 |
msgid "Every 15 minutes"
|
6303 |
msgstr ""
|
6304 |
|
6305 |
+
#: wp-security-audit-log.php:1600
|
6306 |
msgid "Every 10 minutes"
|
6307 |
msgstr ""
|
6308 |
|
6309 |
+
#: wp-security-audit-log.php:1604
|
6310 |
msgid "Every 1 minute"
|
6311 |
msgstr ""
|
6312 |
|
6313 |
#. translators: 1. Deprecated method name 2. Version since deprecated
|
6314 |
+
#: wp-security-audit-log.php:1618
|
6315 |
#, php-format
|
6316 |
msgid "Method %1$s is deprecated since version %2$s!"
|
6317 |
msgstr ""
|
readme.txt
CHANGED
@@ -3,10 +3,10 @@ Contributors: WPWhiteSecurity, robert681
|
|
3 |
Plugin URI: http://www.wpsecurityauditlog.com
|
4 |
License: GPLv3
|
5 |
License URI: http://www.gnu.org/licenses/gpl.html
|
6 |
-
Tags: wordpress security plugin, wordpress security audit log, audit log, activity logs, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, wordpress security monitor, wordpress admin, wordpress admin monitoring, user activity, admin, multisite, dashboard, notification, wordpress monitoring, email notification, wordpress email alerts, tracking, user tracking, user activity report, wordpress audit trail
|
7 |
Requires at least: 3.6
|
8 |
-
Tested up to: 5.1.
|
9 |
-
Stable tag: 3.
|
10 |
Requires PHP: 5.4.43
|
11 |
|
12 |
An easy to use & comprehensive WordPress activity log plugin to log all changes on WordPress sites & multisite networks.
|
@@ -75,11 +75,12 @@ Refer to [WordPress Activity Log Events](https://www.wpsecurityauditlog.com/supp
|
|
75 |
* Log off any user with just a click,
|
76 |
* Generate HTML and CSV reports,
|
77 |
* Export the activity log in CSV (ideal for integrations),
|
78 |
-
* Get
|
|
|
79 |
* Search the activity log using text-based searches,
|
80 |
* Use built-in filters to fine tune the searches,
|
81 |
* Store activity log in an external database to improve security,
|
82 |
-
*
|
83 |
* Configure archiving and mirroring of logs.
|
84 |
|
85 |
See our [premium features page](https://www.wpsecurityauditlog.com/premium-features/) for more detailed information.
|
@@ -195,19 +196,42 @@ Please refer to our [Support & Documentation pages](https://www.wpsecurityauditl
|
|
195 |
|
196 |
== Changelog ==
|
197 |
|
198 |
-
Release notes: [
|
199 |
|
200 |
-
= 3.
|
201 |
|
202 |
-
* **New
|
203 |
-
*
|
204 |
-
*
|
205 |
-
*
|
206 |
-
*
|
207 |
-
|
|
|
|
|
|
|
|
|
208 |
|
209 |
* **Plugin Improvements**
|
210 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
|
212 |
* **Bug Fixes**
|
213 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
Plugin URI: http://www.wpsecurityauditlog.com
|
4 |
License: GPLv3
|
5 |
License URI: http://www.gnu.org/licenses/gpl.html
|
6 |
+
Tags: wordpress security plugin, wordpress security audit log, audit log, activity logs, event log wordpress, wordpress user tracking, wordpress activity log, wordpress audit, security event log, audit trail, wordpress security monitor, wordpress admin, wordpress admin monitoring, user activity, admin, multisite, dashboard, notification, wordpress monitoring, email notification, wordpress email alerts, SMS messages, tracking, user tracking, user activity report, wordpress audit trail
|
7 |
Requires at least: 3.6
|
8 |
+
Tested up to: 5.1.1
|
9 |
+
Stable tag: 3.4
|
10 |
Requires PHP: 5.4.43
|
11 |
|
12 |
An easy to use & comprehensive WordPress activity log plugin to log all changes on WordPress sites & multisite networks.
|
75 |
* Log off any user with just a click,
|
76 |
* Generate HTML and CSV reports,
|
77 |
* Export the activity log in CSV (ideal for integrations),
|
78 |
+
* Get notified via email of important changes,
|
79 |
+
* Get instant SMS message notifications of critical site changes,
|
80 |
* Search the activity log using text-based searches,
|
81 |
* Use built-in filters to fine tune the searches,
|
82 |
* Store activity log in an external database to improve security,
|
83 |
+
* Mirror the WordPress activity logs to Slack, Papertrail, Syslog and other central log management and collaboration solutions,
|
84 |
* Configure archiving and mirroring of logs.
|
85 |
|
86 |
See our [premium features page](https://www.wpsecurityauditlog.com/premium-features/) for more detailed information.
|
196 |
|
197 |
== Changelog ==
|
198 |
|
199 |
+
Release notes: [Announcing SMS Notifications for the WordPress audit logs](https://www.wpsecurityauditlog.com/releases/update-3-4-sms-notifications-integration/)
|
200 |
|
201 |
+
= 3.4 (2019-04-03) =
|
202 |
|
203 |
+
* **New Features**
|
204 |
+
* [SMS notifications (integration with Twilio)](https://www.wpsecurityauditlog.com/support-documentation/configure-plugin-send-sms/) for the WordPress audit logs.
|
205 |
+
* Integration with Bit.ly to shorten URL in SMSs.
|
206 |
+
* Added buttons to test email and SMS notifications.
|
207 |
+
* Support for User Switching plugin.
|
208 |
+
|
209 |
+
* **New Activity Log Event IDs**
|
210 |
+
* Event ID 1008: user logged in as another user.
|
211 |
+
* Event ID 9083: user changed the billing address (WooCommerce).
|
212 |
+
* Event ID 9084: user changed the shipping address (WooCommerce).
|
213 |
|
214 |
* **Plugin Improvements**
|
215 |
+
* Added more pre-configured SMS & email notifications.
|
216 |
+
* Improved all sensors to also detect changes that are not done via the dashboard.
|
217 |
+
* Optimized some metadata database queries (reduced qeuries by 75%).
|
218 |
+
* Improved the content sensor (better detection of content changes).
|
219 |
+
* Optimized the database query that fetches list of logged in users.
|
220 |
+
* Removed email notifications wizard.
|
221 |
+
* Standardized all tabs and titles in the [Emails & SMS Notifications](https://www.wpsecurityauditlog.com/premium-features/email-notifications-wordpress-activity-log/) feature.
|
222 |
+
* Improved the help text in the Emails & SMS Notifications feature.
|
223 |
+
* Removed the limit of 5 criteria in the notifications trigger builder.
|
224 |
+
* Removed declaration of emails' Mime-type - this is automatically set so there is no need for it.
|
225 |
|
226 |
* **Bug Fixes**
|
227 |
+
* WooCommerce order name was not reported in event ID 9040 (changed order detail) in some edge cases.
|
228 |
+
* Maximum execution time configured in the [WordPress activity log reports](https://www.wpsecurityauditlog.com/premium-features/reports-wordpress-activity-log/) engine now is only used when generating a report.
|
229 |
+
* CSV reports were not being generated.
|
230 |
+
* Audit trail auto refresh was not working when using infinite scroll viewer option.
|
231 |
+
* Plugin reporting event 9032 (disabled use of WooCommerce coupons) by mistake.
|
232 |
+
* Event IDs 2046 and 2051 were not being reported when files were modified via the editors.
|
233 |
+
* Plugin reporting event 2002 when there were changes in a post's Yoast SEO metabox.
|
234 |
+
* Removed all reference to obsolete plugin setting: wsal-archiving-date-e.
|
235 |
+
* Admins on multisite child sites could see the activity logs of other sites.
|
236 |
+
* Event ID 2073 (post submitted for review) was not being reported in Gutenberg.
|
237 |
+
* Event 2074 (scheduled post) was not being reported in Gutenberg.
|
sdk/freemius/includes/class-freemius.php
CHANGED
@@ -11351,7 +11351,7 @@
|
|
11351 |
);
|
11352 |
|
11353 |
if ( false !== $error ) {
|
11354 |
-
$result['error'] = $error;
|
11355 |
} else {
|
11356 |
$result['next_page'] = $next_page;
|
11357 |
}
|
11351 |
);
|
11352 |
|
11353 |
if ( false !== $error ) {
|
11354 |
+
$result['error'] = $this->apply_filters( 'opt_in_error_message', $error );
|
11355 |
} else {
|
11356 |
$result['next_page'] = $next_page;
|
11357 |
}
|
wp-security-audit-log.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin URI: http://www.wpsecurityauditlog.com/
|
5 |
* Description: Identify WordPress security issues before they become a problem. Keep track of everything happening on your WordPress including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log generates a security alert for everything that happens on your WordPress blogs and websites. Use the Audit Log Viewer included in the plugin to see all the security alerts.
|
6 |
* Author: WP White Security
|
7 |
-
* Version: 3.
|
8 |
* Text Domain: wp-security-audit-log
|
9 |
* Author URI: http://www.wpwhitesecurity.com/
|
10 |
* License: GPL2
|
@@ -54,11 +54,11 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
|
|
54 |
*
|
55 |
* @var string
|
56 |
*/
|
57 |
-
public $version = '3.
|
58 |
|
59 |
// Plugin constants.
|
60 |
const PLG_CLS_PRFX = 'WSAL_';
|
61 |
-
const MIN_PHP_VERSION = '5.
|
62 |
const OPT_PRFX = 'wsal-';
|
63 |
|
64 |
/**
|
@@ -238,7 +238,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
|
|
238 |
register_activation_hook( __FILE__, array( $this, 'Install' ) );
|
239 |
|
240 |
// Listen for init event.
|
241 |
-
add_action( 'init', array( $this, 'init' ) );
|
242 |
|
243 |
// Listen for cleanup event.
|
244 |
add_action( 'wsal_cleanup', array( $this, 'CleanUp' ) );
|
@@ -284,6 +284,8 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
|
|
284 |
wsal_freemius()->add_filter( 'show_admin_notice', array( $this, 'freemius_show_admin_notice' ), 10, 2 );
|
285 |
wsal_freemius()->add_filter( 'show_delegation_option', '__return_false' );
|
286 |
wsal_freemius()->add_filter( 'enable_per_site_activation', '__return_false' );
|
|
|
|
|
287 |
}
|
288 |
|
289 |
/**
|
@@ -397,6 +399,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
|
|
397 |
'target' => array(),
|
398 |
),
|
399 |
'br' => array(),
|
|
|
400 |
'em' => array(),
|
401 |
'strong' => array(),
|
402 |
'p' => array(
|
@@ -567,6 +570,23 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
|
|
567 |
return false;
|
568 |
}
|
569 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
570 |
/**
|
571 |
* Start to trigger the events after installation.
|
572 |
*
|
@@ -1305,7 +1325,7 @@ if ( ! function_exists( 'wsal_freemius' ) ) {
|
|
1305 |
* Set a global option.
|
1306 |
*
|
1307 |
* @param string $option - Option name.
|
1308 |
-
* @param mixed $value
|
1309 |
* @param string $prefix - (Optional) A prefix used before option name.
|
1310 |
*/
|
1311 |
public function SetGlobalOption( $option, $value, $prefix = self::OPT_PRFX ) {
|
4 |
* Plugin URI: http://www.wpsecurityauditlog.com/
|
5 |
* Description: Identify WordPress security issues before they become a problem. Keep track of everything happening on your WordPress including WordPress users activity. Similar to Windows Event Log and Linux Syslog, WP Security Audit Log generates a security alert for everything that happens on your WordPress blogs and websites. Use the Audit Log Viewer included in the plugin to see all the security alerts.
|
6 |
* Author: WP White Security
|
7 |
+
* Version: 3.4
|
8 |
* Text Domain: wp-security-audit-log
|
9 |
* Author URI: http://www.wpwhitesecurity.com/
|
10 |
* License: GPL2
|
54 |
*
|
55 |
* @var string
|
56 |
*/
|
57 |
+
public $version = '3.4';
|
58 |
|
59 |
// Plugin constants.
|
60 |
const PLG_CLS_PRFX = 'WSAL_';
|
61 |
+
const MIN_PHP_VERSION = '5.5.0';
|
62 |
const OPT_PRFX = 'wsal-';
|
63 |
|
64 |
/**
|
238 |
register_activation_hook( __FILE__, array( $this, 'Install' ) );
|
239 |
|
240 |
// Listen for init event.
|
241 |
+
add_action( 'init', array( $this, 'init' ), 5 );
|
242 |
|
243 |
// Listen for cleanup event.
|
244 |
add_action( 'wsal_cleanup', array( $this, 'CleanUp' ) );
|
284 |
wsal_freemius()->add_filter( 'show_admin_notice', array( $this, 'freemius_show_admin_notice' ), 10, 2 );
|
285 |
wsal_freemius()->add_filter( 'show_delegation_option', '__return_false' );
|
286 |
wsal_freemius()->add_filter( 'enable_per_site_activation', '__return_false' );
|
287 |
+
wsal_freemius()->add_filter( 'show_trial', '__return_false' );
|
288 |
+
wsal_freemius()->add_filter( 'opt_in_error_message', array( $this, 'limited_license_activation_error' ), 10, 1 );
|
289 |
}
|
290 |
|
291 |
/**
|
399 |
'target' => array(),
|
400 |
),
|
401 |
'br' => array(),
|
402 |
+
'code' => array(),
|
403 |
'em' => array(),
|
404 |
'strong' => array(),
|
405 |
'p' => array(
|
570 |
return false;
|
571 |
}
|
572 |
|
573 |
+
/**
|
574 |
+
* Limited License Activation Error.
|
575 |
+
*
|
576 |
+
* @param string $error - Error Message.
|
577 |
+
* @return string
|
578 |
+
*/
|
579 |
+
public function limited_license_activation_error( $error ) {
|
580 |
+
$site_count = null;
|
581 |
+
preg_match( '!\d+!', $error, $site_count );
|
582 |
+
|
583 |
+
if ( ! empty( $site_count[0] ) ) {
|
584 |
+
/* Translators: Number of sites */
|
585 |
+
$error = sprintf( esc_html__( 'The license is limited to %s sub-sites. You need to upgrade your license to cover all the sub-sites on this network.', 'wp-security-audit-log' ), $site_count[0] );
|
586 |
+
}
|
587 |
+
return $error;
|
588 |
+
}
|
589 |
+
|
590 |
/**
|
591 |
* Start to trigger the events after installation.
|
592 |
*
|
1325 |
* Set a global option.
|
1326 |
*
|
1327 |
* @param string $option - Option name.
|
1328 |
+
* @param mixed $value - New value for option.
|
1329 |
* @param string $prefix - (Optional) A prefix used before option name.
|
1330 |
*/
|
1331 |
public function SetGlobalOption( $option, $value, $prefix = self::OPT_PRFX ) {
|