Viewing file: ShowEngineController.php (1.87 KB) -rwxr-x--- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Controllers\Server;
use PhpMyAdmin\Controllers\AbstractController; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Http\ServerRequest; use PhpMyAdmin\ResponseRenderer; use PhpMyAdmin\StorageEngine; use PhpMyAdmin\Template; use PhpMyAdmin\Url;
/** * Displays details about a given Storage Engine. */ final class ShowEngineController extends AbstractController { /** @var DatabaseInterface */ private $dbi;
public function __construct(ResponseRenderer $response, Template $template, DatabaseInterface $dbi) { parent::__construct($response, $template); $this->dbi = $dbi; }
/** * @param array $params * @psalm-param array{engine: string, page?: string} $params */ public function __invoke(ServerRequest $request, array $params): void { global $errorUrl;
$errorUrl = Url::getFromRoute('/');
if ($this->dbi->isSuperUser()) { $this->dbi->selectDb('mysql'); }
$page = $params['page'] ?? '';
$engine = []; if (StorageEngine::isValid($params['engine'])) { $storageEngine = StorageEngine::getEngine($params['engine']); $engine = [ 'engine' => $params['engine'], 'title' => $storageEngine->getTitle(), 'help_page' => $storageEngine->getMysqlHelpPage(), 'comment' => $storageEngine->getComment(), 'info_pages' => $storageEngine->getInfoPages(), 'support' => $storageEngine->getSupportInformationMessage(), 'variables' => $storageEngine->getHtmlVariables(), 'page' => ! empty($page) ? $storageEngine->getPage($page) : '', ]; }
$this->render('server/engines/show', [ 'engine' => $engine, 'page' => $page, ]); } }
|