Path: blob/master/src/view/form/PHUIFormInsetView.php
12249 views
<?php12final class PHUIFormInsetView extends AphrontView {34private $title;5private $description;6private $rightButton;7private $content;8private $hidden = array();910private $divAttributes;1112public function setTitle($title) {13$this->title = $title;14return $this;15}1617public function setDescription($description) {18$this->description = $description;19return $this;20}2122public function setRightButton($button) {23$this->rightButton = $button;24return $this;25}2627public function setContent($content) {28$this->content = $content;29return $this;30}3132public function addHiddenInput($key, $value) {33if (is_array($value)) {34foreach ($value as $hidden_key => $hidden_value) {35$this->hidden[] = array($key.'['.$hidden_key.']', $hidden_value);36}37} else {38$this->hidden[] = array($key, $value);39}40return $this;41}4243public function addDivAttributes(array $attributes) {44$this->divAttributes = $attributes;45return $this;46}4748public function render() {4950$right_button = $desc = '';5152$hidden_inputs = array();53foreach ($this->hidden as $inp) {54list($key, $value) = $inp;55$hidden_inputs[] = phutil_tag(56'input',57array(58'type' => 'hidden',59'name' => $key,60'value' => $value,61));62}6364if ($this->rightButton) {65$right_button = phutil_tag(66'div',67array(68'style' => 'float: right;',69),70$this->rightButton);71$right_button = phutil_tag_div('grouped', $right_button);72}7374if ($this->description) {75$desc = phutil_tag(76'p',77array(),78$this->description);79}8081$div_attributes = $this->divAttributes;82$classes = array('phui-form-inset');83if (isset($div_attributes['class'])) {84$classes[] = $div_attributes['class'];85}8687$div_attributes['class'] = implode(' ', $classes);8889$content = $hidden_inputs;90$content[] = $right_button;91$content[] = $desc;9293if ($this->title != '') {94array_unshift($content, phutil_tag('h1', array(), $this->title));95}9697if ($this->content) {98$content[] = $this->content;99}100101$content = array_merge($content, $this->renderChildren());102103return phutil_tag('div', $div_attributes, $content);104}105}106107108