/** * @param entry $object * @return bool true if should continue to the next consumer */ public function entryCreated(entry $object) { $mediaType = null; if ($object->getType() == entryType::AUTOMATIC) { KalturaLog::debug("entry id [" . $object->getId() . "] type [" . $object->getType() . "] source link [" . $object->getSourceLink() . "]"); $mediaType = $object->getMediaType(); if (isset(self::$fileExtensions[$mediaType])) { $object->setType(entryType::DOCUMENT); } elseif (is_null($mediaType) || $mediaType == entry::ENTRY_MEDIA_TYPE_ANY || $mediaType == entry::ENTRY_MEDIA_TYPE_AUTOMATIC) { $this->setDocumentType($object); } } if ($object->getType() != entryType::DOCUMENT) { KalturaLog::debug("entry id [" . $object->getId() . "] type [" . $object->getType() . "]"); return true; } if (is_null($mediaType) || $mediaType == entry::ENTRY_MEDIA_TYPE_ANY || $mediaType == entry::ENTRY_MEDIA_TYPE_AUTOMATIC) { $this->setDocumentType($object); } if ($object instanceof DocumentEntry) { KalturaLog::debug("entry id [" . $object->getId() . "] already handled"); return true; } KalturaLog::debug("Handling object [" . get_class($object) . "] type [" . $object->getType() . "] id [" . $object->getId() . "] status [" . $object->getStatus() . "]"); if ($object->getConversionProfileId()) { $object->setStatus(entryStatus::PRECONVERT); $object->save(); } return true; }
public function setDocumentType(entry $object) { $fileName = $object->getSourceLink(); $ext = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); foreach (self::$fileExtensions as $documentType => $extensions) { if (in_array($ext, $extensions)) { $object->setMediaType($documentType); $object->setType(entryType::DOCUMENT); break; } } }
protected function addEntryFromFlavorAsset(KalturaBaseEntry $newEntry, entry $srcEntry, flavorAsset $srcFlavorAsset) { $newEntry->type = $srcEntry->getType(); if ($newEntry->name === null) { $newEntry->name = $srcEntry->getName(); } if ($newEntry->description === null) { $newEntry->description = $srcEntry->getDescription(); } if ($newEntry->creditUrl === null) { $newEntry->creditUrl = $srcEntry->getSourceLink(); } if ($newEntry->creditUserName === null) { $newEntry->creditUserName = $srcEntry->getCredit(); } if ($newEntry->tags === null) { $newEntry->tags = $srcEntry->getTags(); } $newEntry->sourceType = KalturaSourceType::SEARCH_PROVIDER; $newEntry->searchProviderType = KalturaSearchProviderType::KALTURA; $dbEntry = $this->prepareEntryForInsert($newEntry); $dbEntry->setSourceId($srcEntry->getId()); $kshow = $this->createDummyKShow(); $kshowId = $kshow->getId(); $msg = null; $flavorAsset = kFlowHelper::createOriginalFlavorAsset($this->getPartnerId(), $dbEntry->getId(), $msg); if (!$flavorAsset) { KalturaLog::err("Flavor asset not created for entry [" . $dbEntry->getId() . "] reason [{$msg}]"); if ($dbEntry->getStatus() == entryStatus::NO_CONTENT) { $dbEntry->setStatus(entryStatus::ERROR_CONVERTING); $dbEntry->save(); } throw new KalturaAPIException(KalturaErrors::ORIGINAL_FLAVOR_ASSET_NOT_CREATED, $msg); } $srcSyncKey = $srcFlavorAsset->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET); $newSyncKey = $flavorAsset->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET); kFileSyncUtils::createSyncFileLinkForKey($newSyncKey, $srcSyncKey); kEventsManager::raiseEvent(new kObjectAddedEvent($flavorAsset)); myNotificationMgr::createNotification(kNotificationJobData::NOTIFICATION_TYPE_ENTRY_ADD, $dbEntry); $newEntry->fromObject($dbEntry, $this->getResponseProfile()); return $newEntry; }