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-activity/bp-activity-templatetags.php

    r2576 r2580  
    125125    $include = false;
    126126    $show_hidden = false;
    127     $search_terms = false;
    128127    $object = false;
    129     $action = false;
    130128    $primary_id = false;
    131     $display_comments = 'threaded';
    132129
    133130    /* User filtering */
    134131    if ( !empty( $bp->displayed_user->id ) )
    135132        $user_id = $bp->displayed_user->id;
    136 
    137     /* Action filtering */
    138     if ( !empty( $_COOKIE['bp-activity-filter'] ) && '-1' != $_COOKIE['bp-activity-filter'] )
    139         $action = $_COOKIE['bp-activity-filter'];
    140 
    141     /* User activity scope filtering */
    142     if ( !empty( $user_id ) || !empty( $_COOKIE['bp-activity-scope'] ) ) {
    143         $scope = ( !empty( $bp->current_action ) ) ? $bp->current_action : $_COOKIE['bp-activity-scope'];
    144         $current_user_id = ( !empty( $bp->displayed_user->id ) ) ? $bp->displayed_user->id : $bp->loggedin_user->id;
    145 
    146         if ( empty( $scope ) || 'just-me' == $scope )
    147             $display_comments = 'stream';
    148 
    149         switch ( $scope ) {
    150             case 'friends':
    151                 if ( function_exists( 'friends_get_friend_user_ids' ) )
    152                     $user_id = implode( ',', (array)friends_get_friend_user_ids( $current_user_id ) );
    153                 break;
    154             case 'groups':
    155                 if ( function_exists( 'groups_get_user_groups' ) ) {
    156                     $groups = groups_get_user_groups( $current_user_id );
    157                     $object = $bp->groups->id;
    158                     $primary_id = implode( ',', (array)$groups['groups'] );
    159                     $show_hidden = ( $current_user_id == $bp->loggedin_user->id ) ? 1 : 0;
    160                     $user_id = false;
    161                 }
    162                 break;
    163             case 'favorites':
    164                 $favs = bp_activity_get_user_favorites( $current_user_id );
    165                 $include = implode( ',', (array)$favs );
    166                 $show_hidden = ( $current_user_id == $bp->loggedin_user->id ) ? 1 : 0;
    167                 break;
    168             case 'mentions':
    169                 $user_nicename = ( !empty( $bp->displayed_user->id ) ) ? $bp->displayed_user->userdata->user_nicename : $bp->loggedin_user->userdata->user_nicename;
    170                 $user_login = ( !empty( $bp->displayed_user->id ) ) ? $bp->displayed_user->userdata->user_login : $bp->loggedin_user->userdata->user_login;
    171                 $search_terms = '@' . bp_core_get_username( $current_user_id, $user_nicename, $user_login );
    172                 $show_hidden = ( $current_user_id == $bp->loggedin_user->id ) ? 1 : 0;
    173                 $display_comments = 'stream';
    174                 $user_id = false;
    175                 break;
    176         }
    177     }
    178133
    179134    /* Group filtering */
     
    192147    /* Note: any params used for filtering can be a single value, or multiple values comma separated. */
    193148    $defaults = array(
    194         'display_comments' => $display_comments, // false for none, stream/threaded - show comments in the stream or threaded under items
     149        'display_comments' => 'threaded', // false for none, stream/threaded - show comments in the stream or threaded under items
    195150        'include' => $include, // pass an activity_id or string of ID's comma separated
    196151        'sort' => 'DESC', // sort DESC or ASC
     
    200155        'show_hidden' => $show_hidden, // Show activity items that are hidden site-wide?
    201156
     157        /* Scope - pre-built activity filters for a user (friends/groups/favorites/mentions) */
     158        'scope' => $bp->current_action,
     159
    202160        /* Filtering */
    203161        'user_id' => $user_id, // user_id to filter on
    204162        'object' => $object, // object to filter on e.g. groups, profile, status, friends
    205         'action' => $action, // action to filter on e.g. activity_update, new_forum_post, profile_updated
     163        'action' => false, // action to filter on e.g. activity_update, new_forum_post, profile_updated
    206164        'primary_id' => $primary_id, // object ID to filter on e.g. a group_id or forum_id or blog_id etc.
    207165        'secondary_id' => false, // secondary object ID to filter on e.g. a post_id
    208166
    209167        /* Searching */
    210         'search_terms' => $search_terms // specify terms to search on
     168        'search_terms' => false // specify terms to search on
    211169    );
    212170
    213171    $r = wp_parse_args( $args, $defaults );
    214172    extract( $r );
     173
     174    /* If you have passed a "scope" then this will override any filters you have passed. */
     175    if ( !empty( $scope ) ) {
     176        if ( 'just-me' == $scope )
     177            $display_comments = 'stream';
     178
     179        if ( $user_id = ( !empty( $bp->displayed_user->id ) ) ? $bp->displayed_user->id : $bp->loggedin_user->id ) {
     180            switch ( $scope ) {
     181                case 'friends':
     182                    if ( function_exists( 'friends_get_friend_user_ids' ) )
     183                        $user_id = implode( ',', (array)friends_get_friend_user_ids( $user_id ) );
     184                    break;
     185                case 'groups':
     186                    if ( function_exists( 'groups_get_user_groups' ) ) {
     187                        $groups = groups_get_user_groups( $user_id );
     188                        $object = $bp->groups->id;
     189                        $primary_id = implode( ',', (array)$groups['groups'] );
     190                        $show_hidden = ( $user_id == $bp->loggedin_user->id ) ? 1 : 0;
     191                        $user_id = false;
     192                    }
     193                    break;
     194                case 'favorites':
     195                    $favs = bp_activity_get_user_favorites( $user_id );
     196                    if ( empty( $favs ) )
     197                        return false;
     198
     199                    $include = implode( ',', (array)$favs );
     200                    $show_hidden = ( $user_id == $bp->loggedin_user->id ) ? 1 : 0;
     201                    break;
     202                case 'mentions':
     203                    $user_nicename = ( !empty( $bp->displayed_user->id ) ) ? $bp->displayed_user->userdata->user_nicename : $bp->loggedin_user->userdata->user_nicename;
     204                    $user_login = ( !empty( $bp->displayed_user->id ) ) ? $bp->displayed_user->userdata->user_login : $bp->loggedin_user->userdata->user_login;
     205                    $search_terms = '@' . bp_core_get_username( $user_id, $user_nicename, $user_login );
     206                    $show_hidden = ( $user_id == $bp->loggedin_user->id ) ? 1 : 0;
     207                    $display_comments = 'stream';
     208                    $user_id = false;
     209                    break;
     210            }
     211        }
     212    }
    215213
    216214    if ( $max ) {
Note: See TracChangeset for help on using the changeset viewer.