public static function initializeDefaultDeleteFeed(KalturaYouTubeDistributionProfile $distributionProfile, $fieldValues, $videoFilePath, $thumbnailFilePath, YouTubeDistributionRemoteIdHandler $remoteIdHandler) { $feed = new YouTubeDistributionRightsFeedHelper($distributionProfile); $feed->setNotificationEmail($fieldValues); $feed->setByXpath('video/@action', 'delete'); $feed->setByXpath('video/@id', $remoteIdHandler->getVideoId()); if ($distributionProfile->deleteReference && $remoteIdHandler->getReferenceId()) { $feed->setByXpath('reference/@action', 'delete'); $feed->setByXpath('reference/@id', $remoteIdHandler->getReferenceId()); if ($distributionProfile->releaseClaims) { $feed->setByXpath('reference/@release_claims', 'True'); } } return $feed; }
public function closeUpdate(KalturaDistributionUpdateJobData $data) { $statusXml = $this->fetchStatusXml($data, $data->distributionProfile, $data->providerData); if ($statusXml === false) { // no status yet return false; } $statusParser = new YouTubeDistributionRightsFeedLegacyStatusParser($statusXml); $status = $statusParser->getStatusForAction('Update video'); if (is_null($status)) { throw new Exception('Status could not be found after distribution update'); } if ($status != 'Success') { throw new Exception('Update failed with status [' . $status . ']'); } $remoteIdHandler = YouTubeDistributionRemoteIdHandler::initialize($data->remoteId); $videoId = $remoteIdHandler->getVideoId(); $providerData = $data->providerData; $newPlaylists = $this->syncPlaylists($videoId, $providerData); $providerData->currentPlaylists = implode(',', $newPlaylists); return true; }