[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/all/modules/cck/includes/views/ -> content.views_convert.inc (source)

   1  <?php
   2  // $Id: content.views_convert.inc,v 1.1.2.5 2009/07/14 22:17:05 yched 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 content_views_convert($display, $type, &$view, $views_field) {
  17    static $views_fields;
  18  
  19    if (empty($views_fields)) {
  20      $views_fields = array();
  21      $types = content_types();
  22      foreach ($types as $ctype) {
  23        foreach ($ctype['fields'] as $field) {
  24          $module = $field['module'];
  25          $result = (array) module_invoke($module, 'field_settings', 'views data', $field);
  26          drupal_alter('field_settings', $result, 'views data', $field);
  27          if (empty($result)) {
  28            // The views field name had the column name appended,
  29            // like field_name_value or field_username_uid.
  30            $column = array_shift(array_keys($field['columns']));
  31            $views_fields[$field['field_name'] .'_'. $column] = $field;
  32          }
  33        }
  34      }
  35    }
  36  
  37    // Is this a field that CCK should handle? If not, return.
  38    if (!in_array($views_field['field'], array_keys($views_fields))) {
  39      return;
  40    }
  41  
  42    // Now update values, options, etc. to those selected in the imported view.
  43    switch ($type) {
  44      case 'field':
  45        $view->display[$display]->display_options['fields'][$views_field['field']]['format'] = $views_field['options'];
  46        if ($views_field['handler'] == 'content_views_field_handler_group') {
  47          $view->display[$display]->display_options['fields'][$views_field['field']]['multiple']['group'] = 1;
  48        }
  49        else {
  50          $view->display[$display]->display_options['fields'][$views_field['field']]['multiple']['group'] = 0;
  51        }
  52        return;
  53  
  54      case 'filter':
  55        // TODO
  56        return;
  57  
  58      case 'exposed_filter':
  59        // TODO
  60        return;
  61  
  62      case 'argument':
  63        // TODO
  64        return;
  65  
  66      case 'sort':
  67        // TODO
  68        break;
  69  
  70    }
  71    return;
  72  }


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