| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
1 <?php 2 //$Id: upload.views_convert.inc,v 1.4 2009/06/30 19:14:27 merlinofchaos 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 * Intervene to convert field values from the Views 1 format to the 13 * Views 2 format. Intervene only if $view->add_item() won't produce 14 * the right results, usually needed to set field options or values. 15 */ 16 function upload_views_convert($display, $type, &$view, $field, $id = NULL) { 17 switch ($type) { 18 case 'field': 19 switch ($field['tablename']) { 20 case 'file_revisions': 21 switch ($field['field']) { 22 case 'fid': 23 $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); 24 $view->set_item_option($display, 'field', $id, 'relationship', $relationship); 25 $view->set_item_option($display, 'field', $id, 'table', 'files'); 26 break; 27 } 28 break; 29 case 'files': 30 switch ($field['field']) { 31 case 'all_files': 32 $item = $view->get_item($display, 'field', $id); 33 switch ($field['options']) { 34 case 'link': 35 $item['link_to_file'] = TRUE; 36 break; 37 case 'linkdesc': 38 $item['link_to_file'] = TRUE; 39 case 'nolinkdesc': 40 $item['alter']['alter_text'] = TRUE; 41 $item['alter']['text'] = '['. $view->add_item($display, 'field', 'upload', 'description', array('exclude' => TRUE)) .']'; 42 break; 43 } 44 if ($field['handler'] == 'views_handler_file_listed_files') { 45 $item['only_listed'] = TRUE; 46 } 47 $item['table'] = 'node'; 48 $item['field'] = 'upload_fid'; 49 $view->set_item($display, 'field', $id, $item); 50 break; 51 case 'filename': 52 if ($field['handler'] == 'views_handler_file_filename_download') { 53 $view->set_item_option($display, 'field', $id, 'link_to_file', TRUE); 54 } 55 $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); 56 $view->set_item_option($display, 'field', $id, 'relationship', $relationship); 57 break; 58 } 59 break; 60 } 61 break; 62 case 'filter': 63 switch ($field['tablename']) { 64 case 'file_revisions': 65 switch ($field['field']) { 66 case 'fid': 67 $view->set_item_option($display, 'filter', $id, 'table', 'node'); 68 $view->set_item_option($display, 'filter', $id, 'field', 'upload_fid'); 69 break; 70 case 'list': 71 $view->set_item_option($display, 'filter', $id, 'table', 'upload'); 72 break; 73 } 74 break; 75 case 'files': 76 switch ($field['field']) { 77 case 'filename': 78 case 'filemime': 79 $item = $view->get_item($display, 'filter', $id); 80 $item['operator'] = $field['operator']; 81 $item['case'] = FALSE; 82 $item['relationship'] = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); 83 $view->set_item($display, 'filter', $id, $item); 84 break; 85 case 'filesize': 86 $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); 87 $view->set_item_option($display, 'filter', $id, 'relationship', $relationship); 88 $view->set_item_option($display, 'filter', $id, 'operator', $field['operator']); 89 break; 90 } 91 break; 92 } 93 break; 94 case 'sorts': 95 switch ($field['tablename']) { 96 case 'file_revisions': 97 switch ($field['field']) { 98 case 'fid': 99 $relationship = $view->add_item($display, 'relationship', 'node', 'upload_fid', array(), 'node_upload_fid'); 100 $view->set_item_option($display, 'field', $id, 'relationship', $relationship); 101 $view->set_item_option($display, 'field', $id, 'table', 'files'); 102 break; 103 } 104 break; 105 } 106 break; 107 } 108 }
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 |