Exemplo n.º 1
0
 function activateAction()
 {
     $this->view->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     $session = SessionWrapper::getInstance();
     $formvalues = $this->_getAllParams();
     if (!isArrayKeyAnEmptyString('id', $formvalues)) {
         // debugMessage($formvalues);
         $user = new UserAccount();
         $user->populate(decode($formvalues['id']));
         // debugMessage($user->toArray()); // exit;
         if ($user->isUserActive() && isEmptyString($user->getActivationKey())) {
             // account already activated
             $session->setVar(ERROR_MESSAGE, 'Account is already activated. Please login.');
             $this->_helper->redirector->gotoUrl($this->view->baseUrl("user/login"));
         }
         $this->_setParam(URL_FAILURE, encode($this->view->baseUrl("signup/confirm/id/" . encode($user->getID()))));
         $key = $this->_getParam('actkey');
         $this->view->result = $user->activateAccount($key);
         // exit();
         if (!$this->view->result) {
             // activation failed
             $this->view->message = $user->getErrorStackAsString();
             $session->setVar(FORM_VALUES, $this->_getAllParams());
             $session->setVar(ERROR_MESSAGE, $user->getErrorStackAsString());
             // debugMessage('error '.$user->getErrorStackAsString());
         } else {
             # send activation confirmation
             $user->sendActivationConfirmationNotification();
             $session->setVar(SUCCESS_MESSAGE, "Account activated successfully. Please login to start.");
         }
     }
     $this->_helper->redirector->gotoUrl($this->view->baseUrl("user/login"));
     // exit;
 }