TMPL_INCLUDE re-enabled for templates read from the templatedir. (But not in-wiki...
[ikiwiki.git] / IkiWiki.pm
index 623396c9c4180929613a3b9ccbcdb139e923ebf6..dcee376ee0776609827d8ddfb508d692f685688d 100644 (file)
@@ -1661,7 +1661,11 @@ sub template_file ($) {
        }
 
        my $template=srcfile($tpage, 1);
-       if (! defined $template) {
+       if (defined $template) {
+               return $template, $tpage, 1 if wantarray;
+               return $template;
+       }
+       else {
                $name=~s:/::; # avoid path traversal
                foreach my $dir ($config{templatedir},
                                 "$installdir/share/ikiwiki/templates") {
@@ -1670,12 +1674,12 @@ sub template_file ($) {
                                last;
                        }
                }
+               if (defined $template) {        
+                       return $template, $tpage if wantarray;
+                       return $template;
+               }
        }
 
-       if (defined $template) {        
-               return $template, $tpage if wantarray;
-               return $template;
-       }
        return;
 }
 
@@ -1683,7 +1687,7 @@ sub template_depends ($$;@) {
        my $name=shift;
        my $page=shift;
        
-       my ($filename, $tpage)=template_file($name);
+       my ($filename, $tpage, $untrusted)=template_file($name);
        if (defined $page && defined $tpage) {
                add_depends($page, $tpage);
        }
@@ -1699,7 +1703,7 @@ sub template_depends ($$;@) {
                die_on_bad_params => 0,
                filename => $filename,
                @_,
-               no_includes => 1,
+               ($untrusted ? (no_includes => 1) : ()),
        );
        return @opts if wantarray;