[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/conpherence/view/ -> ConpherenceTransactionView.php (source)

   1  <?php
   2  
   3  final class ConpherenceTransactionView extends AphrontView {
   4  
   5    private $conpherenceTransaction;
   6    private $handles;
   7    private $markupEngine;
   8  
   9    public function setMarkupEngine(PhabricatorMarkupEngine $markup_engine) {
  10      $this->markupEngine = $markup_engine;
  11      return $this;
  12    }
  13  
  14    public function setHandles(array $handles) {
  15      assert_instances_of($handles, 'PhabricatorObjectHandle');
  16      $this->handles = $handles;
  17      return $this;
  18    }
  19  
  20    public function getHandles() {
  21      return $this->handles;
  22    }
  23  
  24    public function setConpherenceTransaction(ConpherenceTransaction $tx) {
  25      $this->conpherenceTransaction = $tx;
  26      return $this;
  27    }
  28  
  29    private function getConpherenceTransaction() {
  30      return $this->conpherenceTransaction;
  31    }
  32  
  33    public function render() {
  34      $user = $this->getUser();
  35      $transaction = $this->getConpherenceTransaction();
  36      switch ($transaction->getTransactionType()) {
  37        case ConpherenceTransactionType::TYPE_DATE_MARKER:
  38          return phutil_tag(
  39            'div',
  40            array(
  41              'class' => 'date-marker',
  42            ),
  43            array(
  44              phutil_tag(
  45                'span',
  46                array(
  47                  'class' => 'date',
  48                ),
  49                phabricator_format_local_time(
  50                  $transaction->getDateCreated(),
  51                  $user,
  52                'M jS, Y')),
  53            ));
  54          break;
  55      }
  56  
  57      $handles = $this->getHandles();
  58      $transaction->setHandles($handles);
  59      $author = $handles[$transaction->getAuthorPHID()];
  60      $transaction_view = id(new PhabricatorTransactionView())
  61        ->setUser($user)
  62        ->setEpoch($transaction->getDateCreated())
  63        ->setContentSource($transaction->getContentSource());
  64  
  65      $content = null;
  66      $content_class = null;
  67      $content = null;
  68      switch ($transaction->getTransactionType()) {
  69        case ConpherenceTransactionType::TYPE_TITLE:
  70          $content = $transaction->getTitle();
  71          $transaction_view->addClass('conpherence-edited');
  72          break;
  73        case ConpherenceTransactionType::TYPE_FILES:
  74          $content = $transaction->getTitle();
  75          break;
  76        case ConpherenceTransactionType::TYPE_PARTICIPANTS:
  77          $content = $transaction->getTitle();
  78          $transaction_view->addClass('conpherence-edited');
  79          break;
  80        case PhabricatorTransactions::TYPE_COMMENT:
  81          $comment = $transaction->getComment();
  82          $content = $this->markupEngine->getOutput(
  83            $comment,
  84            PhabricatorApplicationTransactionComment::MARKUP_FIELD_COMMENT);
  85          $content_class = 'conpherence-message phabricator-remarkup';
  86          $transaction_view
  87            ->setImageURI($author->getImageURI())
  88            ->setActions(array($author->renderLink()));
  89          break;
  90      }
  91  
  92      $transaction_view->appendChild(
  93        phutil_tag(
  94          'div',
  95          array(
  96            'class' => $content_class,
  97          ),
  98          $content));
  99  
 100      return $transaction_view->render();
 101    }
 102  
 103  }


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