Ticket #2000: activity.diff
File activity.diff, 9.0 KB (added by , 13 years ago) |
---|
-
bp-activity.php
489 489 'max' => false, // Maximum number of results to return 490 490 'page' => 1, // page 1 without a per_page will result in no pagination. 491 491 'per_page' => false, // results per page 492 'offset' => 0, // offset from the page 492 493 'sort' => 'DESC', // sort ASC or DESC 493 494 'display_comments' => false, // false for no comments. 'stream' for within stream display, 'threaded' for below each activity item 494 495 … … 514 515 /* Attempt to return a cached copy of the first page of sitewide activity. */ 515 516 if ( 1 == (int)$page && empty( $max ) && empty( $search_terms ) && empty( $filter ) && 'DESC' == $sort ) { 516 517 if ( !$activity = wp_cache_get( 'bp_activity_sitewide_front', 'bp' ) ) { 517 $activity = BP_Activity_Activity::get( $max, $page, $per_page, $sort, $search_terms, $filter, $display_comments, $show_hidden );518 $activity = BP_Activity_Activity::get( $max, $page, $per_page, $sort, $search_terms, $filter, $display_comments, $show_hidden, $offset ); 518 519 wp_cache_set( 'bp_activity_sitewide_front', $activity, 'bp' ); 519 520 } 520 521 } else 521 $activity = BP_Activity_Activity::get( $max, $page, $per_page, $sort, $search_terms, $filter, $display_comments, $show_hidden );522 $activity = BP_Activity_Activity::get( $max, $page, $per_page, $sort, $search_terms, $filter, $display_comments, $show_hidden, $offset ); 522 523 523 524 return apply_filters( 'bp_activity_get', $activity, &$r ); 524 525 } … … 1112 1113 add_action( 'plugins_loaded', 'bp_register_activity_actions' ); 1113 1114 1114 1115 1115 ?> 1116 No newline at end of file 1116 ?> -
bp-themes/bp-default/_inc/ajax.php
49 49 $qs[] = 'scope=' . $_BP_COOKIE['bp-' . $object . '-scope']; // Activity stream scope only on activity directory. 50 50 } 51 51 52 /* If page and search_terms have been passed via the AJAX post request, use those */52 /* If page, offset and search_terms have been passed via the AJAX post request, use those */ 53 53 if ( !empty( $_POST['page'] ) && '-1' != $_POST['page'] ) 54 54 $qs[] = 'page=' . $_POST['page']; 55 55 56 56 if ( !empty( $_POST['search_terms'] ) && __( 'Search anything...', 'buddypress' ) != $_POST['search_terms'] && 'false' != $_POST['search_terms'] && 'undefined' != $_POST['search_terms'] ) 57 57 $qs[] = 'search_terms=' . $_POST['search_terms']; 58 58 59 if ( !empty ($_POST['offset']) ) 60 $qs[] = 'offset=' . $_POST['offset']; 61 59 62 /* Now pass the querystring to override default values. */ 60 63 $query_string = empty( $qs ) ? '' : join( '&', (array)$qs ); 61 64 … … 559 562 } 560 563 add_action( 'wp_ajax_messages_autocomplete_results', 'bp_dtheme_ajax_messages_autocomplete_results' ); 561 564 562 ?> 563 No newline at end of file 565 ?> -
bp-themes/bp-default/_inc/global.js
93 93 jq("li.new-update").removeClass( 'new-update' ); 94 94 jq("textarea#whats-new").val(''); 95 95 96 /* Increment the stream offset counter cookie by 1 */ 97 var offset = jq.cookie( 'bp-activity-offset' ); 98 if ( offset != null ) { 99 jq.cookie( 'bp-activity-offset', ( 1 * offset ) + 1, {path: '/'} ); 100 } else { 101 jq.cookie( 'bp-activity-offset', 1, {path: '/'} ); 102 } 103 96 104 /* Re-enable the submit button after 8 seconds. */ 97 105 setTimeout( function() { button.attr("disabled", ''); }, 8000 ); 98 106 } … … 234 242 jq.cookie('bp-activity-oldestpage', 1, {path: '/'} ); 235 243 236 244 var oldest_page = ( jq.cookie('bp-activity-oldestpage') * 1 ) + 1; 245 var offset = jq.cookie('bp-activity-offset'); 237 246 238 247 jq.post( ajaxurl, { 239 248 action: 'activity_get_older_updates', 240 249 'cookie': encodeURIComponent(document.cookie), 241 'page': oldest_page 250 'page': oldest_page, 251 'offset': offset 242 252 }, 243 253 function(response) 244 254 { … … 1045 1055 /* Reset the page */ 1046 1056 jq.cookie( 'bp-activity-oldestpage', 1, {path: '/'} ); 1047 1057 1058 jq.cookie( 'bp-activity-offset', 0, {path: '/'} ); 1059 1048 1060 if ( null != jq.cookie('bp-activity-filter') && jq('#activity-filter-select').length ) 1049 1061 jq('#activity-filter-select select option[value=' + jq.cookie('bp-activity-filter') + ']').attr( 'selected', 'selected' ); 1050 1062 -
bp-themes/bp-default/header.php
76 76 <?php do_action( 'bp_after_header' ) ?> 77 77 <?php do_action( 'bp_before_container' ) ?> 78 78 79 <div id="container"> 80 No newline at end of file 79 <div id="container"> -
bp-activity/bp-activity-templatetags.php
15 15 16 16 var $full_name; 17 17 18 function bp_activity_template( $page, $per_page, $max, $include, $sort, $filter, $search_terms, $display_comments, $show_hidden ) {18 function bp_activity_template( $page, $per_page, $max, $include, $sort, $filter, $search_terms, $display_comments, $show_hidden, $offset ) { 19 19 global $bp; 20 20 21 21 $this->pag_page = isset( $_REQUEST['acpage'] ) ? intval( $_REQUEST['acpage'] ) : $page; … … 31 31 /* Fetch specific activity items based on ID's */ 32 32 $this->activities = bp_activity_get_specific( array( 'activity_ids' => explode( ',', $include ), 'max' => $max, 'page' => $this->pag_page, 'per_page' => $this->pag_num, 'sort' => $sort, 'display_comments' => $display_comments ) ); 33 33 } else { 34 $this->activities = bp_activity_get( array( 'display_comments' => $display_comments, 'max' => $max, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'sort' => $sort, 'search_terms' => $search_terms, 'filter' => $filter, 'show_hidden' => $show_hidden ) );34 $this->activities = bp_activity_get( array( 'display_comments' => $display_comments, 'max' => $max, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'sort' => $sort, 'search_terms' => $search_terms, 'filter' => $filter, 'show_hidden' => $show_hidden, 'offset' => $offset ) ); 35 35 } 36 36 37 37 if ( !$max || $max >= (int)$this->activities['total'] ) … … 165 165 'sort' => 'DESC', // sort DESC or ASC 166 166 'page' => 1, // which page to load 167 167 'per_page' => 20, // number of items per page 168 'offset' => 0, // offset from page 168 169 'max' => false, // max number to return 169 170 'show_hidden' => $show_hidden, // Show activity items that are hidden site-wide? 170 171 … … 249 250 else if ( !empty( $user_id ) || !empty( $object ) || !empty( $action ) || !empty( $primary_id ) || !empty( $secondary_id ) ) 250 251 $filter = array( 'user_id' => $user_id, 'object' => $object, 'action' => $action, 'primary_id' => $primary_id, 'secondary_id' => $secondary_id ); 251 252 252 $activities_template = new BP_Activity_Template( $page, $per_page, $max, $include, $sort, $filter, $search_terms, $display_comments, $show_hidden );253 $activities_template = new BP_Activity_Template( $page, $per_page, $max, $include, $sort, $filter, $search_terms, $display_comments, $show_hidden, $offset ); 253 254 254 255 return apply_filters( 'bp_has_activities', $activities_template->has_activities(), &$activities_template ); 255 256 } … … 956 957 return apply_filters( 'bp_get_activity_feed_item_description', html_entity_decode( str_replace( '%s', '', $content ) ) ); 957 958 } 958 959 959 ?> 960 No newline at end of file 960 ?> -
bp-activity/bp-activity-classes.php
86 86 87 87 /* Static Functions */ 88 88 89 function get( $max = false, $page = 1, $per_page = 25, $sort = 'DESC', $search_terms = false, $filter = false, $display_comments = false, $show_hidden = false ) {89 function get( $max = false, $page = 1, $per_page = 25, $sort = 'DESC', $search_terms = false, $filter = false, $display_comments = false, $show_hidden = false, $offset = 0 ) { 90 90 global $wpdb, $bp; 91 91 92 92 /* Select conditions */ … … 129 129 } 130 130 131 131 if ( $per_page && $page ) { 132 $pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $per_page ), intval( $per_page ) );132 $pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $per_page + $offset ), intval( $per_page ) ); 133 133 $activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort} {$pag_sql}", $select_sql, $from_sql, $where_sql, $sort, $pag_sql ) ) ); 134 134 } else 135 135 $activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort}", $select_sql, $from_sql, $where_sql, $sort ) ) ); … … 556 556 } 557 557 } 558 558 559 ?> 560 No newline at end of file 559 ?>