Mercurial > hg > rr-repo
diff sites/all/modules/views/handlers/views_handler_area_text_custom.inc @ 0:ff03f76ab3fe
initial version
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Wed, 21 Aug 2013 18:51:11 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sites/all/modules/views/handlers/views_handler_area_text_custom.inc Wed Aug 21 18:51:11 2013 +0100 @@ -0,0 +1,56 @@ +<?php + +/** + * @file + * Definition of views_handler_area_text_custom. + */ + +/** + * Views area text custom handler. + * + * @ingroup views_area_handlers + */ +class views_handler_area_text_custom extends views_handler_area_text { + + function option_definition() { + $options = parent::option_definition(); + unset($options['format']); + return $options; + } + + function options_form(&$form, &$form_state) { + parent::options_form($form, $form_state); + + // Alter the form element, to be a regular text area. + $form['content']['#type'] = 'textarea'; + unset($form['content']['#format']); + unset($form['content']['#wysiwyg']); + + // @TODO: Use the token refactored base class. + } + + // Empty, so we don't inherit options_submit from the parent. + function options_submit(&$form, &$form_state) { + } + + function render($empty = FALSE) { + if (!$empty || !empty($this->options['empty'])) { + return $this->render_textarea_custom($this->options['content']); + } + + return ''; + } + + /** + * Render a text area with filter_xss_admin. + */ + function render_textarea_custom($value) { + if ($value) { + if ($this->options['tokenize']) { + $value = $this->view->style_plugin->tokenize_value($value, 0); + } + return $this->sanitize_value($value, 'xss_admin'); + } + } + +}