Something went wrong. Try again.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
Something went wrong. Try again.
1.8 kB · 63 lines
PHP
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364<?php
final class PhabricatorAuthInviteController extends PhabricatorAuthController {
public function shouldRequireLogin() { return false; }
public function handleRequest(AphrontRequest $request) { $viewer = $this->getViewer();
$engine = id(new PhabricatorAuthInviteEngine()) ->setViewer($viewer);
if ($request->isFormPost()) { $engine->setUserHasConfirmedVerify(true); }
$invite_code = $request->getURIData('code');
try { $invite = $engine->processInviteCode($invite_code); } catch (PhabricatorAuthInviteDialogException $ex) { $response = $this->newDialog() ->setTitle($ex->getTitle()) ->appendParagraph($ex->getBody());
$submit_text = $ex->getSubmitButtonText(); if ($submit_text) { $response->addSubmitButton($submit_text); }
$submit_uri = $ex->getSubmitButtonURI(); if ($submit_uri) { $response->setSubmitURI($submit_uri); }
$cancel_uri = $ex->getCancelButtonURI(); $cancel_text = $ex->getCancelButtonText(); if ($cancel_uri && $cancel_text) { $response->addCancelButton($cancel_uri, $cancel_text); } else if ($cancel_uri) { $response->addCancelButton($cancel_uri); }
return $response; } catch (PhabricatorAuthInviteRegisteredException $ex) { // We're all set on processing this invite, just send the user home. return id(new AphrontRedirectResponse())->setURI('/'); }
// Give the user a cookie with the invite code and send them through // normal registration. We'll adjust the flow there. $request->setCookie( PhabricatorCookies::COOKIE_INVITE, $invite_code);
return id(new AphrontRedirectResponse())->setURI('/auth/start/'); }
}