MDL-37896 qtype_essay: correct PARAM_CLEANHTML -> PARAM_RAW.
authorTim Hunt <T.J.Hunt@open.ac.uk>
Wed, 6 Feb 2013 17:45:58 +0000 (17:45 +0000)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Fri, 8 Feb 2013 12:51:21 +0000 (12:51 +0000)
It turns out that you should almost never use PARAM_CLEANHTML.

lib/moodlelib.php
question/engine/questionattempt.php
question/type/essay/question.php

index cd7b102..709e29c 100644 (file)
@@ -116,7 +116,11 @@ define('PARAM_BOOL',     'bool');
 define('PARAM_CAPABILITY',   'capability');
 
 /**
- * PARAM_CLEANHTML - cleans submitted HTML code. use only for text in HTML format. This cleaning may fix xhtml strictness too.
+ * PARAM_CLEANHTML - cleans submitted HTML code. Note that you almost never want
+ * to use this. The normal mode of operation is to use PARAM_RAW when recieving
+ * the input (required/optional_param or formslib) and then sanitse the HTML
+ * using format_text on output. This is for the rare cases when you want to
+ * sanitise the HTML on input. This cleaning may also fix xhtml strictness.
  */
 define('PARAM_CLEANHTML', 'cleanhtml');
 
index c4d6061..a5a12d1 100644 (file)
@@ -64,7 +64,7 @@ class question_attempt {
      * @var string special value to indicate a response variable that is uploaded
      * files.
      */
-    const PARAM_CLEANHTML_FILES = 'paramcleanhtmlfiles';
+    const PARAM_RAW_FILES = 'paramrawfiles';
 
     /** @var integer if this attempts is stored in the question_attempts table, the id of that row. */
     protected $id = null;
@@ -888,8 +888,8 @@ class question_attempt {
             case self::PARAM_FILES:
                 return $this->process_response_files($name, $name, $postdata);
 
-            case self::PARAM_CLEANHTML_FILES:
-                $var = $this->get_submitted_var($name, PARAM_CLEANHTML, $postdata);
+            case self::PARAM_RAW_FILES:
+                $var = $this->get_submitted_var($name, PARAM_RAW, $postdata);
                 return $this->process_response_files($name, $name . ':itemid', $postdata, $var);
 
             default:
index 270c65b..7fe4155 100644 (file)
@@ -55,9 +55,7 @@ class qtype_essay_question extends question_with_responses {
 
     public function get_expected_data() {
         if ($this->responseformat == 'editorfilepicker') {
-            $expecteddata = array('answer' => question_attempt::PARAM_CLEANHTML_FILES);
-        } else if ($this->responseformat == 'editor') {
-            $expecteddata = array('answer' => PARAM_CLEANHTML);
+            $expecteddata = array('answer' => question_attempt::PARAM_RAW_FILES);
         } else {
             $expecteddata = array('answer' => PARAM_RAW);
         }