// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { try { CoreController core = ((CPClass)cp).core; int emailDropId = core.docProperties.getInteger(rnEmailOpenFlag); if (emailDropId != 0) { // // -- Email open detected. Log it and redirect to a 1x1 spacer EmailDropModel emailDrop = DbBaseModel.create <EmailDropModel>(core.cpParent, emailDropId); if (emailDrop != null) { PersonModel recipient = DbBaseModel.create <PersonModel>(core.cpParent, core.docProperties.getInteger(rnEmailMemberId)); if (recipient != null) { EmailLogModel log = DbBaseModel.addDefault <EmailLogModel>(core.cpParent); log.name = "User " + recipient.name + " opened email drop " + emailDrop.name + " at " + core.doc.profileStartTime.ToString(); log.emailDropId = emailDrop.id; log.emailId = emailDrop.emailId; log.memberId = recipient.id; log.logType = EmailLogTypeOpen; log.visitId = cp.Visit.Id; log.save(cp); } } } core.webServer.redirect(NonEncodedLink: "" + cdnPrefix + "images/spacer.gif", RedirectReason: "Group Email Open hit, redirecting to a dummy image", IsPageNotFound: false, allowDebugMessage: false); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(""); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { try { CoreController core = ((CPClass)cp).core; // // -- Email click detected EmailDropModel emailDrop = DbBaseModel.create <EmailDropModel>(core.cpParent, core.docProperties.getInteger(rnEmailClickFlag)); if (emailDrop != null) { PersonModel recipient = DbBaseModel.create <PersonModel>(core.cpParent, core.docProperties.getInteger(rnEmailMemberId)); if (recipient != null) { EmailLogModel log = DbBaseModel.addDefault <EmailLogModel>(core.cpParent); log.name = "User " + recipient.name + " clicked link from email drop " + emailDrop.name + " at " + core.doc.profileStartTime.ToString(); log.emailDropId = emailDrop.id; log.emailId = emailDrop.emailId; log.memberId = recipient.id; log.logType = EmailLogTypeClick; log.visitId = cp.Visit.Id; log.save(cp); } } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(""); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { try { CoreController core = ((CPClass)cp).core; // // -- click spam block detected { string recipientEmailToBlock = core.docProperties.getText(rnEmailBlockRecipientEmail); if (!string.IsNullOrEmpty(recipientEmailToBlock)) { List <PersonModel> recipientList = DbBaseModel.createList <PersonModel>(core.cpParent, "(email=" + DbController.encodeSQLText(recipientEmailToBlock) + ")"); foreach (var recipient in recipientList) { recipient.allowBulkEmail = false; recipient.save(cp, 0); // // -- Email spam footer was clicked, clear the AllowBulkEmail field EmailController.addToBlockList(core, recipientEmailToBlock); // // -- log entry to track the result of this email drop int emailDropId = core.docProperties.getInteger(rnEmailBlockRequestDropId); if (emailDropId != 0) { EmailDropModel emailDrop = DbBaseModel.create <EmailDropModel>(cp, emailDropId); if (emailDrop != null) { EmailLogModel log = DbBaseModel.addDefault <EmailLogModel>(core.cpParent); log.name = "User " + recipient.name + " clicked linked spam block from email drop " + emailDrop.name + " at " + core.doc.profileStartTime.ToString(); log.emailDropId = emailDrop.id; log.emailId = emailDrop.emailId; log.memberId = recipient.id; log.logType = EmailLogTypeBlockRequest; log.visitId = cp.Visit.Id; log.save(cp); } } } } return(cp.Content.GetCopy("Default Email Blocked Response Page", Resources.defaultEmailBlockedResponsePage)); } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(""); }