Beispiel #1
0
    public override CommandResult Run()
    {
      var count = 0;
      string msg;

      using (var cs = new ContextSwitcher(Context, Path))
      {
        if (cs.Result.Status != CommandStatus.Success)
          return cs.Result;

        var inspector = new ItemInspector(Context.CurrentItem);
        count = inspector.CountDescendants();

        var parent = Context.CurrentItem.Parent;

        if (NoRecycle)
        {
          Context.CurrentItem.Delete();
          msg = "Deleted";
        }
        else
        {
          Context.CurrentItem.Recycle();
          msg = "Recycled";
        }

        if (Path.Length == 0)
          Context.CurrentItem = parent;
      }

      return new CommandResult(CommandStatus.Success, string.Format(msg + " {0} {1}", count, count == 1 ? "item" : "items"));
    }
        public void Execute(FeedContext context)
        {
            var projectionId = context.ValueProvider.GetValue("projection");

            if (projectionId == null)
            {
                return;
            }

            var limitValue = context.ValueProvider.GetValue("limit");
            var limit      = 20;

            if (limitValue != null)
            {
                limit = (int)limitValue.ConvertTo(typeof(int));
            }

            var containerId = (int)projectionId.ConvertTo(typeof(int));
            var container   = _contentManager.Get <ProjectionPart>(containerId);

            if (container == null)
            {
                return;
            }

            var inspector = new ItemInspector(container, _contentManager.GetItemMetadata(container), _htmlFilters);

            if (context.Format == "rss")
            {
                var link = new XElement("link");
                context.Response.Element.SetElementValue("title", inspector.Title);
                context.Response.Element.Add(link);
                context.Response.Element.SetElementValue("description", inspector.Description);

                context.Response.Contextualize(requestContext => {
                    var urlHelper  = new UrlHelper(requestContext);
                    var uriBuilder = new UriBuilder(urlHelper.RequestContext.HttpContext.Request.ToRootUrlString())
                    {
                        Path = urlHelper.RouteUrl(inspector.Link)
                    };
                    link.Add(uriBuilder.Uri.OriginalString);
                });
            }
            else
            {
                context.Builder.AddProperty(context, null, "title", inspector.Title);
                context.Builder.AddProperty(context, null, "description", inspector.Description);
                context.Response.Contextualize(requestContext => {
                    var urlHelper = new UrlHelper(requestContext);
                    context.Builder.AddProperty(context, null, "link", urlHelper.RouteUrl(inspector.Link));
                });
            }

            var items = _projectionManager.GetContentItems(container.Record.QueryPartRecord.Id, 0, limit).ToList();

            foreach (var item in items)
            {
                context.Builder.AddItem(context, item);
            }
        }
Beispiel #3
0
    public override CommandResult Run()
    {
      var output = new StringBuilder();

      using (var cs = new ContextSwitcher(Context, Path))
      {
        if (cs.Result.Status != CommandStatus.Success)
          return cs.Result;

        var inspector = new ItemInspector(Context.CurrentItem);

        if (Attribute.Length > 0)
        {
          var value = inspector.GetItemAttribute(Attribute);
          if (value == null)
            return new CommandResult(CommandStatus.Failure, "Failed to find attribute " + Attribute);

          output.Append(value);
        }
        else
        {
          Formatter.PrintDefinition("id", inspector.GetItemAttribute("id") ?? Constants.NotDefinedLiteral, output);
          Formatter.PrintDefinition("name", inspector.GetItemAttribute("name") ?? Constants.NotDefinedLiteral, output);
          Formatter.PrintDefinition("key", inspector.GetItemAttribute("key") ?? Constants.NotDefinedLiteral, output);
          Formatter.PrintDefinition("template", inspector.GetItemAttribute("template") ?? Constants.NotDefinedLiteral, output);
          Formatter.PrintDefinition("templateid", inspector.GetItemAttribute("templateid") ?? Constants.NotDefinedLiteral, output);
          Formatter.PrintDefinition("branch", inspector.GetItemAttribute("branch") ?? Constants.NotDefinedLiteral, output);
          Formatter.PrintDefinition("branchid", inspector.GetItemAttribute("branchid") ?? Constants.NotDefinedLiteral, output);
          Formatter.PrintDefinition("language", inspector.GetItemAttribute("language") ?? Constants.NotDefinedLiteral, output);
          Formatter.PrintDefinition("version", inspector.GetItemAttribute("version") ?? Constants.NotDefinedLiteral, output);
        }
      }

      return new CommandResult(CommandStatus.Success, output.ToString());
    }
        public void Execute(FeedContext context)
        {
            var calendarId = context.ValueProvider.GetValue("calendar");

            if (calendarId == null)
            {
                return;
            }

            var containerId = (int)calendarId.ConvertTo(typeof(int));
            var container   = _contentManager.Get <CalendarPart>(containerId);

            if (container == null)
            {
                return;
            }

            var inspector = new ItemInspector(container, _contentManager.GetItemMetadata(container));

            if (context.Format == "rss")
            {
                var link = new XElement("link");
                context.Response.Element.SetElementValue("title", inspector.Title);
                context.Response.Element.Add(link);
                context.Response.Element.SetElementValue("description", inspector.Description);

                context.Response.Contextualize(requestContext =>
                {
                    var urlHelper  = new UrlHelper(requestContext);
                    var uriBuilder = new UriBuilder(urlHelper.MakeAbsolute("/"))
                    {
                        Path = urlHelper.RouteUrl(inspector.Link) ?? "/"
                    };
                    link.Add(uriBuilder.Uri.OriginalString);
                });
            }
            else
            {
                context.Builder.AddProperty(context, null, "title", inspector.Title);
                context.Builder.AddProperty(context, null, "description", inspector.Description);
                context.Response.Contextualize(requestContext =>
                {
                    var urlHelper = new UrlHelper(requestContext);
                    context.Builder.AddProperty(context, null, "link", urlHelper.RouteUrl(inspector.Link));
                });
            }

            var items = _calendarService.GetEvents(container.As <IdentityPart>().Identifier);

            foreach (var item in items)
            {
                // call item.ContentItem to force a cast to ContentItem, and
                // thus use CorePartsFeedItemBuilder
                context.Builder.AddItem(context, item.ContentItem);
            }
        }
        private void OnGUI()
        {
            EditorGUILayout.BeginVertical();

            AdditemAndSearch.Draw();

            EditorGUILayout.BeginHorizontal(); // | Item List | Item Inspector |

            ItemList.Draw();
            ItemInspector.Draw();

            EditorGUILayout.EndHorizontal(); // | Item List | Item Inspector |

            EditorGUILayout.EndVertical();
        }
    public void InspectItem(ItemStack i)
    {
        if (currentItemInspector == null)
        {
            GameObject    itemWindow = Instantiate(inspectPrefab.gameObject, new Vector3(Input.mousePosition.x, Input.mousePosition.y), Quaternion.identity, inventoryScreen.transform);
            ItemInspector ii         = itemWindow.GetComponent <ItemInspector>();
            currentItemInspector    = ii;
            ii.nameBox.text         = i.item.name;
            ii.icon.sprite          = i.item.icon;
            ii.cost.text            = "$" + i.item.price;
            ii.additionalStats.text = i.item.miscellaneousStats;
            ii.flavourText.text     = i.item.description;
        }

        currentItemInspector.transform.position = new Vector3(Input.mousePosition.x, Input.mousePosition.y);
    }
        public void Populate(FeedContext context)
        {
            foreach (var feedItem in context.Response.Items.OfType <FeedItem <CommentPart> >())
            {
                var comment              = feedItem.Item;
                var commentedOn          = _contentManager.Get(feedItem.Item.Record.CommentedOn);
                var commentedOnInspector = new ItemInspector(
                    commentedOn,
                    _contentManager.GetItemMetadata(commentedOn)
                    );

                var title = T("Comment on {0} by {1}", commentedOnInspector.Title, comment.Record.Author);


                // add to known formats
                if (context.Format == "rss")
                {
                    var link = new XElement("link");
                    var guid = new XElement("guid", new XAttribute("isPermaLink", "false"));
                    context.Response.Contextualize(requestContext => {
                        var urlHelper = new UrlHelper(requestContext);
                        link.Add(urlHelper.RouteUrl(commentedOnInspector.Link) + "#comment-" + comment.Record.Id);
                        guid.Add("urn:comment:" + comment.Record.Id);
                    });

                    feedItem.Element.SetElementValue("title", title);
                    feedItem.Element.Add(link);
                    feedItem.Element.SetElementValue("description", comment.Record.CommentText);
                    feedItem.Element.SetElementValue("pubDate", comment.Record.CommentDateUtc);//TODO: format
                    feedItem.Element.Add(guid);
                }
                else
                {
                    var feedItem1 = feedItem;
                    context.Response.Contextualize(requestContext => {
                        var urlHelper = new UrlHelper(requestContext);
                        context.Builder.AddProperty(context, feedItem1, "link", urlHelper.RouteUrl(commentedOnInspector.Link));
                    });
                    context.Builder.AddProperty(context, feedItem, "title", title.ToString());
                    context.Builder.AddProperty(context, feedItem, "description", comment.Record.CommentText);

                    context.Builder.AddProperty(context, feedItem, "published-date", Convert.ToString(comment.Record.CommentDateUtc)); // format? cvt to generic T?
                }
            }
        }
        public void Execute(FeedContext context)
        {
            var containerIdValue = context.ValueProvider.GetValue("containerid");

            if (containerIdValue == null)
            {
                return;
            }

            var limitValue = context.ValueProvider.GetValue("limit");
            var limit      = 20;

            if (limitValue != null)
            {
                Int32.TryParse(Convert.ToString(limitValue), out limit);
            }

            limit = Math.Min(limit, 100);

            var containerId = (int)containerIdValue.ConvertTo(typeof(int));
            var container   = _contentManager.Get(containerId);

            if (container == null)
            {
                return;
            }

            var inspector = new ItemInspector(container, _contentManager.GetItemMetadata(container), _htmlFilters);

            if (context.Format == "rss")
            {
                var link = new XElement("link");
                context.Response.Element.SetElementValue("title", inspector.Title);
                context.Response.Element.Add(link);
                context.Response.Element.SetElementValue("description", inspector.Description);

                context.Response.Contextualize(requestContext => {
                    var urlHelper  = new UrlHelper(requestContext);
                    var uriBuilder = new UriBuilder(urlHelper.MakeAbsolute("/"))
                    {
                        Path = urlHelper.RouteUrl(inspector.Link)
                    };
                    link.Add(uriBuilder.Uri.OriginalString);
                });
            }
            else
            {
                context.Builder.AddProperty(context, null, "title", inspector.Title);
                context.Builder.AddProperty(context, null, "description", inspector.Description);
                context.Response.Contextualize(requestContext => {
                    var urlHelper = new UrlHelper(requestContext);
                    context.Builder.AddProperty(context, null, "link", urlHelper.MakeAbsolute(urlHelper.RouteUrl(inspector.Link)));
                });
            }

            var items = _contentManager.Query()
                        .Where <CommonPartRecord>(x => x.Container == container.Record)
                        .OrderByDescending(x => x.CreatedUtc)
                        .Slice(0, limit);

            foreach (var item in items)
            {
                context.Builder.AddItem(context, item);
            }
        }
Beispiel #9
0
        public void Execute(FeedContext context)
        {
            var termParthId = context.ValueProvider.GetValue("term");

            if (termParthId == null)
            {
                return;
            }

            var limitValue = context.ValueProvider.GetValue("limit");
            var limit      = 20;

            if (limitValue != null)
            {
                limit = (int)limitValue.ConvertTo(typeof(int));
            }

            var containerId = (int)termParthId.ConvertTo(typeof(int));
            var container   = _contentManager.Get <TermPart>(containerId);

            if (container == null)
            {
                return;
            }

            var inspector = new ItemInspector(container, _contentManager.GetItemMetadata(container));

            if (context.Format == "rss")
            {
                var link = new XElement("link");
                context.Response.Element.SetElementValue("title", inspector.Title);
                context.Response.Element.Add(link);
                context.Response.Element.SetElementValue("description", inspector.Description);

                context.Response.Contextualize(requestContext => {
                    var urlHelper  = new UrlHelper(requestContext);
                    var uriBuilder = new UriBuilder(urlHelper.RequestContext.HttpContext.Request.ToRootUrlString())
                    {
                        Path = urlHelper.RouteUrl(inspector.Link)
                    };
                    link.Add(uriBuilder.Uri.OriginalString);
                });
            }
            else
            {
                context.Builder.AddProperty(context, null, "title", inspector.Title);
                context.Builder.AddProperty(context, null, "description", inspector.Description);
                context.Response.Contextualize(requestContext => {
                    var urlHelper = new UrlHelper(requestContext);
                    context.Builder.AddProperty(context, null, "link", urlHelper.RouteUrl(inspector.Link));
                });
            }

            var items = _taxonomyService.GetContentItems(container, 0, limit);

            foreach (var item in items)
            {
                // call item.ContentItem to force a cast to ContentItem, and
                // thus use CorePartsFeedItemBuilder
                context.Builder.AddItem(context, item.ContentItem);
            }
        }
Beispiel #10
0
    public override CommandResult Run()
    {
      if (string.IsNullOrEmpty(TargetPath))
        return new CommandResult(CommandStatus.Failure, Constants.Messages.MissingRequiredParameter.FormatWith("targetPath"));

      // Evaulate the target path
      var evalTargetPath = PathParser.EvaluatePath(Context, TargetPath);
      Item parent = null;

      using (var targetSwitcher = new ContextSwitcher(Context, evalTargetPath))
      {
        if (targetSwitcher.Result.Status != CommandStatus.Success)
          return targetSwitcher.Result;

        parent = Context.CurrentItem;
        if (parent == null)
          return new CommandResult(CommandStatus.Failure, "Failed to find the target path '" + TargetPath + "'");
      }

      int count = 0;
      Item movedItem = null;

      using (var sourceSwitcher = new ContextSwitcher(Context, Path))
      {
        if (sourceSwitcher.Result.Status != CommandStatus.Success)
          return sourceSwitcher.Result;

        // Now perform the move
        string sourceName = Context.CurrentItem.Name;
        if (parent.Database == Context.CurrentItem.Database)
          Context.CurrentItem.MoveTo(parent);
        else
        {
          string xml = Context.CurrentItem.GetOuterXml(true);
          parent.Paste(xml, false, PasteMode.Overwrite);

          // Now the item has been copied, delete the original

          var deleteCommand = new DeleteItem();
          deleteCommand.Initialise(Context, Formatter);
          deleteCommand.Path = Context.CurrentItem.Paths.FullPath;
          deleteCommand.Run();
        }

        movedItem = parent.Children[Context.CurrentItem.ID];

        if(movedItem == null)
          movedItem = parent.Children[sourceName];

        if (movedItem != null)
        {
          var inspector = new ItemInspector(movedItem);
          count = inspector.CountDescendants();
        }
      }

      if (movedItem == null)
        return new CommandResult(CommandStatus.Failure, string.Format("Failed to move item"));

      if (Context.CurrentItem == null)
        Context.CurrentItem = movedItem;

      return new CommandResult(CommandStatus.Success, string.Format("Moved {0} {1}", count, count == 1 ? "item" : "items"));
    }