/* 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 main. /// public partial class admin : AdminPage { protected void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { PageLinks.AddLink(BoardSettings.Name,Forum.GetLink(Pages.forum)); PageLinks.AddLink("Administration",""); BindData(); //UpgradeNotice.Visible = install._default.GetCurrentVersion() < Data.AppVersion; } } protected void Delete_Load(object sender, System.EventArgs e) { ((LinkButton)sender).Attributes["onclick"] = "return confirm('Delete this user?')"; } protected void Approve_Load(object sender, System.EventArgs e) { ((LinkButton)sender).Attributes["onclick"] = "return confirm('Approve this user?')"; } private void BindData() { ActiveList.DataSource = DB.active_list(PageBoardID,true); UserList.DataSource = DB.user_list(PageBoardID,null,false); DataBind(); DataRow row = DB.board_stats(); NumPosts.Text = String.Format("{0:N0}",row["NumPosts"]); NumTopics.Text = String.Format("{0:N0}",row["NumTopics"]); NumUsers.Text = String.Format("{0:N0}",row["NumUsers"]); TimeSpan span = DateTime.Now - (DateTime)row["BoardStart"]; double days = span.Days; BoardStart.Text = String.Format("{0:d} ({1:N0} days ago)",row["BoardStart"],days); if(days<1) days = 1; DayPosts.Text = String.Format("{0:N2}",(int)row["NumPosts"] / days); DayTopics.Text = String.Format("{0:N2}",(int)row["NumTopics"] / days); DayUsers.Text = String.Format("{0:N2}",(int)row["NumUsers"] / days); DBSize.Text = String.Format("{0} MB",DB.DBSize()); } private void UserList_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e) { switch(e.CommandName) { case "edit": Forum.Redirect(Pages.admin_edituser,"u={0}",e.CommandArgument); break; case "delete": DB.user_delete(e.CommandArgument); BindData(); break; case "approve": DB.user_approve(e.CommandArgument); BindData(); break; case "deleteall": DB.user_deleteold(PageBoardID); BindData(); break; } } protected string FormatForumLink(object ForumID,object ForumName) { if(ForumID.ToString()=="" || ForumName.ToString()=="") return ""; return String.Format("{1}",Forum.GetLink(Pages.topics,"f={0}",ForumID),ForumName); } protected string FormatTopicLink(object TopicID,object TopicName) { if(TopicID.ToString()=="" || TopicName.ToString()=="") return ""; return String.Format("{1}",Forum.GetLink(Pages.posts,"t={0}",TopicID),TopicName); } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { this.UserList.ItemCommand += new System.Web.UI.WebControls.RepeaterCommandEventHandler(this.UserList_ItemCommand); // // 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 } }