/** * openidAction * * Blah */ public function openidAction() { $auth = Zend_Auth::getInstance(); // Get url helper $urlHelper = $this->_helper->getHelper('url'); // if user is already logged in redirect away from here if ($auth->hasIdentity()) { $target = $urlHelper->url(array('controller' => 'index', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true); $this->_redirect($target); } // end if // if openid provider returns data //$status = ""; if (isset($_POST['openid_action']) && !empty($_POST['openid_identifier'])) { $consumer = new Zend_OpenId_Consumer(); if (!$consumer->login($_POST['openid_identifier'])) { //$status = "LOGIN FAILED"; $this->view->errormsg = $this->view->translate('account-openid-login-not-successful'); } } else { if (isset($_GET['openid_mode'])) { if ($_GET['openid_mode'] == "id_res") { $consumer = new Zend_OpenId_Consumer(); if ($consumer->verify($_GET, $id)) { $formOptions = htmlspecialchars($id); $userProfiles = new Default_Model_UserProfiles(); $openIdResults = $userProfiles->searchUserOpenid($formOptions); // if attached openid is found if ($openIdResults) { $userid = $openIdResults['id_usr_usp']; //$status = "VALID " . $formOptions . " / " . $userid; $user = new Default_Model_User($userid); $user->loginSuccess(); $identity = $user->createAuthIdentity(); $auth->getStorage()->write($identity); $target = $urlHelper->url(array('controller' => 'index', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true); $this->_redirect($target); } else { //$status = "INVALID, NO ATTACHED OPENID FOUND FOR " . $formOptions; $this->view->errormsg = $this->view->translate('account-openid-login-not-successful'); } } else { //$status = "INVALID " . htmlspecialchars($id); $this->view->errormsg = $this->view->translate('account-openid-login-not-successful'); } } else { if ($_GET['openid_mode'] == "cancel") { //$status = "CANCELLED"; $this->view->errormsg = $this->view->translate('account-openid-login-not-successful'); } } } } //echo $status; $form = new Default_Form_OpenIDLoginForm(); $this->view->form = $form; }