diff --git a/lib/claysharp/ClaySharp.dll b/lib/claysharp/ClaySharp.dll index 794da7f96..a5e194cef 100644 Binary files a/lib/claysharp/ClaySharp.dll and b/lib/claysharp/ClaySharp.dll differ diff --git a/src/Orchard.Web/Core/Shapes/CoreShapes.cs b/src/Orchard.Web/Core/Shapes/CoreShapes.cs index 0a20329d0..51de1cd3d 100644 --- a/src/Orchard.Web/Core/Shapes/CoreShapes.cs +++ b/src/Orchard.Web/Core/Shapes/CoreShapes.cs @@ -43,6 +43,7 @@ namespace Orchard.Core.Shapes { .OnCreating(creating => creating.Behaviors.Add(new ZoneHoldingBehavior(() => creating.New.Zone()))) .OnCreated(created => { var layout = created.Shape; + layout.Head = created.New.DocumentZone(ZoneName: "Head"); layout.Body = created.New.DocumentZone(ZoneName: "Body"); layout.Tail = created.New.DocumentZone(ZoneName: "Tail"); diff --git a/src/Orchard.Web/Modules/Orchard.DesignerTools/Services/ObjectDumper.cs b/src/Orchard.Web/Modules/Orchard.DesignerTools/Services/ObjectDumper.cs index b46486d44..16800e6c3 100644 --- a/src/Orchard.Web/Modules/Orchard.DesignerTools/Services/ObjectDumper.cs +++ b/src/Orchard.Web/Modules/Orchard.DesignerTools/Services/ObjectDumper.cs @@ -5,7 +5,6 @@ using System.Linq; using System.Reflection; using System.Xml.Linq; using ClaySharp; -using ClaySharp.Behaviors; using Orchard.ContentManagement; using Orchard.DisplayManagement; @@ -168,34 +167,12 @@ namespace Orchard.DesignerTools.Services { } private void DumpShape(IShape shape) { + var members = new Dictionary(); + ((IClayBehaviorProvider) (dynamic) shape).Behavior.GetMembers(() => null, shape, members); - var b = ((IClayBehaviorProvider) (dynamic) shape).Behavior as ClayBehaviorCollection; - - if (b == null) - return; - - // seek the PropBehavior if exists - var propBehavior = b.OfType().FirstOrDefault(); - - if (propBehavior == null) - return; - - // retrieve the internal dictionary for properties - var props = propBehavior.GetType().GetField("_props", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.GetField).GetValue(propBehavior) as Dictionary; - - if (props == null) - return; - - if (props.Keys.Count == 0) { - return; - } - - foreach (var key in props.Keys) { - // ignore private members (added dynmically by the shape wrapper) - if (key.ToString().StartsWith("_")) { - continue; - } - Dump(props[key], key.ToString()); + foreach (var key in members.Keys.Where(key => !key.StartsWith("_"))) { + // ignore private members (added dynamically by the shape wrapper) + Dump(members[key], key); } } diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Services/SiteThemeService.cs b/src/Orchard.Web/Modules/Orchard.Themes/Services/SiteThemeService.cs index 7a1c10902..8c11d7e6a 100644 --- a/src/Orchard.Web/Modules/Orchard.Themes/Services/SiteThemeService.cs +++ b/src/Orchard.Web/Modules/Orchard.Themes/Services/SiteThemeService.cs @@ -2,8 +2,6 @@ using Orchard.ContentManagement; using Orchard.Environment.Extensions; using Orchard.Environment.Extensions.Models; -using Orchard.Localization; -using Orchard.Logging; using Orchard.Themes.Models; namespace Orchard.Themes.Services { @@ -17,7 +15,6 @@ namespace Orchard.Themes.Services { public const string CurrentThemeSignal = "SiteCurrentTheme"; private readonly IExtensionManager _extensionManager; - private readonly IWorkContextAccessor _workContextAccessor; private readonly ICacheManager _cacheManager; private readonly ISignals _signals; private readonly IOrchardServices _orchardServices; @@ -25,22 +22,14 @@ namespace Orchard.Themes.Services { public SiteThemeService( IOrchardServices orchardServices, IExtensionManager extensionManager, - IWorkContextAccessor workContextAccessor, ICacheManager cacheManager, ISignals signals) { _orchardServices = orchardServices; _extensionManager = extensionManager; - _workContextAccessor = workContextAccessor; _cacheManager = cacheManager; _signals = signals; - - Logger = NullLogger.Instance; - - T = NullLocalizer.Instance; } - public Localizer T { get; set; } - public ILogger Logger { get; set; } public ExtensionDescriptor GetSiteTheme() { string currentThemeName = GetCurrentThemeName(); @@ -48,7 +37,7 @@ namespace Orchard.Themes.Services { } public void SetSiteTheme(string themeName) { - var site = _workContextAccessor.GetContext().CurrentSite; + var site = _orchardServices.WorkContext.CurrentSite; site.As().CurrentThemeName = themeName; _signals.Trigger(CurrentThemeSignal); diff --git a/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml b/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml index 35559d59b..50b0cfd58 100644 --- a/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml +++ b/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml @@ -40,91 +40,93 @@ } @if (Model.TotalItemCount > 1) { - + } } @using(Script.Foot()) {