Changeset 10652 for trunk/src/bp-loader.php
- Timestamp:
- 03/10/2016 07:45:07 PM (10 years ago)
- File:
-
- 1 edited
-
trunk/src/bp-loader.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-loader.php
r10628 r10652 102 102 public $active_components = array(); 103 103 104 /** 105 * Whether autoload is in use. 106 * 107 * @since 2.5.0 108 * @var bool 109 */ 110 public $do_autoload = false; 111 104 112 /** Option Overload *******************************************************/ 105 113 … … 458 466 */ 459 467 private function includes() { 468 if ( function_exists( 'spl_autoload_register' ) ) { 469 spl_autoload_register( array( $this, 'autoload' ) ); 470 $this->do_autoload = true; 471 } 460 472 461 473 // Load the WP abstraction file so BuddyPress can run on all WordPress setups. … … 479 491 require( $this->plugin_dir . 'bp-core/bp-core-update.php' ); 480 492 require( $this->plugin_dir . 'bp-core/bp-core-options.php' ); 481 require( $this->plugin_dir . 'bp-core/bp-core-classes.php' );482 493 require( $this->plugin_dir . 'bp-core/bp-core-taxonomy.php' ); 483 494 require( $this->plugin_dir . 'bp-core/bp-core-filters.php' ); … … 489 500 require( $this->plugin_dir . 'bp-core/bp-core-buddybar.php' ); 490 501 require( $this->plugin_dir . 'bp-core/bp-core-catchuri.php' ); 491 require( $this->plugin_dir . 'bp-core/bp-core-component.php' );492 502 require( $this->plugin_dir . 'bp-core/bp-core-functions.php' ); 493 503 require( $this->plugin_dir . 'bp-core/bp-core-moderation.php' ); 494 504 require( $this->plugin_dir . 'bp-core/bp-core-loader.php' ); 495 505 require( $this->plugin_dir . 'bp-core/bp-core-customizer-email.php' ); 506 507 if ( ! $this->do_autoload ) { 508 require( $this->plugin_dir . 'bp-core/bp-core-classes.php' ); 509 } 496 510 497 511 // Skip or load deprecated content … … 509 523 require( $this->plugin_dir . 'bp-core/deprecated/2.5.php' ); 510 524 } 525 } 526 527 /** 528 * Autoload classes. 529 * 530 * @since 2.5.0 531 * 532 * @param string $class 533 */ 534 public function autoload( $class ) { 535 $class_parts = explode( '_', strtolower( $class ) ); 536 537 if ( 'bp' !== $class_parts[0] ) { 538 return; 539 } 540 541 $components = array( 542 'activity', 543 'blogs', 544 'core', 545 'friends', 546 'groups', 547 'members', 548 'messages', 549 'notifications', 550 'settings', 551 'xprofile', 552 ); 553 554 // These classes don't have a name that matches their component. 555 $irregular_map = array( 556 'BP_Akismet' => 'activity', 557 558 'BP_Admin' => 'core', 559 'BP_Attachment_Avatar' => 'core', 560 'BP_Attachment_Cover_Image' => 'core', 561 'BP_Attachment' => 'core', 562 'BP_Button' => 'core', 563 'BP_Component' => 'core', 564 'BP_Date_Query' => 'core', 565 'BP_Email_Delivery' => 'core', 566 'BP_Email_Recipient' => 'core', 567 'BP_Email' => 'core', 568 'BP_Embed' => 'core', 569 'BP_Media_Extractor' => 'core', 570 'BP_Members_Suggestions' => 'core', 571 'BP_PHPMailer' => 'core', 572 'BP_Recursive_Query' => 'core', 573 'BP_Suggestions' => 'core', 574 'BP_Theme_Compat' => 'core', 575 'BP_User_Query' => 'core', 576 'BP_Walker_Category_Checklist' => 'core', 577 'BP_Walker_Nav_Menu_Checklist' => 'core', 578 'BP_Walker_Nav_Menu_Menu' => 'core', 579 580 'BP_Core_Friends_Widget' => 'friends', 581 582 'BP_Group_Extension' => 'groups', 583 'BP_Group_Member_Query' => 'groups', 584 585 'BP_Core_Members_Template' => 'members', 586 'BP_Core_Members_Widget' => 'members', 587 'BP_Core_Recently_Active_Widget' => 'members', 588 'BP_Core_Whos_Online_Widget' => 'members', 589 'BP_Registration_Theme_Compat' => 'members', 590 'BP_Signup' => 'members', 591 ); 592 593 $component = null; 594 595 // First check to see if the class is one without a properly namespaced name. 596 if ( isset( $irregular_map[ $class ] ) ) { 597 $component = $irregular_map[ $class ]; 598 599 // Next chunk is usually the component name. 600 } elseif ( in_array( $class_parts[1], $components, true ) ) { 601 $component = $class_parts[1]; 602 } 603 604 if ( ! $component ) { 605 return; 606 } 607 608 // Sanitize class name. 609 $class = strtolower( str_replace( '_', '-', $class ) ); 610 611 require dirname( __FILE__ ) . "/bp-{$component}/classes/class-{$class}.php"; 511 612 } 512 613
Note: See TracChangeset
for help on using the changeset viewer.