📄 activeusers.cs
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
// Copyright (c) Telligent Systems Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.UI;
using CommunityServer.Components;
using System.Collections;
namespace CommunityServer.Controls {
public class ActiveUsers : Label {
CSContext csContext = CSContext.Current;
protected override void CreateChildControls() {
ArrayList list = null;
Label label = new Label();
Controls.Add(label);
if (this.GuestMode) {
int guestCount = 0;
list = Users.GetGuestsOnline(CSContext.Current.SiteSettings.AnonymousUserOnlineTimeWindow);
if ((guestCount == 0) && (!csContext.Context.Request.IsAuthenticated))
guestCount = 1;
for (int i = 0; i < list.Count; i++) {
SiteUrls.ForumLocation location = SiteUrls.GetForumLocation( ((User) list[i]).LastAction );
if (
((location.ForumID == csContext.ForumID) && (location.ForumID > -1)) ||
((location.ForumGroupID == csContext.ForumGroupID) && (location.ForumGroupID > -1)) ||
((location.PostID == csContext.PostID) && (location.PostID > -1))
) {
guestCount++;
}
}
label.Text = string.Format(ResourceManager.GetString("ViewThreads_ActiveGuests"), guestCount);
} else {
label.Text = ResourceManager.GetString("ViewThreads_ActiveUsers");
list = Users.GetUsersOnline(CSContext.Current.SiteSettings.UserOnlineTimeWindow);
for (int i = 0; i < list.Count; i++) {
SiteUrls.ForumLocation location = SiteUrls.GetForumLocation( ((User) list[i]).LastAction );
if (
((location.ForumID == csContext.ForumID) && (location.ForumID > -1)) ||
((location.ForumGroupID == csContext.ForumGroupID) && (location.ForumGroupID > -1)) ||
((location.PostID == csContext.PostID) && (location.PostID > -1)) ||
( ((User) list[i]).UserID == CSContext.Current.UserID)
) {
HtmlAnchor anchor = new HtmlAnchor();
anchor.InnerText = ((User) list[i]).Username;
anchor.HRef = Globals.GetSiteUrls().UserProfile( ((User) list[i]).UserID );
Controls.Add(anchor);
Controls.Add(new LiteralControl(", "));
}
}
// Remove the last comma
Controls.RemoveAt( Controls.Count - 1 );
}
}
[
System.ComponentModel.DefaultValue( false ),
]
public virtual Boolean GuestMode {
get {
Object state = ViewState["GuestMode"];
if ( state != null ) {
return (Boolean)state;
}
return false;
}
set {
ViewState["GuestMode"] = value;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -