mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Normalizing some more line endings
This commit is contained in:
@@ -1,419 +1,419 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using Orchard.Environment;
|
using Orchard.Environment;
|
||||||
using Orchard.Environment.Configuration;
|
using Orchard.Environment.Configuration;
|
||||||
using log4net;
|
using log4net;
|
||||||
using log4net.Core;
|
using log4net.Core;
|
||||||
using log4net.Util;
|
using log4net.Util;
|
||||||
|
|
||||||
using Logger = Castle.Core.Logging.ILogger;
|
using Logger = Castle.Core.Logging.ILogger;
|
||||||
|
|
||||||
namespace Orchard.Logging {
|
namespace Orchard.Logging {
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class OrchardLog4netLogger : MarshalByRefObject, Logger, IShim {
|
public class OrchardLog4netLogger : MarshalByRefObject, Logger, IShim {
|
||||||
private static readonly Type declaringType = typeof(OrchardLog4netLogger);
|
private static readonly Type declaringType = typeof(OrchardLog4netLogger);
|
||||||
|
|
||||||
private readonly Lazy<ShellSettings> _shellSettings;
|
private readonly Lazy<ShellSettings> _shellSettings;
|
||||||
|
|
||||||
public IOrchardHostContainer HostContainer { get; set; }
|
public IOrchardHostContainer HostContainer { get; set; }
|
||||||
|
|
||||||
public OrchardLog4netLogger(log4net.Core.ILogger logger, OrchardLog4netFactory factory) {
|
public OrchardLog4netLogger(log4net.Core.ILogger logger, OrchardLog4netFactory factory) {
|
||||||
OrchardHostContainerRegistry.RegisterShim(this);
|
OrchardHostContainerRegistry.RegisterShim(this);
|
||||||
Logger = logger;
|
Logger = logger;
|
||||||
Factory = factory;
|
Factory = factory;
|
||||||
|
|
||||||
_shellSettings = new Lazy<ShellSettings>(LoadSettings);
|
_shellSettings = new Lazy<ShellSettings>(LoadSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal OrchardLog4netLogger() {
|
internal OrchardLog4netLogger() {
|
||||||
}
|
}
|
||||||
|
|
||||||
internal OrchardLog4netLogger(ILog log, OrchardLog4netFactory factory)
|
internal OrchardLog4netLogger(ILog log, OrchardLog4netFactory factory)
|
||||||
: this(log.Logger, factory) {
|
: this(log.Logger, factory) {
|
||||||
}
|
}
|
||||||
|
|
||||||
private ShellSettings LoadSettings() {
|
private ShellSettings LoadSettings() {
|
||||||
var ctx = HttpContext.Current;
|
var ctx = HttpContext.Current;
|
||||||
if (ctx == null)
|
if (ctx == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
var runningShellTable = HostContainer.Resolve<IRunningShellTable>();
|
var runningShellTable = HostContainer.Resolve<IRunningShellTable>();
|
||||||
if (runningShellTable == null)
|
if (runningShellTable == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
var shellSettings = runningShellTable.Match(new HttpContextWrapper(ctx));
|
var shellSettings = runningShellTable.Match(new HttpContextWrapper(ctx));
|
||||||
if (shellSettings == null)
|
if (shellSettings == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
var orchardHost = HostContainer.Resolve<IOrchardHost>();
|
var orchardHost = HostContainer.Resolve<IOrchardHost>();
|
||||||
if (orchardHost == null)
|
if (orchardHost == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
var shellContext = orchardHost.GetShellContext(shellSettings);
|
var shellContext = orchardHost.GetShellContext(shellSettings);
|
||||||
if (shellContext == null || shellContext.Settings == null)
|
if (shellContext == null || shellContext.Settings == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
|
||||||
return shellContext.Settings;
|
return shellContext.Settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load the log4net thread with additional properties if they are available
|
// Load the log4net thread with additional properties if they are available
|
||||||
protected internal void AddExtendedThreadInfo() {
|
protected internal void AddExtendedThreadInfo() {
|
||||||
if (_shellSettings.Value != null) {
|
if (_shellSettings.Value != null) {
|
||||||
ThreadContext.Properties["Tenant"] = _shellSettings.Value.Name;
|
ThreadContext.Properties["Tenant"] = _shellSettings.Value.Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var ctx = HttpContext.Current;
|
var ctx = HttpContext.Current;
|
||||||
if (ctx != null) {
|
if (ctx != null) {
|
||||||
ThreadContext.Properties["Url"] = ctx.Request.Url.ToString();
|
ThreadContext.Properties["Url"] = ctx.Request.Url.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(HttpException) {
|
catch(HttpException) {
|
||||||
// can happen on cloud service for an unknown reason
|
// can happen on cloud service for an unknown reason
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsDebugEnabled {
|
public bool IsDebugEnabled {
|
||||||
get { return Logger.IsEnabledFor(Level.Debug); }
|
get { return Logger.IsEnabledFor(Level.Debug); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsErrorEnabled {
|
public bool IsErrorEnabled {
|
||||||
get { return Logger.IsEnabledFor(Level.Error); }
|
get { return Logger.IsEnabledFor(Level.Error); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsFatalEnabled {
|
public bool IsFatalEnabled {
|
||||||
get { return Logger.IsEnabledFor(Level.Fatal); }
|
get { return Logger.IsEnabledFor(Level.Fatal); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsInfoEnabled {
|
public bool IsInfoEnabled {
|
||||||
get { return Logger.IsEnabledFor(Level.Info); }
|
get { return Logger.IsEnabledFor(Level.Info); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsWarnEnabled {
|
public bool IsWarnEnabled {
|
||||||
get { return Logger.IsEnabledFor(Level.Warn); }
|
get { return Logger.IsEnabledFor(Level.Warn); }
|
||||||
}
|
}
|
||||||
|
|
||||||
protected internal OrchardLog4netFactory Factory { get; set; }
|
protected internal OrchardLog4netFactory Factory { get; set; }
|
||||||
|
|
||||||
protected internal log4net.Core.ILogger Logger { get; set; }
|
protected internal log4net.Core.ILogger Logger { get; set; }
|
||||||
|
|
||||||
public override string ToString() {
|
public override string ToString() {
|
||||||
return Logger.ToString();
|
return Logger.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual Logger CreateChildLogger(String name) {
|
public virtual Logger CreateChildLogger(String name) {
|
||||||
return Factory.Create(Logger.Name + "." + name);
|
return Factory.Create(Logger.Name + "." + name);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Debug(String message) {
|
public void Debug(String message) {
|
||||||
if (IsDebugEnabled) {
|
if (IsDebugEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Debug, message, null);
|
Logger.Log(declaringType, Level.Debug, message, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Debug(Func<string> messageFactory) {
|
public void Debug(Func<string> messageFactory) {
|
||||||
if (IsDebugEnabled) {
|
if (IsDebugEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Debug, messageFactory.Invoke(), null);
|
Logger.Log(declaringType, Level.Debug, messageFactory.Invoke(), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Debug(String message, Exception exception) {
|
public void Debug(String message, Exception exception) {
|
||||||
if (IsDebugEnabled) {
|
if (IsDebugEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Debug, message, exception);
|
Logger.Log(declaringType, Level.Debug, message, exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DebugFormat(String format, params Object[] args) {
|
public void DebugFormat(String format, params Object[] args) {
|
||||||
if (IsDebugEnabled) {
|
if (IsDebugEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Debug, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
Logger.Log(declaringType, Level.Debug, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DebugFormat(Exception exception, String format, params Object[] args) {
|
public void DebugFormat(Exception exception, String format, params Object[] args) {
|
||||||
if (IsDebugEnabled) {
|
if (IsDebugEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Debug, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
Logger.Log(declaringType, Level.Debug, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DebugFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
public void DebugFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsDebugEnabled) {
|
if (IsDebugEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Debug, new SystemStringFormat(formatProvider, format, args), null);
|
Logger.Log(declaringType, Level.Debug, new SystemStringFormat(formatProvider, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DebugFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
public void DebugFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsDebugEnabled) {
|
if (IsDebugEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Debug, new SystemStringFormat(formatProvider, format, args), exception);
|
Logger.Log(declaringType, Level.Debug, new SystemStringFormat(formatProvider, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Error(String message) {
|
public void Error(String message) {
|
||||||
if (IsErrorEnabled) {
|
if (IsErrorEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Error, message, null);
|
Logger.Log(declaringType, Level.Error, message, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Error(Func<string> messageFactory) {
|
public void Error(Func<string> messageFactory) {
|
||||||
if (IsErrorEnabled) {
|
if (IsErrorEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Error, messageFactory.Invoke(), null);
|
Logger.Log(declaringType, Level.Error, messageFactory.Invoke(), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Error(String message, Exception exception) {
|
public void Error(String message, Exception exception) {
|
||||||
if (IsErrorEnabled) {
|
if (IsErrorEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Error, message, exception);
|
Logger.Log(declaringType, Level.Error, message, exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ErrorFormat(String format, params Object[] args) {
|
public void ErrorFormat(String format, params Object[] args) {
|
||||||
if (IsErrorEnabled) {
|
if (IsErrorEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Error, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
Logger.Log(declaringType, Level.Error, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ErrorFormat(Exception exception, String format, params Object[] args) {
|
public void ErrorFormat(Exception exception, String format, params Object[] args) {
|
||||||
if (IsErrorEnabled) {
|
if (IsErrorEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Error, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
Logger.Log(declaringType, Level.Error, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ErrorFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
public void ErrorFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsErrorEnabled) {
|
if (IsErrorEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Error, new SystemStringFormat(formatProvider, format, args), null);
|
Logger.Log(declaringType, Level.Error, new SystemStringFormat(formatProvider, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ErrorFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
public void ErrorFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsErrorEnabled) {
|
if (IsErrorEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Error, new SystemStringFormat(formatProvider, format, args), exception);
|
Logger.Log(declaringType, Level.Error, new SystemStringFormat(formatProvider, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Fatal(String message) {
|
public void Fatal(String message) {
|
||||||
if (IsFatalEnabled) {
|
if (IsFatalEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Fatal, message, null);
|
Logger.Log(declaringType, Level.Fatal, message, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Fatal(Func<string> messageFactory) {
|
public void Fatal(Func<string> messageFactory) {
|
||||||
if (IsFatalEnabled) {
|
if (IsFatalEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Fatal, messageFactory.Invoke(), null);
|
Logger.Log(declaringType, Level.Fatal, messageFactory.Invoke(), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Fatal(String message, Exception exception) {
|
public void Fatal(String message, Exception exception) {
|
||||||
if (IsFatalEnabled) {
|
if (IsFatalEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Fatal, message, exception);
|
Logger.Log(declaringType, Level.Fatal, message, exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FatalFormat(String format, params Object[] args) {
|
public void FatalFormat(String format, params Object[] args) {
|
||||||
if (IsFatalEnabled) {
|
if (IsFatalEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Fatal, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
Logger.Log(declaringType, Level.Fatal, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FatalFormat(Exception exception, String format, params Object[] args) {
|
public void FatalFormat(Exception exception, String format, params Object[] args) {
|
||||||
if (IsFatalEnabled) {
|
if (IsFatalEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Fatal, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
Logger.Log(declaringType, Level.Fatal, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FatalFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
public void FatalFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsFatalEnabled) {
|
if (IsFatalEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Fatal, new SystemStringFormat(formatProvider, format, args), null);
|
Logger.Log(declaringType, Level.Fatal, new SystemStringFormat(formatProvider, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FatalFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
public void FatalFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsFatalEnabled) {
|
if (IsFatalEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Fatal, new SystemStringFormat(formatProvider, format, args), exception);
|
Logger.Log(declaringType, Level.Fatal, new SystemStringFormat(formatProvider, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Info(String message) {
|
public void Info(String message) {
|
||||||
if (IsInfoEnabled) {
|
if (IsInfoEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Info, message, null);
|
Logger.Log(declaringType, Level.Info, message, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Info(Func<string> messageFactory) {
|
public void Info(Func<string> messageFactory) {
|
||||||
if (IsInfoEnabled) {
|
if (IsInfoEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Info, messageFactory.Invoke(), null);
|
Logger.Log(declaringType, Level.Info, messageFactory.Invoke(), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Info(String message, Exception exception) {
|
public void Info(String message, Exception exception) {
|
||||||
if (IsInfoEnabled) {
|
if (IsInfoEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Info, message, exception);
|
Logger.Log(declaringType, Level.Info, message, exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InfoFormat(String format, params Object[] args) {
|
public void InfoFormat(String format, params Object[] args) {
|
||||||
if (IsInfoEnabled) {
|
if (IsInfoEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Info, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
Logger.Log(declaringType, Level.Info, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InfoFormat(Exception exception, String format, params Object[] args) {
|
public void InfoFormat(Exception exception, String format, params Object[] args) {
|
||||||
if (IsInfoEnabled) {
|
if (IsInfoEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Info, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
Logger.Log(declaringType, Level.Info, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InfoFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
public void InfoFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsInfoEnabled) {
|
if (IsInfoEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Info, new SystemStringFormat(formatProvider, format, args), null);
|
Logger.Log(declaringType, Level.Info, new SystemStringFormat(formatProvider, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InfoFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
public void InfoFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsInfoEnabled) {
|
if (IsInfoEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Info, new SystemStringFormat(formatProvider, format, args), exception);
|
Logger.Log(declaringType, Level.Info, new SystemStringFormat(formatProvider, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Warn(String message) {
|
public void Warn(String message) {
|
||||||
if (IsWarnEnabled) {
|
if (IsWarnEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Warn, message, null);
|
Logger.Log(declaringType, Level.Warn, message, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Warn(Func<string> messageFactory) {
|
public void Warn(Func<string> messageFactory) {
|
||||||
if (IsWarnEnabled) {
|
if (IsWarnEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Warn, messageFactory.Invoke(), null);
|
Logger.Log(declaringType, Level.Warn, messageFactory.Invoke(), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Warn(String message, Exception exception) {
|
public void Warn(String message, Exception exception) {
|
||||||
if (IsWarnEnabled) {
|
if (IsWarnEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Warn, message, exception);
|
Logger.Log(declaringType, Level.Warn, message, exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WarnFormat(String format, params Object[] args) {
|
public void WarnFormat(String format, params Object[] args) {
|
||||||
if (IsWarnEnabled) {
|
if (IsWarnEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Warn, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
Logger.Log(declaringType, Level.Warn, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WarnFormat(Exception exception, String format, params Object[] args) {
|
public void WarnFormat(Exception exception, String format, params Object[] args) {
|
||||||
if (IsWarnEnabled) {
|
if (IsWarnEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Warn, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
Logger.Log(declaringType, Level.Warn, new SystemStringFormat(CultureInfo.InvariantCulture, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WarnFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
public void WarnFormat(IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsWarnEnabled) {
|
if (IsWarnEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Warn, new SystemStringFormat(formatProvider, format, args), null);
|
Logger.Log(declaringType, Level.Warn, new SystemStringFormat(formatProvider, format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WarnFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
public void WarnFormat(Exception exception, IFormatProvider formatProvider, String format, params Object[] args) {
|
||||||
if (IsWarnEnabled) {
|
if (IsWarnEnabled) {
|
||||||
AddExtendedThreadInfo();
|
AddExtendedThreadInfo();
|
||||||
Logger.Log(declaringType, Level.Warn, new SystemStringFormat(formatProvider, format, args), exception);
|
Logger.Log(declaringType, Level.Warn, new SystemStringFormat(formatProvider, format, args), exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use IsFatalEnabled instead")]
|
[Obsolete("Use IsFatalEnabled instead")]
|
||||||
public bool IsFatalErrorEnabled {
|
public bool IsFatalErrorEnabled {
|
||||||
get {
|
get {
|
||||||
return Logger.IsEnabledFor(Level.Fatal);
|
return Logger.IsEnabledFor(Level.Fatal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use DebugFormat instead")]
|
[Obsolete("Use DebugFormat instead")]
|
||||||
public void Debug(string format, params object[] args) {
|
public void Debug(string format, params object[] args) {
|
||||||
if (IsDebugEnabled) {
|
if (IsDebugEnabled) {
|
||||||
Logger.Log(declaringType, Level.Debug, string.Format(format, args), null);
|
Logger.Log(declaringType, Level.Debug, string.Format(format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use ErrorFormat instead")]
|
[Obsolete("Use ErrorFormat instead")]
|
||||||
public void Error(string format, params object[] args) {
|
public void Error(string format, params object[] args) {
|
||||||
if (IsErrorEnabled) {
|
if (IsErrorEnabled) {
|
||||||
Logger.Log(declaringType, Level.Error, string.Format(format, args), null);
|
Logger.Log(declaringType, Level.Error, string.Format(format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use FatalFormat instead")]
|
[Obsolete("Use FatalFormat instead")]
|
||||||
public void Fatal(string format, params object[] args) {
|
public void Fatal(string format, params object[] args) {
|
||||||
if (IsFatalEnabled) {
|
if (IsFatalEnabled) {
|
||||||
Logger.Log(declaringType, Level.Fatal, string.Format(format, args), null);
|
Logger.Log(declaringType, Level.Fatal, string.Format(format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use Fatal instead")]
|
[Obsolete("Use Fatal instead")]
|
||||||
public void FatalError(string message) {
|
public void FatalError(string message) {
|
||||||
if (IsFatalErrorEnabled) {
|
if (IsFatalErrorEnabled) {
|
||||||
Logger.Log(declaringType, Level.Fatal, message, null);
|
Logger.Log(declaringType, Level.Fatal, message, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use FatalFormat instead")]
|
[Obsolete("Use FatalFormat instead")]
|
||||||
public void FatalError(string format, params object[] args) {
|
public void FatalError(string format, params object[] args) {
|
||||||
if (IsFatalErrorEnabled) {
|
if (IsFatalErrorEnabled) {
|
||||||
Logger.Log(declaringType, Level.Fatal, string.Format(format, args), null);
|
Logger.Log(declaringType, Level.Fatal, string.Format(format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use Fatal instead")]
|
[Obsolete("Use Fatal instead")]
|
||||||
public void FatalError(string message, Exception exception) {
|
public void FatalError(string message, Exception exception) {
|
||||||
if (IsFatalErrorEnabled) {
|
if (IsFatalErrorEnabled) {
|
||||||
Logger.Log(declaringType, Level.Fatal, message, exception);
|
Logger.Log(declaringType, Level.Fatal, message, exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use InfoFormat instead")]
|
[Obsolete("Use InfoFormat instead")]
|
||||||
public void Info(string format, params object[] args) {
|
public void Info(string format, params object[] args) {
|
||||||
if (IsInfoEnabled) {
|
if (IsInfoEnabled) {
|
||||||
Logger.Log(declaringType, Level.Info, string.Format(format, args), null);
|
Logger.Log(declaringType, Level.Info, string.Format(format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use WarnFormat instead")]
|
[Obsolete("Use WarnFormat instead")]
|
||||||
public void Warn(string format, params object[] args) {
|
public void Warn(string format, params object[] args) {
|
||||||
if (IsWarnEnabled) {
|
if (IsWarnEnabled) {
|
||||||
Logger.Log(declaringType, Level.Warn, string.Format(format, args), null);
|
Logger.Log(declaringType, Level.Warn, string.Format(format, args), null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,145 +1,145 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using System.Web.Routing;
|
using System.Web.Routing;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Orchard.Environment.Extensions;
|
using Orchard.Environment.Extensions;
|
||||||
using Orchard.Mvc.Filters;
|
using Orchard.Mvc.Filters;
|
||||||
using Orchard.Security;
|
using Orchard.Security;
|
||||||
|
|
||||||
namespace Orchard.Mvc.AntiForgery {
|
namespace Orchard.Mvc.AntiForgery {
|
||||||
[UsedImplicitly]
|
[UsedImplicitly]
|
||||||
public class AntiForgeryAuthorizationFilter : FilterProvider, IAuthorizationFilter {
|
public class AntiForgeryAuthorizationFilter : FilterProvider, IAuthorizationFilter {
|
||||||
private readonly IAuthenticationService _authenticationService;
|
private readonly IAuthenticationService _authenticationService;
|
||||||
private readonly IExtensionManager _extensionManager;
|
private readonly IExtensionManager _extensionManager;
|
||||||
|
|
||||||
public AntiForgeryAuthorizationFilter(IAuthenticationService authenticationService, IExtensionManager extensionManager) {
|
public AntiForgeryAuthorizationFilter(IAuthenticationService authenticationService, IExtensionManager extensionManager) {
|
||||||
_authenticationService = authenticationService;
|
_authenticationService = authenticationService;
|
||||||
_extensionManager = extensionManager;
|
_extensionManager = extensionManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnAuthorization(AuthorizationContext filterContext) {
|
public void OnAuthorization(AuthorizationContext filterContext) {
|
||||||
// If the request is not a POST or is anonymous, and the request doesn't have validation forced, return.
|
// If the request is not a POST or is anonymous, and the request doesn't have validation forced, return.
|
||||||
if ((filterContext.HttpContext.Request.HttpMethod != "POST" ||
|
if ((filterContext.HttpContext.Request.HttpMethod != "POST" ||
|
||||||
_authenticationService.GetAuthenticatedUser() == null) && !ShouldValidateGet(filterContext)) {
|
_authenticationService.GetAuthenticatedUser() == null) && !ShouldValidateGet(filterContext)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IsAntiForgeryProtectionEnabled(filterContext)) {
|
if (!IsAntiForgeryProtectionEnabled(filterContext)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var validator = new ValidateAntiForgeryTokenAttribute();
|
var validator = new ValidateAntiForgeryTokenAttribute();
|
||||||
validator.OnAuthorization(filterContext);
|
validator.OnAuthorization(filterContext);
|
||||||
|
|
||||||
if (filterContext.HttpContext is HackHttpContext)
|
if (filterContext.HttpContext is HackHttpContext)
|
||||||
filterContext.HttpContext = ((HackHttpContext)filterContext.HttpContext).OriginalHttpContextBase;
|
filterContext.HttpContext = ((HackHttpContext)filterContext.HttpContext).OriginalHttpContextBase;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsAntiForgeryProtectionEnabled(AuthorizationContext context) {
|
private bool IsAntiForgeryProtectionEnabled(AuthorizationContext context) {
|
||||||
// POST is opt-out
|
// POST is opt-out
|
||||||
var attributes =
|
var attributes =
|
||||||
(ValidateAntiForgeryTokenOrchardAttribute[])
|
(ValidateAntiForgeryTokenOrchardAttribute[])
|
||||||
context.ActionDescriptor.GetCustomAttributes(typeof (ValidateAntiForgeryTokenOrchardAttribute), false);
|
context.ActionDescriptor.GetCustomAttributes(typeof (ValidateAntiForgeryTokenOrchardAttribute), false);
|
||||||
|
|
||||||
if (attributes.Length > 0 && !attributes[0].Enabled) return false;
|
if (attributes.Length > 0 && !attributes[0].Enabled) return false;
|
||||||
|
|
||||||
var currentModule = GetArea(context.RouteData);
|
var currentModule = GetArea(context.RouteData);
|
||||||
return !String.IsNullOrEmpty(currentModule)
|
return !String.IsNullOrEmpty(currentModule)
|
||||||
&& (_extensionManager.AvailableExtensions()
|
&& (_extensionManager.AvailableExtensions()
|
||||||
.First(descriptor => String.Equals(descriptor.Id, currentModule, StringComparison.OrdinalIgnoreCase))
|
.First(descriptor => String.Equals(descriptor.Id, currentModule, StringComparison.OrdinalIgnoreCase))
|
||||||
.AntiForgery.Equals("enabled", StringComparison.OrdinalIgnoreCase));
|
.AntiForgery.Equals("enabled", StringComparison.OrdinalIgnoreCase));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetArea(RouteData routeData) {
|
private static string GetArea(RouteData routeData) {
|
||||||
if (routeData.Values.ContainsKey("area"))
|
if (routeData.Values.ContainsKey("area"))
|
||||||
return routeData.Values["area"] as string;
|
return routeData.Values["area"] as string;
|
||||||
|
|
||||||
return routeData.DataTokens["area"] as string ?? "";
|
return routeData.DataTokens["area"] as string ?? "";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool ShouldValidateGet(AuthorizationContext context) {
|
private static bool ShouldValidateGet(AuthorizationContext context) {
|
||||||
const string tokenFieldName = "__RequestVerificationToken";
|
const string tokenFieldName = "__RequestVerificationToken";
|
||||||
|
|
||||||
var attributes =
|
var attributes =
|
||||||
(ValidateAntiForgeryTokenOrchardAttribute[])
|
(ValidateAntiForgeryTokenOrchardAttribute[])
|
||||||
context.ActionDescriptor.GetCustomAttributes(typeof (ValidateAntiForgeryTokenOrchardAttribute), false);
|
context.ActionDescriptor.GetCustomAttributes(typeof (ValidateAntiForgeryTokenOrchardAttribute), false);
|
||||||
|
|
||||||
if (attributes.Length > 0 && attributes[0].Enabled) {
|
if (attributes.Length > 0 && attributes[0].Enabled) {
|
||||||
var request = context.HttpContext.Request;
|
var request = context.HttpContext.Request;
|
||||||
|
|
||||||
//HAACK: (erikpo) If the token is in the querystring, put it in the form so MVC can validate it
|
//HAACK: (erikpo) If the token is in the querystring, put it in the form so MVC can validate it
|
||||||
if (!string.IsNullOrEmpty(request.QueryString[tokenFieldName])) {
|
if (!string.IsNullOrEmpty(request.QueryString[tokenFieldName])) {
|
||||||
context.HttpContext = new HackHttpContext(context.HttpContext, (HttpContext)context.HttpContext.Items["originalHttpContext"]);
|
context.HttpContext = new HackHttpContext(context.HttpContext, (HttpContext)context.HttpContext.Items["originalHttpContext"]);
|
||||||
((HackHttpRequest)context.HttpContext.Request).AddFormValue(tokenFieldName, context.HttpContext.Request.QueryString[tokenFieldName]);
|
((HackHttpRequest)context.HttpContext.Request).AddFormValue(tokenFieldName, context.HttpContext.Request.QueryString[tokenFieldName]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region HackHttpContext
|
#region HackHttpContext
|
||||||
|
|
||||||
private class HackHttpContext : HttpContextWrapper {
|
private class HackHttpContext : HttpContextWrapper {
|
||||||
private readonly HttpContextBase _originalHttpContextBase;
|
private readonly HttpContextBase _originalHttpContextBase;
|
||||||
private readonly HttpContext _originalHttpContext;
|
private readonly HttpContext _originalHttpContext;
|
||||||
private HttpRequestWrapper _request;
|
private HttpRequestWrapper _request;
|
||||||
|
|
||||||
public HackHttpContext(HttpContextBase httpContextBase, HttpContext httpContext)
|
public HackHttpContext(HttpContextBase httpContextBase, HttpContext httpContext)
|
||||||
: base(httpContext) {
|
: base(httpContext) {
|
||||||
_originalHttpContextBase = httpContextBase;
|
_originalHttpContextBase = httpContextBase;
|
||||||
_originalHttpContext = httpContext;
|
_originalHttpContext = httpContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpContextBase OriginalHttpContextBase {
|
public HttpContextBase OriginalHttpContextBase {
|
||||||
get { return _originalHttpContextBase; }
|
get { return _originalHttpContextBase; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public override HttpRequestBase Request
|
public override HttpRequestBase Request
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_request == null)
|
if (_request == null)
|
||||||
_request = new HackHttpRequest(_originalHttpContext.Request);
|
_request = new HackHttpRequest(_originalHttpContext.Request);
|
||||||
|
|
||||||
return _request;
|
return _request;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region HackHttpRequest
|
#region HackHttpRequest
|
||||||
|
|
||||||
private class HackHttpRequest : HttpRequestWrapper {
|
private class HackHttpRequest : HttpRequestWrapper {
|
||||||
private readonly HttpRequest _originalHttpRequest;
|
private readonly HttpRequest _originalHttpRequest;
|
||||||
private NameValueCollection _form;
|
private NameValueCollection _form;
|
||||||
|
|
||||||
public HackHttpRequest(HttpRequest httpRequest)
|
public HackHttpRequest(HttpRequest httpRequest)
|
||||||
: base(httpRequest) {
|
: base(httpRequest) {
|
||||||
_originalHttpRequest = httpRequest;
|
_originalHttpRequest = httpRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override NameValueCollection Form
|
public override NameValueCollection Form
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_form == null)
|
if (_form == null)
|
||||||
_form = new NameValueCollection(_originalHttpRequest.Form);
|
_form = new NameValueCollection(_originalHttpRequest.Form);
|
||||||
|
|
||||||
return _form;
|
return _form;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddFormValue(string key, string value) {
|
public void AddFormValue(string key, string value) {
|
||||||
Form.Add(key, value);
|
Form.Add(key, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,162 +1,162 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using System.Web.Mvc.Html;
|
using System.Web.Mvc.Html;
|
||||||
using System.Web.Routing;
|
using System.Web.Routing;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.Utility.Extensions;
|
using Orchard.Utility.Extensions;
|
||||||
|
|
||||||
namespace Orchard.Mvc.Html {
|
namespace Orchard.Mvc.Html {
|
||||||
public static class ContentItemExtensions {
|
public static class ContentItemExtensions {
|
||||||
|
|
||||||
public static MvcHtmlString ItemDisplayText(this HtmlHelper html, IContent content) {
|
public static MvcHtmlString ItemDisplayText(this HtmlHelper html, IContent content) {
|
||||||
return ItemDisplayText(html, content, true);
|
return ItemDisplayText(html, content, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemDisplayText(this HtmlHelper html, IContent content, bool encode) {
|
public static MvcHtmlString ItemDisplayText(this HtmlHelper html, IContent content, bool encode) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.DisplayText == null)
|
if (metadata.DisplayText == null)
|
||||||
return null;
|
return null;
|
||||||
if (encode) {
|
if (encode) {
|
||||||
return MvcHtmlString.Create(html.Encode(metadata.DisplayText));
|
return MvcHtmlString.Create(html.Encode(metadata.DisplayText));
|
||||||
} else {
|
} else {
|
||||||
return MvcHtmlString.Create(metadata.DisplayText);
|
return MvcHtmlString.Create(metadata.DisplayText);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, IContent content) {
|
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, IContent content) {
|
||||||
return ItemDisplayLink(html, null, content, null);
|
return ItemDisplayLink(html, null, content, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, IContent content, object htmlAttributes) {
|
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, IContent content, object htmlAttributes) {
|
||||||
return ItemDisplayLink(html, null, content, htmlAttributes);
|
return ItemDisplayLink(html, null, content, htmlAttributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, string linkText, IContent content) {
|
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, string linkText, IContent content) {
|
||||||
return ItemDisplayLink(html, linkText, content, null);
|
return ItemDisplayLink(html, linkText, content, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, string linkText, IContent content, object htmlAttributes = null) {
|
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, string linkText, IContent content, object htmlAttributes = null) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.DisplayRouteValues == null)
|
if (metadata.DisplayRouteValues == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return html.ActionLink(
|
return html.ActionLink(
|
||||||
NonNullOrEmpty(linkText, metadata.DisplayText, "view"),
|
NonNullOrEmpty(linkText, metadata.DisplayText, "view"),
|
||||||
Convert.ToString(metadata.DisplayRouteValues["action"]),
|
Convert.ToString(metadata.DisplayRouteValues["action"]),
|
||||||
metadata.DisplayRouteValues,
|
metadata.DisplayRouteValues,
|
||||||
new RouteValueDictionary(htmlAttributes));
|
new RouteValueDictionary(htmlAttributes));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ItemDisplayUrl(this UrlHelper urlHelper, IContent content) {
|
public static string ItemDisplayUrl(this UrlHelper urlHelper, IContent content) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.DisplayRouteValues == null)
|
if (metadata.DisplayRouteValues == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return urlHelper.Action(
|
return urlHelper.Action(
|
||||||
Convert.ToString(metadata.DisplayRouteValues["action"]),
|
Convert.ToString(metadata.DisplayRouteValues["action"]),
|
||||||
metadata.DisplayRouteValues);
|
metadata.DisplayRouteValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemRemoveLink(this HtmlHelper html, IContent content) {
|
public static MvcHtmlString ItemRemoveLink(this HtmlHelper html, IContent content) {
|
||||||
return ItemRemoveLink(html, null, content, null);
|
return ItemRemoveLink(html, null, content, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemRemoveLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues) {
|
public static MvcHtmlString ItemRemoveLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.RemoveRouteValues == null)
|
if (metadata.RemoveRouteValues == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return html.ActionLink(
|
return html.ActionLink(
|
||||||
NonNullOrEmpty(linkText, metadata.DisplayText, "remove"),
|
NonNullOrEmpty(linkText, metadata.DisplayText, "remove"),
|
||||||
Convert.ToString(metadata.RemoveRouteValues["action"]),
|
Convert.ToString(metadata.RemoveRouteValues["action"]),
|
||||||
metadata.RemoveRouteValues.Merge(additionalRouteValues));
|
metadata.RemoveRouteValues.Merge(additionalRouteValues));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ItemRemoveUrl(this UrlHelper urlHelper, IContent content, object additionalRouteValues) {
|
public static string ItemRemoveUrl(this UrlHelper urlHelper, IContent content, object additionalRouteValues) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.RemoveRouteValues == null)
|
if (metadata.RemoveRouteValues == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return urlHelper.Action(
|
return urlHelper.Action(
|
||||||
Convert.ToString(metadata.RemoveRouteValues["action"]),
|
Convert.ToString(metadata.RemoveRouteValues["action"]),
|
||||||
metadata.RemoveRouteValues.Merge(additionalRouteValues));
|
metadata.RemoveRouteValues.Merge(additionalRouteValues));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemEditLinkWithReturnUrl(this HtmlHelper html, string linkText, IContent content) {
|
public static MvcHtmlString ItemEditLinkWithReturnUrl(this HtmlHelper html, string linkText, IContent content) {
|
||||||
return html.ItemEditLink(linkText, content, new { ReturnUrl = html.ViewContext.HttpContext.Request.RawUrl });
|
return html.ItemEditLink(linkText, content, new { ReturnUrl = html.ViewContext.HttpContext.Request.RawUrl });
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContent content) {
|
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContent content) {
|
||||||
return html.ItemEditLink(linkText, content, null);
|
return html.ItemEditLink(linkText, content, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues) {
|
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.EditorRouteValues == null)
|
if (metadata.EditorRouteValues == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return html.ActionLink(
|
return html.ActionLink(
|
||||||
NonNullOrEmpty(linkText, metadata.DisplayText, content.ContentItem.TypeDefinition.DisplayName),
|
NonNullOrEmpty(linkText, metadata.DisplayText, content.ContentItem.TypeDefinition.DisplayName),
|
||||||
Convert.ToString(metadata.EditorRouteValues["action"]),
|
Convert.ToString(metadata.EditorRouteValues["action"]),
|
||||||
metadata.EditorRouteValues.Merge(additionalRouteValues));
|
metadata.EditorRouteValues.Merge(additionalRouteValues));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues, object htmlAttributes) {
|
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues, object htmlAttributes) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.EditorRouteValues == null)
|
if (metadata.EditorRouteValues == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return html.ActionLink(
|
return html.ActionLink(
|
||||||
NonNullOrEmpty(linkText, metadata.DisplayText, content.ContentItem.TypeDefinition.DisplayName),
|
NonNullOrEmpty(linkText, metadata.DisplayText, content.ContentItem.TypeDefinition.DisplayName),
|
||||||
Convert.ToString(metadata.EditorRouteValues["action"]),
|
Convert.ToString(metadata.EditorRouteValues["action"]),
|
||||||
metadata.EditorRouteValues.Merge(additionalRouteValues),
|
metadata.EditorRouteValues.Merge(additionalRouteValues),
|
||||||
htmlAttributes);
|
htmlAttributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemAdminLink(this HtmlHelper html, IContent content) {
|
public static MvcHtmlString ItemAdminLink(this HtmlHelper html, IContent content) {
|
||||||
return ItemAdminLink(html, null, content);
|
return ItemAdminLink(html, null, content);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemAdminLink(this HtmlHelper html, string linkText, IContent content) {
|
public static MvcHtmlString ItemAdminLink(this HtmlHelper html, string linkText, IContent content) {
|
||||||
return html.ItemAdminLink(linkText, content, null);
|
return html.ItemAdminLink(linkText, content, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemAdminLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues) {
|
public static MvcHtmlString ItemAdminLink(this HtmlHelper html, string linkText, IContent content, object additionalRouteValues) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.AdminRouteValues == null)
|
if (metadata.AdminRouteValues == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return html.ActionLink(
|
return html.ActionLink(
|
||||||
NonNullOrEmpty(linkText, metadata.DisplayText, content.ContentItem.TypeDefinition.DisplayName),
|
NonNullOrEmpty(linkText, metadata.DisplayText, content.ContentItem.TypeDefinition.DisplayName),
|
||||||
Convert.ToString(metadata.AdminRouteValues["action"]),
|
Convert.ToString(metadata.AdminRouteValues["action"]),
|
||||||
metadata.AdminRouteValues.Merge(additionalRouteValues));
|
metadata.AdminRouteValues.Merge(additionalRouteValues));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ItemEditUrl(this UrlHelper urlHelper, IContent content, object additionalRouteValues = null) {
|
public static string ItemEditUrl(this UrlHelper urlHelper, IContent content, object additionalRouteValues = null) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
if (metadata.EditorRouteValues == null)
|
if (metadata.EditorRouteValues == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return urlHelper.Action(
|
return urlHelper.Action(
|
||||||
Convert.ToString(metadata.EditorRouteValues["action"]),
|
Convert.ToString(metadata.EditorRouteValues["action"]),
|
||||||
metadata.EditorRouteValues.Merge(additionalRouteValues ?? new {}));
|
metadata.EditorRouteValues.Merge(additionalRouteValues ?? new {}));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ItemAdminUrl(this UrlHelper urlHelper, IContent content, object additionalRouteValues = null) {
|
public static string ItemAdminUrl(this UrlHelper urlHelper, IContent content, object additionalRouteValues = null) {
|
||||||
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
var metadata = content.ContentItem.ContentManager.GetItemMetadata(content);
|
||||||
return metadata.AdminRouteValues == null ? null : urlHelper.RouteUrl(metadata.AdminRouteValues.Merge(additionalRouteValues ?? new { }));
|
return metadata.AdminRouteValues == null ? null : urlHelper.RouteUrl(metadata.AdminRouteValues.Merge(additionalRouteValues ?? new { }));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string NonNullOrEmpty(params string[] values) {
|
private static string NonNullOrEmpty(params string[] values) {
|
||||||
foreach (var value in values) {
|
foreach (var value in values) {
|
||||||
if (!string.IsNullOrEmpty(value))
|
if (!string.IsNullOrEmpty(value))
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MvcHtmlString ItemEditLink(this HtmlHelper html, IContent content) {
|
public static MvcHtmlString ItemEditLink(this HtmlHelper html, IContent content) {
|
||||||
return ItemEditLink(html, null, content);
|
return ItemEditLink(html, null, content);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user