public function AccountSwitcher::switchTo in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Session/AccountSwitcher.php \Drupal\Core\Session\AccountSwitcher::switchTo()
Safely switches to another account.
Each invocation of AccountSwitcherInterface::switchTo() must be matched by a corresponding invocation of AccountSwitcherInterface::switchBack() in the same function.
Parameters
\Drupal\Core\Session\AccountInterface $account: The account to switch to.
Return value
$this $this.
Overrides AccountSwitcherInterface::switchTo
File
- core/
lib/ Drupal/ Core/ Session/ AccountSwitcher.php, line 58
Class
- AccountSwitcher
- An implementation of AccountSwitcherInterface.
Namespace
Drupal\Core\SessionCode
public function switchTo(AccountInterface $account) {
// Prevent session information from being saved and push previous account.
if (!isset($this->originalSessionSaving)) {
// Ensure that only the first session saving status is saved.
$this->originalSessionSaving = $this->writeSafeHandler
->isSessionWritable();
}
$this->writeSafeHandler
->setSessionWritable(FALSE);
array_push($this->accountStack, $this->currentUser
->getAccount());
$this->currentUser
->setAccount($account);
return $this;
}