diff --git a/src/Umbraco.Web/umbraco.presentation/UmbracoContext.cs b/src/Umbraco.Web/umbraco.presentation/UmbracoContext.cs
index 29d6ba6ee4..fe65aa25e4 100644
--- a/src/Umbraco.Web/umbraco.presentation/UmbracoContext.cs
+++ b/src/Umbraco.Web/umbraco.presentation/UmbracoContext.cs
@@ -68,65 +68,27 @@ namespace umbraco.presentation
///
/// Gets the current page ID, or null if no page ID is available (e.g. a custom page).
///
- public virtual int? PageId
- {
- get
- {
- try
- {
- return int.Parse(_httpContext.Items["pageID"].ToString());
- }
- catch
- {
- return null;
- }
- }
- }
+ public virtual int? PageId { get { return Umbraco.Web.UmbracoContext.Current.PageId; } }
///
/// Gets the current logged in Umbraco user (editor).
///
/// The Umbraco user object or null
- public virtual User UmbracoUser
- {
- get
- {
- return BasePages.UmbracoEnsuredPage.CurrentUser;
- }
-
- }
+ public virtual User UmbracoUser { get { return Umbraco.Web.UmbracoContext.Current.UmbracoUser; } }
///
/// Determines whether the current user is in a preview mode and browsing the site (ie. not in the admin UI)
///
- public virtual bool InPreviewMode
- {
- get
- {
- string currentUrl = Request.Url.AbsolutePath;
- // zb-00004 #29956 : refactor cookies names & handling
- return
- StateHelper.Cookies.Preview.HasValue // has preview cookie
- && UmbracoUser != null // has user
- && !currentUrl.StartsWith(IO.IOHelper.ResolveUrl(IO.SystemDirectories.Umbraco)); // is not in admin UI
- }
- }
+ public virtual bool InPreviewMode { get { return Umbraco.Web.UmbracoContext.Current.InPreviewMode; } }
public XmlDocument GetXml()
{
- if (InPreviewMode)
- {
- if (_previewContent == null)
- {
- _previewContent = new PreviewContent(UmbracoUser, new Guid(StateHelper.Cookies.Preview.GetValue()), true);
- if (_previewContent.ValidPreviewSet)
- _previewContent.LoadPreviewset();
- }
- if (_previewContent.ValidPreviewSet)
- return _previewContent.XmlContent;
- }
- return content.Instance.XmlContent;
+ var umbracoContext = Umbraco.Web.UmbracoContext.Current;
+ var cache = umbracoContext.ContentCache.InnerCache as Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedContentCache;
+ if (cache == null)
+ throw new InvalidOperationException("ContentCache is not XmlPublishedCache.PublishedContentCache.");
+ return cache.GetXml(umbracoContext);
}
///