Fixed bug.
[phpmyadmin/crack.git] / tbl_query_box.php3
blobc9b6084e0d7947b772b9cbf812da59e5980211bb
1 <?php
2 /* $Id$ */
3 // vim: expandtab sw=4 ts=4 sts=4:
6 /**
7 * Defines the query to be displayed in the query textarea
8 */
9 if (isset($show_query) && $show_query == '1') {
10 // This script has been called by read_dump.php3
11 if (isset($sql_query_cpy)) {
12 $query_to_display = $sql_query_cpy;
14 // Other cases
15 else if (get_magic_quotes_gpc()) {
16 $query_to_display = stripslashes($sql_query);
18 else {
19 $query_to_display = $sql_query;
21 } else {
22 $query_to_display = '';
24 unset($sql_query);
26 /**
27 * Get the list and number of fields
29 $fields_cnt = 0;
30 if (isset($db) && isset($table) && $table != '' && $db != '') {
31 $local_query = 'SHOW FIELDS FROM ' . PMA_backquote($table) . ' FROM ' . PMA_backquote($db);
32 $result = @PMA_mysql_query($local_query);
33 if (!$result) {
34 PMA_mysqlDie('', $local_query, '', $err_url);
36 else {
37 $fields_cnt = mysql_num_rows($result);
38 while ($row = PMA_mysql_fetch_array($result)) {
39 $fields_list[] = $row['Field'];
40 } // end while
41 mysql_free_result($result);
45 /**
46 * Work on the table
48 // loic1: defines wether file upload is available or not
49 // ($is_upload now defined in common.lib.php3)
51 $auto_sel = ($cfg['TextareaAutoSelect']
52 // 2003-02-05 rabus: This causes big trouble with Opera 7 for
53 // Windows, so let's disable it there...
54 && !(PMA_USR_OS == 'Win' && PMA_USR_BROWSER_AGENT == 'OPERA' && PMA_USR_BROWSER_VER >= 7))
55 ? "\n" . ' onfocus="if (typeof(document.layers) == \'undefined\' || typeof(textarea_selected) == \'undefined\') {textarea_selected = 1; this.form.elements[\'sql_query\'].select();}"'
56 : '';
58 // garvin: If non-JS query window is embedded, display a list of databases to choose from.
59 // Apart from that, a non-js query window sucks badly.
61 if ($cfg['QueryFrame'] && (!$cfg['QueryFrameJS'] || ($cfg['QueryFrameJS'] && !$db))) {
62 /**
63 * Get the list and number of available databases.
65 if ($server > 0) {
66 PMA_availableDatabases(); // this function is defined in "common.lib.php3"
67 } else {
68 $num_dbs = 0;
71 if ($num_dbs > 0) {
72 $queryframe_db_list = '<select size=1 name="db">';
73 for ($i = 0; $i < $num_dbs; $i++) {
74 $t_db = $dblist[$i];
75 $queryframe_db_list .= '<option value="' . htmlspecialchars($t_db) . '">' . htmlspecialchars($t_db) . '</option>';
77 $queryframe_db_list .= '</select>';
79 } else {
80 $queryframe_db_list = '';
84 <form method="post" target="phpmain" action="read_dump.php3"<?php if ($is_upload) echo ' enctype="multipart/form-data"'; echo "\n"; ?>
85 onsubmit="return checkSqlQuery(this)" name="sqlform">
86 <input type="hidden" name="is_js_confirmed" value="0" />
87 <?php echo PMA_generate_common_hidden_inputs($db, $table); ?>
88 <input type="hidden" name="pos" value="0" />
89 <input type="hidden" name="goto" value="<?php echo $goto; ?>" />
90 <input type="hidden" name="zero_rows" value="<?php echo $strSuccess; ?>" />
91 <input type="hidden" name="prev_sql_query" value="<?php echo ((!empty($query_to_display)) ? urlencode($query_to_display) : ''); ?>" />
93 <?php
94 if (!isset($is_inside_querywindow) ||
95 (isset($is_inside_querywindow) && $is_inside_querywindow == TRUE && isset($querydisplay_tab) && ($querydisplay_tab == 'sql' || $querydisplay_tab == 'full'))) {
97 <!-- Query box and bookmark support -->
98 <li>
99 <a name="querybox"></a>
100 <?php echo sprintf($strRunSQLQuery, htmlspecialchars($db)) . $queryframe_db_list . ' ' . PMA_showMySQLDocu('Reference', 'SELECT') . '&nbsp;&nbsp;&nbsp;' . $strFields . ':' . "\n"; ?>
101 <select name="dummy" size="1">
102 <?php
103 echo "\n";
104 for ($i = 0 ; $i < $fields_cnt; $i++) {
105 echo ' '
106 . '<option value="' . urlencode($fields_list[$i]) . '">' . htmlspecialchars($fields_list[$i]) . '</option>' . "\n";
109 </select>
110 <input type="button" name="insert" value="<?php echo($strInsert); ?>" onclick="sqlform.sql_query.value = sqlform.sql_query.value + sqlform.dummy.value" />
111 <br />
112 <div style="margin-bottom: 5px">
113 <textarea name="sql_query" rows="<?php echo $cfg['TextareaRows']; ?>" cols="<?php echo $cfg['TextareaCols'] * 2; ?>" wrap="virtual" dir="<?php echo $text_dir; ?>"<?php echo $auto_sel; ?>>
114 <?php echo ((!empty($query_to_display)) ? htmlspecialchars($query_to_display) : 'SELECT * FROM ' . PMA_backquote($table) . ' WHERE 1'); ?>
115 </textarea><br />
116 <input type="checkbox" name="show_query" value="1" id="checkbox_show_query" checked="checked" />&nbsp;
117 <label for="checkbox_show_query"><?php echo $strShowThisQuery; ?></label><br />
118 </div>
119 <?php
120 } else {
122 <input type="hidden" name="sql_query" value="" />
123 <input type="hidden" name="show_query" value="1" />
124 <?php
127 // loic1: displays import dump feature only if file upload available
128 if ($is_upload && (!isset($is_inside_querywindow) ||
129 (isset($is_inside_querywindow) && $is_inside_querywindow == TRUE && isset($querydisplay_tab) && ($querydisplay_tab == 'files' || $querydisplay_tab == 'full')))) {
130 echo ' ' . ((isset($is_inside_querywindow) && $is_inside_querywindow == TRUE && isset($querydisplay_tab) && $querydisplay_tab == 'full') || !isset($is_inside_querywindow) ? '<i>' . $strOr . '</i>' : '') . ' ' . $strLocationTextfile . '&nbsp;:<br />' . "\n";
132 <div style="margin-bottom: 5px">
133 <input type="file" name="sql_file" class="textfield" /><br />
134 <?php
135 if ($cfg['AllowAnywhereRecoding'] && $allow_recoding) {
136 $temp_charset = reset($cfg['AvailableCharsets']);
137 echo $strCharsetOfFile . "\n"
138 . ' <select name="charset_of_file" size="1">' . "\n"
139 . ' <option value="' . $temp_charset . '"';
140 if ($temp_charset == $charset) {
141 echo ' selected="selected"';
143 echo '>' . $temp_charset . '</option>' . "\n";
144 while ($temp_charset = next($cfg['AvailableCharsets'])) {
145 echo ' <option value="' . $temp_charset . '"';
146 if ($temp_charset == $charset) {
147 echo ' selected="selected"';
149 echo '>' . $temp_charset . '</option>' . "\n";
150 } // end while
151 echo ' </select><br />' . "\n" . ' ';
152 } // end if
153 $is_gzip = ($cfg['GZipDump'] && @function_exists('gzopen'));
154 $is_bzip = ($cfg['BZipDump'] && @function_exists('bzdecompress'));
155 if ($is_bzip || $is_gzip) {
156 echo ' ' . $strCompression . ':' . "\n"
157 . ' <input type="radio" id="radio_sql_file_compression_plain" name="sql_file_compression" value="text/plain" checked="checked" />' . "\n"
158 . ' <label for="radio_sql_file_compression_plain">' . $strNone . '</label>&nbsp;&nbsp;&nbsp;' . "\n";
159 if ($is_gzip) {
160 echo ' <input type="radio" id="radio_sql_file_compression_gzip" name="sql_file_compression" value="application/x-gzip" />' . "\n"
161 . ' <label for="radio_sql_file_compression_gzip">' . $strGzip . '</label>&nbsp;&nbsp;&nbsp;' . "\n";
163 if ($is_bzip) {
164 echo ' <input type="radio" id="radio_sql_file_compression_bzip" name="sql_file_compression" value="application/x-bzip" />' . "\n"
165 . ' <label for="radio_sql_file_compression_bzip">' . $strBzip . '</label>&nbsp;&nbsp;&nbsp;' . "\n";
167 } else {
168 echo ' <input type="hidden" name="sql_file_compression" value="text/plain" />' . "\n";
171 </div>
172 <?php
173 } // end if
174 echo "\n";
176 // Encoding setting form appended by Y.Kawada
177 if (function_exists('PMA_set_enc_form')) {
178 echo PMA_set_enc_form(' ');
181 // Bookmark Support
182 $bookmark_go = FALSE;
183 if (!isset($is_inside_querywindow) ||
184 (isset($is_inside_querywindow) && $is_inside_querywindow == TRUE && isset($querydisplay_tab) && ($querydisplay_tab == 'history' || $querydisplay_tab == 'full'))) {
185 if ($cfg['Bookmark']['db'] && $cfg['Bookmark']['table']) {
186 if (($bookmark_list = PMA_listBookmarks($db, $cfg['Bookmark'])) && count($bookmark_list) > 0) {
187 echo " " . ((isset($is_inside_querywindow) && $is_inside_querywindow == TRUE && isset($querydisplay_tab) && $querydisplay_tab == 'full') || !isset($is_inside_querywindow) ? "<i>$strOr</i>" : '') . " $strBookmarkQuery&nbsp;:<br />\n";
189 echo ' <div style="margin-bottom: 5px">' . "\n";
190 echo ' <select name="id_bookmark" style="vertical-align: middle">' . "\n";
191 echo ' <option value=""></option>' . "\n";
192 while (list($key, $value) = each($bookmark_list)) {
193 echo ' <option value="' . $value . '">' . htmlentities($key) . '</option>' . "\n";
195 echo ' </select>' . "\n";
196 echo ' <input type="radio" name="action_bookmark" value="0" id="radio_bookmark0" checked="checked" style="vertical-align: middle" /><label for="radio_bookmark0">' . $strSubmit . '</label>' . "\n";
197 echo ' &nbsp;<input type="radio" name="action_bookmark" value="1" id="radio_bookmark1" style="vertical-align: middle" /><label for="radio_bookmark1">' . $strBookmarkView . '</label>' . "\n";
198 echo ' &nbsp;<input type="radio" name="action_bookmark" value="2" id="radio_bookmark2" style="vertical-align: middle" /><label for="radio_bookmark2">' . $strDelete . '</label>' . "\n";
199 echo ' <br />' . "\n";
200 echo ' </div>' . "\n";
201 $bookmark_go = TRUE;
206 if (!isset($is_inside_querywindow) || (isset($is_inside_querywindow) && $is_inside_querywindow == TRUE && isset($querydisplay_tab) && ($querydisplay_tab == 'files' || $querydisplay_tab == 'sql' || $querydisplay_tab == 'full' || ($querydisplay_tab == 'history' && $bookmark_go)))) {
208 <input type="submit" name="SQL" value="<?php echo $strGo; ?>" />
209 </li>
210 <?php
213 if (!isset($is_inside_querywindow) ||
214 (isset($is_inside_querywindow) && $is_inside_querywindow == TRUE && isset($querydisplay_tab) && ($querydisplay_tab == 'files' || $querydisplay_tab == 'full'))) {
216 // loic1: displays import dump feature only if file upload available
217 $ldi_target = 'ldi_table.php3?' . $url_query;
219 if ($is_upload && isset($db) && isset($table)) {
221 <!-- Insert a text file -->
222 <br /><br />
223 <li>
224 <div style="margin-bottom: 10px"><a href="<?php echo (isset($is_inside_querywindow) && $is_inside_querywindow == TRUE ? '#' : $ldi_target); ?>" <?php echo (isset($is_inside_querywindow) && $is_inside_querywindow == TRUE ? 'onclick="opener.top.frames.phpmain.location.href = \'' . $ldi_target . '\'; return false;"' : ''); ?>><?php echo $strInsertTextfiles; ?></a></div>
225 </li>
226 <?php
229 echo "\n";
231 </form>