Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
02/04/2010 10:09:40 AM (15 years ago)
Author:
apeatling
Message:

Fixes #1793 - remove querystring building from theme and querystring cookie management from core.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-groups/bp-groups-templatetags.php

    r2576 r2580  
    178178    $type = 'active';
    179179    $user_id = false;
    180     $page = 1;
     180    $search_terms = false;
     181    $slug = false;
    181182
    182183    /* User filtering */
    183     if ( !empty( $bp->displayed_user->id ) || 'personal' == $_COOKIE['bp-groups-scope'] )
    184         $user_id = ( !empty( $bp->displayed_user->id ) ) ? $bp->displayed_user->id : $bp->loggedin_user->id;
    185 
    186     /* Action filtering */
    187     if ( !empty( $_COOKIE['bp-groups-filter'] ) && '-1' != $_COOKIE['bp-groups-filter'] )
    188         $type = $_COOKIE['bp-groups-filter'];
    189 
    190     if ( !empty( $_COOKIE['bp-groups-page'] ) && '-1' != $_COOKIE['bp-groups-page'] )
    191         $page = $_COOKIE['bp-groups-page'];
     184    if ( !empty( $bp->displayed_user->id ) )
     185        $user_id = $bp->displayed_user->id;
     186
     187    /* Type */
     188    if ( 'my-groups' == $bp->current_action ) {
     189        if ( 'recently-joined' == $order )
     190            $type = 'recently-joined';
     191        else if ( 'most-popular' == $order )
     192            $type = 'popular';
     193        else if ( 'admin-of' == $order ) {
     194            $type = 'admin-of';
     195        } else if ( 'mod-of' == $order ) {
     196            $type = 'mod-of';
     197        } else if ( 'alphabetically' == $order )
     198            $type = 'alphabetical';
     199    } else if ( 'invites' == $bp->current_action ) {
     200        $type = 'invites';
     201    } else if ( $bp->groups->current_group->slug ) {
     202        $type = 'single-group';
     203        $slug = $bp->groups->current_group->slug;
     204    }
     205
     206    if ( isset( $_REQUEST['group-filter-box'] ) || isset( $_REQUEST['s'] ) )
     207        $search_terms = ( isset( $_REQUEST['group-filter-box'] ) ) ? $_REQUEST['group-filter-box'] : $_REQUEST['s'];
    192208
    193209    $defaults = array(
    194210        'type' => $type,
    195         'page' => $page,
     211        'page' => 1,
    196212        'per_page' => 20,
    197213        'max' => false,
    198214
    199215        'user_id' => $user_id, // Pass a user ID to limit to groups this user has joined
    200         'slug' => false, // Pass a group slug to only return that group
    201         'search_terms' => false // Pass search terms to return only matching groups
     216        'slug' => $slug, // Pass a group slug to only return that group
     217        'search_terms' => $search_terms // Pass search terms to return only matching groups
    202218    );
    203219
    204220    $r = wp_parse_args( $args, $defaults );
    205221    extract( $r );
    206 
    207     if ( '' == $args ) {
    208         /* The following code will auto set parameters based on the page being viewed.
    209          * for example on example.com/members/andy/groups/my-groups/most-popular/
    210          * $type = 'most-popular'
    211          */
    212         if ( 'my-groups' == $bp->current_action ) {
    213             $order = $bp->action_variables[0];
    214             if ( 'recently-joined' == $order )
    215                 $type = 'recently-joined';
    216             else if ( 'most-popular' == $order )
    217                 $type = 'popular';
    218             else if ( 'admin-of' == $order ) {
    219                 $type = 'admin-of';
    220                 $user_id = $bp->displayed_user->id;
    221             } else if ( 'mod-of' == $order ) {
    222                 $type = 'mod-of';
    223                 $user_id = $bp->displayed_user->id;
    224             } else if ( 'alphabetically' == $order )
    225                 $type = 'alphabetical';
    226         } else if ( 'invites' == $bp->current_action ) {
    227             $type = 'invites';
    228         } else if ( $bp->groups->current_group->slug ) {
    229             $type = 'single-group';
    230             $slug = $bp->groups->current_group->slug;
    231         }
    232     }
    233 
    234     if ( isset( $_REQUEST['group-filter-box'] ) || isset( $_REQUEST['s'] ) )
    235         $search_terms = ( isset( $_REQUEST['group-filter-box'] ) ) ? $_REQUEST['group-filter-box'] : $_REQUEST['s'];
    236222
    237223    $groups_template = new BP_Groups_Template( $user_id, $type, $page, $per_page, $max, $slug, $search_terms );
Note: See TracChangeset for help on using the changeset viewer.