📄 userimagebuttons.cs
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
// Copyright (c) Telligent Systems Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI;
using CommunityServer.Components;
namespace CommunityServer.Controls {
public class UserImageButtons : PlaceHolder {
#region Member variables
CSContext csContext = CSContext.Current;
#endregion
#region Render logic
protected override void Render(HtmlTextWriter writer) {
switch ( this.Mode ) {
case (UserImageButtonMode.Email):
// Email(writer, false);
break;
case (UserImageButtonMode.HomePage):
HomePage(writer, false);
break;
case (UserImageButtonMode.PrivateMessages):
PrivateMessage(writer, false);
break;
case (UserImageButtonMode.WebLog):
WebLog(writer, false);
break;
case (UserImageButtonMode.Search):
Search(writer, false);
break;
default: // All
// Email(writer, true);
PrivateMessage(writer, true);
HomePage(writer, true);
WebLog(writer, true);
Search(writer, true);
break;
}
// User's profile
//
// l.ImageUrl = Globals.GetSkinPath() + "/images/post_button_profile.gif";
// l.NavigateUrl = Globals.GetSiteUrls().UserProfile(user.UserID);
// l.RenderControl(writer);
// User's IM
//
/* Currently disabled
if (!user.IsAnonymous) {
writer.Write(" ");
l.ImageUrl = Globals.GetSkinPath() + "/images/post_button_buddy.gif";
l.NavigateUrl = "TODO";
l.RenderControl(writer);
// User's stats
//
writer.Write(" ");
l.ImageUrl = Globals.GetSkinPath() + "/images/post_button_stats.gif";
l.NavigateUrl = "TODO";
l.RenderControl(writer);
}
*/
}
// User's email
//
void Email(HtmlTextWriter writer, bool whitespace) {
if ( !User.IsAnonymous && CSContext.Current.SiteSettings.EnableEmail)
{
HyperLink l = new HyperLink();
if (whitespace)
writer.Write(" ");
l.ImageUrl = Globals.GetSkinPath() + "/images/post_button_email.gif";
l.NavigateUrl = Globals.GetSiteUrls().EmailToUser(User.UserID);
l.ToolTip = string.Format(ResourceManager.GetString("UserImageButtons_Email"), this.User.Username);
l.RenderControl(writer);
}
}
// User's Private Messages
//
void PrivateMessage(HtmlTextWriter writer, bool whitespace) {
if ((!User.IsAnonymous) && (csContext.User.UserID != User.UserID))
{
HyperLink l = new HyperLink();
if (whitespace)
writer.Write(" ");
l.ImageUrl = Globals.GetSkinPath() + "/images/post_button_pm.gif";
l.NavigateUrl = Globals.GetSiteUrls().PrivateMessage(User.UserID);
l.ToolTip = string.Format(ResourceManager.GetString("UserImageButtons_PrivateMessage"), User.Username);
l.RenderControl(writer);
}
}
// User's home page
//
void HomePage(HtmlTextWriter writer, bool whitespace) {
if ((User.Profile.WebAddress != String.Empty) && (!User.IsAnonymous)) {
HyperLink l = new HyperLink();
if (whitespace)
writer.Write(" ");
l.Target = "_new";
l.ImageUrl = Globals.GetSkinPath() + "/images/post_button_www.gif";
l.NavigateUrl = User.Profile.WebAddress;
l.ToolTip = string.Format(ResourceManager.GetString("UserImageButtons_HomePage"), User.Username);
l.RenderControl(writer);
}
}
// User's web log
//
void WebLog (HtmlTextWriter writer, bool whitespace) {
if ((User.Profile.WebLog != String.Empty) && (!User.IsAnonymous)) {
HyperLink l = new HyperLink();
if (whitespace)
writer.Write(" ");
l.Target = "_new";
l.ImageUrl = Globals.GetSkinPath() + "/images/post_button_weblog.gif";
l.NavigateUrl = User.Profile.WebLog;
l.ToolTip = string.Format(ResourceManager.GetString("UserImageButtons_WebLog"), User.Username);
l.RenderControl(writer);
}
}
// Search
//
void Search (HtmlTextWriter writer, bool whitespace) {
if ((User.TotalPosts > 0) && (!User.IsAnonymous)) {
HyperLink l = new HyperLink();
if (whitespace)
writer.Write(" ");
l.ImageUrl = Globals.GetSkinPath() + "/images/post_button_search.gif";
l.NavigateUrl = Globals.GetSiteUrls().SearchByUser( User.UserID);
l.ToolTip = string.Format(ResourceManager.GetString("UserImageButtons_SearchFor"), User.Username);
l.RenderControl(writer);
}
}
#endregion
#region Public properties
public User User {
get {
if ( _user == null ) {
Object state = ViewState[ "UserID" ];
if ( state != null ) {
Int32 userID = (Int32)state;
_user = Users.GetUser( userID, false );
}
}
return _user;
}
set {
_user = value;
if ( _user != null ) {
ViewState[ "UserID" ] = _user.UserID;
} else {
ViewState.Remove( "UserID" );
}
}
}
User _user;
[
DefaultValue( UserImageButtonMode.All ),
]
public virtual UserImageButtonMode Mode {
get {
Object state = ViewState["Mode"];
if ( state != null ) {
return (UserImageButtonMode)state;
}
return UserImageButtonMode.All;
}
set {
ViewState["Mode"] = value;
}
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -