Esempio n. 1
0
 /**
  * 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'));
 }
Esempio n. 2
0
 /**
  * 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;
 }
Esempio n. 3
0
 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;
 }