$cached{$file}{scannosubs}{"../../SL/${module}.pm"} = 1;
}
+ # Some calls to render() are split over multiple lines. Deal
+ # with that.
+ while (/(?:parse_html_template2?|render)\s*\( *$/) {
+ $_ .= <$fh>;
+ chomp;
+ }
+
# is this a template call?
if (/(?:parse_html_template2?|render)\s*\(\s*[\"\']([\w\/]+)\s*[\"\']/) {
- my $newfile = "$basedir/templates/webpages/$1.html";
+ my $new_file_base = "$basedir/templates/webpages/$1.";
if (/parse_html_template2/) {
- print "E: " . strip_base($file) . " is still using 'parse_html_template2' for " . strip_base($newfile) . ".\n";
+ print "E: " . strip_base($file) . " is still using 'parse_html_template2' for " . strip_base("${new_file_base}html") . ".\n";
}
- if (-f $newfile) {
- $cached{$file}{scanh}{$newfile} = 1;
- print "." if $opt_v;
- } elsif ($opt_c) {
- print "W: missing HTML template: " . strip_base($newfile) . " (referenced from " . strip_base($file) . ")\n";
+
+ my $found_one = 0;
+ foreach my $ext (qw(html js json)) {
+ my $new_file = "${new_file_base}${ext}";
+ if (-f $new_file) {
+ $cached{$file}{scanh}{$new_file} = 1;
+ print "." if $opt_v;
+ $found_one = 1;
+ }
+ }
+
+ if ($opt_c && !$found_one) {
+ print "W: missing HTML template: " . strip_base($new_file_base) . "{html,json,js} (referenced from " . strip_base($file) . ")\n";
}
}
}
# exit loop if there are no more locales on this line
- ($rc) = ($postmatch =~ /locale->text/);
+ ($rc) = ($postmatch =~ /locale->text | \b t8/x);
if ( ($postmatch =~ />/)
|| (!$found && ($sub_line_no != $line_no) && />/)) {
while ($line =~ m/\[\%[^\w]*(\w+)\.\w+\(/g) {
my $plugin = $1;
- $plugins{needed}->{$plugin} = 1 if (first { $_ eq $plugin } qw(HTML LxERP JavaScript MultiColumnIterator L));
+ $plugins{needed}->{$plugin} = 1 if (first { $_ eq $plugin } qw(HTML LxERP JavaScript JSON L P));
}
+ $plugins{needed}->{T8} = 1 if $line =~ m/\[\%.*\|.*\$T8/;
+
while ($line =~ m/(?: # Start von Variante 1: LxERP.t8('...'); ohne darumliegende [% ... %]-Tags
(LxERP\.t8)\( # LxERP.t8( ::Parameter $1::
([\'\"]) # Anfang des zu übersetzenden Strings ::Parameter $2::