3 final class PhabricatorSettingsIssueController
4 extends PhabricatorController
{
6 public function handleRequest(AphrontRequest
$request) {
7 $viewer = $request->getViewer();
9 $setup_uri = id(new PhabricatorEmailAddressesSettingsPanel())
15 if (!$viewer->getIsEmailVerified()) {
16 // We could specifically detect that the user has missed email because
17 // their address is unverified here and point them at Mail so they can
18 // look at messages they missed.
20 // We could also detect that an administrator unverified their address
21 // and let that come with a message.
23 // For now, just make sure the unverified address does not escape notice.
25 'title' => pht('Primary Email Unverified'),
27 'Your primary email address is unverified. You will not be able '.
28 'to receive email until you verify it.'),
34 require_celerity_resource('phabricator-notification-menu-css');
37 foreach ($issues as $issue) {
39 $classes[] = 'phabricator-notification';
40 $classes[] = 'phabricator-notification-unread';
43 $title = $issue['title'];
44 $summary = $issue['summary'];
46 $items[] = javelin_tag(
50 'phabricator-notification phabricator-notification-unread',
51 'sigil' => 'notification',
57 phutil_tag('strong', array(), pht('%s:', $title)),
63 $content = phutil_tag(
66 'class' => 'setup-issue-menu',
70 $content = phutil_tag(
73 'class' => 'phabricator-notification no-notifications',
75 pht('You have no account setup issues.'));
81 'class' => 'phabricator-notification-header',
88 pht('Account Setup Issues')));
96 'content' => hsprintf('%s', $content),
97 'number' => count($issues),
100 return id(new AphrontAjaxResponse())->setContent($json);