AbstractController.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. declare(strict_types=1);
  3. namespace PhpMyAdmin\Controllers\Setup;
  4. use PhpMyAdmin\Config\ConfigFile;
  5. use PhpMyAdmin\Config\Forms\BaseForm;
  6. use PhpMyAdmin\Config\Forms\Setup\SetupFormList;
  7. use PhpMyAdmin\Template;
  8. use function in_array;
  9. abstract class AbstractController
  10. {
  11. /** @var ConfigFile */
  12. protected $config;
  13. /** @var Template */
  14. protected $template;
  15. /**
  16. * @param ConfigFile $config ConfigFile instance
  17. * @param Template $template Template instance
  18. */
  19. public function __construct($config, $template)
  20. {
  21. $this->config = $config;
  22. $this->template = $template;
  23. }
  24. /**
  25. * @return array
  26. */
  27. protected function getPages(): array
  28. {
  29. $ignored = [
  30. 'Config',
  31. 'Servers',
  32. ];
  33. $pages = [];
  34. foreach (SetupFormList::getAll() as $formset) {
  35. if (in_array($formset, $ignored)) {
  36. continue;
  37. }
  38. /** @var BaseForm $formClass */
  39. $formClass = SetupFormList::get($formset);
  40. $pages[$formset] = [
  41. 'name' => $formClass::getName(),
  42. 'formset' => $formset,
  43. ];
  44. }
  45. return $pages;
  46. }
  47. }