Path: blob/master/src/applications/paste/view/PasteEmbedView.php
12241 views
<?php12final class PasteEmbedView extends AphrontView {34private $paste;5private $handle;6private $highlights = array();7private $lines = 24;89public function setPaste(PhabricatorPaste $paste) {10$this->paste = $paste;11return $this;12}1314public function setHandle(PhabricatorObjectHandle $handle) {15$this->handle = $handle;16return $this;17}1819public function setHighlights(array $highlights) {20$this->highlights = $highlights;21return $this;22}2324public function setLines($lines) {25$this->lines = $lines;26return $this;27}2829public function render() {30if (!$this->paste) {31throw new PhutilInvalidStateException('setPaste');32}3334$lines = phutil_split_lines($this->paste->getContent());35require_celerity_resource('paste-css');3637$link = phutil_tag(38'a',39array(40'href' => '/P'.$this->paste->getID(),41),42$this->handle->getFullName());4344$head = phutil_tag(45'div',46array(47'class' => 'paste-embed-head',48),49$link);5051$body_attributes = array('class' => 'paste-embed-body');52if ($this->lines != null) {53$body_attributes['style'] = 'max-height: '.$this->lines * (1.15).'em;';54}5556$body = phutil_tag(57'div',58$body_attributes,59id(new PhabricatorSourceCodeView())60->setLines($lines)61->setHighlights($this->highlights)62->disableHighlightOnClick());6364return phutil_tag(65'div',66array('class' => 'paste-embed'),67array($head, $body));6869}70}717273