/**
  * @return KalturaCuePointClientPlugin
  */
 public static function get(KalturaClient $client)
 {
     if (!self::$instance) {
         self::$instance = new KalturaCuePointClientPlugin($client);
     }
     return self::$instance;
 }
 /**
  * Sync target objects
  * @param KalturaDistributionJobData $jobData
  * @param CrossKalturaEntryObjectsContainer $targetObjects
  */
 protected function sync(KalturaDistributionJobData $jobData, CrossKalturaEntryObjectsContainer $targetObjects)
 {
     $syncedObjects = new CrossKalturaEntryObjectsContainer();
     $targetEntryId = $jobData->remoteId;
     // add/update entry
     if ($targetEntryId) {
         // update entry
         KalturaLog::info('Updating target entry id [' . $targetEntryId . ']');
         $syncedObjects->entry = $this->targetClient->baseEntry->update($targetEntryId, $targetObjects->entry);
     } else {
         // add entry
         $syncedObjects->entry = $this->targetClient->baseEntry->add($targetObjects->entry);
         $targetEntryId = $syncedObjects->entry->id;
         KalturaLog::info('New target entry added with id [' . $targetEntryId . ']');
     }
     $this->targetEntryId = $targetEntryId;
     // sync metadata objects
     foreach ($targetObjects->metadataObjects as $metadataObj) {
         /* @var $metadataObj KalturaMetadata */
         $metadataObj->objectId = $targetEntryId;
     }
     $targetMetadataClient = KalturaMetadataClientPlugin::get($this->targetClient);
     $syncedObjects->metadataObjects = $this->syncTargetEntryObjects($targetMetadataClient->metadata, $targetObjects->metadataObjects, $this->sourceObjects->metadataObjects, $jobData->providerData->distributedMetadata, $targetEntryId, 'getMetadataAddArgs', 'getMetadataUpdateArgs');
     // sync flavor assets
     $syncedObjects->flavorAssets = $this->syncTargetEntryObjects($this->targetClient->flavorAsset, $targetObjects->flavorAssets, $this->sourceObjects->flavorAssets, $jobData->providerData->distributedFlavorAssets, $targetEntryId);
     // sync flavor content
     $this->syncAssetsContent($this->targetClient->flavorAsset, $targetObjects->flavorAssetsContent, $syncedObjects->flavorAssets, $jobData->providerData->distributedFlavorAssets, $this->sourceObjects->flavorAssets);
     // sync thumbnail assets
     $syncedObjects->thumbAssets = $this->syncTargetEntryObjects($this->targetClient->thumbAsset, $targetObjects->thumbAssets, $this->sourceObjects->thumbAssets, $jobData->providerData->distributedThumbAssets, $targetEntryId);
     // sync thumbnail content
     $this->syncAssetsContent($this->targetClient->thumbAsset, $targetObjects->thumbAssetsContent, $syncedObjects->thumbAssets, $jobData->providerData->distributedThumbAssets, $this->sourceObjects->thumbAssets);
     // sync caption assets
     if ($this->distributeCaptions) {
         $targetCaptionClient = KalturaCaptionClientPlugin::get($this->targetClient);
         $syncedObjects->captionAssets = $this->syncTargetEntryObjects($targetCaptionClient->captionAsset, $targetObjects->captionAssets, $this->sourceObjects->captionAssets, $jobData->providerData->distributedCaptionAssets, $targetEntryId);
         // sync caption content
         $this->syncAssetsContent($targetCaptionClient->captionAsset, $targetObjects->captionAssetsContent, $syncedObjects->captionAssets, $jobData->providerData->distributedCaptionAssets, $this->sourceObjects->captionAssets);
     }
     // sync cue points
     if ($this->distributeCuePoints) {
         foreach ($targetObjects->cuePoints as $cuePoint) {
             /* @var $cuePoint KalturaCuePoint */
             $cuePoint->entryId = $targetEntryId;
         }
         $targetCuePointClient = KalturaCuePointClientPlugin::get($this->targetClient);
         $syncedObjects->cuePoints = $this->syncTargetEntryObjects($targetCuePointClient->cuePoint, $targetObjects->cuePoints, $this->sourceObjects->cuePoints, $jobData->providerData->distributedCuePoints, $targetEntryId, 'getCuePointAddArgs');
     }
     return $syncedObjects;
 }
 public function handleItemUpdated(KalturaObjectBase $object, SimpleXMLElement $item)
 {
     if (!$object instanceof KalturaBaseEntry) {
         return;
     }
     if (empty($item->scenes)) {
         return;
     }
     $action = KBulkUploadEngine::$actionsMap[KalturaBulkUploadAction::UPDATE];
     if (isset($item->scenes->action)) {
         $action = strtolower($item->scenes->action);
     }
     switch ($action) {
         case KBulkUploadEngine::$actionsMap[KalturaBulkUploadAction::UPDATE]:
             break;
         default:
             throw new KalturaBatchException("scenes->action: {$action} is not supported", KalturaBatchJobAppErrors::BULK_ACTION_NOT_SUPPORTED);
     }
     $this->entryId = $object->id;
     $this->cuePointPlugin = KalturaCuePointClientPlugin::get(KBatchBase::$kClient);
     KBatchBase::impersonate($this->xmlBulkUploadEngine->getCurrentPartnerId());
     $this->getExistingCuePointsBySystemName($this->entryId);
     KBatchBase::$kClient->startMultiRequest();
     $items = array();
     foreach ($item->scenes->children() as $scene) {
         if ($this->updateCuePoint($scene)) {
             $items[] = $scene;
         }
     }
     $results = KBatchBase::$kClient->doMultiRequest();
     KBatchBase::unimpersonate();
     if (is_array($results) && is_array($items)) {
         $this->handleResults($results, $items);
     }
 }
Beispiel #4
0
     /* @var $baseEntryList KalturaBaseEntryListResponse */
     $entry = $baseEntryList->objects[0];
     /* @var $entry KalturaMediaEntry */
 }
 $client->baseEntry->getContextData($entry->id, $contextDataParams);
 if (isset($options['list-flavors'])) {
     $flavorAssetFilter = new KalturaFlavorAssetFilter();
     $flavorAssetFilter->entryIdEqual = $entry->id;
     $flavorAssetFilter->statusEqual = KalturaFlavorAssetStatus::READY;
     $client->flavorAsset->listAction($flavorAssetFilter);
 }
 if (isset($options['list-cue-points'])) {
     $cuePointFilter = new KalturaCuePointFilter();
     $cuePointFilter->entryIdEqual = $entry->id;
     $cuePointFilter->statusEqual = KalturaCuePointStatus::READY;
     $cuePointPlugin = KalturaCuePointClientPlugin::get($client);
     $cuePointPlugin->cuePoint->listAction($cuePointFilter);
 }
 if (isset($options['list-metadata'])) {
     $metadataFilter = new KalturaMetadataFilter();
     $metadataFilter->entryIdEqual = $entry->id;
     $metadataFilter->statusEqual = KalturaMetadataStatus::VALID;
     $metadataPlugin = KalturaMetadataClientPlugin::get($client);
     $metadataPlugin->metadata->listAction($metadataFilter);
 }
 $requestStart = microtime(true);
 $apiCall = 'multi-request';
 $responses = $client->doMultiRequest();
 $requestEnd = microtime(true);
 foreach ($responses as $response) {
     if (is_array($response) && isset($response['message']) && isset($response['code'])) {