// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; string ArgList = core.docProperties.getText("args"); string[] Args = ArgList.Split('&'); GoogleDataType gd = new GoogleDataType(); gd.IsEmpty = true; for (var Ptr = 0; Ptr <= Args.GetUpperBound(0); Ptr++) { string[] ArgNameValue = Args[Ptr].Split('='); string PropertyName = ArgNameValue[0]; string PropertyValue = ""; if (ArgNameValue.GetUpperBound(0) > 0) { PropertyValue = ArgNameValue[1]; } core.visitProperty.setProperty(PropertyName, PropertyValue); } result = RemoteQueryController.format(core, gd, RemoteQueryController.RemoteFormatEnum.RemoteFormatJsonNameValue); result = HtmlController.encodeHtml(result); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <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> /// Add meta data for favicon to meta data /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; string Filename = core.siteProperties.getText("FaviconFilename", ""); if (string.IsNullOrEmpty(Filename)) { // // no favicon, 404 the call // core.webServer.setResponseStatus(WebServerController.httpResponseStatus404_NotFound); core.webServer.setResponseContentType("image/gif"); core.doc.continueProcessing = false; return(string.Empty); } else { core.doc.continueProcessing = false; return(core.webServer.redirect(GenericController.getCdnFileLink(core, Filename), "favicon request", false, false)); } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // // ----- Redirect with RC and RI // core.doc.redirectContentID = core.docProperties.getInteger(rnRedirectContentId); core.doc.redirectRecordID = core.docProperties.getInteger(rnRedirectRecordId); if (core.doc.redirectContentID != 0 && core.doc.redirectRecordID != 0) { string ContentName = MetadataController.getContentNameByID(core, core.doc.redirectContentID); if (!string.IsNullOrEmpty(ContentName)) { core.webServer.redirectByRecord_ReturnStatus(ContentName, core.doc.redirectRecordID, ""); result = ""; core.doc.continueProcessing = false; } } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// Return robots.exe. NOTE - this route requires an exception added to web.config /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // // -- Robots.txt string Filename = "config/RobotsTxtBase.txt"; // // set this way because the preferences page needs a filename in a site property (enhance later) core.siteProperties.setProperty("RobotsTxtFilename", Filename); result = core.cdnFiles.readFileText(Filename); if (string.IsNullOrEmpty(result)) { // // save default robots.txt // result = "User-agent: *\r\nDisallow: /admin/\r\nDisallow: /images/"; core.wwwFiles.saveFile(Filename, result); } result += core.addonCache.robotsTxt; core.webServer.setResponseContentType("text/plain"); core.doc.continueProcessing = false; } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // // -- send password string Emailtext = core.docProperties.getText("email"); if (!string.IsNullOrEmpty(Emailtext)) { string sendStatus = ""; LoginController.sendPassword(core, Emailtext, ref sendStatus); result += "" + "<div style=\"width:300px;margin:100px auto 0 auto;\">" + "<p>An attempt to send login information for email address '" + Emailtext + "' has been made.</p>" + "<p><a href=\"?" + core.doc.refreshQueryString + "\">Return to the Site.</a></p>" + "</div>"; core.doc.continueProcessing = false; } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// execute an sql command on a given datasource and save the result as csv in a cdn file /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { try { CoreController core = ((CPClass)cp).core; // LogController.logTrace(core, "ExportCsvClass.execute, sql [" + cp.Doc.GetText("sql") + "]"); // string dataSource = cp.Doc.GetText("datasource"); using (var db = cp.DbNew(dataSource)) { // // -- no way to know how big this is. 30 minute timeout db.SQLTimeout = 1800; using (DataTable dt = db.ExecuteQuery(cp.Doc.GetText("sql"))) { string result = dt.toCsv(); // LogController.logTrace(core, "ExportCsvClass.execute, result [" + (result.Length > 100 ? result.Substring(0, 100) : result) + "]"); // return(result); } } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(""); }
// //==================================================================================================== /// <summary> /// Returns OK on success /// + available drive space /// + log size /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { try { var resultList = new StringBuilder(); var core = ((CPClass)(cp)).core; string pauseHint = " To pause alarm " + ((cp.User.IsAdmin) ? "set site property 'Diagnostics Pause Until Date' or [/status?pauseUntil=" + core.dateTimeNowMockable.AddHours(1) + "]." : "login as administrator."); cp.Response.SetType("text/plain"); if (cp.Site.GetDate("Diagnostics pause until date") > core.dateTimeNowMockable) { return("ok, diagnostics paused until " + cp.Site.GetDate("Diagnostics pause until date") + "." + Environment.NewLine + resultList.ToString()); } foreach (var addon in DbBaseModel.createList <AddonModel>(core.cpParent, "(diagnostic>0)")) { string testResult = core.addon.execute(addon, new BaseClasses.CPUtilsBaseClass.addonExecuteContext()); if (string.IsNullOrWhiteSpace(testResult)) { return("ERROR, diagnostic [" + addon.name + "] failed, it returned an empty result." + pauseHint); } if (testResult.Length < 2) { return("ERROR, diagnostic [" + addon.name + "] failed, it returned an invalid result." + pauseHint); } if (testResult.left(2).ToLower(CultureInfo.InvariantCulture) != "ok") { return("ERROR, diagnostic [" + addon.name + "] failed, it returned [" + testResult + "]" + pauseHint); } resultList.AppendLine(testResult); } return("ok, all tests passes." + Environment.NewLine + resultList.ToString()); } catch (Exception ex) { cp.Site.ErrorReport(ex); return("ERROR, unexpected exception during diagnostics"); } }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; if (core.session.isAuthenticated && core.session.isAuthenticatedAdmin()) { // // Save the site sites // core.wwwFiles.saveFile(DynamicStylesFilename, core.docProperties.getText("SiteStyles")); if (core.docProperties.getBoolean(RequestNameInlineStyles)) { // // Inline Styles // core.siteProperties.setProperty("StylesheetSerialNumber", "0"); } else { // // Linked Styles // Bump the Style Serial Number so next fetch is not cached // int StyleSN = core.siteProperties.getInteger("StylesheetSerialNumber", 0); StyleSN = StyleSN + 1; core.siteProperties.setProperty("StylesheetSerialNumber", GenericController.encodeText(StyleSN)); } } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // // save custom styles if (core.session.isAuthenticatedAdmin()) { int addonId = core.docProperties.getInteger("AddonID"); if (addonId > 0) { AddonModel styleAddon = DbBaseModel.create <AddonModel>(core.cpParent, addonId); if (styleAddon.stylesFilename.content != core.docProperties.getText("CustomStyles")) { styleAddon.stylesFilename.content = core.docProperties.getText("CustomStyles"); styleAddon.save(core.cpParent); // // Clear Caches // DbBaseModel.invalidateCacheOfRecord <AddonModel>(core.cpParent, addonId); } } } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <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> /// setAdminSiteFieldHelp remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; if (cp.User.IsAdmin) { int fieldId = cp.Doc.GetInteger("fieldId"); var help = ContentFieldHelpModel.createByFieldId(cp, fieldId); if (help == null) { help = DbBaseModel.addDefault <ContentFieldHelpModel>(core.cpParent, Processor.Models.Domain.ContentMetadataModel.getDefaultValueDict(core, ContentFieldHelpModel.tableMetadata.contentName)); help.fieldId = fieldId; } help.helpCustom = cp.Doc.GetText("helpcustom"); help.save(cp); ContentFieldModel contentField = DbBaseModel.create <ContentFieldModel>(core.cpParent, fieldId); if (contentField != null) { ContentMetadataModel.invalidateCache(core, contentField.contentId); } } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// Login Button Form /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { if (cp.User.IsAuthenticated) { return(Processor.Properties.Resources.LogoutButtonFormHtml.Replace("{{personName}}", cp.User.Name)); } return(Processor.Properties.Resources.LoginButtonFormHtml); }
// //==================================================================================================== /// <summary> /// /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { try { CoreController core = ((CPClass)cp).core; // } 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) { string result = ""; try { CoreController core = ((CPClass)cp).core; // // -- resource library core.doc.addRefreshQueryString(RequestNameHardCodedPage, HardCodedPageResourceLibrary); string EditorObjectName = core.docProperties.getText("EditorObjectName"); string LinkObjectName = core.docProperties.getText("LinkObjectName"); if (!string.IsNullOrEmpty(EditorObjectName)) { // // Open a page compatible with a dialog // core.doc.addRefreshQueryString("EditorObjectName", EditorObjectName); core.html.addScriptLinkSrc("" + cdnPrefix + "ClientSide/dialogs.js", "Resource Library"); core.doc.setMetaContent(0, 0); core.html.addScriptCode_onLoad("document.body.style.overflow='scroll';", "Resource Library"); string Copy = core.html.getResourceLibrary("", true, EditorObjectName, LinkObjectName, true); string htmlBody = "" + GenericController.nop(core.html.getPanelHeader("Contensive Resource Library")) + "\r<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td>" + cr2 + "<div style=\"border-top:1px solid white;border-bottom:1px solid black;height:2px\"><img alt=\"spacer\" src=\"" + cdnPrefix + "images/spacer.gif\" width=1 height=1></div>" + GenericController.nop(Copy) + "\r</td></tr>" + "\r<tr><td>" + GenericController.nop(core.html.getHtmlBodyEnd(false, false)) + "\r</td></tr></table>" + "\r<script language=javascript type=\"text/javascript\">fixDialog();</script>" + ""; string htmlBodyTag = "<body class=\"container-fluid ccBodyAdmin ccCon\" style=\"overflow:scroll\">"; result = core.html.getHtmlDoc(htmlBody, htmlBodyTag, false, false); core.doc.continueProcessing = false; } else if (!string.IsNullOrEmpty(LinkObjectName)) { // // Open a page compatible with a dialog core.doc.addRefreshQueryString("LinkObjectName", LinkObjectName); core.html.addScriptLinkSrc("" + cdnPrefix + "ClientSide/dialogs.js", "Resource Library"); core.doc.setMetaContent(0, 0); core.html.addScriptCode_onLoad("document.body.style.overflow='scroll';", "Resource Library"); string htmlBody = "" + core.html.getPanelHeader("Contensive Resource Library") + "\r<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td>" + core.html.getResourceLibrary("", true, EditorObjectName, LinkObjectName, true) + "\r</td></tr></table>" + "\r<script language=javascript type=text/javascript>fixDialog();</script>" + ""; string htmlBodyTag = "<body class=\"container-fluid ccBodyAdmin ccCon\" style=\"overflow:scroll\">"; result = core.html.getHtmlDoc(htmlBody, htmlBodyTag, false, false); core.doc.continueProcessing = false; } } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// process a username/password authentication with no success result. /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { LoginController.processLoginFormDefault(((CPClass)cp).core); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// addon interface /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { result = "OK"; } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// addon method, deliver complete Html admin site /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string returnHtml = ""; try { CoreController core = ((CPClass)cp).core; returnHtml = LoginController.getLoginPage(core, false); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(returnHtml); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; PageContentController.processFormQuickEditing(core); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// Login Form /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string returnHtml = ""; try { bool forceDefaultLogin = cp.Doc.GetBoolean("Force Default Login"); returnHtml = LoginController.getLoginForm(((CPClass)cp).core, forceDefaultLogin); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(returnHtml); }
// //==================================================================================================== /// <summary> /// pageManager addon interface /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; result = getWhatsRelated(core); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // core.html.processFormToolsPanel(core.docProperties.getText("ccformsn")); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// legacy - getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // core.html.processAddonSettingsEditor(); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string returnHtml = ""; try { CoreController core = ((CPClass)cp).core; // core.visitProperty.setProperty("IndexFilterOpen", "1"); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(returnHtml); }
// //==================================================================================================== /// <summary> /// /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // LoginController.processSendPasswordForm(core); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // // ----- Active Editor EditorController.processActiveEditor(core); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// getFieldEditorPreference remote method /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; // // -- logout the current member core.session.logout(); return(string.Empty); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <summary> /// install all base51 collection addons /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { try { // // -- remove any legacy status methods var core = ((CPClass)(cp)).core; foreach (var addon in DbBaseModel.createList <AddonModel>(core.cpParent, "(name='status')and(ccguid<>'{6444B5C9-36DD-43FF-978C-26650EB2333F}')")) { addon.name = addon.name + "-blocked"; addon.save(core.cpParent); } return("ok"); } catch (Exception ex) { cp.Site.ErrorReport(ex); return("ERROR, unexpected exception during OnInstallDiagnostics"); } }
// //==================================================================================================== /// <summary> /// pageManager addon interface /// </summary> /// <param name="cp"></param> /// <returns></returns> public override object Execute(Contensive.BaseClasses.CPBaseClass cp) { string result = ""; try { CoreController core = ((CPClass)cp).core; string listName = cp.Doc.GetText("instanceId"); if (string.IsNullOrWhiteSpace(listName)) { listName = cp.Doc.GetText("List Name"); } result = getChildPageList(core, listName, PageContentModel.tableMetadata.contentName, core.doc.pageController.page.id, true); } catch (Exception ex) { cp.Site.ErrorReport(ex); } return(result); }
// //==================================================================================================== /// <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(""); }