diff --git a/db_export.php b/db_export.php index 718a489d8..32971ab5f 100644 --- a/db_export.php +++ b/db_export.php @@ -16,6 +16,8 @@ */ require_once './libraries/common.inc.php'; +$GLOBALS['js_include'][] = 'export.js'; + // $sub_part is also used in db_info.inc.php to see if we are coming from // db_export.php, in which case we don't obey $cfg['MaxTableList'] $sub_part = '_export'; @@ -39,12 +41,12 @@ $checkall_url = 'db_export.php?' . PMA_generate_common_url($db) . '&goto=db_export.php'; -$multi_values = '
DROP DATABASE
'));
+ }
- /* Structure options */
- if (!$hide_structure) {
+ /* what to dump (structure/data/both) */
+ $plugin_list['sql']['options'][] =
+ array('type' => 'begin_subgroup', 'subgroup_header' => array('type' => 'message_only', 'text' => __('Dump table')));
+ $plugin_list['sql']['options'][] =
+ array('type' => 'radio', 'name' => 'structure_or_data', 'values' => array('structure' => __('structure'), 'data' => __('data'), 'structure_and_data' => __('structure and data')));
+ $plugin_list['sql']['options'][] = array('type' => 'end_subgroup');
+
+ /* begin Structure options */
+ if (!$hide_structure) {
$plugin_list['sql']['options'][] =
- array('type' => 'bgroup', 'name' => 'structure', 'text' => __('Structure'), 'force' => 'data');
- if ($plugin_param['export_type'] == 'table') {
+ array('type' => 'begin_group', 'name' => 'structure', 'text' => __('Object creation options'), 'force' => 'data');
+
+ /* begin SQL Statements */
+ $plugin_list['sql']['options'][] =
+ array('type' => 'begin_subgroup', 'subgroup_header' => array('type' => 'message_only', 'name' => 'add_statements', 'text' => __('Add statements:')));
+ if ($plugin_param['export_type'] == 'table') {
if (PMA_Table::isView($GLOBALS['db'], $GLOBALS['table'])) {
- $drop_clause = 'DROP VIEW';
+ $drop_clause = 'DROP VIEW
';
} else {
- $drop_clause = 'DROP TABLE';
+ $drop_clause = 'DROP TABLE
';
}
} else {
- $drop_clause = 'DROP TABLE / VIEW / PROCEDURE / FUNCTION';
- if (PMA_MYSQL_INT_VERSION > 50100) {
- $drop_clause .= ' / EVENT';
+ $drop_clause = 'DROP TABLE / VIEW / PROCEDURE / FUNCTION
';
+ if (PMA_MYSQL_INT_VERSION > 50100) {
+ $drop_clause .= ' / EVENT
';
}
}
$plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'drop_table', 'text' => sprintf(__('Add %s'), $drop_clause));
+ array('type' => 'bool', 'name' => 'drop_table', 'text' => sprintf(__('%s'), $drop_clause));
$plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'if_not_exists', 'text' => sprintf(__('Add %s'), 'IF NOT EXISTS'));
- $plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'auto_increment', 'text' => __('Add AUTO_INCREMENT value'));
- $plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'backquotes', 'text' => __('Enclose table and column names with backquotes'));
- $plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'procedure_function', 'text' => sprintf(__('Add %s'), 'CREATE PROCEDURE / FUNCTION' . (PMA_MYSQL_INT_VERSION > 50100 ? ' / EVENT' : '')));
+ array('type' => 'bool', 'name' => 'procedure_function', 'text' => sprintf(__('%s'), 'CREATE PROCEDURE / FUNCTION' . (PMA_MYSQL_INT_VERSION > 50100 ? ' / EVENT
' : '')));
- /* MIME stuff etc. */
+ /* begin CREATE TABLE statements*/
$plugin_list['sql']['options'][] =
- array('type' => 'bgroup', 'text' => __('Add into comments'));
- $plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'dates', 'text' => __('Creation/Update/Check dates'));
- if (!empty($GLOBALS['cfgRelation']['relation'])) {
+ array('type' => 'begin_subgroup', 'subgroup_header' => array('type' => 'bool', 'name' => 'create_table_statements', 'text' => __('CREATE TABLE
options:')));
$plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'relation', 'text' => __('Relations'));
- }
- if (!empty($GLOBALS['cfgRelation']['mimework'])) {
- $plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'mime', 'text' => __('MIME type'));
- }
+ array('type' => 'bool', 'name' => 'if_not_exists', 'text' => __('IF NOT EXISTS
'));
$plugin_list['sql']['options'][] =
- array('type' => 'egroup');
+ array('type' => 'bool', 'name' => 'auto_increment', 'text' => __('AUTO_INCREMENT
'));
+ $plugin_list['sql']['options'][] = array('type' => 'end_subgroup');
+ /* end CREATE TABLE statements */
+
+ $plugin_list['sql']['options'][] = array('type' => 'end_subgroup');
+ /* end SQL statements */
$plugin_list['sql']['options'][] =
- array('type' => 'egroup');
+ array('type' => 'bool', 'name' => 'backquotes', 'text' => __('Enclose table and field names with backquotes (Protects field and table names formed with special characters)'));
+
+ $plugin_list['sql']['options'][] =
+ array('type' => 'end_group');
}
+ /* end Structure options */
- /* Data */
+ /* begin Data options */
+ $plugin_list['sql']['options'][] =
+ array('type' => 'begin_group', 'name' => 'data', 'text' => __('Data dump options'), 'force' => 'structure');
+
+ /* begin SQL statements */
$plugin_list['sql']['options'][] =
- array('type' => 'bgroup', 'name' => 'data', 'text' => __('Data'), 'force' => 'structure');
+ array('type' => 'begin_subgroup', 'subgroup_header' => array('type' => 'message_only', 'text' => __('Add statements:')));
$plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'columns', 'text' => __('Complete inserts'), 'doc' => array('programs', 'mysqldump', 'option_mysqldump_complete-insert-option'));
+ array('type' => 'bool', 'name' => 'delayed', 'text' => __('INSERT DELAYED
'));
$plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'extended', 'text' => __('Extended inserts'), 'doc' => array('programs', 'mysqldump', 'option_mysqldump_extended-insert-option'));
+ array('type' => 'bool', 'name' => 'ignore', 'text' => __('INSERT IGNORE
'));
+ $plugin_list['sql']['options'][] =
+ array('type' => 'end_subgroup');
+ /* end SQL statements */
+
+ /* Function to use when dumping data */
+ $plugin_list['sql']['options'][] =
+ array('type' => 'select', 'name' => 'type', 'text' => __('Function to use when dumping data:'), 'values' => array('INSERT' => 'INSERT', 'UPDATE' => 'UPDATE', 'REPLACE' => 'REPLACE'));
+
+ /* Syntax to use when inserting data */
+ $plugin_list['sql']['options'][] =
+ array('type' => 'begin_subgroup', 'subgroup_header' => array('type' => 'message_only', 'text' => __('Syntax to use when inserting data:')));
+ $plugin_list['sql']['options'][] =
+ array('type' => 'radio', 'name' => 'insert_syntax', 'values' => array(
+ 'complete' => __('include column names in every INSERT
statement INSERT INTO tbl_name (col_A,col_B,col_C) VALUES (1,2,3)
'),
+ 'extended' => __('insert multiple rows in every INSERT
statementINSERT INTO tbl_name VALUES (1,2,3), (4,5,6), (7,8,9)
'),
+ 'both' => __('both of the aboveINSERT INTO tbl_name (col_A,col_B) VALUES (1,2,3), (4,5,6), (7,8,9)
'),
+ 'none' => __('neither of the aboveINSERT INTO tbl_name VALUES (1,2,3)
')));
+ $plugin_list['sql']['options'][] =
+ array('type' => 'end_subgroup');
+
+ /* Max length of query */
$plugin_list['sql']['options'][] =
array('type' => 'text', 'name' => 'max_query_size', 'text' => __('Maximal length of created query'));
+
+ /* Dump binary columns in hexadecimal */
$plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'delayed', 'text' => __('Use delayed inserts'));
+ array('type' => 'bool', 'name' => 'hex_for_blob', 'text' => __('Dump binary columns in hexadecimal notation (for example, "abc" becomes 0x616263)'));
+
+ /* Dump time in UTC */
$plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'ignore', 'text' => __('Use ignore inserts'));
- $plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'hex_for_blob', 'text' => __('Use hexadecimal for BLOB'));
- $plugin_list['sql']['options'][] =
- array('type' => 'bool', 'name' => 'utc_time', 'text' => __('Export time in UTC'));
- $plugin_list['sql']['options'][] =
- array('type' => 'select', 'name' => 'type', 'text' => __('Export type'), 'values' => array('INSERT' => 'INSERT', 'UPDATE' => 'UPDATE', 'REPLACE' => 'REPLACE'));
- $plugin_list['sql']['options'][] =
- array('type' => 'egroup');
+ array('type' => 'bool', 'name' => 'utc_time', 'text' => __('Dump TIMESTAMP columns in UTC (enables TIMESTAMP columns to be dumped and reloaded between servers in different time zones)'));
+
+ $plugin_list['sql']['options'][] = array('type' => 'end_group');
+ /* end Data options */
}
} else {
@@ -389,7 +436,7 @@ function PMA_exportDBFooter($db)
foreach($procedure_names as $procedure_name) {
if (! empty($GLOBALS['sql_drop_table'])) {
- $text .= 'DROP PROCEDURE IF EXISTS ' . PMA_backquote($procedure_name) . $delimiter . $crlf;
+ $text .= 'DROP PROCEDURE IF EXISTS ' . PMA_backquote($procedure_name) . $delimiter . $crlf;
}
$text .= PMA_DBI_get_definition($db, 'PROCEDURE', $procedure_name) . $delimiter . $crlf . $crlf;
}
@@ -403,7 +450,7 @@ function PMA_exportDBFooter($db)
foreach($function_names as $function_name) {
if (! empty($GLOBALS['sql_drop_table'])) {
- $text .= 'DROP FUNCTION IF EXISTS ' . PMA_backquote($function_name) . $delimiter . $crlf;
+ $text .= 'DROP FUNCTION IF EXISTS ' . PMA_backquote($function_name) . $delimiter . $crlf;
}
$text .= PMA_DBI_get_definition($db, 'FUNCTION', $function_name) . $delimiter . $crlf . $crlf;
}
@@ -417,7 +464,7 @@ function PMA_exportDBFooter($db)
foreach($event_names as $event_name) {
if (! empty($GLOBALS['sql_drop_table'])) {
- $text .= 'DROP EVENT ' . PMA_backquote($event_name) . $delimiter . $crlf;
+ $text .= 'DROP EVENT ' . PMA_backquote($event_name) . $delimiter . $crlf;
}
$text .= PMA_DBI_get_definition($db, 'EVENT', $event_name) . $delimiter . $crlf . $crlf;
}
@@ -953,7 +1000,7 @@ function PMA_exportData($db, $table, $crlf, $error_url, $sql_query)
}
// scheme for inserting fields
- if (isset($GLOBALS['sql_columns'])) {
+ if ($GLOBALS['sql_insert_syntax'] == 'complete' || $GLOBALS['sql_insert_syntax'] == 'both') {
$fields = implode(', ', $field_set);
$schema_insert = $sql_command . $insert_delayed .' INTO ' . PMA_backquote($table, $sql_backquotes)
// avoid EOL blank
@@ -968,7 +1015,7 @@ function PMA_exportData($db, $table, $crlf, $error_url, $sql_query)
$replace = array('\0', '\n', '\r', '\Z');
$current_row = 0;
$query_size = 0;
- if (isset($GLOBALS['sql_extended']) && (!isset($GLOBALS['sql_type']) || $GLOBALS['sql_type'] != 'UPDATE')) {
+ if (($GLOBALS['sql_insert_syntax'] == 'extended' || $GLOBALS['sql_insert_syntax'] == 'both') && (!isset($GLOBALS['sql_type']) || $GLOBALS['sql_type'] != 'UPDATE')) {
$separator = ',';
$schema_insert .= $crlf;
} else {
@@ -1032,7 +1079,7 @@ function PMA_exportData($db, $table, $crlf, $error_url, $sql_query)
} else {
// Extended inserts case
- if (isset($GLOBALS['sql_extended'])) {
+ if ($GLOBALS['sql_insert_syntax'] == 'extended' || $GLOBALS['sql_insert_syntax'] == 'both') {
if ($current_row == 1) {
$insert_line = $schema_insert . '(' . implode(', ', $values) . ')';
} else {
diff --git a/libraries/export/texytext.php b/libraries/export/texytext.php
index eeb1615bf..d07bb5afc 100644
--- a/libraries/export/texytext.php
+++ b/libraries/export/texytext.php
@@ -18,22 +18,15 @@ if (isset($plugin_list)) {
'extension' => 'txt',
'mime_type' => 'text/plain',
'options' => array(
- array('type' => 'bool',
- 'name' => 'structure',
- 'text' => __('Structure'),
- 'force' => 'data'),
- array('type' => 'bgroup',
- 'name' => 'data',
- 'text' => __('Data'),
- 'force' => 'structure'),
- array('type' => 'text',
- 'name' => 'null',
- 'text' => __('Replace NULL by')),
- array('type' => 'bool',
- 'name' => 'columns',
- 'text' => __('Put columns names in the first row')),
- array('type' => 'egroup'),
- ),
+ /* what to dump (structure/data/both) */
+ array('type' => 'begin_subgroup', 'subgroup_header' => array('type' => 'message_only', 'text' => __('Dump table'))),
+ array('type' => 'radio', 'name' => 'structure_or_data', 'values' => array('structure' => __('structure'), 'data' => __('data'), 'structure_and_data' => __('structure and data'))),
+ array('type' => 'end_subgroup'),
+ array('type' => 'begin_group', 'name' => 'data', 'text' => __('Data dump options'), 'force' => 'structure'),
+ array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')),
+ array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')),
+ array('type' => 'end_group'),
+ ),
'options_text' => __('Options'),
);
} else {
diff --git a/libraries/export/xls.php b/libraries/export/xls.php
index d23890322..68075b152 100644
--- a/libraries/export/xls.php
+++ b/libraries/export/xls.php
@@ -20,9 +20,9 @@ if (isset($plugin_list)) {
'mime_type' => 'application/vnd.ms-excel',
'force_file' => true,
'options' => array(
- array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')),
+ array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL with:')),
array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')),
- array('type' => 'hidden', 'name' => 'data'),
+ array('type' => 'hidden', 'name' => 'structure_or_data'),
),
'options_text' => __('Options'),
);
diff --git a/libraries/export/xlsx.php b/libraries/export/xlsx.php
index b59c78cc8..833e7e09b 100644
--- a/libraries/export/xlsx.php
+++ b/libraries/export/xlsx.php
@@ -20,9 +20,9 @@ if (isset($plugin_list)) {
'mime_type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'force_file' => true,
'options' => array(
- array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL by')),
+ array('type' => 'text', 'name' => 'null', 'text' => __('Replace NULL with:')),
array('type' => 'bool', 'name' => 'columns', 'text' => __('Put columns names in the first row')),
- array('type' => 'hidden', 'name' => 'data'),
+ array('type' => 'hidden', 'name' => 'structure_or_data'),
),
'options_text' => __('Options'),
);
diff --git a/libraries/export/xml.php b/libraries/export/xml.php
index be005bfa7..b6da9c4d8 100644
--- a/libraries/export/xml.php
+++ b/libraries/export/xml.php
@@ -19,26 +19,26 @@ if (isset($plugin_list)) {
'extension' => 'xml',
'mime_type' => 'text/xml',
'options' => array(
- array('type' => 'hidden', 'name' => 'data'),
+ array('type' => 'hidden', 'name' => 'structure_or_data'),
),
'options_text' => __('Options')
);
/* Export structure */
$plugin_list['xml']['options'][] =
- array('type' => 'bgroup', 'name' => 'export_struc', 'text' => __('Export Structure Schemas (recommended)'));
+ array('type' => 'begin_subgroup', 'subgroup_header' => array('type' => 'message_only', 'name' => 'export_struc', 'text' => __('Structure schemas to export (all are recommended):')));
$plugin_list['xml']['options'][] =
- array('type' => 'bool', 'name' => 'export_functions', 'text' => __('Export functions'));
+ array('type' => 'bool', 'name' => 'export_functions', 'text' => __('Functions'));
$plugin_list['xml']['options'][] =
- array('type' => 'bool', 'name' => 'export_procedures', 'text' => __('Export procedures'));
+ array('type' => 'bool', 'name' => 'export_procedures', 'text' => __('Procedures'));
$plugin_list['xml']['options'][] =
- array('type' => 'bool', 'name' => 'export_tables', 'text' => __('Export tables'));
+ array('type' => 'bool', 'name' => 'export_tables', 'text' => __('Tables'));
$plugin_list['xml']['options'][] =
- array('type' => 'bool', 'name' => 'export_triggers', 'text' => __('Export triggers'));
+ array('type' => 'bool', 'name' => 'export_triggers', 'text' => __('Triggers'));
$plugin_list['xml']['options'][] =
- array('type' => 'bool', 'name' => 'export_views', 'text' => __('Export views'));
+ array('type' => 'bool', 'name' => 'export_views', 'text' => __('Views'));
$plugin_list['xml']['options'][] =
- array('type' => 'egroup');
+ array('type' => 'end_subgroup');
/* Data */
$plugin_list['xml']['options'][] =
diff --git a/libraries/export/yaml.php b/libraries/export/yaml.php
index 70912725b..29055f331 100644
--- a/libraries/export/yaml.php
+++ b/libraries/export/yaml.php
@@ -22,7 +22,7 @@ if (isset($plugin_list)) {
'options' => array(
array(
'type' => 'hidden',
- 'name' => 'data',
+ 'name' => 'structure_or_data',
),
),
'options_text' => __('Options'),
diff --git a/libraries/import/csv.php b/libraries/import/csv.php
index 170fb96bb..80a3d79f0 100644
--- a/libraries/import/csv.php
+++ b/libraries/import/csv.php
@@ -24,17 +24,17 @@ if (isset($plugin_list)) {
'options' => array(
array('type' => 'bool', 'name' => 'replace', 'text' => __('Replace table data with file')),
array('type' => 'bool', 'name' => 'ignore', 'text' => __('Ignore duplicate rows')),
- array('type' => 'text', 'name' => 'terminated', 'text' => __('Columns terminated by'), 'size' => 2, 'len' => 2),
- array('type' => 'text', 'name' => 'enclosed', 'text' => __('Columns enclosed by'), 'size' => 2, 'len' => 2),
- array('type' => 'text', 'name' => 'escaped', 'text' => __('Columns escaped by'), 'size' => 2, 'len' => 2),
- array('type' => 'text', 'name' => 'new_line', 'text' => __('Lines terminated by'), 'size' => 2),
+ array('type' => 'text', 'name' => 'terminated', 'text' => __('Columns terminated with:'), 'size' => 2, 'len' => 2),
+ array('type' => 'text', 'name' => 'enclosed', 'text' => __('Columns enclosed with:'), 'size' => 2, 'len' => 2),
+ array('type' => 'text', 'name' => 'escaped', 'text' => __('Columns escaped with:'), 'size' => 2, 'len' => 2),
+ array('type' => 'text', 'name' => 'new_line', 'text' => __('Lines terminated with:'), 'size' => 2),
),
'options_text' => __('Options'),
);
if ($plugin_param !== 'table') {
$plugin_list['csv']['options'][] =
- array('type' => 'bool', 'name' => 'col_names', 'text' => __('Column names in first row'));
+ array('type' => 'bool', 'name' => 'col_names', 'text' => __('The first line of the file contains the table column names (if this is unchecked, the first line will become part of the data)'));
} else {
$plugin_list['csv']['options'][] =
array('type' => 'text', 'name' => 'columns', 'text' => __('Column names'));
diff --git a/libraries/import/ods.php b/libraries/import/ods.php
index 395a8fc6d..0a1393bb9 100644
--- a/libraries/import/ods.php
+++ b/libraries/import/ods.php
@@ -22,10 +22,10 @@ if (isset($plugin_list)) {
'text' => __('Open Document Spreadsheet'),
'extension' => 'ods',
'options' => array(
- array('type' => 'bool', 'name' => 'col_names', 'text' => __('Column names in first row')),
+ array('type' => 'bool', 'name' => 'col_names', 'text' => __('The first line of the file contains the table column names (if this is unchecked, the first line will become part of the data)')),
array('type' => 'bool', 'name' => 'empty_rows', 'text' => __('Do not import empty rows')),
- array('type' => 'bool', 'name' => 'recognize_percentages', 'text' => __('Import percentages as proper decimals (12.00% to .12)')),
- array('type' => 'bool', 'name' => 'recognize_currency', 'text' => __('Import currencies ($5.00 to 5.00)')),
+ array('type' => 'bool', 'name' => 'recognize_percentages', 'text' => __('Import percentages as proper decimals (ex. 12.00% to .12)')),
+ array('type' => 'bool', 'name' => 'recognize_currency', 'text' => __('Import currencies (ex. $5.00 to 5.00)')),
),
'options_text' => __('Options'),
);
diff --git a/libraries/import/sql.php b/libraries/import/sql.php
index 0241d71a2..eafe2c0c6 100644
--- a/libraries/import/sql.php
+++ b/libraries/import/sql.php
@@ -29,7 +29,7 @@ if (isset($plugin_list)) {
array(
'type' => 'select',
'name' => 'compatibility',
- 'text' => __('SQL compatibility mode'),
+ 'text' => __('SQL compatibility mode:'),
'values' => $values,
'doc' => array(
'manual_MySQL_Database_Administration',
@@ -39,7 +39,7 @@ if (isset($plugin_list)) {
array(
'type' => 'bool',
'name' => 'no_auto_value_on_zero',
- 'text' => __('Do not use AUTO_INCREMENT for zero values'),
+ 'text' => __('Do not use AUTO_INCREMENT
for zero values'),
'doc' => array(
'manual_MySQL_Database_Administration',
'Server_SQL_mode',
diff --git a/libraries/import/xls.php b/libraries/import/xls.php
index ca4778f31..6b50cf7b0 100644
--- a/libraries/import/xls.php
+++ b/libraries/import/xls.php
@@ -21,7 +21,7 @@ if (isset($plugin_list)) {
'text' => __('Excel 97-2003 XLS Workbook'),
'extension' => 'xls',
'options' => array(
- array('type' => 'bool', 'name' => 'col_names', 'text' => __('Column names in first row')),
+ array('type' => 'bool', 'name' => 'col_names', 'text' => __('The first line of the file contains the table column names (if this is unchecked, the first line will become part of the data)')),
),
'options_text' => __('Options'),
);
diff --git a/libraries/import/xlsx.php b/libraries/import/xlsx.php
index 80d79e58f..309f8f9ad 100644
--- a/libraries/import/xlsx.php
+++ b/libraries/import/xlsx.php
@@ -21,7 +21,7 @@ if (isset($plugin_list)) {
'text' => __('Excel 2007 XLSX Workbook'),
'extension' => 'xlsx',
'options' => array(
- array('type' => 'bool', 'name' => 'col_names', 'text' => __('Column names in first row')),
+ array('type' => 'bool', 'name' => 'col_names', 'text' => __('The first line of the file contains the table column names (if this is unchecked, the first line will become part of the data)')),
),
'options_text' => __('Options'),
);
diff --git a/libraries/plugin_interface.lib.php b/libraries/plugin_interface.lib.php
index b78d32f80..ffaddec67 100644
--- a/libraries/plugin_interface.lib.php
+++ b/libraries/plugin_interface.lib.php
@@ -142,37 +142,44 @@ function PMA_pluginIsActive($section, $opt, $val)
/**
* string PMA_pluginGetChoice(string $section, string $name, array &$list, string $cfgname)
*
- * returns html radio form element for plugin choice
+ * returns html select form element for plugin choice
+ * and hidden fields denoting whether each plugin must be exported as a file
*
- * @uses PMA_pluginIsActive()
+ * @uses PMA_pluginGetDefault()
* @uses PMA_getString()
* @param string $section name of config section in
* $GLOBALS['cfg'][$section] for plugin
- * @param string $name name of radio element
+ * @param string $name name of select element
* @param array &$list array with plugin configuration defined in plugin file
* @param string $cfgname name of config value, if none same as $name
- * @return string html input radio tag
+ * @return string html select tag
*/
function PMA_pluginGetChoice($section, $name, &$list, $cfgname = NULL)
{
if (!isset($cfgname)) {
$cfgname = $name;
}
- $ret = '';
+ $ret = '' . PMA_getString($opt['text']) . '
'; - $ret .= '' . PMA_getString($opt['text']) . '
'; } elseif ($opt['type'] == 'select') { - $ret .= '