UserTrackerTab.php

Same filename and directory in other branches
  1. 8.9.x core/modules/tracker/src/Plugin/Menu/UserTrackerTab.php
  2. 10 core/modules/tracker/src/Plugin/Menu/UserTrackerTab.php
  3. 11.x core/modules/tracker/src/Plugin/Menu/UserTrackerTab.php

Namespace

Drupal\tracker\Plugin\Menu

File

core/modules/tracker/src/Plugin/Menu/UserTrackerTab.php

View source
<?php

namespace Drupal\tracker\Plugin\Menu;

use Drupal\Core\Menu\LocalTaskDefault;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Session\AccountInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Provides route parameters needed to link to the current user tracker tab.
 */
class UserTrackerTab extends LocalTaskDefault implements ContainerFactoryPluginInterface {
    
    /**
     * Current user object.
     *
     * @var \Drupal\Core\Session\AccountInterface
     */
    protected $currentUser;
    
    /**
     * Construct the UserTrackerTab object.
     *
     * @param array $configuration
     *   A configuration array containing information about the plugin instance.
     * @param string $plugin_id
     *   The plugin_id for the plugin instance.
     * @param array $plugin_definition
     *   The plugin implementation definition.
     * @param \Drupal\Core\Session\AccountInterface $current_user
     *   The current user.
     */
    public function __construct(array $configuration, $plugin_id, array $plugin_definition, AccountInterface $current_user) {
        parent::__construct($configuration, $plugin_id, $plugin_definition);
        $this->currentUser = $current_user;
    }
    
    /**
     * {@inheritdoc}
     */
    public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
        return new static($configuration, $plugin_id, $plugin_definition, $container->get('current_user'));
    }
    
    /**
     * {@inheritdoc}
     */
    public function getRouteParameters(RouteMatchInterface $route_match) {
        return [
            'user' => $this->currentUser
                ->id(),
        ];
    }

}

Classes

Title Deprecated Summary
UserTrackerTab Provides route parameters needed to link to the current user tracker tab.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.