mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Shifting AkismetSettingsPart
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
using JetBrains.Annotations;
|
||||
using Orchard.AntiSpam.Models;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.Data;
|
||||
using Orchard.ContentManagement.Handlers;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Localization;
|
||||
@@ -10,11 +9,10 @@ namespace Orchard.AntiSpam.Handlers {
|
||||
[UsedImplicitly]
|
||||
[OrchardFeature("Akismet.Filter")]
|
||||
public class AkismetSettingsPartHandler : ContentHandler {
|
||||
public AkismetSettingsPartHandler(IRepository<AkismetSettingsPartRecord> repository) {
|
||||
public AkismetSettingsPartHandler() {
|
||||
T = NullLocalizer.Instance;
|
||||
Filters.Add(new ActivatingFilter<AkismetSettingsPart>("Site"));
|
||||
Filters.Add(StorageFilter.For(repository));
|
||||
Filters.Add(new TemplateFilterForRecord<AkismetSettingsPartRecord>("AkismetSettings", "Parts/AntiSpam.AkismetSettings", "spam"));
|
||||
Filters.Add(new TemplateFilterForPart<AkismetSettingsPart>("AkismetSettings", "Parts/AntiSpam.AkismetSettings", "spam"));
|
||||
}
|
||||
|
||||
public Localizer T { get; set; }
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
using Orchard.ContentManagement;
|
||||
|
||||
namespace Orchard.AntiSpam.Models {
|
||||
public class AkismetSettingsPart : ContentPart<AkismetSettingsPartRecord> {
|
||||
public class AkismetSettingsPart : ContentPart {
|
||||
public bool TrustAuthenticatedUsers {
|
||||
get { return bool.Parse(Get("TrustAuthenticatedUsers") ?? "false"); }
|
||||
set { Set("TrustAuthenticatedUsers", value.ToString()); }
|
||||
}
|
||||
|
||||
public string ApiKey {
|
||||
get { return Get("ApiKey"); }
|
||||
set { Set("ApiKey", value); }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
using Orchard.ContentManagement.Records;
|
||||
|
||||
namespace Orchard.AntiSpam.Models {
|
||||
public class AkismetSettingsPartRecord : ContentPartRecord {
|
||||
|
||||
public virtual bool TrustAuthenticatedUsers { get; set; }
|
||||
|
||||
// API key for the Akismet (http://akismet.com/personal/)
|
||||
public virtual string ApiKey { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -106,7 +106,6 @@
|
||||
<Compile Include="Handlers\TypePadSettingsPartHandler.cs" />
|
||||
<Compile Include="Handlers\SpamFilterPartHandler.cs" />
|
||||
<Compile Include="Migrations.cs" />
|
||||
<Compile Include="Models\AkismetSettingsPartRecord.cs" />
|
||||
<Compile Include="Models\AkismetSettingsPart.cs" />
|
||||
<Compile Include="Models\CommentCheckContext.cs" />
|
||||
<Compile Include="Models\ReCaptchaSettingsPart.cs" />
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Orchard.AntiSpam.Services {
|
||||
|
||||
public IEnumerable<ISpamFilter> GetSpamFilters() {
|
||||
|
||||
var settings = _orchardServices.WorkContext.CurrentSite.As<AkismetSettingsPart>().Record;
|
||||
var settings = _orchardServices.WorkContext.CurrentSite.As<AkismetSettingsPart>();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(settings.ApiKey)) {
|
||||
yield break;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@model Orchard.AntiSpam.Models.AkismetSettingsPartRecord
|
||||
@model Orchard.AntiSpam.Models.AkismetSettingsPart
|
||||
@using Orchard.Utility.Extensions;
|
||||
|
||||
<fieldset>
|
||||
|
||||
@@ -76,6 +76,16 @@ namespace Upgrade.Controllers {
|
||||
_upgradeService.ExecuteReader("DROP TABLE " + _upgradeService.GetPrefixedTableName("Orchard_Themes_ThemeSiteSettingsPartRecord"), null);
|
||||
|
||||
|
||||
// AkismetSettingsPartRecord
|
||||
_upgradeService.ExecuteReader("SELECT * FROM " + _upgradeService.GetPrefixedTableName("Orchard_AntiSpam_AkismetSettingsPartRecord"),
|
||||
(reader, connection) => {
|
||||
site.As<InfosetPart>().Set("AkismetSettingsPart", "TrustAuthenticatedUsers", reader["TrustAuthenticatedUsers"].ToString());
|
||||
site.As<InfosetPart>().Set("AkismetSettingsPart", "ApiKey", reader["ApiKey"].ToString());
|
||||
});
|
||||
|
||||
_upgradeService.ExecuteReader("DROP TABLE " + _upgradeService.GetPrefixedTableName("Orchard_AntiSpam_AkismetSettingsPartRecord"), null);
|
||||
|
||||
|
||||
_orchardServices.Notifier.Information(T("Site Settings migrated successfully"));
|
||||
|
||||
return View();
|
||||
|
||||
Reference in New Issue
Block a user