Example #1
0
void CAdminDlg::OnAdd() 
{
	// TODO: Add your control notification handler code here
	CUserDlg dlg;
	dlg.m_Add = true;
	dlg.m_Super = curgroup;
	if (dlg.DoModal()==IDCANCEL) return;
	CChangePasDlg pas;
	pas.m_First = true;
	if(pas.DoModal()==IDCANCEL)
	{
		return;
	}
	_UInfo TempInfo;
	memset(&TempInfo, 0, sizeof(_UInfo));
	TempInfo.Active = true;
	TempInfo.Type = dlg.m_Super;
	if (TempInfo.Type == UT_ADMIN)
	{
		DWORD TempType = 0;
		if (dlg.m_Change) TempType = AT_CREATE;
		if (dlg.m_Tarif) TempType |= AT_TARIF;
		if (dlg.m_Com) TempType |= AT_SETUP;
		if (dlg.m_Holiday) TempType |= AT_HOLIDAY;
		if (dlg.m_Manage) 
		{
			TempType |= AT_MANAGE;
			DWORD TempMenage = 0;
			if (dlg.m_Unblock) TempMenage |= MT_UNBLOCK;
			if (dlg.m_Block) TempMenage |= MT_BLOCK;
			if (dlg.m_Reboot) TempMenage |= MT_REBOOT;
			if (dlg.m_Shutdown) TempMenage |= MT_SHUTDOWN;
			if (dlg.m_InetOn) TempMenage |= MT_INETON;
			if (dlg.m_InetOff) TempMenage |= MT_INETOFF;
			TempType |= TempMenage;
		};

		TempInfo.Admin = TempType;
	}
	strcpy(TempInfo.Creator, UInfo.Fio);
	strcpy(TempInfo.Fio, dlg.m_Fio);
	memcpy(&TempInfo.Hash, &pas.m_Hash, 16);
	CUserInfo *user = new CUserInfo(&TempInfo);
	Users[dlg.m_Id] = user;
	LoadUsers();

	m_Tree.Expand(groups[TempInfo.Type], TVE_EXPAND);

}
Example #2
0
// -----------------------------------------------------------------------------
// ログイン設定ボタン
// -----------------------------------------------------------------------------
void CMainFrame::OnSettingLogin()
{
	CUserDlg dlg;
	dlg.DoModal();
}
Example #3
0
void CAdminDlg::OnEdit() 
{
	// TODO: Add your control notification handler code here
	WORD Id;
	HTREEITEM Ti;
	CUserInfo *user = (CUserInfo *)Users[Id=m_Tree.GetItemData(Ti=m_Tree.GetSelectedItem())];
	if (Id == 0 && User != 0) 
	{
		MessageBox("Редактировать данные системного суперпользователя может только он сам!","Ошибка",MB_OK|MB_ICONERROR);
		return;
	}
	_UInfo TempInfo = user->Info;
	CUserDlg dlg;
	dlg.m_Add = false;
	dlg.m_Id = Id;
	dlg.m_Fio = TempInfo.Fio;
	dlg.m_Creator = TempInfo.Creator;
	dlg.m_Super = TempInfo.Type;
	if (TempInfo.Type == UT_ADMIN)
	{
		if (TempInfo.Admin & AT_CREATE)
			dlg.m_Change = true;
		if (TempInfo.Admin & AT_TARIF)
			dlg.m_Tarif = true;
		if (TempInfo.Admin & AT_SETUP)
			dlg.m_Com = true;
		if (TempInfo.Admin & AT_HOLIDAY)
			dlg.m_Holiday = true;
		if (TempInfo.Admin & AT_MANAGE)
		{
			dlg.m_Manage = true;
			if (TempInfo.Admin & MT_UNBLOCK)
				dlg.m_Unblock = true;
			if (TempInfo.Admin & MT_BLOCK)
				dlg.m_Block = true;
			if (TempInfo.Admin & MT_REBOOT)
				dlg.m_Reboot = true;
			if (TempInfo.Admin & MT_SHUTDOWN)
				dlg.m_Shutdown = true;
			if (TempInfo.Admin & MT_INETON)
				dlg.m_InetOn = true;
			if (TempInfo.Admin & MT_INETOFF)
				dlg.m_InetOff = true;
		}
	}
	if (dlg.DoModal()==IDCANCEL) return;

	strcpy(TempInfo.Fio, dlg.m_Fio);

	if (Id == 0 && dlg.m_Super != 0)
	{
		MessageBox("Вы пытались понизить свои права доступа!\nИзменения отклонены.","Ошибка",MB_OK|MB_ICONERROR);
	}
	else
		TempInfo.Type = dlg.m_Super;

	if (TempInfo.Type == UT_ADMIN)
	{
		DWORD TempType = 0;
		if (dlg.m_Change) TempType |= AT_CREATE;
		if (dlg.m_Tarif) TempType |= AT_TARIF;
		if (dlg.m_Com) TempType |= AT_SETUP;
		if (dlg.m_Holiday) TempType |= AT_HOLIDAY;
		if (dlg.m_Manage) 
		{
			TempType |= AT_MANAGE;
			DWORD TempMenage = 0;
			if (dlg.m_Unblock) TempMenage |= MT_UNBLOCK;
			if (dlg.m_Block) TempMenage |= MT_BLOCK;
			if (dlg.m_Reboot) TempMenage |= MT_REBOOT;
			if (dlg.m_Shutdown) TempMenage |= MT_SHUTDOWN;
			if (dlg.m_InetOn) TempMenage |= MT_INETON;
			if (dlg.m_InetOff) TempMenage |= MT_INETOFF;
			TempType |= TempMenage;
		};
		TempInfo.Admin = TempType;
	}

	user->Info = TempInfo;
	
	int gr = curgroup;

	LoadUsers();

	m_Tree.Expand(groups[gr], TVE_EXPAND);



}