bug #546981
[phpmyadmin/arisferyanto.git] / mult_submits.inc.php3
blobdd9746e426a6a3b124f45968282054c5c30de4b7
1 <?php
2 /* $Id$ */
5 /**
6 * Prepares the work and runs some other scripts if required
7 */
8 if (!empty($submit_mult)
9 && (!empty($selected_db) || !empty($selected_tbl) || !empty($selected_fld))) {
11 if (get_magic_quotes_gpc()) {
12 $submit_mult = stripslashes($submit_mult);
14 if (!empty($selected_db)) {
15 $selected = $selected_db;
16 $what = 'drop_db';
17 } else if (!empty($selected_tbl)) {
18 if ($submit_mult == $strPrintView) {
19 include('./tbl_printview.php3');
20 exit();
21 } else {
22 $selected = $selected_tbl;
23 switch ($submit_mult) {
24 case $strDrop:
25 $what = 'drop_tbl';
26 break;
27 case $strEmpty:
28 $what = 'empty_tbl';
29 break;
30 case $strOptimizeTable:
31 unset($submit_mult);
32 $query_type = 'optimize_tbl';
33 $mult_btn = (get_magic_quotes_gpc() ? addslashes($strYes) : $strYes);
34 break;
35 } // end switch
37 } else {
38 $selected = $selected_fld;
39 if ($submit_mult == $strDrop) {
40 $what = 'drop_fld';
41 } else {
42 include('./tbl_alter.php3');
43 exit();
46 } // end if
49 /**
50 * Displays the confirmation form if required
52 if (!empty($submit_mult) && !empty($what)) {
53 // Builds the query
54 $full_query = '';
55 $selected_cnt = count($selected);
56 for ($i = 0; $i < $selected_cnt; $i++) {
57 switch ($what) {
58 case 'drop_db':
59 $full_query .= 'DROP DATABASE '
60 . PMA_backquote(htmlspecialchars(urldecode($selected[$i])))
61 . ';<br />';
62 break;
64 case 'drop_tbl':
65 $full_query .= (empty($full_query) ? 'DROP TABLE ' : ', ')
66 . PMA_backquote(htmlspecialchars(urldecode($selected[$i])))
67 . (($i == $selected_cnt - 1) ? ';<br />' : '');
68 break;
70 // loic1: removed confirmation stage for "OPTIMIZE" statements
71 // case 'optimize_tbl':
72 // $full_query .= (empty($full_query) ? 'OPTIMIZE TABLE ' : ', ')
73 // . PMA_backquote(htmlspecialchars(urldecode($selected[$i])))
74 // . (($i == $selected_cnt - 1) ? ';<br />' : '');
75 // break;
77 case 'empty_tbl':
78 $full_query .= 'DELETE FROM '
79 . PMA_backquote(htmlspecialchars(urldecode($selected[$i])))
80 . ';<br />';
81 break;
83 case 'drop_fld':
84 if ($full_query == '') {
85 $full_query .= 'ALTER TABLE '
86 . PMA_backquote(htmlspecialchars($table))
87 . '<br />&nbsp;&nbsp;DROP '
88 . PMA_backquote(htmlspecialchars(urldecode($selected[$i])))
89 . ',';
90 } else {
91 $full_query .= '<br />&nbsp;&nbsp;DROP '
92 . PMA_backquote(htmlspecialchars(urldecode($selected[$i])))
93 . ',';
95 if ($i == $selected_cnt-1) {
96 $full_query = ereg_replace(',$', ';<br />', $full_query);
98 break;
99 } // end switch
102 // Displays the form
103 echo $strDoYouReally . '&nbsp;:<br />' . "\n";
104 echo '<tt>' . $full_query . '</tt>&nbsp;?<br/>' . "\n";
106 <form action="<?php echo $action; ?>" method="post">
107 <input type="hidden" name="lang" value="<?php echo $lang; ?>" />
108 <input type="hidden" name="server" value="<?php echo $server; ?>" />
109 <?php
110 echo "\n";
111 if ($action == 'db_details.php3') {
112 echo ' <input type="hidden" name="db" value="' . $db . '" />' . "\n";
113 } else if ($action == 'tbl_properties.php3') {
114 echo ' <input type="hidden" name="db" value="' . $db . '" />' . "\n";
115 echo ' <input type="hidden" name="table" value="' . $table . '" />' . "\n";
117 for ($i = 0; $i < $selected_cnt; $i++) {
118 echo ' <input type="hidden" name="selected[]" value="' . $selected[$i] . '" />' . "\n";
121 <input type="hidden" name="query_type" value="<?php echo $what; ?>" />
122 <input type="submit" name="mult_btn" value="<?php echo $strYes; ?>" />
123 <input type="submit" name="mult_btn" value="<?php echo $strNo; ?>" />
124 </form>
125 <?php
126 echo"\n";
128 include('./footer.inc.php3');
129 exit();
130 } // end if
134 * Executes the query
136 else if ((get_magic_quotes_gpc() && stripslashes($mult_btn) == $strYes)
137 || $mult_btn == $strYes) {
139 $sql_query = '';
140 $selected_cnt = count($selected);
141 for ($i = 0; $i < $selected_cnt; $i++) {
142 switch ($query_type) {
143 case 'drop_db':
144 $a_query = 'DROP DATABASE '
145 . PMA_backquote(urldecode($selected[$i]));
146 $reload = 1;
147 break;
149 case 'drop_tbl':
150 $sql_query .= (empty($sql_query) ? 'DROP TABLE ' : ', ')
151 . PMA_backquote(urldecode($selected[$i]))
152 . (($i == $selected_cnt-1) ? ';' : '');
153 $reload = 1;
154 break;
156 case 'optimize_tbl':
157 $sql_query .= (empty($sql_query) ? 'OPTIMIZE TABLE ' : ', ')
158 . PMA_backquote(urldecode($selected[$i]))
159 . (($i == $selected_cnt-1) ? ';' : '');
160 break;
162 case 'empty_tbl':
163 $a_query = 'DELETE FROM '
164 . PMA_backquote(urldecode($selected[$i]));
165 break;
167 case 'drop_fld':
168 $sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA_backquote($table) : ',')
169 . ' DROP ' . PMA_backquote(urldecode($selected[$i]))
170 . (($i == $selected_cnt-1) ? ';' : '');
171 break;
172 } // end switch
174 // All "DROP TABLE","DROP FIELD" and "OPTIMIZE TABLE" statements will
175 // be run at once below
176 if ($query_type != 'drop_tbl'
177 && $query_type != 'drop_fld'
178 && $query_type != 'optimize_tbl') {
179 $sql_query .= $a_query . ';' . "\n";
181 if ($query_type != 'drop_db') {
182 mysql_select_db($db);
184 $result = @mysql_query($a_query) or PMA_mysqlDie('', $a_query, FALSE, $err_url);
185 } // end if
186 } // end for
188 if ($query_type == 'drop_tbl'
189 || $query_type == 'drop_fld'
190 || $query_type == 'optimize_tbl') {
191 mysql_select_db($db);
192 $result = @mysql_query($sql_query) or PMA_mysqlDie('', '', FALSE, $err_url);
195 PMA_showMessage($strSuccess);