mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Merge
--HG-- branch : 1.x
This commit is contained in:
@@ -208,7 +208,6 @@
|
||||
<Compile Include="Settings\Commands\SiteSettingsCommands.cs" />
|
||||
<Compile Include="Settings\Models\SiteSettings2Part.cs" />
|
||||
<Compile Include="Settings\Models\SiteSettings2PartRecord.cs" />
|
||||
<Compile Include="Settings\Models\SiteSettingsCache.cs" />
|
||||
<Compile Include="Settings\ResourceManifest.cs" />
|
||||
<Compile Include="Settings\Migrations.cs" />
|
||||
<Compile Include="Settings\Drivers\SiteSettingsPartDriver.cs" />
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
--- Orchard.Core.csproj
|
||||
+++ Orchard.Core.csproj
|
||||
@@ -18,6 +18,7 @@
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
<TargetFrameworkProfile />
|
||||
+ <UseIISExpress>false</UseIISExpress>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -200,6 +201,7 @@
|
||||
<Compile Include="Scheduling\Services\ScheduledTaskManager.cs" />
|
||||
<Compile Include="Scheduling\Services\ScheduledTaskExecutor.cs" />
|
||||
<Compile Include="Scheduling\Models\Task.cs" />
|
||||
+ <Compile Include="Settings\Models\SiteSettingsCache.cs" />
|
||||
<Compile Include="Settings\Models\SiteSettings2Part.cs" />
|
||||
<Compile Include="Settings\Models\SiteSettings2PartRecord.cs" />
|
||||
<Compile Include="Settings\ResourceManifest.cs" />
|
||||
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using JetBrains.Annotations;
|
||||
using JetBrains.Annotations;
|
||||
using Orchard.Core.Settings.Models;
|
||||
using Orchard.Data;
|
||||
using Orchard.ContentManagement.Handlers;
|
||||
@@ -12,14 +11,6 @@ namespace Orchard.Core.Settings.Handlers {
|
||||
Filters.Add(new ActivatingFilter<SiteSettings2Part>("Site"));
|
||||
Filters.Add(StorageFilter.For(repository));
|
||||
Filters.Add(StorageFilter.For(repository2));
|
||||
|
||||
OnInitializing<SiteSettingsPart>(InitializeSiteSettings);
|
||||
}
|
||||
|
||||
private static void InitializeSiteSettings(InitializingContentContext initializingContentContext, SiteSettingsPart siteSettingsPart) {
|
||||
siteSettingsPart.Record.SiteSalt = Guid.NewGuid().ToString("N");
|
||||
siteSettingsPart.Record.SiteName = "My Orchard Project Application";
|
||||
siteSettingsPart.Record.PageTitleSeparator = " - ";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.Settings;
|
||||
|
||||
namespace Orchard.Core.Settings.Models {
|
||||
public class SiteSettingsCache : ISite {
|
||||
private readonly int _id;
|
||||
|
||||
private SiteSettingsPart _siteSettingsPart;
|
||||
|
||||
private string _pageTitleSeparator;
|
||||
private string _siteName;
|
||||
private string _siteSalt;
|
||||
private string _superUser;
|
||||
private string _homePage;
|
||||
private string _siteCulture;
|
||||
private ResourceDebugMode _resourceDebugMode;
|
||||
private int _pageSize;
|
||||
private string _baseUrl;
|
||||
|
||||
public SiteSettingsCache(ISite site) {
|
||||
_id = site.Id;
|
||||
_pageTitleSeparator = site.PageTitleSeparator;
|
||||
_siteName = site.SiteName;
|
||||
_siteSalt = site.SiteSalt;
|
||||
_superUser = site.SuperUser;
|
||||
_homePage = site.HomePage;
|
||||
_siteCulture = site.SiteCulture;
|
||||
_resourceDebugMode = site.ResourceDebugMode;
|
||||
_pageSize = site.PageSize;
|
||||
_baseUrl = site.BaseUrl;
|
||||
}
|
||||
|
||||
public int Id {
|
||||
get { return _id; }
|
||||
}
|
||||
|
||||
public string PageTitleSeparator {
|
||||
get { return _pageTitleSeparator; }
|
||||
|
||||
set {
|
||||
_pageTitleSeparator = value;
|
||||
SiteSettingsPart.PageTitleSeparator = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string SiteName {
|
||||
get { return _siteName; }
|
||||
|
||||
set {
|
||||
_siteName = value;
|
||||
SiteSettingsPart.SiteName = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string SiteSalt {
|
||||
get { return _siteSalt; }
|
||||
|
||||
set {
|
||||
_siteSalt = value;
|
||||
SiteSettingsPart.Record.SiteSalt = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string SuperUser {
|
||||
get { return _superUser; }
|
||||
|
||||
set {
|
||||
_superUser = value;
|
||||
SiteSettingsPart.SuperUser = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string HomePage {
|
||||
get { return _homePage; }
|
||||
|
||||
set {
|
||||
_homePage = value;
|
||||
SiteSettingsPart.HomePage = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string SiteCulture {
|
||||
get { return _siteCulture; }
|
||||
|
||||
set {
|
||||
_siteCulture = value;
|
||||
SiteSettingsPart.SiteCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
public ResourceDebugMode ResourceDebugMode {
|
||||
get { return _resourceDebugMode; }
|
||||
|
||||
set {
|
||||
_resourceDebugMode = value;
|
||||
SiteSettingsPart.ResourceDebugMode = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int PageSize {
|
||||
get { return _pageSize; }
|
||||
|
||||
set {
|
||||
_pageSize = value;
|
||||
SiteSettingsPart.PageSize = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string BaseUrl {
|
||||
get { return _baseUrl; }
|
||||
|
||||
set {
|
||||
_baseUrl = value;
|
||||
SiteSettingsPart.BaseUrl = value;
|
||||
}
|
||||
}
|
||||
|
||||
public ContentItem ContentItem {
|
||||
get { return SiteSettingsPart.ContentItem; }
|
||||
}
|
||||
|
||||
private ISiteService SiteService { get; set; }
|
||||
|
||||
private SiteSettingsPart SiteSettingsPart {
|
||||
get {
|
||||
if (_siteSettingsPart == null) {
|
||||
_siteSettingsPart = SiteService.GetSiteSettingsPart() as SiteSettingsPart;
|
||||
}
|
||||
|
||||
return _siteSettingsPart;
|
||||
}
|
||||
|
||||
set { _siteSettingsPart = value; }
|
||||
}
|
||||
|
||||
public void ResetCache(ISiteService siteService) {
|
||||
SiteService = siteService;
|
||||
SiteSettingsPart = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,27 +20,23 @@ namespace Orchard.Core.Settings.Services {
|
||||
ICacheManager cacheManager) {
|
||||
_contentManager = contentManager;
|
||||
_cacheManager = cacheManager;
|
||||
|
||||
Logger = NullLogger.Instance;
|
||||
}
|
||||
|
||||
public ILogger Logger { get; set; }
|
||||
|
||||
public ISite GetSiteSettings() {
|
||||
SiteSettingsCache siteSettingsCache = _cacheManager.Get("SiteSettings",
|
||||
ctx => new SiteSettingsCache(GetSiteSettingsPart()));
|
||||
siteSettingsCache.ResetCache(this);
|
||||
return siteSettingsCache;
|
||||
}
|
||||
|
||||
public ISite GetSiteSettingsPart() {
|
||||
var siteId = _cacheManager.Get("SiteId", ctx => {
|
||||
var site = _contentManager.Query("Site")
|
||||
.Slice(0, 1)
|
||||
.FirstOrDefault();
|
||||
|
||||
if (site == null) {
|
||||
site = _contentManager.Create<SiteSettingsPart>("Site").ContentItem;
|
||||
site = _contentManager.Create<SiteSettingsPart>("Site", item => {
|
||||
item.Record.SiteSalt = Guid.NewGuid().ToString("N");
|
||||
item.Record.SiteName = "My Orchard Project Application";
|
||||
item.Record.PageTitleSeparator = " - ";
|
||||
}).ContentItem;
|
||||
}
|
||||
|
||||
return site.Id;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
using System.Xml.Linq;
|
||||
@@ -10,6 +11,7 @@ using Orchard.Environment.Extensions.Models;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Packaging.Events;
|
||||
using Orchard.Packaging.Extensions;
|
||||
using Orchard.Packaging.GalleryServer;
|
||||
using Orchard.Packaging.Models;
|
||||
using Orchard.Packaging.Services;
|
||||
using Orchard.Packaging.ViewModels;
|
||||
@@ -151,16 +153,17 @@ namespace Orchard.Packaging.Controllers {
|
||||
int totalCount = 0;
|
||||
foreach (var source in sources) {
|
||||
try {
|
||||
Expression<Func<PublishedPackage, bool>> packagesCriteria = p => p.PackageType == packageType &&
|
||||
p.IsLatestVersion &&
|
||||
(string.IsNullOrEmpty(options.SearchText)
|
||||
|| p.Title.Contains(options.SearchText)
|
||||
|| p.Description.Contains(options.SearchText)
|
||||
|| p.Tags.Contains(options.SearchText));
|
||||
|
||||
var sourceExtensions = _packagingSourceManager.GetExtensionList(true,
|
||||
source,
|
||||
packages => {
|
||||
packages = packages.Where(p => p.PackageType == packageType &&
|
||||
p.IsLatestVersion &&
|
||||
(string.IsNullOrEmpty(options.SearchText)
|
||||
|| p.Title.Contains(options.SearchText)
|
||||
|| p.Description.Contains(options.SearchText)
|
||||
|| p.Tags.Contains(options.SearchText)
|
||||
));
|
||||
packages = packages.Where(packagesCriteria);
|
||||
|
||||
switch (options.Order) {
|
||||
case PackagingExtensionsOrder.Downloads:
|
||||
@@ -174,8 +177,8 @@ namespace Orchard.Packaging.Controllers {
|
||||
break;
|
||||
}
|
||||
|
||||
if(pager.PageSize != 0) {
|
||||
packages = packages.Skip((pager.Page - 1)*pager.PageSize).Take(pager.PageSize);
|
||||
if (pager.PageSize != 0) {
|
||||
packages = packages.Skip((pager.Page - 1) * pager.PageSize).Take(pager.PageSize);
|
||||
}
|
||||
|
||||
return packages;
|
||||
@@ -184,10 +187,7 @@ namespace Orchard.Packaging.Controllers {
|
||||
// count packages separately to prevent loading everything just to count
|
||||
totalCount += _packagingSourceManager.GetExtensionCount(
|
||||
source,
|
||||
packages => packages.Where(p => p.PackageType == packageType &&
|
||||
p.IsLatestVersion &&
|
||||
(string.IsNullOrEmpty(options.SearchText) || p.Title.Contains(options.SearchText)))
|
||||
);
|
||||
packages => packages.Where(packagesCriteria));
|
||||
|
||||
extensions = extensions == null ? sourceExtensions : extensions.Concat(sourceExtensions);
|
||||
|
||||
|
||||
@@ -140,10 +140,6 @@ namespace Orchard.Setup {
|
||||
|
||||
return site.As<ISite>();
|
||||
}
|
||||
|
||||
public ISite GetSiteSettingsPart() {
|
||||
return GetSiteSettings();
|
||||
}
|
||||
}
|
||||
|
||||
class SafeModeSite : ContentPart, ISite {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
namespace Orchard.Settings {
|
||||
public interface ISiteService : IDependency {
|
||||
ISite GetSiteSettings();
|
||||
ISite GetSiteSettingsPart();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user