Patch level : 10.0 56
Files correlati : ba7.exe Ricompilazione Demo : [ ] Commento : Aggiunta funzione di backup delle transazioni git-svn-id: svn://10.65.10.50/trunk@16645 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
71c085cc9d
commit
e0fbf5b54c
@ -494,7 +494,7 @@ protected:
|
||||
void find_redundant_messages();
|
||||
|
||||
void track(const TMail_message& msg, const TString& app, const TString& action, int err);
|
||||
bool exec_app(int & err, const TString& appname, TMail_message & msg);
|
||||
bool exec_app(int & err, const TString& appname, TMail_message & msg, TToken_string & sh_row);
|
||||
void scan_dir(const TFilename& dir, TMail_messages& box) const;
|
||||
|
||||
public:
|
||||
@ -643,6 +643,8 @@ void TMailer_mask::scan_dir(const TFilename& dir, TMail_messages& box) const
|
||||
{
|
||||
char* buffer = text.get_buffer(size);
|
||||
TScanner scanner(*row);
|
||||
|
||||
memset(buffer, 0 , size);
|
||||
scanner.read(buffer, size);
|
||||
buffer[size] = '\0';
|
||||
|
||||
@ -904,7 +906,7 @@ void TMailer_mask::track(const TMail_message& msg, const TString& app, const TSt
|
||||
}
|
||||
}
|
||||
|
||||
bool TMailer_mask::exec_app(int& err, const TString& appname, TMail_message& msg)
|
||||
bool TMailer_mask::exec_app(int& err, const TString& appname, TMail_message& msg, TToken_string & sh_row)
|
||||
{
|
||||
err = NOERR;
|
||||
TString action;
|
||||
@ -958,6 +960,27 @@ bool TMailer_mask::exec_app(int& err, const TString& appname, TMail_message& msg
|
||||
err = 0;
|
||||
else
|
||||
err = ini.get_int("Error");
|
||||
|
||||
const TString& backup = get(F_BACKUP);
|
||||
|
||||
if (backup.full())
|
||||
{
|
||||
TFilename file;
|
||||
TString id;
|
||||
TSheet_field& sf = sfield(F_MESSAGES);
|
||||
|
||||
sh_row.get(sf.cid2index(F_ID), id);
|
||||
sh_row.get(sf.cid2index(F_SENDER), file); // Cartella di provenienza
|
||||
file.add(id);
|
||||
file.ext("ini");
|
||||
|
||||
TFilename dest(backup);
|
||||
|
||||
if (!is_slash(dest[dest.len() - 1]))
|
||||
dest << '/';
|
||||
dest << file.name();
|
||||
dest << fcopy(tmp, dest);
|
||||
}
|
||||
}
|
||||
remove_file(tmp);
|
||||
}
|
||||
@ -1001,7 +1024,7 @@ bool TMailer_mask::save_sheet_line(int& err, int nrow)
|
||||
}
|
||||
|
||||
TMail_message& full_msg = _box.msg(nrow);
|
||||
bool ok = exec_app(err, appname, full_msg);
|
||||
bool ok = exec_app(err, appname, full_msg, row);
|
||||
if (!ok && err == _iskeynotfound)
|
||||
{
|
||||
TString & first_row = full_msg.row(0);
|
||||
@ -1009,7 +1032,7 @@ bool TMailer_mask::save_sheet_line(int& err, int nrow)
|
||||
if (pos > 0)
|
||||
{
|
||||
first_row.overwrite("INSERT", pos);
|
||||
ok = exec_app(err, appname, full_msg);
|
||||
ok = exec_app(err, appname, full_msg, row);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1434,6 +1457,7 @@ void TMailer_mask::save() const
|
||||
ini.set("Password", encode(get(F_PASSWORD)));
|
||||
ini.set("Timer", get(F_TIMER));
|
||||
ini.set("Log", get(F_TRACKING));
|
||||
ini.set("Backup", get(F_BACKUP));
|
||||
save_sheet(ini, F_ADDRESSES, "Recipient");
|
||||
save_sheet(ini, F_PARAMS, "Filter");
|
||||
}
|
||||
@ -1446,6 +1470,7 @@ void TMailer_mask::load()
|
||||
set(F_PASSWORD, decode(ini.get("Password")));
|
||||
set(F_TIMER, ini.get_int("Timer"));
|
||||
set(F_TRACKING, ini.get("Log"));
|
||||
set(F_BACKUP, ini.get("Backup"));
|
||||
load_sheet(ini, F_ADDRESSES, "Recipient");
|
||||
load_sheet(ini, F_PARAMS, "Filter");
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
#define F_MAPI 204
|
||||
#define F_TIMER 205
|
||||
#define F_TRACKING 206
|
||||
#define F_BACKUP 207
|
||||
|
||||
#define F_MESSAGES 210
|
||||
#define F_ADDRESSES 211
|
||||
|
@ -62,9 +62,15 @@ BEGIN
|
||||
PROMPT 1 2 "Log transazioni (CSV) "
|
||||
END
|
||||
|
||||
STRING F_BACKUP 80 55
|
||||
BEGIN
|
||||
PROMPT 1 3 "Backup "
|
||||
GROUP G_SUPERUSER
|
||||
END
|
||||
|
||||
SPREADSHEET F_MESSAGES 0 -3
|
||||
BEGIN
|
||||
PROMPT 0 3 ""
|
||||
PROMPT 0 4 ""
|
||||
ITEM "@1"
|
||||
ITEM "Da@40"
|
||||
ITEM "Data@10"
|
||||
|
Loading…
x
Reference in New Issue
Block a user