本文整理汇总了PHP中entryPeer::retrieveByPKsNoFilter方法的典型用法代码示例。如果您正苦于以下问题:PHP entryPeer::retrieveByPKsNoFilter方法的具体用法?PHP entryPeer::retrieveByPKsNoFilter怎么用?PHP entryPeer::retrieveByPKsNoFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类entryPeer
的用法示例。
在下文中一共展示了entryPeer::retrieveByPKsNoFilter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getAction
/**
* Get base entry by ID with no filters.
*
* @action get
* @param string $entryId Entry id
* @param int $version Desired version of the data
* @return KalturaBaseEntry The requested entry
*/
function getAction($entryId, $version = -1)
{
$dbEntries = entryPeer::retrieveByPKsNoFilter(array($entryId));
if (!count($dbEntries)) {
throw new KalturaAPIException(KalturaErrors::ENTRY_ID_NOT_FOUND, $entryId);
}
$dbEntry = reset($dbEntries);
if (!$dbEntry) {
throw new KalturaAPIException(KalturaErrors::ENTRY_ID_NOT_FOUND, $entryId);
}
if ($version !== -1) {
$dbEntry->setDesiredVersion($version);
}
$entry = KalturaEntryFactory::getInstanceByType($dbEntry->getType(), true);
$entry->fromObject($dbEntry);
return $entry;
}
示例2: fixMetadataImpl
/**
* here we'll manipulate the video asset and set the from_byte & to_byte from the milliseconds
*
*/
private static function fixMetadataImpl(&$xml_doc, &$total_duration, $timeline)
{
self::log(__METHOD__);
/*
$xml_doc = new DOMDocument();
$xml_doc->loadXML( $content );
*/
// $meatadata_elem_list = $xml_doc->getElementsByTagName( "MetaData" );
// if ( $meatadata_elem_list != null && $meatadata_elem_list->length > 0 )
$duration_list = $xml_doc->getElementsByTagName("SeqDuration");
if ($duration_list != null && $duration_list->length > 0) {
$total_duration = $duration_list->item(0)->nodeValue;
}
$xpath = new DOMXPath($xml_doc);
$assets = $xpath->query($timeline == "video" ? "//VideoAssets/vidAsset" : ($timeline == "audio" ? "//AudioAssets/AudAsset" : "//VoiceAssets/voiAsset"));
$lastTimestamp = 0;
$real_start_byte = 0;
// the start byte of the current clip in the final merged stream
$calculated_total_bytes = 0;
// use the entryPool and a 2-pass iteration to reduce the hits to the DB
$id_list = array();
$entry_pool = new entryPool();
// first pass - populate the entryPool in a single request to the DB
self::log(__METHOD__, "Before assets");
foreach ($assets as $asset) {
$type = $asset->getAttribute("type");
if ($type != "VIDEO" && $type != "AUDIO") {
continue;
}
// fetch the file name from the DB
$asset_id = $asset->getAttribute("k_id");
$id_list[] = $asset_id;
}
self::log(__METHOD__, "After assets", count($id_list), $id_list);
if ($id_list) {
$entry_pool->addEntries(entryPeer::retrieveByPKsNoFilter($id_list));
}
// second pass - the entryPool is supposed to already be populated
$was_modified = false;
foreach ($assets as $asset) {
// fix only VIDEO assets
$type = $asset->getAttribute("type");
if ($type != "VIDEO" && $type != "AUDIO") {
continue;
}
// fetch the file name from the DB
$asset_id = $asset->getAttribute("k_id");
self::log(__METHOD__, "in loop", $asset_id);
//$entry = entryPeer::retrieveByPKNoFilter( $asset_id );
$entry = $entry_pool->retrieveByPK($asset_id);
// is supposed to exist already in the pool
if ($entry == NULL) {
// set an error on the asset element
$asset->setAttribute("fix_status", "error in k_id [{$asset_id}]");
$was_modified = true;
continue;
} elseif ($entry->getStatus() == entryStatus::DELETED) {
// set an error on the asset element
$asset->setAttribute("fix_status", "error in k_id [{$asset_id}] - asset was deleted");
$was_modified = true;
continue;
}
$file_name = null;
//TODO: need to work on only an FLV asset
$flavor_asset_play = assetPeer::retrieveBestPlayByEntryId($entry->getId());
if (!$flavor_asset_play) {
KalturaLog::log(__METHOD__ . ' ' . __LINE__ . ' no play flavor asset for entry ' . $entry->getId());
} else {
$file_name = kFileSyncUtils::getReadyLocalFilePathForKey($flavor_asset_play->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET));
}
$use_multi_flavor = false;
$flv_file_name_edit = false;
$flavor_asset_edit = assetPeer::retrieveBestEditByEntryId($entry->getId());
if (!$flavor_asset_edit) {
KalturaLog::log(__METHOD__ . ' ' . __LINE__ . ' no edit flavor asset for entry ' . $entry->getId());
} else {
$flv_file_name_edit = kFileSyncUtils::getReadyLocalFilePathForKey($flavor_asset_edit->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET));
$use_multi_flavor = $flv_file_name_edit && file_exists($flv_file_name_edit) && $timeline == "video";
}
if (!$flv_file_name_edit && !$file_name) {
KalturaLog::log(__METHOD__ . ' ' . __LINE__ . ' no edit & play flavor assets for entry ' . $entry->getId());
continue;
}
$flv_file_name = kFile::fixPath($file_name);
$stream_info_list = $asset->getElementsByTagName("StreamInfo");
foreach ($stream_info_list as $stream_info) {
$file_name = "?";
try {
$stream_info->setAttribute("file_name", kFileSyncUtils::getReadyLocalFilePathForKey($flavor_asset_play->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET)));
// replaced__getDataPath
$start_byte = $stream_info->getAttribute("start_byte");
$end_byte = $stream_info->getAttribute("end_byte");
$total_bytes = $stream_info->getAttribute("total_bytes");
if ($start_byte == NULL) {
$start_byte = self::MISSING_VALUE;
}
//.........这里部分代码省略.........