diff --git a/changelog.txt b/changelog.txt index 287f08727..1072bfad5 100644 --- a/changelog.txt +++ b/changelog.txt @@ -6,6 +6,7 @@ * COMPATIBILITY - WPForms Compatibility replaced with [WP-Stateless - WPForms Addon](https://wordpress.org/plugins/wp-stateless-wpforms-addon/). * COMPATIBILITY - Easy Digital Downloads Compatibility replaced with [WP-Stateless - Easy Digital Downloads Addon](* COMPATIBILITY - Easy Digital Downloads Compatibility replaced with [WP-Stateless - Easy Digital Downloads Addon](https://wordpress.org/plugins/wp-stateless-easy-digital-downloads-addon/). * COMPATIBILITY - LiteSpeed Cache Compatibility replaced with [WP-Stateless - LiteSpeed Cache Addon](https://wordpress.org/plugins/wp-stateless-litespeed-cache-addon/). +* COMPATIBILITY - BuddyPress Compatibility replaced with [WP-Stateless - BuddyPress Addon](https://wordpress.org/support/plugin/wp-stateless-buddypress-addon/). * FIX: remove PHP warning on `Status` settings tab. * FIX: database updates to resolve conflicts with Polylang Pro compatibility. diff --git a/changes.md b/changes.md index 392d1adc6..18b0e455d 100644 --- a/changes.md +++ b/changes.md @@ -5,6 +5,7 @@ * COMPATIBILITY - WPForms Compatibility replaced with [WP-Stateless - WPForms Addon](https://wordpress.org/plugins/wp-stateless-wpforms-addon/). * COMPATIBILITY - Easy Digital Downloads Compatibility replaced with [WP-Stateless - Easy Digital Downloads Addon](https://wordpress.org/plugins/wp-stateless-easy-digital-downloads-addon/). * COMPATIBILITY - LiteSpeed Cache Compatibility replaced with [WP-Stateless - LiteSpeed Cache Addon](https://wordpress.org/plugins/wp-stateless-litespeed-cache-addon/). +* COMPATIBILITY - BuddyPress Compatibility replaced with [WP-Stateless - BuddyPress Addon](https://wordpress.org/support/plugin/wp-stateless-buddypress-addon/). * FIX: PHP warning on `Status` settings tab. * FIX: database updates to resolve conflicts with Polylang Pro compatibility. diff --git a/lib/classes/class-module.php b/lib/classes/class-module.php index 72e4876df..8f5cb9a1c 100644 --- a/lib/classes/class-module.php +++ b/lib/classes/class-module.php @@ -25,11 +25,6 @@ public function __construct() { add_filter('wp_stateless_compatibility_tab_visible', array($this, 'compatibility_tab_visible'), 10, 1); add_action('wp_stateless_compatibility_tab_content', array($this, 'tab_content')); - /** - * Support for BuddyPress - */ - new BuddyPress(); - /** * Support for Ewww Image Optimizer */ diff --git a/lib/classes/compatibility/buddypress.php b/lib/classes/compatibility/buddypress.php deleted file mode 100644 index 9ef17ab4d..000000000 --- a/lib/classes/compatibility/buddypress.php +++ /dev/null @@ -1,237 +0,0 @@ - $r['object'], - 'item_id' => $r['item_id'], - 'html' => false, - 'type' => 'full', - )); - $thumb_avatar = bp_core_fetch_avatar(array( - 'object' => $r['object'], - 'item_id' => $r['item_id'], - 'html' => false, - 'type' => 'thumb', - )); - - foreach ( [$full_avatar, $thumb_avatar] as $url ) { - $name = apply_filters('wp_stateless_file_name', $url, 0); - $absolutePath = apply_filters('wp_stateless_addon_files_root', ''); - $absolutePath .= '/' . $name; - - do_action( 'sm:sync::syncFile', $name, $absolutePath ); - } - } - - /** - * Deleting avatar from GCS. - * @param $return - * @param $args - * @return bool - */ - public function delete_existing_avatar($return, $args) { - if (empty($args['object']) && empty($args['item_id'])) { - return $return; - } - - $full_avatar = bp_core_fetch_avatar(array('object' => $args['object'], 'item_id' => $args['item_id'], 'html' => false, 'type' => 'full',)); - $thumb_avatar = bp_core_fetch_avatar(array('object' => $args['object'], 'item_id' => $args['item_id'], 'html' => false, 'type' => 'thumb',)); - - do_action('sm:sync::deleteFile', apply_filters('wp_stateless_file_name', $full_avatar, 0)); - do_action('sm:sync::deleteFile', apply_filters('wp_stateless_file_name', $thumb_avatar, 0)); - - if ( ud_get_stateless_media()->is_mode( ['ephemeral', 'stateless'] ) ) { - $return = false; - } - - return $return; - } - - /** - * Sync and return GCS url for group images. - * - * Used as CSS background-image. - * - * @param [type] $return - * @param [type] $r - * @return void - */ - public function bp_attachments_pre_get_attachment($return, $r) { - // Return if this is a recursive call. - if (!empty($r['recursive'])) { - return $return; - } - - try { - $debug_backtrace = \debug_backtrace(false); - - // Making sure we only return GCS link if the type is url. - if (!empty($debug_backtrace[3]['args'][0]) && $debug_backtrace[3]['args'][0] == 'url') { - $r['recursive'] = true; - - $url = bp_attachments_get_attachment('url', $r); - $name = apply_filters('wp_stateless_file_name', $url, 0); - - $root_dir = ud_get_stateless_media()->get('sm.root_dir'); - $root_dir = apply_filters("wp_stateless_handle_root_dir", $root_dir); - $root_dir = trim($root_dir, '/ '); // Remove any forward slash and empty space. - - if (!empty($name) && $root_dir . "/" != $name) { - $full_path = bp_attachments_get_attachment(false, $r); - do_action('sm:sync::syncFile', $name, $full_path, false, array('ephemeral' => false)); - $return = ud_get_stateless_media()->get_gs_host() . '/' . $name; - } - } - } catch (\Throwable $th) { - //throw $th; - } - return $return; - } - - /** - * Skip cache busting while Buddypress processes images. - * - * @param $return - * @param $filename - * @return mixed - */ - public function skip_cache_busting($return, $filename) { - $back_trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); - - foreach ($back_trace as $trace) { - if ( isset($trace['file']) && strpos($trace['file'], 'buddypress') !== false ) { - if ( isset($trace['function']) && $trace['function'] === 'sanitize_file_name' ) { - return $filename; - } - } - } - - return $return; - } - - /** - * Update args when uploading/syncing file to GCS. - * - * @param array $args - * @param string $name - * @param string $file - * @param bool $force - * - * @return array - */ - public function sync_args($args, $name, $file, $force) { - if ( !$this->is_avatar_dir($name) ) { - return $args; - } - - if ( ud_get_stateless_media()->is_mode('stateless') ) { - $args['name_with_root'] = false; - } - - $args['source'] = 'BuddyPress'; - $args['source_version'] = ''; - - try { - $args['source_version'] = bp_get_version(); - } catch (\Throwable $th) { - } - - return $args; - } - - /** - * Override BP avatar folder URL. - */ - public function bp_core_avatar_folder_url($folder_url, $item_id, $object, $avatar_dir) { - if ( ud_get_stateless_media()->is_mode( ['disabled', 'backup'] ) ) { - return $folder_url; - } - - $position = strpos($folder_url, $avatar_dir); - - if ( $position === false ) { - return $folder_url; - } - - $url = substr($folder_url, $position); - $url = apply_filters('wp_stateless_addon_files_url', '', $url); - - return $url; - } - - /** - * Override BP avatar folder. - */ - public function bp_core_avatar_folder_dir($folder_dir, $item_id, $object, $avatar_dir) { - if ( !ud_get_stateless_media()->is_mode('stateless') ) { - return $folder_dir; - } - - $position = strpos($folder_dir, $avatar_dir); - - if ( $position === false ) { - return $folder_dir; - } - - $dir = substr($folder_dir, $position); - $dir = apply_filters('wp_stateless_addon_files_url', '', $dir); - - return $dir; - } - } - } -} diff --git a/readme.md b/readme.md index bf52108a9..3cd36c747 100644 --- a/readme.md +++ b/readme.md @@ -44,6 +44,7 @@ New to Google Cloud? Google is offering you a [$300 credit](https://console.clou * [Divi Theme Addon](https://wordpress.org/plugins/wp-stateless-divi-theme-addon/) * [SiteOrigin CSS Addon](https://wordpress.org/plugins/wp-stateless-siteorigin-css-addon/) * [SiteOrigin Widgets Bundle Addon](https://wordpress.org/plugins/wp-stateless-siteorigin-widgets-bundle-addon/) +* [BuddyPress Addon](https://wordpress.org/support/plugin/wp-stateless-buddypress-addon/) * [BuddyBoss Platform Addon](https://wordpress.org/plugins/wp-stateless-buddyboss-platform-addon/) ### Support, Feedback, & Contribute diff --git a/readme.txt b/readme.txt index 22f4f1cd3..d334bf5aa 100644 --- a/readme.txt +++ b/readme.txt @@ -54,6 +54,7 @@ New to Google Cloud? Google is offering you a [$300 credit](https://console.clou * [Divi Theme Addon](https://wordpress.org/plugins/wp-stateless-divi-theme-addon/) * [SiteOrigin CSS Addon](https://wordpress.org/plugins/wp-stateless-siteorigin-css-addon/) * [SiteOrigin Widgets Bundle Addon](https://wordpress.org/plugins/wp-stateless-siteorigin-widgets-bundle-addon/) +* [BuddyPress Addon](https://wordpress.org/support/plugin/wp-stateless-buddypress-addon/) * [BuddyBoss Platform Addon](https://wordpress.org/plugins/wp-stateless-buddyboss-platform-addon/) = Support, Feedback, & Contribute = @@ -140,6 +141,7 @@ Before upgrading to WP-Stateless 3.0, please, make sure you tested it on your de * COMPATIBILITY - WPForms Compatibility replaced with [WP-Stateless - WPForms Addon](https://wordpress.org/plugins/wp-stateless-wpforms-addon/). * COMPATIBILITY - Easy Digital Downloads Compatibility replaced with [WP-Stateless - Easy Digital Downloads Addon](* COMPATIBILITY - Easy Digital Downloads Compatibility replaced with [WP-Stateless - Easy Digital Downloads Addon](https://wordpress.org/plugins/wp-stateless-easy-digital-downloads-addon/). * COMPATIBILITY - LiteSpeed Cache Compatibility replaced with [WP-Stateless - LiteSpeed Cache Addon](https://wordpress.org/plugins/wp-stateless-litespeed-cache-addon/). +* COMPATIBILITY - BuddyPress Compatibility replaced with [WP-Stateless - BuddyPress Addon](https://wordpress.org/support/plugin/wp-stateless-buddypress-addon/). * FIX: remove PHP warning on `Status` settings tab. * FIX: database updates to resolve conflicts with Polylang Pro compatibility. diff --git a/static/data/addons.php b/static/data/addons.php index b901e60a3..50864e346 100644 --- a/static/data/addons.php +++ b/static/data/addons.php @@ -137,4 +137,14 @@ 'hubspot_id' => '151480507763', ], + 'buddypress' => [ + 'title' => 'BuddyPress', + 'plugin_files' => ['buddypress/bp-loader.php'], + 'addon_file' => 'wp-stateless-buddypress-addon/wp-stateless-buddypress-addon.php', + 'icon' => 'https://ps.w.org/buddypress/assets/icon.svg', + 'repo' => 'udx/wp-stateless-buddypress-addon', + 'wp' => 'https://wordpress.org/support/plugin/wp-stateless-buddypress-addon/', + 'hubspot_id' => '151478250924', + ], + ]; diff --git a/static/views/settings-sections/general.php b/static/views/settings-sections/general.php index aad4a9861..f3a621f55 100644 --- a/static/views/settings-sections/general.php +++ b/static/views/settings-sections/general.php @@ -134,19 +134,19 @@

- domain); ?> + domain); ?>

-

+

- +

domain); ?> - - -

+

+
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index d70640e89..36a229ea4 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -39,7 +39,6 @@ 'wpCloud\\StatelessMedia\\Batch\\IBatchTask' => $baseDir . '/lib/classes/batch/interface-batch.php', 'wpCloud\\StatelessMedia\\Batch\\Migration' => $baseDir . '/lib/classes/batch/class-migration.php', 'wpCloud\\StatelessMedia\\Bootstrap' => $baseDir . '/lib/classes/class-bootstrap.php', - 'wpCloud\\StatelessMedia\\BuddyPress' => $baseDir . '/lib/classes/compatibility/buddypress.php', 'wpCloud\\StatelessMedia\\Compatibility' => $baseDir . '/lib/classes/class-compatibility.php', 'wpCloud\\StatelessMedia\\CompatibilityWooExtraProductOptions' => $baseDir . '/lib/classes/compatibility/woo-extra-product-options.php', 'wpCloud\\StatelessMedia\\DB' => $baseDir . '/lib/classes/class-db.php', diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 97b41cb71..24d5e4744 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -80,7 +80,6 @@ class ComposerStaticInitc59d002476a452800baaf79c430753cb 'wpCloud\\StatelessMedia\\Batch\\IBatchTask' => __DIR__ . '/../..' . '/lib/classes/batch/interface-batch.php', 'wpCloud\\StatelessMedia\\Batch\\Migration' => __DIR__ . '/../..' . '/lib/classes/batch/class-migration.php', 'wpCloud\\StatelessMedia\\Bootstrap' => __DIR__ . '/../..' . '/lib/classes/class-bootstrap.php', - 'wpCloud\\StatelessMedia\\BuddyPress' => __DIR__ . '/../..' . '/lib/classes/compatibility/buddypress.php', 'wpCloud\\StatelessMedia\\Compatibility' => __DIR__ . '/../..' . '/lib/classes/class-compatibility.php', 'wpCloud\\StatelessMedia\\CompatibilityWooExtraProductOptions' => __DIR__ . '/../..' . '/lib/classes/compatibility/woo-extra-product-options.php', 'wpCloud\\StatelessMedia\\DB' => __DIR__ . '/../..' . '/lib/classes/class-db.php', diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 77374ccd3..3d68e4eeb 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'wpcloud/wp-stateless', 'pretty_version' => 'dev-latest', 'version' => 'dev-latest', - 'reference' => '2f6205a2ad67d6a8ca0f130699cf1627d520e658', + 'reference' => '569840f24fbf6a2bd955d80a2786f7f30b45ad00', 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -58,7 +58,7 @@ 'wpcloud/wp-stateless' => array( 'pretty_version' => 'dev-latest', 'version' => 'dev-latest', - 'reference' => '2f6205a2ad67d6a8ca0f130699cf1627d520e658', + 'reference' => '569840f24fbf6a2bd955d80a2786f7f30b45ad00', 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../../', 'aliases' => array(),