You are here

function event_log_track_menu_form_submit in Events Log Track 8

Same name and namespace in other branches
  1. 8.2 event_log_track_menu/event_log_track_menu.module \event_log_track_menu_form_submit()

Event log callback for the user authentication event log.

Return value

array Return an associative array to log data in database.

1 string reference to 'event_log_track_menu_form_submit'
event_log_track_menu_event_log_track_handlers in event_log_track_menu/event_log_track_menu.module
Implements hook_event_log_track_handlers().

File

event_log_track_menu/event_log_track_menu.module, line 33
Logs menu CUD commands in the event_log_track module.

Code

function event_log_track_menu_form_submit(array &$form, FormStateInterface $form_state, $form_id) {
  $log = NULL;
  switch ($form_id) {
    case 'menu_link_content_menu_link_content_form':
      $menu = $form_state
        ->getValues();
      $get_title = $menu['title'][0]['value'];
      $get_path = $menu['link'][0]['uri'];
      $get_menu_parent = substr($menu['menu_parent'], 0, -1);
      $route_parameters = \Drupal::routeMatch()
        ->getParameter('menu_link_content');
      if (empty($route_parameters)) {

        // Insert Menu Link.
        $log = array(
          'operation' => 'link insert',
          'description' => t('%title, %path', array(
            '%title' => $get_title,
            '%path' => $get_path,
          )),
          'ref_char' => $get_menu_parent,
        );
      }
      else {

        // Update Menu Link.
        $log = array(
          'operation' => 'link update',
          'description' => t('%title (%id), %path', array(
            '%title' => $get_title,
            '%id' => $route_parameters
              ->get('id')->value,
            '%path' => $get_path,
          )),
          'ref_numeric' => $route_parameters
            ->get('id')->value,
          'ref_char' => $route_parameters
            ->getMenuName(),
        );
      }
      break;
    case 'menu_link_content_menu_link_content_delete_form':

      // Delete Menu Link.
      $route_parameters = \Drupal::routeMatch()
        ->getParameter('menu_link_content');
      $uri = $route_parameters
        ->get('link')->uri;
      $log = array(
        'operation' => 'link delete',
        'description' => t('%title (%id), %path', array(
          '%title' => $route_parameters
            ->getTitle(),
          '%id' => $route_parameters
            ->get('id')->value,
          '%path' => $uri,
        )),
        'ref_numeric' => $route_parameters
          ->get('id')->value,
        'ref_char' => $route_parameters
          ->getMenuName(),
      );
      break;
  }
  return $log;
}