Ejemplo n.º 1
0
        public void ItemReturnsPost()
        {
            FakeAreaService areaService = new FakeAreaService();
            FakePostService postService = new FakePostService();

            Guid postID = Guid.NewGuid();
            Guid areaID = Guid.NewGuid();

            areaService.StoredAreas.Add("test", new Area()
            {
                ID = areaID
            });
            postService.AddedPosts.Add(new Post()
            {
                ID = postID, Slug = "Slug"
            });

            PostController controller = new PostController(postService, null, areaService, null);

            OxiteModelItem <Post> result = controller.Item(new Area()
            {
                Name = "test"
            }, new Post()
            {
                Slug = "Slug"
            });

            Assert.Equal(postID, result.Item.ID);
            Assert.IsType <Area>(result.Container);
            Assert.Equal(areaID, (result.Container as Area).ID);
        }
Ejemplo n.º 2
0
        public static void RenderPlayer <TModel>(this HtmlHelper <TModel> htmlHelper, string viewName, string advertisementUrl) where TModel : OxiteModelItem <Post>
        {
            OxiteModelItem <Post> model = htmlHelper.ViewData.Model;

            if (model.Item.Files.Count > 0)
            {
                File preview = model.Item.Files.Where(f => f.TypeName == "Preview Image (Large)").FirstOrDefault();
                File media   = null;

                if (preview == null)
                {
                    UrlHelper urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);

                    preview = new File()
                    {
                        Url = new Uri(urlHelper.CssPath("/images/DefaultPlayerBackground.png", htmlHelper.ViewContext), UriKind.Relative)
                    };
                }

                if (string.Compare(model.Container.Name, "IE8", true) == 0)
                {
                    media = model.Item.Files.Where(f => f.TypeName == "WMVStreaming").FirstOrDefault();
                }
                else
                {
                    if (media == null)
                    {
                        media = model.Item.Files.Where(f => f.TypeName == "WMVStreamingOnly").FirstOrDefault();
                    }

                    if (media == null)
                    {
                        media = model.Item.Files.Where(f => f.TypeName == "WMVHigh").FirstOrDefault();
                    }

                    if (media == null)
                    {
                        media = model.Item.Files.Where(f => f.TypeName == "WMVStreaming").FirstOrDefault();
                    }

                    if (media == null)
                    {
                        media = model.Item.Files.Where(f => f.TypeName == "WMV640x360").FirstOrDefault();
                    }

                    if (media == null)
                    {
                        media = model.Item.Files.Where(f => f.TypeName == "WMV").FirstOrDefault();
                    }
                }

                if (media != null)
                {
                    htmlHelper.RenderPartialFromSkin(viewName, new OxiteModelPartial <PlayerViewModel>(model, new PlayerViewModel(media, preview, advertisementUrl)), htmlHelper.ViewData);
                }
            }
        }
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            OxiteModelItem <Post> postModel = filterContext.Controller.ViewData.Model as OxiteModelItem <Post>;

            if (postModel != null)
            {
                postModel.CommentingDisabled = site.CommentingDisabled || ((Area)postModel.Container).CommentingDisabled || postModel.Item.CommentingDisabled;
            }

            //TODO: (erikpo) Once comments are added to pages, add code similar to above to set allow comments for pages
        }
Ejemplo n.º 4
0
        public void ItemReturnsNullOnNotFoundArea()
        {
            FakeAreaService areaService = new FakeAreaService();

            PostController controller = new PostController(null, null, areaService, null);

            OxiteModelItem <Post> result = controller.Item(new Area()
            {
                Name = "Test"
            }, null);

            Assert.Null(result);
        }
Ejemplo n.º 5
0
        public void ItemReturnsNullOnNotFoundPost()
        {
            FakeAreaService areaService = new FakeAreaService();
            FakePostService postService = new FakePostService();

            areaService.StoredAreas.Add("test", new Area());

            PostController controller = new PostController(postService, null, areaService, null);

            OxiteModelItem <Post> result = controller.Item(new PostAddress("test", "Some-Post"));

            Assert.Null(result);
        }
Ejemplo n.º 6
0
        public void OnResultExecuting(ResultExecutingContext filterContext)
        {
            OxiteModelItem <Post> model = filterContext.Controller.ViewData.Model as OxiteModelItem <Post>;

            if (model != null)
            {
                UrlHelper      urlHelper      = new UrlHelper(filterContext.RequestContext);
                string         imgTag         = string.Format("<div style=\"position:absolute;left:-9999px;\"><img src=\"{0}\" width=\"1\" height=\"1\" alt=\"Web View Bug\" /></div>", urlHelper.PostViewBug(model.Item, "Post-Web"));
                ResponseFilter responseFilter = new ResponseFilter(filterContext.HttpContext.Response.Filter, filterContext.HttpContext);

                responseFilter.Inserts.Add(new ResponseInsert(imgTag, ResponseInsertMode.PrependTo, "body"));

                filterContext.HttpContext.Response.Filter = responseFilter;
            }
        }
Ejemplo n.º 7
0
        public static string TrackbackBlock <TModel>(this HtmlHelper <TModel> htmlHelper) where TModel : OxiteModel
        {
            OxiteModelItem <Post> model = htmlHelper.ViewData.Model as OxiteModelItem <Post>;

            if (model != null)
            {
                Post post = ((OxiteModelItem <Post>)model).Item;

                if (post != null)
                {
                    UrlHelper urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);

                    return(string.Format("<!--<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:trackback=\"http://madskills.com/public/xml/rss/module/trackback/\"><rdf:Description rdf:about=\"{2}\" dc:identifier=\"{2}\" dc:title=\"{0}\" trackback:ping=\"{1}\" /></rdf:RDF>-->", htmlHelper.Encode(post.Title), urlHelper.AbsolutePath(urlHelper.Trackback(post)), urlHelper.AbsolutePath(urlHelper.Post(post))));
                }
            }

            return("");
        }
Ejemplo n.º 8
0
        public void ItemReturnsPost()
        {
            FakePostService postService = new FakePostService();

            Guid postID = Guid.NewGuid();

            postService.AddedPosts.Add(new Post()
            {
                ID = postID, Slug = "Slug", Area = new Area()
            });

            PostController controller = new PostController(postService, null, null, null);

            OxiteModelItem <Post> result = controller.Item(new PostAddress("test", "Slug"));

            Assert.Equal(postID, result.Item.ID);
            Assert.IsType <Area>(result.Container);
        }