/** * Update Syndication Feed by ID * * @action update * @param string $id * @param KalturaBaseSyndicationFeed $syndicationFeed * @return KalturaBaseSyndicationFeed */ public function updateAction($id, KalturaBaseSyndicationFeed $syndicationFeed) { $syndicationFeedDB = syndicationFeedPeer::retrieveByPK($id); if (!$syndicationFeedDB) { throw new KalturaAPIException(KalturaErrors::ENTRY_ID_NOT_FOUND, $id); } if ($syndicationFeed instanceof KalturaGenericXsltSyndicationFeed && $syndicationFeed->xslt != null) { $syndicationFeed->validateXslt(); $syndicationFeedDB->incrementVersion(); $syndicationFeedDB->save(); } $syndicationFeed->type = null; if ($syndicationFeed instanceof KalturaGenericXsltSyndicationFeed && $syndicationFeed->xslt != null) { $key = $syndicationFeedDB->getSyncKey(genericSyndicationFeed::FILE_SYNC_SYNDICATION_FEED_XSLT); kFileSyncUtils::file_put_contents($key, $syndicationFeed->xslt); } $syndicationFeed = $syndicationFeed->toUpdatableObject($syndicationFeedDB, array('type')); $syndicationFeedDB->save(); $syndicationFeed = KalturaSyndicationFeedFactory::getInstanceByType($syndicationFeedDB->getType()); $syndicationFeed->fromObject($syndicationFeedDB); return $syndicationFeed; }