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)); }
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)); } }