function uma_ImageURL in User Menu Avatar (User Image in Menu) 8.5
Same name and namespace in other branches
- 8.4 user_menu_avatar.module \uma_ImageURL()
Set the $imageURL value.
2 calls to uma_ImageURL()
- uma_Markup in ./
user_menu_avatar.module - Build our new replacement markup.
- user_menu_avatar_preprocess_menu in ./
user_menu_avatar.module - Implements hook_preprocess_hook().
File
- ./
user_menu_avatar.module, line 140 - Display user picture and/or user name in menu.
Code
function uma_ImageURL() {
// Instantiate $imageURL to empty string.
$imageURL = NULL;
// Load image style.
$imageStyle = \Drupal::entityTypeManager()
->getStorage('image_style')
->load('thumbnail');
// Check to show anonymous avatar.
if (\Drupal::currentUser()
->isAnonymous() && uma_CFV()['showAnonymousAvatar'] === 'yes') {
if (isset(uma_CFV()['anonymousUserAvatar'][0])) {
// Load anonymous avatar with image style.
$imageStyleURL = $imageStyle
->buildUrl(File::load(uma_CFV()['anonymousUserAvatar'][0])
->getFileUri());
// Set $imageURL as anonymous image field url value.
$imageURL = file_url_transform_relative($imageStyleURL);
}
}
// Check to show avatar.
if (!\Drupal::currentUser()
->isAnonymous() && uma_CFV()['showAvatar'] === 'yes') {
// Set the avatar field name.
$avatarImageField = uma_CFV()['avatarImageField'];
// Check field has active config.
if (!empty(FieldConfig::loadByName('user', 'user', $avatarImageField))) {
// Check that an image exists in the field instance.
if (uma_getUser()['currentUser']->{$avatarImageField}->entity) {
// Load image with image style.
$imageStyleURL = $imageStyle
->buildUrl(uma_getUser()['currentUser']->{$avatarImageField}->entity->uri->value);
// Set $imageURL as image field url value.
$imageURL = file_url_transform_relative($imageStyleURL);
}
elseif (FieldConfig::loadByName('user', 'user', $avatarImageField)
->getSetting('default_image')['uuid']) {
// Load the default image settings.
$imageGetSettings = FieldConfig::loadByName('user', 'user', $avatarImageField)
->getSetting('default_image');
// Get the default image URI from settings.
$imageURI = Drupal::service('entity.repository')
->loadEntityByUuid('file', $imageGetSettings['uuid'])
->getFileUri();
// Load image with image style.
$imageStyleURL = $imageStyle
->buildUrl($imageURI);
// Set $imageURL as image field default URI value.
$imageURL = file_url_transform_relative($imageStyleURL);
}
}
}
return $imageURL;
}