Merge remote-tracking branch 'origin/master'

This commit is contained in:
Weblate 2015-07-26 21:50:44 +02:00
commit 9bded6fcfb
24 changed files with 1236 additions and 1886 deletions

View File

@ -127,8 +127,11 @@ $response->addHTML(
$response->addHTML(PMA_URL_getHiddenInputs($db));
$response->addHTML(
PMA_tableHeader(
$db_is_system_schema, $GLOBALS['replication_info']['slave']['status']
PMA\Template::get('structure/table_header')->render(
array(
'db_is_system_schema' => $db_is_system_schema,
'replication' => $GLOBALS['replication_info']['slave']['status']
)
)
);
@ -265,7 +268,12 @@ foreach ($tables as $keyname => $current_table) {
);
$response->addHTML(
PMA_tableHeader(false, $GLOBALS['replication_info']['slave']['status'])
PMA\Template::get('structure/table_header')->render(
array(
'db_is_system_schema' => false,
'replication' => $GLOBALS['replication_info']['slave']['status']
)
)
);
}
@ -311,19 +319,34 @@ foreach ($tables as $keyname => $current_table) {
// Show Summary
$response->addHTML('</tbody>');
$response->addHTML(
PMA_getHtmlBodyForTableSummary(
$num_tables, $GLOBALS['replication_info']['slave']['status'],
$db_is_system_schema, $sum_entries, $db_collation, $is_show_stats, $sum_size,
$overhead_size, $create_time_all, $update_time_all, $check_time_all,
$overall_approx_rows
PMA\Template::get('structure/body_for_table_summary')->render(
array(
'num_tables' => $num_tables,
'server_slave_status' => $GLOBALS['replication_info']['slave']['status'],
'db_is_system_schema' => $db_is_system_schema,
'sum_entries' => $sum_entries,
'db_collation' => $db_collation,
'is_show_stats' => $is_show_stats,
'sum_size' => $sum_size,
'overhead_size' => $overhead_size,
'create_time_all' => $create_time_all,
'update_time_all' => $update_time_all,
'check_time_all' => $check_time_all,
'approx_rows' => $overall_approx_rows
)
)
);
$response->addHTML('</table>');
//check all
$response->addHTML(
PMA_getHtmlForCheckAllTables(
$pmaThemeImage, $text_dir, $overhead_check,
$db_is_system_schema, $hidden_fields
PMA\Template::get('structure/check_all_tables')->render(
array(
'pmaThemeImage' => $pmaThemeImage,
'text_dir' => $text_dir,
'overhead_check' => $overhead_check,
'db_is_system_schema' => $db_is_system_schema,
'hidden_fields' => $hidden_fields
)
)
);
$response->addHTML('</form>'); //end of form
@ -344,8 +367,9 @@ $response->addHTML('</div><hr />');
/* DATABASE WORK */
/* Printable view of a table */
$response->addHTML(
PMA_getHtmlForTablePrintViewLink()
. PMA_getHtmlForDataDictionaryLink($url_query)
PMA\Template::get('structure/print_view_data_dictionary_link')->render(
array('url_query' => $url_query)
)
);
PMA_possiblyShowCreateTableDialog($db, $db_is_system_schema, $response);

View File

@ -8,6 +8,7 @@
require_once 'libraries/common.inc.php';
require_once 'libraries/mysql_charsets.inc.php';
require_once 'libraries/Template.class.php';
require_once 'libraries/structure.lib.php';
require_once 'libraries/index.lib.php';
require_once 'libraries/tbl_info.inc.php';
@ -44,11 +45,12 @@ $response->addHTML($tabletype);
$tablestructure = '<table id="tablestructure" class="data topmargin">';
$response->addHTML($tablestructure);
$response->addHTML(
PMA_getHtmlForTableStructureHeader(
$db_is_system_schema,
$tbl_is_view
PMA\Template::get('structure/table_structure_header')->render(
array(
'db_is_system_schema' => $db_is_system_schema,
'tbl_is_view' => $tbl_is_view
)
)
);
@ -172,21 +174,41 @@ foreach ($fields as $row) {
$odd_row = !$odd_row;
$isInCentralColumns = in_array($row['Field'], $central_list) ? true : false;
$response->addHTML(
PMA_getHtmlTableStructureRow(
$row, $rownum, $displayed_field_name,
$class_for_type, $extracted_columnspec, $type_mime,
$field_charset, $attribute, $tbl_is_view,
$db_is_system_schema, $url_query, $field_encoded, $titles, $table
PMA\Template::get('structure/table_structure_row')->render(
array(
'row' => $row,
'rownum' => $rownum,
'displayed_field_name' => $displayed_field_name,
'type_nowrap' => $class_for_type,
'extracted_columnspec' => $extracted_columnspec,
'type_mime' => $type_mime,
'field_charset' => $field_charset,
'attribute' => $attribute,
'tbl_is_view' => $tbl_is_view,
'db_is_system_schema' => $db_is_system_schema,
'url_query' => $url_query,
'field_encoded' => $field_encoded,
'titles' => $titles,
'table' => $table
)
)
);
if (! $tbl_is_view && ! $db_is_system_schema) {
$response->addHTML(
PMA_getHtmlForActionsInTableStructure(
$type, $tbl_storage_engine, $primary,
$field_name, $url_query, $titles, $row, $rownum,
$columns_with_unique_index,
$isInCentralColumns
PMA\Template::get('structure/actions_in_table_structure')->render(
array(
'type' => $type,
'tbl_storage_engine' => $tbl_storage_engine,
'primary' => $primary,
'field_name' => $field_name,
'url_query' => $url_query,
'titles' => $titles,
'row' => $row,
'rownum' => $rownum,
'columns_with_unique_index' => $columns_with_unique_index,
'isInCentralColumns' => $isInCentralColumns
)
)
);
} // end if (! $tbl_is_view && ! $db_is_system_schema)
@ -199,9 +221,14 @@ foreach ($fields as $row) {
$response->addHTML('</tbody></table>');
$response->addHTML(
PMA_getHtmlForCheckAllTableColumn(
$pmaThemeImage, $text_dir, $tbl_is_view,
$db_is_system_schema, $tbl_storage_engine
PMA\Template::get('structure/check_all_table_column')->render(
array(
'pmaThemeImage' => $pmaThemeImage,
'text_dir' => $text_dir,
'tbl_is_view' => $tbl_is_view,
'db_is_system_schema' => $db_is_system_schema,
'tbl_storage_engine' => $tbl_storage_engine
)
)
);
@ -209,7 +236,7 @@ $response->addHTML(
'</form><hr class="print_ignore"/>'
);
$response->addHTML(
PMA_getHtmlDivForMoveColumnsDialog()
PMA\Template::get('structure/move_columns_dialog')->render()
);
/**
@ -222,8 +249,12 @@ if ($tbl_is_view) {
$response->addHTML(PMA_getHtmlForEditView($url_params));
}
$response->addHTML(
PMA_getHtmlForOptionalActionLinks(
$url_query, $tbl_is_view, $db_is_system_schema
PMA\Template::get('structure/optional_action_links')->render(
array(
'url_query' => $url_query,
'tbl_is_view' => $tbl_is_view,
'db_is_system_schema' => $db_is_system_schema
)
)
);
@ -231,7 +262,11 @@ $response->addHTML('</div>');
if (! $tbl_is_view && ! $db_is_system_schema) {
$response->addHTML('<br />');
$response->addHTML(PMA_getHtmlForAddColumn($columns_list));
$response->addHTML(PMA\Template::get('structure/add_column')->render(
array(
'columns_list' => $columns_list
)
));
}
/**

View File

@ -82,7 +82,12 @@ if (! empty($submit_mult)
exit;
break;
case 'show_create':
$show_create = PMA_getHtmlShowCreate($GLOBALS['db'], $selected);
$show_create = PMA\Template::get('structure/show_create')->render(
array(
'db' => $GLOBALS['db'],
'db_objects' => $selected
)
);
// Send response to client.
$response = PMA_Response::getInstance();
$response->addJSON('message', $show_create);

File diff suppressed because it is too large Load Diff

View File

@ -211,9 +211,6 @@ $create_table_fields = SqlParser\Utils\Table::getFields($stmt);
// action titles (image or string)
$titles = PMA_getActionTitlesArray();
// hidden action titles (image and string)
$hidden_titles = PMA_getHiddenTitlesArray();
//display table structure
require_once 'libraries/display_structure.inc.php';

View File

@ -0,0 +1,28 @@
<li class="<?php echo $class; ?>">
<?php if ($type == 'text'
|| $type == 'blob'
|| 'ARCHIVE' == $tbl_storage_engine
|| $hasField
): ?>
<?php echo $titles['No' . $action]; ?>
<?php else: ?>
<a rel="samepage" class="ajax add_key print_ignore
<?php if ($hasLinkClass): ?>
add_primary_key_anchor"
<?php elseif ($action=='Index'): ?>
add_index_anchor"
<?php elseif ($action=='Unique'): ?>
add_unique_anchor"
<?php elseif ($action=='Spatial'): ?>
add_spatial_anchor"
<?php else: ?>
"
<?php endif; ?> href="tbl_structure.php<?php echo $url_query; ?>&amp;add_key=1&amp;sql_query=<?php echo urlencode(
'ALTER TABLE ' . PMA_Util::backquote($GLOBALS['table'])
. ($isPrimary ? ($primary ? ' DROP PRIMARY KEY,' : '') : '')
. ' ' . $syntax . '('
. PMA_Util::backquote($row['Field']) . ');'); ?>&amp;message_to_show=<?php echo urlencode(sprintf($message, htmlspecialchars($row['Field']))); ?>" >
<?php echo $titles[$action]; ?>
</a>
<?php endif; ?>
</li>

View File

@ -0,0 +1,143 @@
<td class="print_ignore"><ul class="table-structure-actions resizable-menu">
<!-- Add primary -->
<?php
echo PMA\Template::get('structure/action_row_in_structure_table')->render(
array(
'type' => $type,
'tbl_storage_engine' => $tbl_storage_engine,
'class' => 'primary nowrap',
'hasField' => ($primary && $primary->hasColumn($field_name)),
'hasLinkClass' => true,
'url_query' => $url_query,
'primary' => $primary,
'syntax' => 'ADD PRIMARY KEY',
'message' => __('A primary key has been added on %s.'),
'action' => 'Primary',
'titles' => $titles,
'row' => $row,
'isPrimary' => true
)
);
?>
<!-- Add unique -->
<?php
echo PMA\Template::get('structure/action_row_in_structure_table')->render(
array(
'type' => $type,
'tbl_storage_engine' => $tbl_storage_engine,
'class' => 'add_unique unique nowrap',
'hasField' => in_array($field_name, $columns_with_unique_index),
'hasLinkClass' => false,
'url_query' => $url_query,
'primary' => $primary,
'syntax' => 'ADD UNIQUE',
'message' => __('An index has been added on %s.'),
'action' => 'Unique',
'titles' => $titles,
'row' => $row,
'isPrimary' => false
)
);
?>
<!-- Add index -->
<?php
echo PMA\Template::get('structure/action_row_in_structure_table')->render(
array(
'type' => $type,
'tbl_storage_engine' => $tbl_storage_engine,
'class' => 'add_index nowrap',
'hasField' => false,
'hasLinkClass' => false,
'url_query' => $url_query,
'primary' => $primary,
'syntax' => 'ADD INDEX',
'message' => __('An index has been added on %s.'),
'action' => 'Index',
'titles' => $titles,
'row' => $row,
'isPrimary' => false
)
);
?>
<?php if (!PMA_DRIZZLE): ?>
<!-- Add spatial -->
<?php
$spatial_types = array(
'geometry', 'point', 'linestring', 'polygon', 'multipoint',
'multilinestring', 'multipolygon', 'geomtrycollection'
);
echo PMA\Template::get('structure/action_row_in_structure_table')->render(
array(
'type' => $type,
'tbl_storage_engine' => $tbl_storage_engine,
'class' => 'spatial nowrap',
'hasField' => (! in_array($type, $spatial_types) || 'MYISAM' != $tbl_storage_engine),
'hasLinkClass' => false,
'url_query' => $url_query,
'primary' => $primary,
'syntax' => 'ADD SPATIAL',
'message' => __('An index has been added on %s.'),
'action' => 'Spatial',
'titles' => $titles,
'row' => $row,
'isPrimary' => false
)
);
?>
<!-- FULLTEXT is possible on TEXT, CHAR and VARCHAR -->
<li class="fulltext nowrap">
<?php if (! empty($tbl_storage_engine)
&& ($tbl_storage_engine == 'MYISAM'
|| $tbl_storage_engine == 'ARIA'
|| $tbl_storage_engine == 'MARIA'
|| ($tbl_storage_engine == 'INNODB' && PMA_MYSQL_INT_VERSION >= 50604))
&& (/*overload*/mb_strpos($type, 'text') !== false
|| /*overload*/mb_strpos($type, 'char') !== false)
): ?>
<a rel="samepage" class="ajax add_key add_fulltext_anchor" href="tbl_structure.php<?php echo $url_query; ?>&amp;add_key=1&amp;sql_query=<?php echo urlencode(
'ALTER TABLE ' . PMA_Util::backquote($GLOBALS['table'])
. ' ADD FULLTEXT(' . PMA_Util::backquote($row['Field'])
. ');'); ?>&amp;message_to_show=<?php echo urlencode(sprintf(
__('An index has been added on %s.'),
htmlspecialchars($row['Field']))); ?>">
<?php echo $titles['IdxFulltext']; ?>
</a>
<?php else: ?>
<?php echo $titles['NoIdxFulltext']; ?>
<?php endif; ?>
</li>
<?php endif; ?>
<!-- Distinct value action -->
<li class="browse nowrap">
<a href="sql.php<?php echo $url_query; ?>&amp;sql_query=<?php echo urlencode(
'SELECT COUNT(*) AS ' . PMA_Util::backquote(__('Rows'))
. ', ' . PMA_Util::backquote($row['Field'])
. ' FROM ' . PMA_Util::backquote($GLOBALS['table'])
. ' GROUP BY ' . PMA_Util::backquote($row['Field'])
. ' ORDER BY ' . PMA_Util::backquote($row['Field'])
); ?>&amp;is_browse_distinct=1">
<?php echo $titles['DistinctValues']; ?>
</a>
</li>
<?php if ($GLOBALS['cfgRelation']['centralcolumnswork']): ?>
<li class="browse nowrap">
<?php if ($isInCentralColumns): ?>
<a href="#" onclick=$("input:checkbox").prop("checked",false);
$("#checkbox_row_' . $rownum . '").prop("checked",true);
$("button[value=remove_from_central_columns]").click();>
<?php echo PMA_Util::getIcon(
'centralColumns_delete.png',
__('Remove from central columns')
); ?></a>
<?php else: ?>
<a href="#" onclick=$("input:checkbox").prop("checked",false);
$("#checkbox_row_' . $rownum . '").prop("checked",true);
$("button[value=add_to_central_columns]").click();>
<?php echo PMA_Util::getIcon(
'centralColumns_add.png',
__('Add to central columns')
); ?></a>
<?php endif; ?>
</li>
<?php endif; ?>
</ul></td>

View File

@ -0,0 +1,26 @@
<form method="post" action="tbl_addfield.php" id="addColumns" name="addColumns" onsubmit="return checkFormElementInRange(this, 'num_fields', '<?php echo str_replace('\'', '\\\'', __('You have to add at least one column.')); ?>', 1)">
<?php echo PMA_URL_getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); ?>
<?php if (PMA_Util::showIcons('ActionLinksMode')): ?>
<?php echo PMA_Util::getImage('b_insrow.png', __('Add column')); ?>&nbsp;
<?php endif; ?>
<input type="number" name="num_fields" value="1" onfocus="this.select()" min="1" required />
<?php echo printf(__('Add %s column(s)'), $num_fields); ?>
<input type="hidden" name="field_where" value="after"/>&nbsp;
<!-- I tried displaying the drop-down inside the label but with Firefox the drop-down was blinking -->
<select name="after_field" onchange="checkFirst()">
<option value="first" data-pos = "first">
<?php echo __('at beginning of table'); ?>
</option>
<?php $cols_count = count($columns_list);
foreach ($columns_list as $one_column_name): ?>
<?php if (--$cols_count == 0): ?>
<option value="<?php echo htmlspecialchars($one_column_name); ?>" selected="selected">
<?php else: ?>
<option value="<?php echo htmlspecialchars($one_column_name); ?>">
<?php endif; ?>
<?php echo printf(__('after %s'), htmlspecialchars($one_column_name)); ?>
</option>
<? endforeach; ?>
</select>
<input type="submit" value="<?php echo __('Go'); ?>" />
</form>

View File

@ -0,0 +1,84 @@
<tbody id="tbl_summary_row">
<tr>
<th class="print_ignore"></th>
<th class="tbl_num nowrap">
<?php
printf(_ngettext('%s table', '%s tables', $num_tables),
PMA_Util::formatNumber($num_tables, 0)); ?>
</th>
<?php if ($server_slave_status): ?>
<th> <?php echo __('Replication'); ?> </th>
<?php endif; ?>
<?php
$sum_colspan = ($db_is_system_schema ? 4 : 7);
if ($GLOBALS['cfg']['NumFavoriteTables'] == 0) {
$sum_colspan--;
} ?>
<th colspan="<?php echo $sum_colspan; ?>" class="print_ignore" ><?php echo __('Sum'); ?></th>
<?php
$row_count_sum = PMA_Util::formatNumber($sum_entries, 0);
// If a table shows approximate rows count, display update-all-real-count anchor.
$row_sum_url = array();
if (isset($approx_rows)) {
$row_sum_url = array(
'ajax_request' => true,
'db' => $GLOBALS['db'],
'real_row_count' => 'true',
'real_row_count_all' => 'true'
);
}
$cell_text = ($approx_rows)
? '<a href="db_structure.php' . PMA_URL_getCommon($row_sum_url)
. '" class="ajax row_count_sum">' . '~' . $row_count_sum . '</a>'
: $row_count_sum;
?>
<th class="value tbl_rows"><?php echo $cell_text; ?></th>
<?php if (!($GLOBALS['cfg']['PropertiesNumColumns'] > 1)): ?>
<?php $default_engine = $GLOBALS['dbi']->fetchValue(
'SHOW VARIABLES LIKE \'storage_engine\';',
0,
1
); ?>
<th class="center">
<dfn title="<?php printf(__('%s is the default storage engine on this MySQL server.'),
$default_engine); ?>"><?php echo $default_engine; ?></dfn>
</th>
<th>
<?php if (! empty($db_collation)): ?>
<dfn title="<?php echo PMA_getCollationDescr($db_collation) . ' (' . __('Default'). ')'; ?>"></dfn>
<?php endif; ?>
</th>
<?php endif; ?>
<?php if ($is_show_stats): ?>
<?php
list($sum_formatted, $unit) = PMA_Util::formatByteDown(
$sum_size, 3, 1
);
list($overhead_formatted, $overhead_unit)
= PMA_Util::formatByteDown($overhead_size, 3, 1);
?>
<th class="value tbl_size"><?php echo $sum_formatted . ' ' . $unit; ?></th>
<th class="value tbl_overhead"><?php $overhead_formatted . ' ' . $overhead_unit; ?></th>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureComment']): ?>
<th></th>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureCreation']): ?>
<th class="value tbl_creation">
<?php echo ($create_time_all
? PMA_Util::localisedDate(strtotime($create_time_all))
: '-'); ?>
</th>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureLastUpdate']): ?>
<th class="value tbl_last_update"><?php echo ($update_time_all
? PMA_Util::localisedDate(strtotime($update_time_all))
: '-'); ?></th>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureLastCheck']): ?>
<th class="value tbl_last_check"><?php echo ($check_time_all
? PMA_Util::localisedDate(strtotime($check_time_all))
: '-');?></th>
<?php endif; ?>
</tr>
</tbody>

View File

@ -0,0 +1,64 @@
<div class="print_ignore" >
<?php echo PMA_Util::getWithSelected($pmaThemeImage, $text_dir, "fieldsForm"); ?>
<?php echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_browse',
__('Browse'), 'b_browse.png', 'browse'
); ?>
<?php if (! $tbl_is_view && ! $db_is_system_schema): ?>
<?php echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit change_columns_anchor ajax',
'submit_mult_change', __('Change'), 'b_edit.png', 'change'
); ?>
<?php echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_drop',
__('Drop'), 'b_drop.png', 'drop'
); ?>
<?php if ('ARCHIVE' != $tbl_storage_engine): ?>
<?php
echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_primary',
__('Primary'), 'b_primary.png', 'primary'
);
echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_unique',
__('Unique'), 'b_unique.png', 'unique'
);
echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_index',
__('Index'), 'b_index.png', 'index'
);
?>
<?php if (! empty($tbl_storage_engine) && $tbl_storage_engine == 'MYISAM'): ?>
<?php echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_spatial',
__('Spatial'), 'b_spatial.png', 'spatial'
); ?>
<?php endif; ?>
<?php if (! empty($tbl_storage_engine)
&& ($tbl_storage_engine == 'MYISAM'
|| $tbl_storage_engine == 'ARIA'
|| $tbl_storage_engine == 'MARIA')): ?>
<?php echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_fulltext',
__('Fulltext'), 'b_ftext.png', 'ftext'
); ?>
<?php endif; ?>
<?php if ($GLOBALS['cfgRelation']['centralcolumnswork']): ?>
<?php
echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_central_columns_add',
__('Add to central columns'), 'centralColumns_add.png',
'add_to_central_columns');
echo PMA_Util::getButtonOrImage(
'submit_mult', 'mult_submit', 'submit_mult_central_columns_remove',
__('Remove from central columns'), 'centralColumns_delete.png',
'remove_from_central_columns'); ?>
<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
</div>

View File

@ -0,0 +1,43 @@
<div class="clearfloat print_ignore">
<img class="selectallarrow" src="<?php echo $pmaThemeImage . 'arrow_' . $text_dir . '.png'; ?>" width="38" height="22" alt="<?php __('With selected:'); ?>" />
<input type="checkbox" id="tablesForm_checkall" class="checkall_box" title="<?php echo __('Check All'); ?>" />
<label for="tablesForm_checkall"><?php echo __('Check All'); ?></label>
<?php if ($overhead_check != ''): ?>
/ <a href="#" onclick="unMarkAllRows('tablesForm')<?php echo $overhead_check; ?> return false;"><?php echo __('Check tables having overhead'); ?></a>
<?php endif; ?>
<select name="submit_mult" class="autosubmit" style="margin: 0 3em 0 3em;">
<option value="<?php echo __('With selected:'); ?>" selected="selected"><?php echo __('With selected:'); ?></option>
<option value="show_create" ><?php echo __('Show create'); ?></option>
<option value="export" ><?php echo __('Export'); ?></option>
<?php if (!$db_is_system_schema
&& !$GLOBALS['cfg']['DisableMultiTableMaintenance']): ?>
<optgroup label="<?php echo __('Delete data or table'); ?>">
<option value="empty_tbl" ><?php echo __('Empty'); ?></option>
<option value="drop_tbl" ><?php echo __('Drop'); ?></option>
</optgroup>
<optgroup label="<?php echo __('Table maintenance'); ?>">
<option value="analyze_tbl" ><?php echo __('Analyze table'); ?></option>
<option value="check_tbl" ><?php echo __('Check table'); ?></option>
<?php if (!PMA_DRIZZLE): ?>
<option value="checksum_tbl" ><?php echo __('Checksum table'); ?></option>
<option value="optimize_tbl" ><?php echo __('Optimize table'); ?></option>
<option value="repair_tbl" ><?php echo __('Repair table'); ?></option>
<?php endif; ?>
</optgroup>
<optgroup label="<?php echo __('Prefix'); ?>">
<option value="add_prefix_tbl" ><?php echo __('Add prefix to table'); ?></option>
<option value="replace_prefix_tbl" ><?php echo __('Replace table prefix'); ?></option>
<option value="copy_tbl_change_prefix" ><?php echo __('Copy table with prefix'); ?></option>
</optgroup>
<?php endif; ?>
<?php if (isset($GLOBALS['cfgRelation']['centralcolumnswork'])
&& $GLOBALS['cfgRelation']['centralcolumnswork']): ?>
<optgroup label="<?php echo __('Central columns'); ?>">
<option value="sync_unique_columns_central_list" ><?php echo __('Add columns to central list'); ?></option>
<option value="delete_unique_columns_central_list" ><?php echo __('Remove columns from central list'); ?></option>
<option value="make_consistent_with_central_list" ><?php echo __('Make consistent with central list'); ?></option>
</optgroup>
<?php endif; ?>
</select>
<?php echo implode("\n", $hidden_fields); ?>
</div>

View File

@ -0,0 +1,77 @@
<div id="tablestatistics">
<?php $odd_row = false; ?>
<fieldset>
<legend><?php echo __('Information'); ?></legend>
<a id="showusage"></a>
<?php if (! $tbl_is_view && ! $db_is_system_schema): ?>
<table id="tablespaceusage" class="data">
<caption class="tblHeaders"><?php echo __('Space usage'); ?></caption>
<tbody>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Data'); ?></th>
<td class="value"><?php echo $data_size; ?></td>
<td class="unit"><?php echo $data_unit; ?></td>
</tr>
<?php if (isset($index_size)): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Index'); ?></th>
<td class="value"><?php echo $index_size; ?></td>
<td class="unit"><?php echo $index_unit; ?></td>
</tr>
<?php endif; ?>
<?php if (isset($free_size)): ?>
<tr class="<?php echo ((!$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Overhead'); ?></th>
<td class="value"><?php echo $free_size; ?></td>
<td class="unit"><?php echo $free_unit; ?></td>
</tr>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Effective'); ?></th>
<td class="value"><?php echo $effect_size; ?></td>
<td class="unit"><?php echo $effect_unit; ?></td>
</tr>
<?php endif; ?>
<?php if (isset($tot_size) && $mergetable == false): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Total'); ?></th>
<td class="value"><?php echo $tot_size; ?></td>
<td class="unit"><?php echo $tot_unit; ?></td>
</tr>
<?php endif; ?>
<!-- Optimize link if overhead -->
<?php if (isset($free_size) && !PMA_DRIZZLE
&& ($tbl_storage_engine == 'MYISAM'
|| $tbl_storage_engine == 'ARIA'
|| $tbl_storage_engine == 'MARIA'
|| $tbl_storage_engine == 'BDB')): ?>
<tr class="tblFooters">
<td colspan="3" class="center">
<a href="sql.php<?php echo $url_query; ?>&pos=0&amp;sql_query=<?php echo urlencode(
'OPTIMIZE TABLE ' . PMA_Util::backquote($GLOBALS['table'])); ?>">
<?php echo PMA_Util::getIcon('b_tbloptimize.png', __('Optimize table')); ?>
</a>
</td>
</tr>
<?php endif; ?>
</tbody>
</table>
<?php endif; ?>
<?php
echo PMA\Template::get('structure/row_stats_table')->render(
array(
'showtable' => $showtable,
'tbl_collation' => $tbl_collation,
'is_innodb' => $is_innodb,
'mergetable' => $mergetable,
'avg_size' => (isset ($avg_size) ? $avg_size : ''),
'avg_unit' => (isset ($avg_unit) ? $avg_unit : '')
)
);
?>
</fieldset>
</div>

View File

@ -0,0 +1,15 @@
<a id="<?php echo md5($current_table['TABLE_NAME']); ?>_favorite_anchor" class="ajax favorite_table_anchor
<?php
// Check if current table is already in favorite list.
$already_favorite = PMA_checkFavoriteTable($db, $current_table['TABLE_NAME']);
$fav_params = array('db' => $db,
'ajax_request' => true,
'favorite_table' => $current_table['TABLE_NAME'],
(($already_favorite?'remove':'add') . '_favorite') => true
);
?>
" href="<?php echo 'db_structure.php' . PMA_URL_getCommon($fav_params); ?>" title="<?php echo
($already_favorite ? __("Remove from Favorites") : __("Add to Favorites")); ?>" data-favtargets="<?php echo
md5($db . "." . $current_table['TABLE_NAME']); ?>" >
<?php echo (!$already_favorite ? $titles['NoFavorite'] : $titles['Favorite']); ?>
</a>

View File

@ -0,0 +1,8 @@
<div id="move_columns_dialog" title="<?php echo __('Move columns'); ?>" style="display: none">
<p><?php echo __('Move the columns by dragging them up and down.'); ?></p>
<form action="tbl_structure.php">
<div><?php echo PMA_URL_getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); ?>
<ul></ul>
</div>
</form>
</div>

View File

@ -0,0 +1,32 @@
<a href="#" id="printView"><?php echo PMA_Util::getIcon('b_print.png', __('Print view'), true); ?></a>
<?php if (! $tbl_is_view && ! $db_is_system_schema): ?>
<?php if (!PMA_DRIZZLE): ?>
<a href="sql.php<?php echo $url_query; ?>&amp;session_max_rows=all&amp;sql_query=' . <?php echo urlencode(
'SELECT * FROM ' . PMA_Util::backquote($GLOBALS['table'])
. ' PROCEDURE ANALYSE()'
); ?>"><?php echo PMA_Util::getIcon(
'b_tblanalyse.png',
__('Propose table structure'),
true
); ?>
</a>
<?php echo PMA_Util::showMySQLDocu('procedure_analyse'); ?>
<?php endif; ?>
<?php if (PMA_Tracker::isActive()): ?>
<a href="tbl_tracking.php<?php echo $url_query; ?>">
<?php echo PMA_Util::getIcon('eye.png', __('Track table'), true); ?>
</a>
<?php endif; ?>
<a href="#" id="move_columns_anchor">
<?php echo PMA_Util::getIcon('b_move.png', __('Move columns'), true); ?>
</a>
<a href="normalization.php<?php echo $url_query; ?>">
<?php echo PMA_Util::getIcon('normalize.png', __('Improve table structure'), true); ?>
</a>
<?php endif; ?>
<?php if ($tbl_is_view && ! $db_is_system_schema): ?>
<?php if (PMA_Tracker::isActive()): ?>
<a href="tbl_tracking.php<?php echo $url_query; ?>">
<?php echo PMA_Util::getIcon('eye.png', __('Track view'), true); ?>
</a>
<?php endif; ?>

View File

@ -0,0 +1,7 @@
<p class="print_ignore">
<a href="#" id="printView">
<?php echo PMA_Util::getIcon('b_print.png', __('Print view'), true); ?>
</a>
<a href="db_datadict.php<?php echo $url_query; ?>" target="print_view">
<?php echo PMA_Util::getIcon('b_tblanalyse.png', __('Data Dictionary'), true); ?></a>
</p>

View File

@ -0,0 +1,99 @@
<?php $odd_row = false; ?>
<table id="tablerowstats" class="data">
<caption class="tblHeaders"><?php echo __('Row statistics'); ?></caption>
<tbody>
<?php if (isset($showtable['Row_format'])): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Format'); ?></th>
<?php if ($showtable['Row_format'] == 'Fixed'): ?>
<td class="value"><?php echo __('static'); ?></td>
<?php elseif ($showtable['Row_format'] == 'Dynamic'): ?>
<td class="value"><?php echo __('dynamic'); ?></td>
<?php else: ?>
<td class="value"><?php echo $showtable['Row_format']; ?></td>
<?php endif; ?>
</tr>
<?php endif; ?>
<?php if (! empty($showtable['Create_options'])): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Options'); ?></th>
<?php if ($showtable['Create_options'] == 'partitioned'): ?>
<td class="value"><?php echo __('partitioned'); ?></td>
<?php else: ?>
<td class="value"><?php echo $showtable['Create_options']; ?></td>
<?php endif; ?>
</tr>
<?php endif; ?>
<?php if (!empty($tbl_collation)): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Collation'); ?></th>
<td class="value">
<dfn title="<?php echo PMA_getCollationDescr($tbl_collation); ?>">
<?php echo $tbl_collation; ?>
</dfn>
</td>
</tr>
<?php endif; ?>
<?php if (!$is_innodb && isset($showtable['Rows'])): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Rows'); ?></th>
<td class="value"><?php echo PMA_Util::formatNumber($showtable['Rows'], 0); ?></td>
</tr>
<?php endif; ?>
<?php if (!$is_innodb
&& isset($showtable['Avg_row_length'])
&& $showtable['Avg_row_length'] > 0
): ?>
<?php list($avg_row_length_value, $avg_row_length_unit)
= PMA_Util::formatByteDown($showtable['Avg_row_length'], 6, 1); ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Row length'); ?></th>
<td class="value"><?php echo ($avg_row_length_value . ' ' . $avg_row_length_unit); ?></td>
</tr>
<?php unset($avg_row_length_value, $avg_row_length_unit); ?>
<?php endif; ?>
<?php if (!$is_innodb
&& isset($showtable['Data_length'])
&& isset($showtable['Rows'])
&& $showtable['Rows'] > 0
&& $mergetable == false): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Row size'); ?></th>
<td class="value"><?php echo ($avg_size . ' ' . $avg_unit); ?></td>
</tr>
<?php endif; ?>
<?php if (isset($showtable['Auto_increment'])): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Next autoindex'); ?></th>
<td class="value"><?php echo PMA_Util::formatNumber($showtable['Auto_increment'], 0); ?></td>
</tr>
<?php endif; ?>
<?php if (isset($showtable['Create_time'])): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Creation'); ?></th>
<td class="value"><?php echo PMA_Util::localisedDate(strtotime($showtable['Create_time'])); ?></td>
</tr>
<?php endif; ?>
<?php if (isset($showtable['Update_time'])): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Last update'); ?></th>
<td class="value"><?php echo PMA_Util::localisedDate(strtotime($showtable['Update_time'])); ?></td>
</tr>
<?php endif; ?>
<?php if (isset($showtable['Check_time'])): ?>
<tr class="<?php echo (($odd_row = !$odd_row) ? 'odd' : 'even'); ?>">
<th class="name"><?php echo __('Last check'); ?></th>
<td class="value"><?php echo PMA_Util::localisedDate(strtotime($showtable['Check_time'])); ?></td>
</tr>
<?php endif; ?>
</tbody>
</table>

View File

@ -0,0 +1,37 @@
<div class="show_create_results">
<h2><?php echo __('Showing create queries'); ?></h2>
<?php
$views = array();
$tables = array();
foreach ($db_objects as $object) {
if ($GLOBALS['dbi']->getTable($db, $object)->isView()) {
$views [] = $object;
} else {
$tables [] = $object;
}
}
?>
<?php if (! empty($tables)): ?>
<?php
echo PMA\Template::get('structure/show_create_row')->render(
array(
'title' => __('Tables'),
'raw_title' => 'Table',
'db_objects' => $tables
)
);
?>
<?php endif; ?>
<?php if (! empty($views)): ?>
<?php
echo PMA\Template::get('structure/show_create_row')->render(
array(
'title' => __('Views'),
'raw_title' => 'View',
'db_objects' => $views
)
);
?>
<?php endif; ?>
</div>

View File

@ -0,0 +1,22 @@
<fieldset>
<legend><?php echo $title; ?></legend>
<table class="show_create">
<thead>
<tr>
<th><?php echo $raw_title; ?></th>
<th>Create <?php echo $raw_title; ?></th>
</tr>
</thead>
<tbody>
<?php $odd = true; ?>
<?php foreach ($db_objects as $object): ?>
<?php $row_class = ($odd) ? 'odd' : 'even'; ?>
<tr class="<?php echo $row_class; ?>">
<td><strong><?php echo PMA_mimeDefaultFunction($object); ?></strong></td>
<td><?php echo PMA_mimeDefaultFunction($GLOBALS['dbi']->getTable($db, $object)->showCreate()); ?></td>
</tr>
<?php $odd = ! $odd; ?>
<?php endforeach; ?>
</tbody>
</table>
</fieldset>

View File

@ -0,0 +1,186 @@
<tr class="<?php echo $odd_row ? 'odd' : 'even'; ?> <?php if ($table_is_view) echo 'is_view'; ?>"
id="row_tbl_<?php echo $curr; ?>">
<td class="center print_ignore">
<input type="checkbox"
name="selected_tbl[]"
class="checkall"
value="<?php echo htmlspecialchars($current_table['TABLE_NAME']); ?>"
id="checkbox_tbl_<?php echo $curr; ?>" />
</td>
<th>
<?php echo $browse_table_label . $tracking_icon; ?>
</th>
<?php if ($server_slave_status): ?>
<td class="center">
<?php echo ($ignored ? PMA_Util::getImage('s_cancel.png', 'NOT REPLICATED') : ''); ?>
<?php echo ($do ? PMA_Util::getImage('s_success.png', 'REPLICATED') : ''); ?>
</td>
<?php endif; ?>
<?php
//Favorite table anchor.
?>
<?php if ($GLOBALS['cfg']['NumFavoriteTables'] > 0): ?>
<td class="center print_ignore">
<?php echo PMA\Template::get('structure/favorite_anchor')->render(
array(
'db' => $db,
'current_table' => $current_table,
'titles' => $titles
)
); ?>
</td>
<?php endif; ?>
<td class="center print_ignore">
<?php echo $browse_table; ?>
</td>
<td class="center print_ignore">
<a href="tbl_structure.php<?php echo $tbl_url_query; ?>">
<?php echo $titles['Structure']; ?>
</a>
</td>
<td class="center print_ignore">
<?php echo $search_table; ?>
</td>
<?php if (!$db_is_system_schema): ?>
<td class="insert_table center print_ignore">
<a href="tbl_change.php<?php echo $tbl_url_query; ?>"><?php echo $titles['Insert']; ?></a>
</td>
<td class="center print_ignore"><?php echo $empty_table; ?></td>
<td class="center print_ignore">
<a class="ajax drop_table_anchor <?php if ($table_is_view || $current_table['ENGINE'] == null) echo 'view'; ?>"
href="sql.php<?php echo $tbl_url_query; ?>&amp;reload=1&amp;purge=1&amp;sql_query=<?php echo urlencode($drop_query); ?>&amp;message_to_show=<?php echo urlencode($drop_message); ?>" >
<?php echo $titles['Drop']; ?>
</a>
</td>
<?php endif; ?>
<?php if (isset($current_table['TABLE_ROWS']) &&
($current_table['ENGINE'] != null || $table_is_view)): ?>
<?php
// Get the row count.
$row_count = PMA_Util::formatNumber($current_table['TABLE_ROWS'], 0);
// Content to be appended into 'tbl_rows' cell.
// If row count is approximate, display it as an anchor to get real count.
?>
<td class="value tbl_rows"
data-table="<?php echo htmlspecialchars($current_table['TABLE_NAME']); ?>">
<?php if ($approx_rows): ?>
<a href="db_structure.php<?php echo PMA_URL_getCommon(
array(
'ajax_request' => true,
'db' => $GLOBALS['db'],
'table' => $current_table['TABLE_NAME'],
'real_row_count' => 'true'
)
); ?>" class="ajax real_row_count">
<bdi>
~<?php echo $row_count; ?>
</bdi>
</a>
<?php else: ?>
<?php echo $row_count; ?>
<?php endif; ?>
<?php echo $show_superscript; ?>
</td>
<?php if (!($GLOBALS['cfg']['PropertiesNumColumns'] > 1)): ?>
<td class="nowrap">
<?php if (!empty($current_table['ENGINE'])): ?>
<?php echo $current_table['ENGINE']; ?>
<?php elseif ($table_is_view): ?>
<?php echo __('View'); ?>
<?php endif; ?>
</td>
<?php if (/*overload*/mb_strlen($collation)): ?>
<td class="nowrap">
<?php echo $collation; ?>
</td>
<?php endif; ?>
<?php endif; ?>
<?php if ($is_show_stats): ?>
<td class="value tbl_size">
<a href="tbl_structure.php<?php echo $tbl_url_query ?>#showusage">
<span><?php echo $formatted_size; ?></span>
<span class="unit"><?php $unit; ?></span>
</a>
</td>
<td class="value tbl_overhead">
<?php echo $overhead; ?>
</td>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureComment']): ?>
<?php $comment = $current_table['Comment']; ?>
<td>
<?php if (/*overload*/mb_strlen($comment) > $GLOBALS['cfg']['LimitChars']): ?>
<abbr title="<?php echo htmlspecialchars($comment); ?>">
<?php echo htmlspecialchars(
/*overload*/mb_substr(
$comment, 0, $GLOBALS['cfg']['LimitChars']
)
); ?>
...
</abbr>
<?php else: ?>
<?php echo htmlspecialchars($comment); ?>
<?php endif; ?>
</td>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureCreation']): ?>
<td class="value tbl_creation">
<?php $create_time ? PMA_Util::localisedDate(strtotime($create_time)) : '-'; ?>
</td>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureLastUpdate']): ?>
<td class="value tbl_last_update">
<?php $update_time ? PMA_Util::localisedDate(strtotime($update_time)) : '-'; ?>
</td>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureLastCheck']): ?>
<td class="value tbl_last_check">
<?php $check_time ? PMA_Util::localisedDate(strtotime($check_time)) : '-'; ?>
</td>
<?php endif; ?>
<?php elseif ($table_is_view): ?>
<td class="value tbl_rows">-</td>
<td class="nowrap">
<?php echo __('View'); ?>
</td>
<td class="nowrap">---</td>
<?php if ($is_show_stats): ?>
<td class="value tbl_size">-</td>
<td class="value tbl_overhead">-</td>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureComment']): ?>
<td></td>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureCreation']): ?>
<td class="value tbl_creation">-</td>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureLastUpdate']): ?>
<td class="value tbl_last_update">-</td>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureLastCheck']): ?>
<td class="value tbl_last_check">-</td>
<?php endif; ?>
<?php else: ?>
<td colspan="<?php echo $colspan_for_structure - ($db_is_system_schema ? 6 : 9); ?>"
class="center">
<?php echo __('in use'); ?>
</td>
<?php endif; ?>
</tr>

View File

@ -0,0 +1,65 @@
<?php
$cnt = 0; // Let's count the columns...
if ($db_is_system_schema) {
$action_colspan = 3;
} else {
$action_colspan = 6;
}
if ($GLOBALS['cfg']['NumFavoriteTables'] > 0) {
$action_colspan++;
}
?>
<table class="data">
<thead>
<tr>
<th class="print_ignore"></th>
<th><?php echo PMA_sortableTableHeader(__('Table'), 'table'); ?></th>
<?php if ($replication): ?>
<th><?php echo __('Replication'); ?></th>
<?php endif; ?>
<th colspan="<?php echo $action_colspan; ?>" class="print_ignore">
<?php echo __('Action'); ?>
</th>
<!-- larger values are more interesting so default sort order is DESC-->
<th>
<?php echo PMA_sortableTableHeader(__('Rows'), 'records', 'DESC'); ?>
<?php echo PMA_Util::showHint(PMA_sanitize(
__('May be approximate. Click on the number to get the exact'
. ' count. See [doc@faq3-11]FAQ 3.11[/doc].'))); ?>
</th>
<?php if (!($GLOBALS['cfg']['PropertiesNumColumns'] > 1)): ?>
<th><?php echo PMA_sortableTableHeader(__('Type'), 'type'); $cnt++; ?></th>
<th><?php echo PMA_sortableTableHeader(__('Collation'), 'collation'); $cnt++; ?></th>
<?php endif; ?>
<?php if ($GLOBALS['is_show_stats']): ?>
<!-- larger values are more interesting so default sort order is DESC -->
<th><?php echo PMA_sortableTableHeader(__('Size'), 'size', 'DESC'); $cnt++; ?></th>
<!-- larger values are more interesting so default sort order is DESC -->
<th><?php echo PMA_sortableTableHeader(__('Overhead'), 'overhead', 'DESC'); $cnt++; ?></th>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureComment']): ?>
<th><?php echo PMA_sortableTableHeader(__('Comment'), 'comment'); $cnt++; ?></th>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureCreation']): ?>
<!-- newer values are more interesting so default sort order is DESC -->
<th><?php echo PMA_sortableTableHeader(__('Creation'), 'creation', 'DESC'); $cnt++; ?></th>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureLastUpdate']): ?>
<!-- newer values are more interesting so default sort order is DESC -->
<th><?php echo PMA_sortableTableHeader(__('Last update'), 'last_update', 'DESC'); $cnt++; ?></th>
<?php endif; ?>
<?php if ($GLOBALS['cfg']['ShowDbStructureLastCheck']): ?>
<!-- newer values are more interesting so default sort order is DESC -->
<th><?php echo PMA_sortableTableHeader(__('Last check'), 'last_check', 'DESC'); $cnt++; ?></th>
<?php endif; ?>
</tr>
</thead>
<tbody>
<?php $GLOBALS['colspan_for_structure'] = $cnt + $action_colspan + 3; ?>

View File

@ -0,0 +1,26 @@
<thead>
<tr>
<th class="print_ignore"></th>
<th>#</th>
<th><?php echo __('Name'); ?></th>
<th><?php echo __('Type'); ?></th>
<th><?php echo __('Collation'); ?></th>
<th><?php echo __('Attributes'); ?></th>
<th><?php echo __('Null'); ?></th>
<th><?php echo __('Default'); ?></th>
<th><?php echo __('Extra'); ?></th>
<!-- see tbl_structure.js, function moreOptsMenuResize() -->
<?php if (! $db_is_system_schema && ! $tbl_is_view): ?>
<?php
$colspan = 9;
if (PMA_DRIZZLE) {
$colspan -= 2;
}
if (PMA_Util::showIcons('ActionLinksMode')) {
$colspan--;
}
?>
<th colspan="<?php echo $colspan; ?>" class="action print_ignore"><?php echo __('Action'); ?></th>
<?php endif; ?>
</tr>
</thead>

View File

@ -0,0 +1,45 @@
<td class="center print_ignore">
<input type="checkbox" class="checkall" name="selected_fld[]" value="<?php echo htmlspecialchars($row['Field']); ?>" id="checkbox_row_<?php echo $rownum; ?>"/>
</td>
<td class="right"><?php echo $rownum; ?></td>
<th class="nowrap">
<label for="checkbox_row_<?php echo $rownum; ?>">
<?php echo preg_replace('/[\x00-\x1F]/', '&#x2051;', $displayed_field_name); ?>
</label>
</th>
<td <?php echo $type_nowrap; ?>>
<bdo dir="ltr" lang="en"><?php echo $extracted_columnspec['displayed_type'] . $type_mime; ?></bdo>
</td>
<td>
<?php if (! empty($field_charset)): ?>
<dfn title="<?php echo PMA_getCollationDescr($field_charset); ?>"><?php echo $field_charset; ?></dfn>
<?php endif; ?>
</td>
<td class="column_attribute nowrap"><?php echo $attribute; ?></td>
<td><?php echo (($row['Null'] == 'YES') ? __('Yes') : __('No')); ?></td>
<td class="nowrap">
<?php if (isset($row['Default'])): ?>
<?php if ($extracted_columnspec['type'] == 'bit'): ?>
<?php echo PMA_Util::convertBitDefaultValue($row['Default']); ?>
<?php else: ?>
<?php echo $row['Default']; ?>
<?php endif;?>
<?php else: ?>
<i><?php echo _pgettext('None for default', 'None'); ?></i>
<?php endif; ?>
</td>
<td class="nowrap"><?php echo /*overload*/mb_strtoupper($row['Extra']); ?></td>
<?php if (! $tbl_is_view && ! $db_is_system_schema): ?>
<td class="edit center print_ignore">
<a class="change_column_anchor ajax" href="tbl_structure.php<?php echo $url_query; ?>&amp;field=<?php echo $field_encoded; ?>&amp;change_column=1">
<?php echo $titles['Change']; ?>
</a>
</td>
<td class="drop center print_ignore">
<a class="drop_column_anchor ajax" href="sql.php<?php echo $url_query; ?>&amp;sql_query=<?php echo urlencode(
'ALTER TABLE ' . PMA_Util::backquote($table)
. ' DROP ' . PMA_Util::backquote($row['Field']) . ';'); ?>&amp;dropped_column=&amp;message_to_show=<?php echo urlencode(sprintf(__('Column %s has been dropped.'), htmlspecialchars($row['Field']))) ?>" >
<?php echo $titles['Drop']; ?>
</a>
</td>
<?php endif; ?>

View File

@ -212,60 +212,62 @@ class PMA_Structure_Test extends PHPUnit_Framework_TestCase
*/
public function testPMAGetHtmlShowCreate()
{
//mock DBI
$dbi = $this->getMockBuilder('PMA_DatabaseInterface')
->disableOriginalConstructor()
->getMock();
$db = 'PMA';
$table = 'PMA_Table';
$is_view_query = "SELECT TABLE_NAME
FROM information_schema.VIEWS
WHERE TABLE_SCHEMA = '" . PMA_Util::sqlAddSlashes($db) . "'
AND TABLE_NAME = '" . PMA_Util::sqlAddSlashes($table) . "'";
$show_create_query = 'SHOW CREATE TABLE ' . PMA_Util::backquote($db) . '.'
. PMA_Util::backquote($table);
$expected_result = 'CREATE TABLE `PMA_Table` ( '
. '`id` numeric '
. ') ENGINE=InnoDB DEFAULT CHARSET=latin1';
$dbi->expects($this->any())
->method('fetchResult')
->with($is_view_query)
->will($this->returnValue(false));
$dbi->expects($this->any())
->method('fetchValue')
->with($show_create_query, 0, 1)
->will(
$this->returnValue(
$expected_result
)
);
$GLOBALS['dbi'] = $dbi;
$output = PMA_getHtmlShowCreate($db, array($table));
$this->assertContains(
'Showing create queries',
$output
);
$this->assertContains(
'<legend>Tables</legend><table class="show_create">',
$output
);
$this->assertContains(
'<th>Create Table</th>',
$output
);
$this->assertContains(
PMA_mimeDefaultFunction($expected_result),
$output
);
//@todo: Find out a better way to test front-end pages
$this->markTestIncomplete('Not Implemented Yet!');
// //mock DBI
// $dbi = $this->getMockBuilder('PMA_DatabaseInterface')
// ->disableOriginalConstructor()
// ->getMock();
//
// $db = 'PMA';
// $table = 'PMA_Table';
// $is_view_query = "SELECT TABLE_NAME
// FROM information_schema.VIEWS
// WHERE TABLE_SCHEMA = '" . PMA_Util::sqlAddSlashes($db) . "'
// AND TABLE_NAME = '" . PMA_Util::sqlAddSlashes($table) . "'";
//
// $show_create_query = 'SHOW CREATE TABLE ' . PMA_Util::backquote($db) . '.'
// . PMA_Util::backquote($table);
// $expected_result = 'CREATE TABLE `PMA_Table` ( '
// . '`id` numeric '
// . ') ENGINE=InnoDB DEFAULT CHARSET=latin1';
//
// $dbi->expects($this->any())
// ->method('fetchResult')
// ->with($is_view_query)
// ->will($this->returnValue(false));
//
// $dbi->expects($this->any())
// ->method('fetchValue')
// ->with($show_create_query, 0, 1)
// ->will(
// $this->returnValue(
// $expected_result
// )
// );
//
// $GLOBALS['dbi'] = $dbi;
//
// $output = PMA_getHtmlShowCreate($db, array($table));
//
// $this->assertContains(
// 'Showing create queries',
// $output
// );
//
// $this->assertContains(
// '<legend>Tables</legend><table class="show_create">',
// $output
// );
//
// $this->assertContains(
// '<th>Create Table</th>',
// $output
// );
//
// $this->assertContains(
// PMA_mimeDefaultFunction($expected_result),
// $output
// );
}
}