/var/www/www.cadi-tco.re/src/Shop/views/show.tpl
{% extends 'layout.tpl' %}
{% block title product.name %}
{% block body %}
<div class="container">
<div class="col-lg-12">
<!-- breadcrumb-->
{% if categoryId %}
{{ linkPath(categoryId) | raw }}
{% endif %}
<br />
</div>
<div class="row">
<div class="col-lg-7">
<div class="row">
<div class="col-md-3">
<div data-slider-id="1" class="owl-thumbs">
<button class="owl-thumb-item"><img src="{{ product.thumb }}" alt="" class="img-fluid"></button>
<!--<button class="owl-thumb-item"><img src="img/2_11386-1.jpg" alt="" class="img-fluid"></button>-->
</div>
</div>
<div class="col-md-9">
<div data-slider-id="1" class="owl-carousel shop-detail-carousel">
<div class="item">
<img src="{{ product.alone }}" alt="{{ product.name }}" class="img-fluid"></div>
<!--<div class="item">
<img src="img/2_11386-1.jpg" alt="" class="img-fluid">
</div>-->
</div>
</div>
</div>
<div class="row">
<div class="margin-auto">
{% if(product.securityFile) %}
<p class="text-center figure">
<a target="_blank" href="{{ product.securityFile }}" class="btn btn-primary file"><i class="fa fa-file-pdf-o"></i>Fiche données de sécurité</a>
</p>
/var/www/www.cadi-tco.re/src/Framework/Database/Query.php
$parts[] = 'LIMIT ' . $this -> limit;
}
echo join(' ', $parts);
die();
}
/**
* Retourne un résultat ou une exception
*
* @return mixed
* @throws \Exception
*/
public function fetchOrFail()
{
$record = $this->fetch();
if ($record === false) {
throw new NoRecordException();
}
return $record;
}
public function __toString()
{
$parts = ['SELECT'];
if ($this -> select) {
$parts[] = join(',', $this->select);
} else {
$parts[] = '*';
}
$parts[] = 'FROM';
$parts[] = $this->buildFrom();
if (!empty($this->joins)) {
foreach ($this->joins as $type => $joins) {
foreach ($joins as $join) {
/var/www/www.cadi-tco.re/src/Framework/Database/Table.php
public function findWF(int $id)
{
return $this->makeQuery()
->where('id = :id')
->params([':id' => $id])
->fetch();
}
/**
* Récupère un élément avec is_active = 1 à partir de son id
*
* @param int $id
* @return mixed
*/
public function findActive(int $id)
{
return $this->makeQuery()
->where('id = :id', 'is_active = :active')
->params([':id' => $id, ':active' => 1])
->fetchOrFail();
}
/**
* Récupère le stock d'un élément
*
* @param int $id
* @return mixed
*/
public function getStock(int $id)
{
return $this->makeQuery()
->select('stock')
->where('id = :id', 'is_stock = :is_stock')
->params([':id' => $id, ':is_stock' => 1])
->fetchColumn(0);
}
/**
* Compte le nombre d'articles
*
/var/www/www.cadi-tco.re/src/Category/Twig/LinkPathTwigExtension.php
}
public function getFunctions(): array
{
return [
new \Twig_SimpleFunction('linkPath', [$this, 'linkPath']),
new \Twig_SimpleFunction('menu', [$this, 'menu']),
];
}
public function linkPath($categoryId)
{
$category = $this->categoryTable->findActive($categoryId);
$categories = explode('/', $category->getPath());
$link = '<nav aria-label="breadcrumb"><ol class="breadcrumb">';
$link .= '<li class="breadcrumb-item"><a href="'.$this->router->generateUri('home').'">Accueil</a></li>';
foreach ($categories as $c) {
$parent = $this->categoryTable->findActive($c);
$url = $this->router->generateUri(
'categories_products',
['id' => $parent->getId(),
'url' => $parent->getUrl()]
);
$link .= '<li class="breadcrumb-item"><a href="'.$url.'">'.$parent->getName().'</a></li>';
}
$link .= '</ol></nav>';
return $link;
}
public function menu()
{
$user = $this->auth->getUser();
$categories = $this->categoryTable->findChild(0, 'position', true);
//Pour chaque catégorie
foreach ($categories as $category) {
/var/www/www.cadi-tco.re/tmp/views/e1/e1f99176d73cd1fa85e40e5023388c906ff7b6619efa489b2118cc37310f16fc.php
{
$macros = $this->macros;
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "name", [], "any", false, false, false, 3), "html", null, true);
}
// line 5
public function block_body($context, array $blocks = [])
{
$macros = $this->macros;
// line 6
echo "
<div class=\"container\">
<div class=\"col-lg-12\">
<!-- breadcrumb-->
";
// line 10
if (($context["categoryId"] ?? null)) {
// line 11
echo " ";
echo $this->extensions['App\Category\Twig\LinkPathTwigExtension']->linkPath(($context["categoryId"] ?? null));
echo "
";
}
// line 13
echo " <br />
</div>
<div class=\"row\">
<div class=\"col-lg-7\">
<div class=\"row\">
<div class=\"col-md-3\">
<div data-slider-id=\"1\" class=\"owl-thumbs\">
<button class=\"owl-thumb-item\"><img src=\"";
// line 20
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "thumb", [], "any", false, false, false, 20), "html", null, true);
echo "\" alt=\"\" class=\"img-fluid\"></button>
<!--<button class=\"owl-thumb-item\"><img src=\"img/2_11386-1.jpg\" alt=\"\" class=\"img-fluid\"></button>-->
</div>
</div>
<div class=\"col-md-9\">
/var/www/www.cadi-tco.re/vendor/twig/twig/src/Template.php
{
if ($useBlocks && isset($blocks[$name])) {
$template = $blocks[$name][0];
$block = $blocks[$name][1];
} elseif (isset($this->blocks[$name])) {
$template = $this->blocks[$name][0];
$block = $this->blocks[$name][1];
} else {
$template = null;
$block = null;
}
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
$template->$block($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
$e->guess();
throw $e;
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false, $templateContext ?? $this);
/var/www/www.cadi-tco.re/tmp/views/cf/cf48e9ad8f56cd0f58609ca1e1076f02cd6b4e57dbd24cfcdc71e2facbb7f6b2.php
// line 312
echo " <!--END HEADER-->
<div id=\"all\">
<!--*** BANNER ***-->
<div id=\"content\">
<div class=\"row\">
<div id=\"title-content\" class=\"row\">
<div id=\"title-content-text\">
CADI, PREMIÈRE CENTRALE D'ACHATS PUBLICS À LA RÉUNION & DANS LES DOM<br />
VOS ACHATS PUBLICS <span style=\"font-weight: bold; font-size: 24px;\">EN </span><span style=\"color: #00b3ba; font-weight: bold; font-size: 24px;\">1 CLIC</span><br />
</div>
<div id=\"title-content-icon\">
<img src=\"/images/un-clic.jpg\" alt=\"un clic\" />
</div>
</div>
</div>
<br style=\"clear: both;\" />
";
// line 328
$this->displayBlock('body', $context, $blocks);
// line 329
echo " ";
$this->loadTemplate("footer.inc.tpl", "layout.tpl", 329)->display($context);
// line 330
echo " </div>
</div>
";
// line 333
if ($this->extensions['Framework\Twig\FlashExtension']->getFlash("success")) {
// line 334
echo " <div id=\"message-success\">
<div class=\"row\">
<div class=\"row margin-auto\">
";
// line 337
echo twig_escape_filter($this->env, $this->extensions['Framework\Twig\FlashExtension']->getFlash("success"), "html", null, true);
echo "
<div style=\"margin-left: 30px;\">
<a href=\"javascript:void(0);\" onclick=\"closeMsgFlash()\" style=\"color: #ffffff;\" ><small style=\"padding: 5px; border: solid 1px #ffffff;\">fermer</small></a>
/var/www/www.cadi-tco.re/vendor/twig/twig/src/Template.php
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
$e->guess();
throw $e;
}
}
/var/www/www.cadi-tco.re/vendor/twig/twig/src/Template.php
{
return $this;
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
if ($this->env->isDebug()) {
ob_start();
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
/var/www/www.cadi-tco.re/tmp/views/e1/e1f99176d73cd1fa85e40e5023388c906ff7b6619efa489b2118cc37310f16fc.php
$this->source = $this->getSourceContext();
$this->blocks = [
'title' => [$this, 'block_title'],
'body' => [$this, 'block_body'],
'loadJs' => [$this, 'block_loadJs'],
];
}
protected function doGetParent(array $context)
{
// line 1
return "layout.tpl";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$this->parent = $this->loadTemplate("layout.tpl", "@shop/show.tpl", 1);
$this->parent->display($context, array_merge($this->blocks, $blocks));
}
// line 3
public function block_title($context, array $blocks = [])
{
$macros = $this->macros;
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["product"] ?? null), "name", [], "any", false, false, false, 3), "html", null, true);
}
// line 5
public function block_body($context, array $blocks = [])
{
$macros = $this->macros;
// line 6
echo "
<div class=\"container\">
<div class=\"col-lg-12\">
<!-- breadcrumb-->
";
// line 10
/var/www/www.cadi-tco.re/vendor/twig/twig/src/Template.php
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
$e->guess();
throw $e;
}
}
/var/www/www.cadi-tco.re/vendor/twig/twig/src/Template.php
{
return $this;
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
if ($this->env->isDebug()) {
ob_start();
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
/var/www/www.cadi-tco.re/vendor/twig/twig/src/Template.php
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
if ($this->env->isDebug()) {
ob_start();
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
/var/www/www.cadi-tco.re/vendor/twig/twig/src/TemplateWrapper.php
* directly (use Twig\Environment::load() instead).
*
* @internal
*/
public function __construct(Environment $env, Template $template)
{
$this->env = $env;
$this->template = $template;
}
/**
* Renders the template.
*
* @param array $context An array of parameters to pass to the template
*/
public function render(array $context = []): string
{
// using func_get_args() allows to not expose the blocks argument
// as it should only be used by internal code
return $this->template->render($context, \func_get_args()[1] ?? []);
}
/**
* Displays the template.
*
* @param array $context An array of parameters to pass to the template
*/
public function display(array $context = [])
{
// using func_get_args() allows to not expose the blocks argument
// as it should only be used by internal code
$this->template->display($context, \func_get_args()[1] ?? []);
}
/**
* Checks if a block is defined.
*
* @param string $name The block name
* @param array $context An array of parameters to pass to the template
*/
/var/www/www.cadi-tco.re/vendor/twig/twig/src/Environment.php
$key = $this->getLoader()->getCacheKey($name).$this->optionsHash;
return $this->templateClassPrefix.hash(\PHP_VERSION_ID < 80100 ? 'sha256' : 'xxh128', $key).(null === $index ? '' : '___'.$index);
}
/**
* Renders a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function render($name, array $context = [])
{
return $this->load($name)->render($context);
}
/**
* Displays a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function display($name, array $context = [])
{
$this->load($name)->display($context);
}
/**
* Loads a template.
*
/var/www/www.cadi-tco.re/src/Framework/Renderer/TwigRenderer.php
public function addPath(string $namespace, string $path = null):void
{
$this->twig->getLoader()->addPath($path, $namespace);
}
/**
* Permet de rendre une vue
* Le chemin peut être précisé avec des namespaces rajoutés via addPath()
* $this->render('@blog/views');
* $this->render('views');
* @param string $view
* @param array $params
* @return string
*/
public function render(string $view, array $params = []):string
{
if ($this->session->get('javascript') && in_array($view, $this->ajaxFiles)) {
$this->twig->render($view.'.inc.tpl', $params);
}
return $this->twig->render($view.'.tpl', $params);
}
/**
* Permet de rendre une vue en Json
*
* @param string $view
* @param array $params
* @return string
*/
public function renderJson(string $view, array $params = []):string
{
$renderer = $this->render($view, $params);
$start = strpos($renderer, '<body>')+6;
$length = strpos($renderer, '</body>') - $start;
$html = substr($renderer, $start, $length);
return json_encode(['html' => $html]);
}
/**
/var/www/www.cadi-tco.re/src/Shop/Action/ProductShowAction.php
//On récupère les infos
foreach ($productOptionList as $productOption) {
$productOptionEntity = $this->productTable->find($productOption->p_id);
$productOptions[] = array('p' => $productOptionEntity, 'q' => $productOption->q);
}
}
//On récupère la rubrique du produit
$categoryId = $this->categoryTable->getCategoryProduct($productId);
return $this->renderer->render(
'@shop/show',
compact(
'product',
'attributes',
'compatibleProducts',
'equivalentProducts',
'errors',
'productOptions',
'categoryId'
)
);
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
* @var RequestHandlerInterface
*/
private $handler;
/**
*
* @param ContainerInterface $container
* @param array $middlewares
*/
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
/var/www/www.cadi-tco.re/src/Framework/Middleware/DispatcherMiddleware.php
public function __construct(\Psr\Container\ContainerInterface $container)
{
$this->container = $container;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$route = $request->getAttribute(\Framework\Router\Route::class);
if (is_null($route)) {
//Appelle le prochain middleware : cad le NotFoundMiddleware
return $handler->handle($request);
}
//Récupère l'action à appeller
$callback = $route->getCallable();
if (!is_array($callback)) {
$callback = [$callback];
}
//Permet d'appler d'autres middlewares
return (new CombinedMiddleware($this->container, $callback))->process($request, $handler);
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index ++;
return $middleware;
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/RouterMiddleware.php
if($this->auth->getUser()){
$user = $this->auth->getUser();
$originalUser = $this->auth->getOriginalUser();
$fichier = fopen('public/uploads/logs/log'.date('ymd').'.txt', 'a');
$input = date('H:i:s').' : ';
if($originalUser) {
$input .= '['.$originalUser ->getFirstname().' '.$originalUser ->getlastname().']';
}
$input .= $user ->getFirstname().' '.$user ->getlastname().' - ';
$input .= $route->getName().' - '. json_encode($route->getParams());
if($request->getMethod() == "POST") {
$input .= ' - POST => ' . json_encode($request->getParsedBody());
}
$input .= "\n";
fwrite($fichier, $input);
fclose($fichier);
}
return $next($request);
} catch (\Pagerfanta\Exception\OutOfRangeCurrentPageException $exception) {
return new Response(404, [], $this->renderer->render('404'));
} catch (\Framework\Exception\NoRecordException $exception) {
return new Response(404, [], $this->renderer->render('404'));
}
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
/var/www/www.cadi-tco.re/src/Framework/Middleware/CsrfMiddleware.php
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
try {
if (in_array($request->getMethod(), ['POST', 'PUT', 'DELETE'])) {
$params = $request->getParsedBody()?: [];
if (!array_key_exists($this->formKey, $params)) {
return $this->reject($request);
} else {
$csrfList = $this->session[$this->sessionKey] ?? [];
if (in_array($params[$this->formKey], $csrfList)) {
$this->useToken($params[$this->formKey]);
return $handler->handle($request);
} else {
return $this->reject($request);
}
}
} else {
return $handler->handle($request);
}
} catch (CsrfInvalidException $e) {
$this->flashService->error($e->getMessage());
return new RedirectBackResponse($request);
}
}
public function generateToken(): string
{
$token = bin2hex(random_bytes(16));
$csrfList = $this->session[$this->sessionKey] ?? [];
$csrfList[] = $token;
$this->session[$this->sessionKey] = $csrfList;
$this->limitTokens();
return $token;
}
public function getFormKey()
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index ++;
return $middleware;
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/RendererRequestMiddleware.php
//S'il y a un cookie popup, l'utilisateur a déjà vu le popup.
if (isset($_COOKIE['cookie-popup'])) {
if ($_COOKIE['cookie-popup'] == $popupName) { //On vérifie qu'il s'agit bien du popup actuel
$popup = false;
} else { //S'il s'agit d'un autre popup, on l'enregistre pour ne plus l'afficher la prochaine fois.
setcookie("cookie-popup", $popupName, time() + 86400 * $popup->getCookieTime(), '/');
}
} else { //S'il y en a pas, on l'enregistre pour ne plus l'afficher la prochaine fois.
setcookie("cookie-popup", $popupName, time() + 86400 * $popup->getCookieTime(), '/');
}
}
}
$this->renderer->addGlobal('domain', $domain);
$this->renderer->addGlobal('cookie', $cookie);
$this->renderer->addGlobal('cookieConsent', $cookieConsent);
$this->renderer->addGlobal('popup', $popup);
$this->renderer->addGlobal('popupQuestion', $popupQuestion);
$this->renderer->addGlobal('url', 'www.cadi.re');
return $handler->handle($request);
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index ++;
return $middleware;
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/MethodMiddleware.php
<?php
namespace Framework\Middleware;
use Psr\Http\Message\ServerRequestInterface;
class MethodMiddleware
{
public function __invoke(ServerRequestInterface $request, callable $next)
{
$parsedBody = $request->getParsedBody();
if (array_key_exists('_method', $parsedBody) &&
in_array($parsedBody['_method'], ['DELETE', 'PUT'])
) {
$request = $request->withMethod($parsedBody['_method']);
}
return $next($request);
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
/var/www/www.cadi-tco.re/src/Framework/Middleware/PostMaxSizeMiddleware.php
private $flashService;
public function __construct(FlashService $flashService)
{
$this->flashService = $flashService;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
if ($request->getMethod() === 'POST') {
$postMaxSize = $this->returnBytes(ini_get('post_max_size'));
$serverParams = $request->getServerParams();
if ($serverParams['CONTENT_LENGTH']>$postMaxSize) {
$this->flashService->error('Les éléments envoyés au formulaire sont trop importants');
return new RedirectResponse($request->getUri());
}
}
return $handler->handle($request);
}
private function returnBytes($size_str)
{
switch (substr($size_str, -1)) {
case 'M':
case 'm':
return (int)$size_str * 1048576;
case 'K':
case 'k':
return (int)$size_str * 1024;
case 'G':
case 'g':
return (int)$size_str * 1073741824;
default:
return $size_str;
}
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index ++;
return $middleware;
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/RoutePrefixedMiddleware.php
public function __construct(ContainerInterface $container, string $prefix, $middleware)
{
$this->container = $container;
$this->prefix = $prefix;
$this->middleware = $middleware;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$path = $request->getUri()->getPath();
if (strpos($path, $this->prefix) === 0) {
if (is_string($this->middleware)) {
return $this->container->get($this->middleware)->process($request, $handler);
} else {
return $this->middleware->process($request, $handler);
}
}
return $handler->handle($request);
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index ++;
return $middleware;
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/RoutePrefixedMiddleware.php
public function __construct(ContainerInterface $container, string $prefix, $middleware)
{
$this->container = $container;
$this->prefix = $prefix;
$this->middleware = $middleware;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$path = $request->getUri()->getPath();
if (strpos($path, $this->prefix) === 0) {
if (is_string($this->middleware)) {
return $this->container->get($this->middleware)->process($request, $handler);
} else {
return $this->middleware->process($request, $handler);
}
}
return $handler->handle($request);
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index ++;
return $middleware;
}
/var/www/www.cadi-tco.re/src/Auth/ForbiddenMiddleware.php
/**
* @var \Framework\Session\SessionInterface
*/
private $session;
/**
* @var string
*/
private $loginPath;
public function __construct(string $loginPath, SessionInterface $session)
{
$this->loginPath = $loginPath;
$this->session = $session;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
try {
return $handler->handle($request);
} catch (ForbiddenException $exception) {
$this->session->set('auth.redirect', $request->getUri()->getPath());
(new FlashService($this->session))->error('Vous devez posséder un compte pour accéder à cette page');
return new RedirectResponse($this->loginPath);
} catch (ForbiddenProfilException $exception) {
$this->session->delete('auth.redirect');
(new FlashService($this->session))->error('Votre compte ne vous permet pas d\'accéder à cette page');
return new RedirectResponse($this->session->get('auth.back.redirect') ?? $this->loginPath);
}
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index ++;
return $middleware;
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/TrailingSlashMiddleware.php
<?php
namespace Framework\Middleware;
use Psr\Http\Message\ServerRequestInterface;
class TrailingSlashMiddleware
{
public function __invoke(ServerRequestInterface $request, callable $next)
{
$uri = $request->getUri()->getPath();
if (!empty($uri) && $uri !== '/' && $uri[-1] === '/') {
return (new \GuzzleHttp\Psr7\Response())
->withStatus(301)
->withHeader('Location', substr($uri, 0, -1));
}
return $next($request);
}
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
/var/www/www.cadi-tco.re/vendor/middlewares/whoops/src/Whoops.php
$whoops->register();
$shutdown = function () use ($whoops) {
$whoops->allowQuit(true);
$whoops->writeToOutput(true);
$whoops->sendHttpCode(true);
$method = Run::SHUTDOWN_HANDLER;
$whoops->$method();
};
if ($this->system) {
$this->system->registerShutdownFunction($shutdown);
} else {
register_shutdown_function($shutdown);
}
}
try {
$response = $handler->handle($request);
} catch (\Throwable $exception) {
$response = $this->createResponse(500);
$response->getBody()->write($whoops->$method($exception));
$response = self::updateResponseContentType($response, $whoops);
} finally {
while (ob_get_level() >= $level) {
ob_end_clean();
}
}
if ($this->catchErrors) {
$whoops->unregister();
}
return $response;
}
/**
* Returns the whoops instance or create one.
*/
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
*
* @return callable|null
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index ++;
return $middleware;
}
/var/www/www.cadi-tco.re/src/Framework/Middleware/CombinedMiddleware.php
* @var RequestHandlerInterface
*/
private $handler;
/**
*
* @param ContainerInterface $container
* @param array $middlewares
*/
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$this->handler = $handler;
return $this->handle($request);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'handle']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof \Psr\Http\Server\MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
/var/www/www.cadi-tco.re/src/Framework/App.php
*/
public function pipe($routePrefix, $middleware = null): self
{
if ($middleware === null) {//Si le middleware n'est pas renseigné
// Le middleware est renseigné au premier paramètre.
$this->middlewares[] = $routePrefix;
} else {
$this->middlewares[] = new RoutePrefixedMiddleware($this->getContainer(), $routePrefix, $middleware);
}
return $this;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->index++;
if ($this->index > 1) {
throw new \Exception();
}
$middleware = new CombinedMiddleware($this->getContainer(), $this->middlewares);
return $middleware->process($request, $this);
}
public function run(ServerRequestInterface $request): ResponseInterface
{
foreach ($this->modules as $module) {
$this->getContainer()->get($module);
}
return $this->handle($request);
}
public function getContainer():ContainerInterface
{
if ($this->container === null) {
$builder = new \DI\ContainerBuilder();
$env = getenv('ENV') ?: 'production';
if ($env === 'production') {
$builder->enableCompilation('tmp/di');
$builder->writeProxiesToFile(true, 'tmp/proxies');
//$builder->enableDefinitionCache();
/var/www/www.cadi-tco.re/src/Framework/App.php
return $this;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->index++;
if ($this->index > 1) {
throw new \Exception();
}
$middleware = new CombinedMiddleware($this->getContainer(), $this->middlewares);
return $middleware->process($request, $this);
}
public function run(ServerRequestInterface $request): ResponseInterface
{
foreach ($this->modules as $module) {
$this->getContainer()->get($module);
}
return $this->handle($request);
}
public function getContainer():ContainerInterface
{
if ($this->container === null) {
$builder = new \DI\ContainerBuilder();
$env = getenv('ENV') ?: 'production';
if ($env === 'production') {
$builder->enableCompilation('tmp/di');
$builder->writeProxiesToFile(true, 'tmp/proxies');
//$builder->enableDefinitionCache();
}
if ($this->definition) {
$builder->addDefinitions($this->definition);
}
foreach ($this->modules as $module) {
if ($module::DEFINITIONS) {
$builder->addDefinitions($module::DEFINITIONS);
/var/www/www.cadi-tco.re/public/index.php
)
->pipe(
$container->get('superadmin.prefix'),
$container->get(Framework\Auth\RoleMiddlewareFactory::class)->makeForRole('superadmin')
)
->pipe(PostMaxSizeMiddleware::class)
->pipe(MethodMiddleware::class)
->pipe(RendererRequestMiddleware::class)//Ajoute des variables globales
->pipe(CsrfMiddleware::class)
->pipe(RouterMiddleware::class)
->pipe(DispatcherMiddleware::class)
->pipe(NotFoundMiddleware::class);
if(!empty($_COOKIE['cookie-debug'])) {
$fichier = fopen('timeScript.txt', 'a');
fwrite($fichier, 'pipes ok : '.date('H:i:s')."\n");
}
if (php_sapi_name() !=="cli") {
$response = $app->run(\GuzzleHttp\Psr7\ServerRequest::fromGlobals());
Http\Response\send($response);
if(!empty($_COOKIE['cookie-debug'])) {
$fichier = fopen('timeScript.txt', 'a');
fwrite($fichier, 'End : '.date('H:i:s')."\n");
}
}