public static function dependsOn() { $bulkUploadXmlVersion = new KalturaVersion(self::XML_BULK_UPLOAD_PLUGIN_VERSION_MAJOR, self::XML_BULK_UPLOAD_PLUGIN_VERSION_MINOR, self::XML_BULK_UPLOAD_PLUGIN_VERSION_BUILD); $bulkUploadXmlDependency = new KalturaDependency(BulkUploadXmlPlugin::getPluginName(), $bulkUploadXmlVersion); $dropFolderDependency = new KalturaDependency(DropFolderPlugin::getPluginName()); return array($bulkUploadXmlDependency, $dropFolderDependency); }
public function initService($serviceId, $serviceName, $actionName) { parent::initService($serviceId, $serviceName, $actionName); if (!DropFolderPlugin::isAllowedPartner($this->getPartnerId())) { throw new KalturaAPIException(KalturaErrors::SERVICE_FORBIDDEN, $this->serviceName . '->' . $this->actionName); } myPartnerUtils::addPartnerToCriteria(new DropFolderPeer(), $this->getPartnerId(), $this->private_partner_data, $this->partnerGroup()); myPartnerUtils::addPartnerToCriteria(new DropFolderFilePeer(), $this->getPartnerId(), $this->private_partner_data, $this->partnerGroup()); }
public function initService($serviceId, $serviceName, $actionName) { parent::initService($serviceId, $serviceName, $actionName); if (!DropFolderPlugin::isAllowedPartner($this->getPartnerId())) { throw new KalturaAPIException(KalturaErrors::FEATURE_FORBIDDEN, DropFolderPlugin::PLUGIN_NAME); } $this->applyPartnerFilterForClass('DropFolder'); $this->applyPartnerFilterForClass('DropFolderFile'); }
/** * Allows you to add a new KalturaDropFolder object * * @action add * @param KalturaDropFolder $dropFolder * @return KalturaDropFolder * * @throws KalturaErrors::PROPERTY_VALIDATION_CANNOT_BE_NULL * @throws KalturaErrors::INGESTION_PROFILE_ID_NOT_FOUND * @throws KalturaDropFolderErrors::DROP_FOLDER_ALREADY_EXISTS * @throws KalturaErrors::DATA_CENTER_ID_NOT_FOUND */ public function addAction(KalturaDropFolder $dropFolder) { // check for required parameters $dropFolder->validatePropertyNotNull('name'); $dropFolder->validatePropertyNotNull('status'); $dropFolder->validatePropertyNotNull('type'); $dropFolder->validatePropertyNotNull('dc'); $dropFolder->validatePropertyNotNull('path'); $dropFolder->validatePropertyNotNull('partnerId'); $dropFolder->validatePropertyMinValue('fileSizeCheckInterval', 0, true); $dropFolder->validatePropertyMinValue('autoFileDeleteDays', 0, true); $dropFolder->validatePropertyNotNull('fileHandlerType'); $dropFolder->validatePropertyNotNull('fileHandlerConfig'); // validate values if (is_null($dropFolder->fileSizeCheckInterval)) { $dropFolder->fileSizeCheckInterval = DropFolder::FILE_SIZE_CHECK_INTERVAL_DEFAULT_VALUE; } if (is_null($dropFolder->fileNamePatterns)) { $dropFolder->fileNamePatterns = DropFolder::FILE_NAME_PATTERNS_DEFAULT_VALUE; } if (!kDataCenterMgr::dcExists($dropFolder->dc)) { throw new KalturaAPIException(KalturaErrors::DATA_CENTER_ID_NOT_FOUND, $dropFolder->dc); } if (!PartnerPeer::retrieveByPK($dropFolder->partnerId)) { throw new KalturaAPIException(KalturaErrors::INVALID_PARTNER_ID, $dropFolder->partnerId); } if (!DropFolderPlugin::isAllowedPartner($dropFolder->partnerId)) { throw new KalturaAPIException(KalturaErrors::PLUGIN_NOT_AVAILABLE_FOR_PARTNER, DropFolderPlugin::getPluginName(), $dropFolder->partnerId); } if ($dropFolder->type == KalturaDropFolderType::LOCAL) { $existingDropFolder = DropFolderPeer::retrieveByPathDefaultFilter($dropFolder->path); if ($existingDropFolder) { throw new KalturaAPIException(KalturaDropFolderErrors::DROP_FOLDER_ALREADY_EXISTS, $dropFolder->path); } } if (!is_null($dropFolder->conversionProfileId)) { $conversionProfileDb = conversionProfile2Peer::retrieveByPK($dropFolder->conversionProfileId); if (!$conversionProfileDb) { throw new KalturaAPIException(KalturaErrors::INGESTION_PROFILE_ID_NOT_FOUND, $dropFolder->conversionProfileId); } } // save in database $dbDropFolder = $dropFolder->toInsertableObject(); $dbDropFolder->save(); // return the saved object $dropFolder = KalturaDropFolder::getInstanceByType($dbDropFolder->getType()); $dropFolder->fromObject($dbDropFolder, $this->getResponseProfile()); return $dropFolder; }
/** * @param string $baseClass * @param string $enumValue * @param array $constructorArgs * @return object */ public static function loadObject($baseClass, $enumValue, array $constructorArgs = null) { $objectClass = self::getObjectClass($baseClass, $enumValue); if (is_null($objectClass)) { if ($baseClass == 'KalturaJobData') { $jobSubType = $constructorArgs["coreJobSubType"]; if ($enumValue == DropFolderPlugin::getApiValue(DropFolderBatchType::DROP_FOLDER_CONTENT_PROCESSOR) && in_array($jobSubType, array(DropFolderType::FTP, DropFolderType::LOCAL, DropFolderType::S3, DropFolderType::SCP, DropFolderType::SFTP))) { return new KalturaDropFolderContentProcessorJobData(); } } return null; } if (!is_null($constructorArgs) && $objectClass != 'KalturaDropFolderContentProcessorJobData') { $reflect = new ReflectionClass($objectClass); return $reflect->newInstanceArgs($constructorArgs); } else { return new $objectClass(); } }
public static function loadObject($baseClass, $enumValue, array $constructorArgs = null) { switch ($baseClass) { case 'KDropFolderEngine': if ($enumValue == KalturaDropFolderType::WEBEX) { return new KWebexDropFolderEngine(); } break; case 'KalturaDropFolder': if ($enumValue == self::getDropFolderTypeCoreValue(WebexDropFolderType::WEBEX)) { return new KalturaWebexDropFolder(); } break; case 'KalturaDropFolderFile': if ($enumValue == self::getDropFolderTypeCoreValue(WebexDropFolderType::WEBEX)) { return new KalturaWebexDropFolderFile(); } break; case 'kDropFolderContentProcessorJobData': if ($enumValue == self::getDropFolderTypeCoreValue(WebexDropFolderType::WEBEX)) { return new kWebexDropFolderContentProcessorJobData(); } break; case 'KalturaJobData': $jobSubType = $constructorArgs["coreJobSubType"]; if ($enumValue == DropFolderPlugin::getApiValue(DropFolderBatchType::DROP_FOLDER_CONTENT_PROCESSOR) && $jobSubType == self::getDropFolderTypeCoreValue(WebexDropFolderType::WEBEX)) { return new KalturaWebexDropFolderContentProcessorJobData(); } break; case 'Form_DropFolderConfigureExtend_SubForm': if ($enumValue == Kaltura_Client_DropFolder_Enum_DropFolderType::WEBEX) { return new Form_WebexDropFolderConfigureExtend_SubForm(); } break; case 'Kaltura_Client_DropFolder_Type_DropFolder': if ($enumValue == Kaltura_Client_DropFolder_Enum_DropFolderType::WEBEX) { return new Kaltura_Client_WebexDropFolder_Type_WebexDropFolder(); } break; break; } }
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()); }