HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vm8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: afleverb (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //var/www/drakkar_site/wp-content/plugins/tenweb-speed-optimizer/vendor/enqueue/dsn/QueryBag.php
<?php

declare(strict_types=1);

namespace Enqueue\Dsn;

class QueryBag
{
    /**
     * @var array
     */
    private $query;

    public function __construct(array $query)
    {
        $this->query = $query;
    }

    public function toArray(): array
    {
        return $this->query;
    }

    public function getString(string $name, string $default = null): ?string
    {
        return array_key_exists($name, $this->query) ? $this->query[$name] : $default;
    }

    public function getDecimal(string $name, int $default = null): ?int
    {
        $value = $this->getString($name);
        if (null === $value) {
            return $default;
        }

        if (false == preg_match('/^[\+\-]?[0-9]*$/', $value)) {
            throw InvalidQueryParameterTypeException::create($name, 'decimal');
        }

        return (int) $value;
    }

    public function getOctal(string $name, int $default = null): ?int
    {
        $value = $this->getString($name);
        if (null === $value) {
            return $default;
        }

        if (false == preg_match('/^0[\+\-]?[0-7]*$/', $value)) {
            throw InvalidQueryParameterTypeException::create($name, 'octal');
        }

        return intval($value, 8);
    }

    public function getFloat(string $name, float $default = null): ?float
    {
        $value = $this->getString($name);
        if (null === $value) {
            return $default;
        }

        if (false == is_numeric($value)) {
            throw InvalidQueryParameterTypeException::create($name, 'float');
        }

        return (float) $value;
    }

    public function getBool(string $name, bool $default = null): ?bool
    {
        $value = $this->getString($name);
        if (null === $value) {
            return $default;
        }

        if (in_array($value, ['', '0', 'false'], true)) {
            return false;
        }

        if (in_array($value, ['1', 'true'], true)) {
            return true;
        }

        throw InvalidQueryParameterTypeException::create($name, 'bool');
    }

    public function getArray(string $name, array $default = []): self
    {
        if (false == array_key_exists($name, $this->query)) {
            return new self($default);
        }

        $value = $this->query[$name];

        if (is_array($value)) {
            return new self($value);
        }

        throw InvalidQueryParameterTypeException::create($name, 'array');
    }
}