image/png: inline
[phpmyadmin/crack.git] / mult_submits.inc.php3
blobbd64851df1e800067fce4aa3e2132f8883b700d6
1 <?php
2 /* $Id$ */
3 // vim: expandtab sw=4 ts=4 sts=4:
6 /**
7 * Prepares the work and runs some other scripts if required
8 */
9 if (!empty($submit_mult)
10 && (!empty($selected_db) || !empty($selected_tbl) || !empty($selected_fld))) {
12 if (!empty($selected_db)) {
13 $selected = $selected_db;
14 $what = 'drop_db';
15 } else if (!empty($selected_tbl)) {
16 if ($submit_mult == $strPrintView) {
17 include('./tbl_printview.php3');
18 exit();
19 } else {
20 $selected = $selected_tbl;
21 switch ($submit_mult) {
22 case $strDrop:
23 $what = 'drop_tbl';
24 break;
25 case $strEmpty:
26 $what = 'empty_tbl';
27 break;
28 case $strOptimizeTable:
29 unset($submit_mult);
30 $query_type = 'optimize_tbl';
31 $mult_btn = $strYes;
32 break;
33 case $strRepairTable:
34 unset($submit_mult);
35 $query_type = 'repair_tbl';
36 $mult_btn = $strYes;
37 break;
38 } // end switch
40 } else {
41 $selected = $selected_fld;
42 if ($submit_mult == $strDrop) {
43 $what = 'drop_fld';
44 } else {
45 include('./tbl_alter.php3');
46 exit();
49 } // end if
52 /**
53 * Displays the confirmation form if required
55 if (!empty($submit_mult) && !empty($what)) {
56 // Builds the query
57 $full_query = '';
58 $selected_cnt = count($selected);
59 for ($i = 0; $i < $selected_cnt; $i++) {
60 switch ($what) {
61 case 'drop_db':
62 $full_query .= 'DROP DATABASE '
63 . PMA_backquote(htmlspecialchars(urldecode($selected[$i])))
64 . ';<br />';
65 break;
67 case 'drop_tbl':
68 $full_query .= (empty($full_query) ? 'DROP TABLE ' : ', ')
69 . PMA_backquote(htmlspecialchars(urldecode($selected[$i])))
70 . (($i == $selected_cnt - 1) ? ';<br />' : '');
71 break;
73 case 'empty_tbl':
74 if (PMA_MYSQL_INT_VERSION >= 40000) {
75 $full_query .= 'TRUNCATE ';
76 } else {
77 $full_query .= 'DELETE FROM ';
79 $full_query .= 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 <?php
108 echo "\n";
109 if (strpos(' ' . $action, 'db_details') == 1) {
110 echo PMA_generate_common_hidden_inputs($db);
111 } else if (strpos(' ' . $action, 'tbl_properties') == 1) {
112 echo PMA_generate_common_hidden_inputs($db,$table);
114 for ($i = 0; $i < $selected_cnt; $i++) {
115 echo ' <input type="hidden" name="selected[]" value="' . htmlspecialchars($selected[$i]) . '" />' . "\n";
118 <input type="hidden" name="query_type" value="<?php echo $what; ?>" />
119 <input type="submit" name="mult_btn" value="<?php echo $strYes; ?>" />
120 <input type="submit" name="mult_btn" value="<?php echo $strNo; ?>" />
121 </form>
122 <?php
123 echo"\n";
125 include('./footer.inc.php3');
126 exit();
127 } // end if
131 * Executes the query
133 else if ($mult_btn == $strYes) {
135 $sql_query = '';
136 $selected_cnt = count($selected);
137 for ($i = 0; $i < $selected_cnt; $i++) {
138 switch ($query_type) {
139 case 'drop_db':
140 $a_query = 'DROP DATABASE '
141 . PMA_backquote(urldecode($selected[$i]));
142 $reload = 1;
143 break;
145 case 'drop_tbl':
146 $sql_query .= (empty($sql_query) ? 'DROP TABLE ' : ', ')
147 . PMA_backquote(urldecode($selected[$i]))
148 . (($i == $selected_cnt-1) ? ';' : '');
149 $reload = 1;
150 break;
152 case 'optimize_tbl':
153 $sql_query .= (empty($sql_query) ? 'OPTIMIZE TABLE ' : ', ')
154 . PMA_backquote(urldecode($selected[$i]))
155 . (($i == $selected_cnt-1) ? ';' : '');
156 break;
158 case 'repair_tbl':
159 $sql_query .= (empty($sql_query) ? 'REPAIR TABLE ' : ', ')
160 . PMA_backquote(urldecode($selected[$i]))
161 . (($i == $selected_cnt-1) ? ';' : '');
162 break;
164 case 'empty_tbl':
165 $a_query = 'DELETE FROM '
166 . PMA_backquote(urldecode($selected[$i]));
167 break;
169 case 'drop_fld':
170 $sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA_backquote($table) : ',')
171 . ' DROP ' . PMA_backquote(urldecode($selected[$i]))
172 . (($i == $selected_cnt-1) ? ';' : '');
173 break;
174 } // end switch
176 // All "DROP TABLE","DROP FIELD", "OPTIMIZE TABLE" and "REPAIR TABLE"
177 // statements will be run at once below
178 if ($query_type != 'drop_tbl'
179 && $query_type != 'drop_fld'
180 && $query_type != 'repair_tbl'
181 && $query_type != 'optimize_tbl') {
182 $sql_query .= $a_query . ';' . "\n";
184 if ($query_type != 'drop_db') {
185 PMA_mysql_select_db($db);
187 $result = @PMA_mysql_query($a_query) or PMA_mysqlDie('', $a_query, FALSE, $err_url);
188 } // end if
189 } // end for
191 if ($query_type == 'drop_tbl'
192 || $query_type == 'drop_fld'
193 || $query_type == 'repair_tbl'
194 || $query_type == 'optimize_tbl') {
195 PMA_mysql_select_db($db);
196 $result = @PMA_mysql_query($sql_query) or PMA_mysqlDie('', '', FALSE, $err_url);
199 PMA_showMessage($strSuccess);