diff options
Diffstat (limited to 'modules/user/controllers/users.php')
-rw-r--r-- | modules/user/controllers/users.php | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/modules/user/controllers/users.php b/modules/user/controllers/users.php index 46fd52dd..0ea6b403 100644 --- a/modules/user/controllers/users.php +++ b/modules/user/controllers/users.php @@ -32,7 +32,22 @@ class Users_Controller extends REST_Controller { * @see Rest_Controller::_create($resource) */ public function _create($user) { - throw new Exception("@todo User_Controller::_create NOT IMPLEMENTED"); + if ($user->guest || (!user::active()->admin && $user->id != user::active()->id)) { + access::forbidden(); + } + + $form = user::get_add_form($user, ""); + if ($form->validate()) { + $user->name = $form->edit_user->uname->value; + $user->full_name = $form->edit_user->full_name->value; + $user->password = $form->edit_user->password->value; + $user->email = $form->edit_user->email->value; + $user->save(); + if ($continue = $this->input->get("continue")) { + url::redirect($continue); + } + } + print $form; } /** |