"MDL-17143, don't display the user description at all when user isn't enrolled in any courses, merged and modified from 1.9"

This commit is contained in:
dongsheng 2008-11-10 03:06:27 +00:00
parent 7b825c4f6f
commit 35f0660ab4
6 changed files with 30 additions and 1 deletions

View file

@ -39,6 +39,9 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configcheckbox('extendedusernamechars', get_string('extendedusernamechars', 'admin'), get_string('configextendedusernamechars', 'admin'), 0)); $temp->add(new admin_setting_configcheckbox('extendedusernamechars', get_string('extendedusernamechars', 'admin'), get_string('configextendedusernamechars', 'admin'), 0));
$temp->add(new admin_setting_configtext('sitepolicy', get_string('sitepolicy', 'admin'), get_string('configsitepolicy', 'admin'), '', PARAM_RAW)); $temp->add(new admin_setting_configtext('sitepolicy', get_string('sitepolicy', 'admin'), get_string('configsitepolicy', 'admin'), '', PARAM_RAW));
$temp->add(new admin_setting_configcheckbox('keeptagnamecase', get_string('keeptagnamecase','admin'),get_string('configkeeptagnamecase', 'admin'),'1')); $temp->add(new admin_setting_configcheckbox('keeptagnamecase', get_string('keeptagnamecase','admin'),get_string('configkeeptagnamecase', 'admin'),'1'));
$temp->add(new admin_setting_configcheckbox('profilesforenrolledusersonly', get_string('profilesforenrolledusersonly','admin'),get_string('configprofilesforenrolledusersonly', 'admin'),'1'));
$temp->add(new admin_setting_configcheckbox('cronclionly', get_string('cronclionly', 'admin'), get_string('configcronclionly', 'admin'), 0)); $temp->add(new admin_setting_configcheckbox('cronclionly', get_string('cronclionly', 'admin'), get_string('configcronclionly', 'admin'), 0));
$temp->add(new admin_setting_configpasswordunmask('cronremotepassword', get_string('cronremotepassword', 'admin'), get_string('configcronremotepassword', 'admin'), '')); $temp->add(new admin_setting_configpasswordunmask('cronremotepassword', get_string('cronremotepassword', 'admin'), get_string('configcronremotepassword', 'admin'), ''));

View file

@ -189,6 +189,11 @@ $string['configoverride'] = 'Defined in config.php';
$string['configpathtoclam'] = 'Path to clam AV. Probably something like /usr/bin/clamscan or /usr/bin/clamdscan. You need this in order for clam AV to run.'; $string['configpathtoclam'] = 'Path to clam AV. Probably something like /usr/bin/clamscan or /usr/bin/clamdscan. You need this in order for clam AV to run.';
$string['configpathtodu'] = 'Path to du. Probably something like /usr/bin/du. If you enter this, pages that display directory contents will run much faster for directories with a lot of files.'; $string['configpathtodu'] = 'Path to du. Probably something like /usr/bin/du. If you enter this, pages that display directory contents will run much faster for directories with a lot of files.';
$string['configperfdebug'] = 'If you turn this on, performance info will be printed in the footer of the standard theme'; $string['configperfdebug'] = 'If you turn this on, performance info will be printed in the footer of the standard theme';
$string['configprofilesforenrolledusersonly'] = '
<ul>
<li>When showing the profile page, if a courseid isn\'t defined (this is the public view) AND the user is not enrolled in any courses AND this setting is set as true then replace the profile description won\'t display.</li>
<li>When editing the profile page, if the description is blank AND the user is not enrolled in any courses AND this setting is set as true then completely hide the description field from the editing page.</li>
</ul>';
$string['configprotectusernames'] = 'By default forget_password.php does not display any hints that would allow guessing of usernames or email addresses.'; $string['configprotectusernames'] = 'By default forget_password.php does not display any hints that would allow guessing of usernames or email addresses.';
$string['configproxybypass'] = 'Comma separated list of (partial) hostnames or IPs that should bypass proxy (e.g., 192.168., .mydomain.com)'; $string['configproxybypass'] = 'Comma separated list of (partial) hostnames or IPs that should bypass proxy (e.g., 192.168., .mydomain.com)';
$string['configproxyhost'] = 'If this <b>server</b> needs to use a proxy computer (eg a firewall) to access the Internet, then provide the proxy hostname here. Otherwise leave it blank.'; $string['configproxyhost'] = 'If this <b>server</b> needs to use a proxy computer (eg a firewall) to access the Internet, then provide the proxy hostname here. Otherwise leave it blank.';
@ -613,6 +618,7 @@ $string['profilefieldtypetextarea'] = 'Text area';
$string['profilefieldmaxlength'] = 'Maximum length'; $string['profilefieldmaxlength'] = 'Maximum length';
$string['profilefieldispassword'] = 'Is this a password field?'; $string['profilefieldispassword'] = 'Is this a password field?';
$string['profileforceunique'] = 'Should the data be unique?'; $string['profileforceunique'] = 'Should the data be unique?';
$string['profilesforenrolledusersonly'] = 'Profiles for enrolled users only';
$string['profileinvaliddata'] = 'Invalid value'; $string['profileinvaliddata'] = 'Invalid value';
$string['profilelocked'] = 'Is this field locked?'; $string['profilelocked'] = 'Is this field locked?';
$string['profilemenudefaultnotinoptions'] = 'The default value is not one of the options'; $string['profilemenudefaultnotinoptions'] = 'The default value is not one of the options';

View file

@ -1220,6 +1220,7 @@ $string['previouslyselectedusers'] = 'Previously selected users not matching \'$
$string['previoussection'] = 'Previous section'; $string['previoussection'] = 'Previous section';
$string['primaryadminsetup'] = 'Setup administrator account'; $string['primaryadminsetup'] = 'Setup administrator account';
$string['profile'] = 'Profile'; $string['profile'] = 'Profile';
$string['profilenotshown'] = 'This profile description will not be shown until this person is enrolled in at least one course.';
$string['publicdirectory'] = 'Public directory'; $string['publicdirectory'] = 'Public directory';
$string['publicdirectory0'] = 'Please do not publish this site'; $string['publicdirectory0'] = 'Please do not publish this site';
$string['publicdirectory1'] = 'Publish the site name only'; $string['publicdirectory1'] = 'Publish the site name only';

View file

@ -60,8 +60,14 @@ class user_edit_form extends moodleform {
} }
} }
if ($user = $DB->get_record('user', array('id'=>$userid))) { if ($user = $DB->get_record('user', array('id'=>$userid))) {
// remove description
if (!$DB->get_record('role_assignments', array('userid'=>$userid)) && empty($user->description) && $CFG->profilesforenrolledusersonly) {
$mform->removeElement('description');
}
// print picture // print picture
if (!empty($CFG->gdversion)) { if (!empty($CFG->gdversion)) {
$image_el =& $mform->getElement('currentpicture'); $image_el =& $mform->getElement('currentpicture');

View file

@ -75,6 +75,13 @@ class user_editadvanced_form extends moodleform {
} }
} }
$sitecontext = get_context_instance(CONTEXT_SYSTEM);
$can_edit_user = has_capability('moodle/user:update', $sitecontext);
// remove description
if (!$DB->get_record('role_assignments', array('userid'=>$userid)) && empty($user->description) && $CFG->profilesforenrolledusersonly && !$can_edit_user) {
$mform->removeElement('description');
}
// user can not change own auth method // user can not change own auth method
if ($userid == $USER->id) { if ($userid == $USER->id) {
$mform->hardFreeze('auth'); $mform->hardFreeze('auth');

View file

@ -210,7 +210,13 @@
// Print the description // Print the description
if ($user->description && !isset($hiddenfields['description'])) { if ($user->description && !isset($hiddenfields['description'])) {
echo format_text($user->description, FORMAT_MOODLE)."<hr />"; $has_courseid = ($course->id != SITEID);
if (!$DB->get_record('role_assignments', array('userid'=>$id))
&& !$has_courseid && $CFG->profilesforenrolledusersonly) {
echo get_string('profilenotshown', 'moodle').'<hr />';
} else {
echo format_text($user->description, FORMAT_MOODLE)."<hr />";
}
} }
// Print all the little details in a list // Print all the little details in a list