append_AND_OR_filter(and_or, where, tmp.c_str());
}
+ if (FolderName[0] != 0) {
+ db->search_op(jcr, "MetaEmail.EmailFolderName", FolderName, esc.handle(), tmp.handle());
+ append_AND_OR_filter(and_or, where, tmp.c_str());
+ }
+
if (Tags[0] != 0) {
db->search_op(jcr, "MetaEmail.EmailTags", Tags, esc.handle(), tmp.handle());
append_AND_OR_filter(and_or, where, tmp.c_str());
char MaxTime[MAX_NAME_LENGTH];
char Plugin[MAX_NAME_LENGTH];
char Name[MAX_SEARCH_LENGTH];
+ char FolderName[MAX_SEARCH_LENGTH];
char errmsg[MAX_NAME_LENGTH];
META_DBR(): MinSize(-1), MaxSize(-1), HasAttachment(-1),
isDraft(-1), isRead(-1), offset(0), limit(512), order(0), orderby(0), all(false)
*Id = *Tenant = *Owner = 0;
*ClientName = *From = *To = *Cc = *Subject = *Tags = 0;
*BodyPreview = *Type = *ConversationId = *Category = 0;
- *Name = *MinTime = *MaxTime = *Plugin = 0;
+ *FolderName = *Name = *MinTime = *MaxTime = *Plugin = 0;
*errmsg = 0;
};
~META_DBR() {};
"\t [from=<str> to=<str> cc=<str> tags=<str> subject=<str> bodypreview=<str> all=<str>\n"
"\t minsize=<int> maxsize=<int> importance=<str> isread=<0|1> isdraft=<0|1> categories=<str>\n"
"\t conversationid=<str> hasattachment=<0|1> starttime=<time> endtime=<time>\n"
- "\t emailid=<str>]\n"
+ "\t emailid=<str> foldername=<str>]\n"
), false},
{ NT_("llist"), llist_cmd, _("Full or long list like list command"),
} else if (strcasecmp(ua->argk[j], NT_("to")) == 0) {
bstrncpy(meta_r.To, ua->argv[j], sizeof(meta_r.To));
+ } else if (strcasecmp(ua->argk[j], NT_("foldername")) == 0) {
+ bstrncpy(meta_r.FolderName, ua->argv[j], sizeof(meta_r.FolderName));
+
} else if (strcasecmp(ua->argk[j], NT_("cc")) == 0) {
bstrncpy(meta_r.Cc, ua->argv[j], sizeof(meta_r.Cc));