improved filetype error handling
This commit is contained in:
		
							parent
							
								
									86f7a06ed0
								
							
						
					
					
						commit
						5446f29141
					
				| @ -317,6 +317,9 @@ abstract class DataHandlerExtension extends Extension | |||||||
|                 if (is_null($image)) { |                 if (is_null($image)) { | ||||||
|                     throw new UploadException("Data handler failed to create image object from data"); |                     throw new UploadException("Data handler failed to create image object from data"); | ||||||
|                 } |                 } | ||||||
|  |                 if (empty($image->ext)) { | ||||||
|  |                     throw new UploadException("Unable to determine extension for ". $event->tmpname); | ||||||
|  |                 } | ||||||
|                 try { |                 try { | ||||||
|                     send_event(new MediaCheckPropertiesEvent($image)); |                     send_event(new MediaCheckPropertiesEvent($image)); | ||||||
|                 } catch (MediaException $e) { |                 } catch (MediaException $e) { | ||||||
| @ -330,6 +333,9 @@ abstract class DataHandlerExtension extends Extension | |||||||
|                 if (is_null($image)) { |                 if (is_null($image)) { | ||||||
|                     throw new UploadException("Data handler failed to create image object from data"); |                     throw new UploadException("Data handler failed to create image object from data"); | ||||||
|                 } |                 } | ||||||
|  |                 if (empty($image->ext)) { | ||||||
|  |                     throw new UploadException("Unable to determine extension for ". $event->tmpname); | ||||||
|  |                 } | ||||||
|                 try { |                 try { | ||||||
|                     send_event(new MediaCheckPropertiesEvent($image)); |                     send_event(new MediaCheckPropertiesEvent($image)); | ||||||
|                 } catch (MediaException $e) { |                 } catch (MediaException $e) { | ||||||
| @ -404,9 +410,11 @@ abstract class DataHandlerExtension extends Extension | |||||||
|         $image->filename = (($pos = strpos($metadata['filename'], '?')) !== false) ? substr($metadata['filename'], 0, $pos) : $metadata['filename']; |         $image->filename = (($pos = strpos($metadata['filename'], '?')) !== false) ? substr($metadata['filename'], 0, $pos) : $metadata['filename']; | ||||||
|         if ($config->get_bool("upload_use_mime")) { |         if ($config->get_bool("upload_use_mime")) { | ||||||
|             $image->ext = get_extension_for_file($filename); |             $image->ext = get_extension_for_file($filename); | ||||||
|         } else { |         } | ||||||
|  |         if (empty($image->ext)) { | ||||||
|             $image->ext = (($pos = strpos($metadata['extension'], '?')) !== false) ? substr($metadata['extension'], 0, $pos) : $metadata['extension']; |             $image->ext = (($pos = strpos($metadata['extension'], '?')) !== false) ? substr($metadata['extension'], 0, $pos) : $metadata['extension']; | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|         $image->tag_array = is_array($metadata['tags']) ? $metadata['tags'] : Tag::explode($metadata['tags']); |         $image->tag_array = is_array($metadata['tags']) ? $metadata['tags'] : Tag::explode($metadata['tags']); | ||||||
|         $image->source = $metadata['source']; |         $image->source = $metadata['source']; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -56,6 +56,10 @@ class DataUploadEvent extends Event | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         if (empty($filetype)) { | ||||||
|  |             throw new UploadException("Could not determine extension for file " . $metadata["filename"]); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         $this->set_type($filetype); |         $this->set_type($filetype); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user