| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
1 <?php 2 // $Id: filefield.views_convert.inc,v 1.1 2009/07/03 22:14:14 quicksketch Exp $ 3 4 /** 5 * @file 6 * Field conversion for fields handled by this module. 7 */ 8 9 /** 10 * Implementation of hook_views_convert(). 11 */ 12 function filefield_views_convert($display, $type, &$view, $field, $id = NULL) { 13 static $filefield_fields; 14 static $filefield_filters; 15 static $filefield_arguments; 16 if (!isset($filefield_fields)) { 17 $filefield_fields = $filefield_filters = $filefield_arguments = array(); 18 foreach (content_fields() as $content_field) { 19 if ($content_field['module'] == 'filefield') { 20 $result = module_invoke('filefield', 'field_settings', 'views data', $content_field); 21 if (!empty($result)) { 22 foreach ($result as $table => $fields) { 23 unset($fields['table']); 24 foreach ($fields as $filefield_field => $definition) { 25 switch ($filefield_field) { 26 case $content_field['field_name'] .'_fid': 27 $filefield_fields[$filefield_field] = array( 28 'table' => $table, 29 'field' => $filefield_field, 30 ); 31 $filefield_arguments['content: '. $content_field['field_name']] = &$filefield_fields[$filefield_field]; 32 break; 33 case $content_field['field_name'] .'_list': 34 $filefield_filters[$content_field['field_name'] .'_fid_not null'] = array( 35 'table' => $table, 36 'field' => $filefield_field, 37 ); 38 break; 39 } 40 } 41 } 42 } 43 } 44 } 45 } 46 switch ($type) { 47 case 'field': 48 if (isset($filefield_fields[$field['field']])) { 49 $multiple = array(); 50 switch ($field['handler']) { 51 case 'content_views_field_handler_ungroup': 52 $view->set_item_option($display, 'field', $id, 'multiple', array('group' => FALSE)); 53 break; 54 case 'content_views_field_handler_last': 55 $multiple['multiple_reversed'] = TRUE; 56 case 'content_views_field_handler_first': 57 $multiple['multiple_number'] = 1; 58 $view->set_item_option($display, 'field', $id, 'multiple', $multiple); 59 break; 60 } 61 $view->set_item_option($display, 'field', $id, 'format', $field['options']); 62 } 63 break; 64 case 'filter': 65 if (isset($filefield_filters[$field['field']])) { 66 $filter = $filefield_filters[$field['field']]; 67 $item = $view->get_item($display, 'filter', $id); 68 $item['value'] = $field['value']; 69 $item['table'] = $filter['table']; 70 $item['field'] = $filter['field']; 71 $view->set_item($display, 'filter', $id, $item); 72 } 73 break; 74 case 'argument': 75 if (isset($filefield_arguments[$field['type']])) { 76 $argument = $filefield_arguments[$field['type']]; 77 $options = $field['argoptions']; 78 $view->add_item($display, 'argument', $argument['table'], $argument['field'], $options, $field['id']); 79 } 80 break; 81 } 82 }
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 |