--- trunk/web/browse.cgi 2005/11/15 14:30:26 58
+++ trunk/web/browse.cgi 2005/11/16 15:33:12 67
@@ -18,7 +18,8 @@
$abs_path =~ s#/[^/]*$#/../#;
my $db_path = $abs_path . '/db/';
-my $template = 'html_ffzg.tt';
+my $template_file = 'html_ffzg.tt';
+my $css_file = 'user.css';
my $iconv_utf8 = new Text::Iconv('ISO-8859-2', 'UTF-8');
my $iconv_loc = new Text::Iconv('UTF-8', 'ISO-8859-2');
@@ -41,6 +42,37 @@
print $q->header( -charset => 'utf-8' );
+##---- some handy subs
+
+sub update_file($$) {
+ my ($path, $content) = @_;
+
+ $content = $iconv_loc->convert( $content ) || die "no content?";
+
+ sub _conv_js {
+ my $t = shift || return;
+ return $iconv_loc->convert(chr(hex($t)));
+ }
+ $content =~ s/%u([a-fA-F0-9]{4})/_conv_js($1)/gex;
+ $content =~ s/[\n\r]+$//s;
+
+ write_file($path . '.new', $content) || die "can't save ${path}.new $!";
+ rename $path . '.new', $path || die "can't rename to $path: $!";
+}
+
+sub get_file_in_html($) {
+ my ($path) = @_;
+
+ die "no path?" unless ($path);
+
+ my $content = read_file($path) || die "can't read $path: $!";
+ $content = $q->escapeHTML($iconv_utf8->convert($content));
+
+ return $content;
+}
+
+##----
+
if ($q->path_info =~ m#xml#) {
my @ds = $db->load_ds($rec);
@@ -49,7 +81,7 @@
print qq{
}, $iconv_utf8->convert( $out->apply(
- template => $template,
+ template => $template_file,
data => \@ds,
) ), qq{
@@ -74,7 +106,7 @@
@@ -84,28 +116,21 @@
} elsif ($q->path_info =~ m#template#) {
- my @actions;
+ my $template_path = $out->{'include_path'} . '/' . $template_file;
if ($q->param('save_template')) {
- my $tmpl = $iconv_loc->convert( $q->param('tt_template') ) || die "no template?";
- sub _conv_js {
- my $t = shift || return;
- return $iconv_loc->convert(chr(hex($t)));
- }
- $tmpl =~ s/%u([a-fA-F0-9]{4})/_conv_js($1)/gex;
-
- my $tmpl_file = $out->{'include_path'} . '/' . $template;
- write_file($tmpl_file . '.new', $tmpl) || die "can't save $tmpl_file: $!";
- rename $tmpl_file . '.new', $tmpl_file || die "can't rename to $tmpl_file: $!";
+ update_file($template_path, $q->param('tt_template'));
print qq{
-
-$template saved
+
+$template_file saved
@@ -114,16 +139,12 @@
}
- my $tmpl = read_file($out->{'include_path'} . '/' . $template) || die "can't read template $template: $!";
- $tmpl = $q->escapeHTML($iconv_utf8->convert($tmpl));
+ my $tmpl = get_file_in_html($template_path);
print qq{
-}, Dumper($q->Vars), qq{
-
+
+
+
+
+ };
+
+ exit;
+
+} elsif ($q->path_info =~ m#css#) {
+
+ my $css_path = $abs_path . '/web/' . $css_file;
+
+
+ if ($q->param('save_css')) {
+ update_file($css_path, $q->param('user_css'));
+
+ print qq{
+
+$css_file saved
+
+
+
+
+
+ };
+ exit;
+
+ }
+
+ my $user_css = get_file_in_html($css_path);
+
+ print qq{
+
+
+
+
+
+
+
};
exit;
} else {
- print qq{
+ print <<"_END_OF_HEAD_";
WebPAC simple browse interface
+
+
+
+
+
-db_path = $db_path
-template = $template
-
-
+
+db_path =
$db_path
+template =
$template_file
+css =
$css_file
+
+
+
+
+Editor
+
template
+
css
+
no template loaded yet.
+
+ no CSS loaded yet.
+
+
+
+
no record loaded yet.
-};
+