Merge branch 'MDL-27675_master' of git://github.com/grabs/moodle
authorSam Hemelryk <sam@moodle.com>
Wed, 20 Jun 2012 23:25:07 +0000 (11:25 +1200)
committerSam Hemelryk <sam@moodle.com>
Wed, 20 Jun 2012 23:25:07 +0000 (11:25 +1200)
1  2 
mod/feedback/item/captcha/lib.php
mod/feedback/item/feedback_item_class.php
mod/feedback/item/info/lib.php
mod/feedback/item/multichoicerated/lib.php
mod/feedback/item/numeric/lib.php
mod/feedback/item/textarea/lib.php
mod/feedback/item/textfield/lib.php

@@@ -326,4 -326,12 +326,12 @@@ class feedback_item_captcha extends fee
      public function can_switch_require() {
          return false;
      }
 -    function clean_input_value($value) {
+     public function value_type() {
+         return PARAM_RAW;
+     }
++    public function clean_input_value($value) {
+         return clean_param($value, $this->value_type());
+     }
  }
@@@ -41,14 -41,11 +41,14 @@@ abstract class feedback_item_base 
          return false;
      }
  
 +    public function value_type() {
 +        return PARAM_RAW;
 +    }
 +
      public function value_is_array() {
          return false;
      }
  
 -    abstract public function value_type();
      abstract public function init();
      abstract public function build_editform($item, $feedback, $cm);
      abstract public function save_item();
       */
      abstract public function print_item_show_value($item, $value = '');
  
 -    abstract function clean_input_value($value);
+     /**     
+      * cleans the userinput while submitting the form
+      *
+      * @param mixed $value
+      * @return mixed
+      */
++    abstract public function clean_input_value($value);
  }
  
  //a dummy class to realize pagebreaks
@@@ -175,7 -180,9 +183,9 @@@ class feedback_item_pagebreak extends f
      }
      public function can_switch_require() {
      }
+     public function value_type() {
+     }
+     public function clean_input_value($value) {
+     }
  
  }
@@@ -388,4 -388,12 +388,12 @@@ class feedback_item_info extends feedba
      public function can_switch_require() {
          return false;
      }
 -    function clean_input_value($value) {
+     public function value_type() {
+         return PARAM_INT;
+     }
++    public function clean_input_value($value) {
+         return clean_param($value, $this->value_type());
+     }
  }
@@@ -678,4 -678,11 +678,11 @@@ class feedback_item_multichoicerated ex
          return true;
      }
  
 -    function clean_input_value($value) {
+     public function value_type() {
+         return PARAM_INT;
+     }
++    public function clean_input_value($value) {
+         return clean_param($value, $this->value_type());
+     }
  }
@@@ -364,7 -364,7 +364,7 @@@ class feedback_item_numeric extends fee
                       'name="'.$item->typ.'_'.$item->id.'" '.
                       'size="10" '.
                       'maxlength="10" '.
-                      'value="'.($value ? $value : '').'" />';
+                      'value="'.$value.'" />';
  
          echo '</span>';
          echo '</div>';
      public function can_switch_require() {
          return true;
      }
 -    function clean_input_value($value) {
+     
+     public function value_type() {
+         return PARAM_FLOAT;
+     }
++    public function clean_input_value($value) {
+         if (!is_numeric($value)) {
+             return null;
+         }
+         return clean_param($value, $this->value_type());
+     }
  }
@@@ -262,7 -262,7 +262,7 @@@ class feedback_item_textarea extends fe
          echo '<textarea name="'.$item->typ.'_'.$item->id.'" '.
                         'cols="'.$presentation[0].'" '.
                         'rows="'.$presentation[1].'">';
-         echo ($value ? htmlspecialchars($value) : '');
+         echo $value;
          echo '</textarea>';
          echo '</span>';
          echo '</div>';
      }
  
      public function create_value($data) {
-         $data = clean_text($data);
+         $data = s($data);
          return $data;
      }
  
      public function can_switch_require() {
          return true;
      }
 -    function clean_input_value($value) {
+     public function value_type() {
+         return PARAM_RAW;
+     }
++    public function clean_input_value($value) {
+         return s($value);
+     }
  }
@@@ -252,7 -252,7 +252,7 @@@ class feedback_item_textfield extends f
                      'name="'.$item->typ.'_'.$item->id.'" '.
                      'size="'.$presentation[0].'" '.
                      'maxlength="'.$presentation[1].'" '.
-                     'value="'.($value ? htmlspecialchars($value) : '').'" />';
+                     'value="'.$value.'" />';
          echo '</span>';
          echo '</div>';
      }
      }
  
      public function create_value($data) {
-         $data = clean_text($data);
+         $data = s($data);
          return $data;
      }
  
      public function can_switch_require() {
          return true;
      }
 -    function clean_input_value($value) {
+     public function value_type() {
+         return PARAM_RAW;
+     }
++    public function clean_input_value($value) {
+         return s($value);
+     }
  }