"buddylist",
"join" => array(
"left" => array(
"table" => "users",
"field" => "uid",
),
"right" => array(
"field" => "buddy",
),
),
);
$tables['buddylist_users'] = array(
'name' => 'users',
'join' => array(
'left' => array(
'table' => 'buddylist',
'field' => 'uid'
),
'right' => array(
'field' => 'uid'
),
),
'fields' => array(
'name' => array(
'name' => t('Buddylist: User Name'),
'handler' => 'views_handler_field_username',
'sortable' => true,
'uid' => 'uid',
'addlfields' => array('uid'),
'help' => t('This will display the username of the owner of the buddylist.'),
),
'uid' => array(
'name' => t('Buddylist: User Picture'),
'handler' => 'views_handler_field_userpic',
'sortable' => false,
'help' => t('This will display the user picture of the owner of the buddylist.'),
),
),
'sorts' => array(
'name' => array(
'name' => t('Buddylist: Buddy Name'),
'help' => t('This allows you to sort alphabetically by buddy name.'),
)
),
'filters' => array(
'uid' => array(
'name' => t('Buddylist: Author Is A Buddy Of Username'),
'operator' => 'views_handler_operator_or',
'list' => 'views_handler_filter_username',
'value-type' => 'array',
'help' => t('This allows you to filter by buddies of a particular user.'),
),
'currentuid' => array(
'field' => 'uid',
'name' => t('Buddylist: Author Is A Buddy Of Current User'),
'operator' => 'views_handler_operator_eqneq',
'list' => 'views_handler_filter_usercurrent',
'help' => t('This allows you to filter by buddies of the current user.'),
'cacheable' => 'no',
),
),
);
if (module_exists('usernode')) {
$tables['usernode_buddylist'] = array(
"name" => "buddylist",
"join" => array(
"left" => array(
"table" => "usernode",
"field" => "uid",
),
"right" => array(
"field" => "buddy",
),
),
'filters' => array(
'uid' => array(
'name' => t('Buddylist: Usernode Is A Buddy Of Username'),
'operator' => 'views_handler_operator_or',
'list' => 'views_handler_filter_username',
'value-type' => 'array',
'help' => t('This allows you to filter by buddies of a particular user.'),
),
'currentuid' => array(
'field' => 'uid',
'name' => t('Buddylist: Usernode Is A Buddy Of Current User'),
'operator' => 'views_handler_operator_eqneq',
'list' => 'views_handler_filter_usercurrent',
'help' => t('This allows you to filter by buddies of the current user.'),
),
),
);
$tables['usernode_buddylist_buddyof'] = array(
"name" => "buddylist",
"join" => array(
"left" => array(
"table" => "usernode",
"field" => "uid",
),
"right" => array(
"field" => "uid",
),
),
'filters' => array(
'uid' => array(
'name' => t('Buddylist: Username Is A Buddy Of Usernode'),
'operator' => 'views_handler_operator_or',
'list' => 'views_handler_filter_username',
'value-type' => 'array',
'help' => t('This allows you to filter by buddies of a particular user.'),
),
'currentuid' => array(
'field' => 'uid',
'name' => t('Buddylist: Current User Is A Buddy Of Usernode'),
'operator' => 'views_handler_operator_eqneq',
'list' => 'views_handler_filter_usercurrent',
'help' => t('This allows you to filter by buddies of the current user.'),
),
),
);
$tables['usernode_buddylist_buddyof'] = array(
"name" => "buddylist",
"join" => array(
"left" => array(
"table" => "usernode",
"field" => "uid",
),
"right" => array(
"field" => "uid",
),
),
'filters' => array(
'buddy' => array(
'name' => t('Buddylist: Username Is A Buddy Of Usernode'),
'operator' => 'views_handler_operator_or',
'list' => 'views_handler_filter_username',
'value-type' => 'array',
'help' => t('This allows you to filter by buddies of a particular user.'),
),
'currentuid' => array(
'field' => 'buddy',
'name' => t('Buddylist: Current User Is A Buddy Of Usernode'),
'operator' => 'views_handler_operator_eqneq',
'list' => 'views_handler_filter_usercurrent',
'help' => t('This allows you to filter by buddies of the current user.'),
),
),
);
}
return($tables);
}
function buddylist_views_default_views() {
$view = new stdClass();
$view->name = 'buddylist_posts';
$view->description = 'A list of nodes created by buddies of current user';
$view->access = array ();
$view->view_args_php = '';
$view->page = TRUE;
$view->page_title = 'Buddylist Content';
$view->page_header = 'Nodes authored by buddies of current user
';
$view->page_footer = '';
$view->page_empty = '';
$view->page_type = 'table';
$view->url = 'buddies/posts';
$view->use_pager = TRUE;
$view->nodes_per_page = '10';
$view->sort = array (
array (
'tablename' => 'node',
'field' => 'created',
'sortorder' => 'DESC',
'options' => '',
),
);
$view->argument = array (
);
$view->field = array (
array (
'tablename' => 'users',
'field' => 'name',
'label' => 'Buddy',
),
array (
'tablename' => 'node',
'field' => 'title',
'label' => 'Node Title',
'handler' => 'views_handler_field_nodelink',
),
array (
'tablename' => 'node',
'field' => 'type',
'label' => 'Node Type',
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'buddylist_users',
'field' => 'currentuid',
'operator' => '=',
'options' => '',
'value' => '***CURRENT_USER***',
),
);
$view->exposed_filter = array (
);
$view->requires = array(node, users, buddylist_users);
$views[$view->name] = $view;
if (module_exists('usernode')) {
$view = new stdClass();
$view->name = 'buddylist';
$view->description = 'Buddies of the current user';
$view->access = array();
$view->view_args_php = '';
$view->page = TRUE;
$view->page_title = 'Buddylist';
$view->page_header = 'Buddies of the current user
';
$view->page_type = 'table';
$view->url = 'buddies';
$view->use_pager = TRUE;
$view->nodes_per_page = '10';
$view->sort = array (
array (
'tablename' => 'node',
'field' => 'created',
'sortorder' => 'DESC',
'options' => 'normal',
),
);
$view->field = array (
array (
'tablename' => 'node',
'field' => 'title',
'label' => 'Name',
'handler' => 'views_handler_field_nodelink',
'options' => 'link',
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'usernode_buddylist',
'field' => 'currentuid',
'operator' => '=',
'options' => '',
'value' => '***CURRENT_USER***',
),
array (
'tablename' => 'node',
'field' => 'type',
'operator' => 'OR',
'options' => '',
'value' => array (0 => 'usernode'),
),
);
$view->exposed_filter = array (
);
$view->requires = array(node, usernode_buddylist);
$views[$view->name] = $view;
}
return($views);
}