Path: blob/master/src/applications/config/controller/issue/PhabricatorConfigIssuePanelController.php
12261 views
<?php12final class PhabricatorConfigIssuePanelController3extends PhabricatorConfigController {45public function handleRequest(AphrontRequest $request) {6$viewer = $request->getViewer();78$engine = new PhabricatorSetupEngine();9$response = $engine->execute();10if ($response) {11return $response;12}13$issues = $engine->getIssues();14$unresolved_count = count($engine->getUnresolvedIssues());1516if ($issues) {17require_celerity_resource('phabricator-notification-menu-css');1819$items = array();20foreach ($issues as $issue) {21$classes = array();22$classes[] = 'phabricator-notification';23if ($issue->getIsIgnored()) {24$classes[] = 'phabricator-notification-read';25} else {26$classes[] = 'phabricator-notification-unread';27}28$uri = '/config/issue/'.$issue->getIssueKey().'/';29$title = $issue->getName();30$summary = $issue->getSummary();31$items[] = javelin_tag(32'div',33array(34'class' => implode(' ', $classes),35'sigil' => 'notification',36'meta' => array(37'href' => $uri,38),39),40$title);41}42$content = phutil_tag_div('setup-issue-menu', $items);43} else {44$content = phutil_tag_div(45'phabricator-notification no-notifications',46pht('You have no unresolved setup issues.'));47}4849$content = hsprintf(50'<div class="phabricator-notification-header">%s</div>'.51'%s',52phutil_tag(53'a',54array(55'href' => '/config/issue/',56),57pht('Unresolved Setup Issues')),58$content);5960$json = array(61'content' => $content,62'number' => (int)$unresolved_count,63);6465return id(new AphrontAjaxResponse())->setContent($json);66}6768}697071