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.
13//
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/>.
16
17/**
18 * shows an analysed view of feedback
19 *
20 * @copyright Andreas Grabs
21 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
22 * @package mod_feedback
23 */
24
25require_once("../../config.php");
26require_once("lib.php");
27
28$current_tab = 'analysis';
29
30$id = required_param('id', PARAM_INT);  // Course module id.
31
32$url = new moodle_url('/mod/feedback/analysis.php', array('id'=>$id));
33$PAGE->set_url($url);
34
35list($course, $cm) = get_course_and_cm_from_cmid($id, 'feedback');
36require_course_login($course, true, $cm);
37
38$feedback = $PAGE->activityrecord;
39$feedbackstructure = new mod_feedback_structure($feedback, $cm);
40
41$context = context_module::instance($cm->id);
42
43if (!$feedbackstructure->can_view_analysis()) {
44    print_error('error');
45}
46
47/// Print the page header
48
49$PAGE->set_heading($course->fullname);
50$PAGE->set_title($feedback->name);
51echo $OUTPUT->header();
52echo $OUTPUT->heading(format_string($feedback->name));
53
54/// print the tabs
55require('tabs.php');
56
57
58//get the groupid
59$mygroupid = groups_get_activity_group($cm, true);
60groups_print_activity_menu($cm, $url);
61
62// Button "Export to excel".
63if (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();
68}
69
70// Show the summary.
71$summary = new mod_feedback\output\summary($feedbackstructure, $mygroupid);
72echo $OUTPUT->render_from_template('mod_feedback/summary', $summary->export_for_template($OUTPUT));
73
74// Get the items of the feedback.
75$items = $feedbackstructure->get_items(true);
76
77$check_anonymously = true;
78if ($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;
82    }
83}
84
85echo '<div>';
86if ($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);
92    }
93} else {
94    echo $OUTPUT->heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'),
95                                    'insufficient_responses',
96                                    'feedback', '', '', 3);
97}
98echo '</div>';
99
100echo $OUTPUT->footer();
101
102