You are here

function uma_ImageURL in User Menu Avatar (User Image in Menu) 8.4

Same name and namespace in other branches
  1. 8.5 user_menu_avatar.module \uma_ImageURL()

Set the $imageURL value.

2 calls to uma_ImageURL()
uma_apply_markup in ./user_menu_avatar.module
Apply markup per menu link.
uma_Markup in ./user_menu_avatar.module
Build our new replacement markup.

File

./user_menu_avatar.module, line 113
Display user picture and/or user name in menu.

Code

function uma_ImageURL() {

  // Instantiate $imageURL to empty string.
  $imageURL = '';

  // Compare $showAvatar.
  if (uma_CFV()['showAvatar'] == 'yes') {

    // Set the avatar field name.
    $imageFieldName = uma_CFV()['avatarImageField'];

    // Check that the field exists.
    if (!empty(FieldConfig::loadByName('user', 'user', $imageFieldName))) {

      // Load image style.
      $imageStyle = \Drupal::entityTypeManager()
        ->getStorage('image_style')
        ->load('thumbnail');

      // Check that an image exists in the field.
      if (uma_getUser()['currentUser']->{$imageFieldName}->entity) {

        // Load image with image style.
        $imageStyleURL = $imageStyle
          ->buildUrl(uma_getUser()['currentUser']->{$imageFieldName}->entity->uri->value);

        // Set $imageURL as image field url value.
        $imageURL = $imageStyleURL;
      }
      elseif (FieldConfig::loadByName('user', 'user', $imageFieldName)
        ->getSetting('default_image')['uuid']) {

        // Load the default image settings.
        $imageGetSettings = FieldConfig::loadByName('user', 'user', $imageFieldName)
          ->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 = $imageStyleURL;
      }
    }
  }
  return file_url_transform_relative($imageURL);
}