function field_kaltura_nodeapi in Kaltura 6
Same name and namespace in other branches
- 5 plugins/field_kaltura/field_kaltura.module \field_kaltura_nodeapi()
- 6.2 plugins/field_kaltura/field_kaltura.module \field_kaltura_nodeapi()
File
- plugins/
field_kaltura/ field_kaltura.module, line 633 - kaltura integration module - functions to provide kaltura as CCK field
Code
function field_kaltura_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if ($op == 'presave') {
// do something only if tags vocabulary applied and not empty on this node
if ($node->taxonomy['tags']) {
// get all tags as string
foreach ($node->taxonomy['tags'] as $tags) {
$node_tags[] = $tags;
}
$node_all_tags = implode(',', $node_tags);
// get all fields for node which are kaltura fields
foreach ($node as $obj_key => $values) {
if (substr($obj_key, 0, 5) != 'field') {
continue;
}
if ($type = kaltura_is_kaltura_field($obj_key)) {
foreach ($values as $value) {
if ($value['value']) {
if ($type == 'Kaltura_Media') {
$media_entries = explode(',', rtrim($value['value']));
foreach ($media_entries as $entry) {
$kaltura_entries[] = $entry;
}
}
else {
$kaltura_entries[] = $value['value'];
}
}
}
}
}
// update taxonomy as entries tags
if (is_array($kaltura_entries) && count($kaltura_entries)) {
kaltura_update_field_entries_tags($kaltura_entries, $tags, $node->title);
}
}
}
}