function asset_emfield_asset_type in Asset 5.2
Same name and namespace in other branches
- 6 contrib/asset_emfield/asset_emfield.module \asset_emfield_asset_type()
Implementation of hook_asset_type().
File
- contrib/
asset_emfield/ asset_emfield.module, line 13 - Asset Embedded Media Module
Code
function asset_emfield_asset_type($op = 'info', &$asset = NULL) {
switch ($op) {
case 'info':
return array(
'emfield_video' => array(
'name' => t('Embedded Video'),
'module' => 'asset_emfield',
'description' => t('Create a new video asset using embed code from a 3rd-party site.'),
),
);
break;
case 'form':
return asset_emfield_invoke('form', $asset);
case 'validate':
asset_emfield_invoke('validate', $asset);
break;
case 'insert':
asset_emfield_invoke('submit', $asset);
$field = $asset->emfield[0];
db_query('INSERT INTO {asset_emfield} (aid, embed, value, provider, data) VALUES (%d, "%s", "%s", "%s", "%s")', $asset->aid, $field['embed'], $field['value'], $field['provider'], serialize($field['data']));
break;
case 'update':
asset_emfield_invoke('submit', $asset);
$field = $asset->emfield[0];
db_query('UPDATE {asset_emfield} SET embed="%s", value="%s", provider="%s", data="%s" WHERE aid=%d', $field['embed'], $field['value'], $field['provider'], serialize($field['data']), $asset->aid);
break;
case 'load':
$result = db_query('SELECT * FROM {asset_emfield} WHERE aid=%d', $asset->aid);
while ($row = db_fetch_array($result)) {
$asset->emfield[0] = $row;
}
$return = asset_emfield_invoke('load', $asset);
return array(
'emfield' => $return['emfield'],
);
case 'view':
switch ($asset->type) {
case 'emfield_video':
return asset_render($asset, 'video_video');
}
break;
case 'img':
case 'icon':
if ($asset->type == 'emfield_video') {
$item = $asset->emfield[0];
if ($item['value'] && $item['provider']) {
// if we have emthumb installed, then give it a chance to override our thumbnail
$thumbnail_url = module_invoke('emthumb', 'thumbnail_url', $item);
// if we don't have a custom thumbnail, then see if the provider gives us one
$thumbnail_url = $thumbnail_url ? $thumbnail_url : module_invoke('emfield', 'include_invoke', 'video_cck', $item['provider'], 'thumbnail', NULL, $item, NULL, NULL, 64, 64);
return $thumbnail_url;
}
}
break;
}
}