public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); var controllerContext = filterContext.Controller.ControllerContext; // var siteName = controllerContext.RequestContext.GetRequestValue("siteName"); var site = new Kooboo.CMS.Sites.Models.Site(siteName); Kooboo.CMS.Sites.Models.Site.Current = site; // var pageName = controllerContext.RequestContext.GetRequestValue("pageName"); Kooboo.CMS.Sites.Models.Page page = null; if (string.IsNullOrEmpty(pageName)) { page = Kooboo.CMS.Sites.Services.ServiceFactory.PageManager.All(site, string.Empty).First(); } else { page = new Kooboo.CMS.Sites.Models.Page(site, pageName).LastVersion(); } // var channel = Kooboo.CMS.Sites.Web.FrontRequestChannel.Unknown; var pageRequestContext = new PageRequestContext(controllerContext, site, page, channel, ""); Page_Context.Current.InitContext(pageRequestContext, controllerContext); }
private cmisRepositoryCapabilitiesType GetRepositoryCapabilities(Kooboo.CMS.Sites.Models.Site site) { return(new cmisRepositoryCapabilitiesType() { capabilityGetDescendants = true, capabilityGetFolderTree = true, capabilityContentStreamUpdatability = enumCapabilityContentStreamUpdates.anytime, capabilityChanges = enumCapabilityChanges.properties, capabilityRenditions = enumCapabilityRendition.none, capabilityMultifiling = false, capabilityUnfiling = false, capabilityVersionSpecificFiling = false, capabilityPWCUpdatable = false, capabilityPWCSearchable = false, capabilityAllVersionsSearchable = false, capabilityQuery = enumCapabilityQuery.metadataonly, capabilityJoin = enumCapabilityJoin.none, capabilityACL = enumCapabilityACL.none }); }
private cmisRepositoryInfoType ToRepositoryInfo(Kooboo.CMS.Sites.Models.Site site) { var repositoryInfo = new cmisRepositoryInfoType() { repositoryId = site.FullName, repositoryName = string.IsNullOrEmpty(site.DisplayName) ? site.Name : site.DisplayName, vendorName = "Kooboo", repositoryDescription = "", productName = "Kooboo CMS", productVersion = this.GetType().Assembly.GetName().Version.ToString(), rootFolderId = "/", latestChangeLogToken = "", capabilities = GetRepositoryCapabilities(site), aclCapability = null, //todo: Not very clear for acl now. cmisVersionSupported = "1.1", thinClientURI = null, changesIncomplete = false, changesOnType = new[] { enumBaseObjectTypeIds.cmisdocument }, principalAnonymous = null, principalAnyone = null }; return(repositoryInfo); }