[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/diffusion/controller/ -> DiffusionMirrorDeleteController.php (source)

   1  <?php
   2  
   3  final class DiffusionMirrorDeleteController
   4    extends DiffusionController {
   5  
   6    private $id;
   7  
   8    public function willProcessRequest(array $data) {
   9      $this->id = $data['id'];
  10      parent::willProcessRequest($data);
  11    }
  12  
  13    public function processRequest() {
  14      $request = $this->getRequest();
  15      $viewer = $request->getUser();
  16      $drequest = $this->diffusionRequest;
  17      $repository = $drequest->getRepository();
  18  
  19      $mirror = id(new PhabricatorRepositoryMirrorQuery())
  20        ->setViewer($viewer)
  21        ->withIDs(array($this->id))
  22        ->executeOne();
  23      if (!$mirror) {
  24        return new Aphront404Response();
  25      }
  26  
  27      $edit_uri = $this->getRepositoryControllerURI($repository, 'edit/#mirrors');
  28  
  29      if ($request->isFormPost()) {
  30        $mirror->delete();
  31        return id(new AphrontReloadResponse())->setURI($edit_uri);
  32      }
  33  
  34      $dialog = id(new AphrontDialogView())
  35        ->setUser($viewer)
  36        ->setTitle(pht('Really delete mirror?'))
  37        ->appendChild(
  38          pht('Phabricator will stop pushing updates to this mirror.'))
  39        ->addSubmitButton(pht('Delete Mirror'))
  40        ->addCancelButton($edit_uri);
  41  
  42      return id(new AphrontDialogResponse())
  43        ->setDialog($dialog);
  44    }
  45  
  46  
  47  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1