function media_youtube_emfield_field_extra in Media: YouTube 6
Implement hook_emfield_field_extra().
File
- ./
media_youtube.module, line 146 - Embedded Video Field provider file for YouTube.com.
Code
function media_youtube_emfield_field_extra($op, &$node, $field, &$items, $teaser, $page, $module) {
if (in_array($op, array(
'insert',
'update',
))) {
// Store the metadata for any YouTube videos stored in this field.
foreach ($items as $delta => $item) {
if ($item['provider'] == 'youtube') {
$item['status'] = media_youtube_check_status($item['value']);
// Store the metadata for the video if we don't already have it.
if (!db_result(db_query("SELECT value FROM {media_youtube_metadata} WHERE value = '%s'", $item['value']))) {
$item['last_touched'] = time();
drupal_write_record('media_youtube_metadata', $item);
}
// Delete any existing associations for this field delta.
db_query("DELETE FROM {media_youtube_node_data} WHERE value = '%s' AND vid = %d AND field_name = '%s' AND delta = %d", $item['value'], $node->vid, $field['field_name'], $delta);
// Associate this field delta to the specific metadata.
$item['vid'] = $node->vid;
$item['field_name'] = $field['field_name'];
$item['delta'] = $delta;
drupal_write_record('media_youtube_node_data', $item);
}
}
}
}