Differential D20358 Diff 48609 src/applications/people/menuitem/PhabricatorPeoplePictureProfileMenuItem.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/people/menuitem/PhabricatorPeoplePictureProfileMenuItem.php
Show All 22 Lines | public function getDisplayName( | ||||
return $this->getDefaultName(); | return $this->getDefaultName(); | ||||
} | } | ||||
public function buildEditEngineFields( | public function buildEditEngineFields( | ||||
PhabricatorProfileMenuItemConfiguration $config) { | PhabricatorProfileMenuItemConfiguration $config) { | ||||
return array(); | return array(); | ||||
} | } | ||||
protected function newNavigationMenuItems( | protected function newMenuItemViewList( | ||||
PhabricatorProfileMenuItemConfiguration $config) { | PhabricatorProfileMenuItemConfiguration $config) { | ||||
$user = $config->getProfileObject(); | $user = $config->getProfileObject(); | ||||
require_celerity_resource('people-picture-menu-item-css'); | |||||
$picture = $user->getProfileImageURI(); | $picture = $user->getProfileImageURI(); | ||||
$name = $user->getUsername(); | $name = $user->getUsername(); | ||||
$classes = array(); | $item = $this->newItemView() | ||||
$classes[] = 'people-menu-image'; | ->setDisabled($user->getIsDisabled()); | ||||
if ($user->getIsDisabled()) { | |||||
$classes[] = 'phui-image-disabled'; | |||||
} | |||||
$href = urisprintf( | |||||
'/p/%s/', | |||||
$user->getUsername()); | |||||
$photo = phutil_tag( | |||||
'img', | |||||
array( | |||||
'src' => $picture, | |||||
'class' => implode(' ', $classes), | |||||
)); | |||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | |||||
$this->getViewer(), | |||||
$user, | |||||
PhabricatorPolicyCapability::CAN_EDIT); | |||||
if ($can_edit) { | |||||
$id = $user->getID(); | |||||
$href = "/people/picture/{$id}/"; | |||||
} | |||||
$view = phutil_tag_div('people-menu-image-container', $photo); | |||||
$view = phutil_tag( | |||||
'a', | |||||
array( | |||||
'href' => $href, | |||||
), | |||||
$view); | |||||
$item = $this->newItem() | $item->newProfileImage($picture); | ||||
->appendChild($view); | |||||
return array( | return array( | ||||
$item, | $item, | ||||
); | ); | ||||
} | } | ||||
} | } |