]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Fix for bug 104521: Removes old attachment interface in favor of new attachment tracker.
authormyk%mozilla.org <>
Wed, 30 Jan 2002 22:14:10 +0000 (22:14 +0000)
committermyk%mozilla.org <>
Wed, 30 Jan 2002 22:14:10 +0000 (22:14 +0000)
Patch by Myk Melez <myk@mozilla.org>.
r=bbaetz,kiko

CGI.pl
bug_form.pl
checksetup.pl
defparams.pl
globals.pl
processmail
showattachment.cgi

diff --git a/CGI.pl b/CGI.pl
index 90217db18313fa7b0522f1ecb15be6ed6b39b5bb..eb8f5f03725907f372490d7df2b87c8e602df76b 100644 (file)
--- a/CGI.pl
+++ b/CGI.pl
@@ -1270,7 +1270,7 @@ sub DumpBugActivity {
     while (@row = FetchSQLData()) {
         my ($field,$attachid,$when,$removed,$added,$who) = (@row);
         $field =~ s/^Attachment/<a href="attachment.cgi?id=$attachid&amp;action=view">Attachment #$attachid<\/a>/ 
-          if (Param('useattachmenttracker') && $attachid);
+          if $attachid;
         $removed = html_quote($removed);
         $added = html_quote($added);
         $removed = "&nbsp;" if $removed eq "";
@@ -1349,7 +1349,7 @@ Edit <a href="userprefs.cgi">prefs</a>
         if (UserInGroup("editcomponents")) {
             $html .= ", <a href=\"editproducts.cgi\">products</a>\n";
             $html .= ", <a href=\"editattachstatuses.cgi\">
-              attachment&nbsp;statuses</a>\n" if Param('useattachmenttracker');
+              attachment&nbsp;statuses</a>\n";
         }
         if (UserInGroup("creategroups")) {
             $html .= ", <a href=\"editgroups.cgi\">groups</a>\n";
index 97491772d06c2ec6f46f9e9ee655bdea6e89e5e8..76c7cc24228853202ada74edd6b67282513f04f6 100644 (file)
@@ -25,6 +25,9 @@ use strict;
 
 use RelationSet;
 
+# Use the Attachment module to display attachments for the bug.
+use Attachment;
+
 # Shut up misguided -w warnings about "used only once".  For some reason,
 # "use vars" chokes on me when I try it here.
 
@@ -324,28 +327,10 @@ if (@::legal_keywords) {
 };
 }
 
-# 2001-05-16 myk@mozilla.org: use the attachment tracker to display attachments
-# if this installation has enabled use of the attachment tracker.
-if (Param('useattachmenttracker')) {
-    print "</table>\n";
-    use Attachment;
-    &Attachment::list($id);
-} else {
-    print "<tr><td align=right><B>Attachments:</b></td>\n";
-    SendSQL("select attach_id, creation_ts, mimetype, description from attachments where bug_id = $id");
-    while (MoreSQLData()) {
-        my ($attachid, $date, $mimetype, $desc) = (FetchSQLData());
-        if ($date =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
-            $date = "$3/$4/$2 $5:$6";
-        }
-        my $link = "showattachment.cgi?attach_id=$attachid";
-        $desc = value_quote($desc);
-        $mimetype = html_quote($mimetype);
-        print qq{<td><a href="$link">$date</a></td><td colspan=6>$desc&nbsp;&nbsp;&nbsp;($mimetype)</td></tr><tr><td></td>};
-    }
-    print "<td colspan=7><a href=\"createattachment.cgi?id=$id\">Create a new attachment</a> (proposed patch, testcase, etc.)</td></tr></table>\n";
-}
+print "</TABLE>\n";
 
+# Display attachments for this bug (if any).
+&Attachment::list($id);
 
 sub EmitDependList {
     my ($desc, $myfield, $targetfield) = (@_);
index d793879ff775b3eeb7594f9902b06631c14273d2..125b18a6cfbe8bce0c5c184bd4e07a29f0c5e321 100755 (executable)
@@ -934,11 +934,9 @@ $table{attachments} =
     index(bug_id),
     index(creation_ts)';
 
-# 2001-05-05 myk@mozilla.org: Tables to support the attachment tracker.
+# 2001-05-05 myk@mozilla.org: Tables to support attachment statuses.
 # "attachstatuses" stores one record for each status on each attachment.
 # "attachstatusdefs" defines the statuses that can be set on attachments.
-# Note: These tables are only used if the parameter "useattachmenttracker"
-# is turned on via editparameters.cgi.
 
 $table{attachstatuses} =
    '
index 76fb777779ad1dee7e674e9ae2cb69512b1d918c..819013341596401ffed10387ae670dd86eef07cf 100644 (file)
@@ -54,6 +54,16 @@ sub WriteParams {
             }
         }
     }
+    # If Bugzilla has been upgraded since the last time parameters were edited,
+    # and some parameters have been removed in the new version of Bugzilla,
+    # remove them from the parameters file.
+    foreach my $item (keys %::param) {
+        if (!grep($_ eq $item, @::param_list) && $item ne "version") {
+            print "The <em>$item</em> parameter is no longer used in Bugzilla
+              and has been removed from your parameters file.<br>";
+            delete $::param{$item};
+        }
+    }
     mkdir("data", 0777);
     chmod 0777, "data";
     my $tmpname = "data/params.$$";
@@ -674,11 +684,6 @@ DefParam("moved-default-component",
          "t",
          '');
 
-DefParam("useattachmenttracker",
-         "Whether or not to use the attachment tracker that adds additional features for tracking bug attachments.",
-         "b",
-         0);
-
 # The maximum size (in bytes) for patches and non-patch attachments.
 # The default limit is 1000KB, which is 24KB less than mysql's default
 # maximum packet size (which determines how much data can be sent in a
index d8e5672e056d674000ab12c716e9d4f79f709d05..86478b03c5f4cc0497ed3121c8ff817921680f4c 100644 (file)
@@ -1039,7 +1039,7 @@ sub quoteUrls {
         my $num = $2;
         $item = value_quote($item); # Not really necessary, since we know
                                     # there's no special chars in it.
-        $item = qq{<A HREF="showattachment.cgi?attach_id=$num">$item</A>};
+        $item = qq{<A HREF="attachment.cgi?id=$num&action=view">$item</A>};
         $things[$count++] = $item;
     }
     while ($text =~ s/\*\*\* This bug has been marked as a duplicate of (\d+) \*\*\*/"##$count##"/ei) {
@@ -1054,7 +1054,7 @@ sub quoteUrls {
         my $item = $&;
         my $num = $1;
         if ($knownattachments->{$num}) {
-            $item = qq{<A HREF="showattachment.cgi?attach_id=$num">$item</A>};
+            $item = qq{<A HREF="attachment.cgi?id=$num&action=view">$item</A>};
         }
         $things[$count++] = $item;
     }
index f47d27e3efd59681a64878616b41ce5bb40bc103..844942728593903ecf62ed264c1495ce822ab9b3 100755 (executable)
@@ -160,7 +160,7 @@ sub ProcessOneBug {
             $difftext .= FormatTriple("What    ", "Removed", "Added");
             $difftext .= ('-' x 76) . "\n";
         }
-        $what =~ s/^Attachment/Attachment #$attachid/ if (Param('useattachmenttracker') && $attachid);
+        $what =~ s/^Attachment/Attachment #$attachid/ if $attachid;
         $difftext .= FormatTriple($what, $old, $new);
     }
 
@@ -737,9 +737,9 @@ sub NewProcessOnePerson ($$$$$$$$$$$$) {
     if ( $newcomments =~ /Created an attachment \(/ ) {
 
         my $showattachurlbase =
-            Param('urlbase') . "showattachment.cgi?attach_id=";
+            Param('urlbase') . "attachment.cgi?id=";
 
-        $newcomments =~ s/(Created an attachment \(id=([0-9]+)\))/$1\n --> \(${showattachurlbase}$2\)/g;
+        $newcomments =~ s/(Created an attachment \(id=([0-9]+)\))/$1\n --> \(${showattachurlbase}$2&action=view\)/g;
     }
 
     $person .= Param('emailsuffix');
index 70f5c6d6641d30b9c0ef67bed866777921941937..4aaf6f17df444acb15837c97fb6616ff041b33c0 100755 (executable)
@@ -28,39 +28,10 @@ use lib qw(.);
 
 require "CGI.pl";
 
-if (!defined $::FORM{'attach_id'}) {
-    print "Content-type: text/html\n";
-    print "\n";
-    PutHeader("Search by attachment number");  
-    print "<FORM METHOD=GET ACTION=\"showattachment.cgi\">\n";
-    print "You may view a single attachment by entering its id here: \n";
-    print "<INPUT NAME=attach_id>\n";   
-    print "<INPUT TYPE=\"submit\" VALUE=\"Show Me This Attachment\">\n";
-    print "</FORM>\n";
-    PutFooter();
-    exit;
-}
-
-ConnectToDatabase();
-
-quietly_check_login();
-
-if (!detaint_natural($::FORM{attach_id})) {
-    DisplayError("Attachment ID should be numeric.");
-    exit;
-}
-
-SendSQL("select bug_id, mimetype, thedata from attachments where attach_id = $::FORM{'attach_id'}");
-my ($bug_id, $mimetype, $thedata) = FetchSQLData();
-
-if (!$bug_id) {
-    DisplayError("Attachment $::FORM{attach_id} does not exist.");
-    exit;
-}
-
-# Make sure the user can see the bug to which this file is attached
-ValidateBugID($bug_id);
-
-print qq{Content-type: $mimetype\n\n$thedata};
-
-    
+# Redirect to the new interface for displaying attachments.
+detaint_natural($::FORM{'attach_id'}) if defined($::FORM{'attach_id'});
+my $id = $::FORM{'attach_id'} || "";
+print "Status: 301 Permanent Redirect\n";
+print "Location: attachment.cgi?id=$id&action=view\n\n";
+exit;