[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

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

   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  }


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