Lines 212-235
Link Here
|
212 |
sub replace_vars { |
212 |
sub replace_vars { |
213 |
my ( $self, $t, $v ) = @_; |
213 |
my ( $self, $t, $v ) = @_; |
214 |
my $lt = localtime; |
214 |
my $lt = localtime; |
215 |
$t =~ s/\${?NOW}?/strftime $self->tl('varnowformat'),$lt/exmsg; |
215 |
$t =~ s/\$[{]?NOW[}]?/strftime $self->tl('varnowformat'),$lt/exmsg; |
216 |
$t =~ s/\${?TIME}?/strftime $self->tl('vartimeformat'), $lt/exmsg; |
216 |
$t =~ s/\$[{]?TIME[}]?/strftime $self->tl('vartimeformat'), $lt/exmsg; |
217 |
$t =~ s/\${?USER}?/$REMOTE_USER/xmsg; |
217 |
$t =~ s/\$[{]?USER[}]?/$REMOTE_USER/xmsg; |
218 |
$t =~ s/\${?REQUEST_URI}?/$REQUEST_URI/xmsg; |
218 |
$t =~ s/\$[{]?REQUEST_URI[}]?/$REQUEST_URI/xmsg; |
219 |
$t =~ s/\${?PATH_TRANSLATED}?/$PATH_TRANSLATED/xmsg; |
219 |
$t =~ s/\$[{]?PATH_TRANSLATED[}]?/$PATH_TRANSLATED/xmsg; |
220 |
$t =~ s/\${?ENV{([^}]+?)}}?/$ENV{$1}/exmsg; |
220 |
$t =~ s/\$[{]?ENV[{]([^}]+?)[}][}]?/$ENV{$1}/exmsg; |
221 |
my $clockfmt = $self->tl('vartimeformat'); |
221 |
my $clockfmt = $self->tl('vartimeformat'); |
222 |
$t =~ |
222 |
$t =~ |
223 |
s{\${?CLOCK}?}{<span id="clock"></span><script>startClock('clock','$clockfmt');</script>}xmsg; |
223 |
s{\$[{]?CLOCK[}]?}{<span id="clock"></span><script>startClock('clock','$clockfmt');</script>}xmsg; |
224 |
$t =~ s/\${?LANG}?/$LANG/xmsg; |
224 |
$t =~ s/\$[{]?LANG[}]?/$LANG/xmsg; |
225 |
$t =~ s/\${?TL{([^}]+)}}?/$self->tl($1)/exmsg; |
225 |
$t =~ s/\$[{]?TL[{]([^}]+)[}][}]?/$self->tl($1)/exmsg; |
226 |
my $vbase = $self->get_vbase(); |
226 |
my $vbase = $self->get_vbase(); |
227 |
$t =~ s/\${?VBASE}?/$vbase/xmsg; |
227 |
$t =~ s/\$[{]?VBASE[}]?/$vbase/xmsg; |
228 |
$t =~ s/\${?VHTDOCS}?/$vbase$VHTDOCS/xmsg; |
228 |
$t =~ s/\$[{]?VHTDOCS[}]?/$vbase$VHTDOCS/xmsg; |
229 |
|
229 |
|
230 |
if ($v) { |
230 |
if ($v) { |
231 |
$t =~ s{\$\[(\w+)\]}{ $$v{$1} // "\$$1"}exmsg; |
231 |
$t =~ s{\$\[(\w+)\]}{ $$v{$1} // "\$$1"}exmsg; |
232 |
$t =~ s{\${?(\w+)}?}{ $$v{$1} // "\$$1"}exmsg; |
232 |
$t =~ s{\$[{]?(\w+)[}]?}{ $$v{$1} // "\$$1"}exmsg; |
233 |
} |
233 |
} |
234 |
return $t; |
234 |
return $t; |
235 |
} |
235 |
} |
Lines 548-556
Link Here
|
548 |
next if defined $filter && $hashref->{$key} =~ $filter; |
548 |
next if defined $filter && $hashref->{$key} =~ $filter; |
549 |
my $t = $tmpl; |
549 |
my $t = $tmpl; |
550 |
$t =~ s/\$k/$key/xmsg; |
550 |
$t =~ s/\$k/$key/xmsg; |
551 |
$t =~ s/\${k}/$key/xmsg; |
551 |
$t =~ s/\$[{]k[}]/$key/xmsg; |
552 |
$t =~ s/\$v/$hashref->{$key}/xmsg; |
552 |
$t =~ s/\$v/$hashref->{$key}/xmsg; |
553 |
$t =~ s/\${v}/$hashref->{$key}/xmsg; |
553 |
$t =~ s/\$[{]v[}]/$hashref->{$key}/xmsg; |
554 |
$content .= $t; |
554 |
$content .= $t; |
555 |
} |
555 |
} |
556 |
} |
556 |
} |
Lines 569-575
Link Here
|
569 |
next if defined $filter && $val =~ $filter; |
569 |
next if defined $filter && $val =~ $filter; |
570 |
my $t = $tmpl; |
570 |
my $t = $tmpl; |
571 |
$t =~ s/\$[kv]/$val/xmsg; |
571 |
$t =~ s/\$[kv]/$val/xmsg; |
572 |
$t =~ s/\${[kv]}/$val/xmsg; |
572 |
$t =~ s/\$[{][kv][}]/$val/xmsg; |
573 |
$content .= $t; |
573 |
$content .= $t; |
574 |
} |
574 |
} |
575 |
} |
575 |
} |
Lines 617-624
Link Here
|
617 |
{ |
617 |
{ |
618 |
} |
618 |
} |
619 |
|
619 |
|
620 |
$content =~ s/\${?ENV{([^}]+?)}}?/$ENV{$1}/exmsg; |
620 |
$content =~ s/\$[{]?ENV[{]([^}]+?)[}][}]?/$ENV{$1}/exmsg; |
621 |
$content =~ s/\${?TL{([^}]+)}}?/$self->tl($1)/exmsg; |
621 |
$content =~ s/\$[{]?TL[{]([^}]+)[}][}]?/$self->tl($1)/exmsg; |
622 |
|
622 |
|
623 |
my $vbase = $self->get_vbase(); |
623 |
my $vbase = $self->get_vbase(); |
624 |
|
624 |
|
Lines 643-649
Link Here
|
643 |
}; |
643 |
}; |
644 |
|
644 |
|
645 |
$content =~ s{\$\[([\w.]+)\]}{$vars->{$1} // "\$$1"}exmsg; |
645 |
$content =~ s{\$\[([\w.]+)\]}{$vars->{$1} // "\$$1"}exmsg; |
646 |
$content =~ s{\${?([\w.]+)}?}{$vars->{$1} // "\$$1"}exmsg; |
646 |
$content =~ s{\$[{]?([\w.]+)[}]?}{$vars->{$1} // "\$$1"}exmsg; |
647 |
$content =~ |
647 |
$content =~ |
648 |
s{<!--IF${cond_rx}-->${anyng_rx}((<!--ELSE-->)${anyng_rx})?<!--ENDIF-->}{eval($1)? ( $2 // q{} ): ($5 // q{})}exmsg; |
648 |
s{<!--IF${cond_rx}-->${anyng_rx}((<!--ELSE-->)${anyng_rx})?<!--ENDIF-->}{eval($1)? ( $2 // q{} ): ($5 // q{})}exmsg; |
649 |
$content =~ |
649 |
$content =~ |