Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
153 lines
3.7 KiB
C++
153 lines
3.7 KiB
C++
// AdminRegEditDlg.cpp : 구현 파일입니다.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "ManageSetup.h"
|
|
|
|
#include "UserRegEditDlg.h"
|
|
#include "ServerToolUserManagementDlg.h"
|
|
|
|
#include <UserManage/ToolUserManageTable.h>
|
|
#include ".\userregeditdlg.h"
|
|
|
|
|
|
// AdminRegEditDlg 대화 상자입니다.
|
|
|
|
enum UserRegEditConst
|
|
{
|
|
REGISTER,
|
|
EDIT
|
|
};
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CUserRegEditDlg, CDialog)
|
|
|
|
CUserRegEditDlg::CUserRegEditDlg(ServerManage::UserInfo* lpUserInfo,
|
|
CWnd* pParent /*=NULL*/)
|
|
: CDialog(CUserRegEditDlg::IDD, pParent)
|
|
, m_szTitleName( _T("") )
|
|
, m_szGroupName( _T("") )
|
|
, m_strTempUserID(_T(""))
|
|
, m_strUserName(_T(""))
|
|
, m_strUserPass(_T(""))
|
|
, m_strUserIP(_T(""))
|
|
, m_usUserLevel(CToolUserManager::MONITORING)
|
|
, m_usMode(REGISTER)
|
|
{
|
|
if(0 != lpUserInfo)
|
|
{
|
|
in_addr addr;
|
|
addr.S_un.S_addr = lpUserInfo->dwIP;
|
|
|
|
m_strTempUserID.SetString(lpUserInfo->szID);
|
|
m_strUserName.SetString(lpUserInfo->szFullName);
|
|
m_strUserPass.SetString(lpUserInfo->szPassword);
|
|
m_strUserIP.SetString(inet_ntoa(addr));
|
|
|
|
m_usUserLevel = lpUserInfo->usAdminLevel;
|
|
m_usMode = EDIT;
|
|
}
|
|
}
|
|
|
|
CUserRegEditDlg::~CUserRegEditDlg()
|
|
{
|
|
}
|
|
|
|
void CUserRegEditDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
|
|
DDX_Text(pDX, IDC_GROUPNAME_EDIT, m_szGroupName);
|
|
DDX_Text(pDX, IDC_USERNAME, m_strUserName);
|
|
DDX_Text(pDX, IDC_USERPASS, m_strUserPass);
|
|
DDX_Text(pDX, IDC_USERIP, m_strUserIP);
|
|
|
|
DDX_Control(pDX, IDC_USERLV, m_ctrlUserLV);
|
|
DDX_Control(pDX, IDC_USERID, m_strUserID);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CUserRegEditDlg, CDialog)
|
|
ON_BN_CLICKED(IDC_REGEDITOK_BTN, OnBnClickedRegeditokBtn)
|
|
ON_BN_CLICKED(IDC_CANCEL, OnBnClickedCancel)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// AdminRegEditDlg 메시지 처리기입니다.
|
|
|
|
BOOL CUserRegEditDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_ctrlUserLV.InsertString( CToolUserManager::MASTER, _T("MASTER") );
|
|
m_ctrlUserLV.InsertString( CToolUserManager::GENERAL, _T("GENERAL") );
|
|
m_ctrlUserLV.InsertString( CToolUserManager::MONITORING, _T("MONITORING") );
|
|
|
|
m_ctrlUserLV.SetCurSel(m_usUserLevel);
|
|
|
|
if(m_strTempUserID.IsEmpty())
|
|
{
|
|
SetWindowText( _T("Admin Registaration") );
|
|
m_szGroupName = _T("New Admin Info");
|
|
}
|
|
else
|
|
{
|
|
m_strUserID.SetWindowText(m_strTempUserID);
|
|
m_strUserID.SetReadOnly();
|
|
|
|
SetWindowText( _T("Admin Edit") );
|
|
m_szGroupName = _T("Edit Admin Info");
|
|
}
|
|
|
|
UpdateData( false );
|
|
return true;
|
|
}
|
|
|
|
void CUserRegEditDlg::OnBnClickedRegeditokBtn()
|
|
{
|
|
UpdateData( true );
|
|
|
|
ServerManage::UserInfo stNewUserInfo;
|
|
|
|
m_strUserID.GetWindowText(m_strTempUserID);
|
|
|
|
// 수정 또는 등록 할 운영자 정보 수집
|
|
_snprintf(stNewUserInfo.szID,
|
|
ServerManage::UserInfo::ID_LEN - 1, "%s", m_strTempUserID); // 운영자 ID
|
|
stNewUserInfo.szID[ServerManage::UserInfo::ID_LEN - 1] = 0;
|
|
|
|
_snprintf(stNewUserInfo.szFullName,
|
|
ServerManage::UserInfo::NAME_LEN - 1, "%s", m_strUserName ); // 운영자 이름
|
|
stNewUserInfo.szFullName[ServerManage::UserInfo::NAME_LEN - 1] = 0;
|
|
|
|
stNewUserInfo.dwIP = inet_addr(m_strUserIP); // 운영자 IP
|
|
stNewUserInfo.usAdminLevel = m_ctrlUserLV.GetCurSel(); // 운영자 레벨
|
|
|
|
_snprintf(stNewUserInfo.szPassword,
|
|
ServerManage::UserInfo::PASS_LEN - 1, "%s", m_strUserPass ); // 운영자 패스워드
|
|
stNewUserInfo.szPassword[ServerManage::UserInfo::PASS_LEN - 1] = 0;
|
|
|
|
if( m_usMode == REGISTER)
|
|
{
|
|
if(!CToolUserManager::GetInstance().AddUser(stNewUserInfo))
|
|
{
|
|
AfxMessageBox("Add user error!");
|
|
}
|
|
}
|
|
else if( m_usMode == EDIT )
|
|
{
|
|
if(!CToolUserManager::GetInstance().ModifyUser(stNewUserInfo))
|
|
{
|
|
AfxMessageBox("Modify user error!");
|
|
}
|
|
}
|
|
|
|
OnOK();
|
|
}
|
|
|
|
void CUserRegEditDlg::OnBnClickedCancel()
|
|
{
|
|
OnCancel();
|
|
}
|
|
|