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
00047 if (isset($this->allowed_values[$value]) && !empty($this->options['summary']['human'])) {
00048 return field_filter_xss($this->allowed_values[$value]);
00049 }
00050
00051 else {
00052 return check_plain($value);
00053 }
00054 }
00055 }
00056