Merge remote branch 'origin/master'
[phpmyadmin/dkf.git] / bs_change_mime_type.php
blobb8fea6b55ce8527be297b79495b9b727f5f700f2
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
4 * @version 1.0
5 * @package BLOBStreaming
6 */
8 /**
9 * Core library.
11 require_once './libraries/common.inc.php';
13 /**
14 * @var string contains database name
16 $bsDB = isset($_REQUEST['bs_db']) ? urldecode($_REQUEST['bs_db']) : NULL;
18 /**
19 * @var string contains table name
21 $bsTable = isset($_REQUEST['bs_table']) ? urldecode($_REQUEST['bs_table']) : NULL;
23 /**
24 * @var string contains BLOB reference
26 $bsReference = isset($_REQUEST['bs_reference']) ? urldecode($_REQUEST['bs_reference']) : NULL;
28 /**
29 * @var string contains MIME type
31 $bsNewMIMEType = isset($_REQUEST['bs_new_mime_type']) ? urldecode($_REQUEST['bs_new_mime_type']) : NULL;
33 // necessary variables exist
34 if ($bsDB && $bsTable && $bsReference && $bsNewMIMEType)
36 // load PMA configuration
37 $PMA_Config = $GLOBALS['PMA_Config'];
39 // if PMA configuration exists
40 if (!empty($PMA_Config))
42 // if BS plugins exist
43 if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
45 $pbms_ref_tbl = $PMA_Config->get('PBMS_NAME') . '_reference';
46 $pbms_cust_content_type_tbl = $PMA_Config->get('PBMS_NAME') . '_custom_content_type';
48 // if specified DB is selected
49 if (PMA_DBI_select_db($bsDB))
51 $query = "SELECT * FROM " . PMA_backquote($pbms_ref_tbl);
52 $query .= " WHERE Blob_url='" . PMA_sqlAddslashes($bsReference) . "'";
54 $result = PMA_DBI_query($query);
56 // if record exists
57 if ($data = PMA_DBI_fetch_assoc($result))
59 $query = "SELECT count(*) FROM " . PMA_backquote($pbms_cust_content_type_tbl);
60 $query .= " WHERE Blob_url='" . PMA_sqlAddslashes($bsReference) . "'";
62 $result = PMA_DBI_query($query);
64 // if record exists
65 if ($data = PMA_DBI_fetch_assoc($result))
67 if (1 == $data['count(*)'])
69 $query = "UPDATE " . PMA_backquote($pbms_cust_content_type_tbl) . " SET Content_type='";
70 $query .= PMA_sqlAddslashes($bsNewMIMEType) . "' WHERE Blob_url='" . PMA_sqlAddslashes($bsReference) . "'";
72 else
74 $query = "INSERT INTO " . PMA_backquote($pbms_cust_content_type_tbl) . " (Blob_url, Content_type)";
75 $query .= " VALUES('" . PMA_sqlAddslashes($bsReference) . "', '" . PMA_sqlAddslashes($bsNewMIMEType) . "')";
78 $result = PMA_DBI_query($query);
80 // if query execution succeeded
81 if ($result)
83 // determine redirector page
84 $newLoc = $cfg['PmaAbsoluteUri'] . 'sql.php?' . PMA_generate_common_url ('','', '&') . (isset($bsDB) ? '&db=' . urlencode($bsDB) : '') . (isset($bsTable) ? '&table=' . urlencode($bsTable) : '') . (isset($token) ? '&token=' . urlencode($token) : '') . (isset($goto) ? '&goto=' . urlencode($goto) : '') . '&reload=1&purge=1';
86 // redirect to specified page
88 <script>
89 window.location = "<?php echo $newLoc ?>";
90 </script>
91 <?php
92 } // end if ($result)
93 } // end if ($data = PMA_DBI_fetch_assoc($result))
94 } // end if ($data = PMA_DBI_fetch_assoc($result))
95 } // end if (PMA_DBI_select_db($bsDB))
96 } // end if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
97 } // end if (!empty($PMA_Config))
98 } // end if ($bsDB && $bsTable && $bsReference && $bsNewMIMEType)