From c9ca1fa5a19e5ed453e1b703e4f9cafb000c5284 Mon Sep 17 00:00:00 2001 From: moodler Date: Sat, 15 May 2004 07:30:31 +0000 Subject: [PATCH] A new option (off by default) will remove restrictions on usernames. $CFG->extendedusernamechars --- config-dist.php | 9 ++++++++- login/signup.php | 9 ++++++--- user/edit.php | 11 +++++++---- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/config-dist.php b/config-dist.php index b75c016efa..b27e92a2f3 100644 --- a/config-dist.php +++ b/config-dist.php @@ -129,6 +129,9 @@ $CFG->admin = 'admin'; // 7. OTHER MISCELLANEOUS SETTINGS (ignore these for new installations) //========================================================================= // +// These are additional tweaks for which no GUI exists in Moodle yet. +// +// // Prevent users from updating their profile images // $CFG->disableuserimages = true; // @@ -151,7 +154,11 @@ $CFG->admin = 'admin'; // // Setting this to true will force a non-guest login to see the user pages // eg the teachers linked from course descriptions or site news -// $CFG->forceloginforprofiles +// $CFG->forceloginforprofiles = true; +// +// Setting this variable will make Moodle allow anything as a username, +// rather than alphanumerical characters only. +// $CFG->extendedusernamechars = true; // // This setting will put Moodle in Unicode mode. It's very new and // most likely doesn't work yet. THIS IS FOR DEVELOPERS ONLY, IT IS diff --git a/login/signup.php b/login/signup.php index 8842d6bd43..cec9336f4b 100644 --- a/login/signup.php +++ b/login/signup.php @@ -81,6 +81,7 @@ function validate_form($user, &$err) { global $CFG; + if (empty($user->username)){ $err->username = get_string("missingusername"); } else{ @@ -88,9 +89,11 @@ function validate_form($user, &$err) { if (record_exists("user", "username", $user->username)){ $err->username = get_string("usernameexists"); } else { - $string = eregi_replace("[^(-\.[:alnum:][À-ÖØ-öø-ÿ])]", "", $user->username); - if (strcmp($user->username, $string)) { - $err->username = get_string("alphanumerical"); + if (empty($CFG->extendedusernamechars)) { + $string = eregi_replace("[^(-\.[:alnum:])]", "", $user->username); + if (strcmp($user->username, $string)) { + $err->username = get_string("alphanumerical"); + } } } } diff --git a/user/edit.php b/user/edit.php index 3bbf1691b3..16ea08b8cc 100644 --- a/user/edit.php +++ b/user/edit.php @@ -202,6 +202,7 @@ /// FUNCTIONS //////////////////// function find_form_errors(&$user, &$usernew, &$err) { + global $CFG; if (isadmin()) { if (empty($usernew->username)) { @@ -211,10 +212,12 @@ function find_form_errors(&$user, &$usernew, &$err) { $err["username"] = get_string("usernameexists"); } else { - $string = eregi_replace("[^(-\.[:alnum:][À-ÖØ-öø-ÿ])]", "", $usernew->username); - - if (strcmp($usernew->username, $string)) - $err["username"] = get_string("alphanumerical"); + if (empty($CFG->extendedusernamechars)) { + $string = eregi_replace("[^(-\.[:alnum:])]", "", $usernew->username); + if (strcmp($usernew->username, $string)) { + $err["username"] = get_string("alphanumerical"); + } + } } if (empty($usernew->newpassword) and empty($user->password) and is_internal_auth() ) -- 2.39.5