www.pudn.com > mailserver-muiter.zip > D_Alias.cpp


// D_Alias.cpp: Implementierungsdatei 
// 
 
#include "stdafx.h" 
#include "InetServer.h" 
#include "D_Alias.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// Dialogfeld D_Alias  
 
 
D_Alias::D_Alias(CWnd* pParent /*=NULL*/) 
	: CDialog(D_Alias::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(D_Alias) 
	m_forward1 = _T(""); 
	m_forward2 = _T(""); 
	//}}AFX_DATA_INIT 
} 
 
 
void D_Alias::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(D_Alias) 
	DDX_Control(pDX, IDC_COMBO1, mc_forward2); 
	DDX_Control(pDX, IDC_LIST, mc_list); 
	DDX_Text(pDX, IDC_EDITFOWARD1, m_forward1); 
	DDX_CBString(pDX, IDC_COMBO1, m_forward2); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(D_Alias, CDialog) 
	//{{AFX_MSG_MAP(D_Alias) 
	ON_BN_CLICKED(IDOK, OnOk) 
	ON_BN_CLICKED(IDC_ADDFORWARD, OnAddforward) 
	ON_BN_CLICKED(IDC_CHNGFORWARD, OnChngforward) 
	ON_BN_CLICKED(IDC_DELFORWARD, OnDelforward) 
	ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList) 
	ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST, OnItemchangedList) 
	ON_NOTIFY(LVN_ITEMCHANGING, IDC_LIST, OnItemchangingList) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// Behandlungsroutinen für Nachrichten D_Alias  
 
void D_Alias::OnOk()  
{ 
 
	FILE *stream; 
 
 
 
 
 
   if( (stream  = fopen("forward.ctl", "wt" )) != NULL ) 
   { 
	   CString forward1; 
	   CString forward2; 
 
for (int i = 0;i<=mc_list.GetItemCount()-1;i++) 
{ 
forward1= mc_list.GetItemText( i, 0 ); 
forward2= mc_list.GetItemText( i, 1); 
 
fprintf(stream,"%s %s\r\n",forward1,forward2); 
} 
 
fclose(stream); 
} 
else 
{ 
MessageBox("Could not save forward.ctl!"); 
 
} 
 
 
 
	CDialog::OnOK(); 
 
	 
} 
 
void D_Alias::OnAddforward()  
{ 
char tempstr[255]; 
 
 
		LV_ITEM			lvitem; 
		int iActualItem,iIcon; 
		iIcon = 0; 
 
		UpdateData(TRUE); 
 
		if (m_forward1 == "") 
		{ 
			MessageBox("You must enter a from-address!\nFor example:webmaster"); 
			return; 
 
		} 
		if (m_forward2 == "") 
		{ 
			MessageBox("You must enter a to-address!\nFor example:bob"); 
			return; 
 
		} 
			lvitem.mask = LVIF_TEXT | LVIF_IMAGE; 
			lvitem.iItem = 0; 
			lvitem.iSubItem = 0; 
			lvitem.iImage = iIcon; 
			sprintf(tempstr,"%s",m_forward1); 
			lvitem.pszText = tempstr; 
			iActualItem = mc_list.InsertItem(&lvitem); 
			lvitem.mask = LVIF_TEXT; 
			lvitem.iItem = iActualItem; 
			 
			lvitem.iSubItem = 1; 
			sprintf(tempstr,"%s",m_forward2); 
			lvitem.pszText = tempstr; 
			mc_list.SetItem(&lvitem); 
 
	UpdateData(FALSE); 
 
 
	 
} 
 
void D_Alias::OnChngforward()  
{ 
char tempstr[255]; 
 
 
		LV_ITEM			lvitem; 
		int iIcon; 
		iIcon = 0; 
 
		UpdateData(TRUE); 
 
		if (m_forward1 == "") 
		{ 
			MessageBox("You must enter a from-address!\nFor example:webmaster"); 
			return; 
 
		} 
		if (m_forward2 == "") 
		{ 
			MessageBox("You must enter a to-address!\nFor example:bob"); 
			return; 
 
		} 
 
		char tempstr2[255]; 
		sprintf(tempstr2,"%s",m_forward2); 
 
			lvitem.mask = LVIF_TEXT; 
			lvitem.iItem = mc_list.GetNextItem(-1,LVNI_SELECTED); 
			lvitem.iSubItem = 0; 
			lvitem.iImage = 0; 
			sprintf(tempstr,"%s",m_forward1); 
			lvitem.pszText = tempstr; 
			mc_list.SetItem(&lvitem); 
 
			lvitem.iSubItem = 1; 
			 
			lvitem.pszText = tempstr2; 
			mc_list.SetItem(&lvitem); 
 
			m_forward1 = tempstr; 
			m_forward2 = tempstr2; 
 
	UpdateData(FALSE); 
 
 
	 
} 
 
void D_Alias::OnDelforward()  
{ 
 
if (mc_list.GetNextItem(-1,LVNI_SELECTED) == -1) return; 
 
UpdateData(TRUE); 
mc_list.DeleteItem(mc_list.GetNextItem(-1,LVNI_SELECTED)); 
	 
	 
} 
 
BOOL D_Alias::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	 
	CImageList	*m_pimagelistSmall; 
	m_pimagelistSmall = new CImageList(); 
	m_pimagelistSmall->Create(16, 16, TRUE/*bMask*/, 1, 4); 
	m_pimagelistSmall->Add(AfxGetApp()->LoadIcon(IDI_FORWARD)); 
 
	LV_COLUMN		lvcolumn; 
 
	CRect			rect1; 
	 
	TCHAR			rgtsz1[2][20] = {_T("From"),_T("To")}; 
 
	mc_list.SetImageList(m_pimagelistSmall, LVSIL_SMALL); 
	mc_list.GetWindowRect(&rect1); 
 
		lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH; 
		lvcolumn.fmt = LVCFMT_LEFT; 
		lvcolumn.pszText = rgtsz1[0]; 
		lvcolumn.iSubItem = 0; 
 
		lvcolumn.cx = 130;   
 
		mc_list.InsertColumn(0, &lvcolumn);   
				 
 
		lvcolumn.pszText = rgtsz1[1]; 
		lvcolumn.iSubItem = 1; 
		lvcolumn.cx = 180;   
		 
		mc_list.InsertColumn(1, &lvcolumn);   
		 
 
		LV_ITEM			lvitem; 
		int iActualItem,iIcon; 
		iIcon = 0; 
 
 
char tempstr[255];		 
FILE *stream; 
if( (stream  = fopen("forward.ctl", "rt" )) != NULL ) 
  { 
 
while (!feof(stream)) 
{ 
char s1[255]; 
char s2[255]; 
fgets(tempstr,255,stream); 
if (!feof(stream)) 
{ 
UpdateData(TRUE); 
sprintf(s1,""); 
sprintf(s2,""); 
sscanf(tempstr,"%s %s",s1,s2); 
 
			lvitem.mask = LVIF_TEXT | LVIF_IMAGE; 
			lvitem.iItem = 0; 
			lvitem.iSubItem = 0; 
			lvitem.iImage = iIcon; 
			tempstr[strlen(tempstr)-1] = '\0'; 
			lvitem.pszText = s1; 
			 
			iActualItem = mc_list.InsertItem(&lvitem); 
			 
			lvitem.mask = LVIF_TEXT; 
			lvitem.iItem = iActualItem; 
			lvitem.iSubItem = 1; 
			lvitem.pszText = s2; 
 
			mc_list.SetItem(&lvitem); 
UpdateData(FALSE); 
} 
} 
fclose(stream); 
} 
else 
{ 
MessageBox("Could not open forward.ctl!"); 
} 
 
 
 
 
		if( (stream  = fopen("popuser.ctl", "rt" )) != NULL ) 
		{ 
			 
			while (!feof(stream)) 
			{ 
				fgets(tempstr,255,stream); 
				if (!feof(stream)) 
				{ 
					int pusrpos = 0; 
					char seps[] = ";\r\n"; 
					char tempstr2[255]; 
					char *token; 
 
					token = strtok( tempstr, seps ); 
					while( token != NULL ) 
					{ 
					sprintf(tempstr2,"%s",token); 
 
					for (UINT x = 1;x<=strlen(tempstr2)-1;x++) tempstr2[x-1] = tempstr2[x]; 
					tempstr2[strlen(tempstr2)-2] = '\0'; 
					 
 
					if (pusrpos == 0) 
					{ 
						strupr(tempstr2); 
						mc_forward2.AddString(tempstr2); 
 
					} 
 
					pusrpos++; 
					token = strtok( NULL, seps ); 
					} 
					 
 
					 
				} 
			} 
			fclose(stream); 
		} 
 
 
 
 
	 
	return TRUE;  // return TRUE unless you set the focus to a control 
 
} 
 
void D_Alias::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	UpdateData(TRUE); 
	m_forward1 =  mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),0); 
	m_forward2 =  mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),1); 
	UpdateData(FALSE); 
	 
	*pResult = 0; 
} 
 
void D_Alias::OnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; 
	UpdateData(TRUE); 
	m_forward1 =  mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),0); 
	m_forward2 =  mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),1); 
	UpdateData(FALSE); 
	 
	*pResult = 0; 
} 
 
void D_Alias::OnItemchangingList(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; 
	UpdateData(TRUE); 
	m_forward1 =  mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),0); 
	m_forward2 =  mc_list.GetItemText(mc_list.GetNextItem(-1,LVNI_SELECTED),1); 
	UpdateData(FALSE); 
	 
	*pResult = 0; 
}