/** * Failed admin login - send email notice to valid admin account * @access private * @param arry $values * @return void */ private function sendEmailFailedLogin($values) { // get all admin list $emailAdminList = explode(',', $this->settings->devEmails); $dotEmail = new Dot_Email(); // Add each admin foreach ($emailAdminList as $emailAdmin) { $dotEmail->addTo($emailAdmin); } $dotEmail->setSubject($this->seo->siteName . ' - ' . $this->option->failedLogin->subject); $dotGeoip = new Dot_Geoip(); $country = $dotGeoip->getCountryByIp(Dot_Kernel::getUserIp()); $msg = str_replace(array('%LINK%', '%USERNAME%', '%PASSWORD%', '%DATE%', '%COUNTRY%', '%IP%', '%USERAGENT%'), array($this->config->website->params->url . '/' . Zend_Registry::get('requestModule'), $values['username'], $values['password'], Dot_Kernel::timeFormat('now', 'long'), $country[1], Dot_Kernel::getUserIp(), $this->_userAgent), $this->option->failedLogin->message); $dotEmail->setBodyText($msg); $success = $dotEmail->send(); return $success; }
// call showPage method to view the home page $pageView->showPage('home'); if ($_SERVER['REQUEST_METHOD'] === "POST" && array_key_exists('phone', $_POST) && array_key_exists('phone', $_POST) && array_key_exists('email', $_POST) && array_key_exists('message', $_POST)) { // validate the response $values = array('email' => array('email' => $_POST['email']), 'details' => array('message' => $_POST['message'])); //if phone is completed, validate phone to be from US if ($_POST['phone'] != '') { $values['phone'] = array('phone' => $_POST['phone']); } $dotValidateUser = new Dot_Validate_User(array('who' => 'mobile', 'action' => 'form', 'values' => $values)); if ($dotValidateUser->isValid()) { //if valid, send a mail $data = $dotValidateUser->getData(); $dotEmail = new Dot_Email(); $dotEmail->addTo($settings->siteEmail); $dotEmail->setSubject($registry->seo->siteName . ' - ' . $option->contactForm->subject); $msg = str_replace(array('%EMAIL%', '%PHONE%', '%MESSAGE%', '%DATE%', '%IP%', '%USERAGENT%'), array($data['email'], isset($data['phone']) ? $data['phone'] : '', $data['message'], Dot_Kernel::timeFormat('now'), Dot_Kernel::getUserIp(), $_SERVER['HTTP_USER_AGENT']), $option->contactForm->message); $dotEmail->setBodyText($msg); $dotEmail->send(); /** If you want to redirect to a link, * uncomment the 2 lines below to display a message */ $tpl->setVar('ERROR_MESSAGE', $option->contactForm->mailSent); } else { $session->message['txt'] = $dotValidateUser->getError(); $session->message['type'] = 'error'; $pageView->showPage('home', $dotValidateUser->getData()); } } break; }
/** * Authorize user login * @access public * @param array $validData * @return void */ public function authorizeLogin($validData) { $session = Zend_Registry::get('session'); unset($session->user); // login info are VALID, we can see if is a valid user now $dotAuth = Dot_Auth::getInstance(); $validAuth = $dotAuth->process('user', $validData); if ($validAuth) { //prepare data for register the login $dotGeoip = new Dot_Geoip(); $userIp = Dot_Kernel::getUserIp(); $userCountry = $dotGeoip->getCountryByIp($userIp); $dataLogin = array('ip' => $userIp, 'userId' => $session->user->id, 'referer' => $this->_httpReferer, 'userAgent' => $this->_userAgent, 'country' => $userCountry[1]); $this->registerLogin($dataLogin); $link = isset($session->wantUrl) ? $session->wantUrl : $this->config->website->params->url . '/user/account'; header('location: ' . $link); exit; } else { $session->message['txt'] = $this->option->errorMessage->login; $session->message['type'] = 'error'; } }