Ejemplo n.º 1
0
        public ActionResult AddSlideShow(int pageID, string zoneID, int pos, string json)
        {
            var app  = App.Get();
            var page = app.CurrentWeb.FindPage(pageID);

            if (!page.IsOwner(HttpContext))
            {
                return(new HttpUnauthorizedResult());
            }

            WidgetDescriptorDecorator descriptor = app.Descriptors[@"multimedia\slideshow"];

            var widget = page.Widgets.Add(descriptor.Model, zoneID, pos);

            widget.ShowHeader = false;
            widget.ShowBorder = false;

            //widget.Title = webFile.Name;
            widget.SetUserPreference("data", json);
            widget.Save();
            ClearCache(widget);
            return(Content(widget.ToJsonString(HttpContext, app.Context.Locale, this.CurrentWebName()), "application/json", System.Text.Encoding.UTF8));
        }
Ejemplo n.º 2
0
        public ActionResult AddFile(string file, int pageID, string zoneID, int pos)
        {
            try
            {
                var app  = App.Get();
                var page = app.CurrentWeb.FindPage(pageID);
                if (!page.IsOwner(HttpContext))
                {
                    return(new HttpUnauthorizedResult());
                }

                var webFile = new WebResourceInfo(file);
                WidgetDescriptorDecorator descriptor = null;

                if (webFile.IsFile)
                {
                    if (descriptor == null && webFile.ContentType.StartsWith("image"))
                    {
                        descriptor = app.Descriptors[@"multimedia\image"];
                    }

                    if (descriptor == null && webFile.ContentType.StartsWith("video"))
                    {
                        descriptor = app.Descriptors[@"multimedia\video"];
                    }

                    if (descriptor == null && webFile.ContentType.Equals("text/html"))
                    {
                        descriptor = app.Descriptors[@"text\htmlfile"];
                    }

                    //if (webFile.ContentType.Equals("text/xml"))
                    //    descriptor = app.Descriptors[@"text\code"];

                    if (webFile.ContentType.Equals("text/javascript") || webFile.ContentType.Equals("text/vbscript"))
                    {
                        descriptor = app.Descriptors[@"text\script"];
                    }

                    if (descriptor == null && webFile.Extension.Equals(".css", StringComparison.OrdinalIgnoreCase))
                    {
                        descriptor = app.Descriptors[@"text\css"];
                    }

                    var codeexts = new string[] { ".cs", ".vb", ".sql", ".c", ".asp", ".aspx" };
                    if (descriptor == null && (codeexts.Contains(webFile.Extension.ToLower()) || (webFile.ContentType.Equals("text/xml"))))
                    {
                        descriptor = app.Descriptors[@"text\codefile"];
                    }

                    //var isText = false;

                    if (descriptor == null && webFile.ContentType.StartsWith("text"))
                    {
                        //;isText = true;
                        descriptor = app.Descriptors[@"text\notes"];
                    }

                    if (descriptor == null)
                    {
                        descriptor = app.Descriptors[@"content\filedownload"];
                    }
                }
                else
                {
                    descriptor = app.Descriptors[@"content\downloadlist"];
                }

                var widget = page.Widgets.Add(descriptor.Model, zoneID, pos);
                //app.AddWidgetTo(pageID, descriptor.ID, zoneID, pos);

                widget.ShowHeader = false;
                widget.ShowBorder = false;
                widget.Title      = webFile.Name;

                //if (isText)
                //{
                //    var _file = app.NetDrive.MapPath(new Uri(file));
                //    if (System.IO.File.Exists(_file))
                //    {
                //        var fileContent = System.IO.File.OpenText(_file);
                //        widget.SetUserPreference("content", fileContent);
                //    }
                //}
                //else
                widget.SetUserPreference("src", file);

                widget.Save();
                ClearCache(widget);
                return(Content(widget.ToJsonString(HttpContext, app.Context.Locale, this.CurrentWebName()), "application/json", System.Text.Encoding.UTF8));
            }
            catch (Exception e)
            {
                return(Json(new { error = e.Message }, JsonRequestBehavior.AllowGet));
            }
        }