Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
08/28/2019 08:38:00 PM (5 years ago)
Author:
imath
Message:

Prepare BuddyPress to welcome the BP REST API

  • Add a grunt tasks to import the master branch of the BP REST API into the BuddyPress /build directory.
  • Add some other grunt tasks to move each BP REST Controller class into their corresponding component classes directory.
  • Add the needed mechanism to make sure activating the BP REST API plugin will take over the BP REST API in BuddyPress core so that it is possible to iterate/fix bugs from the BP REST API GitHub repository.
  • Make sure the buddypress.pot is generated once the BP REST API has been imported.
  • Update the BuddyPress class autoloader to manage the loading of the BP REST API Controllers.
  • Add a new method rest_api_init() to the BP Component API to register the BP REST Controllers from their belonging component classes.

Props boonebgorges & espellcaste

See #7156

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/class-buddypress.php

    r12428 r12451  
    546546        // These classes don't have a name that matches their component.
    547547        $irregular_map = array(
    548             'BP_Akismet' => 'activity',
    549 
    550             'BP_Admin'                     => 'core',
    551             'BP_Attachment_Avatar'         => 'core',
    552             'BP_Attachment_Cover_Image'    => 'core',
    553             'BP_Attachment'                => 'core',
    554             'BP_Button'                    => 'core',
    555             'BP_Component'                 => 'core',
    556             'BP_Customizer_Control_Range'  => 'core',
    557             'BP_Date_Query'                => 'core',
    558             'BP_Email_Delivery'            => 'core',
    559             'BP_Email_Address'             => 'core',
    560             'BP_Email_Recipient'           => 'core',
    561             'BP_Email_Sender'              => 'core',
    562             'BP_Email_Participant'         => 'core',
    563             'BP_Email'                     => 'core',
    564             'BP_Embed'                     => 'core',
    565             'BP_Media_Extractor'           => 'core',
    566             'BP_Members_Suggestions'       => 'core',
    567             'BP_PHPMailer'                 => 'core',
    568             'BP_Recursive_Query'           => 'core',
    569             'BP_Suggestions'               => 'core',
    570             'BP_Theme_Compat'              => 'core',
    571             'BP_User_Query'                => 'core',
    572             'BP_Walker_Category_Checklist' => 'core',
    573             'BP_Walker_Nav_Menu_Checklist' => 'core',
    574             'BP_Walker_Nav_Menu'           => 'core',
    575             'BP_Invitation_Manager'        => 'core',
    576             'BP_Invitation'                => 'core',
     548            'BP_Akismet'                => 'activity',
     549            'BP_REST_Activity_Endpoint' => 'activity',
     550
     551            'BP_Admin'                                   => 'core',
     552            'BP_Attachment_Avatar'                       => 'core',
     553            'BP_Attachment_Cover_Image'                  => 'core',
     554            'BP_Attachment'                              => 'core',
     555            'BP_Button'                                  => 'core',
     556            'BP_Component'                               => 'core',
     557            'BP_Customizer_Control_Range'                => 'core',
     558            'BP_Date_Query'                              => 'core',
     559            'BP_Email_Delivery'                          => 'core',
     560            'BP_Email_Address'                           => 'core',
     561            'BP_Email_Recipient'                         => 'core',
     562            'BP_Email_Sender'                            => 'core',
     563            'BP_Email_Participant'                       => 'core',
     564            'BP_Email'                                   => 'core',
     565            'BP_Embed'                                   => 'core',
     566            'BP_Media_Extractor'                         => 'core',
     567            'BP_Members_Suggestions'                     => 'core',
     568            'BP_PHPMailer'                               => 'core',
     569            'BP_Recursive_Query'                         => 'core',
     570            'BP_Suggestions'                             => 'core',
     571            'BP_Theme_Compat'                            => 'core',
     572            'BP_User_Query'                              => 'core',
     573            'BP_Walker_Category_Checklist'               => 'core',
     574            'BP_Walker_Nav_Menu_Checklist'               => 'core',
     575            'BP_Walker_Nav_Menu'                         => 'core',
     576            'BP_Invitation_Manager'                      => 'core',
     577            'BP_Invitation'                              => 'core',
     578            'BP_REST_Components_Endpoint'                => 'core',
     579            'BP_REST_Attachments'                        => 'core',
     580            'BP_REST_Attachments_Member_Avatar_Endpoint' => 'core',
     581            'BP_REST_Attachments_Group_Avatar_Endpoint'  => 'core',
    577582
    578583            'BP_Core_Friends_Widget' => 'friends',
    579584
    580             'BP_Group_Extension'    => 'groups',
    581             'BP_Group_Member_Query' => 'groups',
     585            'BP_Group_Extension'                        => 'groups',
     586            'BP_Group_Member_Query'                     => 'groups',
     587            'BP_REST_Groups_Endpoint'                   => 'groups',
     588            'BP_REST_Group_Membership_Endpoint'         => 'groups',
     589            'BP_REST_Group_Invites_Endpoint'            => 'groups',
     590            'BP_REST_Group_Membership_Request_Endpoint' => 'groups',
    582591
    583592            'BP_Core_Members_Template'       => 'members',
     
    587596            'BP_Registration_Theme_Compat'   => 'members',
    588597            'BP_Signup'                      => 'members',
     598            'BP_REST_Members_Endpoint'       => 'members',
     599
     600            'BP_REST_Messages_Endpoint' => 'messages',
     601
     602            'BP_REST_Notifications_Endpoint' => 'notifications',
     603
     604            'BP_REST_XProfile_Fields_Endpoint'       => 'xprofile',
     605            'BP_REST_XProfile_Field_Groups_Endpoint' => 'xprofile',
     606            'BP_REST_XProfile_Data_Endpoint'         => 'xprofile',
    589607        );
    590608
     
    607625        $class = strtolower( str_replace( '_', '-', $class ) );
    608626
    609         $path = dirname( __FILE__ ) . "/bp-{$component}/classes/class-{$class}.php";
     627        if ( 'bp-rest-attachments' === $class ) {
     628            $path = dirname( __FILE__ ) . "/bp-{$component}/classes/trait-attachments.php";
     629        } else {
     630            $path = dirname( __FILE__ ) . "/bp-{$component}/classes/class-{$class}.php";
     631        }
    610632
    611633        // Sanity check.
Note: See TracChangeset for help on using the changeset viewer.