From c987dbad0eea19ad0c9d79cc67cc0ad5431bb330 Mon Sep 17 00:00:00 2001 From: Andreas Grabs Date: Fri, 2 Apr 2010 11:34:28 +0000 Subject: [PATCH] removed all calls to feedback_load_capabilities() --- mod/feedback/analysis.php | 10 +++- mod/feedback/analysis_course.php | 9 ++- mod/feedback/analysis_to_excel.php | 7 ++- mod/feedback/complete.php | 27 ++++++--- mod/feedback/complete_guest.php | 22 ++++++-- mod/feedback/delete_completed.php | 7 ++- mod/feedback/delete_item.php | 7 ++- mod/feedback/delete_template.php | 7 ++- mod/feedback/edit.php | 19 ++++--- mod/feedback/edit_form.php | 4 +- mod/feedback/edit_item.php | 7 ++- mod/feedback/export.php | 7 ++- mod/feedback/import.php | 7 ++- mod/feedback/index.php | 15 +++-- mod/feedback/lib.php | 83 ++++------------------------ mod/feedback/mapcourse.php | 7 ++- mod/feedback/print.php | 7 ++- mod/feedback/show_entries.php | 12 ++-- mod/feedback/show_entries_anonym.php | 7 ++- mod/feedback/tabs.php | 12 ++-- mod/feedback/unmapcourse.php | 7 ++- mod/feedback/use_templ.php | 7 ++- mod/feedback/view.php | 28 +++++++--- 23 files changed, 176 insertions(+), 149 deletions(-) diff --git a/mod/feedback/analysis.php b/mod/feedback/analysis.php index 0ea4935c7ac..fde51dd67b4 100644 --- a/mod/feedback/analysis.php +++ b/mod/feedback/analysis.php @@ -37,7 +37,9 @@ if ($id) { } } -$capabilities = feedback_load_capabilities($cm->id); +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} if($course->id == SITEID) { require_login($course->id, true); @@ -55,7 +57,9 @@ if($courseid AND $courseid != SITEID) { } } -if( !( ((intval($feedback->publish_stats) == 1) AND $capabilities->viewanalysepage) || $capabilities->viewreports)) { +if( !( ((intval($feedback->publish_stats) == 1) AND + has_capability('mod/feedback:viewanalysepage', $context)) OR + has_capability('mod/feedback:viewreports', $context))) { print_error('error'); } @@ -78,7 +82,7 @@ echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide'); $groupselect = groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/feedback/analysis.php?id=' . $cm->id.'&do_show=analysis', true); $mygroupid = groups_get_activity_group($cm); -if( $capabilities->viewreports ) { +if( has_capability('mod/feedback:viewreports', $context) ) { echo isset($groupselect) ? $groupselect : ''; echo '
'; diff --git a/mod/feedback/analysis_course.php b/mod/feedback/analysis_course.php index 2f0cae136dd..2d4f3d55150 100644 --- a/mod/feedback/analysis_course.php +++ b/mod/feedback/analysis_course.php @@ -57,11 +57,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if( !( (intval($feedback->publish_stats) == 1) || $capabilities->viewreports)) { +if( !( (intval($feedback->publish_stats) == 1) OR has_capability('mod/feedback:viewreports', $context))) { print_error('error'); } @@ -81,7 +84,7 @@ include('tabs.php'); //print the analysed items echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide'); -if( $capabilities->viewreports ) { +if( has_capability('mod/feedback:viewreports', $context) ) { //button "export to excel" echo $OUTPUT->container_start('mdl-align'); $aurl = new moodle_url('analysis_to_excel.php', array('sesskey'=>sesskey(), 'id'=>$id, 'coursefilter'=>$coursefilter)); diff --git a/mod/feedback/analysis_to_excel.php b/mod/feedback/analysis_to_excel.php index 97f8897724b..937a73abb49 100644 --- a/mod/feedback/analysis_to_excel.php +++ b/mod/feedback/analysis_to_excel.php @@ -39,11 +39,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->viewreports){ +if(!has_capability('mod/feedback:viewreports', $context)){ print_error('error'); } diff --git a/mod/feedback/complete.php b/mod/feedback/complete.php index d4ab322b133..d456cb73a5c 100644 --- a/mod/feedback/complete.php +++ b/mod/feedback/complete.php @@ -72,13 +72,20 @@ if ($id) { } } -$capabilities = feedback_load_capabilities($cm->id); +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} +$feedback_complete_cap = false; + +if(has_capability('mod/feedback:complete', $context)) { + $feedback_complete_cap = true; +} if(isset($CFG->feedback_allowfullanonymous) AND $CFG->feedback_allowfullanonymous AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) { - $capabilities->complete = true; + $feedback_complete_cap = true; } //check whether the feedback is located and! started from the mainsite @@ -87,7 +94,7 @@ if($course->id == SITEID AND !$courseid) { } //check whether the feedback is mapped to the given courseid -if($course->id == SITEID AND !$capabilities->edititems) { +if($course->id == SITEID AND !has_capability('mod/feedback:edititems', $context)) { if($DB->get_records('feedback_sitecourse_map', array('feedbackid'=>$feedback->id))) { if(!$DB->get_record('feedback_sitecourse_map', array('feedbackid'=>$feedback->id, 'courseid'=>$courseid))){ print_error('notavailable', 'feedback'); @@ -119,7 +126,7 @@ if($courseid AND $courseid != SITEID) { } } -if(!$capabilities->complete) { +if(!$feedback_complete_cap) { print_error('error'); } @@ -134,13 +141,17 @@ echo $OUTPUT->header(); //ishidden check. //feedback in courses -if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) { +if ((empty($cm->visible) AND + !has_capability('moodle/course:viewhiddenactivities', $context)) AND + $course->id != SITEID) { notice(get_string("activityiscurrentlyhidden")); } //ishidden check. //feedback on mainsite -if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $courseid == SITEID) { +if ((empty($cm->visible) AND + !has_capability('moodle/course:viewhiddenactivities', $context)) AND + $courseid == SITEID) { notice(get_string("activityiscurrentlyhidden")); } @@ -284,7 +295,9 @@ if($feedback_can_submit) { } echo $OUTPUT->heading(format_text($feedback->name)); - if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) { + if( (intval($feedback->publish_stats) == 1) AND + ( has_capability('mod/feedback:viewanalysepage', $context)) AND + !( has_capability('mod/feedback:viewreports', $context)) ) { if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) { echo '
'; echo get_string('completed_feedbacks', 'feedback').''; diff --git a/mod/feedback/complete_guest.php b/mod/feedback/complete_guest.php index 8905d29af8c..09c5b5454cf 100644 --- a/mod/feedback/complete_guest.php +++ b/mod/feedback/complete_guest.php @@ -93,13 +93,21 @@ if ($id) { } } -$capabilities = feedback_load_capabilities($cm->id); +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} + +$feedback_complete_cap = false; + +if(has_capability('mod/feedback:complete', $context)) { + $feedback_complete_cap = true; +} //check whether the feedback is anonymous if(isset($CFG->feedback_allowfullanonymous) AND $CFG->feedback_allowfullanonymous AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) { - $capabilities->complete = true; + $feedback_complete_cap = true; } if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) { print_error('feedback_is_not_for_anonymous', 'feedback'); @@ -121,7 +129,7 @@ if($courseid AND $courseid != SITEID) { $course = $DB->get_record("course", array("id"=>$cm->course)); // the workaround } -if(!$capabilities->complete) { +if(!$feedback_complete_cap) { print_error('error'); } @@ -137,7 +145,9 @@ $PAGE->set_title(format_string($feedback->name)); echo $OUTPUT->header(); //ishidden check. hidden feedbacks except feedbacks on mainsite are only accessible with related capabilities -if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) { +if ((empty($cm->visible) AND + !has_capability('moodle/course:viewhiddenactivities', $context)) AND + $course->id != SITEID) { notice(get_string("activityiscurrentlyhidden")); } @@ -253,7 +263,9 @@ if($feedback_can_submit) { } echo $OUTPUT->heading(format_text($feedback->name)); - if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) { + if( (intval($feedback->publish_stats) == 1) AND + ( has_capability('mod/feedback:viewanalysepage', $context)) AND + !( has_capability('mod/feedback:viewreports', $context)) ) { echo ''; diff --git a/mod/feedback/delete_completed.php b/mod/feedback/delete_completed.php index 447520da9bf..be8d4ac2ea3 100644 --- a/mod/feedback/delete_completed.php +++ b/mod/feedback/delete_completed.php @@ -34,11 +34,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->deletesubmissions){ +if(!has_capability('mod/feedback:deletesubmissions', $context)){ print_error('error'); } diff --git a/mod/feedback/delete_item.php b/mod/feedback/delete_item.php index 7d6cabe2994..f9d37d8b00e 100644 --- a/mod/feedback/delete_item.php +++ b/mod/feedback/delete_item.php @@ -29,11 +29,14 @@ print_error('invalidcoursemodule'); } } - $capabilities = feedback_load_capabilities($cm->id); + + if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); + } require_login($course->id, true, $cm); - if(!$capabilities->edititems){ + if(!has_capability('mod/feedback:edititems', $context)){ print_error('error'); } diff --git a/mod/feedback/delete_template.php b/mod/feedback/delete_template.php index 69be9b956c7..c7770c0cc41 100644 --- a/mod/feedback/delete_template.php +++ b/mod/feedback/delete_template.php @@ -55,11 +55,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->deletetemplate){ +if(!has_capability('mod/feedback:deletetemplate', $context)){ print_error('error'); } diff --git a/mod/feedback/edit.php b/mod/feedback/edit.php index d4f049bdc99..bc20849c99b 100644 --- a/mod/feedback/edit.php +++ b/mod/feedback/edit.php @@ -45,11 +45,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->edititems){ +if(!has_capability('mod/feedback:edititems', $context)){ print_error('error'); } @@ -86,20 +89,21 @@ if($switchitemrequired) { //the create_template-form $create_template_form = new feedback_edit_create_template_form(); -$create_template_form->set_feedbackdata(array('capabilities' => $capabilities)); +$create_template_form->set_feedbackdata(array('context' => $context)); $create_template_form->set_form_elements(); $create_template_form->set_data(array('id'=>$id, 'do_show'=>'templates')); $create_template_formdata = $create_template_form->get_data(); if(isset($create_template_formdata->savetemplate) && $create_template_formdata->savetemplate == 1) { //check the capabilities to create templates - if(!$capabilities->createprivatetemplate AND !$capabilities->createpublictemplate) { + if(!has_capability('mod/feedback:createprivatetemplate', $context) AND + !has_capability('mod/feedback:createpublictemplate', $context)) { print_error('cannotsavetempl', 'feedback'); } if(trim($create_template_formdata->templatename) == '') { $savereturn = 'notsaved_name'; }else { - if($capabilities->createpublictemplate) { + if(has_capability('mod/feedback:createpublictemplate', $context)) { $create_template_formdata->ispublic = isset($create_template_formdata->ispublic) ? 1 : 0; }else { $create_template_formdata->ispublic = 0; @@ -186,7 +190,8 @@ if($do_show == 'templates') { echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide'); $use_template_form->display(); - if($capabilities->createprivatetemplate OR $capabilities->createpublictemplate) { + if(has_capability('mod/feedback:createprivatetemplate', $context) OR + has_capability('mod/feedback:createpublictemplate', $context)) { $deleteurl = new moodle_url('/mod/feedback/delete_template.php', array('id'=>$id)); $create_template_form->display(); echo '

'.get_string('delete_templates', 'feedback').'

'; @@ -194,7 +199,7 @@ if($do_show == 'templates') { echo ' '; } - if($capabilities->edititems) { + if(has_capability('mod/feedback:edititems', $context)) { $exporturl = new moodle_url('/mod/feedback/export.php', array('action'=>'exportfile', 'id'=>$id)); $importurl = new moodle_url('/mod/feedback/import.php', array('id'=>$id)); echo '

diff --git a/mod/feedback/edit_form.php b/mod/feedback/edit_form.php index af5b88ce36c..ab5b84c7648 100644 --- a/mod/feedback/edit_form.php +++ b/mod/feedback/edit_form.php @@ -111,7 +111,7 @@ class feedback_edit_create_template_form extends moodleform { function set_form_elements(){ $mform =& $this->_form; - $capabilities = $this->feedbackdata->capabilities; + // $capabilities = $this->feedbackdata->capabilities; // hidden elements $mform->addElement('hidden', 'id'); @@ -129,7 +129,7 @@ class feedback_edit_create_template_form extends moodleform { $elementgroup[] =& $mform->createElement('static', 'templatenamelabel', get_string('name', 'feedback')); $elementgroup[] =& $mform->createElement('text', 'templatename', get_string('name', 'feedback'), array('size'=>'40', 'maxlength'=>'200')); - if($capabilities->createpublictemplate) { + if(has_capability('mod/feedback:createpublictemplate', $this->feedbackdata->context)) { $elementgroup[] =& $mform->createElement('checkbox', 'ispublic', get_string('public', 'feedback'), get_string('public', 'feedback')); } diff --git a/mod/feedback/edit_item.php b/mod/feedback/edit_item.php index b7297f3bd33..958add61696 100644 --- a/mod/feedback/edit_item.php +++ b/mod/feedback/edit_item.php @@ -51,11 +51,14 @@ if ($cmid) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->edititems){ +if(!has_capability('mod/feedback:edititems', $context)){ print_error('error'); } diff --git a/mod/feedback/export.php b/mod/feedback/export.php index 781fa6af615..04310f91edf 100644 --- a/mod/feedback/export.php +++ b/mod/feedback/export.php @@ -34,11 +34,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->edititems){ +if(!has_capability('mod/feedback:edititems', $context)){ print_error('invalidaction'); } diff --git a/mod/feedback/import.php b/mod/feedback/import.php index ec0ecc1d61e..a91e68cf2c4 100644 --- a/mod/feedback/import.php +++ b/mod/feedback/import.php @@ -42,11 +42,14 @@ print_error('invalidcoursemodule'); } } - $capabilities = feedback_load_capabilities($cm->id); + + if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); + } require_login($course->id, true, $cm); - if(!$capabilities->edititems){ + if(!has_capability('mod/feedback:edititems', $context)){ print_error('invalidaction'); } diff --git a/mod/feedback/index.php b/mod/feedback/index.php index 9dcfc520cf9..710517eed25 100644 --- a/mod/feedback/index.php +++ b/mod/feedback/index.php @@ -20,7 +20,10 @@ $PAGE->set_url($url); if (!$course = $DB->get_record('course', array('id'=>$id))) { print_error('invalidcourseid'); } -$capabilities = feedback_load_course_capabilities($course->id); + +if (!$context = get_context_instance(CONTEXT_COURSE, $course->id)) { + print_error('badcontext'); +} require_login($course->id); $PAGE->set_pagelayout('incourse'); @@ -54,7 +57,7 @@ $strresponses = get_string('responses', 'feedback'); $table = new html_table(); if ($course->format == "weeks") { - if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { $table->head = array ($strweek, $strname, $strresponses); $table->align = array ("center", "left", 'center'); }else{ @@ -62,7 +65,7 @@ if ($course->format == "weeks") { $table->align = array ("center", "left"); } } else if ($course->format == "topics") { - if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { $table->head = array ($strtopic, $strname, $strresponses); $table->align = array ("center", "left", "center"); }else{ @@ -70,7 +73,7 @@ if ($course->format == "weeks") { $table->align = array ("center", "left"); } } else { - if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { $table->head = array ($strname, $strresponses); $table->align = array ("left", "center"); }else{ @@ -84,7 +87,7 @@ foreach ($feedbacks as $feedback) { //get the responses of each feedback $viewurl = new moodle_url('/mod/feedback/view.php', array('id'=>$feedback->coursemodule)); - if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { $completedFeedbackCount = intval(feedback_get_completeds_group_count($feedback)); } @@ -96,7 +99,7 @@ foreach ($feedbacks as $feedback) { } else { $tabledata = array ($link); } - if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { $tabledata[] = $completedFeedbackCount; } diff --git a/mod/feedback/lib.php b/mod/feedback/lib.php index e9a471c03b2..1f1587a9923 100644 --- a/mod/feedback/lib.php +++ b/mod/feedback/lib.php @@ -612,73 +612,6 @@ function feedback_get_context($cmid) { return $context; } -/** - * get the capabilities for the feedback - * - * @staticvar object $cb - * @param int $cmid - * @return object the available capabilities from current user - */ -function feedback_load_capabilities($cmid) { - static $cb; - - if(isset($cb)) return $cb; - - $context = feedback_get_context($cmid); - - $cb = new object; - $cb->view = has_capability('mod/feedback:view', $context, NULL, false); - $cb->complete = has_capability('mod/feedback:complete', $context, NULL, false); - $cb->viewanalysepage = has_capability('mod/feedback:viewanalysepage', $context, NULL, false); - $cb->deletesubmissions = has_capability('mod/feedback:deletesubmissions', $context, NULL, false); - $cb->mapcourse = has_capability('mod/feedback:mapcourse', $context, NULL, false); - $cb->edititems = has_capability('mod/feedback:edititems', $context, NULL, false); - $cb->viewreports = has_capability('mod/feedback:viewreports', $context, NULL, false); - $cb->receivemail = has_capability('mod/feedback:receivemail', $context, NULL, false); - $cb->createprivatetemplate = has_capability('mod/feedback:createprivatetemplate', $context, NULL, false); - $cb->createpublictemplate = has_capability('mod/feedback:createpublictemplate', $context, NULL, false); - $cb->deletetemplate = has_capability('mod/feedback:deletetemplate', $context, NULL, false); - - $cb->viewhiddenactivities = has_capability('moodle/course:viewhiddenactivities', $context, NULL, false); - - return $cb; - -} - -/** - * get the capabilities for the course. - * this is used by feedback/index.php - * - * @staticvar object $ccb - * @param int $courseid - * @return object the available capabilities from current user - */ -function feedback_load_course_capabilities($courseid) { - static $ccb; - - if(isset($ccb)) return $ccb; - - $context = get_context_instance(CONTEXT_COURSE, $courseid); - - $ccb = new object; - $ccb->view = has_capability('mod/feedback:view', $context, NULL, false); - $ccb->complete = has_capability('mod/feedback:complete', $context, NULL, false); - $ccb->viewanalysepage = has_capability('mod/feedback:viewanalysepage', $context, NULL, false); - $ccb->deletesubmissions = has_capability('mod/feedback:deletesubmissions', $context, NULL, false); - $ccb->mapcourse = has_capability('mod/feedback:mapcourse', $context, NULL, false); - $ccb->edititems = has_capability('mod/feedback:edititems', $context, NULL, false); - $ccb->viewreports = has_capability('mod/feedback:viewreports', $context, NULL, false); - $ccb->receivemail = has_capability('mod/feedback:receivemail', $context, NULL, false); - $ccb->createprivatetemplate = has_capability('mod/feedback:createprivatetemplate', $context, NULL, false); - $ccb->createpublictemplate = has_capability('mod/feedback:createpublictemplate', $context, NULL, false); - $ccb->deletetemplate = has_capability('mod/feedback:deletetemplate', $context, NULL, false); - - $ccb->viewhiddenactivities = has_capability('moodle/course:viewhiddenactivities', $context, NULL, false); - - return $ccb; - -} - /** * returns true if the current role is faked by switching role feature * @@ -2337,9 +2270,14 @@ function feedback_encode_target_url($url) { function feedback_extend_settings_navigation(settings_navigation $settings, navigation_node $feedbacknode) { global $PAGE, $DB; - $capabilities = feedback_load_capabilities($PAGE->cm->id); + if (!$context = get_context_instance(CONTEXT_MODULE, $PAGE->cm->id)) { + print_error('badcontext'); + } - if($capabilities->edititems) { + // $capabilities = feedback_load_capabilities($PAGE->cm->id); + + // if($capabilities->edititems) { + if(has_capability('mod/feedback:edititems', $context)) { $qkey = $feedbacknode->add(get_string('questions', 'feedback')); $feedbacknode->get($qkey)->add(get_string('edit_items', 'feedback'), new moodle_url('/mod/feedback/edit.php', array('id'=>$PAGE->cm->id, 'do_show'=>'edit'))); $feedbacknode->get($qkey)->add(get_string('export_questions', 'feedback'), new moodle_url('/mod/feedback/export.php', array('id'=>$PAGE->cm->id, 'action'=>'exportfile'))); @@ -2347,19 +2285,18 @@ function feedback_extend_settings_navigation(settings_navigation $settings, navi $feedbacknode->get($qkey)->add(get_string('templates', 'feedback'), new moodle_url('/mod/feedback/edit.php', array('id'=>$PAGE->cm->id, 'do_show'=>'templates'))); } - if($capabilities->viewreports) { + // if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { $feedback = $DB->get_record('feedback', array('id'=>$PAGE->cm->instance)); if($feedback->course == SITEID){ $feedbacknode->add(get_string('analysis', 'feedback'), new moodle_url('/mod/feedback/analysis_course.php', array('id'=>$PAGE->cm->id, 'course'=>$PAGE->course->id,'do_show'=>'analysis'))); }else { $feedbacknode->add(get_string('analysis', 'feedback'), new moodle_url('/mod/feedback/analysis.php', array('id'=>$PAGE->cm->id, 'course'=>$PAGE->course->id,'do_show'=>'analysis'))); } - } - if($capabilities->viewreports) { $feedbacknode->add(get_string('show_entries', 'feedback'), new moodle_url('/mod/feedback/show_entries.php', array('id'=>$PAGE->cm->id, 'do_show'=>'showentries'))); } - } +} function feedback_init_feedback_session() { //initialize the feedback-Session - not nice at all!! diff --git a/mod/feedback/mapcourse.php b/mod/feedback/mapcourse.php index d85334d6d0a..f94cff58437 100644 --- a/mod/feedback/mapcourse.php +++ b/mod/feedback/mapcourse.php @@ -49,11 +49,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if (!$capabilities->mapcourse) { +if (!has_capability('mod/feedback:mapcourse', $context)) { print_error('invalidaccess'); } diff --git a/mod/feedback/print.php b/mod/feedback/print.php index 008b71620d8..c2e01249be6 100644 --- a/mod/feedback/print.php +++ b/mod/feedback/print.php @@ -30,11 +30,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->edititems){ +if(!has_capability('mod/feedback:edititems', $context)){ print_error('error'); } diff --git a/mod/feedback/show_entries.php b/mod/feedback/show_entries.php index 84b73a76500..ec9c83903e0 100644 --- a/mod/feedback/show_entries.php +++ b/mod/feedback/show_entries.php @@ -44,7 +44,9 @@ $url = new moodle_url('/mod/feedback/show_entries.php', array('id'=>$cm->id, 'do $PAGE->set_url($url); -$capabilities = feedback_load_capabilities($cm->id); +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); @@ -52,7 +54,7 @@ if(($formdata = data_submitted()) AND !confirm_sesskey()) { print_error('invalidsesskey'); } -if(!$capabilities->viewreports){ +if(!has_capability('mod/feedback:viewreports', $context)){ print_error('error'); } @@ -85,7 +87,7 @@ include('tabs.php'); //////////////////////////////////////////////////////// if($do_show == 'showentries'){ //print the link to analysis - if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { //get the effective groupmode of this course and module if (isset($cm->groupmode) && empty($course->groupmodeforce)) { $groupmode = $cm->groupmode; @@ -125,7 +127,7 @@ if($do_show == 'showentries'){ } //####### viewreports-start - if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { //print the list of students echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide'); echo isset($groupselect) ? $groupselect : ''; @@ -160,7 +162,7 @@ if($do_show == 'showentries'){ ?> deletesubmissions) { + if(has_capability('mod/feedback:deletesubmissions', $context)) { ?> id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->viewreports){ +if(!has_capability('mod/feedback:viewreports', $context)){ print_error('error'); } diff --git a/mod/feedback/tabs.php b/mod/feedback/tabs.php index 46124a94428..9d7941f9efc 100644 --- a/mod/feedback/tabs.php +++ b/mod/feedback/tabs.php @@ -20,6 +20,10 @@ $usedid = $id; } + if (!$context = get_context_instance(CONTEXT_MODULE, $usedid)) { + print_error('badcontext'); + } + $courseid = optional_param('courseid', false, PARAM_INT); // $current_tab = $SESSION->feedback->current_tab; @@ -30,7 +34,7 @@ $viewurl = new moodle_url('/mod/feedback/view.php', array('id'=>$usedid, 'do_show'=>'view')); $row[] = new tabobject('view', $viewurl->out(), get_string('overview', 'feedback')); - if($capabilities->edititems) { + if(has_capability('mod/feedback:edititems', $context)) { $editurl = new moodle_url('/mod/feedback/edit.php', array('id'=>$usedid, 'do_show'=>'edit')); $row[] = new tabobject('edit', $editurl->out(), get_string('edit_items', 'feedback')); @@ -38,7 +42,7 @@ $row[] = new tabobject('templates', $templateurl->out(), get_string('templates', 'feedback')); } - if($capabilities->viewreports) { + if(has_capability('mod/feedback:viewreports', $context)) { if($feedback->course == SITEID){ $analysisurl = new moodle_url('/mod/feedback/analysis_course.php', array('id'=>$usedid, 'courseid'=>$courseid, 'do_show'=>'analysis')); $row[] = new tabobject('analysis', $analysisurl->out(), get_string('analysis', 'feedback')); @@ -46,9 +50,7 @@ $analysisurl = new moodle_url('/mod/feedback/analysis.php', array('id'=>$usedid, 'courseid'=>$courseid, 'do_show'=>'analysis')); $row[] = new tabobject('analysis', $analysisurl->out(), get_string('analysis', 'feedback')); } - } - - if($capabilities->viewreports) { + $reporturl = new moodle_url('/mod/feedback/show_entries.php', array('id'=>$usedid, 'do_show'=>'showentries')); $row[] = new tabobject('showentries', $reporturl->out(), get_string('show_entries', 'feedback')); } diff --git a/mod/feedback/unmapcourse.php b/mod/feedback/unmapcourse.php index 5e9a31fca10..45b9a069004 100644 --- a/mod/feedback/unmapcourse.php +++ b/mod/feedback/unmapcourse.php @@ -33,9 +33,12 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); -if (!$capabilities->mapcourse) { +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} + +if (!has_capability('mod/feedback:mapcourse', $context)) { print_error('invalidaccess'); } diff --git a/mod/feedback/use_templ.php b/mod/feedback/use_templ.php index cef6971830c..9fd30516758 100644 --- a/mod/feedback/use_templ.php +++ b/mod/feedback/use_templ.php @@ -39,11 +39,14 @@ if ($id) { print_error('invalidcoursemodule'); } } -$capabilities = feedback_load_capabilities($cm->id); + +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} require_login($course->id, true, $cm); -if(!$capabilities->edititems){ +if(!has_capability('mod/feedback:edititems', $context)){ print_error('error'); } diff --git a/mod/feedback/view.php b/mod/feedback/view.php index bb2d72e52b2..8a6612ccadd 100644 --- a/mod/feedback/view.php +++ b/mod/feedback/view.php @@ -28,12 +28,20 @@ if (! $feedback = $DB->get_record("feedback", array("id"=>$cm->instance))) { print_error('invalidcoursemodule'); } -$capabilities = feedback_load_capabilities($cm->id); +if (!$context = get_context_instance(CONTEXT_MODULE, $cm->id)) { + print_error('badcontext'); +} + +$feedback_complete_cap = false; + +if(has_capability('mod/feedback:complete', $context)) { + $feedback_complete_cap = true; +} if(isset($CFG->feedback_allowfullanonymous) AND $CFG->feedback_allowfullanonymous AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) { - $capabilities->complete = true; + $feedback_complete_cap = true; } //check whether the feedback is located and! started from the mainsite @@ -42,7 +50,7 @@ if($course->id == SITEID AND !$courseid) { } //check whether the feedback is mapped to the given courseid -if($course->id == SITEID AND !$capabilities->edititems) { +if($course->id == SITEID AND !has_capability('mod/feedback:edititems', $context)) { if($DB->get_records('feedback_sitecourse_map', array('feedbackid'=>$feedback->id))) { if(!$DB->get_record('feedback_sitecourse_map', array('feedbackid'=>$feedback->id, 'courseid'=>$courseid))){ print_error('invalidcoursemodule'); @@ -88,13 +96,13 @@ echo $OUTPUT->header(); //ishidden check. //feedback in courses -if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $course->id != SITEID) { +if ((empty($cm->visible) and !has_capability('moodle/course:viewhiddenactivities', $context)) AND $course->id != SITEID) { notice(get_string("activityiscurrentlyhidden")); } //ishidden check. //feedback on mainsite -if ((empty($cm->visible) and !$capabilities->viewhiddenactivities) AND $courseid == SITEID) { +if ((empty($cm->visible) and !has_capability('moodle/course:viewhiddenactivities', $context)) AND $courseid == SITEID) { notice(get_string("activityiscurrentlyhidden")); } @@ -113,14 +121,16 @@ $options = (object)array('noclean'=>true); echo format_module_intro('feedback', $feedback, $cm->id); echo $OUTPUT->box_end(); -if($capabilities->edititems) { +if(has_capability('mod/feedback:edititems', $context)) { echo $OUTPUT->heading(get_string("page_after_submit", "feedback"), 4); echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide'); echo format_text($feedback->page_after_submit); echo $OUTPUT->box_end(); } -if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) { +if( (intval($feedback->publish_stats) == 1) AND + ( has_capability('mod/feedback:viewanalysepage', $context)) AND + !( has_capability('mod/feedback:viewreports', $context)) ) { if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) { $analysisurl = new moodle_url('/mod/feedback/analysis.php', array('id'=>$id, 'courseid'=>$courseid)); echo '