private function addDropFolderContentProcessorJob(DropFolder $folder, DropFolderFile $dropFolderFileForObject, $dropFolderFileIds) { $batchJobType = DropFolderPlugin::getCoreValue('BatchJobType', DropFolderBatchType::DROP_FOLDER_CONTENT_PROCESSOR); $batchJob = new BatchJob(); $batchJob->setPartnerId($folder->getPartnerId()); $batchJob->setObjectId($dropFolderFileForObject->getId()); $batchJob->setObjectType(DropFolderPlugin::getCoreValue('BatchJobObjectType', DropFolderBatchJobObjectType::DROP_FOLDER_FILE)); $jobData = kDropFolderContentProcessorJobData::getInstance($folder->getType()); //Required for plugins which require data to be set on the created entry from the drop folder files. $jobData->setData($folder, $dropFolderFileForObject, $dropFolderFileIds); return kJobsManager::addJob($batchJob, $jobData, $batchJobType, $folder->getType()); }
/** * Validate if all the files ready: * 1. Yes: add BulkUpload job * 2. No: set status to Waiting * @param DropFolder $folder * @param DropFolderFile $file */ private function onXmlDropFolderFileStatusChangedToPending(DropFolder $folder, DropFolderFile $file) { KalturaLog::debug('in onXmlDropFolderFileStatusChangedToPending file id [' . $file->getId() . '] folder id [' . $folder->getId() . ']'); $relatedFiles = array(); try { $xmlFileHandler = kDropFolderXmlFileHandler::getHandlerInstance($folder->getType()); $xmlFileHandler->handlePendingDropFolderFile($folder, $file); } catch (Exception $e) { KalturaLog::err("Error in onXmlDropFolderFileStatusChangedToPending -" . $e->getMessage()); if ($e->getCode() == DropFolderXmlBulkUploadPlugin::getErrorCodeCoreValue(DropFolderXmlBulkUploadErrorCode::ERROR_ADDING_BULK_UPLOAD)) { foreach ($relatedFiles as $relatedFile) { $this->setFileError($relatedFile, DropFolderFileStatus::ERROR_HANDLING, $e->getCode(), $e->getMessage()); } } else { $this->setFileError($file, DropFolderFileStatus::ERROR_HANDLING, $e->getCode(), $e->getMessage()); } } }