[eluser]therendStudio[/eluser]
Seconding the issue (seems I'm not the only one but it's been widely ignored...)
However there's a simpler and shorter way to fix that method - simply move the image checking code inside the type-matched body
Code:
class MY_Upload extends CI_Upload {
function is_allowed_filetype() {
if (count($this->allowed_types) == 0 OR ! is_array($this->allowed_types)) {
$this->set_error('upload_no_file_types');
return FALSE;
}
$image_types = array('gif', 'jpg', 'jpeg', 'png', 'jpe');
foreach ($this->allowed_types as $val) {
$mime = $this->mimes_types(strtolower($val));
if(is_array($mime) && in_array($this->file_type, $mime, TRUE)
|| $mime == $this->file_type
) {
// Images get some additional checks
if (in_array($val, $image_types))
if (getimagesize($this->file_temp) === FALSE)
return FALSE;
return TRUE;
}
}
return FALSE;
}
}
is the whole code for overriding the method