[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/ponder/controller/ -> PonderQuestionHistoryController.php (source)

   1  <?php
   2  
   3  final class PonderQuestionHistoryController extends PonderController {
   4  
   5    private $id;
   6  
   7    public function willProcessRequest(array $data) {
   8      $this->id = $data['id'];
   9    }
  10  
  11    public function processRequest() {
  12      $request = $this->getRequest();
  13      $viewer = $request->getUser();
  14  
  15      $question = id(new PonderQuestionQuery())
  16        ->setViewer($viewer)
  17        ->withIDs(array($this->id))
  18        ->executeOne();
  19      if (!$question) {
  20        return new Aphront404Response();
  21      }
  22  
  23      $xactions = id(new PonderQuestionTransactionQuery())
  24        ->setViewer($viewer)
  25        ->withObjectPHIDs(array($question->getPHID()))
  26        ->execute();
  27  
  28      $engine = id(new PhabricatorMarkupEngine())
  29        ->setViewer($viewer);
  30      foreach ($xactions as $xaction) {
  31        if ($xaction->getComment()) {
  32          $engine->addObject(
  33            $xaction->getComment(),
  34            PhabricatorApplicationTransactionComment::MARKUP_FIELD_COMMENT);
  35        }
  36      }
  37      $engine->process();
  38  
  39      $timeline = id(new PhabricatorApplicationTransactionView())
  40        ->setUser($viewer)
  41        ->setObjectPHID($question->getPHID())
  42        ->setTransactions($xactions)
  43        ->setMarkupEngine($engine);
  44  
  45      $qid = $question->getID();
  46  
  47      $crumbs = $this->buildApplicationCrumbs();
  48      $crumbs->addTextCrumb("Q{$qid}", "/Q{$qid}");
  49      $crumbs->addTextCrumb(pht('History'));
  50  
  51      return $this->buildApplicationPage(
  52        array(
  53          $crumbs,
  54          $timeline,
  55        ),
  56        array(
  57          'title' => pht('Question History'),
  58        ));
  59    }
  60  
  61  }


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