Path: blob/master/src/applications/diffusion/controller/DiffusionRepositoryURIDisableController.php
12242 views
<?php12final class DiffusionRepositoryURIDisableController3extends DiffusionController {45public function handleRequest(AphrontRequest $request) {6$response = $this->loadDiffusionContextForEdit();7if ($response) {8return $response;9}1011$viewer = $this->getViewer();12$drequest = $this->getDiffusionRequest();13$repository = $drequest->getRepository();1415$id = $request->getURIData('id');16$uri = id(new PhabricatorRepositoryURIQuery())17->setViewer($viewer)18->withIDs(array($id))19->withRepositories(array($repository))20->requireCapabilities(21array(22PhabricatorPolicyCapability::CAN_VIEW,23PhabricatorPolicyCapability::CAN_EDIT,24))25->executeOne();26if (!$uri) {27return new Aphront404Response();28}2930$is_disabled = $uri->getIsDisabled();31$view_uri = $uri->getViewURI();3233if ($uri->isBuiltin()) {34return $this->newDialog()35->setTitle(pht('Builtin URI'))36->appendParagraph(37pht(38'You can not manually disable builtin URIs. To hide a builtin '.39'URI, configure its "Display" behavior instead.'))40->addCancelButton($view_uri);41}4243if ($request->isFormPost()) {44$xactions = array();4546$xactions[] = id(new PhabricatorRepositoryURITransaction())47->setTransactionType(PhabricatorRepositoryURITransaction::TYPE_DISABLE)48->setNewValue(!$is_disabled);4950$editor = id(new DiffusionURIEditor())51->setActor($viewer)52->setContinueOnNoEffect(true)53->setContinueOnMissingFields(true)54->setContentSourceFromRequest($request)55->applyTransactions($uri, $xactions);5657return id(new AphrontRedirectResponse())->setURI($view_uri);58}5960if ($is_disabled) {61$title = pht('Enable URI');62$body = pht(63'Enable this URI? Any configured behaviors will begin working '.64'again.');65$button = pht('Enable URI');66} else {67$title = pht('Disable URI');68$body = pht(69'Disable this URI? It will no longer be observed, fetched, mirrored, '.70'served or shown to users.');71$button = pht('Disable URI');72}7374return $this->newDialog()75->setTitle($title)76->appendParagraph($body)77->addCancelButton($view_uri)78->addSubmitButton($button);79}8081}828384