[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/repository/management/ -> PhabricatorRepositoryManagementMarkImportedWorkflow.php (source)

   1  <?php
   2  
   3  final class PhabricatorRepositoryManagementMarkImportedWorkflow
   4    extends PhabricatorRepositoryManagementWorkflow {
   5  
   6    public function didConstruct() {
   7      $this
   8        ->setName('mark-imported')
   9        ->setExamples('**mark-imported** __repository__ ...')
  10        ->setSynopsis('Mark __repository__, named by callsign, as imported.')
  11        ->setArguments(
  12          array(
  13            array(
  14              'name'        => 'mark-not-imported',
  15              'help'        => 'Instead, mark repositories as NOT imported.',
  16            ),
  17            array(
  18              'name'        => 'repos',
  19              'wildcard'    => true,
  20            ),
  21          ));
  22    }
  23  
  24    public function execute(PhutilArgumentParser $args) {
  25      $repos = $this->loadRepositories($args, 'repos');
  26  
  27      if (!$repos) {
  28        throw new PhutilArgumentUsageException(
  29          'Specify one or more repositories to mark imported, by callsign.');
  30      }
  31  
  32      $new_importing_value = (bool)$args->getArg('mark-not-imported');
  33  
  34      $console = PhutilConsole::getConsole();
  35      foreach ($repos as $repo) {
  36        $callsign = $repo->getCallsign();
  37  
  38        if ($repo->isImporting() && $new_importing_value) {
  39          $console->writeOut(
  40            "%s\n",
  41            pht("Repository '%s' is already importing.", $callsign));
  42        } else if (!$repo->isImporting() && !$new_importing_value) {
  43          $console->writeOut(
  44            "%s\n",
  45            pht("Repository '%s' is already imported.", $callsign));
  46        } else {
  47          if ($new_importing_value) {
  48            $console->writeOut(
  49              "%s\n",
  50              pht("Marking repository '%s' as importing.", $callsign));
  51          } else {
  52            $console->writeOut(
  53              "%s\n",
  54              pht("Marking repository '%s' as imported.", $callsign));
  55          }
  56  
  57          $repo->setDetail('importing', $new_importing_value);
  58          $repo->save();
  59        }
  60      }
  61  
  62      $console->writeOut("Done.\n");
  63  
  64      return 0;
  65    }
  66  
  67  }


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