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');
+    }
+  }
+
+}