Mercurial > hg > rr-repo
annotate sites/all/modules/views/handlers/views_handler_field_custom.inc @ 0:ff03f76ab3fe
initial version
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Wed, 21 Aug 2013 18:51:11 +0100 |
parents | |
children |
rev | line source |
---|---|
danielebarchiesi@0 | 1 <?php |
danielebarchiesi@0 | 2 |
danielebarchiesi@0 | 3 /** |
danielebarchiesi@0 | 4 * @file |
danielebarchiesi@0 | 5 * Definition of views_handler_field_custom. |
danielebarchiesi@0 | 6 */ |
danielebarchiesi@0 | 7 |
danielebarchiesi@0 | 8 /** |
danielebarchiesi@0 | 9 * A handler to provide a field that is completely custom by the administrator. |
danielebarchiesi@0 | 10 * |
danielebarchiesi@0 | 11 * @ingroup views_field_handlers |
danielebarchiesi@0 | 12 */ |
danielebarchiesi@0 | 13 class views_handler_field_custom extends views_handler_field { |
danielebarchiesi@0 | 14 function query() { |
danielebarchiesi@0 | 15 // do nothing -- to override the parent query. |
danielebarchiesi@0 | 16 } |
danielebarchiesi@0 | 17 |
danielebarchiesi@0 | 18 function option_definition() { |
danielebarchiesi@0 | 19 $options = parent::option_definition(); |
danielebarchiesi@0 | 20 |
danielebarchiesi@0 | 21 // Override the alter text option to always alter the text. |
danielebarchiesi@0 | 22 $options['alter']['contains']['alter_text'] = array('default' => TRUE, 'bool' => TRUE); |
danielebarchiesi@0 | 23 $options['hide_alter_empty'] = array('default' => FALSE, 'bool' => TRUE); |
danielebarchiesi@0 | 24 return $options; |
danielebarchiesi@0 | 25 } |
danielebarchiesi@0 | 26 |
danielebarchiesi@0 | 27 function options_form(&$form, &$form_state) { |
danielebarchiesi@0 | 28 parent::options_form($form, $form_state); |
danielebarchiesi@0 | 29 |
danielebarchiesi@0 | 30 // Remove the checkbox |
danielebarchiesi@0 | 31 unset($form['alter']['alter_text']); |
danielebarchiesi@0 | 32 unset($form['alter']['text']['#dependency']); |
danielebarchiesi@0 | 33 unset($form['alter']['text']['#process']); |
danielebarchiesi@0 | 34 unset($form['alter']['help']['#dependency']); |
danielebarchiesi@0 | 35 unset($form['alter']['help']['#process']); |
danielebarchiesi@0 | 36 $form['#pre_render'][] = 'views_handler_field_custom_pre_render_move_text'; |
danielebarchiesi@0 | 37 } |
danielebarchiesi@0 | 38 |
danielebarchiesi@0 | 39 function render($values) { |
danielebarchiesi@0 | 40 // Return the text, so the code never thinks the value is empty. |
danielebarchiesi@0 | 41 return $this->options['alter']['text']; |
danielebarchiesi@0 | 42 } |
danielebarchiesi@0 | 43 } |
danielebarchiesi@0 | 44 |
danielebarchiesi@0 | 45 /** |
danielebarchiesi@0 | 46 * Prerender function to move the textarea to the top. |
danielebarchiesi@0 | 47 */ |
danielebarchiesi@0 | 48 function views_handler_field_custom_pre_render_move_text($form) { |
danielebarchiesi@0 | 49 $form['text'] = $form['alter']['text']; |
danielebarchiesi@0 | 50 $form['help'] = $form['alter']['help']; |
danielebarchiesi@0 | 51 unset($form['alter']['text']); |
danielebarchiesi@0 | 52 unset($form['alter']['help']); |
danielebarchiesi@0 | 53 |
danielebarchiesi@0 | 54 return $form; |
danielebarchiesi@0 | 55 } |