public function renderModuleStatus(AphrontRequest $request) { $viewer = $request->getViewer(); $extensions = PhabricatorAuthSessionEngineExtension::getAllExtensions(); $rows = array(); foreach ($extensions as $extension) { $rows[] = array(get_class($extension), $extension->getExtensionKey(), $extension->getExtensionName()); } return id(new AphrontTableView($rows))->setNoDataString(pht('There are no registered session engine extensions.'))->setHeaders(array(pht('Class'), pht('Key'), pht('Name')))->setColumnClasses(array(null, null, 'wide pri')); }
public function willServeRequestForUser(PhabricatorUser $user) { // We allow the login user to generate any missing cache data inline. $user->setAllowInlineCacheGeneration(true); // Switch to the user's translation. PhabricatorEnv::setLocaleCode($user->getTranslation()); $extensions = PhabricatorAuthSessionEngineExtension::getAllExtensions(); foreach ($extensions as $extension) { $extension->willServeRequestForUser($user); } }
public function logoutSession(PhabricatorUser $user, PhabricatorAuthSession $session) { $log = PhabricatorUserLog::initializeNewLog($user, $user->getPHID(), PhabricatorUserLog::ACTION_LOGOUT); $log->save(); $extensions = PhabricatorAuthSessionEngineExtension::getAllExtensions(); foreach ($extensions as $extension) { $extension->didLogout($user, array($session)); } $session->delete(); }