mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
@@ -9,6 +9,7 @@ using Orchard.AntiSpam.ViewModels;
|
|||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.Drivers;
|
using Orchard.ContentManagement.Drivers;
|
||||||
using Orchard.Localization;
|
using Orchard.Localization;
|
||||||
|
using Orchard.Logging;
|
||||||
using Orchard.UI.Admin;
|
using Orchard.UI.Admin;
|
||||||
|
|
||||||
namespace Orchard.AntiSpam.Drivers {
|
namespace Orchard.AntiSpam.Drivers {
|
||||||
@@ -20,10 +21,11 @@ namespace Orchard.AntiSpam.Drivers {
|
|||||||
public ReCaptchaPartDriver(IWorkContextAccessor workContextAccessor) {
|
public ReCaptchaPartDriver(IWorkContextAccessor workContextAccessor) {
|
||||||
_workContextAccessor = workContextAccessor;
|
_workContextAccessor = workContextAccessor;
|
||||||
T = NullLocalizer.Instance;
|
T = NullLocalizer.Instance;
|
||||||
|
Logger = NullLogger.Instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Localizer T { get; set; }
|
public Localizer T { get; set; }
|
||||||
|
public ILogger Logger { get; set; }
|
||||||
protected override DriverResult Editor(ReCaptchaPart part, dynamic shapeHelper) {
|
protected override DriverResult Editor(ReCaptchaPart part, dynamic shapeHelper) {
|
||||||
var workContext = _workContextAccessor.GetContext();
|
var workContext = _workContextAccessor.GetContext();
|
||||||
|
|
||||||
@@ -65,15 +67,21 @@ namespace Orchard.AntiSpam.Drivers {
|
|||||||
if(updater.TryUpdateModel(submitViewModel, String.Empty, null, null)) {
|
if(updater.TryUpdateModel(submitViewModel, String.Empty, null, null)) {
|
||||||
var context = workContext.HttpContext;
|
var context = workContext.HttpContext;
|
||||||
|
|
||||||
var result = ExecuteValidateRequest(
|
try {
|
||||||
settings.PrivateKey,
|
var result = ExecuteValidateRequest(
|
||||||
context.Request.ServerVariables["REMOTE_ADDR"],
|
settings.PrivateKey,
|
||||||
submitViewModel.recaptcha_challenge_field,
|
context.Request.ServerVariables["REMOTE_ADDR"],
|
||||||
submitViewModel.recaptcha_response_field
|
submitViewModel.recaptcha_challenge_field,
|
||||||
);
|
submitViewModel.recaptcha_response_field
|
||||||
|
);
|
||||||
|
|
||||||
if(!HandleValidateResponse(context, result)) {
|
if (!HandleValidateResponse(context, result)) {
|
||||||
updater.AddModelError("Parts_ReCaptcha_Fields", T("The text you entered in the Captcha field does not match the image"));
|
updater.AddModelError("Parts_ReCaptcha_Fields", T("The text you entered in the Captcha field does not match the image"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(Exception e) {
|
||||||
|
Logger.Error(e, "An unexcepted error occured while submitting a reCaptcha");
|
||||||
|
updater.AddModelError("Parts_ReCaptcha_Fields", T("There was an error while validating the Captcha image"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user