diff --git a/mod/feedback/analysis.php b/mod/feedback/analysis.php index ed57ac5809ab8..7628d5bab952f 100644 --- a/mod/feedback/analysis.php +++ b/mod/feedback/analysis.php @@ -78,11 +78,9 @@ if ($check_anonymously) { // Print the items in an analysed form. foreach ($items as $item) { - echo "typ}\">"; $itemobj = feedback_get_item_class($item->typ); $printnr = ($feedback->autonumbering && $item->itemnr) ? ($item->itemnr . '.') : ''; $itemobj->print_analysed($item, $printnr, $mygroupid); - echo '
'; } } else { echo $OUTPUT->heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'), diff --git a/mod/feedback/item/info/lib.php b/mod/feedback/item/info/lib.php index 2e47674e7a94d..b96772cff27b1 100644 --- a/mod/feedback/item/info/lib.php +++ b/mod/feedback/item/info/lib.php @@ -152,6 +152,7 @@ public function get_printval($item, $value) { } public function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) { + echo "typ}\">"; $analysed_item = $this->get_analysed($item, $groupid, $courseid); $data = $analysed_item->data; if (is_array($data)) { @@ -170,6 +171,7 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid echo ''; } } + echo '
'; } public function excelprint_item(&$worksheet, $row_offset, diff --git a/mod/feedback/item/multichoice/lib.php b/mod/feedback/item/multichoice/lib.php index bd15d3e10c014..bbc2986c3c13c 100644 --- a/mod/feedback/item/multichoice/lib.php +++ b/mod/feedback/item/multichoice/lib.php @@ -207,6 +207,7 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid $analysed_item = $this->get_analysed($item, $groupid, $courseid); if ($analysed_item) { $itemname = $analysed_item[1]; + echo "typ}\">"; echo ''; - + echo "
'; echo $itemnr . ' '; if (strval($item->label) !== '') { @@ -214,32 +215,32 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid } echo $itemname; echo '
"; $analysed_vals = $analysed_item[2]; - $pixnr = 0; + $count = 0; + $data = []; foreach ($analysed_vals as $val) { - $intvalue = $pixnr % 10; - $pix = $OUTPUT->pix_url('multichoice/' . $intvalue, 'feedback'); - $pixspacer = $OUTPUT->pix_url('spacer'); - $pixnr++; - $pixwidth = max(2, intval($val->quotient * FEEDBACK_MAX_PIX_LENGTH)); - $pixwidthspacer = FEEDBACK_MAX_PIX_LENGTH + 1 - $pixwidth; $quotient = format_float($val->quotient * 100, 2); $str_quotient = ''; if ($val->quotient > 0) { $str_quotient = ' ('. $quotient . ' %)'; } - echo ''; - echo '' . - format_text(trim($val->answertext), FORMAT_HTML, array('noclean' => true, 'para' => false)).': - - - '.$intvalue.''. - ' - '.$val->answercount.$str_quotient.' - '; - echo ''; + $answertext = format_text(trim($val->answertext), FORMAT_HTML, + array('noclean' => true, 'para' => false)); + + $data['labels'][$count] = $answertext; + $data['series'][$count] = $val->answercount; + $data['series_labels'][$count] = $str_quotient; + $count++; } + $chart = new \core\chart_bar(); + $chart->set_horizontal(true); + $series = new \core\chart_series(format_string(get_string("responses", "feedback")), $data['series']); + $series->set_labels($data['series_labels']); + $chart->add_series($series); + $chart->set_labels($data['labels']); + + echo $OUTPUT->render($chart); } } diff --git a/mod/feedback/item/multichoicerated/lib.php b/mod/feedback/item/multichoicerated/lib.php index 6e59f1ef75d75..205319657570d 100644 --- a/mod/feedback/item/multichoicerated/lib.php +++ b/mod/feedback/item/multichoicerated/lib.php @@ -178,6 +178,7 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid global $OUTPUT; $analysed_item = $this->get_analysed($item, $groupid, $courseid); if ($analysed_item) { + echo "typ}\">"; echo ''; + echo '
'; echo $itemnr . ' '; if (strval($item->label) !== '') { @@ -185,34 +186,35 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid } echo $analysed_item[1]; echo '
'; $analysed_vals = $analysed_item[2]; - $pixnr = 0; $avg = 0.0; + $count = 0; + $data = []; foreach ($analysed_vals as $val) { - $intvalue = $pixnr % 10; - $pix = $OUTPUT->pix_url('multichoice/' . $intvalue, 'feedback'); - $pixspacer = $OUTPUT->pix_url('spacer'); - $pixnr++; - $pixwidth = intval($val->quotient * FEEDBACK_MAX_PIX_LENGTH); - $pixwidthspacer = FEEDBACK_MAX_PIX_LENGTH + 1 - $pixwidth; - $avg += $val->avg; $quotient = format_float($val->quotient * 100, 2); - echo ''; - echo ''; - echo '('.$val->value.') '. - format_text(trim($val->answertext), FORMAT_HTML, array('noclean' => true, 'para' => false)).':'; - echo ''; - echo ''.$intvalue.''; - echo ' '; - echo $val->answercount; + $answertext = format_text(trim($val->answertext), FORMAT_HTML, + array('noclean' => true, 'para' => false)); if ($val->quotient > 0) { - echo ' ('.$quotient.' %)'; + $str_quotient = ' ('.$quotient.' %)'; } else { - echo ''; + $str_quotient = ''; } - echo ''; + + $data['labels'][$count] = $answertext; + $data['series'][$count] = $val->answercount; + $data['series_labels'][$count] = $str_quotient; + $count++; } + $chart = new \core\chart_bar(); + $chart->set_horizontal(true); + $series = new \core\chart_series(format_string(get_string("responses", "feedback")), $data['series']); + $series->set_labels($data['series_labels']); + $chart->add_series($series); + $chart->set_labels($data['labels']); + echo $OUTPUT->render($chart); + $avg = format_float($avg, 2); echo ''; echo get_string('average', 'feedback').': '.$avg.''; diff --git a/mod/feedback/item/numeric/lib.php b/mod/feedback/item/numeric/lib.php index fb5f6fc569850..add58cb88ae4e 100644 --- a/mod/feedback/item/numeric/lib.php +++ b/mod/feedback/item/numeric/lib.php @@ -142,6 +142,7 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid $values = $this->get_analysed($item, $groupid, $courseid); if (isset($values->data) AND is_array($values->data)) { + echo "typ}\">"; echo ''; + echo '
'; echo $itemnr . ' '; if (strval($item->label) !== '') { @@ -164,6 +165,7 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid echo '
'; echo get_string('average', 'feedback').': '.$avg; echo '
'; } } diff --git a/mod/feedback/item/textarea/lib.php b/mod/feedback/item/textarea/lib.php index c9198b1d28e80..30172ca5f7a9e 100644 --- a/mod/feedback/item/textarea/lib.php +++ b/mod/feedback/item/textarea/lib.php @@ -133,6 +133,7 @@ public function get_printval($item, $value) { public function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) { $values = feedback_get_group_values($item, $groupid, $courseid); if ($values) { + echo "typ}\">"; echo ''; } + echo '
'; echo $itemnr . ' '; if (strval($item->label) !== '') { @@ -148,6 +149,7 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid echo ''; echo '
'; } } diff --git a/mod/feedback/item/textfield/lib.php b/mod/feedback/item/textfield/lib.php index dbff6a6da0ded..cf0b3b0b1b207 100644 --- a/mod/feedback/item/textfield/lib.php +++ b/mod/feedback/item/textfield/lib.php @@ -129,6 +129,7 @@ public function get_printval($item, $value) { public function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) { $values = feedback_get_group_values($item, $groupid, $courseid); if ($values) { + echo "typ}\">"; echo ''; } + echo '
'; echo $itemnr . ' '; if (strval($item->label) !== '') { @@ -142,6 +143,7 @@ public function print_analysed($item, $itemnr = '', $groupid = false, $courseid echo str_replace("\n", '
', $value->value); echo '
'; } }