Restructure repository to include all source folders
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>
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
// ServerToolUserManagementDlg.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ManageSetup.h"
|
||||
#include "ServerToolUserManagementDlg.h"
|
||||
|
||||
#include "UserRegEditDlg.h"
|
||||
|
||||
#include <UserManage/ToolUserManageTable.h>
|
||||
|
||||
|
||||
const TCHAR* GetLVString( int nLVIndex )
|
||||
{
|
||||
switch( nLVIndex )
|
||||
{
|
||||
case CToolUserManager::MASTER: return _T("MASTER");
|
||||
case CToolUserManager::GENERAL: return _T("GENERAL");
|
||||
case CToolUserManager::MONITORING: return _T("MONITORING");
|
||||
|
||||
}
|
||||
|
||||
return _T("UNKNOWN");
|
||||
}
|
||||
|
||||
|
||||
|
||||
// CServerToolUserManagementDlg <20><>ȭ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
CServerToolUserManagementDlg::CServerToolUserManagementDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CServerToolUserManagementDlg::IDD, pParent)
|
||||
{
|
||||
}
|
||||
|
||||
void CServerToolUserManagementDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
|
||||
DDX_Control(pDX, IDC_USERINFO_LIST, m_ctrlUserInfoList);
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CServerToolUserManagementDlg, CDialog)
|
||||
ON_WM_SYSCOMMAND()
|
||||
ON_WM_PAINT()
|
||||
ON_WM_QUERYDRAGICON()
|
||||
//}}AFX_MSG_MAP
|
||||
|
||||
ON_BN_CLICKED(IDC_USER_REG, OnBnClickedUserReg)
|
||||
ON_BN_CLICKED(IDC_USER_EDIT, OnBnClickedUserEdit)
|
||||
ON_BN_CLICKED(IDC_USER_DEL, OnBnClickedUserDel)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CServerToolUserManagementDlg <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD>
|
||||
|
||||
BOOL CServerToolUserManagementDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
m_ctrlUserInfoList.SetExtendedStyle ( LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB );
|
||||
//m_ctrlUserInfoList.SetBkColor ( COLORREF RGB( 255, 190, 125) );
|
||||
//m_ctrlUserInfoList.SetTextBkColor ( COLORREF RGB( 255, 190, 125) );
|
||||
|
||||
m_ctrlUserInfoList.InsertColumn ( 0, _T("ID"), LVCFMT_LEFT, 100 );
|
||||
m_ctrlUserInfoList.InsertColumn ( 1, _T("NAME"), LVCFMT_LEFT, 80 );
|
||||
m_ctrlUserInfoList.InsertColumn ( 2, _T("IP"), LVCFMT_LEFT, 110 );
|
||||
m_ctrlUserInfoList.InsertColumn ( 3, _T("ADMIN LV"), LVCFMT_LEFT, 100 );
|
||||
|
||||
UserListSet(); // <09><EFBFBD><EEBFB5> <20><><EFBFBD><EFBFBD> DB<44><42> <20>о <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> ǥ<><C7A5>
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
struct SORT_BY_ID
|
||||
{
|
||||
bool operator () (const ServerManage::UserInfo& lhs, const ServerManage::UserInfo& rhs)
|
||||
{
|
||||
return std::lexicographical_compare(lhs.szID, lhs.szID + strlen(lhs.szID),
|
||||
rhs.szID, rhs.szID + strlen(rhs.szID));
|
||||
}
|
||||
};
|
||||
|
||||
bool CServerToolUserManagementDlg::UserListSet()
|
||||
{
|
||||
// <09><><EFBFBD><EFBFBD>Ʈ <20><>Ʈ<EFBFBD><C6AE> Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
m_ctrlUserInfoList.DeleteAllItems();
|
||||
|
||||
CToolUserManager::UserList userList;
|
||||
|
||||
// DB<44><42> <20>о <20><><EFBFBD><EFBFBD>Ʈ <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
CToolUserManager::GetInstance().GetUserInfo(userList);
|
||||
|
||||
userList.sort(SORT_BY_ID());
|
||||
|
||||
CToolUserManager::UserList::iterator pos = userList.begin();
|
||||
CToolUserManager::UserList::iterator end = userList.end();
|
||||
|
||||
in_addr userIP;
|
||||
|
||||
int nCount = 0;
|
||||
|
||||
for(;pos != end; ++pos, ++nCount)
|
||||
{
|
||||
ServerManage::UserInfo& userInfo = *pos;
|
||||
|
||||
m_ctrlUserInfoList.InsertItem(nCount, userInfo.szID );
|
||||
m_ctrlUserInfoList.SetItemText(nCount, 1, userInfo.szFullName );
|
||||
|
||||
userIP.S_un.S_addr = userInfo.dwIP;
|
||||
m_ctrlUserInfoList.SetItemText(nCount, 2, inet_ntoa(userIP));
|
||||
m_ctrlUserInfoList.SetItemText(nCount, 3, GetLVString(userInfo.usAdminLevel));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CServerToolUserManagementDlg::OnBnClickedUserReg()
|
||||
{
|
||||
CUserRegEditDlg RegDlg(0);
|
||||
RegDlg.DoModal();
|
||||
|
||||
UserListSet();
|
||||
}
|
||||
|
||||
void CServerToolUserManagementDlg::OnBnClickedUserEdit()
|
||||
{
|
||||
int nSelectedIndex = m_ctrlUserInfoList.GetNextItem(-1, LVIS_SELECTED);
|
||||
|
||||
if(-1 != nSelectedIndex)
|
||||
{
|
||||
char szID[ServerManage::UserInfo::ID_LEN];
|
||||
m_ctrlUserInfoList.GetItemText(nSelectedIndex, 0, szID, ServerManage::UserInfo::ID_LEN);
|
||||
|
||||
ServerManage::UserInfo userInfo;
|
||||
if(CToolUserManager::GetInstance().GetUserInfo(szID, userInfo))
|
||||
{
|
||||
CUserRegEditDlg EditDlg(&userInfo);
|
||||
|
||||
EditDlg.DoModal();
|
||||
UserListSet();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CServerToolUserManagementDlg::OnBnClickedUserDel()
|
||||
{
|
||||
int nSelectedIndex = m_ctrlUserInfoList.GetNextItem( -1, LVIS_SELECTED );
|
||||
|
||||
if( -1 != nSelectedIndex )
|
||||
{
|
||||
// <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD> ID<49><44> ä<><C3A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ServerManage::UserInfo stDelUserInfo;
|
||||
|
||||
m_ctrlUserInfoList.GetItemText(nSelectedIndex, 0,
|
||||
stDelUserInfo.szID, ServerManage::UserInfo::ID_LEN);
|
||||
|
||||
CToolUserManager::GetInstance().DelUser(stDelUserInfo.szID);
|
||||
UserListSet();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user