Changeset 16502

Show
Ignore:
Timestamp:
05/29/08 10:31:04 (5 months ago)
Author:
bergie
Message:

Mangle uploaded file's mime type in some special cases that Apache and PHP recognize wrong

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.helper.datamanager2/widget/downloads.php

    r14773 r16502  
    301301        $this->_add_table_footer($frozen); 
    302302    } 
     303     
     304    function _extension_to_mimetype($extension, $mimetype) 
     305    { 
     306        switch ($extension) 
     307        { 
     308            case 'ai': 
     309                return 'application/illustrator'; 
     310            case 'eps': 
     311                return 'application/x-eps'; 
     312            case 'indd': 
     313                return 'application/x-indesign'; 
     314            default: 
     315                return $mimetype; 
     316        } 
     317    } 
    303318 
    304319    /** 
     
    332347 
    333348            $identifier = md5(time() . $filename . $file['tmp_name']); 
     349             
     350            // In some cases we want to tweak the mimetype based on file extension 
     351            $filename_parts = explode('.', $filename); 
     352            if (count($filename_parts) > 1) 
     353            { 
     354                $extension = $filename_parts[count($filename_parts) - 1]; 
     355                $file['type'] = $this->_extension_to_mimetype($extension, $file['type']); 
     356            } 
    334357 
    335358            if (! $this->_type->add_attachment($identifier, $filename, $title, $file['type'], $file['tmp_name']))