Пример #1
0
 /**
  * Add new bulk upload batch job
  * Conversion profile id can be specified in the API or in the CSV file, the one in the CSV file will be stronger.
  * If no conversion profile was specified, partner's default will be used
  * 
  * @action addEntries
  * @actionAlias media.bulkUploadAdd
  * @param file $fileData
  * @param KalturaBulkUploadType $bulkUploadType
  * @param KalturaBulkUploadJobData $bulkUploadData
  * @return KalturaBulkUpload
  */
 function addEntriesAction($fileData, KalturaBulkUploadJobData $bulkUploadData = null, KalturaBulkUploadEntryData $bulkUploadEntryData = null)
 {
     if (get_class($bulkUploadData) == 'KalturaBulkUploadJobData') {
         throw new KalturaAPIException(KalturaErrors::OBJECT_TYPE_ABSTRACT, 'KalturaBulkUploadJobData');
     }
     if ($bulkUploadEntryData->conversionProfileId == self::PARTNER_DEFAULT_CONVERSION_PROFILE_ID) {
         $bulkUploadEntryData->conversionProfileId = $this->getPartner()->getDefaultConversionProfileId();
     }
     if (!$bulkUploadData) {
         $bulkUploadData = KalturaPluginManager::loadObject('KalturaBulkUploadJobData', null);
     }
     if (!$bulkUploadEntryData) {
         $bulkUploadEntryData = new KalturaBulkUploadEntryData();
     }
     if (!$bulkUploadData->fileName) {
         $bulkUploadData->fileName = $fileData["name"];
     }
     $dbBulkUploadJobData = $bulkUploadData->toInsertableObject();
     $bulkUploadCoreType = kPluginableEnumsManager::apiToCore("BulkUploadType", $bulkUploadData->type);
     /* @var $dbBulkUploadJobData kBulkUploadJobData */
     $dbBulkUploadJobData->setBulkUploadObjectType(BulkUploadObjectType::ENTRY);
     $dbBulkUploadJobData->setUserId($this->getKuser()->getPuserId());
     $dbObjectData = $bulkUploadEntryData->toInsertableObject();
     $dbBulkUploadJobData->setObjectData($dbObjectData);
     $dbBulkUploadJobData->setFilePath($fileData["tmp_name"]);
     $dbJob = kJobsManager::addBulkUploadJob($this->getPartner(), $dbBulkUploadJobData, $bulkUploadCoreType);
     $dbJobLog = BatchJobLogPeer::retrieveByBatchJobId($dbJob->getId());
     if (!$dbJobLog) {
         return null;
     }
     $bulkUpload = new KalturaBulkUpload();
     $bulkUpload->fromObject($dbJobLog, $this->getResponseProfile());
     return $bulkUpload;
 }
Пример #2
0
 /**
 * Add new bulk upload batch job
 Conversion profile id can be specified in the API or in the CSV file, the one in the CSV file will be stronger.
 If no conversion profile was specified, partner's default will be used
 * 
 * @param file $fileData 
 * @param KalturaBulkUploadJobData $bulkUploadData 
 * @param KalturaBulkUploadEntryData $bulkUploadEntryData 
 * @return KalturaBulkUpload
 */
 function bulkUploadAdd($fileData, KalturaBulkUploadJobData $bulkUploadData = null, KalturaBulkUploadEntryData $bulkUploadEntryData = null)
 {
     $kparams = array();
     $kfiles = array();
     $this->client->addParam($kfiles, "fileData", $fileData);
     if ($bulkUploadData !== null) {
         $this->client->addParam($kparams, "bulkUploadData", $bulkUploadData->toParams());
     }
     if ($bulkUploadEntryData !== null) {
         $this->client->addParam($kparams, "bulkUploadEntryData", $bulkUploadEntryData->toParams());
     }
     $this->client->queueServiceActionCall("media", "bulkUploadAdd", $kparams, $kfiles);
     if ($this->client->isMultiRequest()) {
         return $this->client->getMultiRequestResult();
     }
     $resultObject = $this->client->doQueue();
     $this->client->throwExceptionIfError($resultObject);
     $this->client->validateObjectType($resultObject, "KalturaBulkUpload");
     return $resultObject;
 }