/**
* Run the action and return a response for the user.
*
* @return void
*/
protected function run()
{
$rules = $this->getValidationRules();
$validation = $this->validator->make($this->input, $rules);
if ($validation->fails()) {
return $this->mergeErrors($validation->errors());
}
$userData = array('username' => $this->input['user'], 'group_id' => Config::get('o_default_user_group'), 'password' => $this->input['password'], 'email' => $this->input['email'], 'email_setting' => Config::get('o_default_email_setting'), 'timezone' => Config::get('o_default_timezone'), 'dst' => Config::get('o_default_dst'), 'language' => Config::get('o_default_lang'), 'style' => Config::get('o_default_style'), 'registration_ip' => $this->request->getClientIp(), 'last_visit' => $this->request->server('REQUEST_TIME', time()));
$user = User::create($userData);
$this->trigger('user.registered', array($user));
}