]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/inline.pm
can the 'add comment' form be generated and returned even if the srcdir is locked?
[git.ikiwiki.info.git] / IkiWiki / Plugin / inline.pm
index 44e38436c7795c75d9eb5b88f77d706c7a331d35..159cc5def01d59aaa3f532cbb4fea14ab52f6435 100644 (file)
@@ -329,6 +329,10 @@ sub preprocess_inline (@) {
                        $formtemplate->param(postformtext =>
                                gettext("Add a new post titled:"));
                }
+               if (exists $params{id}) {
+                       $formtemplate->param(postformid =>
+                               $params{id});
+               }
                $ret.=$formtemplate->output;
                
                # The post form includes the feed buttons, so
@@ -346,6 +350,9 @@ sub preprocess_inline (@) {
                        $linktemplate->param(atomurl => $atomurl);
                        $linktemplate->param(atomdesc => $atomdesc);
                }
+               if (exists $params{id}) {
+                       $linktemplate->param(id => $params{id});
+               }
                $ret.=$linktemplate->output;
        }
        
@@ -499,7 +506,7 @@ sub get_inline_content ($$) {
                if (isinternal($page)) {
                        # make inlined text of internal pages searchable
                        run_hooks(indexhtml => sub {
-                               shift->(page => $page, destpage => $page,
+                               shift->(page => $page, destpage => $destpage,
                                        content => $ret);
                        });
                }
@@ -557,13 +564,15 @@ sub absolute_urls ($$) {
                                next unless $v_offset; # 0 v_offset means no value
                                my $v = substr($text, $v_offset, $v_len);
                                $v =~ s/^([\'\"])(.*)\1$/$2/;
-                               if ($v=~/^#/) {
+                               eval q{use HTML::Entities};
+                               my $dv = decode_entities($v);
+                               if ($dv=~/^#/) {
                                        $v=$baseurl.$v; # anchor
                                }
-                               elsif ($v=~/^(?!\w+:)[^\/]/) {
+                               elsif ($dv=~/^(?!\w+:)[^\/]/) {
                                        $v=$url.$v; # relative url
                                }
-                               elsif ($v=~/^\//) {
+                               elsif ($dv=~/^\//) {
                                        if (! defined $urltop) {
                                                # what is the non path part of the url?
                                                my $top_uri = URI->new($url);