Merge branch 'MDL-27675_21' of git://github.com/grabs/moodle into MOODLE_21_STABLE

This commit is contained in:
Sam Hemelryk
2012-06-21 11:36:42 +12:00
12 changed files with 68 additions and 13 deletions
+3 -2
View File
@@ -241,7 +241,7 @@
$tracking->completed = $new_completed_id;
$DB->insert_record('feedback_tracking', $tracking);
unset($SESSION->feedback->is_started);
// Update completion state
$completion = new completion_info($course);
if ($completion->is_enabled($cm) && $feedback->completionsubmit) {
@@ -434,7 +434,8 @@
//get the value
$frmvaluename = $feedbackitem->typ . '_'. $feedbackitem->id;
if(isset($savereturn)) {
$value = isset($formdata->{$frmvaluename})?$formdata->{$frmvaluename}:NULL;
$value = isset($formdata->{$frmvaluename})?$formdata->{$frmvaluename}:NULL;
$value = feedback_clean_input_value($feedbackitem, $value);
}else {
if(isset($feedbackcompletedtmp->id)) {
$value = feedback_get_item_value($feedbackcompletedtmp->id, $feedbackitem->id, true);
+3 -2
View File
@@ -54,7 +54,7 @@
//if the use hit enter into a textfield so the form should not submit
if(isset($formdata->sesskey) AND !isset($formdata->savevalues) AND !isset($formdata->gonextpage) AND !isset($formdata->gopreviouspage)) {
$gopage = $formdata->lastpage;
$gopage = (int)$formdata->lastpage;
}
if(isset($formdata->savevalues)) {
$savevalues = true;
@@ -383,7 +383,8 @@
//get the value
$frmvaluename = $feedbackitem->typ . '_'. $feedbackitem->id;
if(isset($savereturn)) {
$value = isset($formdata->{$frmvaluename})?$formdata->{$frmvaluename}:NULL;
$value = isset($formdata->{$frmvaluename})?$formdata->{$frmvaluename}:NULL;
$value = feedback_clean_input_value($feedbackitem, $value);
}else {
if(isset($feedbackcompletedtmp->id)) {
$value = feedback_get_item_value($feedbackcompletedtmp->id, $feedbackitem->id, sesskey());
+4
View File
@@ -280,4 +280,8 @@ class feedback_item_captcha extends feedback_item_base {
function can_switch_require() {
return false;
}
function clean_input_value($value) {
return clean_param($value, PARAM_RAW);
}
}
@@ -104,6 +104,14 @@ abstract class feedback_item_base {
*/
abstract function print_item_show_value($item, $value = '');
/**
* cleans the userinput while submitting the form
*
* @param mixed $value
* @return mixed
*/
abstract function clean_input_value($value);
}
//a dummy class to realize pagebreaks
@@ -129,6 +137,7 @@ class feedback_item_pagebreak extends feedback_item_base {
function print_item_complete($item, $value = '', $highlightrequire = false) {}
function print_item_show_value($item, $value = '') {}
function can_switch_require(){}
function clean_input_value($value){}
}
+4
View File
@@ -323,4 +323,8 @@ class feedback_item_info extends feedback_item_base {
function can_switch_require() {
return false;
}
function clean_input_value($value) {
return clean_param($value, PARAM_INT);
}
}
+4
View File
@@ -233,4 +233,8 @@ class feedback_item_label extends feedback_item_base {
function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {}
function get_printval($item, $value) {}
function get_analysed($item, $groupid = false, $courseid = false) {}
function clean_input_value($value) {
return '';
}
}
+4 -1
View File
@@ -710,8 +710,11 @@ class feedback_item_multichoice extends feedback_item_base {
return false;
}
function can_switch_require() {
return true;
}
function clean_input_value($value) {
return clean_param($value, PARAM_INT);
}
}
@@ -589,4 +589,7 @@ class feedback_item_multichoicerated extends feedback_item_base {
return true;
}
function clean_input_value($value) {
return clean_param($value, PARAM_INT);
}
}
+11 -4
View File
@@ -282,16 +282,16 @@ class feedback_item_numeric extends feedback_item_base {
}
echo '</span>';
echo '</div>';
//print the presentation
echo '<div class="feedback_item_presentation_'.$align.$highlight.'">';
echo '<span class="feedback_item_textfield">';
echo '<input type="text" name="'.$item->typ.'_'.$item->id.'" size="10" maxlength="10" value="'.($value ? $value : '').'" />';
echo '<input type="text" name="'.$item->typ.'_'.$item->id.'" size="10" maxlength="10" value="'.$value.'" />';
echo '</span>';
echo '</div>';
}
/**
/**
* print the item at the complete-page of feedback
*
* @global object
@@ -416,8 +416,15 @@ class feedback_item_numeric extends feedback_item_base {
function get_hasvalue() {
return 1;
}
function can_switch_require() {
return true;
}
function clean_input_value($value) {
if (!is_numeric($value)) {
return null;
}
return clean_param($value, PARAM_FLOAT);
}
}
+6 -2
View File
@@ -215,7 +215,7 @@ class feedback_item_textarea extends feedback_item_base {
//print the presentation
echo '<div class="feedback_item_presentation_'.$align.$highlight.'">';
echo '<span class="feedback_item_textarea">';
echo '<textarea name="'.$item->typ.'_'.$item->id.'" cols="'.$presentation[0].'" rows="'.$presentation[1].'">'.($value ? htmlspecialchars($value) : '').'</textarea>';
echo '<textarea name="'.$item->typ.'_'.$item->id.'" cols="'.$presentation[0].'" rows="'.$presentation[1].'">'.$value.'</textarea>';
echo '</span>';
echo '</div>';
}
@@ -255,7 +255,7 @@ class feedback_item_textarea extends feedback_item_base {
}
function create_value($data) {
$data = clean_text($data);
$data = s($data);
return $data;
}
@@ -280,4 +280,8 @@ class feedback_item_textarea extends feedback_item_base {
function can_switch_require() {
return true;
}
function clean_input_value($value) {
return s($value);
}
}
+6 -2
View File
@@ -211,7 +211,7 @@ class feedback_item_textfield extends feedback_item_base {
//print the presentation
echo '<div class="feedback_item_presentation_'.$align.$highlight.'">';
echo '<span class="feedback_item_textfield">';
echo '<input type="text" name="'.$item->typ.'_'.$item->id.'" size="'.$presentation[0].'" maxlength="'.$presentation[1].'" value="'.($value ? htmlspecialchars($value) : '').'" />';
echo '<input type="text" name="'.$item->typ.'_'.$item->id.'" size="'.$presentation[0].'" maxlength="'.$presentation[1].'" value="'.$value.'" />';
echo '</span>';
echo '</div>';
}
@@ -249,7 +249,7 @@ class feedback_item_textfield extends feedback_item_base {
}
function create_value($data) {
$data = clean_text($data);
$data = s($data);
return $data;
}
@@ -274,4 +274,8 @@ class feedback_item_textfield extends feedback_item_base {
function can_switch_require() {
return true;
}
function clean_input_value($value) {
return s($value);
}
}
+11
View File
@@ -1927,6 +1927,17 @@ function feedback_get_page_to_continue($feedbackid, $courseid = false, $guestid
//functions to handle the values
////////////////////////////////////////////////
/**
* cleans the userinput while submitting the form.
*
* @param mixed $value
* @return mixed
*/
function feedback_clean_input_value($item, $value) {
$itemobj = feedback_get_item_class($item->typ);
return $itemobj->clean_input_value($value);
}
/**
* this saves the values of an completed.
* if the param $tmp is set true so the values are saved temporary in table feedback_valuetmp.