The following commit has been merged in the master branch:
commit 0e2a94fd63e8f95dac115fde72163cf44aba9290
Author: Frank Lichtenheld <[email protected]>
Date:   Sat Jul 4 23:33:22 2009 +0200

    Emply various dark magic, so that the language override works for the 
homepage
    
    Oh, so many parts of this need a clean rewrite...

diff --git a/conf/apache.conf.sed.in b/conf/apache.conf.sed.in
index b0b33e3..91833a6 100644
--- a/conf/apache.conf.sed.in
+++ b/conf/apache.conf.sed.in
@@ -111,22 +111,23 @@
    RewriteRule ^/robots.txt$ - [L]
 
 #   RewriteRule ^/$ http://www.debian.org/distrib/packages
-   RewriteRule ^/$                     /index.html [L]
+   RewriteRule ^/$                     /index [L]
    RewriteRule ^/([^/+]*)([+])([^/]*)$ "/$1%%{%}2B$3" [N]
    RewriteRule ^/changelog:(.+)$       /changelogs/${changelog-url:$1} [R,L,NE]
    RewriteRule ^/src:([^/]+)$          
/search?searchon=sourcenames&keywords=$1 [R,L,NE]
    RewriteRule ^/file:(.+)$            /search?searchon=contents&keywords=$1 
[R,L,NE]
-   RewriteCond %{QUERY_STRING} ^$ [OR]
-   RewriteCond %{REQUEST_URI} !^/search$
-   RewriteCond %{REQUEST_URI} !^/cgi-bin/search_(contents|packages)\.pl$
-   RewriteRule ^/([^/]+)$              /search?keywords=$1 [R,L,NE]
-
+   
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %TOPDIR%/www%{REQUEST_FILENAME} -f [OR]
    RewriteCond %TOPDIR%/www%{REQUEST_FILENAME}.en.html -f [OR]
    RewriteCond %TOPDIR%/www%{REQUEST_FILENAME} -l
    RewriteRule . - [L]
 
+   RewriteCond %{QUERY_STRING} ^$ [OR]
+   RewriteCond %{REQUEST_URI} !^/search$
+   RewriteCond %{REQUEST_URI} !^/cgi-bin/search_(contents|packages)\.pl$
+   RewriteRule ^/([^/]+)$              /search?keywords=$1 [R,L,NE]
+
    RewriteRule ^/(.+)$ /cgi-bin/dispatcher.pl/$1 [L,PT]
 
 #  In case we need to disable the site again
diff --git a/lib/Packages/Dispatcher.pm b/lib/Packages/Dispatcher.pm
index 484e222..08c6f96 100755
--- a/lib/Packages/Dispatcher.pm
+++ b/lib/Packages/Dispatcher.pm
@@ -177,7 +177,11 @@ sub do_dispatch {
        } elsif (@components == 0) {
            fatal_error( "We're supposed to display the homepage here, instead 
of getting dispatch.pl" );
        } elsif (@components == 1) {
-           $what_to_do = 'search';
+           if ($components[0] eq 'index') {
+               $what_to_do = 'homepage';
+           } else {
+               $what_to_do = 'search';
+           }
        } else {
 
            for ($components[-1]) {
diff --git a/lib/Packages/DoIndex.pm b/lib/Packages/DoIndex.pm
index 5aba6b3..6af0c3a 100644
--- a/lib/Packages/DoIndex.pm
+++ b/lib/Packages/DoIndex.pm
@@ -12,7 +12,12 @@ use Packages::Config qw( $TOPDIR );
 use Packages::CGI;
 
 our @ISA = qw( Exporter );
-our @EXPORT = qw( do_index do_allpackages );
+our @EXPORT = qw( do_homepage do_index do_allpackages );
+
+sub do_homepage {
+    $_[1]->{suite} = [];
+    return send_file( 'index', @_ );
+}
 
 sub do_index {
     return send_file( 'index', @_ );
@@ -46,7 +51,7 @@ sub send_file {
     my $wwwdir = "$TOPDIR/www";
     my $path = "";
     $path .= "source/" if $opts->{source};
-    $path .= "$opts->{suite}[0]/";
+    $path .= "$opts->{suite}[0]/" if @{$opts->{suite}};
     $path .= "$opts->{archive}[0]/" if @{$opts->{archive}} == 1;
     $path .= "$opts->{subsection}[0]/" if @{$opts->{subsection}};
     $path .= "$opts->{priority}[0]/" if @{$opts->{priority}};
diff --git a/templates/html/homepage.tmpl b/templates/html/homepage.tmpl
index 7aa276e..6dabe9f 100644
--- a/templates/html/homepage.tmpl
+++ b/templates/html/homepage.tmpl
@@ -115,4 +115,4 @@ Distribution:
 </select>
 </form>
 
-[% PROCESS 'html/foot.tmpl' copyright.years = '1997 - 2009' %]
+[% PROCESS 'html/foot.tmpl' page_name=packages_homepage copyright.years = 
'1997 - 2009' %]

-- 
APT Archive Web-Frontend (Alioth repository)


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to