/// <summary> /// 缩略图的生成 /// </summary> private void PushThumbnail() { //根据ID查询出缩略的方式 Int32 ItemID = WebHelper.GetIntParam(Request, "ID", 0); Int32 Width = WebHelper.GetIntParam(Request, "width", 200); Int32 height = WebHelper.GetIntParam(Request, "height", 200); String Mode = WebHelper.GetStringParam(Request, "mode", "AUTO"); String PhotoType = WebHelper.GetStringParam(Request, "Type", "p").ToLower(); String ImagePath = MapPath(String.Format("{0}/Resource/images/no_image.png", TemplateSourceDirectory)); if (ItemID > 0) { DNNGo_DNNGalleryPro_Slider ContentItem = DNNGo_DNNGalleryPro_Slider.FindByID(ItemID); if (ContentItem != null && ContentItem.ID > 0) { //if (PhotoType == "p") // ImagePath = ViewLinkUrl(ContentItem.Picture, ContentItem.PortalId); //else // ImagePath = ViewLinkUrl(ContentItem.Thumbnails, ContentItem.PortalId); } } GenerateThumbnail.PushThumbnail(Server.UrlDecode(ImagePath), Width, height, Mode); }
/// <summary> /// 推送图片列表数据 /// </summary> public void PushPictureItem() { JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); Dictionary <String, Object> jsonLayer = new Dictionary <String, Object>(); Int32 MediaID = WebHelper.GetIntParam(Request, "MediaID", 0); if (MediaID > 0) { DNNGo_DNNGalleryPro_Files PictureItem = DNNGo_DNNGalleryPro_Files.FindByKeyForEdit(MediaID); if (PictureItem != null && PictureItem.ID > 0) { jsonLayer.Add("ID", PictureItem.ID); jsonLayer.Add("CreateTime", PictureItem.LastTime); jsonLayer.Add("Name", PictureItem.Name); jsonLayer.Add("Extension", PictureItem.FileExtension); String ThumbnailUrl = ViewLinkUrl(String.Format("MediaID={0}", PictureItem.ID)); jsonLayer.Add("ThumbnailUrl", ThumbnailUrl); jsonLayer.Add("FileUrl", GetPhotoPath(PictureItem.FilePath)); jsonLayer.Add("Thumbnail", String.Format("<img style=\"border-width:0px; max-height:60px;max-width:80px;\" src=\"{0}\" /> ", ThumbnailUrl)); } } //转换数据为json Response.Clear(); Response.Write(jsSerializer.Serialize(jsonLayer)); Response.End(); }
/// <summary> /// 获取当前空间的值 /// </summary> /// <returns></returns> public String GetValue() { if (!String.IsNullOrEmpty(FieldItem.ListContent)) { String defaultType = WebHelper.leftx(FieldItem.ListContent, 1).ToUpper(); if (!String.IsNullOrEmpty(defaultType)) { //ShowHideControl(defaultType); } } String UrlLink = String.Empty; if (WebHelper.GetIntParam(Request, rblUrlLink.UniqueID, 1) == (Int32)EnumUrlControls.Page || ShowDefault == "P") { UrlLink = String.Format("TabID={0}", WebHelper.GetStringParam(Request, ddlUrlLink.UniqueID, "")); } else if (WebHelper.GetIntParam(Request, rblUrlLink.UniqueID, 1) == (Int32)EnumUrlControls.Files || ShowDefault == "F") { UrlLink = WebHelper.GetStringParam(Request, hfUrlLink.UniqueID, ""); } else { UrlLink = WebHelper.GetStringParam(Request, txtUrlLink.UniqueID, ""); } return(UrlLink); }
/// <summary> /// 状态应用按钮事件 /// </summary> protected void btnApply_Click(object sender, EventArgs e) { try { Int32 Status = WebHelper.GetIntParam(Request, ddlStatus.UniqueID, -1); if (Status >= 0) { string Checkbox_Value = WebHelper.GetStringParam(Request, "Checkbox", ""); string[] Checkbox_Value_Array = Checkbox_Value.Split(','); Int32 IDX = 0; mTips.IsPostBack = true; for (int i = 0; i < Checkbox_Value_Array.Length; i++) { if (Int32.TryParse(Checkbox_Value_Array[i], out IDX)) { DNNGo_DNNGalleryPro_Files Multimedia = DNNGo_DNNGalleryPro_Files.FindByKeyForEdit(IDX); if (Multimedia != null && Multimedia.ID > 0) { //if (Multimedia.Status == (Int32)EnumFileStatus.Recycle && Status == (Int32)EnumFileStatus.Recycle) //{ //要删除实际的文件 String DeletePath = Server.MapPath(GetPhotoPath(Multimedia.FilePath)); if (Multimedia.Delete() > 0) { //删除文件 if (File.Exists(DeletePath)) { File.Delete(DeletePath); } //操作成功 mTips.LoadMessage("DeleteMediaLibrarySuccess", EnumTips.Success, this, new String[] { Multimedia.FileName }); } else { //操作失败 mTips.LoadMessage("DeleteMediaLibraryError", EnumTips.Success, this, new String[] { Multimedia.FileName }); } //} //else //{ // Multimedia.Status = Status; // if (Multimedia.Update() > 0) // { // } //} } } } BindDataList(); } } catch (Exception ex) { ProcessModuleLoadException(ex); } }
/// <summary> /// 点赞 /// </summary> public void ClickHeats() { Int32 SliderID = WebHelper.GetIntParam(Request, "SliderID", 0); Int32 LayerID = WebHelper.GetIntParam(Request, "LayerID", 0); Int32 Heat = WebHelper.GetIntParam(Request, "Heat", 1);//热度+1 或者 -1 Int32 Heats = 0; DNNGo_DNNGalleryPro_Slider SliderItem = new DNNGo_DNNGalleryPro_Slider(); if (LayerID > 0) { DNNGo_DNNGalleryPro_Layer LayerItem = DNNGo_DNNGalleryPro_Layer.FindByKeyForEdit(LayerID); if (LayerItem != null && LayerItem.ID > 0) { SliderItem = DNNGo_DNNGalleryPro_Slider.FindByKeyForEdit(SliderID); if (SliderItem != null && SliderItem.ID > 0) { //背景下载技术 SliderItem.Heats += Heat; SliderItem.Update(); } //层下载技术 LayerItem.Heats += Heat; LayerItem.Update(); Heats = LayerItem.Heats; } else { //没有找到文件记录 } } else if (SliderID > 0) { SliderItem = DNNGo_DNNGalleryPro_Slider.FindByKeyForEdit(SliderID); if (SliderItem != null && SliderItem.ID > 0) { SliderItem.Heats += Heat; SliderItem.Update(); Heats = SliderItem.Heats; } } Response.Clear(); Response.Write(Heats); Response.End(); }
/// <summary> /// 状态应用按钮事件 /// </summary> protected void btnApply_Click(object sender, EventArgs e) { try { Int32 Status = WebHelper.GetIntParam(Request, ddlStatus.UniqueID, -1); if (Status >= 0) { string Checkbox_Value = WebHelper.GetStringParam(Request, "Checkbox", ""); string[] Checkbox_Value_Array = Checkbox_Value.Split(','); Int32 IDX = 0; for (int i = 0; i < Checkbox_Value_Array.Length; i++) { if (Int32.TryParse(Checkbox_Value_Array[i], out IDX)) { DNNGo_DNNGalleryPro_Slider Article = DNNGo_DNNGalleryPro_Slider.FindByKeyForEdit(IDX); if (Article != null && Article.ID > 0) { if (Article.Status == (Int32)EnumStatus.RecycleBin && Status == (Int32)EnumStatus.RecycleBin) { if (Article.Delete() > 0) { //删除相关的的层 DNNGo_DNNGalleryPro_Layer.Deletes(Article); } } else { Article.Status = Status; if (Article.Update() > 0) { } } } } } BindDataList(); mTips.IsPostBack = true; mTips.LoadMessage("ApplyStatusSuccess", EnumTips.Success, this, new String[] { EnumHelper.GetEnumTextVal(Status, typeof(EnumStatus)) }); } } catch (Exception ex) { ProcessModuleLoadException(ex); } }
/// <summary> /// 排序列表 /// </summary> public void LayerListSort() { Int32 ReturnString = 0; Int32 SliderID = WebHelper.GetIntParam(Request, "SliderID", 0); if (SliderID > 0) { String SortList = WebHelper.GetStringParam(Request, "json", ""); if (!String.IsNullOrEmpty(SortList)) { JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); try { object[] Sorts = jsSerializer.DeserializeObject(SortList) as object[]; if (Sorts != null && Sorts.Length > 0) { foreach (object so in Sorts) { Dictionary <string, object> SortDict = so as Dictionary <string, object>; if (SortDict != null && SortDict.Count == 2) { String setClause = String.Format(" {0} = {1} ", DNNGo_DNNGalleryPro_Layer._.Sort, SortDict[DNNGo_DNNGalleryPro_Layer._.Sort]); String whereClause = String.Format(" {0} = {1} ", DNNGo_DNNGalleryPro_Layer._.ID, SortDict[DNNGo_DNNGalleryPro_Layer._.ID]); ReturnString += DNNGo_DNNGalleryPro_Layer.Update(setClause, whereClause); } } } } catch { } } } Response.Clear(); Response.Write(ReturnString); Response.End(); }
/// <summary> /// 删除LayerItem /// </summary> public void DeleteLayerItem() { String ReturnString = "0"; Int32 SliderID = WebHelper.GetIntParam(Request, "SliderID", 0); if (SliderID > 0) { Int32 LayerID = WebHelper.GetIntParam(Request, "LayerID", 0); if (LayerID > 0) { DNNGo_DNNGalleryPro_Layer Layer = new DNNGo_DNNGalleryPro_Layer(); Layer.ID = LayerID; ReturnString = Layer.Delete().ToString(); } } Response.Clear(); Response.Write(ReturnString); Response.End(); }
/// <summary> /// 状态应用按钮事件 /// </summary> protected void btnApply_Click(object sender, EventArgs e) { try { Int32 Status = WebHelper.GetIntParam(Request, ddlStatus.UniqueID, -1); if (Status >= 0) { string Checkbox_Value = WebHelper.GetStringParam(Request, "Checkbox", ""); string[] Checkbox_Value_Array = Checkbox_Value.Split(','); Int32 IDX = 0; for (int i = 0; i < Checkbox_Value_Array.Length; i++) { if (Int32.TryParse(Checkbox_Value_Array[i], out IDX)) { DNNGo_DNNGalleryPro_Group item = DNNGo_DNNGalleryPro_Group.FindByKeyForEdit(IDX); if (item != null && item.ID > 0) { mTips.IsPostBack = true; if (item.Delete() > 0) { //mTips.LoadMessage("DeleteCategorySuccess", EnumTips.Success, this, new String[] { item.ContentText }); } else { //mTips.LoadMessage("DeleteCategoryError", EnumTips.Success, this, new String[] { item.ContentText }); } } } } BindDataList(); } } catch (Exception ex) { ProcessModuleLoadException(ex); } }
// Delete file from the server private void DeleteFile(HttpContext context) { Int32 PhotoID = WebHelper.GetIntParam(context.Request, "ID", 0); DNNGo_DNNGalleryPro_Files PhotoItem = DNNGo_DNNGalleryPro_Files.FindByKeyForEdit(PhotoID); if (PhotoItem != null && PhotoItem.ID > 0) { //要删除实际的文件 String DeletePath = HttpContext.Current.Server.MapPath(GetPhotoPath(PhotoItem.FilePath)); //删除文件 if (File.Exists(DeletePath)) { try { File.Delete(DeletePath); } catch { } } //删除记录 PhotoItem.Delete(); } }
/// <summary> /// 选中激活LayerItem /// </summary> public void CheckedLayerItem() { String ReturnString = "0"; Int32 SliderID = WebHelper.GetIntParam(Request, "SliderID", 0); if (SliderID > 0) { Int32 LayerID = WebHelper.GetIntParam(Request, "LayerID", 0); if (LayerID > 0) { DNNGo_DNNGalleryPro_Layer Layer = DNNGo_DNNGalleryPro_Layer.FindByKeyForEdit(LayerID); Layer.Status = WebHelper.GetBooleanParam(Request, "checked", false) ? (Int32)EnumStatus.Activated : (Int32)EnumStatus.Hidden; ReturnString = Layer.Update().ToString(); } } Response.Clear(); Response.Write(ReturnString); Response.End(); }
// Upload entire file private void UploadWholeFile(HttpContext context, List <Resource_FilesStatus> statuses) { for (int i = 0; i < context.Request.Files.Count; i++) { var file = context.Request.Files[i]; if (file != null && !String.IsNullOrEmpty(file.FileName) && file.ContentLength > 0) { //验证后缀名是否符合 bool Valid = FileSystemUtils.CheckValidFileName(file.FileName); if (Valid) { DNNGo_DNNGalleryPro_Files PhotoItem = new DNNGo_DNNGalleryPro_Files(); PhotoItem.ModuleId = WebHelper.GetIntParam(context.Request, "ModuleId", 0); PhotoItem.PortalId = WebHelper.GetIntParam(context.Request, "PortalId", 0); PhotoItem.FileName = file.FileName; PhotoItem.FileSize = file.ContentLength / 1024; PhotoItem.FileMate = WebHelper.leftx(FileSystemUtils.GetContentType(Path.GetExtension(PhotoItem.FileName).Replace(".", "")), 30); PhotoItem.FileExtension = System.IO.Path.GetExtension(PhotoItem.FileName).Replace(".", ""); PhotoItem.Name = System.IO.Path.GetFileName(file.FileName).Replace(Path.GetExtension(PhotoItem.FileName), ""); PhotoItem.Status = (Int32)EnumFileStatus.Approved; try { if (("png,gif,jpg,jpeg,bmp").IndexOf(PhotoItem.FileExtension) >= 0) { //图片的流 Image image = Image.FromStream(file.InputStream); PhotoItem.ImageWidth = image.Width; PhotoItem.ImageHeight = image.Height; PhotoItem.Exif = Common.Serialize <EXIFMetaData.Metadata>(new EXIFMetaData().GetEXIFMetaData(image)); } } catch { } PhotoItem.LastTime = xUserTime.UtcTime(); PhotoItem.LastIP = WebHelper.UserHost; PhotoItem.LastUser = UserInfo.UserID; //将文件存储的路径整理好 String fileName = FileSystemUtils.HandleFileName(System.IO.Path.GetFileName(file.FileName).Replace("." + PhotoItem.FileExtension, "")); //文件名称 String WebPath = String.Format("DNNGalleryPro/uploads/{0}/{1}/{2}/", PhotoItem.LastTime.Year, PhotoItem.LastTime.Month, PhotoItem.LastTime.Day); //检测文件存储路径是否有相关的文件 System.IO.FileInfo fInfo = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(String.Format("{0}{1}{2}.{3}", PortalSettings.HomeDirectory, WebPath, fileName, PhotoItem.FileExtension))); //检测文件夹是否存在 if (!System.IO.Directory.Exists(fInfo.Directory.FullName)) { System.IO.Directory.CreateDirectory(fInfo.Directory.FullName); } else { Int32 j = 1; while (fInfo.Exists) { //文件已经存在了 fileName = String.Format("{0}_{1}", FileSystemUtils.HandleFileName(PhotoItem.Name), j); fInfo = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(String.Format("{0}{1}{2}.{3}", PortalSettings.HomeDirectory, WebPath, fileName, PhotoItem.FileExtension))); j++; } } PhotoItem.FilePath = String.Format("{0}{1}.{2}", WebPath, fileName, PhotoItem.FileExtension); PhotoItem.FileName = String.Format("{0}.{1}", fileName, PhotoItem.FileExtension); try { if (!fInfo.Directory.Exists) { fInfo.Directory.Create(); // FileSystemUtils.AddFolder(PortalSettings, String.Format("{0}DNNGo_PhotoAlbums/{0}/{1}/"), String.Format("{0}DNNGo_PhotoAlbums/{0}/{1}/"), (int)DotNetNuke.Services.FileSystem.FolderController.StorageLocationTypes.InsecureFileSystem); } //构造指定存储路径 //file.SaveAs(fInfo.FullName); ChangeImageSize(file, fInfo.FullName); //FileSystemUtils.AddFile(PhotoItem.FileName, PhotoItem.PortalId, String.Format("DNNGo_PhotoAlbums\\{0}\\{1}\\", PhotoItem.ModuleId, PhotoItem.AlbumID), PortalSettings.HomeDirectoryMapPath, PhotoItem.FileMeta); } catch (Exception ex) { } //给上传的相片设置初始的顺序 QueryParam qp = new QueryParam(); qp.ReturnFields = qp.Orderfld = DNNGo_DNNGalleryPro_Files._.Sort; qp.OrderType = 1; qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Files._.PortalId, PhotoItem.PortalId, SearchType.Equal)); PhotoItem.Sort = Convert.ToInt32(DNNGo_DNNGalleryPro_Files.FindScalar(qp)) + 2; Int32 PhotoId = PhotoItem.Insert(); statuses.Add(new Resource_FilesStatus(PhotoItem, PortalSettings, ModulePath)); } else { throw new HttpRequestValidationException("Following file was imported/uploaded, but is not an authorized filetype: " + file.FileName); } } } }
/// <summary> /// 媒体库文件下载 /// </summary> public void FileDownLoads() { Int32 SliderID = WebHelper.GetIntParam(Request, "SliderID", 0); Int32 LayerID = WebHelper.GetIntParam(Request, "LayerID", 0); String SettingName = WebHelper.GetStringParam(Request, "SettingName", ""); if (!String.IsNullOrEmpty(SettingName)) { String SettingValue = String.Empty; DNNGo_DNNGalleryPro_Slider SliderItem = new DNNGo_DNNGalleryPro_Slider(); if (LayerID > 0) { DNNGo_DNNGalleryPro_Layer LayerItem = DNNGo_DNNGalleryPro_Layer.FindByKeyForEdit(LayerID); if (LayerItem != null && LayerItem.ID > 0) { SliderItem = DNNGo_DNNGalleryPro_Slider.FindByKeyForEdit(SliderID); if (SliderItem != null && SliderItem.ID > 0) { //背景下载技术 SliderItem.Clicks += 1; SliderItem.Update(); } //层下载技术 LayerItem.Clicks += 1; LayerItem.Update(); //取出层中的下载链接 SettingValue = ViewLayerSettingT <String>(LayerItem, SettingName, ""); } else { //没有找到文件记录 } } else if (SliderID > 0) { SliderItem = DNNGo_DNNGalleryPro_Slider.FindByKeyForEdit(SliderID); if (SliderItem != null && SliderItem.ID > 0) { SliderItem.Clicks += 1; SliderItem.Update(); //取出背景中的下载链接 SettingValue = ViewSliderSettingT <String>(SliderItem, SettingName, ""); } } if (!String.IsNullOrEmpty(SettingValue)) { String DownLoadUrl = HttpUtility.UrlDecode(ViewLinkUrl(SettingValue, false)); if (!String.IsNullOrEmpty(DownLoadUrl)) { //记录下载信息到日志表里面***暂时忽略 if (SettingValue.IndexOf("MediaID=", StringComparison.CurrentCultureIgnoreCase) == 0) { String ServerPath = MapPath(DownLoadUrl); if (false) { FileSystemUtils.DownloadFile(ServerPath, Path.GetFileName(ServerPath));//下载媒体库中的文件 } else { Response.Redirect(DownLoadUrl); } } else { Response.Redirect(DownLoadUrl);//除了媒体库中的文件,其他一律跳转 } } else { //下载链接不存在 } } else { //没有取到下载链接 } } else { //没有找到文件参数 } }
/// <summary> /// Layer列表的HTML生成 /// </summary> public void PushLayerListHtml() { Int32 SliderID = WebHelper.GetIntParam(Request, "SliderID", 0); if (SliderID > 0) { QueryParam qp = new QueryParam(); qp.Orderfld = DNNGo_DNNGalleryPro_Layer._.Sort; qp.OrderType = 0; qp.PageIndex = WebHelper.GetIntParam(Request, "PageIndex", 1); qp.PageSize = WebHelper.GetIntParam(Request, "PageSize", Int32.MaxValue); Int32 LayerID = WebHelper.GetIntParam(Request, "LayerID", 0); if (LayerID > 0) { qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Layer._.ID, LayerID, SearchType.Equal)); } qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Layer._.SliderID, SliderID, SearchType.Equal)); int RecordCount = 0; List <DNNGo_DNNGalleryPro_Layer> LayerList = DNNGo_DNNGalleryPro_Layer.FindAll(qp, out RecordCount); Dictionary <String, Object> jsonLayers = new Dictionary <string, Object>(); TemplateFormat xf = new TemplateFormat(); foreach (var LayerItem in LayerList) { int index = LayerList.IndexOf(LayerItem); //index 为索引值 Dictionary <String, Object> jsonLayer = new Dictionary <String, Object>(); jsonLayer.Add("ID", LayerItem.ID); jsonLayer.Add("Sort", LayerItem.Sort); jsonLayer.Add("CreateTime", LayerItem.CreateTime); jsonLayer.Add("Status", LayerItem.Status == 1 ? "checked=\"checked\"" : ""); jsonLayer.Add("Title", WebHelper.leftx(xf.ViewLayerSettingT <String>(LayerItem, "Title", ""), 30, "...")); String LayerType = xf.ViewLayerSettingT <String>(LayerItem, "LayerType", ""); jsonLayer.Add("LayerType", String.IsNullOrEmpty(LayerType) ? "Common" : LayerType); jsonLayer.Add("Edit", String.Format("{0}Resource_Item.aspx?ModuleId={1}&PortalId={2}&TabId={3}&SliderID={4}&LayerID={5}&LayerType={6}", ModulePath, ModuleId, PortalId, TabId, SliderID, LayerItem.ID, LayerType)); String Thumbnail = xf.ViewLayerSettingT <String>(LayerItem, "Thumbnail", ""); if (String.IsNullOrEmpty(Thumbnail)) { Thumbnail = xf.ViewLayerSettingT <String>(LayerItem, "Picture", ""); } if (!String.IsNullOrEmpty(Thumbnail)) { jsonLayer.Add("Thumbnail", String.Format("<img style=\"border-width:0px; max-height:60px;max-width:80px;\" src=\"{0}\" onError=\"this.src='{1}Resource/images/no_image.png'\" /> ", ViewLinkUrl(Thumbnail), ModulePath)); } else { jsonLayer.Add("Thumbnail", ""); } jsonLayers.Add((10000 - index).ToString(), jsonLayer); } //转换数据为json JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); Response.Clear(); Response.Write(jsSerializer.Serialize(jsonLayers)); Response.End(); } }
/// <summary> /// 推送图片列表数据 /// </summary> public void PushPictureList() { QueryParam qp = new QueryParam(); qp.Orderfld = DNNGo_DNNGalleryPro_Layer._.ID; qp.OrderType = 1; qp.PageIndex = WebHelper.GetIntParam(Request, "PageIndex", 1); qp.PageSize = WebHelper.GetIntParam(Request, "PageSize", Int32.MaxValue); qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Files._.Status, (Int32)EnumStatus.Activated, SearchType.Equal)); qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Files._.PortalId, PortalId, SearchType.Equal)); int RecordCount = 0; List <DNNGo_DNNGalleryPro_Files> fileList = DNNGo_DNNGalleryPro_Files.FindAll(qp, out RecordCount); Dictionary <String, Object> jsonLayers = new Dictionary <string, Object>(); TemplateFormat xf = new TemplateFormat(); JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); foreach (var fileItem in fileList) { int index = fileList.IndexOf(fileItem); //index 为索引值 Dictionary <String, Object> jsonLayer = new Dictionary <String, Object>(); jsonLayer.Add("Pages", qp.Pages); jsonLayer.Add("ID", fileItem.ID); jsonLayer.Add("CreateTime", fileItem.LastTime); jsonLayer.Add("Name", WebHelper.leftx(fileItem.Name, 20, "...")); jsonLayer.Add("FileName", fileItem.Name); jsonLayer.Add("Extension", fileItem.FileExtension); String ThumbnailUrl = ViewLinkUrl(String.Format("MediaID={0}", fileItem.ID)); jsonLayer.Add("ThumbnailUrl", ThumbnailUrl); jsonLayer.Add("FileUrl", GetPhotoPath(fileItem.FilePath)); jsonLayer.Add("Thumbnail", String.Format("<img style=\"border-width:0px; max-height:60px;max-width:80px;\" src=\"{0}\" /> ", ThumbnailUrl)); //判断当前文件是否为图片 if (!String.IsNullOrEmpty(fileItem.FileExtension) && ("gif,jpg,jpeg,bmp,png").IndexOf(fileItem.FileExtension, StringComparison.CurrentCultureIgnoreCase) >= 0) { jsonLayer.Add("IsPicture", true); } else { jsonLayer.Add("IsPicture", false); } jsonLayer.Add("Json", jsSerializer.Serialize(jsonLayer)); jsonLayers.Add(index.ToString(), jsonLayer); } //转换数据为json Response.Clear(); Response.Write(jsSerializer.Serialize(jsonLayers)); Response.End(); }
/// <summary> /// Layer列表的HTML生成 /// </summary> public void PushAjaxSliders() { EffectDBEntity EffectDB = Setting_EffectDB; QueryParam qp = new QueryParam(); qp.OrderType = 0; qp.PageIndex = WebHelper.GetIntParam(Request, "PageIndex", 2); if (qp.PageIndex <= 1) { qp.PageSize = WebHelper.GetIntParam(Request, "FirstScreen", 10); if (qp.PageSize <= 0) { qp.PageSize = WebHelper.GetIntParam(Request, "LoadDisplay", 10); } } else { qp.PageSize = WebHelper.GetIntParam(Request, "LoadDisplay", 10); qp.FirstScreen = WebHelper.GetIntParam(Request, "FirstScreen", 10); } qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Slider._.ModuleId, Settings_ModuleID, SearchType.Equal)); qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Slider._.Status, (Int32)EnumStatus.Activated, SearchType.Equal)); Int32 Search_GroupID = WebHelper.GetIntParam(HttpContext.Current.Request, "GroupID", 0); if (Search_GroupID > 0) { qp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Slider._.ID, DNNGo_DNNGalleryPro_Slider_Group.BuilderArticleIDs(Search_GroupID), SearchType.In)); } int RecordCount = 0; List <DNNGo_DNNGalleryPro_Slider> SliderList = new List <DNNGo_DNNGalleryPro_Slider>(); Int32 Sortby = Settings_Sortby; String Orderfld = WebHelper.GetStringParam(Request, "Order", ""); Int32 OrderType = WebHelper.GetIntParam(Request, "OrderBy", -1); if (!String.IsNullOrEmpty(Orderfld)) { if (Orderfld.ToLower() == "title") { Sortby = OrderType == 1 ? (Int32)EnumSortby.Title_Desc : (Int32)EnumSortby.Title; } else if (Orderfld.ToLower() == "starttime") { Sortby = OrderType == 1 ? (Int32)EnumSortby.Time_Desc : (Int32)EnumSortby.Time; } } if (Sortby == (Int32)EnumSortby.Time) { qp.Orderfld = DNNGo_DNNGalleryPro_Slider._.StartTime; SliderList = DNNGo_DNNGalleryPro_Slider.FindAll(qp, out RecordCount); } else if (Sortby == (Int32)EnumSortby.Time_Desc) { qp.OrderType = 1; qp.Orderfld = DNNGo_DNNGalleryPro_Slider._.StartTime; SliderList = DNNGo_DNNGalleryPro_Slider.FindAll(qp, out RecordCount); } else if (Sortby == (Int32)EnumSortby.Title) { qp.Orderfld = DNNGo_DNNGalleryPro_Slider._.Title; SliderList = DNNGo_DNNGalleryPro_Slider.FindAll(qp, out RecordCount); } else if (Sortby == (Int32)EnumSortby.Title_Desc) { qp.OrderType = 1; qp.Orderfld = DNNGo_DNNGalleryPro_Slider._.Title; SliderList = DNNGo_DNNGalleryPro_Slider.FindAll(qp, out RecordCount); } else if (Sortby == (Int32)EnumSortby.Random) { qp.Orderfld = " newid() "; SliderList = DNNGo_DNNGalleryPro_Slider.FindRandomAll(qp, out RecordCount); } else { qp.Orderfld = DNNGo_DNNGalleryPro_Slider._.Sort; SliderList = DNNGo_DNNGalleryPro_Slider.FindAll(qp, out RecordCount); } if (qp.Pages < qp.PageIndex) //索引数大于总页面数时不返回记录 { SliderList = new List <DNNGo_DNNGalleryPro_Slider>(); } Dictionary <String, Object> jsonSliders = new Dictionary <string, Object>(); TemplateFormat xf = new TemplateFormat(); foreach (var SliderItem in SliderList) { int index = SliderList.IndexOf(SliderItem); //index 为索引值 Dictionary <String, Object> jsonSlider = new Dictionary <String, Object>(); jsonSlider.Add("ID", SliderItem.ID); jsonSlider.Add("Sort", SliderItem.Sort); jsonSlider.Add("CreateTime", SliderItem.CreateTime); jsonSlider.Add("StartTime", SliderItem.StartTime); jsonSlider.Add("EndTime", SliderItem.EndTime); jsonSlider.Add("CreateTimeUS", SliderItem.CreateTime.ToString("MM/dd/yyy HH:mm:ss")); jsonSlider.Add("StartTimeUS", SliderItem.StartTime.ToString("MM/dd/yyy HH:mm:ss")); jsonSlider.Add("EndTimeUS", SliderItem.EndTime.ToString("MM/dd/yyy HH:mm:ss")); jsonSlider.Add("Status", SliderItem.Status == 1 ? "checked=\"checked\"" : ""); jsonSlider.Add("Pages", qp.Pages); foreach (var SliderSetting in Setting_SliderSettingDB) { String SliderName = SliderSetting.Name; String SliderValue = xf.ViewSliderSettingT <String>(SliderItem, SliderName, SliderSetting.DefaultValue); if (SliderSetting.ControlType == EnumControlType.Urls.ToString()) { jsonSlider.Add(SliderName, ViewLinkUrl(SliderValue, false)); } else { jsonSlider.Add(SliderName, SliderValue); } } //加载分组 if (EffectDB.Groups) { jsonSlider.Add("Groups", xf.ToGroups(SliderItem)); } //取出Layers数据 if (EffectDB.Layers) { Dictionary <String, Object> jsonLayers = new Dictionary <String, Object>(); List <DNNGo_DNNGalleryPro_Layer> LayerList = SliderItem.LayerList; if (LayerList != null && LayerList.Count > 0) { foreach (var Layer in LayerList) { int indexLayer = LayerList.IndexOf(Layer); Dictionary <String, Object> jsonLayer = new Dictionary <String, Object>(); foreach (var LayerSetting in Setting_LayerSettingDB) { String LayerName = LayerSetting.Name; String LayerValue = xf.ViewLayerSettingT <String>(Layer, LayerName, LayerSetting.DefaultValue); if (LayerSetting.ControlType == EnumControlType.Urls.ToString()) { jsonLayer.Add(LayerName, ViewLinkUrl(LayerValue, false)); } else { jsonLayer.Add(LayerName, LayerValue); } } jsonLayer.Add("ID", Layer.ID); jsonLayer.Add("Sort", Layer.Sort); jsonLayer.Add("Clicks", Layer.Clicks); jsonLayer.Add("Views", Layer.Views); jsonLayer.Add("Heats", Layer.Heats); jsonLayer.Add("CreateTime", Layer.CreateTime); jsonLayers.Add((10000 - indexLayer).ToString(), jsonLayer); } } jsonSlider.Add("Layers", jsonLayers); } //取出扩展项 Dictionary <String, Object> jsonExtension = new Dictionary <String, Object>(); if (!String.IsNullOrEmpty(SliderItem.Extension)) { List <KeyValueEntity> ExtensionSettings = ConvertTo.Deserialize <List <KeyValueEntity> >(SliderItem.Extension); foreach (KeyValueEntity kv in ExtensionSettings) { if (!jsonExtension.ContainsKey(kv.Key)) { jsonExtension.Add(kv.Key, kv.Value); } } } jsonSlider.Add("Extensions", jsonExtension); jsonSliders.Add(index.ToString(), jsonSlider); } //转换数据为json JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); Response.Clear(); Response.Write(jsSerializer.Serialize(jsonSliders)); Response.End(); }
/// <Description> /// 保存文章 /// </Description> /// <param name="ArticleStatus">文章状态(为-1的时候取选项的值)</param> private Int32 SaveDataItem(Int32 ArticleStatus, ref DNNGo_DNNGalleryPro_Slider Article) { int ResultArticle = 0; Article = SliderItem; //数字更新 Article.Heats = WebHelper.GetIntParam(Request, txtHeatNumber.UniqueID, 0); Article.Clicks = WebHelper.GetIntParam(Request, txtDownloadNumber.UniqueID, 0); //权限 Article.Per_AllUsers = cbPermissionsAllUsers.Checked ? 0 : 1; String textStr, idStr = String.Empty; WebHelper.GetSelected(cblPermissionsRoles, out textStr, out idStr); Article.Per_Roles = idStr; //文章的发布状态 Article.Status = Convert.ToInt32(ddlArticleStatus.Items[ddlArticleStatus.SelectedIndex].Value); //设置属性 SetItemSettings(ref Article); Article.Extension = SetExtensionSettings(); //更新项 Article.LastIP = WebHelper.UserHost; Article.LastTime = xUserTime.UtcTime(); Article.LastUser = UserId; //发布状态和时间 DateTime oTime = xUserTime.LocalTime(); string[] expectedFormats = { "G", "g", "f", "F" }; string StartDate = WebHelper.GetStringParam(Request, txtStartDate.UniqueID, oTime.ToString("MM/dd/yyyy")); string StartTime = WebHelper.GetStringParam(Request, txtStartTime.UniqueID, oTime.ToString("hh:mm tt")); if (DateTime.TryParseExact(String.Format("{0} {1}", StartDate, StartTime), "MM/dd/yyyy hh:mm tt", new CultureInfo("en-US", false), DateTimeStyles.AllowWhiteSpaces, out oTime)) { if (oTime.Second == 0) { oTime = oTime.AddSeconds(DateTime.Now.Second); //补秒 } Article.StartTime = oTime; } //发布状态和时间 DateTime EndTime = xUserTime.LocalTime().AddYears(10); string DisableDate = WebHelper.GetStringParam(Request, txtDisableDate.UniqueID, EndTime.ToString("MM/dd/yyyy")); string DisableTime = WebHelper.GetStringParam(Request, txtDisableTime.UniqueID, EndTime.ToString("hh:mm tt")); if (DateTime.TryParseExact(String.Format("{0} {1}", DisableDate, DisableTime), "MM/dd/yyyy hh:mm tt", new CultureInfo("en-US", false), DateTimeStyles.AllowWhiteSpaces, out EndTime)) { if (EndTime.Second == 0) { EndTime = EndTime.AddSeconds(DateTime.Now.Second); //补秒 } Article.EndTime = EndTime; } //创建用户改为可以选择 //Article.CreateUser = WebHelper.GetIntParam(Request, txtCreateUser.UniqueID, UserId); if (ArticleStatus == -1)//如果没有指定状态就取控件的 { Article.Status = WebHelper.GetIntParam(Request, ddlArticleStatus.UniqueID, (Int32)EnumStatus.Activated); } else { Article.Status = ArticleStatus; } if (Article.ID > 0) { //更新 ResultArticle = Article.Update(); } else { //新增 Article.CreateTime = xUserTime.UtcTime(); Article.CreateUser = UserId; Article.ModuleId = ModuleId; Article.PortalId = PortalId; QueryParam Sqp = new QueryParam(); Sqp.ReturnFields = Sqp.Orderfld = DNNGo_DNNGalleryPro_Slider._.Sort; Sqp.OrderType = 1; Sqp.Where.Add(new SearchParam(DNNGo_DNNGalleryPro_Slider._.ModuleId, ModuleId, SearchType.Equal)); Article.Sort = Convert.ToInt32(DNNGo_DNNGalleryPro_Slider.FindScalar(Sqp)) + 2; Article.ID = ResultArticle = Article.Insert(); } if (ResultArticle > 0) { if (divGroups.Visible) { //更新分类项 String Categorys = WebHelper.GetStringParam(Request, String.Format("post$groups${0}", ModuleId), ""); ManagedThreadPool.QueueUserWorkItem(new WaitCallback(ThreadUpdateGroups), new KeyValueEntity(Article.ID.ToString(), Categorys)); } ////操作成功 //mTips.LoadMessage("SaveArticleSuccess", EnumTips.Success, this, new String[] { Article.Title }); ////操作成功需要跳转到首页 //Response.Redirect(xUrl("Posts")); } else { //mTips.IsPostBack = false; ////操作失败 //mTips.LoadMessage("SaveArticleError", EnumTips.Success, this, new String[] { Article.Title }); ////操作失败就留在本页面 } return(ResultArticle); }
/// <summary> /// 创建文章自定义模型的JSON信息 /// </summary> public void PushCustomModels() { Dictionary <String, Object> jsonCustomModels = new Dictionary <String, Object>(); //读取出该事件的信息 Int32 SliderID = WebHelper.GetIntParam(HttpContext.Current.Request, "SliderID", 0); if (SliderID > 0) { DNNGo_DNNGalleryPro_Slider EventItem = DNNGo_DNNGalleryPro_Slider.FindByKeyForEdit(SliderID); if (EventItem != null && EventItem.ID > 0 && !String.IsNullOrEmpty(EventItem.Extension)) { //取出扩展项 List <KeyValueEntity> ExtensionSettings = ConvertTo.Deserialize <List <KeyValueEntity> >(EventItem.Extension); foreach (KeyValueEntity k in ExtensionSettings) { if (!jsonCustomModels.ContainsKey(k.Key)) { Dictionary <String, Object> jsonItem = new Dictionary <String, Object>(); jsonItem.Add("Name", k.Key); jsonItem.Add("Value", k.Value); jsonItem.Add("Index", jsonCustomModels.Count); jsonCustomModels.Add(jsonCustomModels.Count.ToString(), jsonItem); } } } } //提取预设值的自定义模型 String CustomModels = ViewXmlSettingT <String>("CustomModels", ""); if (!String.IsNullOrEmpty(CustomModels)) { //提取共用属性名 List <String> ExtensionKeys = Common.GetList(CustomModels, "\r\n");; foreach (String k in ExtensionKeys) { if (!String.IsNullOrEmpty(k) && !jsonCustomModels.ContainsKey(k)) { Dictionary <String, Object> jsonItem = new Dictionary <String, Object>(); jsonItem.Add("Name", k); jsonItem.Add("Value", ""); jsonItem.Add("Index", jsonCustomModels.Count); jsonCustomModels.Add(jsonCustomModels.Count.ToString(), jsonItem); } } } Dictionary <String, Object> jsonNull = new Dictionary <String, Object>(); jsonNull.Add("Name", ""); jsonNull.Add("Value", ""); jsonNull.Add("Index", jsonCustomModels.Count); jsonCustomModels.Add(jsonCustomModels.Count.ToString(), jsonNull); //转换数据为json JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); Response.Clear(); Response.Write(jsSerializer.Serialize(jsonCustomModels)); Response.End(); }