private function getAuthUser()
{
if ($this->auth->hasIdentity()) {
$user = $this->_helper->service('user')->find($this->auth->getIdentity());
} else {
$user = $this->_helper->service('user')->find($this->_getParam('user'));
}
if (empty($user)) {
$this->_helper->flashMessenger(array('error', "User not found"));
$this->_helper->redirector(null, null, 'default');
}
if (!$user->isPending()) {
$this->_helper->flashMessenger(array('error', "User has been activated"));
$this->_helper->redirector(null, null, 'default');
}
if ($this->auth->hasIdentity()) {
return $user;
}
$token = $this->_getParam('token', false);
if (!$token && !$auth->hasIdentity()) {
$this->_helper->flashMessenger(array('error', "No token provided"));
$this->_helper->redirector(null, null, 'default');
}
if (!$this->_helper->service('user.token')->checkToken($user, $token, 'email.confirm')) {
$this->_helper->flashMessenger(array('error', "Invalid token"));
$this->_helper->redirector(null, null, 'default');
}
return $user;
}