File Manager

Current Directory: /opt/cpanel/ea-wappspector/src/Matchers
Viewing File: /opt/cpanel/ea-wappspector/src/Matchers/UpLevelMatcherTrait.php
<?php namespace Plesk\Wappspector\Matchers; use League\Flysystem\Filesystem; use League\Flysystem\FilesystemException; use Plesk\Wappspector\MatchResult\EmptyMatchResult; use Plesk\Wappspector\MatchResult\MatchResultInterface; trait UpLevelMatcherTrait { abstract protected function doMatch(Filesystem $fs, string $path): MatchResultInterface; public function match(Filesystem $fs, string $path): MatchResultInterface { $matcher = $this->safeScanDir($fs, $path); if ($matcher instanceof EmptyMatchResult) { $matcher = $this->safeScanDir($fs, rtrim($path) . '/../'); } return $matcher; } private function safeScanDir(Filesystem $fs, string $path): MatchResultInterface { try { $result = $this->doMatch($fs, $path); } catch (FilesystemException) { // skip dir if it is inaccessible $result = new EmptyMatchResult(); } return $result; } }