PATH:
opt
/
cpanel
/
ea-wappspector
/
src
/
Matchers
<?php namespace Plesk\Wappspector\Matchers; use League\Flysystem\Filesystem; use League\Flysystem\FilesystemException; use Plesk\Wappspector\MatchResult\EmptyMatchResult; use Plesk\Wappspector\MatchResult\MatchResultInterface; use Plesk\Wappspector\MatchResult\Wordpress as MatchResult; class Wordpress implements MatcherInterface { private const VERSION_FILE = 'wp-includes/version.php'; /** * @throws FilesystemException */ private function detectVersion(Filesystem $fs, string $path): ?string { $versionFile = rtrim($path, '/') . '/' . self::VERSION_FILE; preg_match("/\\\$wp_version\\s*=\\s*'([^']+)'/", $fs->read($versionFile), $matches); if ($matches !== []) { return $matches[1]; } return null; } /** * @throws FilesystemException */ private function isWordpress(Filesystem $fs, string $path): bool { $versionFile = rtrim($path, '/') . '/' . self::VERSION_FILE; if (!$fs->fileExists($versionFile)) { return false; } $fileContents = $fs->read($versionFile); return stripos($fileContents, '$wp_version =') !== false; } /** * @throws FilesystemException */ public function match(Filesystem $fs, string $path): MatchResultInterface { if (!$this->isWordpress($fs, $path)) { return new EmptyMatchResult(); } return new MatchResult($path, $this->detectVersion($fs, $path)); } }
[-] Drupal.php
[edit]
[-] Sitepro.php
[edit]
[-] DotNet.php
[edit]
[-] CodeIgniter.php
[edit]
[-] Siteplus.php
[edit]
[-] Ruby.php
[edit]
[-] Sitejet.php
[edit]
[+]
..
[-] Composer.php
[edit]
[-] Python.php
[edit]
[-] Duda.php
[edit]
[-] UpLevelMatcherTrait.php
[edit]
[-] Laravel.php
[edit]
[-] Wordpress.php
[edit]
[-] MatcherInterface.php
[edit]
[-] WebPresenceBuilder.php
[edit]
[-] Symfony.php
[edit]
[-] CakePHP.php
[edit]
[-] Php.php
[edit]
[-] Yii.php
[edit]
[-] NodeJs.php
[edit]
[-] Typo3.php
[edit]
[-] Prestashop.php
[edit]
[-] Joomla.php
[edit]