public function toObject($object_to_fill = null, $props_to_skip = array())
 {
     $object = parent::toObject($object_to_fill, $props_to_skip);
     $entryId = $object->getEntryId();
     $entry = entryPeer::retrieveByPK($entryId);
     $partnerId = $entry->getPartnerId();
     $transcriptId = $object->getInputTranscriptId();
     $voicebaseOptionsObj = VoicebasePlugin::getPartnerVoicebaseOptions($partnerId);
     $object->setApiKey($voicebaseOptionsObj->apiKey);
     $object->setApiPassword($voicebaseOptionsObj->apiPassword);
     if (!$object->getFlavorAssetId()) {
         $sourceAsset = assetPeer::retrieveOriginalReadyByEntryId($entryId);
         if (!$sourceAsset) {
             throw new KalturaAPIException(KalturaVoicebaseErrors::NO_FLAVOR_ASSET_FOUND, $entryId);
         }
         $object->setFlavorAssetId($sourceAsset->getId());
     }
     $voicebaseParamsMap = kConf::get('voicebase', 'integration');
     if (!$object->getSpokenLanguage()) {
         $object->setSpokenLanguage($voicebaseParamsMap['default_language']);
     }
     $formatsString = $object->getCaptionAssetFormats();
     if ($formatsString) {
         $formatsArray = explode(',', $formatsString);
         $excludedFormats = $voicebaseParamsMap['exclude_formats'];
         $sanitizedFormatsArray = array();
         foreach ($formatsArray as $format) {
             $format = preg_replace("/[^A-Z_]/", "", $format);
             if (!constant("KalturaCaptionType::" . $format) || in_array($format, $excludedFormats)) {
                 throw new KalturaAPIException(KalturaVoicebaseErrors::INVALID_TYPES, $formatsString);
             }
             $sanitizedFormatsArray[] = $format;
         }
         $sanitizedFormats = implode(",", $sanitizedFormatsArray);
         $object->setCaptionAssetFormats($sanitizedFormats);
     } else {
         $defaultFormats = implode(",", $voicebaseParamsMap['default_formats']);
         $object->setCaptionAssetFormats($defaultFormats);
     }
     if ($transcriptId) {
         $transcript = assetPeer::retrieveById($transcriptId);
         $key = $transcript->getSyncKey(asset::FILE_SYNC_ASSET_SUB_TYPE_ASSET);
         $fileSync = FileSyncPeer::retrieveByFileSyncKey($key, true);
         $object->setFileLocation($fileSync->getFullPath());
     }
     return $object;
 }
 /**
  * mark file as deleted, return deleted version
  * @param FileSyncKey $key
  * @param bool $strict
  * @param bool $fromKalturaDcsOnly
  * @return string
  */
 public static function deleteSyncFileForKey(FileSyncKey $key, $strict = false, $fromKalturaDcsOnly = false)
 {
     if (!$key) {
         if ($strict) {
             throw new Exception("Empty key");
         }
         return null;
     }
     // first check if fileSync is source or link
     $file = FileSyncPeer::retrieveByFileSyncKey($key);
     if (!$file) {
         return null;
     }
     if ($file->getFileType() == FileSync::FILE_SYNC_FILE_TYPE_LINK) {
         $newStatus = FileSync::FILE_SYNC_STATUS_PURGED;
     } elseif ($file->getFileType() == FileSync::FILE_SYNC_FILE_TYPE_URL) {
         $newStatus = FileSync::FILE_SYNC_STATUS_DELETED;
     } else {
         if ($file->getLinkCount() == 0) {
             $newStatus = FileSync::FILE_SYNC_STATUS_DELETED;
         } else {
             $newStatus = FileSync::FILE_SYNC_STATUS_PURGED;
             self::convertLinksToFiles($key);
         }
     }
     $c = new Criteria();
     $c = FileSyncPeer::getCriteriaForFileSyncKey($key);
     if ($fromKalturaDcsOnly) {
         $c->add(FileSyncPeer::FILE_TYPE, FileSync::FILE_SYNC_FILE_TYPE_URL, Criteria::NOT_EQUAL);
     }
     $file_sync_list = FileSyncPeer::doSelect($c);
     foreach ($file_sync_list as $file_sync) {
         $wams_asset_id = $file_sync->getWamsAssetId();
         if (!empty($wams_asset_id)) {
             if ($newStatus == FileSync::FILE_SYNC_STATUS_DELETED) {
                 self::clearWAMSDataForKey($key, $strict);
             } else {
                 $file_sync->setWamsAssetId(null);
                 $file_sync->setWamsUrl(null);
             }
         }
         $file_sync->setFileSize('0');
         $file_sync->setStatus($newStatus);
         $file_sync->save();
     }
 }
Exemplo n.º 3
0
 /**
  * @param BatchJob $dbBatchJob
  * @param kConvertCollectionJobData $data
  * @return BatchJob
  */
 public static function handleDeleteFileFinished(BatchJob $dbBatchJob, kDeleteFileJobData $data)
 {
     KalturaLog::debug("File delete finished for file path: " . $data->getLocalFileSyncPath() . ", data center: " . $dbBatchJob->getDc());
     //Change status of the filesync to "purged"
     FileSyncPeer::setUseCriteriaFilter(false);
     $fileSyncFroDeletedFile = FileSyncPeer::retrieveByFileSyncKey($data->getSyncKey(), true);
     FileSyncPeer::setUseCriteriaFilter(true);
     $fileSyncFroDeletedFile->setStatus(FileSync::FILE_SYNC_STATUS_PURGED);
     $fileSyncFroDeletedFile->save();
     return $dbBatchJob;
 }
Exemplo n.º 4
0
 /**
  * @param BatchJob $dbBatchJob
  * @param kConvertCollectionJobData $data
  * @return BatchJob
  */
 public static function handleDeleteFileFinished(BatchJob $dbBatchJob, kDeleteFileJobData $data)
 {
     //Change status of the filesync to "purged"
     FileSyncPeer::setUseCriteriaFilter(false);
     $fileSyncFroDeletedFile = FileSyncPeer::retrieveByFileSyncKey($data->getSyncKey(), true);
     FileSyncPeer::setUseCriteriaFilter(true);
     $fileSyncFroDeletedFile->setStatus(FileSync::FILE_SYNC_STATUS_PURGED);
     $fileSyncFroDeletedFile->save();
     return $dbBatchJob;
 }
 public function toObject($object_to_fill = null, $props_to_skip = array())
 {
     $object = parent::toObject($object_to_fill, $props_to_skip);
     $entryId = $object->getEntryId();
     $entry = entryPeer::retrieveByPK($entryId);
     $partnerId = $entry->getPartnerId();
     $transcriptId = $object->getInputTranscriptId();
     $voicebaseOptionsObj = VoicebasePlugin::getPartnerVoicebaseOptions($partnerId);
     $object->setApiKey($voicebaseOptionsObj->apiKey);
     $object->setApiPassword($voicebaseOptionsObj->apiPassword);
     if ($transcriptId) {
         $transcript = assetPeer::retrieveById($transcriptId);
         $key = $transcript->getSyncKey(asset::FILE_SYNC_ASSET_SUB_TYPE_ASSET);
         $fileSync = FileSyncPeer::retrieveByFileSyncKey($key, true);
         $object->setFileLocation($fileSync->getFullPath());
     }
     return $object;
 }