function field_kaltura_create_node in Kaltura 6.2
Make sure there is an entry in the node_kaltura table for mixes that are in fields, so we have a common place to store metadata.
1 call to field_kaltura_create_node()
- field_kaltura_field in plugins/
field_kaltura/ field_kaltura.module - Implementation of hook_field().
File
- plugins/
field_kaltura/ field_kaltura.module, line 226 - kaltura integration module - functions to provide kaltura as CCK field
Code
function field_kaltura_create_node($node, $items, $type) {
$kaltura_client = KalturaHelpers::getKalturaClient();
$session_user = KalturaHelpers::getSessionUser();
if ($kaltura_client) {
foreach ($items as $item) {
$entries = explode(',', rtrim($item['value'], ','));
foreach ($entries as $entry_id) {
//TO DO: CM - add Kaltura error handling
try {
if ($type == 'Kaltura_Media') {
$result = $kaltura_client->media
->get($entry_id);
}
else {
// Mix
$result = $kaltura_client->mixing
->get($entry_id);
}
} catch (Exception $ex) {
watchdog('field_kaltura', t('Kaltura Exception: %message, backtrace: <pre>!trace</pre>'), array(
'%message' => $ex
->getMessage(),
'!trace' => $ex
->getTrace(),
));
switch ($ex
->getCode()) {
case 'ENTRY_ID_NOT_FOUND':
form_set_error($error_element, t('Entry not found on Kaltura server: @message', array(
'@message' => $ex
->getMessage(),
)));
break;
default:
form_set_error($error_element, t('Kaltura client exception: @message', array(
'@message' => $ex
->getMessage(),
)));
}
}
$node_kaltura->nid = $node->nid;
$node_kaltura->vid = $node->vid;
$node_kaltura->kaltura_entryId = $result->id;
$node_kaltura->kaltura_media_type = $result->type;
$node_kaltura->kstatus = $result->status;
$node_kaltura->kaltura_thumbnail_url = $result->thumbnailUrl;
$node_kaltura->kaltura_duration = $result->duration;
$node->kaltura_partner_data = $result->partnerData;
$node->kaltura_source = '';
$node->kaltura_source_id = '';
$node->kaltura_source_link = '';
$node->kaltura_width = '';
$node->kaltura_height = '';
$node->kaltura_download_url = $result->downloadUrl;
$node->kaltura_media_date = '';
$node->kaltura_views = $result->views;
$node->kaltura_plays = $result->plays;
$node->kaltura_votes = $result->votes;
$node->kaltura_rank = $result->rank;
$node->kaltura_total_rank = $result->totalRank;
//TO DO: CM
//add extras here like node_kaltura module
field_kaltura_field_insert($node_kaltura);
}
}
}
}