EnginesController.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * Holds the PhpMyAdmin\Controllers\Server\EnginesController
  5. *
  6. * @package PhpMyAdmin\Controllers
  7. */
  8. declare(strict_types=1);
  9. namespace PhpMyAdmin\Controllers\Server;
  10. use PhpMyAdmin\Controllers\AbstractController;
  11. use PhpMyAdmin\StorageEngine;
  12. /**
  13. * Handles viewing storage engine details
  14. *
  15. * @package PhpMyAdmin\Controllers
  16. */
  17. class EnginesController extends AbstractController
  18. {
  19. /**
  20. * Index action
  21. *
  22. * @return string
  23. */
  24. public function index(): string
  25. {
  26. require ROOT_PATH . 'libraries/server_common.inc.php';
  27. return $this->template->render('server/engines/index', [
  28. 'engines' => StorageEngine::getStorageEngines(),
  29. ]);
  30. }
  31. /**
  32. * Displays details about a given Storage Engine
  33. *
  34. * @param array $params Request params
  35. *
  36. * @return string
  37. */
  38. public function show(array $params): string
  39. {
  40. require ROOT_PATH . 'libraries/server_common.inc.php';
  41. $page = $params['page'] ?? '';
  42. $engine = [];
  43. if (StorageEngine::isValid($params['engine'])) {
  44. $storageEngine = StorageEngine::getEngine($params['engine']);
  45. $engine = [
  46. 'engine' => $params['engine'],
  47. 'title' => $storageEngine->getTitle(),
  48. 'help_page' => $storageEngine->getMysqlHelpPage(),
  49. 'comment' => $storageEngine->getComment(),
  50. 'info_pages' => $storageEngine->getInfoPages(),
  51. 'support' => $storageEngine->getSupportInformationMessage(),
  52. 'variables' => $storageEngine->getHtmlVariables(),
  53. 'page' => ! empty($page) ? $storageEngine->getPage($page) : '',
  54. ];
  55. }
  56. return $this->template->render('server/engines/show', [
  57. 'engine' => $engine,
  58. 'page' => $page,
  59. ]);
  60. }
  61. }