You are here

function admin_audit_trail_insert in Admin Audit Trail 1.0.x

Inserts the log record in the admin audit trail. Sets the lid.

Parameters

array $log: The log record to be saved. This record contains the following fields:

  • {string} type The event type. This is usually the object type that is described by this event. Example: 'node' or 'user'. Required.
  • {string} operation The operation being performed. Example: 'insert'. Required.
  • {string} description A textual description of the event. Required.
  • {string} ref_numeric Reference to numeric id. Optional.
  • {string} ref_char Reference to alphabetical id. Optional.
35 calls to admin_audit_trail_insert()
admin_audit_trail_auth_user_login_validate in admin_audit_trail_auth/admin_audit_trail_auth.module
Implements hook_form_FORM_ID_validate().
admin_audit_trail_auth_user_logout in admin_audit_trail_auth/admin_audit_trail_auth.module
Implements hook_user_logout().
admin_audit_trail_block_content_block_content_delete in admin_audit_trail_block_content/admin_audit_trail_block_content.module
Implements hook_ENTITY_TYPE_delete().
admin_audit_trail_block_content_block_content_insert in admin_audit_trail_block_content/admin_audit_trail_block_content.module
Implements hook_ENTITY_TYPE_insert().
admin_audit_trail_block_content_block_content_update in admin_audit_trail_block_content/admin_audit_trail_block_content.module
Implements hook_ENTITY_TYPE_update().

... See full list

File

./admin_audit_trail.module, line 64
Track the logs of form submissions or other actions that performed by user.

Code

function admin_audit_trail_insert(array &$log) {
  if (PHP_SAPI == 'cli') {

    // Ignore CLI requests.
    return;
  }
  if (empty($log['created'])) {
    $log['created'] = \Drupal::time()
      ->getRequestTime();
  }
  if (empty($log['uid'])) {
    $account = \Drupal::currentUser();
    $log['uid'] = $account
      ->id();
  }
  $ip = Drupal::request()
    ->getClientIp();
  if (empty($log['ip']) && !empty($ip)) {
    $log['ip'] = $ip;
  }
  if (empty($log['path'])) {
    $log['path'] = Url::fromRoute('<current>')
      ->getInternalPath();
  }
  if (empty($log['ref_numeric'])) {
    $log['ref_numeric'] = NULL;
  }
  \Drupal::database()
    ->merge('admin_audit_trail')
    ->key('lid')
    ->fields([
    'type' => $log['type'],
    'operation' => $log['operation'],
    'description' => $log['description'],
    'created' => $log['created'],
    'uid' => $log['uid'],
    'ip' => $log['ip'],
    'path' => $log['path'],
    'ref_char' => $log['ref_char'],
    'ref_numeric' => $log['ref_numeric'],
  ])
    ->execute();
}