[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/all/modules/audio/views/ -> audio.views.inc (source)

   1  <?php
   2  // $Id: audio.views.inc,v 1.2 2009/11/25 19:27:24 drewish Exp $
   3  
   4  
   5  /**
   6   * Implementation of hook_views_data()
   7   */
   8  function audio_views_data() {
   9    // Basic table information.
  10  
  11    // Define the base group of this table. Fields that don't
  12    // have a group defined will go into this field by default.
  13    $data['audio']['table']['group']  = t('Audio');
  14  
  15    // For other base tables, explain how we join
  16    $data['audio']['table']['join'] = array(
  17      'node' => array(
  18        'left_field' => 'vid',
  19        'field' => 'vid',
  20      ),
  21      'node_revisions' => array(
  22        'left_field' => 'vid',
  23        'field' => 'vid',
  24      ),
  25      'files' => array(
  26        'left_field' => 'fid',
  27        'field' => 'fid',
  28      ),
  29    );
  30  
  31    // ----------------------------------------------------------------
  32    // Fields
  33  
  34    $data['audio']['play_count'] = array(
  35      'title' => t('Play count'),
  36      'help' => t('This will display the number of times this has been played.'),
  37      'field' => array(
  38        'handler' => 'views_handler_field_numeric',
  39        'click sortable' => TRUE,
  40       ),
  41       'filter' => array(
  42         'handler' => 'views_handler_filter_numeric',
  43         'label' => t('Plays'),
  44       ),
  45      'sort' => array(
  46        'handler' => 'views_handler_sort',
  47      ),
  48    );
  49    
  50    $data['audio']['download_count'] = array(
  51      'title' => t('Download count'),
  52      'help' => t('This will display the number of times this has been downloaded.'),
  53      'field' => array(
  54        'handler' => 'views_handler_field_numeric',
  55        'click sortable' => TRUE,
  56       ),
  57       'filter' => array(
  58         'handler' => 'views_handler_filter_numeric',
  59         'label' => t('Plays'),
  60       ),
  61      'sort' => array(
  62        'handler' => 'views_handler_sort',
  63      ),
  64    );
  65  
  66    $data['audio']['playtime'] = array(
  67      'title' => t('Length'),
  68      'help' => t('The playing time of the audio.'), // The help that appears on the UI,
  69       // Information for displaying a title as a field
  70      'field' => array(
  71        'handler' => 'views_handler_field',
  72        'click sortable' => TRUE,
  73       ),
  74      'sort' => array(
  75        'handler' => 'views_handler_sort',
  76      ),
  77      'filter' => array(
  78        'handler' => 'views_handler_filter_string',
  79      ),
  80      'argument' => array(
  81        'handler' => 'views_handler_argument_string',
  82      ),
  83    );
  84  
  85    $data['audio']['downloadable'] = array(
  86      'title' => t('Downloadable'),
  87      'help' => t('Whether or not the audio is downloadable.'),
  88      'field' => array(
  89        'handler' => 'views_handler_field_boolean',
  90        'click sortable' => TRUE,
  91      ),
  92      'filter' => array(
  93        'handler' => 'views_handler_filter_boolean_operator',
  94        'label' => t('Downloadable'),
  95      ),
  96      'sort' => array(
  97        'handler' => 'views_handler_sort',
  98      ),
  99    );
 100    
 101    $data['audio']['player'] = array(
 102      'title' => t('Player'),
 103      'help' => t('This will display a flash player.'),
 104      'real field' => 'nid',
 105      'field' => array(
 106        'handler' => 'audio_handler_field_player',
 107        'additional fields' => array('nid', 'fid'),
 108      ),
 109      'sort' => array(
 110        'handler' => 'views_handler_sort',
 111      ),
 112    );
 113    
 114    $data['audio']['play_link'] = array(
 115      'title' => t('Play link'),
 116      'help' => t('This will display a player link link.'),
 117      'real field' => 'fid',
 118      'field' => array(
 119        'handler' => 'audio_handler_field_play_link',
 120        'additional fields' => array('nid', 'fid'),
 121      ),
 122      'sort' => array(
 123        'handler' => 'views_handler_sort',
 124      ),
 125    );
 126  
 127    $data['audio']['download_link'] = array(
 128      'title' => t('Download link'),
 129      'help' => t('This will display a download link if the node allows it.'),
 130      'real field' => 'fid',
 131      'field' => array(
 132        'handler' => 'audio_handler_field_download_link',
 133        'additional fields' => array('nid', 'fid', 'downloadable'),
 134      ),
 135      'sort' => array(
 136        'handler' => 'views_handler_sort',
 137      ),
 138    );
 139  
 140    foreach (audio_get_tags_allowed() as $tag) {
 141      $data['audio_metadata_'. $tag]['table']['group']  = t('Audio');
 142  
 143      // For other base tables, explain how we join
 144      $data['audio_metadata_'. $tag]['table']['join'] = array(
 145        'node' => array(
 146          'left_field' => 'vid',
 147          'table' => 'audio_metadata',
 148          'field' => 'vid',
 149          'extra' => array(array('field' => 'tag', 'value' => $tag, 'operator' => '='))
 150         ),
 151        'node_revisions' => array(
 152          'left_field' => 'vid',
 153          'table' => 'audio_metadata',
 154          'field' => 'vid',
 155          'extra' => array(array('field' => 'tag', 'value' => $tag, 'operator' => '='))
 156         ),
 157      );
 158  
 159      $data['audio_metadata_'. $tag]['value'] = array(
 160        'title' => t('@tag', array('@tag' => drupal_ucfirst($tag))),
 161        'help' => t('The value of the @tag metadata field.', array('@tag' => $tag)),
 162        'field' => array(
 163          'handler' => 'views_handler_field_xss',
 164          'click sortable' => TRUE,
 165         ),
 166        'sort' => array(
 167          'handler' => 'views_handler_sort',
 168        ),
 169        'filter' => array(
 170          'handler' => 'views_handler_filter_string',
 171        ),
 172        'argument' => array(
 173          'handler' => 'views_handler_argument_string',
 174        ),
 175      );
 176  /*
 177      $data['audio_metadata_'. $tag]['clean'] = array(
 178        'title' => t('Cleaned @tag value', array('@tag' => $tag)),
 179        'help' => t('The stripped down version of the @tag metadata field.', array('@tag' => $tag)),
 180        'field' => array(
 181          'handler' => 'views_handler_field_xss',
 182          'click sortable' => TRUE,
 183         ),
 184        'sort' => array(
 185          'handler' => 'views_handler_sort',
 186        ),
 187        'filter' => array(
 188          'handler' => 'views_handler_filter_string',
 189        ),
 190        'argument' => array(
 191          'handler' => 'views_handler_argument_string',
 192        ),
 193      );
 194  */
 195    }
 196  
 197    $data['audio']['format'] = array(
 198      'title' => t('Format'),
 199      'help' => t('The file format of the audio.'),
 200      'field' => array(
 201        'handler' => 'views_handler_field',
 202        'click sortable' => TRUE,
 203       ),
 204      'sort' => array(
 205        'handler' => 'views_handler_sort',
 206      ),
 207      'filter' => array(
 208        'handler' => 'views_handler_filter_string',
 209      ),
 210      'argument' => array(
 211        'handler' => 'views_handler_argument_string',
 212      ),
 213    );
 214    
 215    return $data;
 216  }
 217  
 218  
 219  /**
 220   * Implementation of hook_views_handlers()
 221   */
 222  function audio_views_handlers() {
 223    return array(
 224      'info' => array(
 225        'path' => drupal_get_path('module', 'audio') . '/views/handlers',
 226      ),
 227      'handlers' => array(
 228        // field handlers
 229        'audio_handler_field_download_link' => array(
 230          'parent' => 'views_handler_field',
 231        ),
 232        'audio_handler_field_play_link' => array(
 233          'parent' => 'views_handler_field',
 234        ),
 235        'audio_handler_field_player' => array(
 236          'parent' => 'views_handler_field',
 237        ),
 238      ),
 239    );
 240  }
 241  


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7