public function ActiveSiteAlertsCacheContext::getContext in Site Alert 8
Returns the string representation of the cache context.
A cache context service's name is used as a token (placeholder) cache key, and is then replaced with the string returned by this method.
Return value
string The string representation of the cache context.
Overrides CacheContextInterface::getContext
File
- src/
Cache/ Context/ ActiveSiteAlertsCacheContext.php, line 78
Class
- ActiveSiteAlertsCacheContext
- A cache context that varies by the currently active site alerts.
Namespace
Drupal\site_alert\Cache\ContextCode
public function getContext() {
// Due to cache metadata bubbling this can be called often. Only compute the
// hash once.
if (empty($this->hash)) {
// Retrieve the IDs of the currently active site alerts.
$ids = $this->getAlerts
->getActiveAlertIds();
// Return a human readable string if there are no active alerts.
if (empty($ids)) {
return self::NO_ACTIVE_ALERTS;
}
// Sort the IDs, so that the same key can be generated even if the IDs
// would be returned in a different order.
sort($ids);
// Generate a hash that uniquely identifies the currently active alerts.
$this->hash = hash('sha256', $this->privateKey
->get() . Settings::getHashSalt() . serialize($ids));
}
return $this->hash;
}