[tag flag write]__UI_META_TABLE__[/tag] [set page_title][L]Format field[/L][/set] [if-mm !super] [set error_message]Not authorized to format fields.[/set] [bounce href="[area __UI_BASE__/error]"] [/if-mm] [if session arg] [seti arg][data session arg][/seti] [elsif value ui_edit_meta] [seti arg][value ui_edit_meta][/seti] [/elsif] [else] [set arg][/set] [/else] [/if] [perl tables="__UI_META_TABLE__"] my $table = q{__UI_META_TABLE__}; my $key = $Scratch->{arg}; if($key =~ /(\w+)::(.+)/) { $Scratch->{meta_table} = $1; $Scratch->{meta_column} = $2; } my $db = $Db{$table} or do{ Log("meta database $table not present."); return; }; if ($table ne $Values->{mv_data_table}) { $Values->{mv_data_table} = $table; } $Values->{ui_data_key_name} = $db->config('KEY'); my @fields = $db->columns(); $Values->{ui_data_fields} = join " ", @fields; if( $db->record_exists($key) ) { for(@fields) { $Values->{$_} = $db->field($key, $_); } } else { for(@fields) { delete $Values->{$_}; } } if($table eq delete $Values->{ui_auto_export}) { return "[seti export_ok][tag export $table][/tag][/seti]"; } else { return '[set export_ok][/set]'; } [/perl] [set process_meta] [tag flag write]__UI_META_TABLE__[/tag] [perl tables="__UI_META_TABLE__"] my $table = $Values->{mv_data_table}; my $db = $Db{$table}; my $key = $CGI->{$CGI->{mv_data_key}}; $Scratch->{mv_data_enable} = 0; $CGI->{mv_todo} = 'return'; if(! $key) { Log('Tried to write empty meta field'); return; } for($db->columns()) { next unless defined $CGI->{$_}; $CGI->{$_} =~ s/^[\s\0]+//; $CGI->{$_} =~ s/[\s\0]+$//; $CGI->{$_} =~ s/\0+/_/g; $CGI->{$_} =~ s/__+/_/g; $CGI->{$_} =~ s/_ / /g; #$db->set_field($key, $_, $CGI->{$_}); } if($CGI->{lookup} and $CGI->{type} =~ /combo/) { $CGI->{filter} = 'nullselect'; } $CGI->{mv_todo} = 'set'; $CGI->{mv_nextpage} = '__UI_BASE__/format_meta'; $Session->{arg} = $table; $Scratch->{mv_data_enable} = 1; return; [/perl] [/set] @_UI_STD_HEAD_@
[value name=ui_data_fields set=""] @_UI_STD_FOOTER_@