245 lines
9.4 KiB
PHTML
245 lines
9.4 KiB
PHTML
<form action="tbl_indexes.php"
|
|
method="post"
|
|
name="index_frm"
|
|
id="index_frm"
|
|
class="ajax"
|
|
onsubmit="if (typeof(this.elements['index[Key_name]'].disabled) != 'undefined') this.elements['index[Key_name]'].disabled = false;">
|
|
|
|
<?= PMA_URL_getHiddenInputs($form_params); ?>
|
|
|
|
<fieldset id="index_edit_fields">
|
|
<div class="index_info">
|
|
<div>
|
|
<div class="label">
|
|
<strong>
|
|
<label for="input_index_name">
|
|
<?= __('Index name:') , PMA\libraries\Util::showHint(
|
|
PMA\libraries\Message::notice(
|
|
__(
|
|
'"PRIMARY" <b>must</b> be the name of and <b>only of</b> a primary key!'
|
|
)
|
|
)
|
|
); ?>
|
|
</label>
|
|
</strong>
|
|
</div>
|
|
|
|
<input type="text"
|
|
name="index[Key_name]"
|
|
id="input_index_name"
|
|
size="25"
|
|
maxlength="64"
|
|
value="<?= htmlspecialchars($index->getName()); ?>"
|
|
onfocus="this.select()" />
|
|
</div>
|
|
|
|
<div>
|
|
<div class="label">
|
|
<strong>
|
|
<label for="select_index_choice">
|
|
<?= __('Index choice:') , PMA\libraries\Util::showMySQLDocu('ALTER_TABLE'); ?>
|
|
</label>
|
|
</strong>
|
|
</div>
|
|
|
|
<?= $index->generateIndexChoiceSelector(isset($_REQUEST['create_edit_table'])); ?>
|
|
</div>
|
|
|
|
<?= PMA\libraries\Util::getDivForSliderEffect(
|
|
'indexoptions', __('Options')
|
|
); ?>
|
|
|
|
<div>
|
|
|
|
<div class="label">
|
|
<strong>
|
|
<label for="input_key_block_size">
|
|
<?= __('Key block size:'); ?>
|
|
</label>
|
|
</strong>
|
|
</div>
|
|
|
|
<input type="text"
|
|
name="index[Key_block_size]"
|
|
id="input_key_block_size"
|
|
size="30"
|
|
value="<?= htmlspecialchars($index->getKeyBlockSize()) ?>" />
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<div class="label">
|
|
<strong>
|
|
<label for="select_index_type">
|
|
<?= __('Index type:') , PMA\libraries\Util::showMySQLDocu('ALTER_TABLE'); ?>
|
|
</label>
|
|
</strong>
|
|
</div>
|
|
|
|
<?= $index->generateIndexTypeSelector(); ?>
|
|
</div>
|
|
|
|
<div>
|
|
<div class="label">
|
|
<strong>
|
|
<label for="input_parser">
|
|
<?= __('Parser:'); ?>
|
|
</label>
|
|
</strong>
|
|
</div>
|
|
|
|
<input type="text"
|
|
name="index[Parser]"
|
|
id="input_parse"
|
|
size="30"
|
|
value="<?= htmlspecialchars($index->getParser()) ?>" />
|
|
</div>
|
|
|
|
<div>
|
|
<div class="label">
|
|
<strong>
|
|
<label for="input_index_comment">
|
|
<?= __('Comment:'); ?>
|
|
</label>
|
|
</strong>
|
|
</div>
|
|
|
|
<input type="text"
|
|
name="index[Index_comment]"
|
|
id="input_index_comment"
|
|
size="30"
|
|
maxlength="1024"
|
|
value="<?= htmlspecialchars($index->getComment()) ?>" />
|
|
</div>
|
|
</div>
|
|
<!-- end of indexoptions div -->
|
|
|
|
<div class="clearfloat"></div>
|
|
|
|
<table id="index_columns">
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<th>
|
|
<?= __('Column') ?>
|
|
</th>
|
|
<th>
|
|
<?= __('Size') ?>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<?php $odd_row = true;
|
|
$spatial_types = array(
|
|
'geometry',
|
|
'point',
|
|
'linestring',
|
|
'polygon',
|
|
'multipoint',
|
|
'multilinestring',
|
|
'multipolygon',
|
|
'geomtrycollection'
|
|
); ?>
|
|
<tbody>
|
|
|
|
<?php /* @var $column PMA\libraries\IndexColumn */
|
|
foreach ($index->getColumns() as $column): ?>
|
|
|
|
<tr class="<?= $odd_row ? 'odd' : 'even'; ?>noclick">
|
|
<td>
|
|
<span class="drag_icon" title="<?= __('Drag to reorder') ?>"></span>
|
|
</td>
|
|
<td>
|
|
<select name="index[columns][names][]">
|
|
<option value="">
|
|
-- <?= __('Ignore'); ?> --
|
|
</option>
|
|
|
|
<?php
|
|
foreach ($fields as $field_name => $field_type):
|
|
if (($index->getChoice() != 'FULLTEXT'
|
|
|| preg_match('/(char|text)/i', $field_type))
|
|
&& ($index->getChoice() != 'SPATIAL'
|
|
|| in_array($field_type, $spatial_types))): ?>
|
|
|
|
<option value="<?= htmlspecialchars($field_name) ?>"
|
|
<?php if ($field_name == $column->getName()): ?>
|
|
selected="selected"
|
|
<?php endif; ?>>
|
|
|
|
<?= htmlspecialchars($field_name); ?> [<?= htmlspecialchars($field_type); ?>]
|
|
</option>
|
|
<?php endif;
|
|
endforeach; ?>
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<input type="text"
|
|
size="5"
|
|
onfocus="this.select()"name="index[columns][sub_parts][]"
|
|
value="<?= ($index->getChoice() != 'SPATIAL') ?
|
|
$column->getSubPart()
|
|
: ''
|
|
?>" />
|
|
</td>
|
|
</tr>
|
|
|
|
<?php
|
|
$odd_row = !$odd_row;
|
|
|
|
endforeach;
|
|
|
|
for ($i = 0; $i < $add_fields; $i++): ?>
|
|
|
|
<tr class="<?= $odd_row ? 'odd' : 'even'; ?>noclick">
|
|
<td>
|
|
<span class="drag_icon" title="<?= __('Drag to reorder') ?>"></span>
|
|
</td>
|
|
<td>
|
|
<select name="index[columns][names][]">
|
|
<option value="">-- <?= __('Ignore') ?> --</option>
|
|
|
|
<?php
|
|
$j = 0;
|
|
foreach ($fields as $field_name => $field_type):
|
|
if (isset($_REQUEST['create_edit_table'])) {
|
|
$col_index = $field_type[1];
|
|
$field_type = $field_type[0];
|
|
} ?>
|
|
|
|
<option value="<?= htmlspecialchars((isset($col_index)) ? $col_index : $field_name); ?>"
|
|
<?= ($j++ == $i ? ' selected="selected"' : ''); ?>>
|
|
<?= htmlspecialchars($field_name) ?> [<?= htmlspecialchars($field_type); ?>]
|
|
</option>
|
|
<?= "\n";
|
|
endforeach; ?>
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<input type="text"
|
|
size="5"
|
|
onfocus="this.select()"
|
|
name="index[columns][sub_parts][]"
|
|
value="" />
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
$odd_row = !$odd_row;
|
|
endfor; ?>
|
|
|
|
</tbody>
|
|
</table>
|
|
<div class="add_more">
|
|
|
|
<div class="slider"></div>
|
|
<div class="add_fields hide">
|
|
<input type="submit"
|
|
id="add_fields"
|
|
value="<?= sprintf(__('Add %s column(s) to index'), 1); ?>" />
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset class="tblFooters">
|
|
<button type="submit" id="preview_index_frm"><?= __('Preview SQL'); ?></button>
|
|
<input type="submit" id="save_index_frm" value="<?= __('Go'); ?>" />
|
|
</fieldset>
|
|
</form>
|