"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', ), ), ); return($tables); } function buddylist_views_default_views() { $view = new stdClass(); $view->name = 'buddylist'; $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_header_format = '4'; $view->page_footer = ''; $view->page_footer_format = '4'; $view->page_empty = ''; $view->page_empty_format = '4'; $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' => '', ), ); $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; return($views); }