activity_types = include plugin_dir_path( ATKAI_PLUGIN_FILE ) . '/activities/types.php';
$this->logger = $logger;
add_action( 'wp_update_nav_menu', array( $this, 'atk_menu_created_or_updated' ), 10, 1 );
add_action( 'wp_create_nav_menu', array( $this, 'atk_menu_created_or_updated' ), 10, 1 );
add_action( 'delete_nav_menu', array( $this, 'atk_menu_deleted' ), 10, 3 );
}
public function atk_menu_created_or_updated( $menu_id ) {
if (!self::$already_run) {
if ( $menu_obj = wp_get_nav_menu_object( $menu_id ) ) {
if ( 'wp_create_nav_menu' === current_filter() ) {
$activity = 'creation';
} else {
$activity = 'edit';
}
$activity_type = $this->activity_types['menu'][$activity];
$user_id = get_current_user_id(); // Get the current user ID
$menu_name = ($menu_obj && !is_wp_error($menu_obj)) ? 'Menu changes to: '. $menu_obj->name .'' : 'Menu changes with id: '. $menu_id;
$this->logger->insert_log(
$user_id,
'Menu',
$activity_type,
$menu_name,
$activity
);
}
self::$already_run = true;
}
}
public function atk_menu_deleted( $menu_id, $menu_data, $args) {
$menu_obj = wp_get_nav_menu_object( $menu_id );
$menu_name = ($menu_obj && !is_wp_error($menu_obj)) ? 'Menu deleted: '. $menu_obj->name .'' : 'Menu deleted with id: '. $menu_id;
$activity_type = $this->activity_types['menu']['deletion'];
$user_id = get_current_user_id(); // Get the current user ID
$this->logger->insert_log(
$user_id,
'Menu',
$activity_type,
$menu_name,
'deletion'
);
}
}