[set page_title]Edit Page[/set] [set ui_class]Content[/set] [set help_name]page.main[/set] [set icon_name]admin/icon_pages.gif[/set] @_UI_STD_HEAD_@
[perl tables=mv_metadata] my $ref; my $ref_in_page; my $t_name = ''; if($CGI->{ui_template}) { #Log("reading template=$CGI->{ui_template}"); $CGI->{ui_template} = $Tag->filter('filesafe', $CGI->{ui_template}); my ($ary) = $Tag->read_ui_template($CGI->{ui_template}); $ref = shift @$ary || {}; $t_name = $CGI->{ui_template}; $t_desc = $ref->{ui_template_description} || 'none'; } #Log("t_name=$t_name"); my @choices = split /\s*\0\s*/, $CGI->{ui_page}; my $page; for(@choices) { next if ! $_; $page = $_; $page .= $Config->{HTMLsuffix} if $page !~ /$Config->{HTMLsuffix}$/; $page = "pages/$page" if $page !~ m(^pages/); last; } my $ary; my $current = $Tag->file($page); # This call returns an array of hashes if exists if($current) { ($ary) = $Tag->read_ui_template($page); if(ref $ary) { $ref_in_page = shift (@$ary); } } if(! $ref and $ref_in_page) { $ref = $ref_in_page; } # elsif($ref_in_page) { # for(keys %$ref_in_page) { # $ref->{$_} = $ref_in_page->{$_}; # } # } else { $ref = {} if ! $ref; $current !~ m{\n(.*)\n}is and $current = "$current"; } $t_name = $ref->{ui_template_name} || 'None' if ! $t_name; $t_desc = $ref->{ui_template_description} || 'n/a' if ! $t_desc; my @def; my $def_string = $ref->{ui_definition}; $def_string =~ s/"/"/g; my $r; #Log("ui_control_element=$ref->{ui_control_element}"); if ($r = $ref->{ui_control_element} and ref($r)) { my $widget; my @order; if($ref->{ui_display_order}) { @order = @{$ref->{ui_display_order}}; } else { @order = sort keys %$r; } for(@order) { #Log("r key $_"); my ($set) = $current =~ m{\[set\s+$_\](.*?)\[/set\]}; my $t_set = $r->{$_}; my $wtype = $ref->{ui_control_widget}{$_} || ''; my $options = $ref->{ui_control_options}{$_} || $t_set || '=No,1=Yes'; my $help = $ref->{ui_control_help}{$_} || ''; if($wtype) { $widget = $Tag->widget( { name => "ui_control_$_", type => $wtype, passed => $options, default => $set, }); } else { my $val = $set || $t_set; $val =~ s/"/"/g; $widget = qq{}; } my $desc = $ref->{ui_control_description}{$_} || $_; $desc .= "
$help" if $help; push @controls, [ $desc, $widget ]; } } my $out = ''; my $imgpath = $Tag->var('UI_IMG', 1) || $Variable->{UI_IMG} || ''; #Log("t_name=$t_name"); $out .= < EOF if($CGI->{ui_show_description}) { $out .= < EOF } else { $out .= <}; } if($current) { $current =~ m{\n(.*)\n}is; $content = $1 || ''; } $content =~ s/\[/[/g; $content =~ s/{ui_template_layout} = 'UI_CONTENT' if ! $ref->{ui_template_layout}; $out .= < EOF $out .= < EOF return $out; [/perl]
Page file $page
Template
Template description $t_desc
Template sequence
$ref->{ui_template_layout}
UI_CONTENT is the content portion(s), all others refer to Knar elements.
$_->[0]$_->[1]
Content
[set Preview] mv_nextpage=__UI_BASE__/page_preview mv_action=back [/set] [set Save] mv_nextpage=__UI_BASE__/page_save [/set] [set Cancel] mv_nextpage=__UI_BASE__/page mv_todo=back [/set]
@_UI_STD_FOOTER_@