2 /* vim: set expandtab sw=4 ts=4 sts=4: */
4 * @author Raj Kissu Rajandran
6 * @package BLOBStreaming
12 require_once './libraries/common.inc.php';
15 * @var string contains database name
17 $bsDB = isset($_REQUEST['bs_db']) ?
urldecode($_REQUEST['bs_db']) : NULL;
20 * @var string contains table name
22 $bsTable = isset($_REQUEST['bs_table']) ?
urldecode($_REQUEST['bs_table']) : NULL;
25 * @var string contains BLOB reference
27 $bsReference = isset($_REQUEST['bs_reference']) ?
urldecode($_REQUEST['bs_reference']) : NULL;
30 * @var string contains MIME type
32 $bsNewMIMEType = isset($_REQUEST['bs_new_mime_type']) ?
urldecode($_REQUEST['bs_new_mime_type']) : NULL;
34 // necessary variables exist
35 if ($bsDB && $bsTable && $bsReference && $bsNewMIMEType)
37 // load PMA configuration
38 $PMA_Config = $GLOBALS['PMA_Config'];
40 // if PMA configuration exists
41 if (!empty($PMA_Config))
43 // if BS plugins exist
44 if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
46 $pbms_ref_tbl = $PMA_Config->get('PBMS_NAME') . '_reference';
47 $pbms_cust_content_type_tbl = $PMA_Config->get('PBMS_NAME') . '_custom_content_type';
49 // if specified DB is selected
50 if (PMA_DBI_select_db($bsDB))
52 $query = "SELECT * FROM " . PMA_backquote($pbms_ref_tbl);
53 $query .= " WHERE Blob_url='" . PMA_sqlAddslashes($bsReference) . "'";
55 $result = PMA_DBI_query($query);
58 if ($data = PMA_DBI_fetch_assoc($result))
60 $query = "SELECT count(*) FROM " . PMA_backquote($pbms_cust_content_type_tbl);
61 $query .= " WHERE Blob_url='" . PMA_sqlAddslashes($bsReference) . "'";
63 $result = PMA_DBI_query($query);
66 if ($data = PMA_DBI_fetch_assoc($result))
68 if (1 == $data['count(*)'])
70 $query = "UPDATE " . PMA_backquote($pbms_cust_content_type_tbl) . " SET Content_type='";
71 $query .= PMA_sqlAddslashes($bsNewMIMEType) . "' WHERE Blob_url='" . PMA_sqlAddslashes($bsReference) . "'";
75 $query = "INSERT INTO " . PMA_backquote($pbms_cust_content_type_tbl) . " (Blob_url, Content_type)";
76 $query .= " VALUES('" . PMA_sqlAddslashes($bsReference) . "', '" . PMA_sqlAddslashes($bsNewMIMEType) . "')";
79 $result = PMA_DBI_query($query);
81 // if query execution succeeded
84 // determine redirector page
85 $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';
87 // redirect to specified page
90 window
.location
= "<?php echo $newLoc ?>";
94 } // end if ($data = PMA_DBI_fetch_assoc($result))
95 } // end if ($data = PMA_DBI_fetch_assoc($result))
96 } // end if (PMA_DBI_select_db($bsDB))
97 } // end if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
98 } // end if (!empty($PMA_Config))
99 } // end if ($bsDB && $bsTable && $bsReference && $bsNewMIMEType)