<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Represents the interface between the linter and the query editor. * * @package PhpMyAdmin */ use PMA\libraries\Linter; /** * Loading common files. Used to check for authorization, localization and to * load the parsing library. */ require_once 'libraries/common.inc.php'; /** * The SQL query to be analyzed. * * This does not need to be checked again XSS or MySQL injections because it is * never executed, just parsed. * * The client, which will recieve the JSON response will decode the message and * and any HTML fragments that are displayed to the user will be encoded anyway. * * @var string */ $sql_query = !empty($_POST['sql_query']) ? $_POST['sql_query'] : ''; // Disabling standard response. PMA\libraries\Response::getInstance()->disable(); PMA_headerJSON(); echo json_encode(Linter::lint($sql_query));
/** * Test for Linter::lint * * @dataProvider testLintProvider * * @param array $expected The expected result. * @param string $query The query to be analyzed. * * @return void */ public function testLint($expected, $query) { $this->assertEquals($expected, Linter::lint($query)); }