]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/CGI.pm
* Patch from Emanuele Aina to fix modification time code in mercurual
[ikiwiki.git] / IkiWiki / CGI.pm
index 3e324ae1cbdcc834e467b131114006d17a07ed44..a41349be518a648fa9f71cd5df83b4810a3ce98c 100644 (file)
@@ -274,15 +274,8 @@ sub cgi_editpage ($$) { #{{{
        my @fields=qw(do rcsinfo subpage from page type editcontent comments);
        my @buttons=("Save Page", "Preview", "Cancel");
        
-       eval q{use CGI::FormBuilder; use CGI::FormBuilder::Template::HTML};
+       eval q{use CGI::FormBuilder};
        error($@) if $@;
-       my $renderer=CGI::FormBuilder::Template::HTML->new(
-               fields => \@fields,
-               template_params("editpage.tmpl"),
-       );
-       run_hooks(pagetemplate => sub {
-               shift->(page => "", destpage => "", template => $renderer->engine);
-       });
        my $form = CGI::FormBuilder->new(
                fields => \@fields,
                header => 1,
@@ -296,7 +289,8 @@ sub cgi_editpage ($$) { #{{{
                params => $q,
                action => $config{cgiurl},
                table => 0,
-               template => $renderer,
+               template => (-e "$config{templatedir}/editpage.tmpl" ?
+                               {template_params("editpage.tmpl")} : ""),
        );
        
        run_hooks(formbuilder_setup => sub {
@@ -309,8 +303,7 @@ sub cgi_editpage ($$) { #{{{
        # characters.
        my ($page)=$form->field('page');
        $page=titlepage(possibly_foolish_untaint($page));
-       if (! defined $page || ! length $page ||
-           $page=~/$config{wiki_file_prune_regexp}/ || $page=~/^\//) {
+       if (! defined $page || ! length $page || file_pruned($page, $config{srcdir}) || $page=~/^\//) {
                error("bad page name");
        }
        
@@ -400,7 +393,7 @@ sub cgi_editpage ($$) { #{{{
                        my $best_loc;
                        if (! defined $from || ! length $from ||
                            $from ne $form->field('from') ||
-                           $from=~/$config{wiki_file_prune_regexp}/ ||
+                           file_pruned($from, $config{srcdir}) ||
                            $from=~/^\// ||
                            $form->submitted eq "Preview") {
                                @page_locs=$best_loc=$page;
@@ -672,7 +665,9 @@ sub userlink ($) { #{{{
                return "<a href=\"$user\">".escapeHTML($display)."</a>";
        }
        else {
-               return htmllink("", "", escapeHTML($user), 1);
+               return htmllink("", "", escapeHTML(
+                       length $config{userdir} ? $config{userdir}."/".$user : $user
+               ), 1);
        }
 } #}}}