PHP code example of superbig / craft-audit
1. Go to this page and download the library: Download superbig/craft-audit library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
superbig / craft-audit example snippets
return [
// How many days to keep log entries (default: 30)
'pruneDays' => 30,
// Master switch for logging
'enabled' => true,
// Toggle event categories
'logElementEvents' => true,
'logChildElementEvents' => false,
'logDraftEvents' => false,
'logPluginEvents' => true,
'logUserEvents' => true,
'logRouteEvents' => true,
'logUserSecurityEvents' => true,
'logPermissionEvents' => true,
'logSchemaEvents' => true,
'logDatabaseEvents' => true,
// Auto-prune on admin CP requests
'pruneRecordsOnAdminRequests' => false,
// Geolocation (
return [
'enabledGeolocation' => true,
'maxmindAccountId' => getenv('MAXMIND_ACCOUNT_ID'),
'maxmindLicenseKey' => getenv('MAXMIND_LICENSE_KEY'),
];
use superbig\audit\services\AuditService;
use superbig\audit\events\BeforeLogEvent;
Event::on(
AuditService::class,
AuditService::EVENT_BEFORE_LOG,
function(BeforeLogEvent $event) {
// Skip audit for bot traffic
if (str_contains($event->audit->userAgent ?? '', 'Googlebot')) {
$event->isValid = false;
}
}
);
use superbig\audit\services\AuditService;
use superbig\audit\events\RegisterEventTypesEvent;
Event::on(
AuditService::class,
AuditService::EVENT_REGISTER_EVENT_TYPES,
function(RegisterEventTypesEvent $event) {
$event->eventTypes['order-completed'] = [
'label' => 'Order completed',
'category' => 'Commerce',
];
$event->eventTypes['payment-received'] = [
'label' => 'Payment received',
'category' => 'Commerce',
];
}
);
use superbig\audit\services\AuditService;
use superbig\audit\events\ShouldLogEvent;
Event::on(
AuditService::class,
AuditService::EVENT_DEFINE_SHOULD_LOG,
function(ShouldLogEvent $event) {
// Never log Asset saves
if ($event->element instanceof \craft\elements\Asset) {
$event->shouldLog = false;
}
}
);
use superbig\audit\services\AuditService;
use superbig\audit\events\SnapshotEvent;
Event::on(
AuditService::class,
AuditService::EVENT_SNAPSHOT,
function(SnapshotEvent $event) {
$event->snapshot['customField'] = 'custom value';
}
);