⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 homeadmin.cs

📁 本系统是在asp版《在线文件管理器》的基础上设计制作
💻 CS
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CommunityServer.Components;


namespace CommunityServer.Controls {
	
	/// <summary>
	/// This control displays the admin section's home content.
	/// </summary>
	[
	ParseChildren( true ),
	PersistChildren( false ),
	]
	public class HomeAdmin : TemplatedWebControl {

		protected override void OnLoad(EventArgs e) {
			currentUser = CSContext.Current.User;
			if ( !Page.IsPostBack ) {
				this.DataBind();
			}
			base.OnLoad (e);
		}

		User currentUser = null;

		protected override void AttachChildControls() {
			newVersionAvailable = (Panel)this.FindControl("NewVersionAvailable");
			newVersion = (Label)this.FindControl("NewVersion");
			downloadVersion = (HyperLink)this.FindControl("DownloadVersion");
			versionModified = (Panel)this.FindControl("VersionModified");
			customVersion = (Label)this.FindControl("CustomVersion");
			unableToRetrieveVersionData = (Panel)this.FindControl("UnableToRetrieveVersionData");
			unknownVersion = (Label)this.FindControl("UnknownVersion");
			enableRetrieval = (Label)this.FindControl("EnableRetrieval");
			forumsRunning = (Literal)this.FindControl("ForumsRunning");
			userWaiting = (Literal)this.FindControl("UserWaiting");
			postWaiting = (Literal)this.FindControl("PostWaiting");
			emailQueue = (Literal)this.FindControl("EmailQueue");
			shortCutsTitle = (Label)this.FindControl("ShortCutsTitle");
			shortCuts = (Label)this.FindControl("ShortCuts");
			developersTitle = (Label)this.FindControl("DevelopersTitle");
			developers = (Label)this.FindControl("Developers");

			FindControl("AdminLinksCell").Visible = currentUser.IsAdministrator; //NEED to update this to include individual roles
		}

        private void SetSettings(SiteSettings siteSettings, User user)
        {
            if(user.IsModerator)
            {
                
                
                string[] userWaitingInfo = new string[2];
                string[] postWaitingInfo = new string[2];
                string[] emailQueueInfo = new string[1];



                UserSet users = Users.GetUsers(0, 1, SortUsersBy.JoinedDate, SortOrder.Ascending, "", false, false, UserAccountStatus.ApprovalPending, true, true);
                userWaitingInfo[0] = users.TotalRecords.ToString();
                userWaitingInfo[1] = "<a href=\"" + Globals.GetSiteUrls().AdminManageUsersFilter(UserAccountStatus.ApprovalPending) + "\">" + ResourceManager.GetString("AccountStatus_Approved") + "</a>";

                // Check how many posts are awaiting moderation approval,
                // by looping through and totalling the forums to moderate.
                //
               // ArrayList forumsToModerate = Moderate.GetForumsToModerate();

                int totalPosts = 0;
//                foreach (Forum f in forumsToModerate) 
//                {
//                    totalPosts += f.PostsToModerate;
//                }

                postWaitingInfo[0] = totalPosts.ToString();
                postWaitingInfo[1] = "<a href=\"" + Globals.GetSiteUrls().ModerationHome + "\">" + ResourceManager.GetString("Moderation") + "</a>";

                // Check how many emails are in the queue.
                // EAD 5/25/2004: This is costly, as it touches the
                // DB on every occurance.
                // 
                ArrayList emails = Emails.EmailsInQueue(siteSettings.SettingsID);
                emailQueueInfo[0] = Convert.ToString(emails.Count);


                this.userWaiting.Text = String.Format( ResourceManager.GetString("Admin_Home_UserWaiting"), userWaitingInfo);
                this.postWaiting.Text = String.Format( ResourceManager.GetString("Admin_Home_PostWaiting"), postWaitingInfo);
                this.emailQueue.Text = String.Format( ResourceManager.GetString("Admin_Home_EmailQueue"), emailQueueInfo) + ResourceManager.GetString("Admin_Home_EmailQueueForceSend");

            }
        }

        private void SystemInfo(SiteSettings siteSettings, User user)
        {
            if(user.IsAdministrator)
            {
                string[] forumsRunningInfo = new string[5];

                // check to see if the forums are enabled or disabled.
                //
                if (siteSettings.ForumsDisabled)
                    forumsRunningInfo[0] = ResourceManager.GetString("Disabled");
                else
                    forumsRunningInfo[0] = ResourceManager.GetString("Enabled");

                // Get the starttime of the W3CSVC service.
                //
                // Due to Process Model not enabled in 2003 Server by default,
                // this may be blank.

            

                try 
                {
                    ProcessInfo processInfo = ProcessModelInfo.GetCurrentProcessInfo();
                    forumsRunningInfo[1] = processInfo.StartTime.ToString();
                    forumsRunningInfo[2] = processInfo.Age.Days.ToString();
                    forumsRunningInfo[3] = processInfo.Age.Hours.ToString();
                    forumsRunningInfo[4] = processInfo.Age.Minutes.ToString();
                }

                catch 
                {

                    forumsRunningInfo[1] = ResourceManager.GetString("NotAvailable");
                    forumsRunningInfo[2] = "";
                    forumsRunningInfo[3] = "";
                    forumsRunningInfo[4] = "";
                }

		
                // Check how many users are awaiting moderation approval.
                //
			
                this.forumsRunning.Text = String.Format( ResourceManager.GetString("Admin_Home_Running"), forumsRunningInfo);
            }
        }


		public override void DataBind() {
			base.DataBind();

			#region New Version

			newVersion.Text = ResourceManager.GetString("Admin_Home_NewVersion");

			#endregion

			#region Custom Version

			customVersion.Text = ResourceManager.GetString("Admin_Home_CustomVersion"); 

			#endregion

			#region Unknown Version

			unknownVersion.Text = ResourceManager.GetString("Admin_Home_UnknownVersion");
			enableRetrieval.Text = ResourceManager.GetString("Admin_Home_EnableRetrieval");

			#endregion



			
			#region Stats

			#region Collect Info

            
            SiteSettings siteSettings = SiteSettingsManager.GetSiteSettings(Context);

            SetSettings(siteSettings,currentUser);
            SystemInfo(siteSettings,currentUser);

 

			#endregion


			#endregion

			#region Shortcuts

			shortCutsTitle.Text = ResourceManager.GetString("Admin_Home_ShortCuts");

			#endregion


			#region Version

            if(currentUser.IsAdministrator)
            {
                newVersionAvailable.Visible = false;
                versionModified.Visible = false;
            }

			#endregion
		}

		
		#region Child Controls


		Panel newVersionAvailable;
		Label newVersion;
		HyperLink downloadVersion;

		Panel versionModified;
		Label customVersion;

		Panel unableToRetrieveVersionData;
		Label unknownVersion;
		Label enableRetrieval;

		Literal forumsRunning;
		Literal userWaiting;
		Literal postWaiting;
		Literal emailQueue;

		Label shortCutsTitle;
		Label shortCuts;

		Label developersTitle;
		Label developers;

		#endregion

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -