From d9854bee3fe5d7574b80e3c80b2389701e407c91 Mon Sep 17 00:00:00 2001 From: skodak Date: Sun, 16 Dec 2007 13:53:04 +0000 Subject: [PATCH] MDL-12602 redirect to course if require_capability() fails for module context; merged from MOODLE_19_STABLE --- lib/accesslib.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/accesslib.php b/lib/accesslib.php index 531e7f02f0..f03f43b04d 100755 --- a/lib/accesslib.php +++ b/lib/accesslib.php @@ -803,6 +803,8 @@ function require_capability($capability, $context, $userid=NULL, $doanything=tru * Originally there was a check for loaded permissions - it is not needed here. * Context is now required parameter, the cached $CONTEXT was only hiding errors. */ + $errorlink = ''; + if (empty($userid)) { if ($context->contextlevel == CONTEXT_COURSE) { require_login($context->instanceid); @@ -815,6 +817,7 @@ function require_capability($capability, $context, $userid=NULL, $doanything=tru error('Incorrect course.'); } require_course_login($course, true, $cm); + $errorlink = $CFG->wwwroot.'/course/view.php?id='.$cm->course; } else if ($context->contextlevel == CONTEXT_SYSTEM) { if (!empty($CFG->forcelogin)) { @@ -830,7 +833,7 @@ function require_capability($capability, $context, $userid=NULL, $doanything=tru if (!has_capability($capability, $context, $userid, $doanything)) { $capabilityname = get_capability_string($capability); - print_error($errormessage, $stringfile, '', $capabilityname); + print_error($errormessage, $stringfile, $errorlink, $capabilityname); } } @@ -4218,7 +4221,6 @@ function get_users_by_capability($context, $capability, $fields='', $sort='', /// check for front page course, and see if default front page role has the required capability /// if it does, we can just return all users, and we do not need to check further, just return all users - $frontpagectx = get_context_instance(CONTEXT_COURSE, SITEID); if (!empty($CFG->defaultfrontpageroleid) && ($context->id == $frontpagectx->id || strstr($context->path, '/'.$frontpagectx->id.'/'))) { -- 2.39.5