summaryrefslogtreecommitdiff
path: root/hugo/tbl_get_field.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hugo/tbl_get_field.php69
1 files changed, 69 insertions, 0 deletions
diff --git a/hugo/tbl_get_field.php b/hugo/tbl_get_field.php
new file mode 100644
index 0000000..cc41376
--- /dev/null
+++ b/hugo/tbl_get_field.php
@@ -0,0 +1,69 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * Provides download to a given field defined in parameters.
+ *
+ * @package PhpMyAdmin
+ */
+
+/**
+ * Common functions.
+ */
+// we don't want the usual PMA_Response-generated HTML above the column's data
+define('PMA_BYPASS_GET_INSTANCE', 1);
+require_once 'libraries/common.inc.php';
+require_once 'libraries/mime.lib.php';
+
+/**
+ * Sets globals from $_GET
+ */
+$get_params = array(
+ 'where_clause',
+ 'transform_key'
+);
+
+foreach ($get_params as $one_get_param) {
+ if (isset($_GET[$one_get_param])) {
+ $GLOBALS[$one_get_param] = $_GET[$one_get_param];
+ }
+}
+
+/* Check parameters */
+PMA_Util::checkParameters(
+ array('db', 'table', 'where_clause', 'transform_key')
+);
+
+/* Select database */
+if (!PMA_DBI_select_db($db)) {
+ PMA_Util::mysqlDie(
+ sprintf(__('\'%s\' database does not exist.'), htmlspecialchars($db)),
+ '', ''
+ );
+}
+
+/* Check if table exists */
+if (!PMA_DBI_get_columns($db, $table)) {
+ PMA_Util::mysqlDie(__('Invalid table name'));
+}
+
+/* Grab data */
+$sql = 'SELECT ' . PMA_Util::backquote($transform_key)
+ . ' FROM ' . PMA_Util::backquote($table)
+ . ' WHERE ' . $where_clause . ';';
+$result = PMA_DBI_fetch_value($sql);
+
+/* Check return code */
+if ($result === false) {
+ PMA_Util::mysqlDie(__('MySQL returned an empty result set (i.e. zero rows).'), $sql);
+}
+
+/* Avoid corrupting data */
+@ini_set('url_rewriter.tags', '');
+
+PMA_downloadHeader(
+ $table . '-' . $transform_key . '.bin',
+ PMA_detectMIME($result),
+ strlen($result)
+);
+echo $result;
+?>