From 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 9 Jan 2020 10:55:03 +0100 Subject: phpmyadmin working --- srcs/phpmyadmin/db_export.php | 173 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 srcs/phpmyadmin/db_export.php (limited to 'srcs/phpmyadmin/db_export.php') diff --git a/srcs/phpmyadmin/db_export.php b/srcs/phpmyadmin/db_export.php new file mode 100644 index 0000000..44a2643 --- /dev/null +++ b/srcs/phpmyadmin/db_export.php @@ -0,0 +1,173 @@ +get(Response::class); + +/** @var DatabaseInterface $dbi */ +$dbi = $containerBuilder->get(DatabaseInterface::class); + +PageSettings::showGroup('Export'); + +$header = $response->getHeader(); +$scripts = $header->getScripts(); +$scripts->addFile('export.js'); + +/** @var Export $export */ +$export = $containerBuilder->get('export'); + +// $sub_part is used in Util::getDbInfo() to see if we are coming from +// db_export.php, in which case we don't obey $cfg['MaxTableList'] +$sub_part = '_export'; +require_once ROOT_PATH . 'libraries/db_common.inc.php'; +$url_query .= '&goto=db_export.php'; + +list( + $tables, + $num_tables, + $total_num_tables, + $sub_part, + $is_show_stats, + $db_is_system_schema, + $tooltip_truename, + $tooltip_aliasname, + $pos +) = Util::getDbInfo($db, $sub_part === null ? '' : $sub_part); + +/** + * Displays the form + */ +$export_page_title = __('View dump (schema) of database'); + +// exit if no tables in db found +if ($num_tables < 1) { + $response->addHTML( + Message::error(__('No tables found in database.'))->getDisplay() + ); + exit; +} // end if + +$multi_values = '
'; +if (isset($_POST['structure_or_data_forced'])) { + $force_val = htmlspecialchars($_POST['structure_or_data_forced']); +} else { + $force_val = 0; +} +$multi_values .= ''; +$multi_values .= '' + . '' + . '' + . '' + . '' + . '' + . '' + . '' + . '' + . '' + . '' + . ''; +$multi_values .= "\n"; + +// when called by libraries/mult_submits.inc.php +if (! empty($_POST['selected_tbl']) && empty($table_select)) { + $table_select = $_POST['selected_tbl']; +} + +foreach ($tables as $each_table) { + if (isset($_POST['table_select']) && is_array($_POST['table_select'])) { + $is_checked = $export->getCheckedClause( + $each_table['Name'], + $_POST['table_select'] + ); + } elseif (isset($table_select)) { + $is_checked = $export->getCheckedClause( + $each_table['Name'], + $table_select + ); + } else { + $is_checked = ' checked="checked"'; + } + if (isset($_POST['table_structure']) && is_array($_POST['table_structure'])) { + $structure_checked = $export->getCheckedClause( + $each_table['Name'], + $_POST['table_structure'] + ); + } else { + $structure_checked = $is_checked; + } + if (isset($_POST['table_data']) && is_array($_POST['table_data'])) { + $data_checked = $export->getCheckedClause( + $each_table['Name'], + $_POST['table_data'] + ); + } else { + $data_checked = $is_checked; + } + $table_html = htmlspecialchars($each_table['Name']); + $multi_values .= ''; + $multi_values .= ''; + $multi_values .= ''; + $multi_values .= ''; + $multi_values .= ''; + $multi_values .= ''; +} // end for + +$multi_values .= "\n"; +$multi_values .= '
' . __('Tables') . '' . __('Structure') . '' . __('Data') . '
' . __('Select all') . '' + . '' + . '
' + . str_replace(' ', ' ', $table_html) . '' + . '' + . '
'; + +if (! isset($sql_query)) { + $sql_query = ''; +} +if (! isset($num_tables)) { + $num_tables = 0; +} +if (! isset($unlim_num_rows)) { + $unlim_num_rows = 0; +} +if ($multi_values === null) { + $multi_values = ''; +} +$response = Response::getInstance(); +$displayExport = new DisplayExport(); +$response->addHTML( + $displayExport->getDisplay( + 'database', + $db, + $table, + $sql_query, + $num_tables, + $unlim_num_rows, + $multi_values + ) +); -- cgit