my $basedir = "../..";
my $locales_dir = ".";
my $bindir = "$basedir/bin/mozilla";
-my @progdirs = ( "$basedir/SL/Controller", "$basedir/SL/Template/Plugin" );
+my @progdirs = ( "$basedir/SL" );
my $dbupdir = "$basedir/sql/Pg-upgrade";
my $dbupdir2 = "$basedir/sql/Pg-upgrade2";
my $menufile = "menu.ini";
init();
-opendir DIR, "$bindir" or die "$!";
-my @progfiles = map { [ $_, $bindir ] } grep { /\.pl$/ && !/(_custom|^\.)/ } readdir DIR;
-seekdir DIR, 0;
-my @customfiles = grep /_custom/, readdir DIR;
-closedir DIR;
+sub find_files {
+ my ($dir_name, $files) = @_;
-foreach my $dir (@progdirs) {
- opendir DIR, $dir or die "$!";
- push @progfiles, map { [ $_, $dir ] } grep { /\.pm$/ } readdir DIR;
- closedir DIR;
+ $files ||= [];
+
+ my @dirs_to_check;
+
+ opendir my $dir, $dir_name or die "$! $dir_name";
+
+ foreach my $name (readdir $dir) {
+ next if $name eq '.' || $name eq '..';
+
+ my $full_name = "${dir_name}/${name}";
+ if (-d $full_name) {
+ push @dirs_to_check, $full_name;
+ } else {
+ push @{ $files }, $full_name;
+ }
+ }
+
+ closedir $dir;
+
+ map { find_files($_, $files) } @dirs_to_check;
+
+ return @{ $files };
}
+my @bindir_files = find_files($bindir);
+my @progfiles = map { m:^(.+)/([^/]+)$:; [ $2, $1 ] } grep { /\.pl$/ && !/_custom/ } @bindir_files;
+my @customfiles = grep /_custom/, @bindir_files;
+
+push @progfiles, map { m:^(.+)/([^/]+)$:; [ $2, $1 ] } grep { /\.pm$/ } map { find_files($_) } @progdirs;
+
# put customized files into @customfiles
my @menufiles;
my ($is_submit, $line_no, $sub_line_no) = (0, 0, 0);
while (<$fh>) {
+ last if /^\s*__END__/;
+
$line_no++;
# is this another file
}
# is this a template call?
- if (/parse_html_template2?\s*\(\s*[\"\']([\w\/]+)\s*[\"\']/) {
+ if (/(?:parse_html_template2?|render)\s*\(\s*[\"\']([\w\/]+)\s*[\"\']/) {
my $newfile = "$basedir/templates/webpages/$1.html";
if (/parse_html_template2/) {
print "E: " . strip_base($file) . " is still using 'parse_html_template2' for " . strip_base($newfile) . ".\n";