QueryParameterWorkspaceNegotiator.php in Drupal 10
File
core/modules/workspaces/src/Negotiator/QueryParameterWorkspaceNegotiator.php
View source
<?php
namespace Drupal\workspaces\Negotiator;
use Symfony\Component\HttpFoundation\Request;
class QueryParameterWorkspaceNegotiator extends SessionWorkspaceNegotiator {
public function applies(Request $request) {
return is_string($request->query
->get('workspace')) && parent::applies($request);
}
public function getActiveWorkspace(Request $request) {
$workspace_id = $request->query
->get('workspace');
if ($workspace_id && ($workspace = $this->workspaceStorage
->load($workspace_id))) {
$this
->setActiveWorkspace($workspace);
return $workspace;
}
return NULL;
}
}