You are here

function textformatter_contrib_user_reference_field_create_list in Text list formatter 8.2

Same name and namespace in other branches
  1. 7 textformatter_contrib/textformatter_contrib.module \textformatter_contrib_user_reference_field_create_list()

User reference field listing callback.

1 string reference to 'textformatter_contrib_user_reference_field_create_list'
textformatter_contrib_textformatter_field_info in textformatter_contrib/textformatter_contrib.module
Implements hook_textformatter_field_info().

File

textformatter_contrib/textformatter_contrib.module, line 131
Textformatter support for contributed module fields.

Code

function textformatter_contrib_user_reference_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
  $list_items = $user_ids = array();
  $contrib_settings = $display['settings']['textformatter_contrib'];

  // Get an array of entity ids.
  foreach ($items as $delta => $item) {

    // Only add if the access is TRUE for current user.
    if ($item['access']) {
      $user_ids[] = $item['uid'];
    }
  }

  // Load them all.
  if (!empty($user_ids)) {
    $users = entity_load('user', $user_ids);
    foreach ($users as $id => $user) {
      $label = entity_label('user', $user);
      $uri = entity_uri('user', $user);
      if ($contrib_settings['user_reference_link']) {
        $classes = array(
          'user',
          'user-' . $id,
          'user-reference',
        );
        $list_items[$id] = l($label, $uri['path'], array(
          'attributes' => array(
            'class' => $classes,
          ),
        ));
      }
      else {
        $list_items[$id] = field_filter_xss($label);
      }
    }
  }
  return $list_items;
}