validate.php 972 B

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