Changeset 5625 for sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-support-compat.php
- Timestamp:
- 07/07/2017 05:38:42 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-support-compat.php
r5286 r5625 30 30 add_filter( 'bbp_request', array( $this, 'request' ), 9 ); 31 31 32 // Add views for plugin committer/contributor.32 // Add query vars and rewrite rules for plugin committer/contributor. 33 33 add_filter( 'query_vars', array( $this, 'add_query_var' ) ); 34 34 add_action( 'bbp_add_rewrite_rules', array( $this, 'add_rewrite_rules' ) ); … … 37 37 // on parse_query at priority 2. 38 38 add_action( 'parse_query', array( $this, 'parse_query' ), 0 ); 39 40 // Parse user's reviews query.41 add_action( 'parse_query', array( $this, 'parse_user_reviews_query' ) );42 add_filter( 'bbp_after_has_topics_parse_args', array( $this, 'parse_user_reviews_query_args' ) );43 add_filter( 'bbp_topic_pagination', array( $this, 'parse_user_reviews_pagination_args' ) );44 add_filter( 'bbp_before_title_parse_args', array( $this, 'parse_user_reviews_title_args' ) );45 39 46 40 // Exclude compat forums from forum dropdown. … … 215 209 216 210 /** 217 * Set WP_Query::bbp_is_single_user_profile to false on user's reviews page. 218 * 219 * @param WP_Query $query Current query object. 220 */ 221 public function parse_user_reviews_query( $query ) { 222 if ( get_query_var( 'wporg_single_user_reviews' ) ) { 223 $query->bbp_is_single_user_profile = false; 224 } 225 } 226 227 /** 228 * Set forum ID for user's reviews query. 229 * 230 * @param array $args WP_Query arguments. 231 * @return array Filtered query arguments. 232 */ 233 public function parse_user_reviews_query_args( $args ) { 234 if ( get_query_var( 'wporg_single_user_reviews' ) ) { 235 $args['post_parent'] = Plugin::REVIEWS_FORUM_ID; 236 } elseif ( bbp_is_single_user_topics() ) { 237 $args['post_parent__not_in'] = array( Plugin::REVIEWS_FORUM_ID ); 238 } 239 240 return $args; 241 } 242 243 /** 244 * Set 'base' argument for pagination links on user's reviews page. 245 * 246 * @param array $args Pagination arguments. 247 * @return array Filtered pagination arguments. 248 */ 249 public function parse_user_reviews_pagination_args( $args ) { 250 if ( get_query_var( 'wporg_single_user_reviews' ) ) { 251 $args['base'] = bbp_get_user_profile_url( bbp_get_displayed_user_id() ) . 'reviews/'; 252 $args['base'] .= bbp_get_paged_slug() . '/%#%/'; 253 } 254 255 return $args; 256 } 257 258 /** 259 * Set title for user's reviews page. 260 * 261 * @param array $title Title parts. 262 * @return array Filtered title parts. 263 */ 264 public function parse_user_reviews_title_args( $title ) { 265 if ( get_query_var( 'wporg_single_user_reviews' ) ) { 266 if ( bbp_is_user_home() ) { 267 $title['text'] = __( 'Your Reviews', 'wporg-forums' ); 268 } else { 269 $title['text'] = get_userdata( bbp_get_user_id() )->display_name; 270 /* translators: user's display name */ 271 $title['format'] = __( "%s's Reviews", 'wporg-forums' ); 272 } 273 } 274 275 return $title; 276 } 277 211 * Add query vars for plugin committer/contributor views. 212 * 213 * @param array $query_vars Query vars. 214 * @return array Filtered query vars. 215 */ 278 216 public function add_query_var( $query_vars ) { 279 217 $query_vars[] = 'wporg_user_login'; 280 $query_vars[] = 'wporg_single_user_reviews';281 218 return $query_vars; 282 219 } 283 220 221 /** 222 * Add rewrite rules for plugin committer/contributor views. 223 */ 284 224 public function add_rewrite_rules() { 285 225 $priority = 'top'; … … 287 227 $plugin_committer_rule = bbp_get_view_slug() . '/plugin-committer/([^/]+)/'; 288 228 $plugin_contributor_rule = bbp_get_view_slug() . '/plugin-contributor/([^/]+)/'; 289 $user_reviews_rule = bbp_get_user_slug() . '/([^/]+)/reviews/';290 229 291 230 $feed_id = 'feed'; 292 231 $view_id = bbp_get_view_rewrite_id(); 293 $user_id = bbp_get_user_rewrite_id();294 232 $paged_id = bbp_get_paged_rewrite_id(); 295 233 … … 310 248 add_rewrite_rule( $plugin_contributor_rule . $paged_rule, 'index.php?' . $view_id . '=plugin-contributor&wporg_user_login=$matches[1]&' . $paged_id . '=$matches[2]', $priority ); 311 249 add_rewrite_rule( $plugin_contributor_rule . $feed_rule, 'index.php?' . $view_id . '=plugin-contributor&wporg_user_login=$matches[1]&' . $feed_id . '=$matches[2]', $priority ); 312 313 // Add user's reviews rewrite rules.314 add_rewrite_rule( $user_reviews_rule . $base_rule, 'index.php?' . $user_id . '=$matches[1]&wporg_single_user_reviews=1', $priority );315 add_rewrite_rule( $user_reviews_rule . $paged_rule, 'index.php?' . $user_id . '=$matches[1]&wporg_single_user_reviews=1&' . $paged_id . '=$matches[2]', $priority );316 add_rewrite_rule( $user_reviews_rule . $feed_rule, 'index.php?' . $user_id . '=$matches[1]&wporg_single_user_reviews=1&' . $feed_id . '=$matches[2]', $priority );317 250 } 318 251
Note: See TracChangeset
for help on using the changeset viewer.