Skip to content

Commit

Permalink
accesslib: Move check_enrolment_plugins() to complete_user_login()
Browse files Browse the repository at this point in the history
... where it belongs ;-)

load_all_capabiloties() gets called at several points where we don't
want to be re-querying the enrolment backends. It needs to  be called
before load_all_capabilities() and only by callers that are setting up
a logon session.

Those callers need to be calling complete_user_login() anyway, as they
need to set the Moodle cookie, log the logon action, etc. In fact,
those callers duplicate a lot of that code already.

The callers that don't duplicate code for the login are actually the
cases where the backend enrolment plugins should not be queried.

To be followed by callers cleanup...
  • Loading branch information
martinlanghoff committed Nov 14, 2007
1 parent a238e82 commit 8f9e1d2
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
7 changes: 4 additions & 3 deletions lib/accesslib.php
Expand Up @@ -1570,7 +1570,10 @@ function compact_rdefs(&$rdefs) {

/**
* A convenience function to completely load all the capabilities
* for the current user. This is what gets called from login, for example.
* for the current user. This is what gets called from complete_user_login()
* for example. Call it only _after_ you've setup $USER and called
* check_enrolment_plugins();
*
*/
function load_all_capabilities() {
global $USER, $CFG, $DIRTYCONTEXTS;
Expand All @@ -1588,8 +1591,6 @@ function load_all_capabilities() {

} else if (isloggedin()) {

check_enrolment_plugins($USER);

$accessdata = get_user_access_sitewide($USER->id);

//
Expand Down
3 changes: 3 additions & 0 deletions lib/moodlelib.php
Expand Up @@ -3039,6 +3039,9 @@ function complete_user_login($user) {
}
set_login_session_preferences();

// Call enrolment plugins
check_enrolment_plugins($user);

/// This is what lets the user do anything on the site :-)
load_all_capabilities();

Expand Down

0 comments on commit 8f9e1d2

Please sign in to comment.