You are here

function asset_emfield_asset_type in Asset 5.2

Same name and namespace in other branches
  1. 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;
  }
}