From 1427884e689fa9c470f88bdefc7eabbb87b047c6 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Tue, 14 Aug 2007 17:34:45 +0000 Subject: Bug 392175: Move isViewable out of attachment.cgi + some other minor cleanup - Patch by Frédéric Buclin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- attachment.cgi | 61 +++------------------------------------------------------- 1 file changed, 3 insertions(+), 58 deletions(-) (limited to 'attachment.cgi') diff --git a/attachment.cgi b/attachment.cgi index 690a42d67..b60f0183b 100755 --- a/attachment.cgi +++ b/attachment.cgi @@ -208,54 +208,6 @@ sub validateCanChangeBug { bug_id => $bugid }); } -sub validateIsObsolete -{ - # Set the isobsolete flag to zero if it is undefined, since the UI uses - # an HTML checkbox to represent this flag, and unchecked HTML checkboxes - # do not get sent in HTML requests. - $cgi->param('isobsolete', $cgi->param('isobsolete') ? 1 : 0); -} - -sub validatePrivate -{ - # Set the isprivate flag to zero if it is undefined, since the UI uses - # an HTML checkbox to represent this flag, and unchecked HTML checkboxes - # do not get sent in HTML requests. - $cgi->param('isprivate', $cgi->param('isprivate') ? 1 : 0); -} - -# Returns 1 if the parameter is a content-type viewable in this browser -# Note that we don't use $cgi->Accept()'s ability to check if a content-type -# matches, because this will return a value even if it's matched by the generic -# */* which most browsers add to the end of their Accept: headers. -sub isViewable -{ - my $contenttype = trim(shift); - - # We assume we can view all text and image types - if ($contenttype =~ /^(text|image)\//) { - return 1; - } - - # Mozilla can view XUL. Note the trailing slash on the Gecko detection to - # avoid sending XUL to Safari. - if (($contenttype =~ /^application\/vnd\.mozilla\./) && - ($cgi->user_agent() =~ /Gecko\//)) - { - return 1; - } - - # If it's not one of the above types, we check the Accept: header for any - # types mentioned explicitly. - my $accept = join(",", $cgi->Accept()); - - if ($accept =~ /^(.*,)?\Q$contenttype\E(,.*)?$/) { - return 1; - } - - return 0; -} - ################################################################################ # Functions ################################################################################ @@ -327,10 +279,6 @@ sub viewall { my $attachments = Bugzilla::Attachment->get_attachments_by_bug($bugid); - foreach my $a (@$attachments) { - $a->{'isviewable'} = isViewable($a->contenttype); - } - # Define the variables and functions that will be passed to the UI template. $vars->{'bug'} = $bug; $vars->{'attachments'} = $attachments; @@ -465,8 +413,6 @@ sub edit { my $attachment = validateID(); my $dbh = Bugzilla->dbh; - my $isviewable = !$attachment->isurl && isViewable($attachment->contenttype); - # Retrieve a list of attachments for this bug as well as a summary of the bug # to use in a navigation bar across the top of the screen. my $bugattachments = @@ -491,8 +437,7 @@ sub edit { $vars->{'any_flags_requesteeble'} = grep($_->is_requesteeble, @$flag_types); $vars->{'attachment'} = $attachment; $vars->{'bugsummary'} = $bugsummary; - $vars->{'isviewable'} = $isviewable; - $vars->{'attachments'} = $bugattachments; + $vars->{'attachments'} = $bugattachments; # Determine if PatchReader is installed eval { @@ -524,8 +469,8 @@ sub update { Bugzilla::Attachment->validate_description(THROW_ERROR); Bugzilla::Attachment->validate_is_patch(THROW_ERROR); Bugzilla::Attachment->validate_content_type(THROW_ERROR) unless $cgi->param('ispatch'); - validateIsObsolete(); - validatePrivate(); + $cgi->param('isobsolete', $cgi->param('isobsolete') ? 1 : 0); + $cgi->param('isprivate', $cgi->param('isprivate') ? 1 : 0); # If the submitter of the attachment is not in the insidergroup, # be sure that he cannot overwrite the private bit. -- cgit v1.2.3-24-g4f1b