gl-website-deployer/admin/phpMyAdmin/libraries/classes/Controllers/Transformation/OverviewController.php
2024-11-19 08:02:04 +01:00

63 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Controllers\Transformation;
use PhpMyAdmin\Controllers\AbstractController;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Transformations;
use function array_keys;
/**
* Lists available transformation plugins
*/
class OverviewController extends AbstractController
{
/** @var Transformations */
private $transformations;
public function __construct(ResponseRenderer $response, Template $template, Transformations $transformations)
{
parent::__construct($response, $template);
$this->transformations = $transformations;
}
public function __invoke(): void
{
$header = $this->response->getHeader();
$header->disableMenuAndConsole();
$types = $this->transformations->getAvailableMimeTypes();
$mimeTypes = [];
foreach ($types['mimetype'] as $mimeType) {
$mimeTypes[] = [
'name' => $mimeType,
'is_empty' => isset($types['empty_mimetype'][$mimeType]),
];
}
$transformations = [
'transformation' => [],
'input_transformation' => [],
];
foreach (array_keys($transformations) as $type) {
foreach ($types[$type] as $key => $transformation) {
$transformations[$type][] = [
'name' => $transformation,
'description' => $this->transformations->getDescription($types[$type . '_file'][$key]),
];
}
}
$this->render('transformation_overview', [
'mime_types' => $mimeTypes,
'transformations' => $transformations,
]);
}
}