• Main Page
  • Related Pages
  • Modules
  • Classes
  • Files
  • File List
  • File Members

modules/field/views_handler_argument_field_list.inc

Go to the documentation of this file.
00001 <?php
00012 class views_handler_argument_field_list extends views_handler_argument_numeric {
00017   var $allowed_values = NULL;
00018 
00019   function init(&$view, &$options) {
00020     parent::init($view, $options);
00021     $field = field_info_field($this->definition['field_name']);
00022     $this->allowed_values = list_allowed_values($field);
00023   }
00024 
00025   function option_definition() {
00026     $options = parent::option_definition();
00027     $options['summary']['contains']['human'] = array('default' => FALSE);
00028 
00029     return $options;
00030   }
00031 
00032   function options_form(&$form, &$form_state) {
00033     parent::options_form($form, $form_state);
00034 
00035     $form['summary']['human'] = array(
00036       '#title' => t('Display list value as human readable'),
00037       '#type' => 'checkbox',
00038       '#default_value' => $this->options['summary']['human'],#
00039       '#dependency' => array('radio:options[default_action]' => array('summary')),
00040     );
00041   }
00042 
00043 
00044   function summary_name($data) {
00045     $value = $data->{$this->name_alias};
00046     // If the list element has a human readable name show it,
00047     if (isset($this->allowed_values[$value]) && !empty($this->options['summary']['human'])) {
00048       return field_filter_xss($this->allowed_values[$value]);
00049     }
00050     // else fallback to the key.
00051     else {
00052       return check_plain($value);
00053     }
00054   }
00055 }
00056 

Generated on Sun Feb 26 2012 12:52:51 for Views by  doxygen 1.7.1