Ticket #6853: 6853.diff
File 6853.diff, 8.7 KB (added by , 9 years ago) |
---|
-
src/bp-activity/bp-activity-loader.php
diff --git src/bp-activity/bp-activity-loader.php src/bp-activity/bp-activity-loader.php index 69cbee5..6be0191 100644
class BP_Activity_Component extends BP_Component { 53 53 'actions', 54 54 'screens', 55 55 'filters', 56 'classes',57 56 'template', 58 57 'functions', 59 58 'notifications', 60 59 'cache' 61 60 ); 62 61 62 if ( ! buddypress()->do_autoload ) { 63 $includes[] = 'classes'; 64 } 65 63 66 // Load Akismet support if Akismet is configured. 64 67 $akismet_key = bp_get_option( 'wordpress_api_key' ); 65 68 -
src/bp-blogs/bp-blogs-loader.php
diff --git src/bp-blogs/bp-blogs-loader.php src/bp-blogs/bp-blogs-loader.php index 67d84db..b8758c5 100644
class BP_Blogs_Component extends BP_Component { 125 125 'cache', 126 126 'actions', 127 127 'screens', 128 'classes',129 128 'template', 130 129 'filters', 131 130 'activity', … … class BP_Blogs_Component extends BP_Component { 136 135 $includes[] = 'widgets'; 137 136 } 138 137 138 if ( ! buddypress()->do_autoload ) { 139 $includes[] = 'classes'; 140 } 141 139 142 // Include the files. 140 143 parent::includes( $includes ); 141 144 } -
src/bp-friends/bp-friends-loader.php
diff --git src/bp-friends/bp-friends-loader.php src/bp-friends/bp-friends-loader.php index 9aff908..16ea47a 100644
class BP_Friends_Component extends BP_Component { 46 46 'actions', 47 47 'screens', 48 48 'filters', 49 'classes',50 49 'activity', 51 50 'template', 52 51 'functions', … … class BP_Friends_Component extends BP_Component { 54 53 'widgets', 55 54 ); 56 55 56 if ( ! buddypress()->do_autoload ) { 57 $includes[] = 'classes'; 58 } 59 57 60 parent::includes( $includes ); 58 61 } 59 62 -
src/bp-groups/bp-groups-loader.php
diff --git src/bp-groups/bp-groups-loader.php src/bp-groups/bp-groups-loader.php index 4c7bc85..a590fa2 100644
class BP_Groups_Component extends BP_Component { 111 111 'actions', 112 112 'filters', 113 113 'screens', 114 'classes',115 114 'widgets', 116 115 'activity', 117 116 'template', … … class BP_Groups_Component extends BP_Component { 124 123 $includes[] = 'admin'; 125 124 } 126 125 126 if ( ! buddypress()->do_autoload ) { 127 $includes[] = 'classes'; 128 } 129 127 130 parent::includes( $includes ); 128 131 } 129 132 -
src/bp-loader.php
diff --git src/bp-loader.php src/bp-loader.php index c59fef2..4d12cfe 100644
class BuddyPress { 101 101 */ 102 102 public $active_components = array(); 103 103 104 /** 105 * @var bool Whether autoload is in use. 106 */ 107 public $do_autoload = false; 108 104 109 /** Option Overload *******************************************************/ 105 110 106 111 /** … … class BuddyPress { 457 462 * @uses is_admin() If in WordPress admin, load additional file. 458 463 */ 459 464 private function includes() { 465 if ( function_exists( 'spl_autoload_register' ) ) { 466 spl_autoload_register( array( $this, 'autoload' ) ); 467 $this->autoload = true; 468 } 460 469 461 470 // Load the WP abstraction file so BuddyPress can run on all WordPress setups. 462 471 require( $this->plugin_dir . 'bp-core/bp-core-wpabstraction.php' ); … … class BuddyPress { 478 487 require( $this->plugin_dir . 'bp-core/bp-core-cssjs.php' ); 479 488 require( $this->plugin_dir . 'bp-core/bp-core-update.php' ); 480 489 require( $this->plugin_dir . 'bp-core/bp-core-options.php' ); 481 require( $this->plugin_dir . 'bp-core/bp-core-classes.php' );482 490 require( $this->plugin_dir . 'bp-core/bp-core-taxonomy.php' ); 483 491 require( $this->plugin_dir . 'bp-core/bp-core-filters.php' ); 484 492 require( $this->plugin_dir . 'bp-core/bp-core-attachments.php' ); … … class BuddyPress { 494 502 require( $this->plugin_dir . 'bp-core/bp-core-loader.php' ); 495 503 require( $this->plugin_dir . 'bp-core/bp-core-customizer-email.php' ); 496 504 505 if ( ! $this->autoload ) { 506 require( $this->plugin_dir . 'bp-core/bp-core-classes.php' ); 507 } 508 497 509 // Skip or load deprecated content 498 510 if ( false !== $this->load_deprecated ) { 499 511 require( $this->plugin_dir . 'bp-core/deprecated/1.2.php' ); … … class BuddyPress { 511 523 } 512 524 513 525 /** 526 * Autoload classes. 527 * 528 * @since 2.5.0 529 * 530 * @param string $class 531 */ 532 public function autoload( $class ) { 533 $class_parts = explode( '_', strtolower( $class ) ); 534 535 if ( 'bp' !== $class_parts[0] ) { 536 return; 537 } 538 539 $components = array( 540 'activity', 541 'blogs', 542 'core', 543 'friends', 544 'groups', 545 'members', 546 'messages', 547 'notifications', 548 'xprofile', 549 ); 550 551 // These classes don't have a name that matches their component. 552 $irregular_map = array( 553 'BP_Attachment_Avatar' => 'core', 554 'BP_Attachment_Cover_Image' => 'core', 555 'BP_Attachment' => 'core', 556 'BP_Button' => 'core', 557 'BP_Date_Query' => 'core', 558 'BP_Email_Delivery' => 'core', 559 'BP_Email_Recipient' => 'core', 560 'BP_Email' => 'core', 561 'BP_Embed' => 'core', 562 'BP_Media_Extractor' => 'core', 563 'BP_Members_Suggestions' => 'core', 564 'BP_PHPMailer' => 'core', 565 'BP_Recursive_Query' => 'core', 566 'BP_Suggestions' => 'core', 567 'BP_User_Query' => 'core', 568 'BP_Walker_Nav_Menu_Checklist' => 'core', 569 'BP_Walker_Nav_Menu_Menu' => 'core', 570 571 'BP_Group_Extension' => 'groups', 572 'BP_Group_Member_Query' => 'groups', 573 574 'BP_Signup' => 'members', 575 ); 576 577 $component = null; 578 579 // First check to see if the class is one without a properly namespaced name. 580 if ( isset( $irregular_map[ $class ] ) ) { 581 $component = $irregular_map[ $class ]; 582 583 // Next chunk is usually the component name. 584 } elseif ( in_array( $class_parts[1], $components, true ) ) { 585 $component = $class_parts[1]; 586 } 587 588 if ( ! $component ) { 589 return; 590 } 591 592 // Sanitize class name. 593 $class = strtolower( str_replace( '_', '-', $class ) ); 594 595 require dirname( __FILE__ ) . "/bp-{$component}/classes/class-{$class}.php"; 596 } 597 598 /** 514 599 * Set up the default hooks and actions. 515 600 * 516 601 * @since 1.6.0 -
src/bp-members/bp-members-loader.php
diff --git src/bp-members/bp-members-loader.php src/bp-members/bp-members-loader.php index 0b5e60f..4f4a04b 100644
class BP_Members_Component extends BP_Component { 54 54 // Always include these files. 55 55 $includes = array( 56 56 'actions', 57 'classes',58 57 'filters', 59 58 'screens', 60 59 'template', … … class BP_Members_Component extends BP_Component { 68 67 $includes[] = 'activity'; 69 68 } 70 69 70 if ( ! buddypress()->do_autoload ) { 71 $includes[] = 'classes'; 72 } 73 71 74 // Include these only if in admin. 72 75 if ( is_admin() ) { 73 76 $includes[] = 'admin'; -
src/bp-messages/bp-messages-loader.php
diff --git src/bp-messages/bp-messages-loader.php src/bp-messages/bp-messages-loader.php index cc09026..2b39b86 100644
class BP_Messages_Component extends BP_Component { 60 60 'cache', 61 61 'actions', 62 62 'screens', 63 'classes',64 63 'filters', 65 64 'template', 66 65 'functions', … … class BP_Messages_Component extends BP_Component { 68 67 'widgets', 69 68 ); 70 69 70 if ( ! buddypress()->do_autoload ) { 71 $includes[] = 'classes'; 72 } 73 71 74 // Conditional includes. 72 75 if ( bp_is_active( $this->id, 'star' ) ) { 73 76 $includes[] = 'star'; -
src/bp-notifications/bp-notifications-loader.php
diff --git src/bp-notifications/bp-notifications-loader.php src/bp-notifications/bp-notifications-loader.php index 399fd18..e2fe049 100644
class BP_Notifications_Component extends BP_Component { 45 45 public function includes( $includes = array() ) { 46 46 $includes = array( 47 47 'actions', 48 'classes',49 48 'screens', 50 49 'adminbar', 51 50 'template', … … class BP_Notifications_Component extends BP_Component { 53 52 'cache', 54 53 ); 55 54 55 if ( ! buddypress()->do_autoload ) { 56 $includes[] = 'classes'; 57 } 58 56 59 parent::includes( $includes ); 57 60 } 58 61 -
src/bp-xprofile/bp-xprofile-loader.php
diff --git src/bp-xprofile/bp-xprofile-loader.php src/bp-xprofile/bp-xprofile-loader.php index 9a76f09..f1bce40 100644
class BP_XProfile_Component extends BP_Component { 66 66 'activity', 67 67 'screens', 68 68 'caps', 69 'classes',70 69 'filters', 71 70 'settings', 72 71 'template', … … class BP_XProfile_Component extends BP_Component { 78 77 $includes[] = 'admin'; 79 78 } 80 79 80 if ( ! buddypress()->do_autoload ) { 81 $includes[] = 'classes'; 82 } 83 81 84 parent::includes( $includes ); 82 85 } 83 86