Peter Palfrader commited on 2005-10-08 14:16:45
Zeige 13 geänderte Dateien mit 80 Einfügungen und 37 Löschungen.
... | ... |
@@ -10,7 +10,7 @@ |
10 | 10 |
<div class="bottom" id="bottom"> |
11 | 11 |
<i><a href="mailto:tor-webmaster@freehaven.net" class="smalllink">Webmaster</a></i> - |
12 | 12 |
# Id: developers.html,v 1.41 2005/08/31 20:19:16 thomass Exp |
13 |
- Letzte änderung: <: @stat = stat($(LANG).'/'.$WML_SRC_FILENAME); print scalar localtime($stat[9]); :> |
|
13 |
+ Letzte änderung: <: my @stat = stat($(LANG).'/'.$WML_SRC_FILENAME); print scalar localtime($stat[9]); :> |
|
14 | 14 |
- |
15 | 15 |
Zuletzt kompiliert: <: print scalar localtime(); :> |
16 | 16 |
|
... | ... |
@@ -9,7 +9,7 @@ |
9 | 9 |
<div class="bottom" id="bottom"> |
10 | 10 |
<i><a href="mailto:tor-webmaster@freehaven.net" class="smalllink">Webmaster</a></i> - |
11 | 11 |
# Id: developers.html,v 1.41 2005/08/31 20:19:16 thomass Exp |
12 |
- Last modified: <: @stat = stat($(LANG).'/'.$WML_SRC_FILENAME); print scalar localtime($stat[9]); :> |
|
12 |
+ Last modified: <: my @stat = stat($(LANG).'/'.$WML_SRC_FILENAME); print scalar localtime($stat[9]); :> |
|
13 | 13 |
- |
14 | 14 |
Last compiled: <: print scalar localtime(); :> |
15 | 15 |
|
... | ... |
@@ -10,16 +10,18 @@ |
10 | 10 |
|
11 | 11 |
<: |
12 | 12 |
my %files; |
13 |
+ my @warnings; |
|
13 | 14 |
for my $lang (@LANGUAGES) { |
14 | 15 |
opendir(DIR, $lang) or die ("Cannot opendir $lang: $!\n"); |
15 | 16 |
my @files = grep { $_ ne '.' && $_ ne '..' && $_ =~ m/^[^.]/ && -f $lang.'/'.$_} readdir(DIR); |
16 | 17 |
closedir DIR; |
17 | 18 |
|
18 | 19 |
for my $file (@files) { |
20 |
+ $files{$lang}->{$file}->{'all'} = getMetadata($lang.'/'.$file); |
|
19 | 21 |
if ($lang eq 'en') { |
20 |
- $files{$lang}->{$file} = translation_get_masterrevision_file($file); |
|
22 |
+ $files{$lang}->{$file}->{'rev'} = translation_get_masterrevision_file($file); |
|
21 | 23 |
} else { |
22 |
- $files{$lang}->{$file} = translation_get_basedonrevision_langfile($lang, $file); |
|
24 |
+ $files{$lang}->{$file}->{'based'} = translation_get_basedonrevision_langfile($lang, $file); |
|
23 | 25 |
}; |
24 | 26 |
}; |
25 | 27 |
}; |
... | ... |
@@ -27,25 +29,56 @@ |
27 | 29 |
print "<table border=1>\n"; |
28 | 30 |
print "<tr>\n"; |
29 | 31 |
print "<th>File</th>\n"; |
30 |
- printf("<th>%s</th>\n", $LANGUAGES{$_}) for (@LANGUAGES); |
|
32 |
+ printf("<th>%s (%s)</th>\n", $_, $LANGUAGES{$_}) for (@LANGUAGES); |
|
31 | 33 |
print "</tr>\n"; |
32 | 34 |
for my $file (sort {$a cmp $b} keys %{$files{'en'}}) { |
33 | 35 |
my $obs = file_is_obsolete('en', $file); |
34 | 36 |
print "<tr>"; |
35 | 37 |
printf "<th>%s</th>", $file; |
36 |
- printf "<td%s>%s%s</td>", ($obs ? ' bgcolor="grey"' : ''), $files{'en'}->{$file}, ($obs ? ' (obsolete)' :''); |
|
38 |
+ printf '<td%s>Revision %s%s<br> |
|
39 |
+ <a href="http://cvs.seul.org/viewcvs/viewcvs.cgi/website/en/%s?root=tor&view=markup">HEAD</a></td>', |
|
40 |
+ ($obs ? ' bgcolor="lightgrey"' : ''), |
|
41 |
+ $files{'en'}->{$file}->{'rev'}, |
|
42 |
+ ($obs ? ' (obsolete)' :''), |
|
43 |
+ $file; |
|
37 | 44 |
for my $lang (@LANGUAGES) { |
38 | 45 |
next if $lang eq 'en'; |
46 |
+ my $color; |
|
47 |
+ my $status; |
|
39 | 48 |
if (exists $files{$lang}->{$file}) { |
40 |
- if ($files{$lang}->{$file} eq $files{'en'}->{$file}) { |
|
41 |
- printf '<td bgcolor="lightgreen">current</td>'; |
|
49 |
+ my $all_info = ''; |
|
50 |
+ for my $key (sort {$a cmp $b} keys %{$files{$lang}->{$file}->{'all'}}) { |
|
51 |
+ $all_info .= sprintf "%s: %s<br>", $key, $files{$lang}->{$file}->{'all'}->{$key}; |
|
52 |
+ }; |
|
53 |
+ |
|
54 |
+ my $difflink; |
|
55 |
+ if ($files{$lang}->{$file}->{'based'} eq $files{'en'}->{$file}->{'rev'}) { |
|
56 |
+ $color='lightgreen'; |
|
57 |
+ $status='current'; |
|
58 |
+ $difflink=''; |
|
42 | 59 |
} else { |
43 |
- printf '<td bgcolor="yellow">%s</td>', $files{$lang}->{$file}; |
|
60 |
+ $color='yellow'; |
|
61 |
+ $status='not current'; |
|
62 |
+ if ($files{$lang}->{$file} ne 'unknown') { |
|
63 |
+ $difflink=sprintf '<br><a href="http://cvs.seul.org/viewcvs/viewcvs.cgi/website/en/%s?root=tor&r1=%s&r2=%s">changes in original</a>', |
|
64 |
+ $file, $files{$lang}->{$file}->{'based'}, $files{'en'}->{$file}->{'rev'}; |
|
44 | 65 |
}; |
45 |
- delete $files{$lang}->{$file}; |
|
66 |
+ }; |
|
67 |
+ printf '<td bgcolor="%s">%s<br> |
|
68 |
+ <a href="http://cvs.seul.org/viewcvs/viewcvs.cgi/website/%s/%s?root=tor&view=markup">HEAD</a><br> |
|
69 |
+ %s |
|
70 |
+ %s</td>', |
|
71 |
+ $color, |
|
72 |
+ $status, |
|
73 |
+ $lang, $file, |
|
74 |
+ $all_info, |
|
75 |
+ $difflink; |
|
46 | 76 |
} else { |
47 |
- printf '<td bgcolor="%s">missing</td>', ($obs ? 'lightgreen' : 'red') |
|
77 |
+ $color=($obs ? 'lightgreen' : 'red'); |
|
78 |
+ $status='missing'; |
|
79 |
+ printf '<td bgcolor="%s">%s</td>', $color, $status; |
|
48 | 80 |
}; |
81 |
+ delete $files{$lang}->{$file}; |
|
49 | 82 |
}; |
50 | 83 |
print "</tr>"; |
51 | 84 |
}; |
... | ... |
@@ -54,7 +87,8 @@ |
54 | 87 |
for my $lang (@LANGUAGES) { |
55 | 88 |
next if $lang eq 'en'; |
56 | 89 |
if (keys %{$files{$lang}} > 0) { |
57 |
- printf "<h2>Additional files in %s</h2>\n", $LANGUAGES{$lang}; |
|
90 |
+ print "<p>"; |
|
91 |
+ printf "<h2>Additional files in %s (%s)</h2>\n", $lang, $LANGUAGES{$lang}; |
|
58 | 92 |
|
59 | 93 |
print "<table border=1>\n"; |
60 | 94 |
print "<tr>\n"; |
... | ... |
@@ -63,8 +97,11 @@ |
63 | 97 |
print "</tr>\n"; |
64 | 98 |
for my $file (sort {$a cmp $b} keys %{$files{$lang}}) { |
65 | 99 |
print "<tr>"; |
66 |
- printf "<th>%s</th>", $file; |
|
67 |
- printf "<td>%s</td>", $files{$lang}->{$file}; |
|
100 |
+ printf "<th>%s</th><td>", $file; |
|
101 |
+ for my $key (sort {$a cmp $b} keys %{$files{$lang}->{$file}->{'all'}}) { |
|
102 |
+ printf "%s: %s<br>", $key, $files{$lang}->{$file}->{'all'}->{$key}; |
|
103 |
+ }; |
|
104 |
+ printf "</td>"; |
|
68 | 105 |
delete $files{$lang}->{$file}; |
69 | 106 |
}; |
70 | 107 |
print "</table>\n"; |
... | ... |
@@ -5,6 +5,8 @@ |
5 | 5 |
sub getMetadata($) { |
6 | 6 |
my ($file) = @_; |
7 | 7 |
|
8 |
+ die ("File $file is not a regular file") unless (-f $file); |
|
9 |
+ |
|
8 | 10 |
open(F, "$file") or die ("Cannot open $file: $!\n"); |
9 | 11 |
my $found_metadata = 0; |
10 | 12 |
while (<F>) { |
... | ... |
@@ -24,16 +26,16 @@ sub getMetadata($) { |
24 | 26 |
last; |
25 | 27 |
}; |
26 | 28 |
}; |
27 |
- return %data; |
|
29 |
+ return \%data; |
|
28 | 30 |
}; |
29 | 31 |
|
30 | 32 |
sub translation_get_masterrevision_file($) { |
31 | 33 |
my ($page) = @_; |
32 |
- %master = getMetadata("en/$page"); |
|
34 |
+ my $master = getMetadata("en/$page"); |
|
33 | 35 |
|
34 |
- die ("Cannot find 'Revision' header in master's translation metadata of en/$page") unless exists $master{'Revision'}; |
|
36 |
+ die ("Cannot find 'Revision' header in master's translation metadata of en/$page") unless exists $master->{'Revision'}; |
|
35 | 37 |
|
36 |
- my ($rev) = $master{'Revision'} =~ m/([0-9.]+)/; |
|
38 |
+ my ($rev) = $master->{'Revision'} =~ m/([0-9.]+)/; |
|
37 | 39 |
if ($rev eq '') { $rev = '(Revision not a valid number)'; }; |
38 | 40 |
|
39 | 41 |
return $rev; |
... | ... |
@@ -44,17 +46,17 @@ sub translation_get_masterrevision() { |
44 | 46 |
|
45 | 47 |
sub translation_get_basedonrevision_langfile($$) { |
46 | 48 |
my ($lang, $page) = @_; |
47 |
- %translation = getMetadata("$lang/$page"); |
|
49 |
+ my $translation = getMetadata("$lang/$page"); |
|
48 | 50 |
|
49 |
- die ("Cannot find 'Based-On-Revision' header in translations's translation metadata of $lang/$page") unless exists $translation{'Based-On-Revision'}; |
|
51 |
+ die ("Cannot find 'Based-On-Revision' header in translations's translation metadata of $lang/$page") unless exists $translation->{'Based-On-Revision'}; |
|
50 | 52 |
|
51 |
- my ($rev) = $translation{'Based-On-Revision'}; |
|
53 |
+ my ($rev) = $translation->{'Based-On-Revision'}; |
|
52 | 54 |
if ($rev eq '') { $rev = '(unknown)'; }; |
53 | 55 |
|
54 | 56 |
return $rev |
55 | 57 |
}; |
56 | 58 |
sub translation_get_basedonrevision() { |
57 |
- translation_get_basedonrevision_langfile($(LANG), $WML_SRC_FILENAME); |
|
59 |
+ translation_get_basedonrevision_langfile("$(LANG)", $WML_SRC_FILENAME); |
|
58 | 60 |
}; |
59 | 61 |
|
60 | 62 |
|
... | ... |
@@ -64,8 +66,8 @@ sub translation_current() { |
64 | 66 |
|
65 | 67 |
sub file_is_obsolete($$) { |
66 | 68 |
my ($lang, $page) = @_; |
67 |
- %translation = getMetadata("$lang/$page"); |
|
68 |
- return (exists $translation{'Status'} && ($translation{'Status'} eq 'obsolete')) |
|
69 |
+ my $translation = getMetadata("$lang/$page"); |
|
70 |
+ return (exists $translation->{'Status'} && ($translation->{'Status'} eq 'obsolete')) |
|
69 | 71 |
}; |
70 | 72 |
|
71 | 73 |
:> |
... | ... |
@@ -1,4 +1,5 @@ |
1 | 1 |
#! /usr/bin/wml |
2 |
+<: use strict; :> |
|
2 | 3 |
#include "perl-globals.wmi" |
3 | 4 |
#include "links.wmi" |
4 | 5 |
#include "versions.wmi" |
... | ... |
@@ -23,15 +24,17 @@ |
23 | 24 |
<td class="banner-left"></td> |
24 | 25 |
<td class="banner-middle"> |
25 | 26 |
<: |
27 |
+ my %navigation; |
|
28 |
+ my @keys; |
|
26 | 29 |
while (@navigation) { |
27 |
- $key = shift @navigation; |
|
28 |
- $val = shift @navigation; |
|
30 |
+ my $key = shift @navigation; |
|
31 |
+ my $val = shift @navigation; |
|
29 | 32 |
push @keys, $key; |
30 | 33 |
$navigation{$key} = $val; |
31 | 34 |
} |
32 | 35 |
|
33 |
- for $key (@keys) { |
|
34 |
- $page = $WML_SRC_FILENAME; |
|
36 |
+ for my $key (@keys) { |
|
37 |
+ my $page = $WML_SRC_FILENAME; |
|
35 | 38 |
$page =~ s/\.wml//; |
36 | 39 |
if ($page ne $key) { |
37 | 40 |
printf '<a href="%s.html.$(LANG)">%s</a>'."\n", $key, $navigation{$key}; |
... | ... |
@@ -43,7 +46,7 @@ |
43 | 46 |
</td> |
44 | 47 |
<td class="banner-right"> |
45 | 48 |
<: |
46 |
- $page = $WML_SRC_FILENAME; |
|
49 |
+ my $page = $WML_SRC_FILENAME; |
|
47 | 50 |
$page =~ s/\.wml//; |
48 | 51 |
for my $dir (sort {$LANGUAGES{$a} cmp $LANGUAGES{$b}} @LANGUAGES) { |
49 | 52 |
next if $dir eq '$(LANG)'; |
... | ... |
@@ -10,7 +10,7 @@ |
10 | 10 |
<div class="bottom" id="bottom"> |
11 | 11 |
<i><a href="mailto:tor-webmaster@freehaven.net" class="smalllink">Webmaster</a></i> - |
12 | 12 |
# Id: developers.html,v 1.41 2005/08/31 20:19:16 thomass Exp |
13 |
- Last modified: <: @stat = stat($(LANG).'/'.$WML_SRC_FILENAME); print scalar localtime($stat[9]); :> |
|
13 |
+ Last modified: <: my @stat = stat($(LANG).'/'.$WML_SRC_FILENAME); print scalar localtime($stat[9]); :> |
|
14 | 14 |
- |
15 | 15 |
Last compiled: <: print scalar localtime(); :> |
16 | 16 |
|