Differential D20025 Diff 47822 src/applications/auth/controller/contact/PhabricatorAuthContactNumberTestController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/auth/controller/contact/PhabricatorAuthContactNumberTestController.php
- This file was added.
<?php | |||||
final class PhabricatorAuthContactNumberTestController | |||||
extends PhabricatorAuthContactNumberController { | |||||
public function handleRequest(AphrontRequest $request) { | |||||
$viewer = $request->getViewer(); | |||||
$id = $request->getURIData('id'); | |||||
$number = id(new PhabricatorAuthContactNumberQuery()) | |||||
->setViewer($viewer) | |||||
->withIDs(array($id)) | |||||
->requireCapabilities( | |||||
array( | |||||
PhabricatorPolicyCapability::CAN_VIEW, | |||||
PhabricatorPolicyCapability::CAN_EDIT, | |||||
)) | |||||
->executeOne(); | |||||
if (!$number) { | |||||
return new Aphront404Response(); | |||||
} | |||||
$id = $number->getID(); | |||||
$cancel_uri = $number->getURI(); | |||||
// NOTE: This is a global limit shared by all users. | |||||
PhabricatorSystemActionEngine::willTakeAction( | |||||
array(id(new PhabricatorAuthApplication())->getPHID()), | |||||
new PhabricatorAuthTestSMSAction(), | |||||
1); | |||||
if ($request->isFormPost()) { | |||||
$uri = PhabricatorEnv::getURI('/'); | |||||
$uri = new PhutilURI($uri); | |||||
$mail = id(new PhabricatorMetaMTAMail()) | |||||
->setMessageType(PhabricatorMailSMSMessage::MESSAGETYPE) | |||||
->addTos(array($viewer->getPHID())) | |||||
->setSensitiveContent(false) | |||||
->setBody( | |||||
pht( | |||||
'This is a terse test text message from Phabricator (%s).', | |||||
$uri->getDomain())) | |||||
->save(); | |||||
return id(new AphrontRedirectResponse())->setURI($mail->getURI()); | |||||
} | |||||
$number_display = phutil_tag( | |||||
'strong', | |||||
array(), | |||||
$number->getDisplayName()); | |||||
return $this->newDialog() | |||||
->setTitle(pht('Set Test Message')) | |||||
->appendParagraph( | |||||
pht( | |||||
'Send a test message to %s?', | |||||
$number_display)) | |||||
->addSubmitButton(pht('Send SMS')) | |||||
->addCancelButton($cancel_uri); | |||||
} | |||||
} |