mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 08:26:37 +02:00
MDL-25674 detection of invalid $user parameter when synchronising user enrolments
This commit is contained in:
parent
c35ae13691
commit
07cd46d84d
2 changed files with 18 additions and 0 deletions
|
@ -81,6 +81,15 @@ class enrol_database_plugin extends enrol_plugin {
|
||||||
|
|
||||||
$ignorehidden = $this->get_config('ignorehiddencourses');
|
$ignorehidden = $this->get_config('ignorehiddencourses');
|
||||||
|
|
||||||
|
if (!is_object($user) or !property_exists($user, 'id')) {
|
||||||
|
throw new coding_exception('Invalid $user parameter in sync_user_enrolments()');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!property_exists($user, $localuserfield)) {
|
||||||
|
debugging('Invalid $user parameter in sync_user_enrolments(), missing '.$localuserfield);
|
||||||
|
$user = $DB->get_record('user', array('id'=>$user->id));
|
||||||
|
}
|
||||||
|
|
||||||
// create roles mapping
|
// create roles mapping
|
||||||
$allroles = get_all_roles();
|
$allroles = get_all_roles();
|
||||||
if (!isset($allroles[$defaultrole])) {
|
if (!isset($allroles[$defaultrole])) {
|
||||||
|
|
|
@ -136,6 +136,15 @@ class enrol_ldap_plugin extends enrol_plugin {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!is_object($user) or !property_exists($user, 'id')) {
|
||||||
|
throw new coding_exception('Invalid $user parameter in sync_user_enrolments()');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!property_exists($user, 'idnumbner')) {
|
||||||
|
debugging('Invalid $user parameter in sync_user_enrolments(), missing idnumber');
|
||||||
|
$user = $DB->get_record('user', array('id'=>$user->id));
|
||||||
|
}
|
||||||
|
|
||||||
// We may need a lot of memory here
|
// We may need a lot of memory here
|
||||||
@set_time_limit(0);
|
@set_time_limit(0);
|
||||||
raise_memory_limit(MEMORY_HUGE);
|
raise_memory_limit(MEMORY_HUGE);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue