/// <summary> /// 获取链接信息 /// </summary> /// <param name="id">链接编号</param> public FellowItem GetFellow(int id) { FellowItem item = new FellowItem(); int rows = 0; using (IDataReader reader = conn.ExecutePager("[Fellow]", "[ID], [Name], [URL], [Explain], [Logo], [Style], [Sorting], [Home], [Show]", string.Format("[ID] = {0}", id), null, null, 1, 1, ref rows)) { while (reader.Read()) { item.ID = reader.GetInt32(0); item.Name = reader.GetString(1); item.URL = reader.GetString(2); item.Explain = reader.GetString(3); item.Logo = reader.GetString(4); item.Style = reader.GetString(5); item.Sorting = reader.GetInt32(6); item.Home = reader.GetInt32(7) == 0 ? false : true; item.Show = reader.GetInt32(8) == 0 ? false : true; } } return item; }
/// <summary> /// 添加一个链接 /// </summary> /// <param name="value">链接资料</param> public int InsertFellow(FellowItem value) { int id = 0; _DbParameter[] pars ={ new _DbParameter().Set("@Name", DbType.String, value.Name), new _DbParameter().Set("@URL", DbType.String, value.URL), new _DbParameter().Set("@Explain", DbType.String, value.Explain), new _DbParameter().Set("@Logo", DbType.String, value.Logo), new _DbParameter().Set("@Style", DbType.String, value.Style), new _DbParameter().Set("@Sorting", DbType.Int32, value.Sorting), new _DbParameter().Set("@Home", DbType.Int32, value.Home ? 1 : 0), new _DbParameter().Set("@Show", DbType.Int32, value.Show ? 1 : 0) }; conn.ExecuteNonQuery("INSERT INTO [Fellow] ([Name], [URL], [Explain], [Logo], [Style], [Sorting], [Home], [Show]) VALUES (@Name, @URL, @Explain, @Logo, @Style, @Sorting, @Home, @Show)", pars); id = Convert.ToInt32(conn.ExecuteNewField("[Fellow]", null, null)); return id; }
/// <summary> /// 选择链接 /// </summary> /// <param name="intCurPage">当前页码</param> /// <param name="btePerPage">分页大小</param> /// <param name="home">是否是首页链接</param> /// <param name="selAll">是否选择所有数据</param> /// <returns>返回页面数据列表</returns> public DataList<FellowItem> SelectFellow(int intCurPage, int btePerPage, bool home, bool selAll) { DataList<FellowItem> list = new DataList<FellowItem>(); string sqlWhere = string.Empty; if (home) { sqlWhere += " AND [Home] <> 0"; } if (!selAll) { sqlWhere += " AND [Show] <> 0"; } if (!string.IsNullOrEmpty(sqlWhere)) { sqlWhere = "[ID] > 0" + sqlWhere; } int rows = 0; using (IDataReader reader = conn.ExecutePager("[Fellow]", "[ID], [Name], [URL], [Explain], [Logo], [Style], [Sorting], [Home], [Show]", sqlWhere, "[Sorting]", "ASC", intCurPage, btePerPage, ref rows)) { while (reader.Read()) { FellowItem item = new FellowItem(); item.ID = reader.GetInt32(0); item.Name = reader.GetString(1); item.URL = reader.GetString(2); item.Explain = reader.GetString(3); item.Logo = reader.GetString(4); item.Style = reader.GetString(5); item.Sorting = reader.GetInt32(6); item.Home = reader.GetInt32(7) == 0 ? false : true; item.Show = reader.GetInt32(8) == 0 ? false : true; list.Add(item); } } list.Number = rows; return list; }
/// <summary> /// 修改一个链接 /// </summary> /// <param name="value">链接资料</param> public int UpdateFellow(FellowItem value) { int id = 0; _DbParameter[] pars ={ new _DbParameter().Set("@Name", DbType.String, value.Name), new _DbParameter().Set("@URL", DbType.String, value.URL), new _DbParameter().Set("@Explain", DbType.String, value.Explain), new _DbParameter().Set("@Logo", DbType.String, value.Logo), new _DbParameter().Set("@Style", DbType.String, value.Style), new _DbParameter().Set("@Sorting", DbType.Int32, value.Sorting), new _DbParameter().Set("@Home", DbType.Int32, value.Home ? 1 : 0), new _DbParameter().Set("@Show", DbType.Int32, value.Show ? 1 : 0), new _DbParameter().Set("@ID", DbType.Int32, value.ID) }; conn.ExecuteNonQuery("UPDATE [Fellow] SET [Name] = @Name, [URL] = @URL, [Explain] = @Explain, [Logo] = @Logo, [Style] = @Style, [Sorting] = @Sorting, [Home] = @Home, [Show] = @Show WHERE [ID] = @ID", pars); id = value.ID; return id; }
/// <summary> /// 提交链接数据 /// </summary> /// <returns>返回发布链接代码</returns> public string Post() { StringBuilder sr = new StringBuilder(); int id = SiteFun.ToInt(SiteFun.Query("id")); FellowData flwData = new FellowData(conn); //取得默认值 FellowItem old = flwData.GetFellow(id); if (SiteFun.IsPost) { FellowItem postVal = new FellowItem(); postVal.ID = id; postVal.Name = SiteFun.Post("name"); postVal.URL = SiteFun.Post("url"); postVal.Logo = SiteFun.Post("logo"); postVal.Explain = SiteFun.Post("explain"); postVal.Style = SiteFun.Post("style"); postVal.Sorting = SiteFun.ToInt(SiteFun.Post("sorting")); postVal.Home = SiteFun.ToInt(SiteFun.Post("home")) == 0 ? false : true; postVal.Show = SiteFun.ToInt(SiteFun.Post("show")) == 0 ? false : true; if (string.IsNullOrEmpty(postVal.URL) || flwData.ExistsFellowUrl(postVal.URL, postVal.ID)) { sr.Append(AdminUI.ErrorBox(SiteDat.GetLan("MsgNoUrlOrExists"))); } else { if (string.IsNullOrEmpty(postVal.Name)) { sr.Append(AdminUI.ErrorBox(SiteDat.GetLan("MsgNoName"))); } else { if (postVal.ID == 0) { postVal.ID = flwData.InsertFellow(postVal); sr.Append(AdminUI.SuccessBox(SiteDat.GetLan("MsgInsertDat"), string.Format("?act=fellow&mode=list&home={0}", postVal.Home ? 1 : 0))); } else { postVal.ID = flwData.UpdateFellow(postVal); sr.Append(AdminUI.SuccessBox(SiteDat.GetLan("MsgUpdateDat"), string.Format("?act=fellow&mode=list&home={0}", postVal.Home ? 1 : 0))); } if (!string.IsNullOrEmpty(postVal.Logo) && SiteFun.ToInt(SiteFun.Post("down")) == 1) { string saveLogoDir = Path.Combine(SiteCfg.Router, "Attach/FellowLogo"); if (!Directory.Exists(saveLogoDir)) { Directory.CreateDirectory(saveLogoDir); } //LOGO的后缀还需要处理 string saveLogoFile = Path.Combine(saveLogoDir, postVal.ID + ".gif"); if (new SiteIO().RemoteDownload(postVal.Logo, saveLogoFile)) { postVal.Logo = saveLogoFile.Replace(SiteCfg.Router, SiteCfg.Path).Replace("\\", "/"); flwData.UpdateFellow(postVal); } } } } ClearCache(); old = postVal; } sr.Append(AdminUI.AdminBoxStart(true)); sr.Append(HtmlUI.FormStart()); sr.Append(HtmlUI.TableStart("onCenter")); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Name")) + HtmlUI.CreateTd(HtmlUI.Input("name", 20, null, SiteFun.HtmlEncode(old.Name)))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("URL")) + HtmlUI.CreateTd(HtmlUI.Input("url", 50, null, SiteFun.HtmlEncode(old.URL)))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Logo")) + HtmlUI.CreateTd(HtmlUI.Input("logo", 50, null, SiteFun.HtmlEncode(old.Logo)) + HtmlUI.CheckBoxInput(SiteDat.GetLan("AreYouDown"), "down", 1, false))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Intro")) + HtmlUI.CreateTd(HtmlUI.Input("explain", 50, null, SiteFun.HtmlEncode(old.Explain)))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Style")) + HtmlUI.CreateTd(HtmlUI.Input("style", 50, null, SiteFun.HtmlEncode(old.Style)))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Sorting")) + HtmlUI.CreateTd(HtmlUI.Input("sorting", 5, null, old.Sorting))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Virtue")) + HtmlUI.CreateTd(HtmlUI.CheckBoxInput(SiteDat.GetLan("IdxLink"), "home", 1, old.Home) + HtmlUI.CheckBoxInput(SiteDat.GetLan("Show"), "show", 1, old.Show))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh() + HtmlUI.CreateTd(HtmlUI.SubmitButton() + HtmlUI.ResetButton())); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TableFinal()); sr.Append(HtmlUI.FormFinal()); sr.Append(AdminUI.AdminBoxFinal()); return sr.ToString(); }