summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/user/controllers/admin_users.php4
-rw-r--r--modules/user/helpers/user_event.php5
2 files changed, 8 insertions, 1 deletions
diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php
index 269e3dc8..a7db6179 100644
--- a/modules/user/controllers/admin_users.php
+++ b/modules/user/controllers/admin_users.php
@@ -36,7 +36,9 @@ class Admin_Users_Controller extends Admin_Controller {
$form = $this->_get_user_add_form_admin();
$valid = $form->validate();
$name = $form->add_user->inputs["name"]->value;
- if ($user = user::lookup_by_name($name)) {
+ $user_exists_data = (object)array("name" => $name);
+ module::event("check_username_exists", $user_exists_data);
+ if ($user_exists_data->exists) {
$form->add_user->inputs["name"]->add_error("in_use", 1);
$valid = false;
}
diff --git a/modules/user/helpers/user_event.php b/modules/user/helpers/user_event.php
index 1ac7f333..e3dbacb7 100644
--- a/modules/user/helpers/user_event.php
+++ b/modules/user/helpers/user_event.php
@@ -28,4 +28,9 @@ class user_event_Core {
return $menu;
}
+
+ static function check_username_exists($data) {
+ $user = user::lookup_by_name($data->name);
+ $data->exists |= $user ? true : false;
+ }
}