<?php
namespace AvenueAdminBundle\Controller;
use AvenueAdminBundle\Form\ViewTransformer\FileTransformer;
use Symfony\Component\HttpFoundation\Request;
class IndexController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
{
public function index()
{
return $this->redirect($this->getParameter('admin_redirect_url'));
}
public function route(Request $request, $controller, $action = 'index')
{
if ($controller == 'system') {
return $this->forward(
SystemController::class . '::index',
$request->attributes->all(),
$request->query->all()
);
}
if ($controller == 'redirect') {
return $this->forward(
RedirectController::class . '::' . $action,
$request->attributes->all(),
$request->query->all()
);
}
if ($controller == 'adminExport') {
return $this->forward(
AdminExportController::class . '::' . $action,
$request->attributes->all(),
$request->query->all()
);
}
if ($controller == 'mailLog') {
return $this->forward(
MailLogController::class . '::' . $action,
$request->attributes->all(),
$request->query->all()
);
}
$controllerClassName = $this->getParameter('admin_namespace_prefix') . '\\Controller\\' . ucfirst($controller) . 'Controller';
return $this->forward(
$controllerClassName . '::' . $action,
$request->attributes->all(),
$request->query->all()
);
}
public function files(Request $request, $path)
{
$fileTransformer = new FileTransformer();
$file = $fileTransformer->transform($path);
header('Content-Type: ' . $file->getMimeType() . '; charset=UTF-8');
header('Content-Disposition: inline; filename="' . $file->getFilename() . '"');
echo file_get_contents($file->getRealPath());
exit;
}
}