]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/CGI.pm
Packages::I18N::LanguageNames: Misc. fixes
[deb/packages.git] / lib / Packages / CGI.pm
index b09235273ab4d9e057321f2a9c494287bdf89e09..b15e9edc63162da758865f07f4607bc8a6cf90f7 100644 (file)
@@ -4,26 +4,39 @@ use strict;
 use warnings;
 
 use Exporter;
-use Packages::Config;
 
 our @ISA = qw( Exporter );
-our @EXPORT = qw( DEBUG debug fatal_error );
+our @EXPORT = qw( DEBUG debug fatal_error get_mime );
 our @EXPORT_OK = qw( error hint msg note get_all_messages
                     make_url make_search_url );
 
-
 # define this to 0 in production mode
 use constant DEBUG => 1;
 our $debug = 0;
 
+my %mime_types = (
+                 txt => 'text/plain',
+                 'txt.gz' => 'text/plain',
+                 html => 'text/html',
+                 rss => 'application/rss+xml',
+                 rfc822 => 'text/plain',
+                 );
+
+sub get_mime {
+    return $mime_types{$_[0]} || $_[1] || 'text/html';
+}
+
 our (@fatal_errors, @errors, @debug, @msgs, @hints, @notes);
+our $http_code;
 
 sub reset {
     @fatal_errors = @errors = @debug = @msgs = @hints = @notes = ();
+    $http_code = 200;
 }
 
 sub fatal_error {
     push @fatal_errors, $_[0];
+    $http_code = $_[1] if $_[1];
 }
 sub error {
     push @errors, $_[0];
@@ -335,8 +348,8 @@ sub printindexline {
 
 sub string2id {
     my $string = "@_";
-    
-    $string =~ s/[^\w]/_/g;
+
+    $string =~ s/[^\w:.-]/_/g;
     return $string;
 }