_mediamosa_browse_asset_page_view_mediafile_list($asset)Build the mediafile listing.
array $asset
sites/all/modules/mediamosa/maintenance/browse/mediamosa_maintenance_browse_asset.inc, line 546
<?php
function _mediamosa_browse_asset_page_view_mediafile_list($asset) {
// Get the asset_id.
$asset_id = $asset[mediamosa_asset_db::ID];
// Get job list uri.
$uri = strtr('asset/@asset_id/mediafile', array('@asset_id' => $asset_id));
// Do REST call.
$result = mediamosa_response_connector::static_do_restcall($uri);
// Get Items count.
$item_count = count($result['items']);
// Cache rights.
$may_delete = user_access(mediamosa_settings::MEDIAMOSA_PERMISSION_DELETE_MEDIAMOSA_MEDIAFILES);
$may_analyse = user_access(mediamosa_settings::MEDIAMOSA_PERMISSION_ANALYSE_MEDIAMOSA_MEDIAFILES);
$may_download = user_access(mediamosa_settings::MEDIAMOSA_PERMISSION_DOWNLOAD_MEDIAMOSA_MEDIAFILES);
$allowed_still_fields = array(
'mediafile_id',
'file_extension',
'created',
'width',
'height',
'filesize',
'mime_type',
'still_time_code',
'still_order',
'still_format',
'still_type',
'still_default',
'still_ticket',
);
$build = array();
foreach ($result['items'] as $item) {
$actions = array();
$actions[] = '<b>' . trim($item['filename']) . '</b>';
$actions[] = $may_delete ? l('Delete', strtr('admin/mediamosa/asset/@asset_id/mediafile/@mediafile_id/delete', array('@asset_id' => $item['asset_id'], '@mediafile_id' => $item['mediafile_id']))) : t('No delete right');
$actions[] = $may_analyse ? l('Analyze', strtr('admin/mediamosa/asset/@asset_id/mediafile/@mediafile_id/analyse', array('@asset_id' => $item['asset_id'], '@mediafile_id' => $item['mediafile_id']))) : t('No analyse right');
$actions[] = $may_download ? l('Download', strtr('admin/mediamosa/asset/@asset_id/mediafile/@mediafile_id/download', array('@asset_id' => $item['asset_id'], '@mediafile_id' => $item['mediafile_id']))) : t('No download right');
$caption = implode(' - ', $actions);
// Mediafile properties.
$rows = array();
$rows[] = array(t('Mediafile id'), $item['mediafile_id']);
$rows[] = array(t('Owner id'), $item['owner_id']);
$rows[] = array(t('Group id'), $item['group_id']);
$rows[] = array(t('Mime Type'), $item['metadata']['mime_type']);
$rows[] = array(t('Container'), $item['metadata']['container_type'] ? $item['metadata']['container_type'] .' @ '. $item['metadata']['bitrate'] .'kbps' : '');
$rows[] = array(t('Width * Height @ fps'), $item['metadata']['width'] ? $item['metadata']['width'] .'px * '. $item['metadata']['height'] .'px @ '. $item['metadata']['fps'] .'fps' : '');
$rows[] = array(t('Duration'), $item['metadata']['file_duration']);
$rows[] = array(t('Filesize'), ($item['metadata']['filesize']) ? format_size($item['metadata']['filesize']) : '');
$rows[] = array(t('Video information'), ($item['metadata']['video_codec']) ? $item['metadata']['video_codec'] .' @ '. $item['metadata']['bitrate'] .'kbps ('. $item['metadata']['colorspace'] .')' : '');
$rows[] = array(t('MP4 hinted'), $item['metadata']['is_hinted']);
$rows[] = array(t('FLV metadated'), $item['metadata']['is_inserted_md']);
$rows[] = array(t('Original'), $item['is_original_file']);
$rows[] = array(t('Downloadable'), $item['is_downloadable']);
$rows[] = array(t('Audio information'), ($item['metadata']['audio_codec']) ? $item['metadata']['audio_codec'] .' @ '. $item['metadata']['sample_rate'] .'Hz' .' ('. $item['metadata']['channels'] .')': '');
$rows[] = array(t('Protected'), $item['is_protected']);
// Uri REST call.
$uri = strtr('mediafile/@mediafile_id/acl', array('@mediafile_id' => $item['mediafile_id']));
$result = mediamosa_response_connector::static_do_restcall($uri, 'GET', array('user_id' => $item['owner_id'], 'app_id' => $item['app_id']));
if (mediamosa_response_connector::static_result_okay($result)) {
$rows_aut = array();
foreach ($result['items'] as $item_values) {
foreach ($item_values as $name => $value) {
$rows_aut[$name][] = $value;
}
}
$rows_aut2 = array();
foreach ($rows_aut as $name => $values) {
$rows_aut2[] = array(t(_mediamosa_browse_fix_metadata_name($name)), implode(', ', $values));
}
$rows[] = array(t('Autorisarion rules'), theme('table', array('rows' => $rows_aut2)));
}
// Uri REST call.
$uri = strtr('mediafile/@mediafile_id', array('@mediafile_id' => $item['mediafile_id']));
$still_result = mediamosa_response_connector::static_do_restcall($uri, 'GET', array('app_id' => $item['app_id']));
if (mediamosa_response_connector::static_result_okay($still_result)) {
$mediafile = reset($still_result['items']);
if (isset($mediafile['still'])) {
foreach ($mediafile['still'] as $still_item) {
$still_header = array();
$still_rows = array();
$still_ticket = NULL;
foreach ($still_item as $still_key => $still_det) {
if (in_array($still_key, $allowed_still_fields)) {
$still_rows[] = array(
$still_key == 'mediafile_id' ? 'still_id' : $still_key,
$still_det,
);
if ($still_key == 'still_ticket') {
$still_ticket = $still_det;
}
}
}
$rows[] = array(
t('Still') . '<br />' . ($still_ticket ? theme('image', $still_ticket, '', '', array('width' => 200, 'height' => NULL,), FALSE) : ''),
theme('table', array('header' => $still_header, 'rows' => $still_rows)),
);
}
}
}
$build[] = theme('table', array('caption' => $caption, 'rows' => $rows));
}
// Add text when no mediafiles where found...
if (!$item_count) {
$build[] = t('This asset does not contain mediafiles.');
}
return '<p><h2>' . t('Mediafiles (@count)', array('@count' => $item_count)) . '</h2>' . implode('', $build) . '</p>';
}
?>