#include "StdAfx.h"
#include "xeim_users.h"
#include "xiemUsers.h"
#include "xeim_config.h"
#include "xiemUsersDlg.h"
#include "INI.h"
// 飞鸽传书:http://www.freeeim.com
XEIM_Config::XEIM_Config()
{
// 数据库配置信息
m_szServer = "localhost";
m_szDatabase = "xeimDatabase"; // 数据库信息;
m_nType = MS_ACCESS; // 使用的数据库类型,这里默认 access;
m_szUserName = "xeim"; // 数据库访问名称;
m_szPassword = "xeim"; // 数据库访问密码;
szxUserTable = "xeim_user";// 用户信息表;
szxMessageTable = "xeim_message";// 消息信息表;
szxContactTable = "xeim_contact";// 联系人信息表;
/* 联系人字段 */
szxGroup = "GroupID";// 用户分组;
szxContact = "FieldID";// 用户的联系人;
// 数据字段对应表
szxID = "ID";//用来保存唯一的用户ID值;
szxLogin = "xlogin";//保存用户登录名;
szxName = "xname";//保存用户姓名;
szxPassword = "xpassword";//保存用户密码;
szxStatus = "xstatus";//保存用户当前状态;
szxClient = "xclient";//保存用户当前登录的软件版本号;
szxIP = "xip";//保存用户当前登录的IP地址;
/* 消息保存配置 */
szxMsgType = "MsgType";// 消息类型
szxMsgSend = "SendID";// 消息发送者
szxMsgRecv = "GetID";// 消息接收者
szxMsgData = "MsgData";// 消息数据
szxMsgDate = "SendTime";// 发送日期
szxMsgRead = "GetTime"; // 接收日期
ReadFieldInfo();
}
XEIM_Config::~XEIM_Config()
{
}
void XEIM_Config::ReadFieldInfo()
{
// 检查用户设置文件
CIniReader iniReader(GetConfigFilePath());
//
// 读取用户字段信息 Databases_User
if (iniReader.sectionExists(GROUP1))
{
// 数据字段对应表
szxID = iniReader.getKeyValue("id", GROUP1);
szxLogin = iniReader.getKeyValue("xlogin", GROUP1);
szxName = iniReader.getKeyValue("xname", GROUP1);
szxPassword = iniReader.getKeyValue("xpassword", GROUP1);
szxStatus = iniReader.getKeyValue("xstatus", GROUP1);
szxClient = iniReader.getKeyValue("xclient", GROUP1);
szxIP = iniReader.getKeyValue("xip", GROUP1);
}
else // 不存在则新建一个
{
// 数据字段对应表
iniReader.setKey(szxID.c_str(), "id", GROUP1);
iniReader.setKey(szxLogin.c_str(), "xlogin", GROUP1);
iniReader.setKey(szxName.c_str(), "xname", GROUP1);
iniReader.setKey(szxPassword.c_str(), "xpassword", GROUP1);
iniReader.setKey(szxStatus.c_str(), "xstatus", GROUP1);
iniReader.setKey(szxClient.c_str(), "xclient", GROUP1);
iniReader.setKey(szxIP.c_str(), "xip", GROUP1);
}
//
// 读取数据库配置信息 Databases_Config
if (iniReader.sectionExists(GROUP2))
{
// 数据字段对应表
// m_szTable = iniReader.getKeyValue("table", GROUP2);
szxUserTable = iniReader.getKeyValue("tab_user", GROUP2);
szxMessageTable = iniReader.getKeyValue("tab_message", GROUP2);
szxContactTable = iniReader.getKeyValue("tab_contact", GROUP2);
m_szServer = iniReader.getKeyValue("server", GROUP2);
m_szDatabase = iniReader.getKeyValue("database", GROUP2);
m_szUserName = iniReader.getKeyValue("id", GROUP2);
m_szPassword = iniReader.getKeyValue("password", GROUP2);
}
else // 不存在则新建一个
{
// 数据字段对应表
// iniReader.setKey(m_szTable.c_str(), "table", GROUP2);
iniReader.setKey(szxContactTable.c_str(), "tab_contact", GROUP2);
iniReader.setKey(szxMessageTable.c_str(), "tab_message", GROUP2);
iniReader.setKey(szxUserTable.c_str(), "tab_user", GROUP2);
iniReader.setKey(m_szServer.c_str(), "server", GROUP2);
iniReader.setKey(m_szDatabase.c_str(), "database", GROUP2);
iniReader.setKey(m_szUserName.c_str(), "id", GROUP2);
iniReader.setKey(m_szPassword.c_str(), "password", GROUP2);
}
//
// 配置信息
// if (iniReader.sectionExists("settings"))
// {
// szDirectory = iniReader.getKeyValue("directory", "settings");
// }
// else // 不存在则新建一个
// {
// iniReader.setKey(szDirectory.c_str(), "directory", "settings");
// }
}
CString XEIM_Config::GetConfigFilePath()
{
// 检查用户设置文件
char szFileName[_MAX_PATH];
CXiemUsersApp::GetProgramDirectory(szFileName);
CString strPath = szFileName;
strPath += CONFIG_FILE_NAME;
return strPath;
}
void XEIM_Config::SaveFieldInfo()
{
// 检查用户设置文件
CIniReader iniReader(GetConfigFilePath());
//
// 保存用户字段信息 Databases_User
// 数据字段对应表
iniReader.setKey(szxID.c_str(), "id", GROUP1);
iniReader.setKey(szxLogin.c_str(), "xlogin", GROUP1);
iniReader.setKey(szxName.c_str(), "xname", GROUP1);
iniReader.setKey(szxPassword.c_str(), "xpassword", GROUP1);
iniReader.setKey(szxStatus.c_str(), "xstatus", GROUP1);
iniReader.setKey(szxClient.c_str(), "xclient", GROUP1);
iniReader.setKey(szxIP.c_str(), "xip", GROUP1);
//
// 保存数据库配置信息 Databases_Config
// 数据字段对应表
iniReader.setKey(szxContactTable.c_str(), "tab_contact", GROUP2);
iniReader.setKey(szxMessageTable.c_str(), "tab_message", GROUP2);
iniReader.setKey(szxUserTable.c_str(), "tab_user", GROUP2);
iniReader.setKey(m_szServer.c_str(), "server", GROUP2);
iniReader.setKey(m_szDatabase.c_str(), "database", GROUP2);
iniReader.setKey(m_szUserName.c_str(), "id", GROUP2);
iniReader.setKey(m_szPassword.c_str(), "password", GROUP2);
}