From 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 9 Jan 2020 10:55:03 +0100 Subject: phpmyadmin working --- srcs/phpmyadmin/tbl_get_field.php | 79 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 srcs/phpmyadmin/tbl_get_field.php (limited to 'srcs/phpmyadmin/tbl_get_field.php') diff --git a/srcs/phpmyadmin/tbl_get_field.php b/srcs/phpmyadmin/tbl_get_field.php new file mode 100644 index 0000000..898c4d9 --- /dev/null +++ b/srcs/phpmyadmin/tbl_get_field.php @@ -0,0 +1,79 @@ +get(Response::class); + +/** @var DatabaseInterface $dbi */ +$dbi = $containerBuilder->get(DatabaseInterface::class); + +/** @var string $db */ +$db = $containerBuilder->getParameter('db'); + +/** @var string $table */ +$table = $containerBuilder->getParameter('table'); + +$response->disable(); + +/* Check parameters */ +PhpMyAdmin\Util::checkParameters( + [ + 'db', + 'table', + ] +); + +/* Select database */ +if (! $dbi->selectDb($db)) { + PhpMyAdmin\Util::mysqlDie( + sprintf(__('\'%s\' database does not exist.'), htmlspecialchars($db)), + '', + false + ); +} + +/* Check if table exists */ +if (! $dbi->getColumns($db, $table)) { + PhpMyAdmin\Util::mysqlDie(__('Invalid table name')); +} + +/* Grab data */ +$sql = 'SELECT ' . PhpMyAdmin\Util::backquote($_GET['transform_key']) + . ' FROM ' . PhpMyAdmin\Util::backquote($table) + . ' WHERE ' . $_GET['where_clause'] . ';'; +$result = $dbi->fetchValue($sql); + +/* Check return code */ +if ($result === false) { + PhpMyAdmin\Util::mysqlDie( + __('MySQL returned an empty result set (i.e. zero rows).'), + $sql + ); +} + +/* Avoid corrupting data */ +ini_set('url_rewriter.tags', ''); + +Core::downloadHeader( + $table . '-' . $_GET['transform_key'] . '.bin', + Mime::detect($result), + strlen($result) +); +echo $result; -- cgit