Patch level : 12.00 1310
Files correlati : xvaga.dll Commento : 349170 : L'invio per posta dalle stampe non chiedeva più il destinatario
This commit is contained in:
		
							parent
							
								
									78a546519f
								
							
						
					
					
						commit
						b1e17b3e5b
					
				| @ -73,6 +73,7 @@ short xvt_mail_installed() | |||||||
|    if (xvt_fsys_file_exists("servers/mailsend.exe") || has_power_mail()) |    if (xvt_fsys_file_exists("servers/mailsend.exe") || has_power_mail()) | ||||||
|    { |    { | ||||||
|      wxString smtp, port, user, pass, from; |      wxString smtp, port, user, pass, from; | ||||||
|  | 
 | ||||||
|      GetMailParams(smtp, port, user, pass, from); |      GetMailParams(smtp, port, user, pass, from); | ||||||
|      if (!pass.IsEmpty() && smtp != "MAPI") |      if (!pass.IsEmpty() && smtp != "MAPI") | ||||||
|        bInstalled |= 0x2; |        bInstalled |= 0x2; | ||||||
| @ -115,14 +116,70 @@ static void AppendAttachment(wxString& cmd, const wxString& fname, bool att = tr | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | ///////////////////////////////////////////////////////////
 | ||||||
|  | // wxEmailDlg
 | ||||||
|  | ///////////////////////////////////////////////////////////
 | ||||||
|  | 
 | ||||||
|  | class wxEmailDlg : public wxDialog | ||||||
|  | { | ||||||
|  | protected: | ||||||
|  | 	wxTextCtrl* AddString(wxSizer* ctlSizer, int id, const char* label, wxString* str); | ||||||
|  | 
 | ||||||
|  | public: | ||||||
|  | 	wxString _strEmail; | ||||||
|  | 	wxEmailDlg(); | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | wxTextCtrl* wxEmailDlg::AddString(wxSizer* ctlSizer, int id, const char* label, wxString* str) | ||||||
|  | { | ||||||
|  | 	wxStaticText* lbl = new wxStaticText(this, wxID_ANY, label); | ||||||
|  | 
 | ||||||
|  | 	const int k = 20, b = k / 10; | ||||||
|  | 	wxTextCtrl* txt = new wxTextCtrl(this, id, wxEmptyString, wxDefaultPosition, wxSize(20 * k, k), | ||||||
|  | 		0, wxTextValidator(wxFILTER_ASCII, str)); | ||||||
|  | 	ctlSizer->Add(lbl, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, b); | ||||||
|  | 	ctlSizer->Add(txt, 1, wxALIGN_LEFT | wxALL, b); | ||||||
|  | 
 | ||||||
|  | 	return txt; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | wxEmailDlg::wxEmailDlg() : wxDialog(NULL, wxID_ANY, "Email", | ||||||
|  | 	wxDefaultPosition, wxDefaultSize, | ||||||
|  | 	wxDEFAULT_DIALOG_STYLE) | ||||||
|  | { | ||||||
|  | 	wxSizer* ctlTextSizer = new wxFlexGridSizer(4, 2, 8, 8); | ||||||
|  | 
 | ||||||
|  | 	AddString(ctlTextSizer, 1001, "Destinatario", &_strEmail); | ||||||
|  | 
 | ||||||
|  | 	wxSizer* ctlButtonSizer = CreateButtonSizer(wxOK | wxCANCEL); | ||||||
|  | 	wxBoxSizer* ctlTopSizer = new wxBoxSizer(wxVERTICAL); | ||||||
|  | 
 | ||||||
|  | 	ctlTopSizer->Add(ctlTextSizer, 0, wxALIGN_CENTER); | ||||||
|  | 	ctlTopSizer->Add(ctlButtonSizer, 0, wxALIGN_CENTER); | ||||||
|  | 	SetSizer(ctlTopSizer); | ||||||
|  | 	ctlTopSizer->SetSizeHints(this); | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn, | BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn, | ||||||
|                       const char* subject, const char* msg,  |                       const char* subject, const char* msg,  | ||||||
|                       const char* attach, short flags) |                       const char* attach, short flags) | ||||||
| {   | {   | ||||||
|   bool ui = (flags & 0x1) != 0; | 	const short mail_inst = xvt_mail_installed(); | ||||||
|  | 	wxString server, port, user, password, from;  | ||||||
|  | 	bool mailsend = (mail_inst & 0x2) && GetMailParams(server, port, user, password, from); | ||||||
|  | 	bool ui = mailsend && ((flags & 0x1) != 0); | ||||||
|  | 	wxString str_to(to); | ||||||
| 
 | 
 | ||||||
|   wxStringTokenizer tokTo(to, _T(";")); | 	if (ui) | ||||||
|  | 	{ | ||||||
|  | 		wxEmailDlg dlg; | ||||||
|  | 
 | ||||||
|  | 		dlg._strEmail = str_to; | ||||||
|  | 		if (dlg.ShowModal() == wxID_OK) | ||||||
|  | 			str_to = dlg._strEmail; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  |   wxStringTokenizer tokTo(str_to, _T(";")); | ||||||
| 	wxMailMessage Msg(subject, tokTo.GetNextToken(), msg); | 	wxMailMessage Msg(subject, tokTo.GetNextToken(), msg); | ||||||
| 
 | 
 | ||||||
|   Msg.m_query_receipt = flags & 0x2; |   Msg.m_query_receipt = flags & 0x2; | ||||||
| @ -156,12 +213,9 @@ BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn, | |||||||
| 		  Msg.AddBcc(Tok.GetNextToken()); | 		  Msg.AddBcc(Tok.GetNextToken()); | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   const short mail_inst = xvt_mail_installed(); |  | ||||||
|    |  | ||||||
|   BOOLEAN ok = FALSE; |   BOOLEAN ok = FALSE; | ||||||
| 	 | 	 | ||||||
|   wxString server, port, user, password, from; |   if (mailsend) | ||||||
|   if ((mail_inst & 0x2) && GetMailParams(server, port, user, password, from)) |  | ||||||
|   { |   { | ||||||
|     wxString cmd = "servers/mailsend.exe"; |     wxString cmd = "servers/mailsend.exe"; | ||||||
|     AppendQuotedString(cmd, "smtp", server); |     AppendQuotedString(cmd, "smtp", server); | ||||||
| @ -280,7 +334,8 @@ BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn, | |||||||
|         delete [] buff; |         delete [] buff; | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } else |   } | ||||||
|  |   else | ||||||
|   if (mail_inst & 1) |   if (mail_inst & 1) | ||||||
|   { |   { | ||||||
|     xvt_fsys_save_dir(); |     xvt_fsys_save_dir(); | ||||||
| @ -319,11 +374,24 @@ BOOLEAN xvt_powermail_send(const char* to, const char* cc, const char* ccn, | |||||||
|                       const char* attach, short flags, const char* usr) |                       const char* attach, short flags, const char* usr) | ||||||
| { | { | ||||||
| 	wxString server, port, user, password, from; | 	wxString server, port, user, password, from; | ||||||
|  | 
 | ||||||
| 	// Controllo che Windows sia almeno 8 e che riesca a ricevere i parametri E-mail
 | 	// Controllo che Windows sia almeno 8 e che riesca a ricevere i parametri E-mail
 | ||||||
| 	if(xvt_sys_get_os_version() < XVT_WS_WIN_7 || !GetMailParams(server, port, user, password, from)) | 	if(xvt_sys_get_os_version() < XVT_WS_WIN_7 || !GetMailParams(server, port, user, password, from)) | ||||||
| 		xvt_mail_send(to, cc, ccn, subject,  msg, attach, flags); | 		xvt_mail_send(to, cc, ccn, subject,  msg, attach, flags); | ||||||
| 
 | 
 | ||||||
|  | 	wxString str_to(to); | ||||||
|  | 
 | ||||||
|  | 	if ((flags & 0x1) != 0) | ||||||
|  | 	{ | ||||||
|  | 		wxEmailDlg dlg; | ||||||
|  | 
 | ||||||
|  | 		dlg._strEmail = str_to; | ||||||
|  | 		if (dlg.ShowModal() == wxID_OK) | ||||||
|  | 			str_to = dlg._strEmail; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
| 	DIRECTORY tmp; xvt_fsys_get_temp_dir(&tmp); | 	DIRECTORY tmp; xvt_fsys_get_temp_dir(&tmp); | ||||||
|  | 
 | ||||||
| 	// Per togliere il rischio di sovrapposizioni vado nella cartella dell'utente
 | 	// Per togliere il rischio di sovrapposizioni vado nella cartella dell'utente
 | ||||||
| 	wxString userTemp; userTemp << tmp.path << "\\" << usr; | 	wxString userTemp; userTemp << tmp.path << "\\" << usr; | ||||||
| 
 | 
 | ||||||
| @ -372,7 +440,7 @@ BOOLEAN xvt_powermail_send(const char* to, const char* cc, const char* ccn, | |||||||
| 	file.Write("$Username = \""); file.Write(user); file.Write("\"\n"); | 	file.Write("$Username = \""); file.Write(user); file.Write("\"\n"); | ||||||
| 	file.Write("$Password = \""); file.Write(password); file.Write("\"\n"); | 	file.Write("$Password = \""); file.Write(password); file.Write("\"\n"); | ||||||
| 	file.Write("$From = \""); file.Write(from); file.Write("\"\n"); | 	file.Write("$From = \""); file.Write(from); file.Write("\"\n"); | ||||||
| 	wxString str_to(to); | 
 | ||||||
| 
 | 
 | ||||||
| 	buildPSArray(str_to); | 	buildPSArray(str_to); | ||||||
| 	file.Write("$To = "); file.Write(str_to); file.Write("\n"); | 	file.Write("$To = "); file.Write(str_to); file.Write("\n"); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user