Mercurial > hg > isophonics-drupal-site
view core/modules/workspaces/src/WorkspaceCacheContext.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | |
children |
line wrap: on
line source
<?php namespace Drupal\workspaces; use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Cache\Context\CacheContextInterface; /** * Defines the WorkspaceCacheContext service, for "per workspace" caching. * * Cache context ID: 'workspace'. */ class WorkspaceCacheContext implements CacheContextInterface { /** * The workspace manager. * * @var \Drupal\workspaces\WorkspaceManagerInterface */ protected $workspaceManager; /** * Constructs a new WorkspaceCacheContext service. * * @param \Drupal\workspaces\WorkspaceManagerInterface $workspace_manager * The workspace manager. */ public function __construct(WorkspaceManagerInterface $workspace_manager) { $this->workspaceManager = $workspace_manager; } /** * {@inheritdoc} */ public static function getLabel() { return t('Workspace'); } /** * {@inheritdoc} */ public function getContext() { return $this->workspaceManager->getActiveWorkspace()->id(); } /** * {@inheritdoc} */ public function getCacheableMetadata($type = NULL) { // The active workspace will always be stored in the user's session. $cacheability = new CacheableMetadata(); $cacheability->addCacheContexts(['session']); return $cacheability; } }