'drupalit_user_to_vote', 'join' => array( 'type' => 'left', 'left' => array( 'table' => 'node', 'field' => 'nid' ), 'right' => array( 'field' => 'nid' ), ), ); $tables['drupalit_buddylistviews_buddies'] = array( 'name' => 'buddylist', 'join' => array( 'type' => 'left', 'left' => array( 'table' => 'drupalit_buddylistviews_uservotes', 'field' => 'uid' ), 'right' => array( 'field' => 'buddy' ), ), ); return $tables; } function drupalit_buddylistviews_views_arguments() { $arguments['drupalit_buddylistviews_uservotes'] = array( 'name' => t('DrupalIt: Votes cast by UID'), 'handler' => 'drupalit_buddylistviews_handler_arg_uid', 'help' => t('Pass UID to pull users votes.') ); $arguments['drupalit_buddylistviews_buddies'] = array( 'name' => t('DrupalIt: Votes cast by UID\'s buddies'), 'handler' => 'drupalit_buddylistviews_handler_arg_uid_buddies', 'help' => t('Pass UID to pull buddies\' votes from.') ); return $arguments; } function drupalit_buddylistviews_handler_arg_uid($op, &$query, $a1, $a2=null) { switch ($op) { case 'filter': $query->ensure_table('drupalit_buddylistviews_uservotes'); $uid = intval($a2); $query->add_where("drupalit_buddylistviews_uservotes.uid = %d", $uid); break; } } function drupalit_buddylistviews_handler_arg_uid_buddies($op, &$query, $a1, $a2=null) { switch ($op) { case 'filter': $query->ensure_table('drupalit_buddylistviews_buddies'); $uid = intval($a2); $query->add_where("drupalit_buddylistviews_buddies.uid = %d", $uid); break; } }