You are here

function oa_users_oa_members_toolbar_render in Open Atrium Core 7.2

Run-time rendering of the body of the block (content type) See ctools_plugin_examples for more advanced info

1 string reference to 'oa_users_oa_members_toolbar_render'
oa_members_toolbar.inc in modules/oa_users/plugins/content_types/oa_members_toolbar.inc

File

modules/oa_users/plugins/content_types/oa_members_toolbar.inc, line 28

Code

function oa_users_oa_members_toolbar_render($subtype, $conf, $args, $context = NULL) {
  $block = FALSE;
  $space_id = oa_core_get_space_context();
  if (isset($space_id) && ($space = node_load($space_id)) && node_access('view', $space)) {
    $vars = array();
    $vars['title'] = t('Space Members');
    $member_url = 'node/' . $space_id . '/members';
    $vars['member_url'] = drupal_valid_path($member_url) ? url($member_url) : '';
    $vars['space_title'] = $space->title;
    $admins = array();
    $members = array();
    if (!empty($conf['show_members'])) {
      $users = oa_core_get_users_for_space($space->nid);
      uasort($users, 'oa_core_sort_users_by_name');
      foreach ($users as $index => $member) {
        $link = array(
          'title' => $member->name,
          'href' => 'user/' . $member->uid,
        );
        $roles = og_get_user_roles('node', $space->nid, $member->uid);
        if (in_array(OG_ADMINISTRATOR_ROLE, $roles) || $member->uid == $space->uid) {
          $admins[$member->uid] = $link;
        }
        else {
          $members[$member->uid] = $link;
        }
      }
      $links = array();
      if (drupal_valid_path($member_url)) {
        $links[] = array(
          'title' => t('Member list'),
          'href' => $member_url,
        );
      }
      $url = 'group/node/' . $space_id . '/admin/people';
      if (drupal_valid_path($url)) {
        $links[] = array(
          'title' => t('Bulk manage'),
          'href' => $url,
        );
      }
      $vars['links'] = theme('links', array(
        'links' => $links,
      ));
      $vars['admins'] = theme('links', array(
        'links' => $admins,
      ));
      $vars['members'] = theme('links', array(
        'links' => $members,
      ));
    }
    $vars['btn_class'] = !empty($conf['btn_class']) ? check_plain($conf['btn_class']) : 'btn';
    $vars['direction'] = !empty($conf['direction']) ? check_plain($conf['direction']) : '';
    $vars['icon'] = !empty($conf['icon_class']) ? check_plain($conf['icon_class']) : 'icon-user';
    $block = new stdClass();
    $block->title = '';
    $block->content = theme('oa_members_toolbar', $vars);
  }
  return $block;
}