I am a hacker in the dark of a very cold night
path :/var/www/html/vorne.webheaydemo.com
upload file:
List of files:
| name file |
size |
edit |
permission |
action |
| .editorconfig | 276 KB | March 05 2024 07:12:34 | 0666 |
|
| .env | 1385 KB | May 24 2024 16:43:55 | 0666 |
|
| .env.example | 1088 KB | March 05 2024 07:12:34 | 0666 |
|
| .gitattributes | 190 KB | March 05 2024 07:12:34 | 0666 |
|
| .gitignore | 245 KB | March 05 2024 07:12:34 | 0666 |
|
| .htaccess | 947 KB | July 04 2023 21:25:08 | 0664 |
|
| .rnd | 1024 KB | March 13 2024 04:51:14 | 0666 |
|
| README.md | 472 KB | March 22 2024 10:35:00 | 0666 |
|
| app | - | March 05 2024 07:12:34 | 0777 |
|
| artisan | 1739 KB | March 05 2024 07:12:34 | 0666 |
|
| bootstrap | - | March 05 2024 07:12:34 | 0777 |
|
| composer.json | 2829 KB | May 13 2024 12:10:04 | 0666 |
|
| composer.lock | 417205 KB | March 19 2024 12:13:14 | 0666 |
|
| config | - | July 03 2025 02:53:36 | 0777 |
|
| database | - | March 05 2024 07:12:34 | 0777 |
|
| index.php | 1816 KB | May 13 2024 10:32:36 | 0666 |
|
| lang | - | May 13 2024 14:53:26 | 0777 |
|
| manifest.json | 913 KB | May 14 2024 03:57:26 | 0664 |
|
| package.json | 398 KB | March 05 2024 07:12:34 | 0666 |
|
| phpunit.xml | 1206 KB | March 05 2024 07:12:34 | 0666 |
|
| public | - | July 03 2025 02:37:20 | 0777 |
|
| resources | - | May 13 2024 12:09:36 | 0777 |
|
| routes | - | March 05 2024 07:12:34 | 0777 |
|
| service-worker.js | 924 KB | March 05 2024 07:12:34 | 0666 |
|
| storage | - | March 05 2024 10:03:52 | 0777 |
|
| symlink.php | 218 KB | March 05 2024 07:12:34 | 0666 |
|
| tests | - | March 05 2024 07:12:34 | 0777 |
|
| vendor | - | March 19 2024 12:13:14 | 0777 |
|
| vite.config.js | 326 KB | March 05 2024 07:12:34 | 0666 |
|
*/
protected array $middleware = [];
protected IgnitionConfig $ignitionConfig;
protected ContextProviderDetector $contextProviderDetector;
protected SolutionProviderRepositoryContract $solutionProviderRepository;
protected ?bool $inProductionEnvironment = null;
protected ?string $solutionTransformerClass = null;
/** @var ArrayObject */
protected ArrayObject $documentationLinkResolvers;
protected string $customHtmlHead = '';
protected string $customHtmlBody = '';
public static function make(): self
{
return new self();
}
public function __construct()
{
$this->flare = Flare::make();
$this->ignitionConfig = IgnitionConfig::loadFromConfigFile();
$this->solutionProviderRepository = new SolutionProviderRepository($this->getDefaultSolutionProviders());
$this->documentationLinkResolvers = new ArrayObject();
$this->contextProviderDetector = new BaseContextProviderDetector();
$this->middleware[] = new AddSolutions($this->solutionProviderRepository);
$this->middleware[] = new AddDocumentationLinks($this->documentationLinkResolvers);
}
public function setSolutionTransformerClass(string $solutionTransformerClass): self
{
$this->solutionTransformerClass = $solutionTransformerClass;
return $this;
}
/** @param callable(Throwable): mixed $callable */
public function resolveDocumentationLink(callable $callable): self
{
$this->documentationLinkResolvers[] = $callable;
return $this;
}
public function setConfig(IgnitionConfig $ignitionConfig): self
{
$this->ignitionConfig = $ignitionConfig;
return $this;
}
public function runningInProductionEnvironment(bool $boolean = true): self
{
$this->inProductionEnvironment = $boolean;
return $this;
}
public function getFlare(): Flare
{
return $this->flare;
}
public function setFlare(Flare $flare): self
{
$this->flare = $flare;
return $this;
}
public function setSolutionProviderRepository(SolutionProviderRepositoryContract $solutionProviderRepository): self
{
$this->solutionProviderRepository = $solutionProviderRepository;
return $this;
}
public function shouldDisplayException(bool $shouldDisplayException): self
{
$this->shouldDisplayException = $shouldDisplayException;
return $this;
}
public function applicationPath(string $applicationPath): self
{
$this->applicationPath = $applicationPath;
return $this;
}
/**
* @param string $name
* @param string $messageLevel
* @param array $metaData
*
* @return $this
*/
public function glow(
string $name,
string $messageLevel = MessageLevels::INFO,
array $metaData = []
): self {
$this->flare->glow($name, $messageLevel, $metaData);
return $this;
}
/**
* @param array> $solutionProviders
*
* @return $this
*/
public function addSolutionProviders(array $solutionProviders): self
{
$this->solutionProviderRepository->registerSolutionProviders($solutionProviders);
return $this;
}
/** @deprecated Use `setTheme('dark')` instead */
public function useDarkMode(): self
{
return $this->setTheme('dark');
}
/** @deprecated Use `setTheme($theme)` instead */
public function theme(string $theme): self
{
return $this->setTheme($theme);
}
public function setTheme(string $theme): self
{
$this->ignitionConfig->setOption('theme', $theme);
return $this;
}
public function setEditor(string $editor): self
{
$this->ignitionConfig->setOption('editor', $editor);
return $this;
}
public function sendToFlare(?string $apiKey): self
{
$this->flareApiKey = $apiKey ?? '';
return $this;
}
public function configureFlare(callable $callable): self
{
($callable)($this->flare);
return $this;
}
/**
* @param FlareMiddleware|array $middleware
*
* @return $this
*/
public function registerMiddleware(array|FlareMiddleware $middleware): self
{
if (! is_array($middleware)) {
$middleware = [$middleware];
}
foreach ($middleware as $singleMiddleware) {
$this->middleware = array_merge($this->middleware, $middleware);
}
return $this;
}
public function setContextProviderDetector(ContextProviderDetector $contextProviderDetector): self
{
$this->contextProviderDetector = $contextProviderDetector;
return $this;
}
public function reset(): self
{
$this->flare->reset();
return $this;
}
public function register(): self
{
error_reporting(-1);
/** @phpstan-ignore-next-line */
set_error_handler([$this, 'renderError']);
/** @phpstan-ignore-next-line */
set_exception_handler([$this, 'handleException']);
return $this;
}
/**
* @param int $level
* @param string $message
* @param string $file
* @param int $line
* @param array $context
*
* @return void
* @throws \ErrorException
*/
public function renderError(
int $level,
string $message,
string $file = '',
int $line = 0,
array $context = []
): void {
throw new ErrorException($message, 0, $level, $file, $line);
}
/**
* This is the main entry point for the framework agnostic Ignition package.
* Displays the Ignition page and optionally sends a report to Flare.
*/
public function handleException(Throwable $throwable): Report
{
$this->setUpFlare();
$report = $this->createReport($throwable);
if ($this->shouldDisplayException && $this->inProductionEnvironment !== true) {
$this->renderException($throwable, $report);
}
if ($this->flare->apiTokenSet() && $this->inProductionEnvironment !== false) {
$this->flare->report($throwable, report: $report);
}
return $report;
}
/**
* This is the main entrypoint for laravel-ignition. It only renders the exception.
* Sending the report to Flare is handled in the laravel-ignition log handler.
*/
public function renderException(Throwable $throwable, ?Report $report = null): void
{
$this->setUpFlare();
$report ??= $this->createReport($throwable);
$viewModel = new ErrorPageViewModel(
$throwable,
$this->ignitionConfig,
$report,
$this->solutionProviderRepository->getSolutionsForThrowable($throwable),
$this->solutionTransformerClass,
$this->customHtmlHead,
$this->customHtmlBody,
);
(new Renderer())->render(['viewModel' => $viewModel], self::viewPath('errorPage'));
}
public static function viewPath(string $viewName): string
{
return __DIR__ . "/../resources/views/{$viewName}.php";
}
/**
* Add custom HTML which will be added to the head tag of the error page.
*/
public function addCustomHtmlToHead(string $html): self
{
$this->customHtmlHead .= $html;
return $this;
}
/**
* Add custom HTML which will be added to the body tag of the error page.
*/
public function addCustomHtmlToBody(string $html): self
{
$this->customHtmlBody .= $html;
return $this;
}
protected function setUpFlare(): self
{
if (! $this->flare->apiTokenSet()) {
$this->flare->setApiToken($this->flareApiKey ?? '');
}
$this->flare->setContextProviderDetector($this->contextProviderDetector);
foreach ($this->middleware as $singleMiddleware) {
$this->flare->registerMiddleware($singleMiddleware);
}
if ($this->applicationPath !== '') {
$this->flare->applicationPath($this->applicationPath);
}
return $this;
}
/** @return array> */
protected function getDefaultSolutionProviders(): array
{
return [
BadMethodCallSolutionProvider::class,
MergeConflictSolutionProvider::class,
UndefinedPropertySolutionProvider::class,
];
}
protected function createReport(Throwable $throwable): Report
{
return $this->flare->createReport($throwable);
}
}