@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
at recaptime-dev/main 104 lines 2.0 kB view raw
1<?php 2 3final class PHUIDocumentSummaryView extends AphrontTagView { 4 5 private $title; 6 private $image; 7 private $imageHref; 8 private $subtitle; 9 private $href; 10 private $summary; 11 private $draft; 12 13 public function setTitle($title) { 14 $this->title = $title; 15 return $this; 16 } 17 18 public function setSubtitle($subtitle) { 19 $this->subtitle = $subtitle; 20 return $this; 21 } 22 23 public function setImage($image) { 24 $this->image = $image; 25 return $this; 26 } 27 28 public function setImageHref($image_href) { 29 $this->imageHref = $image_href; 30 return $this; 31 } 32 33 public function setHref($href) { 34 $this->href = $href; 35 return $this; 36 } 37 38 public function setSummary($summary) { 39 $this->summary = $summary; 40 return $this; 41 } 42 43 public function setDraft($draft) { 44 $this->draft = $draft; 45 return $this; 46 } 47 48 protected function getTagAttributes() { 49 $classes = array(); 50 $classes[] = 'phui-document-summary-view'; 51 $classes[] = 'phabricator-remarkup'; 52 53 if ($this->draft) { 54 $classes[] = 'is-draft'; 55 } 56 57 return array( 58 'class' => implode(' ', $classes), 59 ); 60 } 61 62 protected function getTagContent() { 63 require_celerity_resource('phui-document-summary-view-css'); 64 65 $title = phutil_tag( 66 'a', 67 array( 68 'href' => $this->href, 69 ), 70 $this->title); 71 72 $header = phutil_tag( 73 'h2', 74 array( 75 'class' => 'remarkup-header', 76 ), 77 $title); 78 79 $subtitle = phutil_tag( 80 'div', 81 array( 82 'class' => 'phui-document-summary-subtitle', 83 ), 84 $this->subtitle); 85 86 $body = phutil_tag( 87 'div', 88 array( 89 'class' => 'phui-document-summary-body', 90 ), 91 $this->summary); 92 93 $read_more = phutil_tag( 94 'a', 95 array( 96 'class' => 'phui-document-read-more', 97 'href' => $this->href, 98 ), 99 pht('Read more...')); 100 101 return array($header, $subtitle, $body, $read_more); 102 } 103 104}