Skip to:
Content

BuddyPress.org

Changeset 2702


Ignore:
Timestamp:
02/12/2010 02:14:20 PM (16 years ago)
Author:
apeatling
Message:

Fixing up API so it is consistent for get_users, get_groups and get_blogs.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-blogs.php

    r2698 r2702  
    313313 * true or false on success or failure.
    314314 */
     315
     316function bp_blogs_get_blogs( $args = '' ) {
     317    global $bp;
     318
     319    $defaults = array(
     320        'type' => 'active', // active, alphabetical, newest, or random.
     321        'user_id' => false, // Pass a user_id to limit to only blogs that this user has privilages higher than subscriber on.
     322        'search_terms' => false, // Limit to blogs that match these search terms
     323
     324        'per_page' => 20, // The number of results to return per page
     325        'page' => 1, // The page to return if limiting per page
     326    );
     327
     328    $params = wp_parse_args( $args, $defaults );
     329    extract( $params, EXTR_SKIP );
     330
     331    return apply_filters( 'bp_blogs_get_blogs', BP_Blogs_Blog::get( $type, $per_page, $page, $user_id, $search_terms ), &$params );
     332}
     333
    315334
    316335function bp_blogs_record_existing_blogs() {
  • trunk/bp-blogs/bp-blogs-templatetags.php

    r2695 r2702  
    2727            $this->blogs = BP_Blogs_Blog::get_by_letter( $_REQUEST['letter'], $this->pag_num, $this->pag_page );
    2828        else
    29             $this->blogs = BP_Blogs_Blog::get( $type, $this->pag_num, $this->pag_page, $user_id, $search_terms );
     29            $this->blogs = bp_blogs_get_blogs( array( 'type' => $type, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'user_id' => $user_id, 'search_terms' => $search_terms ) );
    3030
    3131        if ( !$max || $max >= (int)$this->blogs['total'] )
  • trunk/bp-core.php

    r2695 r2702  
    520520
    521521/**
     522 * bp_core_get_users()
     523 *
     524 * Return an array of users IDs based on the parameters passed.
     525 *
     526 * @package BuddyPress Core
     527 */
     528function bp_core_get_users( $args = '' ) {
     529    global $bp;
     530
     531    $defaults = array(
     532        'type' => 'active', // active, newest, alphabetical, random or popular
     533        'user_id' => false, // Pass a user_id to limit to only friend connections for this user
     534        'search_terms' => false, // Limit to users that match these search terms
     535
     536        'per_page' => 20, // The number of results to return per page
     537        'page' => 1, // The page to return if limiting per page
     538        'populate_extras' => true, // Fetch the last active, where the user is a friend, total friend count, latest update
     539    );
     540
     541    $params = wp_parse_args( $args, $defaults );
     542    extract( $params, EXTR_SKIP );
     543
     544    return apply_filters( 'bp_core_get_users', BP_Core_User::get_users( $type, $per_page, $page, $user_id, $search_terms, $populate_extras ), &$params );
     545}
     546
     547/**
    522548 * bp_core_get_user_domain()
    523549 *
     
    954980
    955981    if ( isset( $_GET['random-member'] ) ) {
    956         $user = BP_Core_User::get_users( 'random', 1 );
     982        $user = bp_core_get_users( array( 'type' => 'random', 'per_page' => 1 ) );
    957983        bp_core_redirect( bp_core_get_user_domain( $user['users'][0]->id ) );
    958984    }
  • trunk/bp-core/bp-core-templatetags.php

    r2696 r2702  
    3232        }
    3333        else {
    34             $this->members = BP_Core_User::get_users( $this->type, $this->pag_num, $this->pag_page, $user_id, $search_terms, $populate_extras );
     34            $this->members = bp_core_get_users( array( 'type' => $this->type, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'user_id' => $user_id, 'search_terms' => $search_terms, 'populate_extras' => $populate_extras ) );
    3535        }
    3636
  • trunk/bp-groups.php

    r2700 r2702  
    17211721/*** Group Fetching, Filtering & Searching  *************************************/
    17221722
    1723 function groups_get_all( $limit = null, $page = 1, $only_public = false, $sort_by = false, $order = false ) {
    1724     return BP_Groups_Group::get_all( $limit, $page, $only_public, $sort_by, $order );
    1725 }
    1726 
    1727 /***
    1728  * All of the following get_() functions will return groups for the site globally.
    1729  * If you pass a $user_id then the groups will be restricted to only those that the
    1730  * user has joined.
    1731  */
    1732 function groups_get_newest( $limit = null, $page = 1, $user_id = false, $search_terms = false, $populate_extras = true ) {
    1733     return BP_Groups_Group::get_newest( $limit, $page, $user_id, $search_terms, $populate_extras );
    1734 }
    1735 
    1736 function groups_get_active( $limit = null, $page = 1, $user_id = false, $search_terms = false, $populate_extras = true ) {
    1737     return BP_Groups_Group::get_active( $limit, $page, $user_id, $search_terms, $populate_extras );
    1738 }
    1739 
    1740 function groups_get_popular( $limit = null, $page = 1, $user_id = false, $search_terms = false, $populate_extras = true ) {
    1741     return BP_Groups_Group::get_popular( $limit, $page, $user_id, $search_terms, $populate_extras );
    1742 }
    1743 
    1744 function groups_get_random_groups( $limit = null, $page = 1, $user_id = false, $search_terms = false, $populate_extras = true ) {
    1745     return BP_Groups_Group::get_random( $limit, $page, $user_id, $search_terms, $populate_extras );
    1746 }
    1747 
    1748 function groups_get_alphabetically( $limit = null, $page = 1, $user_id = false, $search_terms = false, $populate_extras = true ) {
    1749     return BP_Groups_Group::get_alphabetically( $limit, $page, $user_id, $search_terms, $populate_extras );
    1750 }
    1751 
    1752 function groups_get_by_most_forum_topics( $limit = null, $page = 1, $user_id = false, $search_terms = false, $populate_extras = true ) {
    1753     return BP_Groups_Group::get_by_most_forum_topics( $limit, $page, $user_id, $search_terms, $populate_extras );
    1754 }
    1755 
    1756 function groups_get_by_most_forum_posts( $limit = null, $page = 1, $user_id = false, $search_terms = false, $populate_extras = true ) {
    1757     return BP_Groups_Group::get_by_most_forum_posts( $limit, $page, $user_id, $search_terms, $populate_extras );
     1723function groups_get_groups( $args = '' ) {
     1724    global $bp;
     1725
     1726    $defaults = array(
     1727        'type' => 'active', // active, newest, alphabetical, random, popular, most-forum-topics or most-forum-posts
     1728        'user_id' => false, // Pass a user_id to limit to only groups that this user is a member of
     1729        'search_terms' => false, // Limit to groups that match these search terms
     1730
     1731        'per_page' => 20, // The number of results to return per page
     1732        'page' => 1, // The page to return if limiting per page
     1733        'populate_extras' => true, // Fetch meta such as is_banned and is_member
     1734    );
     1735
     1736    $params = wp_parse_args( $args, $defaults );
     1737    extract( $params, EXTR_SKIP );
     1738
     1739    switch ( $type ) {
     1740        case 'active': default:
     1741            $groups = BP_Groups_Group::get_active( $limit, $page, $user_id, $search_terms, $populate_extras );
     1742            break;
     1743        case 'newest':
     1744            $groups = BP_Groups_Group::get_newest( $limit, $page, $user_id, $search_terms, $populate_extras );
     1745            break;
     1746        case 'popular':
     1747            $groups = BP_Groups_Group::get_popular( $limit, $page, $user_id, $search_terms, $populate_extras );
     1748            break;
     1749        case 'alphabetical':
     1750            $groups = BP_Groups_Group::get_alphabetically( $limit, $page, $user_id, $search_terms, $populate_extras );
     1751            break;
     1752        case 'random':
     1753            $groups = BP_Groups_Group::get_random( $limit, $page, $user_id, $search_terms, $populate_extras );
     1754            break;
     1755        case 'most-forum-topics':
     1756            $groups = BP_Groups_Group::get_by_most_forum_topics( $limit, $page, $user_id, $search_terms, $populate_extras );
     1757            break;
     1758        case 'most-forum-posts':
     1759            $groups = BP_Groups_Group::get_by_most_forum_posts( $limit, $page, $user_id, $search_terms, $populate_extras );
     1760            break;
     1761    }
     1762
     1763    return apply_filters( 'groups_get_groups', $groups, &$params );
    17581764}
    17591765
     
    17761782}
    17771783
    1778 function groups_get_recently_joined_for_user( $user_id = false, $pag_num = false, $pag_page = false, $filter = false ) {
    1779     global $bp;
    1780 
    1781     if ( !$user_id )
    1782         $user_id = $bp->displayed_user->id;
    1783 
    1784     return BP_Groups_Member::get_recently_joined( $user_id, $pag_num, $pag_page, $filter );
    1785 }
    1786 
    1787 function groups_get_user_is_admin_of( $user_id = false, $pag_num = false, $pag_page = false, $filter = false ) {
    1788     global $bp;
    1789 
    1790     if ( !$user_id )
    1791         $user_id = $bp->displayed_user->id;
    1792 
    1793     return BP_Groups_Member::get_is_admin_of( $user_id, $pag_num, $pag_page, $filter );
    1794 }
    1795 
    1796 function groups_get_user_is_mod_of( $user_id = false, $pag_num = false, $pag_page = false, $filter = false ) {
    1797     global $bp;
    1798 
    1799     if ( !$user_id )
    1800         $user_id = $bp->displayed_user->id;
    1801 
    1802     return BP_Groups_Member::get_is_mod_of( $user_id, $pag_num, $pag_page, $filter );
    1803 }
    1804 
    18051784function groups_total_groups_for_user( $user_id = false ) {
    18061785    global $bp;
     
    18151794
    18161795    return $count;
    1817 }
    1818 
    1819 function groups_search_groups( $search_terms, $pag_num_per_page = 5, $pag_page = 1, $sort_by = false, $order = false ) {
    1820     return BP_Groups_Group::search_groups( $search_terms, $pag_num_per_page, $pag_page, $sort_by, $order );
    1821 }
    1822 
    1823 function groups_filter_user_groups( $filter, $user_id = false, $order = false, $pag_num_per_page = 5, $pag_page = 1 ) {
    1824     return BP_Groups_Group::filter_user_groups( $filter, $user_id, $order, $pag_num_per_page, $pag_page );
    18251796}
    18261797
  • trunk/bp-groups/bp-groups-templatetags.php

    r2700 r2702  
    2929        $this->pag_num = isset( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : $per_page;
    3030
    31         switch ( $type ) {
    32             case 'active': default:
    33                 $this->groups = groups_get_active( $this->pag_num, $this->pag_page, $user_id, $search_terms, $populate_extras );
    34                 break;
    35 
    36             case 'alphabetical': default:
    37                 $this->groups = groups_get_alphabetically( $this->pag_num, $this->pag_page, $user_id, $search_terms, $populate_extras );
    38                 break;
    39 
    40             case 'random':
    41                 $this->groups = groups_get_random_groups( $this->pag_num, $this->pag_page, $user_id, $search_terms, $populate_extras );
    42                 break;
    43 
    44             case 'newest':
    45                 $this->groups = groups_get_newest( $this->pag_num, $this->pag_page, $user_id, $search_terms, $populate_extras );
    46                 break;
    47 
    48             case 'popular':
    49                 $this->groups = groups_get_popular( $this->pag_num, $this->pag_page, $user_id, $search_terms, $populate_extras );
    50                 break;
    51 
    52             case 'most-forum-topics':
    53                 $this->groups = groups_get_by_most_forum_topics( $this->pag_num, $this->pag_page, $user_id, $search_terms, $populate_extras );
    54                 break;
    55 
    56             case 'most-forum-posts':
    57                 $this->groups = groups_get_by_most_forum_posts( $this->pag_num, $this->pag_page, $user_id, $search_terms, $populate_extras );
    58                 break;
    59 
    60             case 'invites':
    61                 $this->groups = groups_get_invites_for_user( $user_id, $this->pag_num, $this->pag_page );
    62                 break;
    63 
    64             case 'single-group':
    65                 $group = new stdClass;
    66                 $group->group_id = BP_Groups_Group::get_id_from_slug($slug);
    67                 $this->groups = array( $group );
    68                 break;
    69 
    70 
    71             case 'admin-of':
    72                 if ( $user_id )
    73                     $this->groups = groups_get_user_is_admin_of( $user_id, $this->pag_num, $this->pag_page, $search_terms );
    74                 break;
    75 
    76             case 'mod-of':
    77                 if ( $user_id )
    78                     $this->groups = groups_get_user_is_mod_of( $user_id, $this->pag_num, $this->pag_page, $filter );
    79                 break;
    80         }
     31        if ( 'invites' == $type )
     32            $this->groups = groups_get_invites_for_user( $user_id, $this->pag_num, $this->pag_page );
     33        else if ( 'single-group' == $type ) {
     34            $group = new stdClass;
     35            $group->group_id = BP_Groups_Group::get_id_from_slug($slug);
     36            $this->groups = array( $group );
     37        } else
     38            $this->groups = groups_get_groups( array( 'type' => $type, 'per_page' => $this->pag_num, 'page' =>$this->pag_page, 'user_id' => $user_id, 'search_terms' => $search_terms, 'populate_extras' => $populate_extras ) );
    8139
    8240        if ( 'invites' == $type ) {
     
    188146    /* Type */
    189147    if ( 'my-groups' == $bp->current_action ) {
    190         if ( 'recently-joined' == $order )
    191             $type = 'recently-joined';
    192         else if ( 'most-popular' == $order )
     148        if ( 'most-popular' == $order )
    193149            $type = 'popular';
    194         else if ( 'admin-of' == $order ) {
    195             $type = 'admin-of';
    196         } else if ( 'mod-of' == $order ) {
    197             $type = 'mod-of';
    198         } else if ( 'alphabetically' == $order )
     150        else if ( 'alphabetically' == $order )
    199151            $type = 'alphabetical';
    200152    } else if ( 'invites' == $bp->current_action ) {
Note: See TracChangeset for help on using the changeset viewer.