public function createHash() { $hash = HashHelper::getToken(5); while ($this->model->where('hash', '=', $hash)->count() > 0) { $hash = HashHelper::getToken(5); } return $hash; }
public function extLogin($hasCode, $listener) { if (!$hasCode) { return $this->getAuth(); } $user = $this->getUser(); $userData = ['username' => $user->nickname, 'email' => $user->email, 'avatar' => $user->avatar, 'first_name' => $user->user['first_name'], 'last_name' => $user->user['last_name']]; if (!$user->nickname) { $search = explode(",", "ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,e,i,ø,u,č, "); $replace = explode(",", "c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u,c,-"); $name = $user->user['first_name'] . $user->user['last_name']; $userData['username'] = strtolower(trim(str_replace($search, $replace, $name))); } $userData['password'] = HashHelper::getToken(6); $dbUser = $this->userRepository->getOneWhere('email', $user->email); if ($dbUser) { $this->auth->login($dbUser, true); } else { $this->registerService->create($userData); } return $listener->loggedIn($user); }