You are here

class ToolbarController in Admin Toolbar 3.x

Same name and namespace in other branches
  1. 8.2 admin_toolbar_tools/src/Controller/ToolbarController.php \Drupal\admin_toolbar_tools\Controller\ToolbarController
  2. 8 admin_toolbar_tools/src/Controller/ToolbarController.php \Drupal\admin_toolbar_tools\Controller\ToolbarController

Class ToolbarController.

@package Drupal\admin_toolbar_tools\Controller

Hierarchy

Expanded class hierarchy of ToolbarController

File

admin_toolbar_tools/src/Controller/ToolbarController.php, line 25

Namespace

Drupal\admin_toolbar_tools\Controller
View source
class ToolbarController extends ControllerBase {

  /**
   * A cron instance.
   *
   * @var \Drupal\Core\CronInterface
   */
  protected $cron;

  /**
   * A menu link manager instance.
   *
   * @var \Drupal\Core\Menu\MenuLinkManagerInterface
   */
  protected $menuLinkManager;

  /**
   * A context link manager instance.
   *
   * @var \Drupal\Core\Menu\ContextualLinkManager
   */
  protected $contextualLinkManager;

  /**
   * A local task manager instance.
   *
   * @var \Drupal\Core\Menu\LocalTaskManager
   */
  protected $localTaskLinkManager;

  /**
   * A local action manager instance.
   *
   * @var \Drupal\Core\Menu\LocalActionManager
   */
  protected $localActionLinkManager;

  /**
   * A cache backend interface instance.
   *
   * @var \Drupal\Core\Cache\CacheBackendInterface
   */
  protected $cacheRender;

  /**
   * A date time instance.
   *
   * @var \Drupal\Component\Datetime\TimeInterface
   */
  protected $time;

  /**
   * A request stack symfony instance.
   *
   * @var \Symfony\Component\HttpFoundation\RequestStack
   */
  protected $requestStack;

  /**
   * A plugin cache clear instance.
   *
   * @var \Drupal\Core\Plugin\CachedDiscoveryClearerInterface
   */
  protected $pluginCacheClearer;

  /**
   * The cache menu instance.
   *
   * @var \Drupal\Core\Cache\CacheBackendInterface
   */
  protected $cacheMenu;

  /**
   * A TwigEnvironment instance.
   *
   * @var \Drupal\Core\Template\TwigEnvironment
   */
  protected $twig;

  /**
   * The search theme.registry service.
   *
   * @var \Drupal\Core\Theme\Registry
   */
  protected $themeRegistry;

  /**
   * Constructs a ToolbarController object.
   *
   * @param \Drupal\Core\CronInterface $cron
   *   A cron instance.
   * @param \Drupal\Core\Menu\MenuLinkManagerInterface $menuLinkManager
   *   A menu link manager instance.
   * @param \Drupal\Core\Menu\ContextualLinkManager $contextualLinkManager
   *   A context link manager instance.
   * @param \Drupal\Core\Menu\LocalTaskManager $localTaskLinkManager
   *   A local task manager instance.
   * @param \Drupal\Core\Menu\LocalActionManager $localActionLinkManager
   *   A local action manager instance.
   * @param \Drupal\Core\Cache\CacheBackendInterface $cacheRender
   *   A cache backend interface instance.
   * @param \Drupal\Component\Datetime\TimeInterface $time
   *   A date time instance.
   * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
   *   A request stack symfony instance.
   * @param \Drupal\Core\Plugin\CachedDiscoveryClearerInterface $plugin_cache_clearer
   *   A plugin cache clear instance.
   * @param \Drupal\Core\Cache\CacheBackendInterface $cache_menu
   *   A cache menu instance.
   * @param \Drupal\Core\Template\TwigEnvironment $twig
   *   A TwigEnvironment instance.
   * @param \Drupal\Core\Theme\Registry $theme_registry
   *   The theme.registry service.
   */
  public function __construct(CronInterface $cron, MenuLinkManagerInterface $menuLinkManager, ContextualLinkManager $contextualLinkManager, LocalTaskManager $localTaskLinkManager, LocalActionManager $localActionLinkManager, CacheBackendInterface $cacheRender, TimeInterface $time, RequestStack $request_stack, CachedDiscoveryClearerInterface $plugin_cache_clearer, CacheBackendInterface $cache_menu, TwigEnvironment $twig, Registry $theme_registry) {
    $this->cron = $cron;
    $this->menuLinkManager = $menuLinkManager;
    $this->contextualLinkManager = $contextualLinkManager;
    $this->localTaskLinkManager = $localTaskLinkManager;
    $this->localActionLinkManager = $localActionLinkManager;
    $this->cacheRender = $cacheRender;
    $this->time = $time;
    $this->requestStack = $request_stack;
    $this->pluginCacheClearer = $plugin_cache_clearer;
    $this->cacheMenu = $cache_menu;
    $this->twig = $twig;
    $this->themeRegistry = $theme_registry;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container) {
    return new static($container
      ->get('cron'), $container
      ->get('plugin.manager.menu.link'), $container
      ->get('plugin.manager.menu.contextual_link'), $container
      ->get('plugin.manager.menu.local_task'), $container
      ->get('plugin.manager.menu.local_action'), $container
      ->get('cache.render'), $container
      ->get('datetime.time'), $container
      ->get('request_stack'), $container
      ->get('plugin.cache_clearer'), $container
      ->get('cache.menu'), $container
      ->get('twig'), $container
      ->get('theme.registry'));
  }

  /**
   * Reload the previous page.
   */
  public function reloadPage() {
    $request = $this->requestStack
      ->getCurrentRequest();
    if ($request->server
      ->get('HTTP_REFERER')) {
      return $request->server
        ->get('HTTP_REFERER');
    }
    else {
      return base_path();
    }
  }

  /**
   * Flushes all caches.
   */
  public function flushAll() {
    $this
      ->messenger()
      ->addMessage($this
      ->t('All caches cleared.'));
    drupal_flush_all_caches();
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Flushes css and javascript caches.
   */
  public function flushJsCss() {
    $this
      ->state()
      ->set('system.css_js_query_string', base_convert($this->time
      ->getCurrentTime(), 10, 36));
    $this
      ->messenger()
      ->addMessage($this
      ->t('CSS and JavaScript cache cleared.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Flushes plugins caches.
   */
  public function flushPlugins() {
    $this->pluginCacheClearer
      ->clearCachedDefinitions();
    $this
      ->messenger()
      ->addMessage($this
      ->t('Plugins cache cleared.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Resets all static caches.
   */
  public function flushStatic() {
    drupal_static_reset();
    $this
      ->messenger()
      ->addMessage($this
      ->t('Static cache cleared.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Clears all cached menu data.
   */
  public function flushMenu() {
    $this->cacheMenu
      ->invalidateAll();
    $this->menuLinkManager
      ->rebuild();
    $this->contextualLinkManager
      ->clearCachedDefinitions();
    $this->localTaskLinkManager
      ->clearCachedDefinitions();
    $this->localActionLinkManager
      ->clearCachedDefinitions();
    $this
      ->messenger()
      ->addMessage($this
      ->t('Routing and links cache cleared.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Clears all cached views data.
   */
  public function flushViews() {
    views_invalidate_cache();
    $this
      ->messenger()
      ->addMessage($this
      ->t('Views cache cleared.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Clears the twig cache.
   */
  public function flushTwig() {
    $this->twig
      ->invalidate();
    $this
      ->messenger()
      ->addMessage($this
      ->t('Twig cache cleared.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Run the cron.
   */
  public function runCron() {
    $this->cron
      ->run();
    $this
      ->messenger()
      ->addMessage($this
      ->t('Cron ran successfully.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Clear the rendered cache.
   */
  public function cacheRender() {
    $this->cacheRender
      ->invalidateAll();
    $this
      ->messenger()
      ->addMessage($this
      ->t('Render cache cleared.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

  /**
   * Rebuild the theme registry.
   */
  public function themeRebuild() {
    $this->themeRegistry
      ->reset();
    $this
      ->messenger()
      ->addMessage($this
      ->t('Theme registry rebuilded.'));
    return new RedirectResponse($this
      ->reloadPage());
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ControllerBase::$configFactory protected property The configuration factory.
ControllerBase::$currentUser protected property The current user service. 1
ControllerBase::$entityFormBuilder protected property The entity form builder.
ControllerBase::$entityTypeManager protected property The entity type manager.
ControllerBase::$formBuilder protected property The form builder. 2
ControllerBase::$keyValue protected property The key-value storage. 1
ControllerBase::$languageManager protected property The language manager. 1
ControllerBase::$moduleHandler protected property The module handler. 2
ControllerBase::$stateService protected property The state service.
ControllerBase::cache protected function Returns the requested cache bin.
ControllerBase::config protected function Retrieves a configuration object.
ControllerBase::container private function Returns the service container.
ControllerBase::currentUser protected function Returns the current user. 1
ControllerBase::entityFormBuilder protected function Retrieves the entity form builder.
ControllerBase::entityTypeManager protected function Retrieves the entity type manager.
ControllerBase::formBuilder protected function Returns the form builder service. 2
ControllerBase::keyValue protected function Returns a key/value storage collection. 1
ControllerBase::languageManager protected function Returns the language manager service. 1
ControllerBase::moduleHandler protected function Returns the module handler. 2
ControllerBase::redirect protected function Returns a redirect response object for the specified route.
ControllerBase::state protected function Returns the state storage service.
LoggerChannelTrait::$loggerFactory protected property The logger channel factory service.
LoggerChannelTrait::getLogger protected function Gets the logger for a specific channel.
LoggerChannelTrait::setLoggerFactory public function Injects the logger channel factory.
MessengerTrait::$messenger protected property The messenger. 27
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
RedirectDestinationTrait::getDestinationArray protected function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
RedirectDestinationTrait::getRedirectDestination protected function Returns the redirect destination service.
RedirectDestinationTrait::setRedirectDestination public function Sets the redirect destination service.
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
ToolbarController::$cacheMenu protected property The cache menu instance.
ToolbarController::$cacheRender protected property A cache backend interface instance.
ToolbarController::$contextualLinkManager protected property A context link manager instance.
ToolbarController::$cron protected property A cron instance.
ToolbarController::$localActionLinkManager protected property A local action manager instance.
ToolbarController::$localTaskLinkManager protected property A local task manager instance.
ToolbarController::$menuLinkManager protected property A menu link manager instance.
ToolbarController::$pluginCacheClearer protected property A plugin cache clear instance.
ToolbarController::$requestStack protected property A request stack symfony instance.
ToolbarController::$themeRegistry protected property The search theme.registry service.
ToolbarController::$time protected property A date time instance.
ToolbarController::$twig protected property A TwigEnvironment instance.
ToolbarController::cacheRender public function Clear the rendered cache.
ToolbarController::create public static function Instantiates a new instance of this class. Overrides ControllerBase::create
ToolbarController::flushAll public function Flushes all caches.
ToolbarController::flushJsCss public function Flushes css and javascript caches.
ToolbarController::flushMenu public function Clears all cached menu data.
ToolbarController::flushPlugins public function Flushes plugins caches.
ToolbarController::flushStatic public function Resets all static caches.
ToolbarController::flushTwig public function Clears the twig cache.
ToolbarController::flushViews public function Clears all cached views data.
ToolbarController::reloadPage public function Reload the previous page.
ToolbarController::runCron public function Run the cron.
ToolbarController::themeRebuild public function Rebuild the theme registry.
ToolbarController::__construct public function Constructs a ToolbarController object.