X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fworkspaces%2Fsrc%2FNegotiator%2FQueryParameterWorkspaceNegotiator.php;fp=web%2Fcore%2Fmodules%2Fworkspaces%2Fsrc%2FNegotiator%2FQueryParameterWorkspaceNegotiator.php;h=a2917cd46b2f2e6a066edebdf32c12a9903afa23;hp=0000000000000000000000000000000000000000;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/web/core/modules/workspaces/src/Negotiator/QueryParameterWorkspaceNegotiator.php b/web/core/modules/workspaces/src/Negotiator/QueryParameterWorkspaceNegotiator.php new file mode 100644 index 000000000..a2917cd46 --- /dev/null +++ b/web/core/modules/workspaces/src/Negotiator/QueryParameterWorkspaceNegotiator.php @@ -0,0 +1,33 @@ +query->get('workspace')) && parent::applies($request); + } + + /** + * {@inheritdoc} + */ + 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; + } + +}