From 42345c47b9c4f4bfe6b033a818ab662208ab358e Mon Sep 17 00:00:00 2001 From: Joao Figueiredo Date: Mon, 2 Jun 2025 00:17:55 +0100 Subject: [PATCH] major refactor, numenculature change remove mentions to "door" status, to space --- wp-spaceapi-consumer-config.php | 6 +-- wp-spaceapi-consumer-style.css | 12 +++--- wp-spaceapi-consumer.php | 68 ++++++++++++++++----------------- 3 files changed, 43 insertions(+), 43 deletions(-) diff --git a/wp-spaceapi-consumer-config.php b/wp-spaceapi-consumer-config.php index 7d4cc79..e90d7c8 100644 --- a/wp-spaceapi-consumer-config.php +++ b/wp-spaceapi-consumer-config.php @@ -1,5 +1,5 @@ 'Text Domain' ), 'plugin' ); - $response = wp_remote_get( DSI_API_URL, [ + $response = wp_remote_get( SSI_API_URL, [ 'timeout' => 3, 'user-agent' => $plugin_data['TextDomain'] . '/' . $plugin_data['Version'] . ' (+https://wordpress.org/)', ] ); if ( is_wp_error( $response ) ) { - set_transient( DSI_CACHE_KEY, false, DSI_CACHE_TTL ); + set_transient( SSI_CACHE_KEY, false, SSI_CACHE_TTL ); return false; } @@ -80,14 +79,13 @@ function dsi_get_status() : bool { if ( is_bool( $decoded ) ) { $status = $decoded; } elseif ( is_array( $decoded ) ) { - if ( isset( $decoded['open'] ) ) { - $status = (bool) $decoded['open']; - } elseif ( isset( $decoded['doorOpen'] ) ) { - $status = (bool) $decoded['doorOpen']; + // SpaceAPI standard format - state.open + if ( isset( $decoded['state']['open'] ) ) { + $status = (bool) $decoded['state']['open']; } } - set_transient( DSI_CACHE_KEY, $status, DSI_CACHE_TTL ); + set_transient( SSI_CACHE_KEY, $status, SSI_CACHE_TTL ); return $status; } @@ -97,17 +95,19 @@ function dsi_get_status() : bool { |-------------------------------------------------------------------------- */ -function dsi_shortcode() : string { - $open = dsi_get_status(); - $emoji = $open ? '
🟢 Open
' : '
🔴 Closed
'; +function ssi_shortcode() : string { + $open = ssi_get_status(); + $emoji = $open ? '
🟢 Open
' : '
🔴 Closed
'; return sprintf( - '%s', + '%s', $open ? 'open' : 'closed', $emoji ); } -add_shortcode( 'door_status', 'dsi_shortcode' ); +add_shortcode( 'space_status', 'ssi_shortcode' ); +// Keep the old shortcode for backward compatibility +add_shortcode( 'door_status', 'ssi_shortcode' ); /* |-------------------------------------------------------------------------- @@ -115,23 +115,23 @@ add_shortcode( 'door_status', 'dsi_shortcode' ); |-------------------------------------------------------------------------- */ -function dsi_admin_bar( WP_Admin_Bar $bar ) : void { +function ssi_admin_bar( WP_Admin_Bar $bar ) : void { if ( ! current_user_can( 'read' ) ) { return; // Logged‑in users only. } - $open = dsi_get_status(); + $open = ssi_get_status(); $emoji = $open ? '🟢' : '🔴'; - $text = $open ? __( 'Door Open', 'door-status-indicator' ) : __( 'Door Closed', 'door-status-indicator' ); + $text = $open ? __( 'Space Open', 'wp-spaceapi-consumer' ) : __( 'Space Closed', 'wp-spaceapi-consumer' ); $bar->add_node( [ - 'id' => 'door-status-indicator', + 'id' => 'space-status-indicator', 'title' => "$emoji $text", 'href' => '#', 'meta' => [ 'title' => $text ], ] ); } -add_action( 'admin_bar_menu', 'dsi_admin_bar', 1000 ); +add_action( 'admin_bar_menu', 'ssi_admin_bar', 1000 ); /* |-------------------------------------------------------------------------- @@ -142,17 +142,17 @@ add_action( 'admin_bar_menu', 'dsi_admin_bar', 1000 ); /** * Front-end + admin-bar styles for the indicator. */ -function dsi_enqueue_assets() : void { +function ssi_enqueue_assets() : void { // register & enqueue the standalone CSS file wp_enqueue_style( - 'door-status-indicator', + 'space-status-indicator', plugins_url( 'wp-spaceapi-consumer-style.css', __FILE__ ), [], // no dependencies '1.0.0' // file version ); } -add_action( 'wp_enqueue_scripts', 'dsi_enqueue_assets' ); -add_action( 'admin_enqueue_scripts', 'dsi_enqueue_assets' ); // so the Admin Bar icon also gets styled +add_action( 'wp_enqueue_scripts', 'ssi_enqueue_assets' ); +add_action( 'admin_enqueue_scripts', 'ssi_enqueue_assets' ); // so the Admin Bar icon also gets styled /* @@ -162,8 +162,8 @@ add_action( 'admin_enqueue_scripts', 'dsi_enqueue_assets' ); // so the Admin Bar */ if ( defined( 'WP_CLI' ) && WP_CLI ) { - WP_CLI::add_command( 'door-status', function() { - WP_CLI::success( dsi_get_status() ? 'Door is open 🟢' : 'Door is closed 🔴' ); + WP_CLI::add_command( 'space-status', function() { + WP_CLI::success( ssi_get_status() ? 'Space is open 🟢' : 'Space is closed 🔴' ); } ); }