Differences Between: [Versions 310 and 311] [Versions 311 and 400] [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403] [Versions 39 and 311]
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 // Render the activity information. 82 $completiondetails = \core_completion\cm_completion_details::get_instance($cm, $USER->id); 83 $activitydates = \core\activity_dates::get_dates_for_module($cm, $USER->id); 84 echo $OUTPUT->activity_information($cm, $completiondetails, $activitydates); 85 86 // Print the tabs. 87 require ('tabs.php'); 88 89 // Show description. 90 echo $OUTPUT->box_start('generalbox feedback_description'); 91 $options = (object)array('noclean' => true); 92 echo format_module_intro('feedback', $feedback, $cm->id); 93 echo $OUTPUT->box_end(); 94 95 //show some infos to the feedback 96 if (has_capability('mod/feedback:edititems', $context)) { 97 98 echo $OUTPUT->heading(get_string('overview', 'feedback'), 3); 99 100 //get the groupid 101 $groupselect = groups_print_activity_menu($cm, $CFG->wwwroot.'/mod/feedback/view.php?id='.$cm->id, true); 102 $mygroupid = groups_get_activity_group($cm); 103 104 echo $groupselect.'<div class="clearer"> </div>'; 105 $summary = new mod_feedback\output\summary($feedbackcompletion, $mygroupid); 106 echo $OUTPUT->render_from_template('mod_feedback/summary', $summary->export_for_template($OUTPUT)); 107 108 if ($pageaftersubmit = $feedbackcompletion->page_after_submit()) { 109 echo $OUTPUT->heading(get_string("page_after_submit", "feedback"), 3); 110 echo $OUTPUT->box($pageaftersubmit, 'generalbox feedback_after_submit'); 111 } 112 } 113 114 if (!has_capability('mod/feedback:viewreports', $context) && 115 $feedbackcompletion->can_view_analysis()) { 116 $analysisurl = new moodle_url('/mod/feedback/analysis.php', array('id' => $id)); 117 echo '<div class="mdl-align"><a href="'.$analysisurl->out().'">'; 118 echo get_string('completed_feedbacks', 'feedback').'</a>'; 119 echo '</div>'; 120 } 121 122 if (has_capability('mod/feedback:mapcourse', $context) && $feedback->course == SITEID) { 123 echo $OUTPUT->box_start('generalbox feedback_mapped_courses'); 124 echo $OUTPUT->heading(get_string("mappedcourses", "feedback"), 3); 125 echo '<p>' . get_string('mapcourse_help', 'feedback') . '</p>'; 126 $mapurl = new moodle_url('/mod/feedback/mapcourse.php', array('id' => $id)); 127 echo '<p class="mdl-align">' . html_writer::link($mapurl, get_string('mapcourses', 'feedback')) . '</p>'; 128 echo $OUTPUT->box_end(); 129 } 130 131 if ($feedbackcompletion->can_complete()) { 132 echo $OUTPUT->box_start('generalbox boxaligncenter'); 133 if (!$feedbackcompletion->is_open()) { 134 // Feedback is not yet open or is already closed. 135 echo $OUTPUT->notification(get_string('feedback_is_not_open', 'feedback')); 136 echo $OUTPUT->continue_button(course_get_url($courseid ?: $course->id)); 137 } else if ($feedbackcompletion->can_submit()) { 138 // Display a link to complete feedback or resume. 139 $completeurl = new moodle_url('/mod/feedback/complete.php', 140 ['id' => $id, 'courseid' => $courseid]); 141 if ($startpage = $feedbackcompletion->get_resume_page()) { 142 $completeurl->param('gopage', $startpage); 143 $label = get_string('continue_the_form', 'feedback'); 144 } else { 145 $label = get_string('complete_the_form', 'feedback'); 146 } 147 echo html_writer::div(html_writer::link($completeurl, $label, array('class' => 'btn btn-secondary')), 'complete-feedback'); 148 } else { 149 // Feedback was already submitted. 150 echo $OUTPUT->notification(get_string('this_feedback_is_already_submitted', 'feedback')); 151 $OUTPUT->continue_button(course_get_url($courseid ?: $course->id)); 152 } 153 echo $OUTPUT->box_end(); 154 } 155 156 echo $OUTPUT->footer(); 157
title
Description
Body
title
Description
Body
title
Description
Body
title
Body