From 53cbd70fbc6705d6c9142091edb3d8d4c925fc87 Mon Sep 17 00:00:00 2001 From: imath Date: Thu, 9 Apr 2020 10:48:28 +0200 Subject: [PATCH] Add a new section to inform about what to expect from next release If there are development notes on [BP Devel](https://bpdevel.wordpress.com), we are now adding a new section that includes a link to the `development-notes/$next-version` category of our blog. This new feature deserves a new version on the WP Plugins directory. Fixes #2 --- class-bp-beta-tester.php | 2 +- inc/functions.php | 59 ++++++++++++++++++++++++++++++++++++++++ inc/globals.php | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 63 insertions(+), 4 deletions(-) diff --git a/class-bp-beta-tester.php b/class-bp-beta-tester.php index a639d8a..7fd9fd1 100644 --- a/class-bp-beta-tester.php +++ b/class-bp-beta-tester.php @@ -11,7 +11,7 @@ * Plugin Name: BP Beta Tester * Plugin URI: https://github.com/buddypress/bp-beta-tester * Description: A plugin to switch between stable, beta or RC versions of BuddyPress. - * Version: 1.0.0 + * Version: 1.1.0 * Author: The BuddyPress Community * Author URI: https://buddypress.org * Text Domain: bp-beta-tester diff --git a/inc/functions.php b/inc/functions.php index 723bde1..35599a3 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -407,6 +407,19 @@ function bp_beta_tester_admin_page() { ?>

+ + +

+

+ ' . esc_html__( 'our Development Blog', 'bp-beta-tester' ) . '' + ); + ?> +

+ @@ -488,6 +501,52 @@ function bp_beta_tester_plugins_api( $res = null, $action = '', $args = array() } add_filter( 'plugins_api_result', 'bp_beta_tester_plugins_api', 10, 3 ); +/** + * Gets a version development notes URL. + * + * @since 1.1.0 + * + * @param string $version The version to get development notes for. + * @return string The version development notes URL. + */ +function bp_beta_tester_get_version_dev_notes_url( $version = '' ) { + $version = (float) $version; + + if ( ! $version ) { + return false; + } + + // Categories are using an hyphen instead of a dot on BP Devel. + $version = number_format( $version, 1, '-', '' ); + + return sprintf( 'https://bpdevel.wordpress.com/category/development-notes/%s/', esc_attr( $version ) ); +} + +/** + * Checks if some development notes are available on BP Devel. + * + * @since 1.1.0 + * + * @param string $version The version to check develompent notes for. + * @return boolean True if there are some develompent notes. False otherwise. + */ +function bp_beta_tester_version_has_dev_notes( $version = '' ) { + global $wp_version; + + if ( ! $version ) { + return false; + } + + $response = wp_remote_get( + bp_beta_tester_get_version_dev_notes_url( $version ), + array( + 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url( '/' ), + ) + ); + + return 200 === wp_remote_retrieve_response_code( $response ); +} + /** * Add a Dashboard submenu. * diff --git a/inc/globals.php b/inc/globals.php index f2aa070..3da4ec9 100644 --- a/inc/globals.php +++ b/inc/globals.php @@ -17,7 +17,7 @@ function bp_beta_tester_globals() { $bpbt = bp_beta_tester(); - $bpbt->version = '1.0.0'; + $bpbt->version = '1.1.0'; // Paths. $bpbt->dir = plugin_dir_path( dirname( __FILE__ ) ); diff --git a/package-lock.json b/package-lock.json index 642d0f2..fd58e92 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { "name": "bp-beta-tester", - "version": "1.0.0", + "version": "1.1.0", "lockfileVersion": 1 } diff --git a/package.json b/package.json index 53f8594..fca3cbc 100644 --- a/package.json +++ b/package.json @@ -27,5 +27,5 @@ "type": "git", "url": "https://github.com/buddypress/bp-beta-tester.git" }, - "version": "1.0.0" + "version": "1.1.0" }