diff --git a/src/applications/differential/event/DifferentialHovercardEventListener.php b/src/applications/differential/event/DifferentialHovercardEventListener.php --- a/src/applications/differential/event/DifferentialHovercardEventListener.php +++ b/src/applications/differential/event/DifferentialHovercardEventListener.php @@ -38,30 +38,21 @@ $edge_query->execute(); $tasks = $edge_query->getDestinationPHIDs(); - $phids = array_merge( - array( - $rev->getAuthorPHID(), - ), - $reviewer_phids, - $tasks); - - $handles = id(new PhabricatorHandleQuery()) - ->setViewer($viewer) - ->withPHIDs($phids) - ->execute(); - $hovercard->setTitle('D'.$rev->getID()); $hovercard->setDetail($rev->getTitle()); - $hovercard->addField(pht('Author'), - $handles[$rev->getAuthorPHID()]->renderLink()); + $hovercard->addField( + pht('Author'), + $viewer->renderHandle($rev->getAuthorPHID())); - $hovercard->addField(pht('Reviewers'), - implode_selected_handle_links(', ', $handles, $reviewer_phids)); + $hovercard->addField( + pht('Reviewers'), + $viewer->renderHandleList($reviewer_phids)->setAsInline(true)); if ($tasks) { - $hovercard->addField(pht('%s Task(s)', new PhutilNumber(count($tasks))), - implode_selected_handle_links(', ', $handles, $tasks)); + $hovercard->addField( + pht('Tasks'), + $viewer->renderHandleList($tasks)->setAsInline(true)); } if ($rev->getSummary()) { diff --git a/src/applications/maniphest/event/ManiphestHovercardEventListener.php b/src/applications/maniphest/event/ManiphestHovercardEventListener.php --- a/src/applications/maniphest/event/ManiphestHovercardEventListener.php +++ b/src/applications/maniphest/event/ManiphestHovercardEventListener.php @@ -43,21 +43,16 @@ $owner_phid = $task->getOwnerPHID(); - $phids = array_filter(array_merge( - array($owner_phid), - $edge_phids)); - - $viewer_handles = $this->loadHandles($phids, $viewer); - - $hovercard->setTitle(pht('T%d', $task->getID())) + $hovercard + ->setTitle(pht('T%d', $task->getID())) ->setDetail($task->getTitle()); - $owner = phutil_tag('em', array(), pht('None')); if ($owner_phid) { - $owner = $viewer_handles[$owner_phid]->renderLink(); + $owner = $viewer->renderHandle($owner_phid); + } else { + $owner = phutil_tag('em', array(), pht('None')); } - - $hovercard->addField(pht('Assigned to'), $owner); + $hovercard->addField(pht('Assigned To'), $owner); if ($edge_phids) { $edge_types = array( @@ -79,9 +74,10 @@ $hovercard->addField( $edge_name, - implode_selected_handle_links(', ', $viewer_handles, - array_keys($edges[$edge_type])) - ->appendHTML($edge_overflow)); + array( + $viewer->renderHandleList(array_keys($edges[$edge_type])), + $edge_overflow, + )); } } } @@ -91,11 +87,4 @@ $event->setValue('hovercard', $hovercard); } - protected function loadHandles(array $phids, $viewer) { - return id(new PhabricatorHandleQuery()) - ->setViewer($viewer) - ->withPHIDs($phids) - ->execute(); - } - } diff --git a/src/applications/phid/handle/view/render.php b/src/applications/phid/handle/view/render.php deleted file mode 100644 --- a/src/applications/phid/handle/view/render.php +++ /dev/null @@ -1,17 +0,0 @@ -renderLink(); - } - - return phutil_implode_html($glue, $items); -}