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.
2.7 kB · 84 lines
PHP
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485<?php
final class PhabricatorAuthFactorProviderMessageController extends PhabricatorAuthFactorProviderController {
public function handleRequest(AphrontRequest $request) { $this->requireApplicationCapability( AuthManageProvidersCapability::CAPABILITY);
$viewer = $request->getViewer(); $id = $request->getURIData('id');
$provider = id(new PhabricatorAuthFactorProviderQuery()) ->setViewer($viewer) ->withIDs(array($id)) ->requireCapabilities( array( PhabricatorPolicyCapability::CAN_VIEW, PhabricatorPolicyCapability::CAN_EDIT, )) ->executeOne(); if (!$provider) { return new Aphront404Response(); }
$cancel_uri = $provider->getURI(); $enroll_key = PhabricatorAuthFactorProviderEnrollMessageTransaction::TRANSACTIONTYPE;
$message = $provider->getEnrollMessage();
if ($request->isFormOrHisecPost()) { $message = $request->getStr('message');
$xactions = array();
$xactions[] = id(new PhabricatorAuthFactorProviderTransaction()) ->setTransactionType($enroll_key) ->setNewValue($message);
$editor = id(new PhabricatorAuthFactorProviderEditor()) ->setActor($viewer) ->setContentSourceFromRequest($request) ->setContinueOnNoEffect(true) ->setContinueOnMissingFields(true) ->setCancelURI($cancel_uri);
$editor->applyTransactions($provider, $xactions);
return id(new AphrontRedirectResponse())->setURI($cancel_uri); }
$default_message = $provider->getEnrollDescription($viewer); $default_message = new PHUIRemarkupView($viewer, $default_message);
$form = id(new AphrontFormView()) ->setViewer($viewer) ->appendRemarkupInstructions( pht( 'When users add a factor for this provider, they are given this '. 'enrollment guidance by default:')) ->appendControl( id(new AphrontFormMarkupControl()) ->setLabel(pht('Default Message')) ->setValue($default_message)) ->appendRemarkupInstructions( pht( 'You may optionally customize the enrollment message users are '. 'presented with by providing a replacement message below:')) ->appendControl( id(new PhabricatorRemarkupControl()) ->setLabel(pht('Custom Message')) ->setName('message') ->setValue($message));
return $this->newDialog() ->setTitle(pht('Change Enroll Message')) ->setWidth(AphrontDialogView::WIDTH_FORM) ->appendForm($form) ->addCancelButton($cancel_uri) ->addSubmitButton(pht('Save')); }
}