| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
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
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Mar 24 11:18:33 2011 | Cross-referenced by PHPXref 0.7 |