Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/view/phui/PHUICMSView.php
12249 views
1
<?php
2
3
final class PHUICMSView extends AphrontTagView {
4
5
private $header;
6
private $nav;
7
private $crumbs;
8
private $content;
9
private $toc;
10
private $comments;
11
12
public function setHeader(PHUIHeaderView $header) {
13
$this->header = $header;
14
return $this;
15
}
16
17
public function setNavigation(AphrontSideNavFilterView $nav) {
18
$this->nav = $nav;
19
return $this;
20
}
21
22
public function setCrumbs(PHUICrumbsView $crumbs) {
23
$this->crumbs = $crumbs;
24
return $this;
25
}
26
27
public function setContent($content) {
28
$this->content = $content;
29
return $this;
30
}
31
32
public function setToc($toc) {
33
$this->toc = $toc;
34
return $this;
35
}
36
37
public function setComments($comments) {
38
$this->comments = $comments;
39
}
40
41
protected function getTagName() {
42
return 'div';
43
}
44
45
protected function getTagAttributes() {
46
require_celerity_resource('phui-cms-css');
47
48
$classes = array();
49
$classes[] = 'phui-cms-view';
50
51
if ($this->comments) {
52
$classes[] = 'phui-cms-has-comments';
53
}
54
55
return array(
56
'class' => implode(' ', $classes),
57
);
58
59
}
60
61
protected function getTagContent() {
62
63
$content = phutil_tag(
64
'div',
65
array(
66
'class' => 'phui-cms-page-content',
67
),
68
array(
69
$this->header,
70
$this->content,
71
));
72
73
$comments = null;
74
if ($this->comments) {
75
$comments = phutil_tag(
76
'div',
77
array(
78
'class' => 'phui-cms-comments',
79
),
80
array(
81
$this->comments,
82
));
83
}
84
85
$navigation = $this->nav;
86
$navigation->appendChild($content);
87
$navigation->appendChild($comments);
88
89
$page = phutil_tag(
90
'div',
91
array(
92
'class' => 'phui-cms-inner',
93
),
94
array(
95
$navigation,
96
));
97
98
$cms_view = phutil_tag(
99
'div',
100
array(
101
'class' => 'phui-cms-wrap',
102
),
103
array(
104
$this->crumbs,
105
$page,
106
));
107
108
$classes = array();
109
$classes[] = 'phui-cms-page';
110
111
return phutil_tag(
112
'div',
113
array(
114
'class' => implode(' ', $classes),
115
),
116
$cms_view);
117
}
118
}
119
120