/** * @param array $data * @return bool * @throws \Exception */ public function registerNewUser(array $data, $groupId = 0, $sendVerfificationMail = true) { $salt = Unique::createSalt(25); if (Cunity::get("settings")->getSetting("core.fullname")) { $name = $data['firstname'] . " " . $data['lastname']; } else { $name = $data['username']; } $result = $this->insert(["email" => trim($data['email']), "userhash" => $this->createUniqueHash(), "username" => $data['username'], "groupid" => $groupId, "password" => sha1(trim($data['password']) . $salt), "salt" => $salt, "name" => $name, "firstname" => $data['firstname'], "lastname" => $data['lastname']]); if (array_key_exists('field', $_POST)) { $profileFieldsUser = new ProfileFieldsUsers([], $this->search('userid', $result)); $profileFieldsUser->update($_REQUEST['field'], ''); } if ($result && $sendVerfificationMail) { new VerifyMail(["name" => $name, "email" => $data['email']], $salt); return true; } return false; }
/** * @return bool|mixed */ public function save() { if (isset($this->_modifiedFields['username']) || isset($this->_modifiedFields['firstname']) || isset($this->_modifiedFields['lastname'])) { $currentUsername = $this->username; $result = parent::save(); $searchindex = new Process(); return $result && $searchindex->updateUser($currentUsername, $this->username, $this->firstname . " " . $this->lastname); } elseif (array_key_exists('field', $_POST)) { $profileFieldsUser = new ProfileFieldsUsers([], $this); return $profileFieldsUser->update($_POST['field'], ''); } else { return parent::save(); } }