Differences Between: [Versions 310 and 311] [Versions 310 and 400] [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403]
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 * the first page to view the feedback 19 * 20 * @author Andreas Grabs 21 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License 22 * @package mod_feedback 23 */ 24 require_once(__DIR__ . '/../../config.php'); 25 require_once($CFG->dirroot . '/mod/feedback/lib.php'); 26 27 $id = required_param('id', PARAM_INT); 28 $courseid = optional_param('courseid', false, PARAM_INT); 29 30 $current_tab = 'view'; 31 32 list($course, $cm) = get_course_and_cm_from_cmid($id, 'feedback'); 33 require_course_login($course, true, $cm); 34 $feedback = $PAGE->activityrecord; 35 36 $feedbackcompletion = new mod_feedback_completion($feedback, $cm, $courseid); 37 38 $context = context_module::instance($cm->id); 39 40 if ($course->id == SITEID) { 41 $PAGE->set_pagelayout('incourse'); 42 } 43 $PAGE->set_url('/mod/feedback/view.php', array('id' => $cm->id)); 44 $PAGE->set_title($feedback->name); 45 $PAGE->set_heading($course->fullname); 46 47 // Check access to the given courseid. 48 if ($courseid AND $courseid != SITEID) { 49 require_course_login(get_course($courseid)); // This overwrites the object $COURSE . 50 } 51 52 // Check whether the feedback is mapped to the given courseid. 53 if (!has_capability('mod/feedback:edititems', $context) && 54 !$feedbackcompletion->check_course_is_mapped()) { 55 echo $OUTPUT->header(); 56 echo $OUTPUT->notification(get_string('cannotaccess', 'mod_feedback')); 57 echo $OUTPUT->footer(); 58 exit; 59 } 60 61 // Trigger module viewed event. 62 $feedbackcompletion->trigger_module_viewed(); 63 64 /// Print the page header 65 echo $OUTPUT->header(); 66 67 /// Print the main part of the page 68 /////////////////////////////////////////////////////////////////////////// 69 /////////////////////////////////////////////////////////////////////////// 70 /////////////////////////////////////////////////////////////////////////// 71 72 $previewimg = $OUTPUT->pix_icon('t/preview', get_string('preview')); 73 $previewlnk = new moodle_url('/mod/feedback/print.php', array('id' => $id)); 74 if ($courseid) { 75 $previewlnk->param('courseid', $courseid); 76 } 77 $preview = html_writer::link($previewlnk, $previewimg); 78 79 echo $OUTPUT->heading(format_string($feedback->name) . $preview); 80 81 // Print the tabs. 82 require ('tabs.php'); 83 84 // Show description. 85 echo $OUTPUT->box_start('generalbox feedback_description'); 86 $options = (object)array('noclean' => true); 87 echo format_module_intro('feedback', $feedback, $cm->id); 88 echo $OUTPUT->box_end(); 89 90 //show some infos to the feedback 91 if (has_capability('mod/feedback:edititems', $context)) { 92 93 echo $OUTPUT->heading(get_string('overview', 'feedback'), 3); 94 95 //get the groupid 96 $groupselect = groups_print_activity_menu($cm, $CFG->wwwroot.'/mod/feedback/view.php?id='.$cm->id, true); 97 $mygroupid = groups_get_activity_group($cm); 98 99 echo $groupselect.'<div class="clearer"> </div>'; 100 $summary = new mod_feedback\output\summary($feedbackcompletion, $mygroupid, true); 101 echo $OUTPUT->render_from_template('mod_feedback/summary', $summary->export_for_template($OUTPUT)); 102 103 if ($pageaftersubmit = $feedbackcompletion->page_after_submit()) { 104 echo $OUTPUT->heading(get_string("page_after_submit", "feedback"), 3); 105 echo $OUTPUT->box($pageaftersubmit, 'generalbox feedback_after_submit'); 106 } 107 } 108 109 if (!has_capability('mod/feedback:viewreports', $context) && 110 $feedbackcompletion->can_view_analysis()) { 111 $analysisurl = new moodle_url('/mod/feedback/analysis.php', array('id' => $id)); 112 echo '<div class="mdl-align"><a href="'.$analysisurl->out().'">'; 113 echo get_string('completed_feedbacks', 'feedback').'</a>'; 114 echo '</div>'; 115 } 116 117 if (has_capability('mod/feedback:mapcourse', $context) && $feedback->course == SITEID) { 118 echo $OUTPUT->box_start('generalbox feedback_mapped_courses'); 119 echo $OUTPUT->heading(get_string("mappedcourses", "feedback"), 3); 120 echo '<p>' . get_string('mapcourse_help', 'feedback') . '</p>'; 121 $mapurl = new moodle_url('/mod/feedback/mapcourse.php', array('id' => $id)); 122 echo '<p class="mdl-align">' . html_writer::link($mapurl, get_string('mapcourses', 'feedback')) . '</p>'; 123 echo $OUTPUT->box_end(); 124 } 125 126 if ($feedbackcompletion->can_complete()) { 127 echo $OUTPUT->box_start('generalbox boxaligncenter'); 128 if (!$feedbackcompletion->is_open()) { 129 // Feedback is not yet open or is already closed. 130 echo $OUTPUT->notification(get_string('feedback_is_not_open', 'feedback')); 131 echo $OUTPUT->continue_button(course_get_url($courseid ?: $course->id)); 132 } else if ($feedbackcompletion->can_submit()) { 133 // Display a link to complete feedback or resume. 134 $completeurl = new moodle_url('/mod/feedback/complete.php', 135 ['id' => $id, 'courseid' => $courseid]); 136 if ($startpage = $feedbackcompletion->get_resume_page()) { 137 $completeurl->param('gopage', $startpage); 138 $label = get_string('continue_the_form', 'feedback'); 139 } else { 140 $label = get_string('complete_the_form', 'feedback'); 141 } 142 echo html_writer::div(html_writer::link($completeurl, $label, array('class' => 'btn btn-secondary')), 'complete-feedback'); 143 } else { 144 // Feedback was already submitted. 145 echo $OUTPUT->notification(get_string('this_feedback_is_already_submitted', 'feedback')); 146 $OUTPUT->continue_button(course_get_url($courseid ?: $course->id)); 147 } 148 echo $OUTPUT->box_end(); 149 } 150 151 echo $OUTPUT->footer(); 152
title
Description
Body
title
Description
Body
title
Description
Body
title
Body