added method PMA_getHtmlForColumnDefault

This commit is contained in:
Spun Nakandala 2013-08-05 23:31:49 +05:30
parent adec74d49f
commit b629d5c6dd
2 changed files with 66 additions and 45 deletions

View File

@ -121,8 +121,7 @@ for ($i = 0; $i < $num_fields; $i++) {
// column name
$content_cells[$i][$ci] = PMA_getHtmlForColumnName(
$i, $ci, $ci_offset, isset($row) ? $row : null
);
);
$ci++;
if (empty($row['Type'])) {
@ -170,55 +169,16 @@ for ($i = 0; $i < $num_fields; $i++) {
$ci++;
// column default
// old column default
if ($is_backup) {
$_form_params['field_default_orig[' . $i . ']']
= (isset($row['Default']) ? $row['Default'] : '');
}
// here we put 'NONE' as the default value of drop-down; otherwise
// users would have problems if they forget to enter the default
// value (example, for an INT)
$default_options = array(
'NONE' => _pgettext('for default', 'None'),
'USER_DEFINED' => __('As defined:'),
'NULL' => 'NULL',
'CURRENT_TIMESTAMP' => 'CURRENT_TIMESTAMP',
$content_cells[$i][$ci] = PMA_getHtmlForColumnDefault($i, $ci, $ci_offset,
isset($type_upper) ? $type_upper : null,
isset($default_current_timestamp) ? $default_current_timestamp : null,
isset($row) ? $row : null
);
// for a TIMESTAMP, do not show the string "CURRENT_TIMESTAMP" as a default value
if ($type_upper == 'TIMESTAMP'
&& ! empty($default_current_timestamp)
&& isset($row['Default'])
) {
$row['Default'] = '';
}
if ($type_upper == 'BIT') {
$row['DefaultValue']
= PMA_Util::convertBitDefaultValue($row['DefaultValue']);
}
$content_cells[$i][$ci] = '<select name="field_default_type[' . $i
. ']" id="field_' . $i . '_' . ($ci - $ci_offset)
. '" class="default_type">';
foreach ($default_options as $key => $value) {
$content_cells[$i][$ci] .= '<option value="' . $key . '"';
// is only set when we go back to edit a field's structure
if (isset($row['DefaultType']) && $row['DefaultType'] == $key) {
$content_cells[$i][$ci] .= ' selected="selected"';
}
$content_cells[$i][$ci] .= ' >' . $value . '</option>';
}
$content_cells[$i][$ci] .= '</select>';
$content_cells[$i][$ci] .= '<br />';
$content_cells[$i][$ci] .= '<input type="text"'
. ' name="field_default_value[' . $i . ']" size="12"'
. ' value="' . (isset($row['DefaultValue'])
? htmlspecialchars($row['DefaultValue'])
: '') . '"'
. ' class="textfield default_value" />';
$ci++;
// column collation

View File

@ -1009,4 +1009,65 @@ function PMA_getHtmlForColumnLength($i, $ci, $ci_offset, $length_values_input_si
return $html;
}
/**
* Function to get html for the default column
*
* @param int $i field number
* @param int $ci cell index
* @param int $ci_offset cell index offset
* @param string $type_upper type upper
* @param string $default_current_timestamp default current timestamp
* @param array $row row
*
* @return string
*/
function PMA_getHtmlForColumnDefault($i, $ci, $ci_offset, $type_upper,
$default_current_timestamp, $row
) {
// here we put 'NONE' as the default value of drop-down; otherwise
// users would have problems if they forget to enter the default
// value (example, for an INT)
$default_options = array(
'NONE' => _pgettext('for default', 'None'),
'USER_DEFINED' => __('As defined:'),
'NULL' => 'NULL',
'CURRENT_TIMESTAMP' => 'CURRENT_TIMESTAMP',
);
// for a TIMESTAMP, do not show the string "CURRENT_TIMESTAMP" as a default value
if ($type_upper == 'TIMESTAMP'
&& ! empty($default_current_timestamp)
&& isset($row['Default'])
) {
$row['Default'] = '';
}
if ($type_upper == 'BIT') {
$row['DefaultValue']
= PMA_Util::convertBitDefaultValue($row['DefaultValue']);
}
$html = '<select name="field_default_type[' . $i
. ']" id="field_' . $i . '_' . ($ci - $ci_offset)
. '" class="default_type">';
foreach ($default_options as $key => $value) {
$html .= '<option value="' . $key . '"';
// is only set when we go back to edit a field's structure
if (isset($row['DefaultType']) && $row['DefaultType'] == $key) {
$html .= ' selected="selected"';
}
$html .= ' >' . $value . '</option>';
}
$html .= '</select>';
$html .= '<br />';
$html .= '<input type="text"'
. ' name="field_default_value[' . $i . ']" size="12"'
. ' value="' . (isset($row['DefaultValue'])
? htmlspecialchars($row['DefaultValue'])
: '') . '"'
. ' class="textfield default_value" />';
return $html;
}
?>