Rev Author Line No. Line
250 kaklik 1 <?php
2 /* $Id: tbl_row_action.php,v 2.21 2005/11/26 06:59:49 cybot_tm Exp $ */
3 // vim: expandtab sw=4 ts=4 sts=4:
4 require_once('./libraries/common.lib.php');
5 require_once('./libraries/mysql_charsets.lib.php');
6  
7 /**
8 * Avoids undefined variables
9 */
10 if (!isset($pos)) {
11 $pos = 0;
12 }
13  
14 /**
15 * No rows were selected => show again the query and tell that user.
16 */
17 if ((!isset($rows_to_delete) || !is_array($rows_to_delete)) && !isset($mult_btn)) {
18 $disp_message = $strNoRowsSelected;
19 $disp_query = '';
20 require('./sql.php');
21 require_once('./libraries/footer.inc.php');
22 }
23  
24 /**
25 * Drop multiple rows if required
26 */
27  
28 // workaround for IE problem:
29 if (isset($submit_mult_delete_x)) {
30 $submit_mult = 'row_delete';
31 } elseif (isset($submit_mult_change_x)) {
32 $submit_mult = 'row_edit';
33 } elseif (isset($submit_mult_export_x)) {
34 $submit_mult = 'row_export';
35 }
36  
37 // garvin: If the 'Ask for confirmation' button was pressed, this can only come from 'delete' mode,
38 // so we set it straight away.
39 if (isset($mult_btn)) {
40 $submit_mult = 'row_delete';
41 }
42  
43 switch($submit_mult) {
44 case 'row_delete':
45 case 'row_edit':
46 case 'row_export':
47 // leave as is
48 break;
49  
50 case $GLOBALS['strExport']:
51 $submit_mult = 'row_export';
52 break;
53  
54 case $GLOBALS['strDelete']:
55 case $GLOBALS['strKill']:
56 $submit_mult = 'row_delete';
57 break;
58  
59 default:
60 case $GLOBALS['strEdit']:
61 $submit_mult = 'row_edit';
62 break;
63 }
64  
65 if ($submit_mult == 'row_edit') {
66 $js_to_run = 'tbl_change.js';
67 }
68  
69 if ($submit_mult == 'row_delete' || $submit_mult == 'row_export') {
70 $js_to_run = 'functions.js';
71 }
72  
73 require_once('./libraries/header.inc.php');
74  
75 if (!empty($submit_mult)) {
76 switch($submit_mult) {
77 case 'row_edit':
78 $primary_key = array();
79 // garvin: As we got the fields to be edited from the 'rows_to_delete' checkbox, we use the index of it as the
80 // indicating primary key. Then we built the array which is used for the tbl_change.php script.
81 foreach ($rows_to_delete AS $i_primary_key => $del_query) {
82 $primary_key[] = urldecode($i_primary_key);
83 }
84  
85 $active_page = 'tbl_change.php';
86 include './tbl_change.php';
87 break;
88  
89 case 'row_export':
90 // Needed to allow SQL export
91 $single_table = TRUE;
92  
93 $primary_key = array();
94 $sql_query = urldecode($sql_query);
95 // garvin: As we got the fields to be edited from the 'rows_to_delete' checkbox, we use the index of it as the
96 // indicating primary key. Then we built the array which is used for the tbl_change.php script.
97 foreach ($rows_to_delete AS $i_primary_key => $del_query) {
98 $primary_key[] = urldecode($i_primary_key);
99 }
100  
101 $active_page = 'tbl_properties_export.php';
102 include './tbl_properties_export.php';
103 break;
104  
105 case 'row_delete':
106 default:
107 $action = 'tbl_row_action.php';
108 $err_url = 'tbl_row_action.php?' . PMA_generate_common_url($db, $table);
109 if (!isset($mult_btn)) {
110 $original_sql_query = $sql_query;
111 $original_url_query = $url_query;
112 $original_pos = $pos;
113 }
114 require('./libraries/mult_submits.inc.php');
115 $url_query = PMA_generate_common_url($db, $table)
116 . '&amp;goto=tbl_properties.php';
117  
118  
119 /**
120 * Show result of multi submit operation
121 */
122 // sql_query is not set when user does not confirm multi-delete
123 if ((!empty($submit_mult) || isset($mult_btn)) && isset($sql_query)) {
124 $disp_message = $strSuccess;
125 $disp_query = $sql_query;
126 }
127  
128 if (isset($original_sql_query)) {
129 $sql_query = $original_sql_query;
130 }
131  
132 if (isset($original_url_query)) {
133 $url_query = $original_url_query;
134 }
135  
136 if (isset($original_pos)) {
137 $pos = $original_pos;
138 }
139  
140 // this is because sql.php could call tbl_properties_structure
141 // which would think it needs to call mult_submits.inc.php:
142 unset($submit_mult);
143 unset($mult_btn);
144  
145 $active_page = 'sql.php';
146 require('./sql.php');
147  
148 /**
149 * Displays the footer
150 */
151 require_once('./libraries/footer.inc.php');
152 break;
153 }
154 }
155 ?>