function fetchObjectAttributeHTTPInput($http, $base, $contentObjectAttribute) { eZMediaType::checkFileUploads(); $classAttribute = $contentObjectAttribute->contentClassAttribute(); $player = $classAttribute->attribute("data_text1"); $pluginPage = eZMediaType::pluginPage($player); $contentObjectAttributeID = $contentObjectAttribute->attribute("id"); $version = $contentObjectAttribute->attribute("version"); $width = $http->postVariable($base . "_data_media_width_" . $contentObjectAttribute->attribute("id")); $height = $http->postVariable($base . "_data_media_height_" . $contentObjectAttribute->attribute("id")); $quality = $http->hasPostVariable($base . "_data_media_quality_" . $contentObjectAttribute->attribute("id")) ? $http->postVariable($base . "_data_media_quality_" . $contentObjectAttribute->attribute("id")) : null; if ($http->hasPostVariable($base . "_data_media_controls_" . $contentObjectAttribute->attribute("id"))) { $controls = $http->postVariable($base . "_data_media_controls_" . $contentObjectAttribute->attribute("id")); } else { $controls = null; } $media = eZMedia::fetch($contentObjectAttributeID, $version); if ($media == null) { $media = eZMedia::create($contentObjectAttributeID, $version); } $media->setAttribute("contentobject_attribute_id", $contentObjectAttributeID); $media->setAttribute("version", $version); $media->setAttribute("width", $width); $media->setAttribute("height", $height); $media->setAttribute("quality", $quality); $media->setAttribute("controls", $controls); $media->setAttribute("pluginspage", $pluginPage); if ($http->hasPostVariable($base . "_data_media_is_autoplay_" . $contentObjectAttribute->attribute("id"))) { $media->setAttribute("is_autoplay", true); } else { $media->setAttribute("is_autoplay", false); } if ($http->hasPostVariable($base . "_data_media_has_controller_" . $contentObjectAttribute->attribute("id"))) { $media->setAttribute("has_controller", true); } else { $media->setAttribute("has_controller", false); } if ($http->hasPostVariable($base . "_data_media_is_loop_" . $contentObjectAttribute->attribute("id"))) { $media->setAttribute("is_loop", true); } else { $media->setAttribute("is_loop", false); } $mediaFilePostVarName = $base . "_data_mediafilename_" . $contentObjectAttribute->attribute("id"); if (eZHTTPFile::canFetch($mediaFilePostVarName)) { $mediaFile = eZHTTPFile::fetch($mediaFilePostVarName); } else { $mediaFile = null; } if ($mediaFile instanceof eZHTTPFile) { $mimeData = eZMimeType::findByFileContents($mediaFile->attribute("original_filename")); $mime = $mimeData['name']; if ($mime == '') { $mime = $mediaFile->attribute("mime_type"); } $extension = eZFile::suffix($mediaFile->attribute("original_filename")); $mediaFile->setMimeType($mime); if (!$mediaFile->store("original", $extension)) { eZDebug::writeError("Failed to store http-file: " . $mediaFile->attribute("original_filename"), "eZMediaType"); return false; } $orig_dir = $mediaFile->storageDir("original"); eZDebug::writeNotice("dir={$orig_dir}"); $media->setAttribute("filename", basename($mediaFile->attribute("filename"))); $media->setAttribute("original_filename", $mediaFile->attribute("original_filename")); $media->setAttribute("mime_type", $mime); $filePath = $mediaFile->attribute('filename'); $fileHandler = eZClusterFileHandler::instance(); $fileHandler->fileStore($filePath, 'media', true, $mime); } else { if ($media->attribute('filename') == '') { $media->remove(); return false; } } $media->store(); $contentObjectAttribute->setContent($media); return true; }