From 3984e335cb3e163bec8a2e8746daf21a2dc2778f Mon Sep 17 00:00:00 2001 From: Marco Pereirinha Date: Tue, 15 Oct 2024 16:18:37 +0100 Subject: [PATCH] When on read only mode, do not assume that the checkbox is checked --- php/ui/component/class-on-off.php | 5 +++-- ui-definitions/settings-image.php | 3 ++- ui-definitions/settings-video.php | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/php/ui/component/class-on-off.php b/php/ui/component/class-on-off.php index f36304fe7..fe6beff79 100644 --- a/php/ui/component/class-on-off.php +++ b/php/ui/component/class-on-off.php @@ -123,8 +123,9 @@ protected function shadow( $struct ) { $struct = $this->get_part( 'input' ); $struct['attributes']['type'] = 'checkbox'; $struct['attributes']['disabled'] = 'disabled'; - $struct['attributes']['checked'] = 'checked'; - $struct['attributes']['type'] = 'checkbox'; + if ( 'on' === $this->setting->get_value() ) { + $struct['attributes']['checked'] = 'checked'; + } } return $struct; diff --git a/ui-definitions/settings-image.php b/ui-definitions/settings-image.php index 21600fa7b..2947de619 100644 --- a/ui-definitions/settings-image.php +++ b/ui-definitions/settings-image.php @@ -46,7 +46,8 @@ 'data-context' => 'image', ), 'readonly' => static function () { - return ! get_plugin_instance()->get_component( 'storage' )->is_local_full(); + $plugin = get_plugin_instance(); + return 'on' === $plugin->settings->get_value( 'image_delivery' ) && ! $plugin->get_component( 'storage' )->is_local_full(); }, 'readonly_message' => sprintf( // translators: %s is a link to the storage settings page. diff --git a/ui-definitions/settings-video.php b/ui-definitions/settings-video.php index 238b18b47..3325fe6a9 100644 --- a/ui-definitions/settings-video.php +++ b/ui-definitions/settings-video.php @@ -46,7 +46,8 @@ 'data-context' => 'video', ), 'readonly' => static function () { - return ! get_plugin_instance()->get_component( 'storage' )->is_local_full(); + $plugin = get_plugin_instance(); + return 'on' === $plugin->settings->get_value( 'video_delivery' ) && ! $plugin->get_component( 'storage' )->is_local_full(); }, 'readonly_message' => sprintf( // translators: %s is a link to the storage settings page.