You are here

function og_views_data_og in Organic groups 6

Same name and namespace in other branches
  1. 6.2 modules/og_views/og_views.views.inc \og_views_data_og()

File

modules/og_views/og_views.views.inc, line 124

Code

function og_views_data_og() {
  $data['og']['table']['group'] = t('Organic groups');
  $data['og']['table']['join'] = array(
    'node' => array(
      'left_field' => 'nid',
      'field' => 'nid',
    ),
  );
  $data['og']['description'] = array(
    'title' => t('Group: Description'),
    'real field' => 'og_description',
    'field' => array(
      'handler' => 'views_handler_field_markup',
      'format' => FILTER_FORMAT_DEFAULT,
      'click sortable' => FALSE,
    ),
  );
  $data['og']['member_count'] = array(
    'title' => t('Group: Members count'),
    'field' => array(
      'handler' => 'og_views_handler_field_og_member_count',
      'click sortable' => TRUE,
      'help' => t('Number of members for a group. Excludes memberships which are pending approval.'),
    ),
  );
  $data['og']['post_count'] = array(
    'title' => t('Group: Post count'),
    'field' => array(
      'handler' => 'og_views_handler_field_og_post_count',
      'click sortable' => TRUE,
      'help' => t('Number of published posts in a group. Can be restricted by node type using the <em>Option</em> dropdown.'),
      'notafield' => TRUE,
    ),
  );
  $data['og']['post_count_new'] = array(
    'title' => t('Group: Post count *new*'),
    'field' => array(
      'handler' => 'og_views_handler_field_og_post_count_new',
      'click sortable' => TRUE,
      'help' => t('Number of new posts in a group for the current user.'),
    ),
  );
  $data['og']['selective'] = array(
    'title' => t('Group: Selective'),
    'help' => t('The group preference which determines how membership requests are managed (moderated, invite only, etc.).'),
    'real field' => 'og_selective',
    'field' => array(
      'handler' => 'og_views_handler_field_og_selective',
    ),
    'filter' => array(
      'handler' => 'og_views_handler_filter_og_selective',
    ),
  );
  $data['og']['private'] = array(
    'title' => t('Group: Private'),
    'help' => t('Is the group home page private or not.'),
    'real field' => 'og_private',
    'field' => array(
      'handler' => 'views_handler_field_boolean',
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_boolean_operator',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
  );
  $data['og']['directory'] = array(
    'title' => t('Group: List in directory'),
    'help' => t('Admin specifies whether or not a group appears in the public listings.'),
    'real field' => 'og_directory',
    'field' => array(
      'real field' => 'og_directory',
      'handler' => 'views_handler_field_boolean',
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_boolean_operator',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
  );
  $data['og']['subscribe'] = array(
    'title' => t('Group: Join link'),
    'help' => t('Displays a link for joining a group when a user is not already a member.'),
    'field' => array(
      'handler' => 'og_views_handler_field_og_subscribe',
    ),
  );
  if (module_exists('locale')) {
    $data['og']['language'] = array(
      'title' => t('Group: Language'),
      'help' => t('Displays the language selected for a given group.'),
      'real field' => 'og_language',
      'field' => array(
        'handler' => 'views_handler_field_node_language',
        'click sortable' => TRUE,
      ),
      'filter' => array(
        'handler' => 'views_handler_filter_node_language',
      ),
      'argument' => array(
        'handler' => 'views_handler_argument_node_language',
      ),
    );
  }

  // Pseudofield which actually operates on node.type
  $data['og']['type_groups'] = array(
    'title' => t('Group types'),
    // The item it appears as on the UI,
    'help' => t('The type of a group (for example, "blog entry", "forum post", "story", etc).'),
    'real field' => 'type',
    'filter' => array(
      'handler' => 'og_views_handler_filter_og_type',
    ),
  );
  $data['og']['type_groups_all'] = array(
    'title' => t('Group types (all)'),
    // The item it appears as on the UI,
    'help' => t('The type of a group (for example, "blog entry", "forum post", "story", etc).'),
    'real field' => 'type',
    'filter' => array(
      'handler' => 'og_views_handler_filter_og_type_all',
      'help' => t('Restrict to all content types that have been marked as groups.'),
    ),
  );
  return $data;
}