![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/pdf-ai.com/public_html/vendor/php-flasher/flasher/Http/ |
<?php
/*
* This file is part of the PHPFlasher package.
* (c) Younes KHOUBZA <younes.khoubza@gmail.com>
*/
namespace Flasher\Prime\Http;
use Flasher\Prime\FlasherInterface;
final class RequestExtension
{
/**
* @var FlasherInterface
*/
private $flasher;
/**
* @var array<string, string>
*/
private $mapping;
/**
* @param array<string, string[]> $mapping
*/
public function __construct(FlasherInterface $flasher, array $mapping = array())
{
$this->flasher = $flasher;
$this->mapping = $this->flatMapping($mapping);
}
/**
* @return ResponseInterface
*/
public function flash(RequestInterface $request, ResponseInterface $response)
{
if (!$request->hasSession()) {
return $response;
}
foreach ($this->mapping as $alias => $type) {
if (false === $request->hasType($alias)) {
continue;
}
$messages = (array) $request->getType($alias);
foreach ($messages as $message) {
$this->flasher->addFlash($type, $message);
}
$request->forgetType($alias);
}
return $response;
}
/**
* @param array<string, string[]> $mapping
*
* @return array<string, string>
*/
private function flatMapping(array $mapping)
{
$flatMapping = array();
foreach ($mapping as $type => $aliases) {
foreach ($aliases as $alias) {
$flatMapping[$alias] = $type;
}
}
return $flatMapping;
}
}