Newer
Older
<?php
// $Id$
/**
* Implementation of the hook_views_tables()
*/
function og_views_tables() {
$types = variable_get('og_node_types', array('og'));
$languages = module_invoke('locale', 'supported_languages', FALSE, TRUE);
foreach ($types as $type) {
$type_options[$type] = node_get_types('name', $type);
}
return array(
'og' => array(
'name' => 'og',
'join' => array(
'left' => array(
'table' => 'node',
'field' => 'nid'
),
'right' => array(
'field' => 'nid'
),
),
'fields' => array(
'description' => array(
'name' => t('OG: Group: Description'),
'name' => t('OG: Group: Subscriber Count'),
'handler' => 'og_handler_field_count',
'help' => t('Number of subscribers for a group. Excludes subscriptions which are pending approval.'),
'sortable' => FALSE,
'notafield' => TRUE,
),
'post_count' => array(
'name' => t('OG: Group: Post Count'),
'handler' => 'og_handler_post_count',
'sortable' => FALSE,
'notafield' => TRUE,
'help' => t('Number of published posts in a group. Can be restricted by node type using the <em>Option</em> dropdown.'),
'option' => array(
'#type' => 'select',
'#options' => array_merge(array('all' => t('All')), node_get_types('names')),
'#default_value' => 'all',
// View will not save with #multiple, for some reason. Help.
// '#multiple' => TRUE,
),
'name' => t('OG: Group: Post Count *New*'),
'handler' => 'og_handler_post_count_new',
'sortable' => FALSE,
'notafield' => TRUE,
'help' => t('Number of new posts in a group for the current user. The <em>new</em> indicator may be optionally appended using the <em>Option</em> dropdown.'),
'option' => array(
'#type' => 'select',
'#options' => array(
'normal' => 'Normal',
'withmark' => 'With new mark'
),
),
),
'name' => t('OG: Group: Selective'),
'private' => array(
'name' => t('OG: Group: Selective'),
),
'name' => t('OG: Group: Subscribe Link'),
'handler' => 'og_handler_field_subscribe',
'addlfields' => array('selective'),
'sortable' => FALSE,
'notafield' => TRUE,
'help' => t('Displays a links for subscribing to a group when a user is not already a member.'),
'name' => t('OG: Group: Notification'),
'handler' => 'og_handler_field_yesempty',
'help' => t('Displays <em>yes</em> if group automatically sends email notifications to subscribers'),
'name' => t('OG: Group: Language'),
'handler' => 'og_handler_field_language',
'sortable' => TRUE,
'help' => t('Displays the language selected for a given group.'),
),
),
'filters' => array(
'directory' => array(
'name' => t('OG: Group: List in directory'),
'list' => 'views_handler_operator_yesno',
'list-type' => 'select',
'help' => t('Admin specifies whether or not a group appears in the public listings.'),
'private' => array(
'name' => t('OG: Group: Private'),
'operator' => array('=' => 'Is'),
'list' => 'views_handler_operator_yesno',
'list-type' => 'select',
'help' => t('Is the group home page private or not.'),
),
'name' => t('OG: Group: Selective'),
'operator' => 'views_handler_operator_or',
'list-type' => 'list',
'list' => array(OG_OPEN => t('Open'), OG_MODERATED => t('Moderated'), OG_INVITE_ONLY => t('Invite Only'), OG_CLOSED => t('Closed')),
'help' => t('The group preference which determines how subscriptions requests are managed (moderated, invite only, etc.).'),
'name' => t('OG: Group: Language'),
'operator' => 'views_handler_operator_andor',
'option' => 'string',
'value-type' => 'array',
'value' => array(
'#type' => 'select',
'#options' => $languages['name'],
'#multiple' => TRUE,
),
'help' => t('Restrict groups to specific languages.'),
),
),
),
'og_ancestry' => array(
'name' => 'og_ancestry',
'join' => array(
'left' => array(
'table' => 'node',
'field' => 'nid',
),
'right' => array(
'field' => 'nid',
),
),
'filters' => array(
'gid' => array(
'name' => t('OG: Post in specified group (by number)'),
moshe weitzman
committed
'operator' => array('=' => 'Is'),
'help' => t('Filter for posts in specified organic groups. <em>Value</em> should be a one or more node ids (i.e. integers), separated by commas or pluses. Like taxonomy, pluses indicate that the post must appear in one of the specified groups, whereas commas indicate that the post must appear in every specified group. The page context (if View is a page) will be set to the first listed group. That means that blocks and breadcrumbs (and theme and locale, if applicable) will be based upon the first specified node id.'),
),
'group_name_like' => array(
// this filter does not set any context because i am delegating filtering to built
// in views like handler. i can't easily learn which groups matched later.
'name' => t('OG: Post in specified groups (by name)'),
moshe weitzman
committed
'handler' => 'og_handler_filter_group_name_like',
'operator' => 'views_handler_operator_like',
'help' => t('Filter for posts in specified organic groups. Value should be a one or more group names (partial name is supported), separated by commas or pluses. Like taxonomy, pluses indicate that the post must appear in one of the specified groups, whereas commas indicate that the post must appear in every specified group. The page context is <strong>not</strong> be set the the first specified group (unfortunately, you must use <em>OG: Post in specified group (by number)</em> for that).'),
),
'gtype' => array(
'name' => t('OG: Post in specified group type'),
'list' => variable_get('og_node_types', array('og')),
'list-type' => 'list',
'operator' => 'views_handler_operator_or',
'value-type' => 'array',
'field' => 'group_nid',
'handler' => 'og_handler_filter_post_og_type',
'help' => t('Filter for a given organic group type.'),
),
'picg' => array(
'name' => t('OG: Posts in current group'),
moshe weitzman
committed
'help' => t('Posts in current group. Useful for blocks where determining context is hard. If page is not in any group context, no nodes are listed and thus a block would not appear.'),
'operator' => 'views_handler_operator_eqneq',
'list' => 'views_handler_filter_groupcurrent',
'list-type' => 'select',
'handler' => 'og_handler_filter_picg',
),
'is_public' => array(
'name' => t('OG: Public'),
'help' => t('Posts marked as Public, which are viewable by non group members as well.'),
'operator' => array('=' => t('Is')),
'list' => 'views_handler_operator_yesno',
'list-type' => 'select',
'field' => 'is_public',
'handler' => 'og_handler_filter_public',
),
'fields' => array(
'is_public' => array(
'name' => t('OG: Public'),
'handler' => 'og_handler_field_yesempty',
'help' => t('Displays <em>yes</em> if post is public according to OG.'),
)
),
),
'og_node_data' => array(
'name' => 'node',
'join' => array(
'left' => array(
'table' => 'og_ancestry',
'field' => 'group_nid',
),
'right' => array(
'field' => 'nid',
),
),
'fields' => array(
'title' => array(
'name' => t('OG: Group names'),
'handler' => 'og_handler_field_nodelink',
'notafield' => TRUE,
'help' => t('Display links to any groups that are affiliated with a post.'),
),
),
),
'og_uid' => array(
'name' => 'og_uid',
'join' => array(
'left' => array(
'table' => 'node',
'field' => 'nid',
),
'right' => array(
'field' => 'nid',
),
'extra' => array(
'is_active' => 1,
),
),
'fields' => array(
'mail_type' => array(
'name' => t('OG: Subscription email'),
'handler' => 'og_handler_field_yesempty',
'sortable' => false,
'help' => t('Does subscriber receive email notifications for a group.'),
),
'managelink' => array(
'name' => t('OG: Manage subscription link'),
'handler' => 'og_handler_field_managelink',
'sortable' => FALSE,
'notafield' => TRUE,
),
'is_admin' => array(
'name' => t('OG: Is subscriber an admin in a group'),
'handler' => 'og_handler_field_yesempty',
'sortable' => FALSE,
),
),
'filters' => array(
'currentuidsimple' => array(
'field' => 'uid',
'name' => t('OG: Group in User Subbed Groups'),
'operator' => 'views_handler_operator_eqneq',
'list' => 'views_handler_filter_usercurrent',
'list-type' => 'select',
'help' => t('Groups are filtered to where current user is a member .'),
),
),
),
'og_uid_node' => array(
'name' => 'og_uid',
'join' => array(
'left' => array(
'table' => 'og_node_data',
'field' => 'nid',
),
'right' => array(
'field' => 'nid',
),
'extra' => array(
'is_active' => 1,
),
),
'filters' => array(
'currentuid' => array(
'field' => 'uid',
'name' => t('OG: Post in User Subbed Groups'),
'operator' => 'views_handler_operator_eqneq',
'list' => 'views_handler_filter_usercurrent',
'list-type' => 'select',
'help' => t('Posts are filtered to groups that current user is a member of.'),
),
),
),
// pseudotable for adding filter on node table and eventually more
'og_views' => array(
'name' => 'node',
'join' => array(
'left' => array(
'table' => 'node',
'field' => 'nid',
),
'right' => array(
'field' => 'nid',
)
),
// here's a filter that is limited to og content types to be used for exposed filters that should not contain other values
'filters' => array(
'og_type_selector' => array(
moshe weitzman
committed
'field' => 'type',
'name' => t('OG: node type (selector)'),
'list' => $type_options,
'list-type' => 'list',
'operator' => 'views_handler_operator_or',
'value-type' => 'array',
'help' => t('A node type selector that is limited to og-enabled node types. Use as exposed filter that only contains og node types.'),
),
'og_type' => array(
'field' => 'type',
'name' => t('OG: type'),
'operator' => array('=' => t('Is')),
'list' => array('a group node'),
'list-type' => 'select',
'handler' => 'og_handler_filter_og_type',
'help' => t('Restrict to node types which have been designated behave as groups.'),
),
),
),
);
}
function og_views_arguments() {
$args = array(
'gid' => array(
'name' => t("OG: Group nid(s)"),
'handler' => 'og_handler_argument_gid',
moshe weitzman
committed
'help' => t('Filter for the one or more organic groups. Groups should be specified as a comma or plus delimited list of node ids, like taxonomy URLs. '),
),
'name' => array(
'name' => t("OG: Group name"),
moshe weitzman
committed
'handler' => 'og_handler_argument_group_name_like',
'option' => array(
'#type' => 'select',
'#options' => 'views_handler_operator_like',
),
'help' => t('Filter for the one or more organic groups. Groups should be specified by name, or part of a name. Use the <em>Option</e> field to specify how to match the supplied name.'),
)
);
return $args;
}
/*
moshe weitzman
committed
* Custom argument for filtering by one or more group nids.
*/
function og_handler_argument_gid($op, &$query, $argtype, $arg = '') {
switch ($op) {
moshe weitzman
committed
og_handler_summary($fieldinfo, $query);
moshe weitzman
committed
if ($name = $query->title) {
return l($name, "node/". intval($query->group_nid));
moshe weitzman
committed
}
else {
// return l(t('Unaffiliated'), "$arg/-1-1"); // just signifies 'no group'
return t('All posts');
}
break;
case 'sort':
// no luck using add_orderby method.
$query->orderby[] = ' num_nodes '. $argtype;
break;
moshe weitzman
committed
og_views_break_phrase($arg, $query);
break;
case 'title':
return db_result(db_query_range('SELECT title FROM {node} WHERE nid = %d', $query, 0, 1));;
}
}
/*
* Custom argument for filtering by group name. Delegates much work to views_handler_filter_like()
*/
function og_handler_argument_group_name_like($op, &$query, $argtype, $arg = '') {
switch ($op) {
case 'summary':
og_handler_summary($fieldinfo, $query);
return $fieldinfo;
case 'link':
if ($name = $query->title) {
return l($name, "node/$query->group_nid");
moshe weitzman
committed
}
else {
// return l(t('Unaffiliated'), "$arg/-1-1"); // just signifies 'no group'
return t('All posts');
}
break;
case 'sort':
// no luck using add_orderby method.
$query->orderby[] = ' num_nodes '. $argtype;
break;
moshe weitzman
committed
case 'filter':
$query->ensure_table('og_node_data');
moshe weitzman
committed
$filterinfo['table'] = 'og_node_data';
$filterinfo['field'] = 'title';
$filter = array('value' => $arg, 'operator' => $argtype['options']);
views_handler_filter_like('handler', $filter, $filterinfo, $query);
return check_plain($query);
moshe weitzman
committed
// not currently in use. should work though.
// helper function. restrict to unaffiliated posts.
// function og_handler_unaffiliated(&$query) {
// list($types, $in) = og_get_sql_args();
// $query->add_where("node.type NOT IN ($in)", $types);
//
// $query->ensure_table('og_ancestry');
// $query->add_where('og_ancestry.group_nid IS NULL');
// }
// helper function.
function og_handler_summary(&$fieldinfo, &$query) {
$query->ensure_table('og_ancestry');
$query->ensure_table('og_node_data');
$query->add_field('title', 'og_node_data');
$query->add_field('group_nid', 'og_ancestry');
$fieldinfo['field'] = 'og_node_data.nid'; //og_node_data.nid";
moshe weitzman
committed
}
/**
* Provide a default view for getting new posts in a group
*/
function og_views_default_views() {
moshe weitzman
committed
// og_mytracker
$view = new stdClass();
$view->name = 'og_mytracker';
moshe weitzman
committed
$view->description = 'Shows all activity in subscribed groups.';
$view->access = array (
0 => '2',
);
$view->view_args_php = '';
$view->page = TRUE;
moshe weitzman
committed
$view->page_title = 'Recent posts in my groups';
$view->page_header = '';
$view->page_header_format = '1';
$view->page_footer = '';
$view->page_footer_format = '1';
moshe weitzman
committed
$view->page_empty = 'There are no posts in your subscribed groups.';
$view->page_empty_format = '1';
$view->page_type = 'table';
$view->url = 'group/mytracker';
$view->use_pager = TRUE;
$view->nodes_per_page = '25';
$view->menu = TRUE;
moshe weitzman
committed
$view->menu_title = 'My recent';
moshe weitzman
committed
$view->menu_tab_weight = '0';
moshe weitzman
committed
$view->menu_tab_default_parent = NULL;
$view->menu_tab_default_parent_type = 'tab';
$view->menu_parent_tab_weight = '0';
$view->menu_parent_title = '';
$view->sort = array (
);
$view->argument = array (
array (
'type' => 'rss_feed',
'argdefault' => '2',
'title' => '',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
moshe weitzman
committed
);
$view->field = array (
array (
'tablename' => 'og_node_data',
'field' => 'title',
moshe weitzman
committed
'label' => 'Group',
),
array (
'tablename' => 'node',
'field' => 'type',
moshe weitzman
committed
'label' => 'Type',
'sortable' => '1',
),
array (
'tablename' => 'node',
'field' => 'title',
moshe weitzman
committed
'label' => 'Group',
'handler' => 'views_handler_field_nodelink_with_mark',
'sortable' => '1',
moshe weitzman
committed
'options' => 'link',
),
array (
'tablename' => 'users',
'field' => 'name',
moshe weitzman
committed
'label' => 'Author',
'sortable' => '1',
),
array (
'tablename' => 'node_comment_statistics',
'field' => 'comment_count',
moshe weitzman
committed
'label' => 'Replies',
'handler' => 'views_handler_comments_with_new',
'sortable' => '1',
),
array (
'tablename' => 'node_comment_statistics',
'field' => 'last_comment_timestamp',
moshe weitzman
committed
'label' => 'Last Post',
'handler' => 'views_handler_field_since',
'sortable' => '1',
'defaultsort' => 'DESC',
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'og_uid_node',
'field' => 'currentuid',
'operator' => '=',
'options' => '',
'value' => '***CURRENT_USER***',
),
moshe weitzman
committed
);
$view->exposed_filter = array (
moshe weitzman
committed
$view->requires = array(og_node_data, node, users, og_uid_node);
$views[$view->name] = $view;
// OG_UNREAD VIEW
$view = new stdClass();
$view->name = 'og_unread';
moshe weitzman
committed
$view->description = 'Shows unread posts in subscribed groups.';
$view->access = array (
0 => '2',
);
$view->view_args_php = '';
$view->page = TRUE;
moshe weitzman
committed
$view->page_title = 'Unread posts in my groups';
$view->page_header = '';
$view->page_header_format = '1';
$view->page_footer = '';
$view->page_footer_format = '1';
moshe weitzman
committed
$view->page_empty = 'There are no new posts in your subscribed groups.';
$view->page_empty_format = '1';
$view->page_type = 'table';
$view->url = 'group/myunread';
$view->use_pager = TRUE;
$view->nodes_per_page = '25';
$view->menu = TRUE;
moshe weitzman
committed
$view->menu_title = 'My unread';
moshe weitzman
committed
$view->menu_tab_weight = '-5';
moshe weitzman
committed
$view->menu_tab_default_parent = NULL;
$view->menu_tab_default_parent_type = 'normal';
$view->menu_parent_tab_weight = '0';
$view->menu_parent_title = '';
$view->sort = array (
);
$view->argument = array (
array (
'type' => 'rss_feed',
'argdefault' => '2',
'title' => '',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
);
$view->field = array (
array (
'tablename' => 'og_node_data',
'field' => 'title',
moshe weitzman
committed
'label' => 'Group',
),
array (
'tablename' => 'node',
'field' => 'type',
moshe weitzman
committed
'label' => 'Type',
'sortable' => '1',
),
array (
'tablename' => 'node',
'field' => 'title',
moshe weitzman
committed
'label' => 'Group',
'handler' => 'views_handler_field_nodelink_with_mark',
'sortable' => '1',
moshe weitzman
committed
'options' => 'link',
),
array (
'tablename' => 'users',
'field' => 'name',
moshe weitzman
committed
'label' => 'Author',
'sortable' => '1',
),
array (
'tablename' => 'node_comment_statistics',
'field' => 'comment_count',
moshe weitzman
committed
'label' => 'Replies',
'handler' => 'views_handler_comments_with_new',
'sortable' => '1',
),
array (
'tablename' => 'node_comment_statistics',
'field' => 'last_comment_timestamp',
moshe weitzman
committed
'label' => 'Last Post',
'handler' => 'views_handler_field_since',
'sortable' => '1',
'defaultsort' => 'DESC',
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'og_uid_node',
'field' => 'currentuid',
'operator' => '=',
'options' => '',
'value' => '***CURRENT_USER***',
),
array (
'tablename' => 'history',
'field' => 'timestamp',
'operator' => '0',
'options' => '',
moshe weitzman
committed
'value' => array (
0 => '0',
),
moshe weitzman
committed
$view->exposed_filter = array (
);
$view->requires = array(og_node_data, node, users, node_comment_statistics, og_uid_node, history);
$views[$view->name] = $view;
moshe weitzman
committed
// Group home page: river of news
$view = new stdClass();
$view->name = 'og_ghp_ron';
$view->description = 'OG: Group home page - River of news. Default';
moshe weitzman
committed
$view->page_type = 'teaser';
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
$view->access = array ();
$view->view_args_php = '';
$view->sort = array (
array (
'tablename' => 'node',
'field' => 'sticky',
'sortorder' => 'DESC',
'options' => '',
),
array (
'tablename' => 'node',
'field' => 'created',
'sortorder' => 'DESC',
'options' => '',
),
);
$view->argument = array (
array (
'type' => 'gid',
'argdefault' => '1',
'title' => '%1',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
array (
'type' => 'rss_feed',
'argdefault' => '2',
'title' => '',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
);
$view->use_pager = TRUE;
$view->nodes_per_page = '50';
$view->exposed_filter = array ();
$view->requires = array(node);
$views[$view->name] = $view;
// og/my
$view = new stdClass();
$view->name = 'og_my';
moshe weitzman
committed
$view->description = 'List user\'s subscribed groups and provide link to manage subscription';
$view->access = array (
0 => '2',
);
$view->view_args_php = '';
$view->page = TRUE;
moshe weitzman
committed
$view->page_title = 'My groups';
$view->page_header = strtr('You may edit all your email subscriptions using this convenient page. Also, you might be interested in an <a href="!url" rel="nofollow">OPML feed containing feeds from all your subscribed groups</a>.', array('!url' => url('og/opml')));
$view->page_header_format = '1';
$view->page_footer = '<?php
$url = url("og/opml");
return theme(\'opml_icon\', $url);
?>';
$view->page_footer_format = '2';
moshe weitzman
committed
$view->page_empty = 'No subscribed groups';
$view->page_empty_format = '1';
$view->page_type = 'table';
$view->url = 'og/my';
$view->use_pager = TRUE;
$view->nodes_per_page = '50';
$view->menu = TRUE;
$view->menu_title = '';
$view->menu_tab = TRUE;
$view->menu_tab_weight = '0';
moshe weitzman
committed
$view->menu_tab_default = FALSE;
$view->menu_tab_default_parent = NULL;
$view->menu_tab_default_parent_type = 'tab';
$view->menu_parent_tab_weight = '0';
$view->menu_parent_title = '';
$view->sort = array (
array (
'tablename' => 'node',
'field' => 'title',
'sortorder' => 'ASC',
'options' => '',
),
);
$view->argument = array (
array (
'type' => 'rss_feed',
'argdefault' => '2',
'title' => '',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
);
$view->field = array (
array (
'tablename' => 'node',
'field' => 'title',
moshe weitzman
committed
'label' => 'Group',
'handler' => 'views_handler_field_nodelink',
'options' => 'link',
),
array (
'tablename' => 'users',
'field' => 'name',
moshe weitzman
committed
'label' => 'Manager',
),
array (
'tablename' => 'og',
'field' => 'count',
moshe weitzman
committed
'label' => 'Subscribers',
),
array (
'tablename' => 'og_uid',
'field' => 'mail_type',
moshe weitzman
committed
'label' => 'Email',
),
array (
'tablename' => 'og_uid',
'field' => 'managelink',
moshe weitzman
committed
'label' => 'Manage',
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'og_uid',
'field' => 'currentuidsimple',
'operator' => '=',
'options' => '',
'value' => '***CURRENT_USER***',
),
array (
'tablename' => 'og_views',
'field' => 'og_type',
'operator' => '=',
'options' => '',
moshe weitzman
committed
'value' => '0',
),
);
$view->exposed_filter = array (
);
$view->requires = array(node, users, og, og_uid, og_views);
$views[$view->name] = $view;
moshe weitzman
committed
// og view
$view = new stdClass();
$view->name = 'og';
moshe weitzman
committed
$view->description = 'groups directory';
$view->access = array (
);
$view->view_args_php = '';
$view->page = TRUE;
moshe weitzman
committed
$view->page_title = 'Groups directory';
$view->page_header = '';
$view->page_header_format = '2';
$view->page_footer = '';
$view->page_footer_format = '1';
moshe weitzman
committed
$view->page_empty = 'No groups';
$view->page_empty_format = '1';
$view->page_type = 'table';
moshe weitzman
committed
$view->url = 'og/all';
$view->use_pager = TRUE;
$view->nodes_per_page = '90';
$view->menu = TRUE;
moshe weitzman
committed
$view->menu_title = 'Groups';
$view->menu_tab = TRUE;
$view->menu_tab_weight = '-5';
moshe weitzman
committed
$view->menu_tab_default = TRUE;
$view->menu_tab_default_parent = NULL;
$view->menu_tab_default_parent_type = 'normal';
$view->menu_parent_tab_weight = '-5';
$view->menu_parent_title = '';
$view->sort = array (
);
$view->argument = array (
array (
'type' => 'rss_feed',
'argdefault' => '2',
'title' => '',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
);
$view->field = array (
array (
'tablename' => 'node',
'field' => 'title',
moshe weitzman
committed
'label' => 'Group',
'handler' => 'views_handler_field_nodelink',
'sortable' => '1',
'options' => 'link',
),
array (
'tablename' => 'users',
'field' => 'name',
moshe weitzman
committed
'label' => 'Manager',
),
array (
'tablename' => 'og',
'field' => 'count',
moshe weitzman
committed
'label' => 'Subscribers',
),
array (
'tablename' => 'og',
'field' => 'description',
moshe weitzman
committed
'label' => 'Description',
),
array (
'tablename' => 'og',
'field' => 'subscribe',
moshe weitzman
committed
'label' => 'Subscribe',
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'og',
'field' => 'directory',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'node',
'field' => 'title',
'operator' => 'contains',
'options' => '',
'value' => '\'\'',
),
array (
'tablename' => 'og_views',
'field' => 'og_type',
'operator' => '=',
'options' => '',
'value' => '0',
),
);
$view->exposed_filter = array (
array (
'tablename' => 'node',
'field' => 'title',
moshe weitzman
committed
'label' => 'Search for a group by name',
'optional' => '1',
'is_default' => '0',
'operator' => '1',
'single' => '0',
),
);
$view->requires = array(node, users, og, og_views);
$views[$view->name] = $view;
moshe weitzman
committed
// og_tracker
$view = new stdClass();
$view->name = 'og_tracker';
moshe weitzman
committed
$view->description = 'Shows active posts across the whole site';
$view->access = array (
);
$view->view_args_php = '';
$view->page = TRUE;
moshe weitzman
committed
$view->page_title = 'Recent posts across whole site';
$view->page_header = '';
$view->page_header_format = '1';
$view->page_footer = '';
$view->page_footer_format = '1';
$view->page_empty = '';
$view->page_empty_format = '1';
$view->page_type = 'table';
$view->url = 'group/tracker';
$view->use_pager = TRUE;
$view->nodes_per_page = '25';
$view->menu = TRUE;
moshe weitzman
committed
$view->menu_title = 'Recent posts';
$view->menu_tab = TRUE;
$view->menu_tab_weight = '5';
moshe weitzman
committed
$view->menu_tab_default = FALSE;
$view->menu_tab_default_parent = NULL;
$view->menu_tab_default_parent_type = 'tab';
$view->menu_parent_tab_weight = '0';
$view->menu_parent_title = '';
$view->sort = array (
array (
'tablename' => 'node_comment_statistics',
'field' => 'last_comment_timestamp',
'sortorder' => 'DESC',
'options' => 'normal',
),
);
$view->argument = array (
array (
'type' => 'uid',
'argdefault' => '2',
moshe weitzman
committed
'title' => 'Recent posts for %1',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
array (
'type' => 'rss_feed',
'argdefault' => '2',
'title' => '',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
);
$view->field = array (
array (
'tablename' => 'node',
'field' => 'type',
moshe weitzman
committed
'label' => 'Type',
),
array (
'tablename' => 'node',
'field' => 'title',
'handler' => 'views_handler_field_nodelink_with_mark',
'options' => 'link',
),
array (
'tablename' => 'users',
'field' => 'name',
moshe weitzman
committed
'label' => 'Author',
),
array (
'tablename' => 'node_comment_statistics',
'field' => 'comment_count',
moshe weitzman
committed
'label' => 'Replies',
'handler' => 'views_handler_comments_with_new',
),
array (
'tablename' => 'og_node_data',
'field' => 'title',
moshe weitzman
committed
'label' => 'Groups',