Commit 8a5faba7 authored by damiankloip's avatar damiankloip Committed by tim.plunkett
Browse files

Issue #1676608 by damiankloip: Added an area handler for unfiltered text.

parent 4119b5dc
......@@ -31,7 +31,7 @@ function options_form(&$form, &$form_state) {
'#wysiwyg' => FALSE,
);
// @TODO: Refactor token handling into a base class.
$form['tokenize'] = array(
'#type' => 'checkbox',
'#title' => t('Use replacement tokens from the first row'),
......
<?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($this->options['content']);
}
return '';
}
/**
* Render a text area with filter_xss_admin.
*/
function render_textarea($value) {
if ($value) {
if ($this->options['tokenize']) {
$value = $this->view->style_plugin->tokenize_value($value, 0);
}
return filter_xss_admin($value);
}
}
}
......@@ -57,6 +57,14 @@ function views_views_data() {
),
);
$data['views']['area_text_custom'] = array(
'title' => t('Unfiltered text'),
'help' => t('Add unrestricted, custom text or markup. This is similar to the custom text field.'),
'area' => array(
'handler' => 'views_handler_area_text_custom',
),
);
$data['views']['view'] = array(
'title' => t('View area'),
'help' => t('Insert a view inside an area.'),
......
......@@ -12,6 +12,7 @@ dependencies[] = ctools
files[] = handlers/views_handler_area.inc
files[] = handlers/views_handler_area_result.inc
files[] = handlers/views_handler_area_text.inc
files[] = handlers/views_handler_area_text_custom.inc
files[] = handlers/views_handler_area_view.inc
files[] = handlers/views_handler_argument.inc
files[] = handlers/views_handler_argument_date.inc
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment