is used
*/
if (isset($_REQUEST['submit_mult_change_x'])) {
$submit_mult = 'change';
} elseif (isset($_REQUEST['submit_mult_drop_x'])) {
$submit_mult = 'drop';
} elseif (isset($_REQUEST['submit_mult_primary_x'])) {
$submit_mult = 'primary';
} elseif (isset($_REQUEST['submit_mult_index_x'])) {
$submit_mult = 'index';
} elseif (isset($_REQUEST['submit_mult_unique_x'])) {
$submit_mult = 'unique';
} elseif (isset($_REQUEST['submit_mult_fulltext_x'])) {
$submit_mult = 'ftext';
} elseif (isset($_REQUEST['submit_mult_browse_x'])) {
$submit_mult = 'browse';
} elseif (isset($_REQUEST['submit_mult'])) {
$submit_mult = $_REQUEST['submit_mult'];
} elseif (isset($_REQUEST['mult_btn']) && $_REQUEST['mult_btn'] == __('Yes')) {
$submit_mult = 'row_delete';
if (isset($_REQUEST['selected'])) {
$_REQUEST['selected_fld'] = $_REQUEST['selected'];
}
}
if (! empty($submit_mult) && isset($_REQUEST['selected_fld'])) {
$err_url = 'tbl_structure.php?' . PMA_generate_common_url($db, $table);
if ($submit_mult == 'browse') {
// browsing the table displaying only selected fields/columns
$GLOBALS['active_page'] = 'sql.php';
$sql_query = '';
foreach ($_REQUEST['selected_fld'] as $idx => $sval) {
if ($sql_query == '') {
$sql_query .= 'SELECT ' . PMA_backquote($sval);
} else {
$sql_query .= ', ' . PMA_backquote($sval);
}
}
// what is this htmlspecialchars() for??
//$sql_query .= ' FROM ' . PMA_backquote(htmlspecialchars($table));
$sql_query .= ' FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table);
require './sql.php';
exit;
} else {
// handle multiple field commands
// handle confirmation of deleting multiple fields/columns
$action = 'tbl_structure.php';
require './libraries/mult_submits.inc.php';
//require_once './libraries/header.inc.php';
//require_once './libraries/tbl_links.inc.php';
if (empty($message)) {
$message = PMA_Message::success();
}
}
}
/**
* Gets the relation settings
*/
$cfgRelation = PMA_getRelationsParam();
/**
* Runs common work
*/
require_once './libraries/tbl_common.php';
$url_query .= '&goto=tbl_structure.php&back=tbl_structure.php';
$url_params['goto'] = 'tbl_structure.php';
$url_params['back'] = 'tbl_structure.php';
/**
* Prepares the table structure display
*/
/**
* Gets tables informations
*/
require_once './libraries/tbl_info.inc.php';
/**
* Displays top menu links
*/
require_once './libraries/tbl_links.inc.php';
require_once './libraries/Index.class.php';
// 2. Gets table keys and retains them
// @todo should be: $server->db($db)->table($table)->primary()
$primary = PMA_Index::getPrimary($table, $db);
$columns_with_unique_index = array();
foreach (PMA_Index::getFromTable($table, $db) as $index) {
if ($index->isUnique() && $index->getChoice() == 'UNIQUE') {
$columns = $index->getColumns();
foreach ($columns as $column_name => $dummy) {
$columns_with_unique_index[$column_name] = 1;
}
}
}
unset($index, $columns, $column_name, $dummy);
// 3. Get fields
$fields_rs = PMA_DRIZZLE
? PMA_DBI_query('SHOW COLUMNS FROM ' . PMA_backquote($table) . ';', null, PMA_DBI_QUERY_STORE)
: PMA_DBI_query('SHOW FULL FIELDS FROM ' . PMA_backquote($table) . ';', null, PMA_DBI_QUERY_STORE);
$fields_cnt = PMA_DBI_num_rows($fields_rs);
// Get more complete field information
// For now, this is done just for MySQL 4.1.2+ new TIMESTAMP options
// but later, if the analyser returns more information, it
// could be executed for any MySQL version and replace
// the info given by SHOW FULL FIELDS FROM.
//
// We also need this to correctly learn if a TIMESTAMP is NOT NULL, since
// SHOW FULL FIELDS or INFORMATION_SCHEMA incorrectly says NULL
// and SHOW CREATE TABLE says NOT NULL (tested
// in MySQL 4.0.25 and 5.0.21, http://bugs.mysql.com/20910).
$show_create_table = PMA_DBI_fetch_value(
'SHOW CREATE TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table),
0, 1);
$analyzed_sql = PMA_SQP_analyze(PMA_SQP_parse($show_create_table));
/**
* prepare table infos
*/
// action titles (image or string)
$titles = array();
$titles['Change'] = PMA_getIcon('b_edit.png', __('Change'), true);
$titles['Drop'] = PMA_getIcon('b_drop.png', __('Drop'), true);
$titles['NoDrop'] = PMA_getIcon('b_drop.png', __('Drop'), true);
$titles['Primary'] = PMA_getIcon('b_primary.png', __('Primary'), true);
$titles['Index'] = PMA_getIcon('b_index.png', __('Index'), true);
$titles['Unique'] = PMA_getIcon('b_unique.png', __('Unique'), true);
$titles['IdxFulltext'] = PMA_getIcon('b_ftext.png', __('Fulltext'), true);
$titles['NoPrimary'] = PMA_getIcon('bd_primary.png', __('Primary'), true);
$titles['NoIndex'] = PMA_getIcon('bd_index.png', __('Index'), true);
$titles['NoUnique'] = PMA_getIcon('bd_unique.png', __('Unique'), true);
$titles['NoIdxFulltext'] = PMA_getIcon('bd_ftext.png', __('Fulltext'), true);
$titles['BrowseDistinctValues'] = PMA_getIcon('b_browse.png', __('Browse distinct values'), true);
// hidden action titles (image and string)
$hidden_titles = array();
$hidden_titles['BrowseDistinctValues'] = PMA_getIcon('b_browse.png', __('Browse distinct values'), false, true);
$hidden_titles['Primary'] = PMA_getIcon('b_primary.png', __('Add primary key'), false, true);
$hidden_titles['NoPrimary'] = PMA_getIcon('bd_primary.png', __('Add primary key'), false, true);
$hidden_titles['Index'] = PMA_getIcon('b_index.png', __('Add index'), false, true);
$hidden_titles['NoIndex'] = PMA_getIcon('bd_index.png', __('Add index'), false, true);
$hidden_titles['Unique'] = PMA_getIcon('b_unique.png', __('Add unique index'), false, true);
$hidden_titles['NoUnique'] = PMA_getIcon('bd_unique.png', __('Add unique index'), false, true);
$hidden_titles['IdxFulltext'] = PMA_getIcon('b_ftext.png', __('Add FULLTEXT index'), false, true);
$hidden_titles['NoIdxFulltext'] = PMA_getIcon('bd_ftext.png', __('Add FULLTEXT index'), false, true);
/**
* Displays the table structure ('show table' works correct since 3.23.03)
*/
/* TABLE INFORMATION */
// table header
$i = 0;
?>
';
}
echo __('Print view');
?>
';
}
echo __('Relation view');
?>
';
}
echo __('Propose table structure');
?>';
if ($cfg['PropertiesIconic'])
{
echo '
';
}
echo __('Track table') . '';
}
?>
20) {
require './libraries/tbl_links.inc.php';
} // end if ($fields_cnt > 20)
/**
* Displays indexes
*/
if (! $tbl_is_view && ! $db_is_information_schema && 'ARCHIVE' != $tbl_type) {
/**
* Display indexes
*/
echo PMA_Index::getView($table, $db);
?>
0) {
list($free_size, $free_unit) = PMA_formatByteDown($showtable['Data_free'], $max_digits, $decimals);
list($effect_size, $effect_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length'] - $showtable['Data_free'], $max_digits, $decimals);
} else {
list($effect_size, $effect_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length'], $max_digits, $decimals);
}
list($tot_size, $tot_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length'], $max_digits, $decimals);
if ($table_info_num_rows > 0) {
list($avg_size, $avg_unit) = PMA_formatByteDown(($showtable['Data_length'] + $showtable['Index_length']) / $showtable['Rows'], 6, 1);
}
// Displays them
$odd_row = false;
?>
|
|
|
|
|
|
|
' . $tbl_collation . '';
?> |
|
|
0) {
?>
ø |
|
0 && $mergetable == false) {
?>
ø |
|
Autoindex |
|
|
|
|
|
|
|
' . "\n";
/**
* Displays the footer
*/
require './libraries/footer.inc.php';
?>