/** Register for an account
  * @access public
  * @return void
  */
 public function registerAction()
 {
     if ($this->_auth->hasIdentity()) {
         $this->getFlash()->addMessage('You are already logged in and registered.');
         $this->_redirect('/users/account');
     } else {
         $salt = $this->_helper->config()->auth->salt;
         $form = new RegisterForm();
         $this->view->form = $form;
         if ($this->getRequest()->isPost() && $form->isValid($this->_request->getPost())) {
             $to = array(array('email' => $form->getValue('email'), 'name' => $form->getValue('first_name') . ' ' . $form->getValue('last_name')));
             $emailData = array('email' => $form->getValue('email'), 'name' => $form->getValue('first_name') . ' ' . $form->getValue('last_name'), 'activationKey' => md5($form->getValue('username') . $form->getValue('first_name')));
             $this->_users->register($form->getValues());
             $this->_helper->mailer($emailData, 'activateAccount', $to);
             $this->getFlash()->addMessage('Your account has been created. Please check your email.');
             $this->redirect('/users/account/activate/');
             $form->populate($form->getValues());
             $this->getFlash()->addMessage('There are a few problems with your registration<br/>
     Please review and correct them.');
         }
     }
 }