HEX
Server: Apache/2.4.65 (Debian)
System: Linux 88f31f35b0b8 6.1.0-38-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.147-1 (2025-08-02) x86_64
User: www-data (33)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/wp-rss-aggregator/v4/src/Util/Sanitizers/CallbackSanitizer.php
<?php

namespace RebelCode\Wpra\Core\Util\Sanitizers;

use RebelCode\Wpra\Core\Util\SanitizerInterface;

/**
 * A sanitizer implementation that uses callbacks for sanitization.
 *
 * @since 4.16
 */
class CallbackSanitizer implements SanitizerInterface
{
    /**
     * @since 4.16
     *
     * @var callable
     */
    protected $callback;

    /**
     * Constructor.
     *
     * @since 4.16
     *
     * @param callable $callback The callback function. Recieves the value as argument and should return the
     *                           sanitized value.
     */
    public function __construct(callable $callback)
    {
        $this->callback = $callback;
    }

    /**
     * @inheritdoc
     *
     * @since 4.16
     */
    public function sanitize($value)
    {
        return call_user_func_array($this->callback, [$value]);
    }
}