/** * @param entry $tempEntry */ public static function handleEntryReplacement(entry $tempEntry) { $entry = entryPeer::retrieveByPK($tempEntry->getReplacedEntryId()); if (!$entry) { KalturaLog::err("Real entry id [" . $tempEntry->getReplacedEntryId() . "] not found"); myEntryUtils::deleteEntry($tempEntry, null, true); return; } if ($tempEntry->getStatus() == entryStatus::ERROR_CONVERTING) { $entry->setReplacementStatus(entryReplacementStatus::FAILED); $entry->save(); // NOTE: KalturaEntryService::cancelReplace() must be used to reset this status and delete the temp entry return; } switch ($entry->getReplacementStatus()) { case entryReplacementStatus::APPROVED_BUT_NOT_READY: KalturaLog::log("status changed to ready"); kEventsManager::raiseEventDeferred(new kObjectReadyForReplacmentEvent($tempEntry)); break; case entryReplacementStatus::READY_BUT_NOT_APPROVED: break; case entryReplacementStatus::NOT_READY_AND_NOT_APPROVED: $entry->setReplacementStatus(entryReplacementStatus::READY_BUT_NOT_APPROVED); $entry->save(); break; case entryReplacementStatus::FAILED: // Do nothing. KalturaEntryService::cancelReplace() will be used to delete the entry. break; case entryReplacementStatus::NONE: default: KalturaLog::err("Real entry id [" . $tempEntry->getReplacedEntryId() . "] replacement canceled"); myEntryUtils::deleteEntry($tempEntry, null, true); break; } }
/** * @param entry $entry */ public static function onEntryReady(entry $entry) { if (!ContentDistributionPlugin::isAllowedPartner($entry->getPartnerId())) { return true; } //no temp entries should be handled if ($entry->getDisplayInSearch() == mySearchUtils::DISPLAY_IN_SEARCH_SYSTEM && $entry->getReplacedEntryId()) { return true; } $distributionProfiles = DistributionProfilePeer::retrieveByPartnerId($entry->getPartnerId()); foreach ($distributionProfiles as $distributionProfile) { $entryDistribution = EntryDistributionPeer::retrieveByEntryAndProfileId($entry->getId(), $distributionProfile->getId()); if ($entryDistribution) { KalturaLog::info("Found entry distribution object with id [" . $entryDistribution->getId() . "] for distrinution profle [" . $distributionProfile->getId() . "]"); self::onEntryDistributionUpdateRequired($entryDistribution); continue; } if ($distributionProfile->getSubmitEnabled() == DistributionProfileActionStatus::AUTOMATIC) { self::addEntryDistribution($entry, $distributionProfile, true); } } return true; }
/** * @param entry $tempEntry */ public static function handleEntryReplacement(entry $tempEntry) { KalturaLog::debug("Handling temp entry id [" . $tempEntry->getId() . "] for real entry id [" . $tempEntry->getReplacedEntryId() . "]"); $entry = entryPeer::retrieveByPK($tempEntry->getReplacedEntryId()); if (!$entry) { KalturaLog::err("Real entry id [" . $tempEntry->getReplacedEntryId() . "] not found"); myEntryUtils::deleteEntry($tempEntry, null, true); return; } switch ($entry->getReplacementStatus()) { case entryReplacementStatus::APPROVED_BUT_NOT_READY: KalturaLog::debug("status changed to ready"); kEventsManager::raiseEventDeferred(new kObjectReadyForReplacmentEvent($tempEntry)); break; case entryReplacementStatus::READY_BUT_NOT_APPROVED: break; case entryReplacementStatus::NOT_READY_AND_NOT_APPROVED: $entry->setReplacementStatus(entryReplacementStatus::READY_BUT_NOT_APPROVED); $entry->save(); break; case entryReplacementStatus::NONE: default: KalturaLog::err("Real entry id [" . $tempEntry->getReplacedEntryId() . "] replacement canceled"); myEntryUtils::deleteEntry($tempEntry, null, true); break; } }