/* Yet Another Forum.net * Copyright (C) 2003 Bjørnar Henden * http://www.yetanotherforum.net/ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace yaf.pages.admin { /// /// Summary description for editgroup. /// public partial class editrank : AdminPage { protected void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { PageLinks.AddLink(BoardSettings.Name,Forum.GetLink(Pages.forum)); PageLinks.AddLink("Administration",Forum.GetLink(Pages.admin_admin)); PageLinks.AddLink("Ranks",""); BindData(); if(Request.QueryString["r"] != null) { using(DataTable dt = DB.rank_list(PageBoardID,Request.QueryString["r"])) { DataRow row = dt.Rows[0]; Name.Text = (string)row["Name"]; IsStart.Checked = ((int)row["Flags"] & (int)RankFlags.IsStart) == (int)RankFlags.IsStart; IsLadder.Checked = ((int)row["Flags"] & (int)RankFlags.IsLadder) == (int)RankFlags.IsLadder; MinPosts.Text = row["MinPosts"].ToString(); ListItem item = RankImage.Items.FindByText(row["RankImage"].ToString()); if(item!=null) { item.Selected = true; Preview.Src = String.Format("{0}images/ranks/{1}", Data.ForumRoot, row["RankImage"]); //path corrected } else { Preview.Src = String.Format("{0}images/spacer.gif", Data.ForumRoot); } } } else { Preview.Src = String.Format("{0}images/spacer.gif", Data.ForumRoot); } } RankImage.Attributes["onchange"] = String.Format( "getElementById('{1}__ctl0_Preview').src='{0}images/ranks/' + this.value", Data.ForumRoot, this.Parent.ID ); } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { } #endregion private void BindData() { using(DataTable dt = new DataTable("Files")) { dt.Columns.Add("FileID",typeof(long)); dt.Columns.Add("FileName",typeof(string)); dt.Columns.Add("Description",typeof(string)); DataRow dr = dt.NewRow(); dr["FileID"] = 0; dr["FileName"] = "../spacer.gif"; // use blank.gif for Description Entry dr["Description"] = "Select Rank Image"; dt.Rows.Add(dr); System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(Request.MapPath(String.Format("{0}images/ranks",Data.ForumRoot))); System.IO.FileInfo[] files = dir.GetFiles("*.*"); long nFileID = 1; foreach(System.IO.FileInfo file in files) { string sExt = file.Extension.ToLower(); if(sExt!=".png" && sExt!=".gif" && sExt!=".jpg") continue; dr = dt.NewRow(); dr["FileID"] = nFileID++; dr["FileName"] = file.Name; dr["Description"] = file.Name; dt.Rows.Add(dr); } RankImage.DataSource = dt; RankImage.DataValueField = "FileName"; RankImage.DataTextField = "Description"; } DataBind(); } protected void Cancel_Click(object sender, System.EventArgs e) { Forum.Redirect(Pages.admin_ranks); } protected void Save_Click(object sender, System.EventArgs e) { // Group int RankID = 0; if(Request.QueryString["r"] != null) RankID = int.Parse(Request.QueryString["r"]); object rankImage = null; if(RankImage.SelectedIndex>0) rankImage = RankImage.SelectedValue; DB.rank_save(RankID,PageBoardID,Name.Text,IsStart.Checked,IsLadder.Checked,MinPosts.Text,rankImage); Forum.Redirect(Pages.admin_ranks); } } }