feat: allow to url_encode array in polling url

This commit is contained in:
Benjamin Nussbaum 2025-09-02 14:33:54 +02:00
parent aa8d3d1428
commit 40ceba267a
3 changed files with 52 additions and 0 deletions

View file

@ -0,0 +1,20 @@
<?php
namespace App\Liquid\Filters;
class StandardFilters extends \Keepsuit\Liquid\Filters\StandardFilters
{
/**
* Converts any URL-unsafe characters in a string to the
* [percent-encoded](https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding) equivalent.
*/
public function urlEncode(string|int|float|array|null $input): string
{
if (is_array($input)) {
$input = json_encode($input);
}
return parent::urlEncode($input);
}
}

View file

@ -7,6 +7,7 @@ use App\Liquid\Filters\Data;
use App\Liquid\Filters\Date;
use App\Liquid\Filters\Localization;
use App\Liquid\Filters\Numbers;
use App\Liquid\Filters\StandardFilters;
use App\Liquid\Filters\StringMarkup;
use App\Liquid\Filters\Uniqueness;
use App\Liquid\Tags\TemplateTag;
@ -265,6 +266,7 @@ class Plugin extends Model
// Use the Liquid template engine to resolve variables
$environment = App::make('liquid.environment');
$environment->filterRegistry->register(StandardFilters::class);
$liquidTemplate = $environment->parseString($template);
$context = $environment->newRenderContext(data: $variables);