function social_private_message_social_user_account_header_items in Open Social 8.9
Same name and namespace in other branches
- 8.4 modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
- 8.5 modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
- 8.6 modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
- 8.7 modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
- 8.8 modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
- 10.3.x modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
- 10.0.x modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
- 10.1.x modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
- 10.2.x modules/social_features/social_private_message/social_private_message.module \social_private_message_social_user_account_header_items()
Implements hook_social_user_account_header_items().
Adds the Private Message button and indicator to the account header block if it's enabled by the site manager.
File
- modules/
social_features/ social_private_message/ social_private_message.module, line 495 - The Social Privagte Message module.
Code
function social_private_message_social_user_account_header_items(array $context) {
if (\Drupal::config('social_user.navigation.settings')
->get('display_social_private_message_icon') !== 1) {
return [];
}
// We require a logged in user for this button.
if (empty($context['user']) || !$context['user']
->isAuthenticated() || !$context['user']
->hasPermission('use private messaging system')) {
return [];
}
// Fetch the amount of unread items.
$num_account_messages = \Drupal::service('social_private_message.service')
->updateUnreadCount();
return [
'messages' => [
'#type' => 'account_header_element',
'#wrapper_attributes' => [
'class' => [
'desktop',
],
],
'#title' => new TranslatableMarkup('Inbox'),
'#url' => Url::fromRoute('social_private_message.inbox'),
'#icon' => $num_account_messages > 0 ? 'mail' : 'mail_outline',
'#label' => new TranslatableMarkup('Inbox'),
'#notification_count' => $num_account_messages,
],
];
}