/** * Update remote asset (metadata only) * @return integer */ protected function updateRemoteAsset() { if (empty($this->duplicateAsset['embed_code'])) { $this->logger->videoWarnings("Error when updating remote asset data: empty asset embed code.\n"); return 0; } $this->prepareMetaDataForOoyala($generateUrl = false); $ooyalaAsset = new OoyalaAsset(); $assetMeta = $ooyalaAsset->getAssetMetadata($this->metaData); // set reupload $assetMeta['reupload'] = 1; // remove unwanted data $emptyMetaKeys = array_diff(array_keys($this->duplicateAsset['metadata']), array_keys($assetMeta)); foreach ($emptyMetaKeys as $key) { $assetMeta[$key] = null; } if ($this->debugMode()) { print "Ready to update remote asset\n"; print "id: {$this->metaData['videoId']}\n"; print "name: {$this->metaData['destinationTitle']}\n"; print "embed code: {$this->duplicateAsset['embed_code']}\n"; print "asset name: {$this->duplicateAsset['name']}\n"; print "metadata:\n"; foreach (explode("\n", var_export($assetMeta, TRUE)) as $line) { print ":: {$line}\n"; } } else { $result = OoyalaAsset::updateMetadata($this->duplicateAsset['embed_code'], $assetMeta); if (!$result) { $this->logger->videoWarnings(); return 0; } } $categories = empty($this->metaData['pageCategories']) ? [] : explode(", ", $this->metaData['pageCategories']); $msg = "Uploaded remote asset: {$this->metaData['destinationTitle']} (id: {$this->metaData['videoId']})\n"; $this->logger->videoIngested($msg, $categories); return 1; }