Files
Umbraco-CMS/src/Umbraco.Core/IO/SystemDirectories.cs
2019-09-09 15:54:03 +01:00

68 lines
2.0 KiB
C#

using System.Web;
namespace Umbraco.Core.IO
{
//all paths has a starting but no trailing /
public class SystemDirectories
{
public static string Bin => "~/bin";
public static string Config => "~/config";
public static string Data => "~/App_Data";
public static string TempData => Data + "/TEMP";
public static string TempFileUploads => TempData + "/FileUploads";
public static string TempImageUploads => TempFileUploads + "/rte";
public static string Install => "~/install";
public static string AppCode => "~/App_Code";
public static string AppPlugins => "~/App_Plugins";
public static string MvcViews => "~/Views";
public static string PartialViews => MvcViews + "/Partials/";
public static string MacroPartials => MvcViews + "/MacroPartials/";
public static string Media => IOHelper.ReturnPath("umbracoMediaPath", "~/media");
public static string Scripts => IOHelper.ReturnPath("umbracoScriptsPath", "~/scripts");
public static string Css => IOHelper.ReturnPath("umbracoCssPath", "~/css");
public static string Umbraco => IOHelper.ReturnPath("umbracoPath", "~/umbraco");
public static string Packages => Data + "/packages";
public static string Preview => Data + "/preview";
private static string _root;
/// <summary>
/// Gets the root path of the application
/// </summary>
public static string Root
{
get
{
if (_root != null) return _root;
var appPath = HttpRuntime.AppDomainAppVirtualPath;
// ReSharper disable once ConditionIsAlwaysTrueOrFalse
if (appPath == null || appPath == "/") appPath = string.Empty;
_root = appPath;
return _root;
}
//Only required for unit tests
internal set => _root = value;
}
}
}