Correct a parameter order swap in "diffusion.historyquery" for Mercurial
[phabricator.git] / src / applications / project / view / PhabricatorProjectCardView.php
bloba56697ba7ecb42bc4d5e8f65055f3820076e8155
1 <?php
3 final class PhabricatorProjectCardView extends AphrontTagView {
5 private $project;
6 private $viewer;
7 private $tag;
9 public function setProject(PhabricatorProject $project) {
10 $this->project = $project;
11 return $this;
14 public function setViewer(PhabricatorUser $viewer) {
15 $this->viewer = $viewer;
16 return $this;
19 public function setTag($tag) {
20 $this->tag = $tag;
21 return $this;
24 protected function getTagName() {
25 if ($this->tag) {
26 return $this->tag;
28 return 'div';
31 protected function getTagAttributes() {
32 $classes = array();
33 $classes[] = 'project-card-view';
35 $color = $this->project->getColor();
36 $classes[] = 'project-card-'.$color;
38 return array(
39 'class' => implode(' ', $classes),
43 protected function getTagContent() {
45 $project = $this->project;
46 $viewer = $this->viewer;
47 require_celerity_resource('project-card-view-css');
49 $icon = $project->getDisplayIconIcon();
50 $icon_name = $project->getDisplayIconName();
51 $tag = id(new PHUITagView())
52 ->setIcon($icon)
53 ->setName($icon_name)
54 ->addClass('project-view-header-tag')
55 ->setType(PHUITagView::TYPE_SHADE);
57 $header = id(new PHUIHeaderView())
58 ->setHeader(array($project->getDisplayName(), $tag))
59 ->setUser($viewer)
60 ->setPolicyObject($project)
61 ->setImage($project->getProfileImageURI());
63 if ($project->getStatus() == PhabricatorProjectStatus::STATUS_ACTIVE) {
64 $header->setStatus('fa-check', 'bluegrey', pht('Active'));
65 } else {
66 $header->setStatus('fa-ban', 'red', pht('Archived'));
69 $description = null;
71 $card = phutil_tag(
72 'div',
73 array(
74 'class' => 'project-card-inner',
76 array(
77 $header,
78 $description,
79 ));
81 return $card;