renderServerStatus($status); } catch (Exception $ex) { $status = new AphrontErrorView(); $status->setTitle("Notification Server Issue"); $status->appendChild(hsprintf( 'Unable to determine server status. This probably means the server '. 'is not in great shape. The specific issue encountered was:'. '
'. '
'. '%s %s', get_class($ex), phutil_escape_html_newlines($ex->getMessage()))); } $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb(pht('Status')); return $this->buildApplicationPage( array( $crumbs, $status, ), array( 'title' => pht('Notification Server Status'), )); } private function renderServerStatus(array $status) { $rows = array(); foreach ($status as $key => $value) { switch ($key) { case 'uptime': $value /= 1000; $value = phabricator_format_relative_time_detailed($value); break; case 'log': break; default: $value = number_format($value); break; } $rows[] = array($key, $value); } $table = new AphrontTableView($rows); $table->setColumnClasses( array( 'header', 'wide', )); $test_icon = id(new PHUIIconView()) ->setSpriteSheet(PHUIIconView::SPRITE_ICONS) ->setSpriteIcon('warning'); $test_button = id(new PHUIButtonView()) ->setTag('a') ->setWorkflow(true) ->setText(pht('Send Test Notification')) ->setHref($this->getApplicationURI("test/")) ->setIcon($test_icon); $header = id(new PHUIHeaderView()) ->setHeader(pht('Notification Server Status')) ->addActionLink($test_button); $box = id(new PHUIObjectBoxView()) ->setHeader($header) ->appendChild($table); return $box; } }