]> git.donarmstrong.com Git - debbugs.git/blobdiff - cgi/search.cgi
Support 7 digit bugs in bugspam.cgi
[debbugs.git] / cgi / search.cgi
index d3f449ea16ee2b179d9640a9c20ba9e78fd65e42..00d039357b1ca561a37c16809d25e0ed6b84c7fb 100755 (executable)
@@ -11,10 +11,33 @@ BEGIN{
      }
 }
 
+# if we're running out of git, we want to use the git base directory as the
+# first INC directory. If you're not running out of git, don't do that.
+use File::Basename qw(dirname);
+use Cwd qw(abs_path);
+our $debbugs_dir;
+BEGIN {
+    $debbugs_dir =
+       abs_path(dirname(abs_path(__FILE__)) . '/../');
+    # clear the taint; we'll assume that the absolute path to __FILE__ is the
+    # right path if there's a .git directory there
+    ($debbugs_dir) = $debbugs_dir =~ /([[:print:]]+)/;
+    if (defined $debbugs_dir and
+       -d $debbugs_dir . '/.git/') {
+    } else {
+       undef $debbugs_dir;
+    }
+    # if the first directory in @INC is not an absolute directory, assume that
+    # someone has overridden us via -I.
+    if ($INC[0] !~ /^\//) {
+    }
+}
+use if defined $debbugs_dir, lib => $debbugs_dir.'/lib/';
+
 
 use CGI::Simple;
 
-use CGI::Alert 'don@donarmstrong.com';
+# use CGI::Alert 'nobody@example.com';
 
 use Search::Estraier;
 use Debbugs::Config qw(:config);
@@ -33,7 +56,7 @@ my %cgi_var = cgi_parameters(query => $q,
                             default => {phrase      => '',
                                         max_results => 10,
                                         skip        => 0,
-                                       }.
+                                       },
                            );
 
 $cgi_var{attribute} = parse_attribute(\%cgi_var) || [];
@@ -160,7 +183,7 @@ my %attributes = ('@cdate'  => {name => 'Date',
                                type      => 'str',
                               },
                  subject   => {name => 'Bug Title',
-                               type      => 'num',
+                               type      => 'str',
                               },
                  date      => {name => 'Submission date',
                                type      => 'num',
@@ -198,11 +221,11 @@ for my $attribute (@{$cgi_var{attribute}}) {
      }
      print qq(</select>\n);
      $$attribute{value}='' if not defined $$attribute{value};
-     print qq(<input type="text" name="attribute_value" value="$$attribute{value}"><input type="submit" name="delete_attribute_$attr_num" value="Delete"><br/>\n);
+     print qq(<input type="text" name="attribute_value" value="$$attribute{value}"><input type="submit" name="delete_attribute_$attr_num" value="Delete"><br>\n);
      $attr_num++;
 
 }
-print qq(<input type="submit" name="add_attribute" value="Add Attribute"><br/>);
+print qq(<input type="submit" name="add_attribute" value="Add Attribute"><br>);
 
 # order
 
@@ -269,9 +292,9 @@ if (defined $nres) {
          my $showseverity;
          $showseverity = "Severity: <em>$attr{severity}</em>;\n";
          print <<END;
-<li><a href="$url${bugnum}#${msgnum}">#${bugnum}: $attr{'@title'}</a> @{[htmlize_packagelinks($attr{package})]}<br/>
-$showseverity<br/>
-Sent by: @{[encode_entities($attr{'@author'})]} at $attr{'@cdate'}<br/>
+<li><a href="$url${bugnum}#${msgnum}">#${bugnum}: $attr{'@title'}</a> @{[htmlize_packagelinks($attr{package})]}<br>
+$showseverity<br>
+Sent by: @{[encode_entities($attr{'@author'})]} at $attr{'@cdate'}<br>
 END
          # Deal with the snippet
          # make the things that match bits of the phrase bold, the rest normal.