X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=scripts%2Flocales.pl;h=0780a49f6ecf8514c36eed112f1a47ce687babc0;hb=4ab897fdb1a54cd753ec66ebc8fbd5ffdd883cd6;hp=f03e5c667ad2004b7b6c684f4de2370c0b6083b2;hpb=e055700faea1906bea6c03184ba4516b57cac887;p=kivitendo-erp.git diff --git a/scripts/locales.pl b/scripts/locales.pl index f03e5c667..0780a49f6 100755 --- a/scripts/locales.pl +++ b/scripts/locales.pl @@ -31,7 +31,7 @@ parse_args(); my $basedir = "../.."; my $locales_dir = "."; my $bindir = "$basedir/bin/mozilla"; -my @progdirs = ( "$basedir/SL/Controller", "$basedir/SL/Template/Plugin", "$basedir/SL/Auth" ); +my @progdirs = ( "$basedir/SL" ); my $dbupdir = "$basedir/sql/Pg-upgrade"; my $dbupdir2 = "$basedir/sql/Pg-upgrade2"; my $menufile = "menu.ini"; @@ -42,18 +42,39 @@ my ($ALL_HEADER, $MISSING_HEADER, $LOST_HEADER); 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;