group data types

This commit is contained in:
Sebastian Mendel
2007-12-13 12:49:31 +00:00
parent 8eaf437123
commit c77f3bd21f
2 changed files with 71 additions and 46 deletions

View File

@@ -2292,56 +2292,69 @@ $cfg['ColumnTypes'] = array(
'DATE', 'DATE',
// numeric // numeric
'TINYINT', 'NUMERIC' => array(
'SMALLINT', 'TINYINT',
'MEDIUMINT', 'SMALLINT',
//'INT', 'MEDIUMINT',
'BIGINT', 'INT',
'BIGINT',
'',
'DECIMAL',
'FLOAT',
'DOUBLE',
'REAL',
'',
'BIT',
'BOOL',
'SERIAL',
),
'DECIMAL',
'FLOAT',
'DOUBLE',
'REAL',
// Date/Time // Date/Time
//'DATE', 'DATE and TIME' => array(
'DATETIME', 'DATE',
'TIMESTAMP', 'DATETIME',
'TIME', 'TIMESTAMP',
'YEAR', 'TIME',
'YEAR',
),
// Text // Text
'CHAR', 'STRING' => array(
//'VARCHAR', 'CHAR',
'VARCHAR',
'',
'TINYTEXT', 'TINYTEXT',
//'TEXT', 'TEXT',
'MEDIUMTEXT', 'MEDIUMTEXT',
'LONGTEXT', 'LONGTEXT',
'',
'BINARY', 'BINARY',
'VARBINARY', 'VARBINARY',
'',
'TINYBLOB', 'TINYBLOB',
'MEDIUMBLOB', 'MEDIUMBLOB',
'BLOB', 'BLOB',
'LONGBLOB', 'LONGBLOB',
'',
'ENUM', 'ENUM',
'SET', 'SET',
),
'BIT', 'SPATIAL' => array(
'BOOL', 'GEOMETRY',
'SERIAL', 'POINT',
'LINESTRING',
'GEOMETRY', 'POLYGON',
'POINT', 'MULTIPOINT',
'LINESTRING', 'MULTILINESTRING',
'POLYGON', 'MULTIPOLYGON',
'MULTIPOINT', 'GEOMETRYCOLLECTION',
'MULTILINESTRING', ),
'MULTIPOLYGON',
'GEOMETRYCOLLECTION',
); );
/** /**

View File

@@ -254,13 +254,25 @@ for ($i = 0 ; $i <= $num_fields; $i++) {
$type = rtrim($type); $type = rtrim($type);
$type_upper = strtoupper($type); $type_upper = strtoupper($type);
$cnt_column_types = count($cfg['ColumnTypes']); foreach ($cfg['ColumnTypes'] as $col_goup => $column_type) {
for ($j = 0; $j < $cnt_column_types; $j++) { if (is_array($column_type)) {
$content_cells[$i][$ci] .= ' <option value="'. $cfg['ColumnTypes'][$j] . '"'; $content_cells[$i][$ci] .= '<optgroup label="' . htmlspecialchars($col_goup) . '">';
if ($type_upper == strtoupper($cfg['ColumnTypes'][$j])) { foreach ($column_type as $col_group_type) {
$content_cells[$i][$ci] .= '<option value="'. $col_group_type . '"';
if ($type_upper == strtoupper($col_group_type)) {
$content_cells[$i][$ci] .= ' selected="selected"';
}
$content_cells[$i][$ci] .= '>' . $col_group_type . '</option>' . "\n";
}
$content_cells[$i][$ci] .= '</optgroup>';
continue;
}
$content_cells[$i][$ci] .= '<option value="'. $column_type . '"';
if ($type_upper == strtoupper($column_type)) {
$content_cells[$i][$ci] .= ' selected="selected"'; $content_cells[$i][$ci] .= ' selected="selected"';
} }
$content_cells[$i][$ci] .= '>' . $cfg['ColumnTypes'][$j] . '</option>' . "\n"; $content_cells[$i][$ci] .= '>' . $column_type . '</option>' . "\n";
} // end for } // end for
$content_cells[$i][$ci] .= ' </select>'; $content_cells[$i][$ci] .= ' </select>';