validate.php 981 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * Validation callback.
  5. *
  6. * @package PhpMyAdmin-Setup
  7. */
  8. declare(strict_types=1);
  9. use PhpMyAdmin\Config\Validator;
  10. use PhpMyAdmin\Core;
  11. if (! defined('ROOT_PATH')) {
  12. define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
  13. }
  14. /**
  15. * Core libraries.
  16. */
  17. require ROOT_PATH . 'setup/lib/common.inc.php';
  18. $validators = [];
  19. Core::headerJSON();
  20. $ids = Core::isValid($_POST['id'], 'scalar') ? $_POST['id'] : null;
  21. $vids = explode(',', $ids);
  22. $vals = Core::isValid($_POST['values'], 'scalar') ? $_POST['values'] : null;
  23. $values = json_decode($vals);
  24. if (! ($values instanceof stdClass)) {
  25. Core::fatalError(__('Wrong data'));
  26. }
  27. $values = (array) $values;
  28. $result = Validator::validate($GLOBALS['ConfigFile'], $vids, $values, true);
  29. if ($result === false) {
  30. $result = sprintf(
  31. __('Wrong data or no validation for %s'),
  32. implode(',', $vids)
  33. );
  34. }
  35. echo $result !== true ? json_encode($result) : '';