Exemple #1
0
        /// <summary>
        /// returns the content tree level for the given id
        /// </summary>
        private CompareContentTreeNode GetContentTree(ContentTreeModel data)
        {
            try
            {
                if (data.Id == null)
                {
                    data.Id = "";
                }
                var args = new RemoteContentTreeArgs(data.Id, data.Database, data.Server, data.Children);
                if (args.Server != null)
                {
                    return(_remoteContent.GetContentTreeNode(args));
                }
            }
            catch (RuntimeBinderException)
            {
            }
            Request.InputStream.Seek(0, SeekOrigin.Begin);
            string payload = new StreamReader(Request.InputStream).ReadToEnd();

            if (!_remoteContent.HmacServer.ValidateRequest(new HttpRequestWrapper(System.Web.HttpContext.Current.Request), x => new[] { new SignatureFactor("payload", payload) }))
            {
                System.Web.HttpContext.Current.Response.StatusCode = 403;
                return(null);
            }

            return(data.Id == "" ? ContentMigrationRegistration.Root : new CompareContentTreeNode(_sitecore.GetItemData(data.Id)));
        }
        public IList <ContentTreeModel> ContentChild(int root, int uid)
        {
            var userDefaultPerms = GetDefaultUserPermissions(uid);

            var childrenOfRoot = _contentService.GetChildren(root).OrderBy(o => o.SortOrder);

            IList <ContentTreeModel> rtn = new List <ContentTreeModel>();

            foreach (var child in childrenOfRoot)
            {
                var item = new ContentTreeModel
                {
                    PageId        = child.Id,
                    ParentId      = child.ParentId,
                    RootId        = root,
                    PageName      = child.Name,
                    Published     = child.Published,
                    PublishedDate = child.UpdateDate
                };

                var perms =
                    _contentService.GetPermissionsForEntity(child)
                    .Where(t => t.UserId == uid)
                    .Select(s => s.AssignedPermissions).ToList();
                if (!perms.Any())
                {
                    perms = userDefaultPerms;
                }
                item.UserPermissions = perms;
                rtn.Add(item);
            }
            return(rtn);
        }
        /// <summary>
        ///     Get data from the root / home content node
        /// </summary>
        /// <param name="uid"></param>
        /// <returns></returns>
        public IList <ContentTreeModel> ContentRoot(int uid)
        {
            IList <ContentTreeModel> rtn = new List <ContentTreeModel>();

            var userDefaultPerms = GetDefaultUserPermissions(uid);

            var rootContent = _contentService.GetRootContent().OrderBy(o => o.SortOrder);

            foreach (var root in rootContent)
            {
                var item = new ContentTreeModel
                {
                    PageId          = root.Id,
                    PageName        = root.Name,
                    RootId          = root.Id,
                    Published       = root.Published,
                    PublishedDate   = root.UpdateDate,
                    UserPermissions = _contentService.GetPermissionsForEntity(root).Select(s => s.AssignedPermissions)
                };

                var perms =
                    _contentService.GetPermissionsForEntity(root)
                    .Where(t => t.UserId == uid)
                    .Select(s => s.AssignedPermissions).ToList();
                if (!perms.Any())
                {
                    perms = userDefaultPerms;
                }
                item.UserPermissions = perms;
                rtn.Add(item);
            }
            return(rtn);
        }
        public ContentTreeModel GetPage(int pageId)
        {
            var page = _contentService.GetById(pageId);

            var model = new ContentTreeModel {
                PageName = page.Name
            };

            return(model);
        }
Exemple #5
0
        private object GetContentTree(ContentTreeModel data)
        {
            if (string.IsNullOrWhiteSpace(data.Id))
            {
                return(null);
            }

            var item = _sitecore.GetItemData(data.Id, data.Database);

            return(new ContentTreeNode(item));
        }
Exemple #6
0
        private object GetContentTree(ContentTreeModel data)
        {
            if (string.IsNullOrWhiteSpace(data.Id))
            {
                return(Root);
            }

            IItemData item = _sitecoreDataAccessSerivce.GetItemData(data.Id, data.Database);

            return(new ContentTreeNode(item));
        }
Exemple #7
0
        private List <string> GetItemYaml(ContentTreeModel data)
        {
            Request.InputStream.Seek(0, SeekOrigin.Begin);
            string payload = new StreamReader(Request.InputStream).ReadToEnd();

            if (!_remoteContent.HmacServer.ValidateRequest(new HttpRequestWrapper(System.Web.HttpContext.Current.Request), x => new[] { new SignatureFactor("payload", payload) }))
            {
                System.Web.HttpContext.Current.Response.StatusCode = 403;
                return(null);
            }

            var db = Factory.GetDatabase(data.Database);

            using (new SecurityDisabler())
            {
                Item item = db.GetItem(data.Id ?? data.Ids.FirstOrDefault());

                return(new List <string> {
                    item.GetYaml()
                });
            }
        }
Exemple #8
0
 public ActionResult ItemYaml(ContentTreeModel data)
 {
     return(ScsJson(GetItemYaml(data)));
 }
Exemple #9
0
 public ActionResult ContentTree(ContentTreeModel data)
 {
     return(ScsJson(GetContentTree(data)));
 }
 private object GetContentTree(ContentTreeModel data)
 {
     return(string.IsNullOrWhiteSpace(data.Id.ToString()) ? Root : new ContentTreeNode(Factory.GetDatabase(data.Database.ToString()).GetItem(new ID(data.Id))));
 }