- Timestamp:
- 04/07/2023 07:47:34 AM (23 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-groups/classes/class-bp-groups-component.php
r13441 r13448 322 322 } 323 323 324 // Set group type if available.325 if ( bp_is_groups_directory() && bp_is_current_action( bp_get_groups_group_type_base() ) && bp_action_variable() ) {326 $matched_types = bp_groups_get_group_types( array(327 'has_directory' => true,328 'directory_slug' => bp_action_variable(),329 ) );330 331 // Set 404 if we do not have a valid group type.332 if ( empty( $matched_types ) ) {333 bp_do_404();334 return;335 }336 337 // Set our directory type marker.338 $this->current_directory_type = reset( $matched_types );339 }340 341 324 // Set up variables specific to the group creation process. 342 325 if ( bp_is_groups_component() && bp_is_current_action( 'create' ) && bp_user_can_create_groups() && isset( $_COOKIE['bp_new_group_id'] ) ) { 343 326 $bp->groups->new_group_id = (int) $_COOKIE['bp_new_group_id']; 344 327 } 328 329 // The base slug to filter the groups directory according to a group type. 330 $group_type_base = bp_get_groups_group_type_base(); 345 331 346 332 /** … … 351 337 * @param array $value Array of illegal group names/slugs. 352 338 */ 353 $this->forbidden_names = apply_filters( 'groups_forbidden_names', array( 354 'my-groups', 355 'create', 356 'invites', 357 'send-invites', 358 'forum', 359 'delete', 360 'add', 361 'admin', 362 'request-membership', 363 'members', 364 'settings', 365 'avatar', 366 $this->slug, 367 $this->root_slug, 368 ) ); 339 $this->forbidden_names = apply_filters( 340 'groups_forbidden_names', 341 array( 342 'my-groups', 343 'create', 344 'invites', 345 'send-invites', 346 'forum', 347 'delete', 348 'add', 349 'admin', 350 'request-membership', 351 'members', 352 'settings', 353 'avatar', 354 $this->slug, 355 $this->root_slug, 356 $group_type_base, 357 ) 358 ); 369 359 370 360 // If the user was attempting to access a group, but no group by that name was found, 404. 371 if ( bp_is_groups_component() && empty( $this->current_group ) && empty( $this->current_directory_type ) && bp_current_action() && ! in_array( bp_current_action(), $this->forbidden_names ) ) { 372 bp_do_404(); 373 return; 361 if ( bp_is_groups_component() && empty( $this->current_group ) && bp_current_action() ) { 362 363 // Set group type if available. 364 if ( bp_is_current_action( bp_get_groups_group_type_base() ) && bp_action_variable() ) { 365 $matched_type = ''; 366 $matched_types = bp_groups_get_group_types( 367 array( 368 'has_directory' => true, 369 'directory_slug' => bp_action_variable(), 370 ) 371 ); 372 373 // Set our directory type marker. 374 if ( ! empty( $matched_types ) ) { 375 $this->current_directory_type = reset( $matched_types ); 376 } 377 } 378 379 if ( ! $this->current_directory_type && ! in_array( bp_current_action(), $this->forbidden_names, true ) ) { 380 bp_do_404(); 381 return; 382 } 374 383 } 375 384
Note: See TracChangeset
for help on using the changeset viewer.