%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/graphicd/public_html/vebto/vendor/roave/signature/src/
Upload File :
Create Path :
Current File : /home/graphicd/public_html/vebto/vendor/roave/signature/src/FileContentChecker.php

<?php

declare(strict_types=1);

namespace Roave\Signature;

use Roave\Signature\Encoder\EncoderInterface;

use function preg_match;
use function preg_replace;

final class FileContentChecker implements CheckerInterface
{
    /** @var EncoderInterface */
    private $encoder;

    /**
     * {@inheritDoc}
     */
    public function __construct(EncoderInterface $encoder)
    {
        $this->encoder = $encoder;
    }

    public function check(string $phpCode): bool
    {
        if (! preg_match('{Roave/Signature:\s+([a-zA-Z0-9\/=]+)}', $phpCode, $matches)) {
            return false;
        }

        return $this->encoder->verify($this->stripCodeSignature($phpCode), $matches[1]);
    }

    private function stripCodeSignature(string $phpCode): string
    {
        return preg_replace('{[\/\*\s]+Roave/Signature:\s+([a-zA-Z0-9\/\*\/ =]+)}', '', $phpCode);
    }
}

Zerion Mini Shell 1.0