2 /* vim: set expandtab sw=4 ts=4 sts=4: */
11 require_once 'libraries/common.inc.php';
12 require_once 'libraries/server_common.inc.php';
13 require_once 'libraries/server_databases.lib.php';
15 $response = PMA_Response
::getInstance();
16 $header = $response->getHeader();
17 $scripts = $header->getScripts();
18 $scripts->addFile('server_databases.js');
21 include_once 'libraries/replication.inc.php';
23 $replication_types = array();
24 $replication_info = null;
26 require 'libraries/build_html_for_db.lib.php';
29 * Sets globals from $_POST
36 foreach ($post_params as $one_post_param) {
37 if (isset($_POST[$one_post_param])) {
38 $GLOBALS[$one_post_param] = $_POST[$one_post_param];
43 * avoids 'undefined index' errors
45 if (empty($_REQUEST['sort_by'])) {
46 $sort_by = 'SCHEMA_NAME';
48 $sort_by_whitelist = array(
50 'DEFAULT_COLLATION_NAME',
54 'SCHEMA_INDEX_LENGTH',
58 if (in_array($_REQUEST['sort_by'], $sort_by_whitelist)) {
59 $sort_by = $_REQUEST['sort_by'];
61 $sort_by = 'SCHEMA_NAME';
65 if (isset($_REQUEST['sort_order'])
66 && strtolower($_REQUEST['sort_order']) == 'desc'
73 $dbstats = empty($_REQUEST['dbstats']) ?
0 : 1;
74 $pos = empty($_REQUEST['pos']) ?
0 : (int) $_REQUEST['pos'];
78 * Drops multiple databases
80 // workaround for IE behavior (it returns some coordinates based on where
81 // the mouse was on the Drop image):
82 if (isset($_REQUEST['drop_selected_dbs_x'])) {
83 $_REQUEST['drop_selected_dbs'] = true;
86 if ((isset($_REQUEST['drop_selected_dbs']) ||
isset($_REQUEST['query_type']))
87 && ($is_superuser ||
$cfg['AllowUserDropDatabase'])
89 if (! isset($_REQUEST['selected_dbs']) && ! isset($_REQUEST['query_type'])) {
90 $message = PMA_Message
::error(__('No databases selected.'));
92 $action = 'server_databases.php';
93 $submit_mult = 'drop_db';
94 $err_url = 'server_databases.php?' . PMA_generate_common_url();
95 if (isset($_REQUEST['selected_dbs'])
96 && !isset($_REQUEST['is_js_confirmed'])
98 $selected_db = $_REQUEST['selected_dbs'];
100 if (isset($_REQUEST['is_js_confirmed'])) {
102 'query_type' => $submit_mult,
103 'selected' => $_REQUEST['selected_dbs'],
104 'mult_btn' => __('Yes'),
105 'db' => $GLOBALS['db'],
106 'table' => $GLOBALS['table']);
108 include 'libraries/mult_submits.inc.php';
109 unset($action, $submit_mult, $err_url, $selected_db, $GLOBALS['db']);
110 if (empty($message)) {
111 if ($mult_btn == __('Yes')) {
112 $number_of_databases = count($selected);
114 $number_of_databases = 0;
116 $message = PMA_Message
::success(
118 '%1$d database has been dropped successfully.',
119 '%1$d databases have been dropped successfully.',
123 $message->addParam($number_of_databases);
126 if ($GLOBALS['is_ajax_request'] && $message instanceof PMA_Message
) {
127 $response = PMA_Response
::getInstance();
128 $response->isSuccess($message->isSuccess());
129 $response->addJSON('message', $message);
135 * Displays the sub-page heading
137 $header_type = $dbstats ?
"database_statistics" : "databases";
138 $response->addHTML(PMA_getSubPageHeader($header_type));
141 * Displays For Create database.
144 if ($cfg['ShowCreateDb']) {
145 $html .= '<ul><li id="li_create_database" class="no_bullets">' . "\n";
146 include 'libraries/display_create_database.lib.php';
147 $html .= ' </li>' . "\n";
148 $html .= '</ul>' . "\n";
152 * Gets the databases list
155 $databases = $GLOBALS['dbi']->getDatabasesFull(
156 null, $dbstats, null, $sort_by, $sort_order, $pos, true
158 $databases_count = count($GLOBALS['pma']->databases
);
160 $databases_count = 0;
167 if ($databases_count > 0) {
168 $html .= PMA_getHtmlForDatabase(
182 $html .= __('No databases');
184 unset($databases_count);
186 $response->addHTML($html);