You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.7 KiB
62 lines
1.7 KiB
<?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, |
|
]); |
|
} |
|
}
|
|
|