/** * Activate newly registered account * * @param TBGRequest $request */ public function runActivate(TBGRequest $request) { $this->getResponse()->setPage('login'); $row = TBGUsersTable::getTable()->getByUsername(str_replace('%2E', '.', $request->getParameter('user'))); if ($row) { if ($row->get(TBGUsersTable::PASSWORD) != $request->getParameter('key')) { TBGContext::setMessage('account_activate', true); TBGContext::setMessage('activate_failure', true); } else { $user = new TBGUser($row->get(TBGUsersTable::ID), $row); $user->setValidated(true); $user->save(); TBGContext::setMessage('account_activate', true); TBGContext::setMessage('activate_success', true); } } else { TBGContext::setMessage('account_activate', true); TBGContext::setMessage('activate_failure', true); } $this->forward(TBGContext::getRouting()->generate('login')); }
/** * Return (or create, assuming no external auth backend) a user based on * a provided openid identity * * @param string $identity * * @return TBGUser */ public static function getByOpenID($identity) { $user = null; if ($user_id = TBGOpenIdAccountsTable::getTable()->getUserIDfromIdentity($identity)) { $user = TBGContext::factory()->TBGUser($user_id); } elseif (!TBGSettings::isUsingExternalAuthenticationBackend() && TBGSettings::getOpenIDStatus() == 'all') { $user = new TBGUser(); $user->setPassword(TBGUser::createPassword()); $user->setUsername(TBGUser::createPassword() . TBGUser::createPassword()); $user->setOpenIdLocked(); $user->setActivated(); $user->setEnabled(); $user->setValidated(); $user->save(); } return $user; }
public function getOrCreateUserFromEmailString($email_string) { $email = $this->getEmailAdressFromSenderString($email_string); if (!($user = TBGUser::findUser($email))) { $name = $email; if (($q_pos = strpos($email_string, "<")) !== false) { $name = trim(substr($email_string, 0, $q_pos - 1)); } $user = new TBGUser(); try { $user->setBuddyname($name); $user->setEmail($email); $user->setUsername($email); $user->setValidated(); $user->setActivated(); $user->setEnabled(); $user->save(); } catch (Exception $e) { return null; } } return $user; }