public static function copyTemplateContent(Partner $fromPartner, Partner $toPartner, $dontCopyUsers = false) { kEventsManager::enableDeferredEvents(false); $partnerCustomDataArray = $fromPartner->getCustomDataObj()->toArray(); $excludeCustomDataFields = kConf::get('template_partner_custom_data_exclude_fields'); foreach ($partnerCustomDataArray as $customDataName => $customDataValue) { if (!in_array($customDataName, $excludeCustomDataFields)) { $toPartner->putInCustomData($customDataName, $customDataValue); } } $toPartner->save(); // copy permssions before trying to copy additional objects such as distribution profiles which are not enabled yet for the partner self::copyPermissions($fromPartner, $toPartner); self::copyUserRoles($fromPartner, $toPartner); kEventsManager::raiseEvent(new kObjectCopiedEvent($fromPartner, $toPartner)); self::copyAccessControls($fromPartner, $toPartner); self::copyFlavorParams($fromPartner, $toPartner); self::copyConversionProfiles($fromPartner, $toPartner); categoryEntryPeer::setUseCriteriaFilter(false); self::copyCategories($fromPartner, $toPartner); self::copyEntriesByType($fromPartner, $toPartner, entryType::MEDIA_CLIP, $dontCopyUsers); self::copyEntriesByType($fromPartner, $toPartner, entryType::PLAYLIST, $dontCopyUsers); categoryEntryPeer::setUseCriteriaFilter(true); self::copyUiConfsByType($fromPartner, $toPartner, uiConf::UI_CONF_TYPE_WIDGET); self::copyUiConfsByType($fromPartner, $toPartner, uiConf::UI_CONF_TYPE_KDP3); kEventsManager::enableDeferredEvents(true); }
public static function copyTemplateContent(Partner $fromPartner, Partner $toPartner, $dontCopyUsers = false) { $partnerCustomDataArray = $fromPartner->getCustomDataObj()->toArray(); $excludeCustomDataFields = kConf::get('template_partner_custom_data_exclude_fields'); foreach ($partnerCustomDataArray as $customDataName => $customDataValue) { if (!in_array($customDataName, $excludeCustomDataFields)) { $toPartner->putInCustomData($customDataName, $customDataValue); } } // copy permssions before trying to copy additional objects such as distribution profiles which are not enabled yet for the partner self::copyPermissions($fromPartner, $toPartner); self::copyUserRoles($fromPartner, $toPartner); kEventsManager::raiseEvent(new kObjectCopiedEvent($fromPartner, $toPartner)); self::copyAccessControls($fromPartner, $toPartner); self::copyFlavorParams($fromPartner, $toPartner); self::copyConversionProfiles($fromPartner, $toPartner); self::copyCategories($fromPartner, $toPartner); self::copyUiConfsByType($fromPartner, $toPartner, uiConf::UI_CONF_TYPE_WIDGET); self::copyUiConfsByType($fromPartner, $toPartner, uiConf::UI_CONF_TYPE_KDP3); // Launch a batch job that will copy the heavy load as an async operation kJobsManager::addCopyPartnerJob($fromPartner->getId(), $toPartner->getId()); }
/** * @param Partner $partner * @param kEdgeCastParams $edgeCastParams */ public static function setEdgeCastParams($partner, $edgeCastParams) { $partner->putInCustomData(self::getPluginName() . '_' . self::PARTNER_CUSTOM_DATA_FIELD_EDGECAST_PARAMS, $edgeCastParams); }