From 1f0ce58b22b10e24db73da00e88924bb9282ed14 Mon Sep 17 00:00:00 2001 From: FrankZamora Date: Fri, 28 Nov 2025 21:20:12 -0600 Subject: [PATCH] fix(adsense): Add string casts to buildSelect() calls in Vignette section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix TypeError: buildSelect() Argument #3 ($value) must be of type string. The getFieldValue() method can return boolean for certain DB values, causing type mismatch with strict typed buildSelect() method. Added (string) casts to all buildSelect() calls in Vignette Ads section: - vignetteTrigger - size - opacity - reshowTime - maxSession 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../Infrastructure/Ui/AdsensePlacementFormBuilder.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Admin/AdsensePlacement/Infrastructure/Ui/AdsensePlacementFormBuilder.php b/Admin/AdsensePlacement/Infrastructure/Ui/AdsensePlacementFormBuilder.php index 0e13d3f1..6edd72cd 100644 --- a/Admin/AdsensePlacement/Infrastructure/Ui/AdsensePlacementFormBuilder.php +++ b/Admin/AdsensePlacement/Infrastructure/Ui/AdsensePlacementFormBuilder.php @@ -622,7 +622,7 @@ final class AdsensePlacementFormBuilder // Trigger $vignetteTrigger = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_trigger', 'pageview'); $html .= $this->buildSelect($cid . 'VignetteTrigger', 'Cuando mostrar', - $vignetteTrigger, + (string)$vignetteTrigger, [ 'pageview' => 'Al cargar la pagina', 'scroll_50' => 'Al scrollear 50%', @@ -641,14 +641,14 @@ final class AdsensePlacementFormBuilder $html .= '
'; $size = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_size', '300x250'); $html .= $this->buildSelect($cid . 'VignetteSize', 'Tamano', - $size, + (string)$size, ['300x250' => '300x250', '336x280' => '336x280', 'responsive' => 'Responsive'] ); $html .= '
'; $html .= '
'; $opacity = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_overlay_opacity', '0.7'); $html .= $this->buildSelect($cid . 'VignetteOverlayOpacity', 'Opacidad fondo', - $opacity, + (string)$opacity, ['0.5' => '50%', '0.6' => '60%', '0.7' => '70%', '0.8' => '80%', '0.9' => '90%'] ); $html .= '
'; @@ -677,14 +677,14 @@ final class AdsensePlacementFormBuilder $html .= '
'; $reshowTime = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_reshow_time', '5'); $html .= $this->buildSelect($cid . 'VignetteReshowTime', 'Tiempo (min)', - $reshowTime, + (string)$reshowTime, ['1' => '1 min', '2' => '2 min', '3' => '3 min', '4' => '4 min', '5' => '5 min', '10' => '10 min', '15' => '15 min', '30' => '30 min'] ); $html .= '
'; $html .= '
'; $maxSession = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_max_per_session', '3'); $html .= $this->buildSelect($cid . 'VignetteMaxPerSession', 'Max/sesion', - $maxSession, + (string)$maxSession, ['1' => '1', '2' => '2', '3' => '3', '5' => '5', 'unlimited' => 'Sin limite'] ); $html .= '
';