function event_log_track_menu_form_submit in Events Log Track 8
Same name and namespace in other branches
- 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;
}