function __construct(KalturaClient $client = null) { parent::__construct($client); }
protected function syncAssetsContent(KalturaServiceBase $targetClientService, $targetAssetsContent, $targetAssets, $distributedMap, $sourceAssets) { $distributedMap = empty($distributedMap) ? array() : unserialize($distributedMap); foreach ($targetAssetsContent as $sourceAssetId => $targetAssetContent) { $targetAssetId = isset($targetAssets[$sourceAssetId]->id) ? $targetAssets[$sourceAssetId]->id : null; if (is_null($targetAssetId)) { throw new Exception('Missing target id of source asset id [' . $sourceAssetId . ']'); } $currentSourceVersion = isset($sourceAssets[$sourceAssetId]->version) ? $sourceAssets[$sourceAssetId]->version : null; $lastDistributedSourceVersion = isset($distributedMap[$sourceAssetId][self::DISTRIBUTED_INFO_SOURCE_VERSION]) ? $distributedMap[$sourceAssetId][self::DISTRIBUTED_INFO_SOURCE_VERSION] : null; if (!is_null($currentSourceVersion) && !is_null($lastDistributedSourceVersion) && $currentSourceVersion <= $lastDistributedSourceVersion) { KalturaLog::info('No need to update content of source asset id [' . $sourceAssetId . '] target id [' . $targetAssetId . '] since it was not updated since last distribution'); } else { KalturaLog::info('Updating content for source asset id [' . $sourceAssetId . '] target id [' . $targetAssetId . ']'); $targetClientService->setContent($targetAssetId, $targetAssetContent); } } }