Linux server1.hosting4iran.com 4.18.0-553.123.2.el8_10.x86_64 #1 SMP Thu May 7 15:28:41 EDT 2026 x86_64
LiteSpeed
Server IP : 185.208.174.156 & Your IP : 216.73.216.67
Domains : 318 Domain
User : satitravel
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
cpanel /
ea-wappspector /
src /
Matchers /
Delete
Unzip
Name
Size
Permission
Date
Action
CakePHP.php
1.02
KB
-rw-r--r--
2026-05-18 19:25
CodeIgniter.php
1.14
KB
-rw-r--r--
2026-05-18 19:25
Composer.php
1.09
KB
-rw-r--r--
2026-05-18 19:25
DotNet.php
1.05
KB
-rw-r--r--
2026-05-18 19:25
Drupal.php
1.63
KB
-rw-r--r--
2026-05-18 19:25
Duda.php
1.72
KB
-rw-r--r--
2026-05-18 19:25
EmDash.php
813
B
-rw-r--r--
2026-05-18 19:25
Joomla.php
3.79
KB
-rw-r--r--
2026-05-18 19:25
Laravel.php
1.9
KB
-rw-r--r--
2026-05-18 19:25
MatcherInterface.php
343
B
-rw-r--r--
2026-05-18 19:25
NodeJs.php
866
B
-rw-r--r--
2026-05-18 19:25
Php.php
1.07
KB
-rw-r--r--
2026-05-18 19:25
Prestashop.php
1.41
KB
-rw-r--r--
2026-05-18 19:25
Python.php
742
B
-rw-r--r--
2026-05-18 19:25
Ruby.php
713
B
-rw-r--r--
2026-05-18 19:25
Sitejet.php
976
B
-rw-r--r--
2026-05-18 19:25
Siteplus.php
1.79
KB
-rw-r--r--
2026-05-18 19:25
Sitepro.php
980
B
-rw-r--r--
2026-05-18 19:25
Symfony.php
905
B
-rw-r--r--
2026-05-18 19:25
Typo3.php
1.77
KB
-rw-r--r--
2026-05-18 19:25
UpLevelMatcherTrait.php
982
B
-rw-r--r--
2026-05-18 19:25
WebPresenceBuilder.php
1.97
KB
-rw-r--r--
2026-05-18 19:25
Wordpress.php
1.48
KB
-rw-r--r--
2026-05-18 19:25
Yii.php
1.64
KB
-rw-r--r--
2026-05-18 19:25
Save
Rename
<?php namespace Plesk\Wappspector\Matchers; use JsonException; use League\Flysystem\Filesystem; use League\Flysystem\FilesystemException; use Plesk\Wappspector\MatchResult\EmptyMatchResult; use Plesk\Wappspector\MatchResult\Laravel as MatchResult; use Plesk\Wappspector\MatchResult\MatchResultInterface; class Laravel implements MatcherInterface { use UpLevelMatcherTrait; private const VERSION_FILE = 'vendor/laravel/framework/src/Illuminate/Foundation/Application.php'; private const COMPOSER_JSON = 'composer.json'; private const ARTISAN = 'artisan'; /** * @throws FilesystemException */ protected function doMatch(Filesystem $fs, string $path): MatchResultInterface { $path = rtrim($path, '/'); if (!$fs->fileExists($path . '/' . self::ARTISAN)) { return new EmptyMatchResult(); } return new MatchResult($path, $this->detectVersion($path, $fs)); } private function detectVersion(string $path, Filesystem $fs): ?string { $result = null; $versionFile = $path . '/' . self::VERSION_FILE; if ($fs->fileExists($versionFile)) { preg_match("/VERSION\\s*=\\s*'([^']+)'/", $fs->read($versionFile), $matches); if ($matches !== []) { $result = $matches[1]; } } else { $composerJsonFile = $path . '/' . self::COMPOSER_JSON; if ($fs->fileExists($composerJsonFile)) { try { $json = json_decode($fs->read($composerJsonFile), true, 512, JSON_THROW_ON_ERROR); if ($laravelPackage = $json['require']['laravel/framework'] ?? null) { $result = str_replace('^', '', $laravelPackage); } } catch (JsonException) { // ignore composer.json errors } } } return $result; } }