diff --git a/legal.admin.inc b/legal.admin.inc index bd60b53..67770e0 100644 --- a/legal.admin.inc +++ b/legal.admin.inc @@ -31,7 +31,7 @@ function legal_administration($form_state) { '#type' => 'text_format', '#title' => t('Terms & Conditions'), '#default_value' => $conditions['conditions'], - '#format' => $conditions['format'], + '#format' => !empty($conditions['format']) ? $conditions['format'] : filter_fallback_format(), '#description' => t('Your Terms & Conditions'), '#required' => TRUE, ); @@ -149,13 +149,13 @@ function legal_administration($form_state) { /** * After build function for legal_administration form. */ -function legal_preview($form, $form_values) { +function legal_preview($form, $form_state) { switch ($form['display']['#value']) { case 1: // Scroll box (CSS). case 2: // HTML. $form['legal']['conditions'] = array( - '#markup' => filter_xss_admin($form['conditions']['#value']), + '#markup' => check_markup($form_state['values']['conditions']['value'], $form_state['values']['conditions']['format']), ); $form['legal']['legal_accept']['#title'] = t('Accept Terms & Conditions of Use'); break; @@ -171,7 +171,7 @@ function legal_preview($form, $form_values) { '#name' => 'preview', '#type' => 'textarea', '#title' => t('Terms & Conditions'), - '#value' => $form['conditions']['#value'], + '#value' => $form_state['values']['conditions']['value'], '#parents' => array('legal'), '#rows' => 10, '#attributes' => array('readonly' => 'readonly'), diff --git a/legal.info b/legal.info index 295fd4d..8dbf3f2 100644 --- a/legal.info +++ b/legal.info @@ -3,5 +3,6 @@ description = Display Terms and Conditions statement on the registration page. configure = admin/config/people/legal core = 7.x files[] = legal.test +dependencies[] = filter diff --git a/legal.module b/legal.module index ced51cf..76ca5e3 100644 --- a/legal.module +++ b/legal.module @@ -143,7 +143,7 @@ function legal_display_fields($conditions) { case 1: // Scroll box (CSS). case 2: // HTML. $form['legal']['conditions'] = array( - '#markup' => filter_xss_admin($conditions['conditions']), + '#markup' => check_markup($conditions['conditions'], $conditions['format']), ); break; diff --git a/legal.test b/legal.test index a784b4a..ed3f96e 100644 --- a/legal.test +++ b/legal.test @@ -11,7 +11,7 @@ class LegalTestCase extends DrupalWebTestCase { function setUp() { // Enable any modules required for the test. - parent::setUp('legal'); + parent::setUp('legal', 'filter'); } /** @@ -21,7 +21,7 @@ class LegalTestCase extends DrupalWebTestCase { function setSettings($edit) { // Had to move to creating an user for every change in settings, since // creating this in setUp() was not working. - $admin_user = $this->drupalCreateUser(array('administer Terms and Conditions')); + $admin_user = $this->drupalCreateUser(array('administer Terms and Conditions', 'use text format filtered_html')); $this->drupalLogin($admin_user); @@ -54,7 +54,8 @@ class LegalRegisterTestCase extends LegalTestCase { // Set basic module settings. $conditions = $this->randomName(); $edit = array( - 'conditions' => $conditions, + 'conditions[value]' => $conditions, + 'conditions[format]' => filter_fallback_format(), ); $this->setSettings($edit); } @@ -118,7 +119,8 @@ class LegalScrollBoxDisplayTestCase extends LegalTestCase { // Set basic module settings. $this->conditions = $this->randomName(); $edit = array( - 'conditions' => $this->conditions, + 'conditions[value]' => $this->conditions, + 'conditions[format]' => filter_fallback_format(), 'display' => 0, ); $this->setSettings($edit); @@ -155,7 +157,8 @@ class LegalScrollBoxCSSDisplayTestCase extends LegalTestCase { // Set basic module settings. $this->conditions = $this->randomName(); $edit = array( - 'conditions' => $this->conditions, + 'conditions[value]' => $this->conditions, + 'conditions[format]' => filter_fallback_format(), 'display' => 1, ); $this->setSettings($edit); @@ -192,7 +195,8 @@ class LegalHTMLTextDisplayTestCase extends LegalTestCase { // Set basic module settings. $this->conditions = $this->randomName(); $edit = array( - 'conditions' => $this->conditions, + 'conditions[value]' => $this->conditions, + 'conditions[format]' => filter_fallback_format(), 'display' => 2, ); $this->setSettings($edit); @@ -229,7 +233,8 @@ class LegalLinkDisplayTestCase extends LegalTestCase { // Set basic module settings. $this->conditions = $this->randomName(); $edit = array( - 'conditions' => $this->conditions, + 'conditions[value]' => $this->conditions, + 'conditions[format]' => filter_fallback_format(), 'display' => 3, ); $this->setSettings($edit);