diff --git a/src/Payment/StudioSettings.php b/src/Payment/StudioSettings.php index e1b6a04..662a325 100644 --- a/src/Payment/StudioSettings.php +++ b/src/Payment/StudioSettings.php @@ -134,8 +134,8 @@ class StudioSettings { $hstRate = $this->hstRate(); $stripeConfigured = $this->isStripeConfigured(); $openRegistration = $this->openRegistrationEnabled(); - // Stored in hours, surfaced to the admin in days. - $cancellationCutoffDays = $this->cancellationCutoffHours() / 24; + // Stored in hours, surfaced to the admin in whole days. + $cancellationCutoffDays = (int) round( $this->cancellationCutoffHours() / 24 ); include USC_PLUGIN_DIR . 'templates/admin/settings.php'; } @@ -162,10 +162,10 @@ class StudioSettings { $hstRate = isset( $_POST['hst_rate'] ) ? Val::float( $_POST['hst_rate'] ) : 0.0; update_option( self::OPT_HST_RATE, max( 0.0, $hstRate ) ); - // The cutoff is entered in days but stored in hours. - // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Val::float() coerces to float; slashes cannot survive numeric coercion. - $cutoffDays = isset( $_POST['cancellation_cutoff_days'] ) ? max( 0.0, Val::float( $_POST['cancellation_cutoff_days'] ) ) : 0.0; - update_option( self::OPT_CANCELLATION_CUTOFF_HOURS, (int) round( $cutoffDays * 24 ) ); + // The cutoff is entered in whole days but stored in hours. + // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Val::int() coerces to int; slashes cannot survive numeric coercion. + $cutoffDays = isset( $_POST['cancellation_cutoff_days'] ) ? max( 0, Val::int( $_POST['cancellation_cutoff_days'] ) ) : 0; + update_option( self::OPT_CANCELLATION_CUTOFF_HOURS, $cutoffDays * 24 ); $this->applyRegistrationMode( isset( $_POST['open_registration'] ) ); // phpcs:enable WordPress.Security.NonceVerification.Missing diff --git a/templates/admin/settings.php b/templates/admin/settings.php index 2250635..b394011 100644 --- a/templates/admin/settings.php +++ b/templates/admin/settings.php @@ -16,7 +16,7 @@ if (! defined('ABSPATH')) { * @var float $hstRate * @var bool $stripeConfigured * @var bool $openRegistration - * @var float $cancellationCutoffDays + * @var int $cancellationCutoffDays */ ?>