public function authenticate() { $session = new Zend_Session_Namespace("LeadsChat_Owner_Auth"); $username = $this->_request->getPost("username"); $password = $this->_request->getPost("password"); $rememberMe = $this->_request->getPost("remember_me"); try { $this->_auth->setTableName("owners")->setIdentity($username)->setCredential($password)->setCredentialTreatment("MD5(?) AND activated = 'Y' AND approved = 'Y'"); $authResult = $this->_auth->authenticate(); if ($authResult->isValid()) { $owner = $this->_auth->getResultRowObject(null, "password"); $owner = Converter::object_to_array($owner); $session->owner_id = $owner["owner_id"]; $session->owner = $owner; $dataToLog["owner_name"] = $owner["first_name"] . " " . $owner["last_name"]; $dataToLog["owner_id"] = $owner["owner_id"]; Mongo_Logger::logEvent($dataToLog, Mongo_Logs_LogFactory::LoginOwner, Mongo_Interface::LOGS); if ($rememberMe) { $cookie = new Zend_Http_Cookie("userid", $sessionAgent->owner_id, $_SERVER["SERVER_NAME"]); } return true; } else { return false; } } catch (Exception $e) { return false; } }
public function authenticate() { $db = $this->db; $session = new Zend_Session_Namespace("LeadsChat_Auth"); $username = $this->_request->getPost("username"); $password = $this->_request->getPost("password"); //authenticate using Zend Auth try { $this->_auth->setTableName("agents"); $this->_auth->setCredentialTreatment("MD5(?) AND active = 'Y'"); $authResult = $this->_auth->setCredential($password)->setIdentity($username)->authenticate(); $agent = $this->_auth->getResultRowObject(null, "password"); $agent = Converter::object_to_array($agent); if ($agent) { $session->agent_id = $agent["agent_id"]; $session->agent = $agent; //look for available agent availability $available_agent = $db->fetchRow($db->select()->from("available_agents", array("available_agent_id"))->where("agent_id = ?", $session->agent_id)); if ($available_agent) { $db->update("available_agents", array("available" => "Y", "currently_served" => 0, "updated" => date("Y-m-d h:i:s"))); } else { $db->insert("available_agents", array("available" => "Y", "currently_served" => 0, "updated" => date("Y-m-d h:i:s"), "agent_id" => $agent["agent_id"])); } return true; } else { return false; } } catch (Exception $e) { return false; } }