Path: blob/master/src/applications/countdown/view/PhabricatorCountdownView.php
12256 views
<?php12final class PhabricatorCountdownView extends AphrontView {34private $countdown;56public function setCountdown(PhabricatorCountdown $countdown) {7$this->countdown = $countdown;8return $this;9}1011public function render() {12$countdown = $this->countdown;13require_celerity_resource('phabricator-countdown-css');1415$header_text = array(16$countdown->getMonogram(),17' ',18phutil_tag(19'a',20array(21'href' => $countdown->getURI(),22),23$countdown->getTitle()),24);2526$header = id(new PHUIHeaderView())27->setHeader($header_text);2829$ths = array(30phutil_tag('th', array(), pht('Days')),31phutil_tag('th', array(), pht('Hours')),32phutil_tag('th', array(), pht('Minutes')),33phutil_tag('th', array(), pht('Seconds')),34);3536$dashes = array(37javelin_tag('td', array('sigil' => 'phabricator-timer-days'), '-'),38javelin_tag('td', array('sigil' => 'phabricator-timer-hours'), '-'),39javelin_tag('td', array('sigil' => 'phabricator-timer-minutes'), '-'),40javelin_tag('td', array('sigil' => 'phabricator-timer-seconds'), '-'),41);4243$epoch = $countdown->getEpoch();44$launch_date = phabricator_datetime($epoch, $this->getUser());45$foot = phutil_tag(46'td',47array(48'colspan' => '4',49'class' => 'phabricator-timer-foot',50),51$launch_date);5253$description = $countdown->getDescription();54if (strlen($description)) {55$description = new PHUIRemarkupView($this->getUser(), $description);56$description = phutil_tag(57'div',58array(59'class' => 'countdown-description phabricator-remarkup',60),61$description);62}6364$container = celerity_generate_unique_node_id();65$content = phutil_tag(66'div',67array('class' => 'phabricator-timer', 'id' => $container),68array(69$description,70phutil_tag('table', array('class' => 'phabricator-timer-table'), array(71phutil_tag('tr', array(), $ths),72phutil_tag('tr', array(), $dashes),73phutil_tag('tr', array(), $foot),74)),75));7677Javelin::initBehavior('countdown-timer', array(78'timestamp' => $countdown->getEpoch(),79'container' => $container,80));8182return id(new PHUIObjectBoxView())83->setHeader($header)84->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)85->addClass('phabricator-timer-view')86->appendChild($content);87}8889}909192