MDL-55308 mod_feedback: Convert analysis chart to the new library
[moodle.git] / mod / feedback / analysis.php
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/>.
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  */
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');
45 }
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 // Show the summary.
63 $summary = new mod_feedback\output\summary($feedbackstructure, $mygroupid);
64 echo $OUTPUT->render_from_template('mod_feedback/summary', $summary->export_for_template($OUTPUT));
66 // Get the items of the feedback.
67 $items = $feedbackstructure->get_items(true);
69 $check_anonymously = true;
70 if ($mygroupid > 0 AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES) {
71     $completedcount = $feedbackstructure->count_completed_responses($mygroupid);
72     if ($completedcount < FEEDBACK_MIN_ANONYMOUS_COUNT_IN_GROUP) {
73         $check_anonymously = false;
74     }
75 }
77 echo '<div>';
78 if ($check_anonymously) {
79     // Print the items in an analysed form.
80     foreach ($items as $item) {
81         $itemobj = feedback_get_item_class($item->typ);
82         $printnr = ($feedback->autonumbering && $item->itemnr) ? ($item->itemnr . '.') : '';
83         $itemobj->print_analysed($item, $printnr, $mygroupid);
84     }
85 } else {
86     echo $OUTPUT->heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'),
87                                     'insufficient_responses',
88                                     'feedback', '', '', 3);
89 }
90 echo '</div>';
92 echo $OUTPUT->footer();