function update($name, $dest, $object, $destname = null) { pathos_lang_loadDictionary('modules', 'filemanager'); if (!defined('SYS_FILES')) { require_once BASE . 'subsystems/files.php'; } $err = sprintf(TR_FILEMANAGER_CANTUPLOAD, $object->filename) . '<br />'; switch ($_FILES[$name]['error']) { case UPLOAD_ERR_OK: // Everything looks good. Continue with the update. break; case UPLOAD_ERR_INI_SIZE: case UPLOAD_ERR_FORM_SIZE: // This is a tricky one to catch. If the file is too large for POST, then the script won't even run. // But if its between post_max_size and upload_file_max_size, we will get here. return $err . TR_FILEMANAGER_FILETOOLARGE; case UPLOAD_ERR_PARTIAL: return $err . TR_FILEMANAGER_PARTIALFILE; case UPLOAD_ERR_NO_FILE: return $err . TR_FILEMANAGER_NOFILEUPLOADED; default: return $err . TR_FILEMANAGER_UNKNOWNERROR; break; } $object->mimetype = $_FILES[$name]['type']; if ($destname == null) { $object->filename = $_FILES[$name]['name']; } else { $object->filename = $destname; } // General error message. This will be made more explicit later on. $object->filename = pathos_files_fixName($object->filename); if (file_exists(BASE . $dest . '/' . $object->filename)) { echo sprintf(TR_FILEMANAGER_FILEEXISTS, $object->filename); return null; } pathos_files_moveUploadedFile($_FILES[$name]['tmp_name'], BASE . $dest . '/' . $object->filename); if (!file_exists(BASE . $dest . '/' . $object->filename)) { echo sprintf(TR_FILEMANAGER_CANTUPLOAD, $object->filename); return null; } $object->directory = $dest; $object->accesscount = 0; $object->filesize = $_FILES[$name]['size']; $object->posted = time(); global $user; if ($user) { $object->poster = $user->id; } $object->last_accessed = time(); $object->is_image = 0; // Get image width and height: $size = @getimagesize(BASE . $object->directory . '/' . $object->filename); if ($size !== false) { $object->is_image = 1; $object->image_width = $size[0]; $object->image_height = $size[1]; } return $object; }
function pathos_files_uploadDestinationFileExists($dir, $name) { return file_exists(BASE . $dir . "/" . pathos_files_fixName($_FILES[$name]['name'])); }