public function save_email_settings($form) { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $loginuserGroup = $auth->getStorage()->read()->group_id; $loginuserName = $auth->getStorage()->read()->userfullname; } $msgarray = array(); $errorflag = 'true'; if (extension_loaded('openssl')) { $errorflag = 'true'; } else { $msgarray['tls'] = 'Openssl is not configured'; $errorflag = 'false'; } if ($form->isValid($this->_request->getPost()) && $errorflag == 'true') { $id = $this->_request->getParam('id'); $username = $this->_request->getParam('username'); $password = $this->_request->getParam('password'); $server_name = $this->_request->getParam('server_name'); $tls = $this->_request->getParam('tls'); $auth = $this->_request->getParam('auth'); $port = $this->_request->getParam('port'); $usersModel = new Default_Model_Users(); $options = array(); if ($auth == 1) { $auth = 'crammd5'; } else { if ($auth == 2) { $auth = 'login'; } else { if ($auth == 3) { $auth = 'plain'; } else { $auth = 'crammd5'; } } } $options['username'] = $username; $options['password'] = $password; $options['server_name'] = $server_name; $options['tls'] = $tls; $options['auth'] = $auth; $options['port'] = $port; $options['subject'] = 'Test Mail Checking'; $options['header'] = 'Test Mail'; $options['fromEmail'] = DONOTREPLYEMAIL; $options['fromName'] = DONOTREPLYNAME; $options['toEmail'] = SUPERADMIN_EMAIL; $options['toName'] = $loginuserName; $options['message'] = '<div> <div>Hi ' . ucfirst($loginuserName) . ',</div><br/> <div>This is a test email to check the new mail settings provided for ' . APPLICATION_NAME . '.</div></div>'; $result = sapp_Mail::_checkMail($options); if ($result == 'success') { $data = array('username' => $username, 'password' => $password, 'server_name' => $server_name, 'auth' => $auth, 'tls' => $tls, 'port' => $port, 'modifieddate' => gmdate("Y-m-d H:i:s")); if ($id != '') { $where = array('id=?' => $id); } else { $data['createddate'] = gmdate("Y-m-d H:i:s"); $where = ''; } $Id = $usersModel->addOrUpdateSettingsData($data, $where); sapp_Global::writeEMailSettingsconstants($tls, $auth, $port, $username, $password, $server_name); if ($Id == 'update') { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Mail Settings updated successfully.")); } else { $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Mail Settings added successfully.")); } } else { $this->_helper->getHelper("FlashMessenger")->addMessage(array("error" => "Invalid parameters.")); } $this->_redirect('dashboard/emailsettings'); } else { $messages = $form->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } return $msgarray; } }