mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Merge
--HG-- branch : dev
This commit is contained in:
@@ -7,6 +7,7 @@ using Orchard.ContentManagement;
|
||||
using Orchard.ContentManagement.Records;
|
||||
using Orchard.Extensions;
|
||||
using Orchard.Utility.Extensions;
|
||||
using Orchard.Extensions.Records;
|
||||
|
||||
namespace Orchard.Environment {
|
||||
//TEMP: This will be replaced by packaging system
|
||||
@@ -42,6 +43,7 @@ namespace Orchard.Environment {
|
||||
new RecordDescriptor { Prefix = "Core", Type = typeof (ContentTypeRecord)},
|
||||
new RecordDescriptor { Prefix = "Core", Type = typeof (ContentItemRecord)},
|
||||
new RecordDescriptor { Prefix = "Core", Type = typeof (ContentItemVersionRecord)},
|
||||
new RecordDescriptor { Prefix = "Core", Type = typeof (ExtensionRecord)},
|
||||
};
|
||||
|
||||
foreach (var extension in _extensionManager.ActiveExtensions()) {
|
||||
|
@@ -16,15 +16,19 @@ namespace Orchard.Extensions {
|
||||
private readonly IEnumerable<IExtensionFolders> _folders;
|
||||
private readonly IEnumerable<IExtensionLoader> _loaders;
|
||||
private IEnumerable<ExtensionEntry> _activeExtensions;
|
||||
//private readonly IRepository<ExtensionRecord> _extensionRepository;
|
||||
|
||||
public Localizer T { get; set; }
|
||||
public ILogger Logger { get; set; }
|
||||
|
||||
public ExtensionManager(
|
||||
IEnumerable<IExtensionFolders> folders,
|
||||
IEnumerable<IExtensionLoader> loaders) {
|
||||
IEnumerable<IExtensionLoader> loaders
|
||||
//IRepository<ExtensionRecord> extensionRepository
|
||||
) {
|
||||
_folders = folders;
|
||||
_loaders = loaders.OrderBy(x => x.Order);
|
||||
//_extensionRepository = extensionRepository;
|
||||
T = NullLocalizer.Instance;
|
||||
Logger = NullLogger.Instance;
|
||||
}
|
||||
@@ -163,8 +167,8 @@ namespace Orchard.Extensions {
|
||||
}
|
||||
|
||||
private IEnumerable<ExtensionEntry> BuildActiveExtensions() {
|
||||
//TODO: this component needs access to some "current settings" to know which are active
|
||||
foreach (var descriptor in AvailableExtensions()) {
|
||||
//_extensionRepository.Create(new ExtensionRecord { Name = descriptor.Name });
|
||||
// Extensions that are Themes don't have buildable components.
|
||||
if (String.Equals(descriptor.ExtensionType, "Module", StringComparison.OrdinalIgnoreCase)) {
|
||||
yield return BuildEntry(descriptor);
|
||||
@@ -172,7 +176,15 @@ namespace Orchard.Extensions {
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsExtensionEnabled(string name) {
|
||||
//ExtensionRecord extensionRecord = _extensionRepository.Get(x => x.Name == name);
|
||||
//if (extensionRecord.Enabled) return true;
|
||||
//return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
private ExtensionEntry BuildEntry(ExtensionDescriptor descriptor) {
|
||||
if (!IsExtensionEnabled(descriptor.Name)) return null;
|
||||
foreach (var loader in _loaders) {
|
||||
var entry = loader.Load(descriptor);
|
||||
if (entry != null)
|
||||
|
13
src/Orchard/Extensions/Records/ExtensionRecord.cs
Normal file
13
src/Orchard/Extensions/Records/ExtensionRecord.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
namespace Orchard.Extensions.Records {
|
||||
public class ExtensionRecord {
|
||||
public ExtensionRecord() {
|
||||
// ReSharper disable DoNotCallOverridableMethodsInConstructor
|
||||
Enabled = true;
|
||||
// ReSharper restore DoNotCallOverridableMethodsInConstructor
|
||||
}
|
||||
|
||||
public virtual int Id { get; set; }
|
||||
public virtual string Name { get; set; }
|
||||
public virtual bool Enabled { get; set; }
|
||||
}
|
||||
}
|
@@ -175,6 +175,7 @@
|
||||
<Compile Include="Extensions\ExtensionFolders.cs" />
|
||||
<Compile Include="Extensions\FeatureDescriptor.cs" />
|
||||
<Compile Include="Extensions\Loaders\AreaExtensionLoader.cs" />
|
||||
<Compile Include="Extensions\Records\ExtensionRecord.cs" />
|
||||
<Compile Include="Mvc\AntiForgery\ValidateAntiForgeryTokenOrchardAttribute.cs" />
|
||||
<Compile Include="Mvc\FollowReturnUrl\FollowReturnUrlFilter.cs" />
|
||||
<Compile Include="Mvc\Html\FileRegistrationContextExtensions.cs" />
|
||||
|
Reference in New Issue
Block a user