706 lines
22 KiB
PHP
706 lines
22 KiB
PHP
|
<?php
|
||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||
|
|
||
|
/**
|
||
|
* functions for displaying server, database and table export
|
||
|
*
|
||
|
* @usedby display_export.inc.php
|
||
|
*
|
||
|
* @package PhpMyAdmin
|
||
|
*/
|
||
|
if (! defined('PHPMYADMIN')) {
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Outputs appropriate checked statement for checkbox.
|
||
|
*
|
||
|
* @param string $str option name
|
||
|
*
|
||
|
* @return string|void
|
||
|
*/
|
||
|
function PMA_exportCheckboxCheck($str)
|
||
|
{
|
||
|
if (isset($GLOBALS['cfg']['Export'][$str]) && $GLOBALS['cfg']['Export'][$str]) {
|
||
|
return ' checked="checked"';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Selection Options
|
||
|
*
|
||
|
* @param String $tmp_select Tmp selected method of export
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportSelectOptions($tmp_select = '')
|
||
|
{
|
||
|
$multi_values = '<div style="text-align: left">';
|
||
|
$multi_values .= '<a href="#"';
|
||
|
$multi_values .= ' onclick="setSelectOptions'
|
||
|
. '(\'dump\', \'db_select[]\', true); return false;">';
|
||
|
$multi_values .= __('Select All');
|
||
|
$multi_values .= '</a>';
|
||
|
$multi_values .= ' / ';
|
||
|
$multi_values .= '<a href="#"';
|
||
|
$multi_values .= ' onclick="setSelectOptions'
|
||
|
. '(\'dump\', \'db_select[]\', false); return false;">';
|
||
|
$multi_values .= __('Unselect All') . '</a><br />';
|
||
|
|
||
|
$multi_values .= '<select name="db_select[]" '
|
||
|
. 'id="db_select" size="10" multiple="multiple">';
|
||
|
$multi_values .= "\n";
|
||
|
|
||
|
// Check if the selected databases are defined in $_GET
|
||
|
// (from clicking Back button on export.php)
|
||
|
if (isset($_GET['db_select'])) {
|
||
|
$_GET['db_select'] = urldecode($_GET['db_select']);
|
||
|
$_GET['db_select'] = explode(",", $_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($tmp_select)) {
|
||
|
if (strpos(' ' . $tmp_select, '|' . $current_db . '|')) {
|
||
|
$is_selected = ' selected="selected"';
|
||
|
} else {
|
||
|
$is_selected = '';
|
||
|
}
|
||
|
} else {
|
||
|
$is_selected = ' selected="selected"';
|
||
|
}
|
||
|
$current_db = htmlspecialchars($current_db);
|
||
|
$multi_values .= ' <option value="' . $current_db . '"'
|
||
|
. $is_selected . '>' . $current_db . '</option>' . "\n";
|
||
|
} // end while
|
||
|
$multi_values .= "\n";
|
||
|
$multi_values .= '</select></div>';
|
||
|
|
||
|
return $multi_values;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Hidden Input
|
||
|
*
|
||
|
* @param String $export_type Selected Export Type
|
||
|
* @param String $db Selected DB
|
||
|
* @param String $table Selected Table
|
||
|
* @param String $single_table Single Table
|
||
|
* @param String $sql_query Sql Query
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForHiddenInput(
|
||
|
$export_type, $db, $table, $single_table, $sql_query
|
||
|
) {
|
||
|
global $cfg;
|
||
|
$html = "";
|
||
|
if ($export_type == 'server') {
|
||
|
$html .= PMA_URL_getHiddenInputs('', '', 1);
|
||
|
} elseif ($export_type == 'database') {
|
||
|
$html .= PMA_URL_getHiddenInputs($db, '', 1);
|
||
|
} else {
|
||
|
$html .= PMA_URL_getHiddenInputs($db, $table, 1);
|
||
|
}
|
||
|
|
||
|
// just to keep this value for possible next display of this form after saving
|
||
|
// on server
|
||
|
if (!empty($single_table)) {
|
||
|
$html .= '<input type="hidden" name="single_table" value="TRUE" />'
|
||
|
. "\n";
|
||
|
}
|
||
|
|
||
|
$html .= '<input type="hidden" name="export_type" value="'
|
||
|
. $export_type . '" />';
|
||
|
$html .= "\n";
|
||
|
|
||
|
// If the export method was not set, the default is quick
|
||
|
if (isset($_GET['export_method'])) {
|
||
|
$cfg['Export']['method'] = $_GET['export_method'];
|
||
|
} elseif (! isset($cfg['Export']['method'])) {
|
||
|
$cfg['Export']['method'] = 'quick';
|
||
|
}
|
||
|
// The export method (quick, custom or custom-no-form)
|
||
|
$html .= '<input type="hidden" name="export_method" value="'
|
||
|
. htmlspecialchars($cfg['Export']['method']) . '" />';
|
||
|
|
||
|
|
||
|
if (isset($_GET['sql_query'])) {
|
||
|
$html .= '<input type="hidden" name="sql_query" value="'
|
||
|
. htmlspecialchars($_GET['sql_query']) . '" />' . "\n";
|
||
|
} elseif (! empty($sql_query)) {
|
||
|
$html .= '<input type="hidden" name="sql_query" value="'
|
||
|
. htmlspecialchars($sql_query) . '" />' . "\n";
|
||
|
}
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Header
|
||
|
*
|
||
|
* @param String $export_type Selected Export Type
|
||
|
* @param String $db Selected DB
|
||
|
* @param String $table Selected Table
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionHeader($export_type, $db, $table)
|
||
|
{
|
||
|
$html = '<div class="exportoptions" id="header">';
|
||
|
$html .= '<h2>';
|
||
|
$html .= PMA_Util::getImage('b_export.png', __('Export'));
|
||
|
if ($export_type == 'server') {
|
||
|
$html .= __('Exporting databases from the current server');
|
||
|
} elseif ($export_type == 'database') {
|
||
|
$html .= sprintf(
|
||
|
__('Exporting tables from "%s" database'),
|
||
|
htmlspecialchars($db)
|
||
|
);
|
||
|
} else {
|
||
|
$html .= sprintf(
|
||
|
__('Exporting rows from "%s" table'),
|
||
|
htmlspecialchars($table)
|
||
|
);
|
||
|
}
|
||
|
$html .= '</h2>';
|
||
|
$html .= '</div>';
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Method
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsMethod()
|
||
|
{
|
||
|
global $cfg;
|
||
|
if (isset($_GET['quick_or_custom'])) {
|
||
|
$export_method = $_GET['quick_or_custom'];
|
||
|
} else {
|
||
|
$export_method = $cfg['Export']['method'];
|
||
|
}
|
||
|
|
||
|
$html = '<div class="exportoptions" id="quick_or_custom">';
|
||
|
$html .= '<h3>' . __('Export Method:') . '</h3>';
|
||
|
$html .= '<ul>';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<input type="radio" name="quick_or_custom" value="quick" '
|
||
|
. ' id="radio_quick_export"';
|
||
|
if ($export_method == 'quick' || $export_method == 'quick_no_form') {
|
||
|
$html .= ' checked="checked"';
|
||
|
}
|
||
|
$html .= ' />';
|
||
|
$html .= '<label for ="radio_quick_export">';
|
||
|
$html .= __('Quick - display only the minimal options');
|
||
|
$html .= '</label>';
|
||
|
$html .= '</li>';
|
||
|
|
||
|
$html .= '<li>';
|
||
|
$html .= '<input type="radio" name="quick_or_custom" value="custom" '
|
||
|
. ' id="radio_custom_export"';
|
||
|
if ($export_method == 'custom' || $export_method == 'custom_no_form') {
|
||
|
$html .= ' checked="checked"';
|
||
|
}
|
||
|
$html .= ' />';
|
||
|
$html .= '<label for="radio_custom_export">';
|
||
|
$html .= __('Custom - display all possible options');
|
||
|
$html .= '</label>';
|
||
|
$html .= '</li>';
|
||
|
|
||
|
$html .= '</ul>';
|
||
|
$html .= '</div>';
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Selection
|
||
|
*
|
||
|
* @param String $export_type Selected Export Type
|
||
|
* @param String $multi_values Export Options
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsSelection($export_type, $multi_values)
|
||
|
{
|
||
|
$html = '<div class="exportoptions" id="databases_and_tables">';
|
||
|
if ($export_type == 'server') {
|
||
|
$html .= '<h3>' . __('Database(s):') . '</h3>';
|
||
|
} else if ($export_type == 'database') {
|
||
|
$html .= '<h3>' . __('Table(s):') . '</h3>';
|
||
|
}
|
||
|
if (! empty($multi_values)) {
|
||
|
$html .= $multi_values;
|
||
|
}
|
||
|
$html .= '</div>';
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Format
|
||
|
*
|
||
|
* @param String $export_list Export List
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsFormat($export_list)
|
||
|
{
|
||
|
$html = '<div class="exportoptions" id="format">';
|
||
|
$html .= '<h3>' . __('Format:') . '</h3>';
|
||
|
$html .= PMA_pluginGetChoice('Export', 'what', $export_list, 'format');
|
||
|
$html .= '</div>';
|
||
|
|
||
|
$html .= '<div class="exportoptions" id="format_specific_opts">';
|
||
|
$html .= '<h3>' . __('Format-specific options:') . '</h3>';
|
||
|
$html .= '<p class="no_js_msg" id="scroll_to_options_msg">';
|
||
|
$html .= __(
|
||
|
'Scroll down to fill in the options for the selected format '
|
||
|
. 'and ignore the options for other formats.'
|
||
|
);
|
||
|
$html .= '</p>';
|
||
|
$html .= PMA_pluginGetOptions('Export', $export_list);
|
||
|
$html .= '</div>';
|
||
|
|
||
|
if (function_exists('PMA_Kanji_encodingForm')) {
|
||
|
// Encoding setting form appended by Y.Kawada
|
||
|
// Japanese encoding setting
|
||
|
$html .= '<div class="exportoptions" id="kanji_encoding">';
|
||
|
$html .= '<h3>' . __('Encoding Conversion:') . '</h3>';
|
||
|
$html .= PMA_Kanji_encodingForm();
|
||
|
$html .= '</div>';
|
||
|
}
|
||
|
|
||
|
$html .= '<div class="exportoptions" id="submit">';
|
||
|
|
||
|
$html .= PMA_Util::getExternalBug(
|
||
|
__('SQL compatibility mode'), 'mysql', '50027', '14515'
|
||
|
);
|
||
|
global $cfg;
|
||
|
if ($cfg['ExecTimeLimit'] > 0) {
|
||
|
$html .= '<input type="submit" value="' . __('Go')
|
||
|
. '" id="buttonGo" onclick="check_time_out('
|
||
|
. $cfg['ExecTimeLimit'] . ')"/>';
|
||
|
} else {
|
||
|
// if the time limit set is zero, then time out won't occur
|
||
|
// So no need to check for time out.
|
||
|
$html .= '<input type="submit" value="' . __('Go') . '" id="buttonGo" />';
|
||
|
}
|
||
|
$html .= '</div>';
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
/**
|
||
|
* Prints Html For Export Options Rows
|
||
|
*
|
||
|
* @param String $db Selected DB
|
||
|
* @param String $table Selected Table
|
||
|
* @param String $unlim_num_rows Num of Rows
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsRows($db, $table, $unlim_num_rows)
|
||
|
{
|
||
|
$html = '<div class="exportoptions" id="rows">';
|
||
|
$html .= '<h3>' . __('Rows:') . '</h3>';
|
||
|
$html .= '<ul>';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<input type="radio" name="allrows" value="0" id="radio_allrows_0"';
|
||
|
if (isset($_GET['allrows']) && $_GET['allrows'] == 0) {
|
||
|
$html .= ' checked="checked"';
|
||
|
}
|
||
|
$html .= '/>';
|
||
|
$html .= '<label for ="radio_allrows_0">' . __('Dump some row(s)') . '</label>';
|
||
|
$html .= '<ul>';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<label for="limit_to">' . __('Number of rows:') . '</label>';
|
||
|
$html .= '<input type="text" id="limit_to" name="limit_to" size="5" value="';
|
||
|
if (isset($_GET['limit_to'])) {
|
||
|
$html .= htmlspecialchars($_GET['limit_to']);
|
||
|
} elseif (!empty($unlim_num_rows)) {
|
||
|
$html .= $unlim_num_rows;
|
||
|
} else {
|
||
|
$html .= PMA_Table::countRecords($db, $table);
|
||
|
}
|
||
|
$html .= '" onfocus="this.select()" />';
|
||
|
$html .= '</li>';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<label for="limit_from">' . __('Row to begin at:') . '</label>';
|
||
|
$html .= '<input type="text" id="limit_from" name="limit_from" value="';
|
||
|
if (isset($_GET['limit_from'])) {
|
||
|
$html .= htmlspecialchars($_GET['limit_from']);
|
||
|
} else {
|
||
|
$html .= '0';
|
||
|
}
|
||
|
$html .= '" size="5" onfocus="this.select()" />';
|
||
|
$html .= '</li>';
|
||
|
$html .= '</ul>';
|
||
|
$html .= '</li>';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<input type="radio" name="allrows" value="1" id="radio_allrows_1"';
|
||
|
if (! isset($_GET['allrows']) || $_GET['allrows'] == 1) {
|
||
|
$html .= ' checked="checked"';
|
||
|
}
|
||
|
$html .= '/>';
|
||
|
$html .= ' <label for="radio_allrows_1">' . __('Dump all rows') . '</label>';
|
||
|
$html .= '</li>';
|
||
|
$html .= '</ul>';
|
||
|
$html .= '</div>';
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Quick Export
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsQuickExport()
|
||
|
{
|
||
|
global $cfg;
|
||
|
$html = '<div class="exportoptions" id="output_quick_export">';
|
||
|
$html .= '<h3>' . __('Output:') . '</h3>';
|
||
|
$html .= '<ul>';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<input type="checkbox" name="quick_export_onserver" value="saveit" ';
|
||
|
$html .= 'id="checkbox_quick_dump_onserver" ';
|
||
|
$html .= PMA_exportCheckboxCheck('quick_export_onserver');
|
||
|
$html .= '/>';
|
||
|
$html .= '<label for="checkbox_quick_dump_onserver">';
|
||
|
$html .= sprintf(
|
||
|
__('Save on server in the directory <b>%s</b>'),
|
||
|
htmlspecialchars(PMA_Util::userDir($cfg['SaveDir']))
|
||
|
);
|
||
|
$html .= '</label>';
|
||
|
$html .= '</li>';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<input type="checkbox" name="quick_export_onserverover" ';
|
||
|
$html .= 'value="saveitover" id="checkbox_quick_dump_onserverover" ';
|
||
|
$html .= PMA_exportCheckboxCheck('quick_export_onserver_overwrite');
|
||
|
$html .= '/>';
|
||
|
$html .= '<label for="checkbox_quick_dump_onserverover">';
|
||
|
$html .= __('Overwrite existing file(s)');
|
||
|
$html .= '</label>';
|
||
|
$html .= '</li>';
|
||
|
$html .= '</ul>';
|
||
|
$html .= '</div>';
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Save Dir
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsOutputSaveDir()
|
||
|
{
|
||
|
global $cfg;
|
||
|
$html = '<li>';
|
||
|
$html .= '<input type="checkbox" name="onserver" value="saveit" ';
|
||
|
$html .= 'id="checkbox_dump_onserver" ';
|
||
|
$html .= PMA_exportCheckboxCheck('onserver');
|
||
|
$html .= '/>';
|
||
|
$html .= '<label for="checkbox_dump_onserver">';
|
||
|
$html .= sprintf(
|
||
|
__('Save on server in the directory <b>%s</b>'),
|
||
|
htmlspecialchars(PMA_Util::userDir($cfg['SaveDir']))
|
||
|
);
|
||
|
$html .= '</label>';
|
||
|
$html .= '</li>';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<input type="checkbox" name="onserverover" value="saveitover"';
|
||
|
$html .= ' id="checkbox_dump_onserverover" ';
|
||
|
$html .= PMA_exportCheckboxCheck('onserver_overwrite');
|
||
|
$html .= '/>';
|
||
|
$html .= '<label for="checkbox_dump_onserverover">';
|
||
|
$html .= __('Overwrite existing file(s)');
|
||
|
$html .= '</label>';
|
||
|
$html .= '</li>';
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options
|
||
|
*
|
||
|
* @param String $export_type Selected Export Type
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsOutputFormat($export_type)
|
||
|
{
|
||
|
$html = '<li>';
|
||
|
$html .= '<label for="filename_template" class="desc">';
|
||
|
$html .= __('File name template:');
|
||
|
$trans = new PMA_Message;
|
||
|
$trans->addMessage(__('@SERVER@ will become the server name'));
|
||
|
if ($export_type == 'database' || $export_type == 'table') {
|
||
|
$trans->addMessage(__(', @DATABASE@ will become the database name'));
|
||
|
if ($export_type == 'table') {
|
||
|
$trans->addMessage(__(', @TABLE@ will become the table name'));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$msg = new PMA_Message(
|
||
|
__(
|
||
|
'This value is interpreted using %1$sstrftime%2$s, '
|
||
|
. 'so you can use time formatting strings. '
|
||
|
. 'Additionally the following transformations will happen: %3$s. '
|
||
|
. 'Other text will be kept as is. See the %4$sFAQ%5$s for details.'
|
||
|
)
|
||
|
);
|
||
|
$msg->addParam(
|
||
|
'<a href="' . PMA_linkURL(PMA_getPHPDocLink('function.strftime.php'))
|
||
|
. '" target="documentation" title="' . __('Documentation') . '">',
|
||
|
false
|
||
|
);
|
||
|
$msg->addParam('</a>', false);
|
||
|
$msg->addParam($trans);
|
||
|
$doc_url = PMA_Util::getDocuLink('faq', 'faq6-27');
|
||
|
$msg->addParam(
|
||
|
'<a href="'. $doc_url . '" target="documentation">',
|
||
|
false
|
||
|
);
|
||
|
$msg->addParam('</a>', false);
|
||
|
|
||
|
$html .= PMA_Util::showHint($msg);
|
||
|
$html .= '</label>';
|
||
|
$html .= '<input type="text" name="filename_template" id="filename_template" ';
|
||
|
$html .= ' value="';
|
||
|
if (isset($_GET['filename_template'])) {
|
||
|
$html .= htmlspecialchars($_GET['filename_template']);
|
||
|
} else {
|
||
|
if ($export_type == 'database') {
|
||
|
$html .= htmlspecialchars(
|
||
|
$GLOBALS['PMA_Config']->getUserValue(
|
||
|
'pma_db_filename_template',
|
||
|
$GLOBALS['cfg']['Export']['file_template_database']
|
||
|
)
|
||
|
);
|
||
|
} elseif ($export_type == 'table') {
|
||
|
$html .= htmlspecialchars(
|
||
|
$GLOBALS['PMA_Config']->getUserValue(
|
||
|
'pma_table_filename_template',
|
||
|
$GLOBALS['cfg']['Export']['file_template_table']
|
||
|
)
|
||
|
);
|
||
|
} else {
|
||
|
$html .= htmlspecialchars(
|
||
|
$GLOBALS['PMA_Config']->getUserValue(
|
||
|
'pma_server_filename_template',
|
||
|
$GLOBALS['cfg']['Export']['file_template_server']
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
$html .= '"';
|
||
|
$html .= '/>';
|
||
|
$html .= '<input type="checkbox" name="remember_template" ';
|
||
|
$html .= 'id="checkbox_remember_template" ';
|
||
|
$html .= PMA_exportCheckboxCheck('remember_file_template');
|
||
|
$html .= '/>';
|
||
|
$html .= '<label for="checkbox_remember_template">';
|
||
|
$html .= __('use this for future exports');
|
||
|
$html .= '</label>';
|
||
|
$html .= '</li>';
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Charset
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsOutputCharset()
|
||
|
{
|
||
|
global $cfg;
|
||
|
$html = ' <li><label for="select_charset_of_file" class="desc">'
|
||
|
. __('Character set of the file:') . '</label>' . "\n";
|
||
|
reset($cfg['AvailableCharsets']);
|
||
|
$html .= '<select id="select_charset_of_file" name="charset_of_file" size="1">';
|
||
|
foreach ($cfg['AvailableCharsets'] as $temp_charset) {
|
||
|
$html .= '<option value="' . $temp_charset . '"';
|
||
|
if (isset($_GET['charset_of_file'])
|
||
|
&& ($_GET['charset_of_file'] != $temp_charset)
|
||
|
) {
|
||
|
$html .= '';
|
||
|
} elseif ((empty($cfg['Export']['charset']) && $temp_charset == 'utf-8')
|
||
|
|| $temp_charset == $cfg['Export']['charset']
|
||
|
) {
|
||
|
$html .= ' selected="selected"';
|
||
|
}
|
||
|
$html .= '>' . $temp_charset . '</option>';
|
||
|
} // end foreach
|
||
|
$html .= '</select></li>';
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Compression
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsOutputCompression()
|
||
|
{
|
||
|
global $cfg;
|
||
|
if (isset($_GET['compression'])) {
|
||
|
$selected_compression = $_GET['compression'];
|
||
|
} elseif (isset($cfg['Export']['compression'])) {
|
||
|
$selected_compression = $cfg['Export']['compression'];
|
||
|
} else {
|
||
|
$selected_compression = "none";
|
||
|
}
|
||
|
|
||
|
$html = "";
|
||
|
// zip and gzip encode features
|
||
|
$is_zip = ($cfg['ZipDump'] && @function_exists('gzcompress'));
|
||
|
$is_gzip = ($cfg['GZipDump'] && @function_exists('gzencode'));
|
||
|
if ($is_zip || $is_gzip) {
|
||
|
$html .= '<li>';
|
||
|
$html .= '<label for="compression" class="desc">'
|
||
|
. __('Compression:') . '</label>';
|
||
|
$html .= '<select id="compression" name="compression">';
|
||
|
$html .= '<option value="none">' . __('None') . '</option>';
|
||
|
if ($is_zip) {
|
||
|
$html .= '<option value="zip" ';
|
||
|
if ($selected_compression == "zip") {
|
||
|
$html .= 'selected="selected"';
|
||
|
}
|
||
|
$html .= '>' . __('zipped') . '</option>';
|
||
|
}
|
||
|
if ($is_gzip) {
|
||
|
$html .= '<option value="gzip" ';
|
||
|
if ($selected_compression == "gzip") {
|
||
|
$html .= 'selected="selected"';
|
||
|
}
|
||
|
$html .= '>' . __('gzipped') . '</option>';
|
||
|
}
|
||
|
$html .= '</select>';
|
||
|
$html .= '</li>';
|
||
|
} else {
|
||
|
$html .= '<input type="hidden" name="compression" value="'
|
||
|
. htmlspecialchars($selected_compression) . '" />';
|
||
|
}
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options Radio
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsOutputRadio()
|
||
|
{
|
||
|
$html = '<li>';
|
||
|
$html .= '<input type="radio" id="radio_view_as_text" '
|
||
|
. ' name="output_format" value="astext" ';
|
||
|
if (isset($_GET['repopulate']) || $GLOBALS['cfg']['Export']['asfile'] == false) {
|
||
|
$html .= 'checked="checked"';
|
||
|
}
|
||
|
$html .= '/>';
|
||
|
$html .= '<label for="radio_view_as_text">'
|
||
|
. __('View output as text') . '</label></li>';
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options
|
||
|
*
|
||
|
* @param String $export_type Selected Export Type
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptionsOutput($export_type)
|
||
|
{
|
||
|
global $cfg;
|
||
|
$html = '<div class="exportoptions" id="output">';
|
||
|
$html .= '<h3>' . __('Output:') . '</h3>';
|
||
|
$html .= '<ul id="ul_output">';
|
||
|
$html .= '<li>';
|
||
|
$html .= '<input type="radio" name="output_format" value="sendit" ';
|
||
|
$html .= 'id="radio_dump_asfile" ';
|
||
|
if (!isset($_GET['repopulate'])) {
|
||
|
$html .= PMA_exportCheckboxCheck('asfile');
|
||
|
}
|
||
|
$html .= '/>';
|
||
|
$html .= '<label for="radio_dump_asfile">'
|
||
|
. __('Save output to a file') . '</label>';
|
||
|
$html .= '<ul id="ul_save_asfile">';
|
||
|
if (isset($cfg['SaveDir']) && !empty($cfg['SaveDir'])) {
|
||
|
$html .= PMA_getHtmlForExportOptionsOutputSaveDir();
|
||
|
}
|
||
|
|
||
|
$html .= PMA_getHtmlForExportOptionsOutputFormat($export_type);
|
||
|
|
||
|
// charset of file
|
||
|
if ($GLOBALS['PMA_recoding_engine'] != PMA_CHARSET_NONE) {
|
||
|
$html .= PMA_getHtmlForExportOptionsOutputCharset();
|
||
|
} // end if
|
||
|
|
||
|
$html .= PMA_getHtmlForExportOptionsOutputCompression();
|
||
|
|
||
|
$html .= '</ul>';
|
||
|
$html .= '</li>';
|
||
|
|
||
|
$html .= PMA_getHtmlForExportOptionsOutputRadio();
|
||
|
|
||
|
$html .= '</ul>';
|
||
|
$html .= '</div>';
|
||
|
|
||
|
return $html;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prints Html For Export Options
|
||
|
*
|
||
|
* @param String $export_type Selected Export Type
|
||
|
* @param String $db Selected DB
|
||
|
* @param String $table Selected Table
|
||
|
* @param String $multi_values Export selection
|
||
|
* @param String $num_tables number of tables
|
||
|
* @param String $export_list Export List
|
||
|
* @param String $unlim_num_rows Number of Rows
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function PMA_getHtmlForExportOptions(
|
||
|
$export_type, $db, $table, $multi_values,
|
||
|
$num_tables, $export_list, $unlim_num_rows
|
||
|
) {
|
||
|
global $cfg;
|
||
|
$html = PMA_getHtmlForExportOptionHeader($export_type, $db, $table);
|
||
|
$html .= PMA_getHtmlForExportOptionsMethod();
|
||
|
$html .= PMA_getHtmlForExportOptionsSelection($export_type, $multi_values);
|
||
|
|
||
|
if (strlen($table) && empty($num_tables) && ! PMA_Table::isMerge($db, $table)) {
|
||
|
$html .= PMA_getHtmlForExportOptionsRows($db, $table, $unlim_num_rows);
|
||
|
}
|
||
|
|
||
|
if (isset($cfg['SaveDir']) && !empty($cfg['SaveDir'])) {
|
||
|
$html .= PMA_getHtmlForExportOptionsQuickExport();
|
||
|
}
|
||
|
|
||
|
$html .= PMA_getHtmlForExportOptionsOutput($export_type);
|
||
|
|
||
|
$html .= PMA_getHtmlForExportOptionsFormat($export_list);
|
||
|
return $html;
|
||
|
}
|
||
|
?>
|