mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-14 10:52:41 +01:00
53 lines
1.5 KiB
PHP
53 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
final class PhabricatorAuthDowngradeSessionController
|
||
|
extends PhabricatorAuthController {
|
||
|
|
||
|
public function processRequest() {
|
||
|
$request = $this->getRequest();
|
||
|
$viewer = $request->getUser();
|
||
|
|
||
|
$panel_uri = '/settings/panel/sessions/';
|
||
|
|
||
|
$session = $viewer->getSession();
|
||
|
if ($session->getHighSecurityUntil() < time()) {
|
||
|
return $this->newDialog()
|
||
|
->setTitle(pht('Normal Security Restored'))
|
||
|
->appendParagraph(
|
||
|
pht('Your session is no longer in high security.'))
|
||
|
->addCancelButton($panel_uri, pht('Continue'));
|
||
|
}
|
||
|
|
||
|
if ($request->isFormPost()) {
|
||
|
|
||
|
queryfx(
|
||
|
$session->establishConnection('w'),
|
||
|
'UPDATE %T SET highSecurityUntil = NULL WHERE id = %d',
|
||
|
$session->getTableName(),
|
||
|
$session->getID());
|
||
|
|
||
|
return id(new AphrontRedirectResponse())
|
||
|
->setURI($this->getApplicationURI('session/downgrade/'));
|
||
|
}
|
||
|
|
||
|
return $this->newDialog()
|
||
|
->setTitle(pht('Leaving High Security'))
|
||
|
->appendParagraph(
|
||
|
pht(
|
||
|
'Leave high security and return your session to normal '.
|
||
|
'security levels?'))
|
||
|
->appendParagraph(
|
||
|
pht(
|
||
|
'If you leave high security, you will need to authenticate '.
|
||
|
'again the next time you try to take a high security action.'))
|
||
|
->appendParagraph(
|
||
|
pht(
|
||
|
'On the plus side, that purple notification bubble will '.
|
||
|
'disappear.'))
|
||
|
->addSubmitButton(pht('Leave High Security'))
|
||
|
->addCancelButton($panel_uri, pht('Stay in High Security'));
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|