function uploadFile($location, $userfile) { global $encodeExplorer; $name = basename($userfile['name']); if (get_magic_quotes_gpc()) { $name = stripslashes($name); } $upload_dir = $location->getFullPath(); $upload_file = $upload_dir . $name; if (function_exists("finfo_open") && function_exists("finfo_file")) { $mime_type = File::getFileMime($userfile['tmp_name']); } else { $mime_type = $userfile['type']; } $extension = File::getFileExtension($userfile['name']); if (!$location->uploadAllowed()) { $encodeExplorer->setErrorString("upload_not_allowed"); } else { if (!$location->isWritable()) { $encodeExplorer->setErrorString("upload_dir_not_writable"); } else { if (!is_uploaded_file($userfile['tmp_name'])) { $encodeExplorer->setErrorString("failed_upload"); } else { if (is_array(EncodeExplorer::getConfig("upload_allow_type")) && count(EncodeExplorer::getConfig("upload_allow_type")) > 0 && !in_array($mime_type, EncodeExplorer::getConfig("upload_allow_type"))) { $encodeExplorer->setErrorString("upload_type_not_allowed"); } else { if (is_array(EncodeExplorer::getConfig("upload_reject_extension")) && count(EncodeExplorer::getConfig("upload_reject_extension")) > 0 && in_array($extension, EncodeExplorer::getConfig("upload_reject_extension"))) { $encodeExplorer->setErrorString("upload_type_not_allowed"); } else { if (!@move_uploaded_file($userfile['tmp_name'], $upload_file)) { $encodeExplorer->setErrorString("failed_move"); } else { chmod($upload_file, EncodeExplorer::getConfig("upload_file_mode")); Logger::logCreation($location->getDir(true, false, false, 0) . $name, false); Logger::emailNotification($location->getDir(true, false, false, 0) . $name, true); } } } } } } }