You are here

function user_relationship_views_arg_handler in User Relationships 5.2

handler for views argument

1 string reference to 'user_relationship_views_arg_handler'
user_relationship_views_views_arguments in plugins/user_relationship_views/user_relationship_views.module
views_arguments_hook()

File

plugins/user_relationship_views/user_relationship_views.module, line 292

Code

function user_relationship_views_arg_handler($op, &$query, $arg_type, $arg = '') {
  switch ($op) {
    case 'filter':
      $query
        ->ensure_table('user_relationships', true);
      $arg = intval($arg);
      switch ($arg_type['type']) {
        case 'ur_uid':
          $field = 'requester_id';
          break;
        case 'ur_rtid':
          $field = 'rtid';
          break;
        case 'ur_approved':
          $field = 'approved';
          break;
      }
      if (isset($field)) {
        $query
          ->add_where('user_relationships.%s = %d', $field, $arg);
      }
      break;
    case 'title':
      switch ($arg_type) {
        case 'ur_uid':
          $title = db_result(db_query("SELECT name FROM {users} WHERE uid = %d", $query));
          break;
        case 'ur_rtid':
          $title = db_result(db_query("SELECT plural_name FROM {user_relationship_types} WHERE rtid = %d", $query));
          break;
        case 'ur_approved':
          $title = theme('user_relationships_approval_status', $query);
          break;
      }
      return check_plain($title);
  }
}