home | career | drupal | java | mac | mysql | perl | php | scala | uml | unix

Drupal example source code file (filefield_meta.token.inc)

This example Drupal source code file (filefield_meta.token.inc) is included in the DevDaily.com "Drupal Source Code Warehouse" project. The intent of this project is to help you "Learn Drupal by Example".

PHP - Drupal tags/keywords

all, as, audio, check_plain, foreach, function, isset, label, object, php, tag, tokens, type, variable

The filefield_meta.token.inc Drupal example source code

<?php
// $Id: filefield_meta.token.inc,v 1.2 2010/12/06 01:28:08 quicksketch Exp $

/**
 * @file
 * Token integration for FileField Meta.
 */

/**
 * Implementation of hook_token_list().
 *
 * Provide a user readable list of FileField Meta tokens.
 */
function filefield_meta_token_list($type = 'all') {
  if ($type == 'field' || $type == 'all') {
    $tokens['file']['filefield-width']               = t('File Video width');
    $tokens['file']['filefield-height']              = t('File Video height');
    $tokens['file']['filefield-duration']            = t('File Duration');
    $tokens['file']['filefield-audio-format']        = t('File Audio Format path');
    $tokens['file']['filefield-audio-sample-rate']   = t('File Audio sample rate');
    $tokens['file']['filefield-audio-channel-mode']  = t('File Audio channel mode (stereo, mono)');
    $tokens['file']['filefield-audio-bitrate']       = t('File Audio bitrate');
    $tokens['file']['filefield-audio-bitrate-mode']  = t('File Audio bitrate mode (cbr, vbr, abr...)');

    // ID3 tags.
    foreach (filefield_meta_tags() as $tag => $label) {
      $tokens['file']['filefield-tag-' . $tag] = t('File ID3 @tag tag', array('@tag' => $label));
    }

    return $tokens;
  }
}

/**
 * Implementation of hook_token_values().
 *
 * Provide the token values for a given file item.
 */
function filefield_meta_token_values($type, $object = NULL) {
  $tokens = array();
  if ($type == 'field' && isset($object[0]['fid'])) {
    $item = $object[0];

    $tokens['filefield-width']               = $item['data']['width'] ;
    $tokens['filefield-height']              = $item['data']['height'] ;
    $tokens['filefield-duration']            = $item['data']['duration'] ;
    $tokens['filefield-audio-format']        = isset($item['data']['audio_format']) ? check_plain($item['data']['audio_format']) : '';
    $tokens['filefield-audio-sample-rate']   = isset($item['data']['sample_rate']) ? check_plain($item['data']['sample_rate']) : '';
    $tokens['filefield-audio-channel-mode']  = isset($item['data']['audio_channel_mode']) ? check_plain($item['data']['audio_channel_mode']) : '';
    $tokens['filefield-audio-bitrate']       = isset($item['data']['audio_bitrate']) ? check_plain($item['data']['audio_bitrate']) : '';
    $tokens['filefield-audio-bitrate-mode']  = isset($item['data']['audio_bitrate_mode']) ? check_plain($item['data']['audio_bitrate_mode']) : '';

    // ID3 tags.
    foreach (filefield_meta_tags() as $tag => $label) {
      $tokens['filefield-tag-title'] = isset($item['data']['tags'][$tag]) ? check_plain($item['data']['tags'][$tag]) : '';
    }
  }

  return $tokens;
}

Other Drupal examples (source code examples)

Here is a short list of links related to this Drupal filefield_meta.token.inc source code file:

new blog posts

"Drupal" is a registered trademark of Dries Buytaert.

my drupal tutorials and examples  

Copyright 1998-2016 Alvin Alexander, alvinalexander.com
All Rights Reserved.

Beginning in 2016, a portion of the proceeds from pages under the '/drupal-code-examples/' URI will be donated to charity.