@_UI_STD_INIT_@ [pragma strip_white] [if-mm !advanced page] [set ui_error]Need permission for page edit.[/set] [bounce page="__UI_BASE__/error"] [/if-mm] [perl] if($Config->{ImageDirOriginal}) { $Config->{ImageDir} = $Config->{ImageDirOriginal}; $Config->{ImageDirSecure} = $Config->{ImageDirSecureOriginal}; } if ($CGI->{ui_template_version}) { $CGI->{ui_page_preview} = 1; return; } my @filters = grep /^ui_filter:/, keys %$CGI; foreach my $key (@filters) { my $val = delete $CGI->{$key}; $key =~ s/ui_filter://; next unless $val; next unless defined $CGI->{$key}; $CGI->{$key} = $Tag->filter($val, $CGI->{$key}, $key); } if(! $CGI->{ui_elements}) { $CGI->{ui_template} = $Tag->filter('filesafe', $CGI->{ui_template}); $CGI->{ui_elements} = $Tag->read_ui_template( { file => $CGI->{ui_template}, element => 'ui_template_layout', }); #Log("elements: $CGI->{ui_elements}"); } @layout = split /[\0\s,]+/, $CGI->{ui_elements}; @insert = split /\0/, ($CGI->{ui_content} || 'Page content.'); for(keys %{$CGI}) { next unless /^ui_control_(.*)/; #Log("found $_ => $k"); my $k = $1; unshift @layout, "[set $k]" . $CGI->{$_} . '[/set]'; } if (@layout) { foreach $one (@layout) { if( $one eq 'UI_CONTENT') { my $content = shift @insert; #Log("inserting $content"); $content =~ s/\r?\n/\n/g; push @out, $content; } elsif ($one =~ /^[A-Z]\w+$/) { push @out, '@_' . $one . '_@'; } else { push @out, $one; } } } else { push @out, $CGI->{ui_content}; } $Scratch->{ui_output_page} = "tmp/$Session->{id}.preview"; $Tag->write_relative_file($Scratch->{ui_output_page}, (join "\n", @out)); return; [/perl] [if cgi ui_page_preview] [include include/page_save] [/if] [include file="[scratch ui_output_page]" locale=1]