v0.7.3 — WordPress.org guideline 8 compliance + Privacy section

Adds the Update URI guard pattern so one source tree produces two
compliant build artifacts:

* Gitea install (default): `Update URI:` header points at
  git.davidtkeane.com → wp.org skips this plugin → self-hosted
  updater runs normally.
* WordPress.org submission zip (build script strips that line):
  header is empty → `radio_should_skip_custom_updater()` returns
  true → entire updater file short-circuits at load time → wp.org
  takes over update delivery as guideline 8 requires.

Settings page now guards the Updates panel render with
`function_exists()` because the panel function only exists when
the updater was allowed to load.

Also adds a dedicated `== Privacy ==` section to readme.txt
covering every outbound connection (none from the plugin itself;
SomaFM audio + 30s songs.json poll while playing) and adds an
explicit link to SomaFM's terms of use (somafm.com/legal/).

No user-visible behaviour change in either distribution.
This commit is contained in:
2026-05-30 04:21:25 +01:00
parent a298a4c217
commit a9d76decae
6 changed files with 105 additions and 11 deletions
+12 -2
View File
@@ -5,7 +5,7 @@
* Plugin Name: RangerHQ Radio
* Plugin URI: https://icanhelp.ie/radio
* Description: A small, focused internet radio player for your WordPress admin. 44 hand-curated stations from SomaFM across 10 genres — ambient, electronic, lounge, rock, metal, jazz, world, reggae, holiday, specials. Plays via HTML5 audio; per-user station + volume + history + favourites; pop-out window for continuous background play.
* Version: 0.7.2
* Version: 0.7.3
* Requires at least: 5.3
* Requires PHP: 7.4
* Author: David Keane
@@ -13,14 +13,24 @@
* License: GPL v2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: a-radio
* Update URI: https://git.davidtkeane.com/ranger/a-radio
*
* @package RangerHQ_Radio
*
* NOTE on `Update URI:` (wp.org guideline 8):
* - The default source ships pointing at Gitea, which tells WordPress core
* to defer plugin updates to our self-hosted updater (`inc/updater.php`).
* - When packaging the submission zip for WordPress.org, the build script
* STRIPS this `Update URI:` line. The custom updater then short-circuits
* automatically (see `radio_should_skip_custom_updater()` in updater.php)
* and WordPress.org takes over update delivery, as required by guideline 8.
* - Strip command: `sed -i '' '/^ \* Update URI:/d' radio.php` before zipping.
*/
if ( ! defined( 'ABSPATH' ) ) { exit; }
// Plugin coordinates.
if ( ! defined( 'RADIO_VERSION' ) ) { define( 'RADIO_VERSION', '0.7.2' ); }
if ( ! defined( 'RADIO_VERSION' ) ) { define( 'RADIO_VERSION', '0.7.3' ); }
if ( ! defined( 'RADIO_FILE' ) ) { define( 'RADIO_FILE', __FILE__ ); }
if ( ! defined( 'RADIO_PATH' ) ) { define( 'RADIO_PATH', plugin_dir_path( __FILE__ ) ); }
if ( ! defined( 'RADIO_URL' ) ) { define( 'RADIO_URL', plugin_dir_url( __FILE__ ) ); }