function social_profile_social_user_account_header_items_alter in Open Social 8.5
Same name and namespace in other branches
- 8.9 modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
- 8.4 modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
- 8.6 modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
- 8.7 modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
- 8.8 modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
- 10.3.x modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
- 10.0.x modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
- 10.1.x modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
- 10.2.x modules/social_features/social_profile/social_profile.module \social_profile_social_user_account_header_items_alter()
Implements hook_social_user_account_header_items_alter().
Replaces the default user icon with the user's profile image if available.
File
- modules/
social_features/ social_profile/ social_profile.module, line 689 - The Social profile module.
Code
function social_profile_social_user_account_header_items_alter(array &$menu_items, array $context) {
// If we don't have an account_box there's nothing to do.
if (empty($menu_items['account_box'])) {
return;
}
// A user is required to find the profile image.
if (empty($context['user']) || !$context['user'] instanceof AccountInterface) {
return;
}
$storage = \Drupal::entityTypeManager()
->getStorage('profile');
$profile = $storage
->loadByUser($context['user'], 'profile');
// If the user does not have a profile then there's no profile image.
if (empty($profile)) {
return;
}
// Provide a render array as image which will overrule the user icon.
$menu_items['account_box']['#image'] = \Drupal::entityTypeManager()
->getViewBuilder('profile')
->view($profile, 'small');
}