export = $export; } /** * @return void */ public function index(): void { global $db, $table, $url_query, $sub_part, $url_params, $sql_query; global $tables, $num_tables, $total_num_tables, $is_show_stats, $db_is_system_schema, $tooltip_truename; global $tooltip_aliasname, $pos, $export_page_title, $multi_values, $force_val, $table_select, $unlim_num_rows; PageSettings::showGroup('Export'); $header = $this->response->getHeader(); $scripts = $header->getScripts(); $scripts->addFile('export.js'); // $sub_part is used in Util::getDbInfo() to see if we are coming from // /database/export, in which case we don't obey $cfg['MaxTableList'] $sub_part = '_export'; require_once ROOT_PATH . 'libraries/db_common.inc.php'; $url_params['goto'] = Url::getFromRoute('/database/export'); $url_query .= Url::getCommon($url_params, '&'); 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 ?? ''); /** * Displays the form */ $export_page_title = __('View dump (schema) of database'); // exit if no tables in db found if ($num_tables < 1) { $this->response->addHTML( Message::error(__('No tables found in database.'))->getDisplay() ); return; } // 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 = $this->export->getCheckedClause( $each_table['Name'], $_POST['table_select'] ); } elseif (isset($table_select)) { $is_checked = $this->export->getCheckedClause( $each_table['Name'], $table_select ); } else { $is_checked = ' checked="checked"'; } if (isset($_POST['table_structure']) && is_array($_POST['table_structure'])) { $structure_checked = $this->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 = $this->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; } $displayExport = new DisplayExport(); $this->response->addHTML( $displayExport->getDisplay( 'database', $db, $table, $sql_query, $num_tables, $unlim_num_rows, $multi_values ) ); } }