~hexmode/+junk/main

« back to all changes in this revision

Viewing changes to install-files/apps/phpmyadmin2.10.1/tbl_row_action.php

  • Committer: Mark A. Hershberger
  • Date: 2008-01-05 19:38:56 UTC
  • Revision ID: hershberger@spawn-xp-20080105193856-6rnzgwa4nehue3qj
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
/* $Id: tbl_row_action.php 10144 2007-03-20 11:22:31Z cybot_tm $ */
 
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_export.php';
 
102
            include './tbl_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_sql.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_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
?>