/** * Save new user * * @param array $fields * @param string $uri * @return void */ public function save(array $fields, $uri = null) { $user = new Table\Users(['role_id' => $fields['role_id'], 'username' => isset($fields['username']) ? $fields['username'] : $fields['email'], 'password' => (new Bcrypt())->create($fields['password1']), 'first_name' => isset($fields['first_name']) ? $fields['first_name'] : null, 'last_name' => isset($fields['last_name']) ? $fields['last_name'] : null, 'company' => isset($fields['company']) ? $fields['company'] : null, 'title' => isset($fields['title']) ? $fields['title'] : null, 'email' => isset($fields['email']) ? $fields['email'] : null, 'phone' => isset($fields['phone']) ? $fields['phone'] : null, 'active' => (int) $fields['active'], 'verified' => (int) $fields['verified']]); $user->save(); $this->data = array_merge($this->data, $user->getColumns()); if (!$user->verified && !empty($user->email)) { $this->sendVerification($user, $uri); } }