mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 00:12:56 +02:00
Only include data from field types that are "small"
This commit is contained in:
parent
4354a3e563
commit
91cddbc454
@ -11,6 +11,12 @@ class profile_field_textarea extends profile_field_base {
|
||||
$mform->setType($this->inputname, PARAM_CLEAN);
|
||||
}
|
||||
|
||||
/// Overwrite base class method, data in this field type is potentially too large to be
|
||||
/// included in the user object
|
||||
function is_user_object_data() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -162,6 +162,16 @@ class profile_field_base {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the field data should be loaded into the user object
|
||||
* By default it is, but for field types where the data may be potentially
|
||||
* large, the child class should override this and return false
|
||||
* @return boolean
|
||||
*/
|
||||
function is_user_object_data() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/***** The following methods generally should not be overwritten by child classes *****/
|
||||
|
||||
@ -399,7 +409,7 @@ function profile_user_record($userid) {
|
||||
require_once($CFG->dirroot.'/user/profile/field/'.$field->datatype.'/field.class.php');
|
||||
$newfield = 'profile_field_'.$field->datatype;
|
||||
$formfield = new $newfield($field->id, $userid);
|
||||
$user->{$field->shortname} = $formfield->data;
|
||||
if ($formfield->is_user_object_data()) $user->{$field->shortname} = $formfield->data;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user