diff --git a/buddylist_views.inc b/buddylist_views.inc index 9d414bcdf131ad25749e2e8f4db538930a8675f4..5504e4c51225c8885385b8a6a9642ee9bd1ea139 100644 --- a/buddylist_views.inc +++ b/buddylist_views.inc @@ -100,13 +100,69 @@ function buddylist_views_tables() { ), ), ); + $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'; + $view->name = 'buddylist_posts'; $view->description = 'A list of nodes created by buddies of current user'; $view->access = array (); $view->view_args_php = ''; @@ -116,7 +172,7 @@ function buddylist_views_default_views() { $view->page_footer = ''; $view->page_empty = ''; $view->page_type = 'table'; - $view->url = 'buddies'; + $view->url = 'buddies/posts'; $view->use_pager = TRUE; $view->nodes_per_page = '10'; $view->sort = array ( @@ -167,6 +223,66 @@ function buddylist_views_default_views() { ); $view->requires = array(node, users, buddylist_users); $views[$view->name] = $view; + + + if (module_exist('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); }