diff --git a/ChangeLog b/ChangeLog
index 1569934107..e30bff0b26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,6 +18,7 @@ phpMyAdmin - ChangeLog
- bug Missing CREATE DATABASE statement when exporting at database level
- bug #3924 Show warning when CSV file does not contain data for all columns
- bug #3947 Missing Sql Query after modify structure
+- bug #3948 Server export problems
4.0.1.0 (2013-05-14)
- bug #3879 Import broken for CSV using LOAD DATA
diff --git a/db_export.php b/db_export.php
index 26dab8d9f3..2b2fde41db 100644
--- a/db_export.php
+++ b/db_export.php
@@ -40,7 +40,7 @@ $multi_values .= ' onclick="setSelectOptions(\'dump\', \'table_select[]\', true)
$multi_values .= __('Select All');
$multi_values .= '';
$multi_values .= ' / ';
-$multi_values .= '';
$multi_values .= __('Unselect All');
$multi_values .= '
';
@@ -66,10 +66,12 @@ foreach ($tables as $each_table) {
} else {
$is_selected = '';
}
- } elseif (! empty($unselectall)
- || (! empty($table_select) && !in_array($each_table['Name'], $table_select))
- ) {
- $is_selected = '';
+ } elseif (isset($table_select)) {
+ if (in_array($each_table['Name'], $table_select)) {
+ $is_selected = ' selected="selected"';
+ } else {
+ $is_selected = '';
+ }
} else {
$is_selected = ' selected="selected"';
}
diff --git a/export.php b/export.php
index 0e994ff848..edaf432690 100644
--- a/export.php
+++ b/export.php
@@ -633,9 +633,8 @@ do {
}
// Walk over databases
foreach ($GLOBALS['pma']->databases as $current_db) {
- if ((isset($tmp_select)
- && strpos(' ' . $tmp_select, '|' . $current_db . '|'))
- || ! isset($tmp_select)
+ if (isset($tmp_select)
+ && strpos(' ' . $tmp_select, '|' . $current_db . '|')
) {
if (! $export_plugin->exportDBHeader($current_db)) {
break 2;
diff --git a/server_export.php b/server_export.php
index 39dcc3dd49..001abf2a93 100644
--- a/server_export.php
+++ b/server_export.php
@@ -39,18 +39,26 @@ if (isset($_GET['db_select'])) {
}
foreach ($GLOBALS['pma']->databases as $current_db) {
+ if ($current_db == 'information_schema'
+ || $current_db == 'performance_schema'
+ || $current_db == 'mysql'
+ ) {
+ continue;
+ }
if (isset($_GET['db_select'])) {
if (in_array($current_db, $_GET['db_select'])) {
$is_selected = ' selected="selected"';
} else {
$is_selected = '';
}
- } elseif (! empty($selectall)
- || (isset($tmp_select) && strpos(' ' . $tmp_select, '|' . $current_db . '|'))
- ) {
- $is_selected = ' selected="selected"';
+ } elseif (isset($tmp_select)) {
+ if (strpos(' ' . $tmp_select, '|' . $current_db . '|')) {
+ $is_selected = ' selected="selected"';
+ } else {
+ $is_selected = '';
+ }
} else {
- $is_selected = '';
+ $is_selected = ' selected="selected"';
}
$current_db = htmlspecialchars($current_db);
$multi_values .= '