Merge branch 'MDL-62560-master'
[moodle.git] / mod / feedback / analysis.php
blob406e0228fdc8ae9762ffda15b25256a43ec55b3c
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
17 /**
18 * shows an analysed view of feedback
20 * @copyright Andreas Grabs
21 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
22 * @package mod_feedback
25 require_once("../../config.php");
26 require_once("lib.php");
28 $current_tab = 'analysis';
30 $id = required_param('id', PARAM_INT); // Course module id.
32 $url = new moodle_url('/mod/feedback/analysis.php', array('id'=>$id));
33 $PAGE->set_url($url);
35 list($course, $cm) = get_course_and_cm_from_cmid($id, 'feedback');
36 require_course_login($course, true, $cm);
38 $feedback = $PAGE->activityrecord;
39 $feedbackstructure = new mod_feedback_structure($feedback, $cm);
41 $context = context_module::instance($cm->id);
43 if (!$feedbackstructure->can_view_analysis()) {
44 print_error('error');
47 /// Print the page header
49 $PAGE->set_heading($course->fullname);
50 $PAGE->set_title($feedback->name);
51 echo $OUTPUT->header();
52 echo $OUTPUT->heading(format_string($feedback->name));
54 /// print the tabs
55 require('tabs.php');
58 //get the groupid
59 $mygroupid = groups_get_activity_group($cm, true);
60 groups_print_activity_menu($cm, $url);
62 // Button "Export to excel".
63 if (has_capability('mod/feedback:viewreports', $context) && $feedbackstructure->get_items()) {
64 echo $OUTPUT->container_start('form-buttons');
65 $aurl = new moodle_url('/mod/feedback/analysis_to_excel.php', ['sesskey' => sesskey(), 'id' => $id]);
66 echo $OUTPUT->single_button($aurl, get_string('export_to_excel', 'feedback'));
67 echo $OUTPUT->container_end();
70 // Show the summary.
71 $summary = new mod_feedback\output\summary($feedbackstructure, $mygroupid);
72 echo $OUTPUT->render_from_template('mod_feedback/summary', $summary->export_for_template($OUTPUT));
74 // Get the items of the feedback.
75 $items = $feedbackstructure->get_items(true);
77 $check_anonymously = true;
78 if ($mygroupid > 0 AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
79 $completedcount = $feedbackstructure->count_completed_responses($mygroupid);
80 if ($completedcount < FEEDBACK_MIN_ANONYMOUS_COUNT_IN_GROUP) {
81 $check_anonymously = false;
85 echo '<div>';
86 if ($check_anonymously) {
87 // Print the items in an analysed form.
88 foreach ($items as $item) {
89 $itemobj = feedback_get_item_class($item->typ);
90 $printnr = ($feedback->autonumbering && $item->itemnr) ? ($item->itemnr . '.') : '';
91 $itemobj->print_analysed($item, $printnr, $mygroupid);
93 } else {
94 echo $OUTPUT->heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'),
95 'insufficient_responses',
96 'feedback', '', '', 3);
98 echo '</div>';
100 echo $OUTPUT->footer();