Use q->multi_param() when multiple values are expected.
[buildfarm-server.git] / cgi-bin / show_failures.pl
index 48f0e978d0f67db25a406a0cc461f322548bf5dc..ffdcef94cf6fa1e7590b4b5e4d74a4a4fa3dc13b 100755 (executable)
@@ -15,16 +15,16 @@ use CGI;
 
 use vars qw($dbhost $dbname $dbuser $dbpass $dbport $template_dir);
 
-
-require "$ENV{BFConfDir}/BuildFarmWeb.pl";
+use FindBin qw($RealBin);
+require "$RealBin/../BuildFarmWeb.pl";
 
 my $query = new CGI;
-my @members = grep {$_ ne "" } $query->param('member');
+my @members = grep {$_ ne "" } $query->multi_param('member');
 map { s/[^a-zA-Z0-9_ -]//g; } @members;
 my $max_days =  $query->param('max_days') + 0 || 10;
-my @branches = grep {$_ ne "" } $query->param('branch');
-map { s/[^a-zA-Z0-9_ -]//g; } @branches;
-my @stages = grep {$_ ne "" } $query->param('stage');
+my @branches = grep {$_ ne "" } $query->multi_param('branch');
+map { s/[^a-zA-Z0-9_ .-]//g; } @branches;
+my @stages = grep {$_ ne "" } $query->multi_param('stage');
 map { s/[^a-zA-Z0-9_ :-]//g; } @stages;
 
 my $dsn="dbi:Pg:dbname=$dbname";
@@ -71,7 +71,7 @@ my $all_members = $db->selectcol_arrayref($get_all_members);
 
 my $get_all_stages = qq{
 
-  select distinct stage 
+  select distinct build_status.stage 
   from build_status 
     join nrecent_failures using (sysname,snapshot,branch)
 
@@ -109,18 +109,18 @@ while (my $row = $sth->fetchrow_hashref)
     next if (@branches && ! grep {$_ eq $row->{branch} } @branches);
     $row->{build_flags}  =~ s/^\{(.*)\}$/$1/;
     $row->{build_flags}  =~ s/,/ /g;
-       # enable-integer-datetimes is now the default
-       if ($row->{branch} eq 'HEAD' || $row->{branch} gt 'REL8_3_STABLE')
-       {
-               $row->{build_flags} .= " --enable-integer-datetimes "
-                       unless ($row->{build_flags} =~ /--(en|dis)able-integer-datetimes/);
-       }
-       # enable-thread-safety is now the default
-       if ($row->{branch} eq 'HEAD' || $row->{branch} gt 'REL8_5_STABLE')
-       {
-               $row->{build_flags} .= " --enable-thread-safety "
-                       unless ($row->{build_flags} =~ /--(en|dis)able-thread-safety/);
-       }
+##     # enable-integer-datetimes is now the default
+##     if ($row->{branch} eq 'HEAD' || $row->{branch} gt 'REL8_3_STABLE')
+##     {
+##             $row->{build_flags} .= " --enable-integer-datetimes "
+##                     unless ($row->{build_flags} =~ /--(en|dis)able-integer-datetimes/);
+##     }
+##     # enable-thread-safety is now the default
+##     if ($row->{branch} eq 'HEAD' || $row->{branch} gt 'REL8_5_STABLE')
+##     {
+##             $row->{build_flags} .= " --enable-thread-safety "
+##                     unless ($row->{build_flags} =~ /--(en|dis)able-thread-safety/);
+##     }
     $row->{build_flags}  =~ s/--((enable|with)-)?//g;
        $row->{build_flags} =~ s/libxml/xml/;
     $row->{build_flags}  =~ s/\S+=\S+//g;
@@ -149,4 +149,3 @@ $template->process('fstatus.tt',
                 qstages => \@stages} );
 
 exit;
-