public static function isOnline() { $auth = new Qualityunit_Liveagent_Helper_Auth(); try { $auth->ping(); Mage::log('Account is online!', Zend_Log::INFO); return true; } catch (Qualityunit_Liveagent_Exception_ConnectProblem $e) { Mage::log('Account not online', Zend_Log::INFO); return false; } }
private function doPostAction() { $post = $this->getRequest()->getPost(); if (!array_key_exists('action', $post)) { $this->doAfterPost(); return; } if ($post['action'] == "r") { try { $this->validateSignupMail($post[Qualityunit_Liveagent_Helper_Settings::LA_OWNER_EMAIL_SETTING_NAME]); $this->registerAccountAction($post[Qualityunit_Liveagent_Block_Signup::FULL_NAME_FIELD], $post[Qualityunit_Liveagent_Helper_Settings::LA_OWNER_EMAIL_SETTING_NAME], $post[Qualityunit_Liveagent_Helper_Settings::LA_URL_SETTING_NAME], substr(md5(microtime()), 0, 8), ''); } catch (Qualityunit_Liveagent_Exception_SignupFailed $e) { $this->signupFailed($e); return; } $this->doAfterPost(); return; } if ($post['action'] == Qualityunit_Liveagent_Block_Account::SAVE_ACCOUNT_SETTINGS_ACTION_FLAG) { if (!$this->checkAccountSettings($post)) { $this->doAfterPost($this->getAccountSettingsPost($post)); return; } $auth = new Qualityunit_Liveagent_Helper_Auth(); try { $auth->ping($post[Qualityunit_Liveagent_Helper_Settings::LA_URL_SETTING_NAME]); } catch (Qualityunit_Liveagent_Exception_ConnectProblem $e) { Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Unable to connect to LiveAgent at') . ' ' . $post[Qualityunit_Liveagent_Helper_Settings::LA_URL_SETTING_NAME] . '. ' . $this->getAccountSettingsChangeRevertLink()); $this->doAfterPost($this->getAccountSettingsPost($post)); return; } try { $auth->LoginAndGetLoginData($post[Qualityunit_Liveagent_Helper_Settings::LA_URL_SETTING_NAME], $post[Qualityunit_Liveagent_Helper_Settings::LA_OWNER_EMAIL_SETTING_NAME], $post[Qualityunit_Liveagent_Helper_Settings::LA_OWNER_PASSWORD_SETTING_NAME]); } catch (Qualityunit_Liveagent_Exception_ConnectProblem $e) { Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Unable to login to LiveAgent with given credentails. Please check your username and password.') . ' ' . $this->getAccountSettingsChangeRevertLink()); $this->doAfterPost($this->getAccountSettingsPost($post)); return; } $this->saveAccountSettings($post); if (!$this->isSetStatus()) { $this->settings->setOption(Qualityunit_Liveagent_Helper_Settings::ACCOUNT_STATUS, Qualityunit_Liveagent_Helper_Base::ACCOUNT_STATUS_SET); } Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Account settings were saved successfully')); } if ($post['action'] == Qualityunit_Liveagent_Block_Buttoncode::SAVE_BUTTON_CODE_ACTION_FLAG) { $this->settings->setOption(Qualityunit_Liveagent_Helper_Settings::BUTTON_CODE, html_entity_decode($post[Qualityunit_Liveagent_Helper_Settings::BUTTON_CODE])); Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Button code was saved successfully')); } $this->doAfterPost(); }
public function login() { $auth = new Qualityunit_Liveagent_Helper_Auth(); $loginData = $auth->LoginAndGetLoginData(); try { $sessionId = $loginData->getValue('session'); $this->setOption(Qualityunit_Liveagent_Helper_Settings::OWNER_SESSIONID, $sessionId); } catch (La_Data_RecordSetNoRowException $e) { throw new Qualityunit_Liveagent_Exception_ConnectProblem(); } try { $token = $loginData->getValue('authtoken'); $sessionId = $token; $this->setOption(Qualityunit_Liveagent_Helper_Settings::OWNER_AUTHTOKEN, $token); } catch (La_Data_RecordSetNoRowException $e) { // we are communicating with older LA that does not send auth token $this->setOption(Qualityunit_Liveagent_Helper_Settings::OWNER_AUTHTOKEN, ''); } return $sessionId; }