--- Template.pm.orig 2007-03-29 08:32:12.000000000 +0900 +++ Template.pm 2007-07-03 03:18:57.000000000 +0900 @@ -172,16 +172,23 @@ sub _sync_from_disk { my $tmpl = shift; my $lfile = $tmpl->linked_file; + my $size; + my $mtime; + unless ($lfile =~ /\|$/) { unless (File::Spec->file_name_is_absolute($lfile)) { my $blog = MT::Blog->load($tmpl->blog_id); $lfile = File::Spec->catfile($blog->site_path, $lfile); } return unless -e $lfile; - my($size, $mtime) = (stat _)[7,9]; + ($size, $mtime) = (stat _)[7,9]; return if $size == $tmpl->linked_file_size && $mtime == $tmpl->linked_file_mtime; + } else { + $size = $tmpl->linked_file_size + 1; + $mtime = gmtime; + } local *FH; - open FH, $lfile or return; + open FH, "$lfile" or return; my $c; do { local $/; $c = }; close FH; $tmpl->linked_file_size($size); @@ -213,7 +220,11 @@ ## linked file, assuming that it should not be overwritten. If the ## file does not already exist, or if there is template text, assume ## that we should update the linked file. - if (-e $lfile && !$tmpl->SUPER::text) { + if ($lfile =~ /\|$/) { + $tmpl->linked_file_size(0); + $tmpl->linked_file_mtime(gmtime); + 1; + } elsif (-e $lfile && !$tmpl->SUPER::text) { open FH, $lfile or return; do { local $/; $tmpl->SUPER::text() }; close FH;