protected function buildPasteInfoDictionary(PhabricatorPaste $paste)
 {
     $content = null;
     $file = id(new PhabricatorFile())->loadOneWhere('phid = %s', $paste->getFilePHID());
     if ($file) {
         $content = $file->loadFileData();
     }
     return array('id' => $paste->getID(), 'objectName' => 'P' . $paste->getID(), 'phid' => $paste->getPHID(), 'authorPHID' => $paste->getAuthorPHID(), 'filePHID' => $paste->getFilePHID(), 'title' => $paste->getTitle(), 'dateCreated' => $paste->getDateCreated(), 'language' => $paste->getLanguage(), 'uri' => PhabricatorEnv::getProductionURI('/P' . $paste->getID()), 'parentPHID' => $paste->getParentPHID(), 'content' => $content);
 }
 private function buildSourceCodeView(PhabricatorPaste $paste, PhabricatorFile $file)
 {
     $language = $paste->getLanguage();
     $source = $file->loadFileData();
     if (empty($language)) {
         $source = PhabricatorSyntaxHighlighter::highlightWithFilename($paste->getTitle(), $source);
     } else {
         $source = PhabricatorSyntaxHighlighter::highlightWithLanguage($language, $source);
     }
     $lines = explode("\n", $source);
     return id(new PhabricatorSourceCodeView())->setLines($lines);
 }
 protected function buildPasteInfoDictionary(PhabricatorPaste $paste)
 {
     return array('id' => $paste->getID(), 'objectName' => 'P' . $paste->getID(), 'phid' => $paste->getPHID(), 'authorPHID' => $paste->getAuthorPHID(), 'filePHID' => $paste->getFilePHID(), 'title' => $paste->getTitle(), 'dateCreated' => $paste->getDateCreated(), 'language' => $paste->getLanguage(), 'uri' => PhabricatorEnv::getProductionURI('/P' . $paste->getID()), 'parentPHID' => $paste->getParentPHID(), 'content' => $paste->getRawContent());
 }
 private function buildContent(PhabricatorPaste $paste)
 {
     $language = $paste->getLanguage();
     $source = $paste->getRawContent();
     if (empty($language)) {
         return PhabricatorSyntaxHighlighter::highlightWithFilename($paste->getTitle(), $source);
     } else {
         return PhabricatorSyntaxHighlighter::highlightWithLanguage($language, $source);
     }
 }
 private function buildSnippet(PhabricatorPaste $paste)
 {
     $snippet_type = PhabricatorPasteSnippet::FULL;
     $snippet = $paste->getRawContent();
     if (strlen($snippet) > 1024) {
         $snippet_type = PhabricatorPasteSnippet::FIRST_BYTES;
         $snippet = id(new PhutilUTF8StringTruncator())->setMaximumBytes(1024)->setTerminator('')->truncateString($snippet);
     }
     $lines = phutil_split_lines($snippet);
     if (count($lines) > 5) {
         $snippet_type = PhabricatorPasteSnippet::FIRST_LINES;
         $snippet = implode('', array_slice($lines, 0, 5));
     }
     return new PhabricatorPasteSnippet($this->highlightSource($snippet, $paste->getTitle(), $paste->getLanguage()), $snippet_type);
 }