Path: blob/master/src/view/phui/PHUIPinboardItemView.php
12249 views
<?php12final class PHUIPinboardItemView extends AphrontView {34private $imageURI;5private $uri;6private $header;7private $iconBlock = array();8private $disabled;9private $object;10private $imageWidth;11private $imageHeight;1213public function setHeader($header) {14$this->header = $header;15return $this;16}1718public function setURI($uri) {19$this->uri = $uri;20return $this;21}2223public function setImageURI($image_uri) {24$this->imageURI = $image_uri;25return $this;26}2728public function setImageSize($x, $y) {29$this->imageWidth = $x;30$this->imageHeight = $y;31return $this;32}3334public function addIconCount($icon, $count) {35$this->iconBlock[] = array($icon, $count);36return $this;37}3839public function setDisabled($disabled) {40$this->disabled = $disabled;41return $this;42}4344public function setObject($object) {45$this->object = $object;46return $this;47}4849public function render() {50require_celerity_resource('phui-pinboard-view-css');51$header = null;52if ($this->header) {53$header_color = null;54if ($this->disabled) {55$header_color = 'phui-pinboard-disabled';56}57$header = phutil_tag(58'div',59array(60'class' => 'phui-pinboard-item-header '.$header_color,61),62array(63id(new PHUISpacesNamespaceContextView())64->setUser($this->getUser())65->setObject($this->object),66phutil_tag(67'a',68array(69'href' => $this->uri,70),71$this->header),72));73}7475$image = null;76if ($this->imageWidth) {77$image = phutil_tag(78'a',79array(80'href' => $this->uri,81'class' => 'phui-pinboard-item-image-link',82),83phutil_tag(84'img',85array(86'src' => $this->imageURI,87'width' => $this->imageWidth,88'height' => $this->imageHeight,89)));90}9192$icons = array();93if ($this->iconBlock) {94$icon_list = array();95foreach ($this->iconBlock as $block) {96$icon = id(new PHUIIconView())97->setIcon($block[0].' lightgreytext')98->addClass('phui-pinboard-icon');99100$count = phutil_tag('span', array(), $block[1]);101$icon_list[] = phutil_tag(102'span',103array(104'class' => 'phui-pinboard-item-count',105),106array($icon, $count));107}108$icons = phutil_tag(109'div',110array(111'class' => 'phui-pinboard-icons',112),113$icon_list);114}115116$content = $this->renderChildren();117if ($content) {118$content = phutil_tag(119'div',120array(121'class' => 'phui-pinboard-item-content',122),123$content);124}125126$classes = array();127$classes[] = 'phui-pinboard-item-view';128if ($this->disabled) {129$classes[] = 'phui-pinboard-item-disabled';130}131132$item = phutil_tag(133'div',134array(135'class' => implode(' ', $classes),136),137array(138$image,139$header,140$content,141$icons,142));143144return phutil_tag(145'li',146array(147'class' => 'phui-pinboard-list-item',148),149$item);150}151152}153154155