mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 16:32:18 +02:00
MDL-47183: viewhiddenactivities should use the module context
Thanks to Paulo Matos for the forum part of this change.
This commit is contained in:
parent
6597413d41
commit
f67b5c995e
@ -128,7 +128,7 @@ class block_site_main_menu extends block_list {
|
||||
} else {
|
||||
$editbuttons = '';
|
||||
}
|
||||
if ($mod->visible || has_capability('moodle/course:viewhiddenactivities', $context)) {
|
||||
if ($mod->visible || has_capability('moodle/course:viewhiddenactivities', $mod->get_context())) {
|
||||
if ($ismoving) {
|
||||
if ($mod->id == $USER->activitycopy) {
|
||||
continue;
|
||||
|
@ -130,7 +130,7 @@ class block_social_activities extends block_list {
|
||||
} else {
|
||||
$editbuttons = '';
|
||||
}
|
||||
if ($mod->visible || has_capability('moodle/course:viewhiddenactivities', $context)) {
|
||||
if ($mod->visible || has_capability('moodle/course:viewhiddenactivities', $mod->get_context())) {
|
||||
if ($ismoving) {
|
||||
if ($mod->id == $USER->activitycopy) {
|
||||
continue;
|
||||
@ -169,5 +169,3 @@ class block_social_activities extends block_list {
|
||||
return $this->content;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -69,8 +69,7 @@ class format_singleactivity extends format_base {
|
||||
public function extend_course_navigation($navigation, navigation_node $node) {
|
||||
// Display orphaned activities for the users who can see them.
|
||||
$context = context_course::instance($this->courseid);
|
||||
if (has_all_capabilities(array('moodle/course:viewhiddensections',
|
||||
'moodle/course:viewhiddenactivities'), $context)) {
|
||||
if (has_capability('moodle/course:viewhiddensections', $context)) {
|
||||
$modinfo = get_fast_modinfo($this->courseid);
|
||||
if (!empty($modinfo->sections[1])) {
|
||||
$section1 = $modinfo->get_section_info(1);
|
||||
@ -80,7 +79,9 @@ class format_singleactivity extends format_base {
|
||||
$orphanednode->nodetype = navigation_node::NODETYPE_BRANCH;
|
||||
$orphanednode->add_class('orphaned');
|
||||
foreach ($modinfo->sections[1] as $cmid) {
|
||||
$this->navigation_add_activity($orphanednode, $modinfo->cms[$cmid]);
|
||||
if (has_capability('moodle/course:viewhiddenactivities', context_module($cmid))) {
|
||||
$this->navigation_add_activity($orphanednode, $modinfo->cms[$cmid]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -770,8 +770,7 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
if ($mod->uservisible) {
|
||||
$conditionalhidden = $this->is_cm_conditionally_hidden($mod);
|
||||
$accessiblebutdim = (!$mod->visible || $conditionalhidden) &&
|
||||
has_capability('moodle/course:viewhiddenactivities',
|
||||
context_course::instance($mod->course));
|
||||
has_capability('moodle/course:viewhiddenactivities', $mod->get_context());
|
||||
if ($accessiblebutdim) {
|
||||
$linkclasses .= ' dimmed';
|
||||
$textclasses .= ' dimmed_text';
|
||||
@ -833,8 +832,7 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
if ($mod->uservisible) {
|
||||
$conditionalhidden = $this->is_cm_conditionally_hidden($mod);
|
||||
$accessiblebutdim = (!$mod->visible || $conditionalhidden) &&
|
||||
has_capability('moodle/course:viewhiddenactivities',
|
||||
context_course::instance($mod->course));
|
||||
has_capability('moodle/course:viewhiddenactivities', $mod->get_context());
|
||||
if ($accessiblebutdim) {
|
||||
$textclasses .= ' dimmed_text';
|
||||
if ($conditionalhidden) {
|
||||
|
@ -107,6 +107,8 @@ if (!empty($forum)) { // User is starting a new discussion in a forum
|
||||
print_error("invalidcoursemodule");
|
||||
}
|
||||
|
||||
// Retrieve the contexts.
|
||||
$modcontext = context_module::instance($cm->id);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
|
||||
if (! forum_user_can_post_discussion($forum, $groupid, -1, $cm)) {
|
||||
@ -122,7 +124,7 @@ if (!empty($forum)) { // User is starting a new discussion in a forum
|
||||
print_error('nopostforum', 'forum');
|
||||
}
|
||||
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', $coursecontext)) {
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', $modcontext)) {
|
||||
print_error("activityiscurrentlyhidden");
|
||||
}
|
||||
|
||||
@ -176,8 +178,9 @@ if (!empty($forum)) { // User is starting a new discussion in a forum
|
||||
// Ensure lang, theme, etc. is set up properly. MDL-6926
|
||||
$PAGE->set_cm($cm, $course, $forum);
|
||||
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
// Retrieve the contexts.
|
||||
$modcontext = context_module::instance($cm->id);
|
||||
$coursecontext = context_course::instance($course->id);
|
||||
|
||||
if (! forum_user_can_post($forum, $discussion, $USER, $cm, $course, $modcontext)) {
|
||||
if (!isguestuser()) {
|
||||
@ -206,7 +209,7 @@ if (!empty($forum)) { // User is starting a new discussion in a forum
|
||||
}
|
||||
}
|
||||
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', $coursecontext)) {
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', $modcontext)) {
|
||||
print_error("activityiscurrentlyhidden");
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,8 @@ if ($show_rss = (isset($CFG->enablerssfeeds) && isset($CFG->glossary_enablerssfe
|
||||
$currentsection = "";
|
||||
|
||||
foreach ($glossarys as $glossary) {
|
||||
if (!$glossary->visible && has_capability('moodle/course:viewhiddenactivities', $context)) {
|
||||
if (!$glossary->visible && has_capability('moodle/course:viewhiddenactivities',
|
||||
context_module::instance($glossary->coursemodule))) {
|
||||
// Show dimmed if the mod is hidden.
|
||||
$link = "<a class=\"dimmed\" href=\"view.php?id=$glossary->coursemodule\">".format_string($glossary->name,true)."</a>";
|
||||
} else if ($glossary->visible) {
|
||||
|
@ -97,7 +97,7 @@ if ($displaymode == 'popup') {
|
||||
$PAGE->set_title($pagetitle);
|
||||
$PAGE->set_heading($course->fullname);
|
||||
}
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', $coursecontext)) {
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', context_module::instance($cm->id))) {
|
||||
echo $OUTPUT->header();
|
||||
notice(get_string("activityiscurrentlyhidden"));
|
||||
echo $OUTPUT->footer();
|
||||
|
Loading…
x
Reference in New Issue
Block a user