/** * Add new Syndication Feed * * @action add * @param KalturaBaseSyndicationFeed $syndicationFeed * @return KalturaBaseSyndicationFeed */ public function addAction(KalturaBaseSyndicationFeed $syndicationFeed) { $syndicationFeed->validatePlaylistId(); if ($syndicationFeed instanceof KalturaGenericXsltSyndicationFeed) { $syndicationFeed->validateXslt(); $syndicationFeedDB = new genericSyndicationFeed(); $syndicationFeedDB->setVersion(1); } else { $syndicationFeedDB = new syndicationFeed(); } $syndicationFeed->partnerId = $this->getPartnerId(); $syndicationFeed->status = KalturaSyndicationFeedStatus::ACTIVE; $syndicationFeed->toObject($syndicationFeedDB); $syndicationFeedDB->save(); if ($syndicationFeed->addToDefaultConversionProfile) { $partner = PartnerPeer::retrieveByPK($this->getPartnerId()); $c = new Criteria(); $c->addAnd(flavorParamsConversionProfilePeer::CONVERSION_PROFILE_ID, $partner->getDefaultConversionProfileId()); $c->addAnd(flavorParamsConversionProfilePeer::FLAVOR_PARAMS_ID, $syndicationFeed->flavorParamId); $is_exist = flavorParamsConversionProfilePeer::doCount($c); if (!$is_exist || $is_exist === 0) { $fpc = new flavorParamsConversionProfile(); $fpc->setConversionProfileId($partner->getDefaultConversionProfileId()); $fpc->setFlavorParamsId($syndicationFeed->flavorParamId); $fpc->save(); } } if ($syndicationFeed instanceof KalturaGenericXsltSyndicationFeed) { $key = $syndicationFeedDB->getSyncKey(genericSyndicationFeed::FILE_SYNC_SYNDICATION_FEED_XSLT); kFileSyncUtils::file_put_contents($key, $syndicationFeed->xslt); } $syndicationFeed->fromObject($syndicationFeedDB); return $syndicationFeed; }
public function toObject($object_to_fill = null, $props_to_skip = array()) { $categories = explode(',', $this->categories); $numCategories = array(); foreach ($categories as $category) { $numCategories[] = $this->getCategoryId($category); } $this->categories = implode(',', $numCategories); parent::toObject($object_to_fill); $this->categories = implode(',', $categories); }