📄 eventlogcontroller.cs
字号:
using DotNetNuke.Services;
using System.Web.UI.WebControls;
using DotNetNuke;
using System.Data;
using System;
using System.Collections;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Entities.Tabs;
using DotNetNuke.Entities.Portals;
using DotNetNuke.Entities.Users;
using DotNetNuke.Security.Roles;
//
// DotNetNuke - http://www.dotnetnuke.com
// Copyright (c) 2002-2005
// by Shaun Walker ( sales@perpetualmotion.ca ) of Perpetual Motion Interactive Systems Inc. ( http://www.perpetualmotion.ca )
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
namespace DotNetNuke.Services.Log.EventLog
{
public class EventLogController : LogController
{
public enum EventLogType
{
USER_CREATED,
USER_DELETED,
LOGIN_SUPERUSER,
LOGIN_SUCCESS,
LOGIN_FAILURE,
CACHE_REFRESHED,
PASSWORD_SENT_SUCCESS,
PASSWORD_SENT_FAILURE,
LOG_NOTIFICATION_FAILURE,
PORTAL_CREATED,
PORTAL_DELETED,
TAB_CREATED,
TAB_UPDATED,
TAB_DELETED,
TAB_SENT_TO_RECYCLE_BIN,
TAB_RESTORED,
USER_ROLE_CREATED,
USER_ROLE_DELETED,
ROLE_CREATED,
ROLE_UPDATED,
ROLE_DELETED,
MODULE_CREATED,
MODULE_UPDATED,
MODULE_DELETED,
MODULE_SENT_TO_RECYCLE_BIN,
MODULE_RESTORED,
SCHEDULER_EVENT_STARTED,
SCHEDULER_EVENT_PROGRESSING,
SCHEDULER_EVENT_COMPLETED,
APPLICATION_START,
APPLICATION_END,
APPLICATION_SHUTTING_DOWN,
SCHEDULER_STARTED,
SCHEDULER_SHUTTING_DOWN,
SCHEDULER_STOPPED,
ADMIN_ALERT,
HOST_ALERT
}
public new void AddLog (LogInfo eventLogInfo)
{
LogController logController = new LogController();
logController.AddLog(eventLogInfo);
}
public void AddLog (object cbo, PortalSettings portalSettings, int userID, string userName, EventLogType logType)
{
LogController logController = new LogController();
LogInfo logInfo = new LogInfo();
logInfo.LogUserID = userID;
logInfo.LogPortalID = portalSettings.PortalId;
logInfo.LogTypeKey = logType.ToString();
logInfo.LogPortalName = portalSettings.PortalName;
switch (cbo.GetType().FullName)
{
case "DotNetNuke.Entities.Portals.PortalInfo":
PortalInfo portalInfo = cbo as PortalInfo;
logInfo.LogProperties.Add(new LogDetailInfo("PortalID", portalInfo.PortalID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("PortalName", portalInfo.PortalName));
logInfo.LogProperties.Add(new LogDetailInfo("Description", portalInfo.Description));
logInfo.LogProperties.Add(new LogDetailInfo("KeyWords", portalInfo.KeyWords));
logInfo.LogProperties.Add(new LogDetailInfo("LogoFile", portalInfo.LogoFile));
break;
case "DotNetNuke.Entities.Tabs.TabInfo":
TabInfo tabInfo = cbo as TabInfo;
logInfo.LogProperties.Add(new LogDetailInfo("TabID", tabInfo.TabID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("PortalID", tabInfo.PortalID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("TabName", tabInfo.TabName));
logInfo.LogProperties.Add(new LogDetailInfo("Title", tabInfo.Title));
logInfo.LogProperties.Add(new LogDetailInfo("Description", tabInfo.Description));
logInfo.LogProperties.Add(new LogDetailInfo("KeyWords", tabInfo.KeyWords));
logInfo.LogProperties.Add(new LogDetailInfo("Url", tabInfo.Url));
logInfo.LogProperties.Add(new LogDetailInfo("ParentId", tabInfo.ParentId.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("IconFile", tabInfo.IconFile));
logInfo.LogProperties.Add(new LogDetailInfo("IsVisible", tabInfo.IsVisible.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("SkinSrc", tabInfo.SkinSrc));
logInfo.LogProperties.Add(new LogDetailInfo("ContainerSrc", tabInfo.ContainerSrc));
break;
case "DotNetNuke.Entities.Modules.ModuleInfo":
ModuleInfo moduleInfo = cbo as ModuleInfo;
logInfo.LogProperties.Add(new LogDetailInfo("ModuleId", moduleInfo.ModuleID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("ModuleTitle", moduleInfo.ModuleTitle));
logInfo.LogProperties.Add(new LogDetailInfo("TabModuleID", moduleInfo.TabModuleID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("TabID", moduleInfo.TabID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("PortalID", moduleInfo.PortalID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("ModuleDefId", moduleInfo.ModuleDefID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("FriendlyName", moduleInfo.FriendlyName));
logInfo.LogProperties.Add(new LogDetailInfo("IconFile", moduleInfo.IconFile));
logInfo.LogProperties.Add(new LogDetailInfo("Visibility", moduleInfo.Visibility.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("ContainerSrc", moduleInfo.ContainerSrc));
break;
case "DotNetNuke.Entities.Users.UserInfo":
UserInfo userInfo = cbo as UserInfo;
logInfo.LogProperties.Add(new LogDetailInfo("userID", userInfo.UserID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("FirstName", userInfo.Profile.FirstName));
logInfo.LogProperties.Add(new LogDetailInfo("LastName", userInfo.Profile.LastName));
logInfo.LogProperties.Add(new LogDetailInfo("userName", userInfo.Membership.Username));
logInfo.LogProperties.Add(new LogDetailInfo("Email", userInfo.Membership.Email));
break;
case "DotNetNuke.Security.Roles.RoleInfo":
RoleInfo roleInfo = cbo as RoleInfo;
logInfo.LogProperties.Add(new LogDetailInfo("RoleID", roleInfo.RoleID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("RoleName", roleInfo.RoleName));
logInfo.LogProperties.Add(new LogDetailInfo("PortalID", roleInfo.PortalID.ToString()));
logInfo.LogProperties.Add(new LogDetailInfo("Description", roleInfo.Description));
logInfo.LogProperties.Add(new LogDetailInfo("IsPublic", roleInfo.IsPublic.ToString()));
break;
default: //Serialise using XmlSerializer
logInfo.LogProperties.Add(new LogDetailInfo("logdetail", XmlUtils.Serialize(cbo)));
break;
}
logController.AddLog(logInfo);
}
public void AddLog (PortalSettings portalSettings, int userID, EventLogType logType)
{
//Used for DotNetNuke native log types
LogProperties logProperties = new LogProperties();
AddLog(logProperties, portalSettings, userID, logType.ToString(), false);
}
public void AddLog (string propertyName, string propertyValue, PortalSettings portalSettings, int userID, EventLogType logType)
{
//Used for DotNetNuke native log types
LogProperties logProperties = new LogProperties();
LogDetailInfo logDetailInfo = new LogDetailInfo();
logDetailInfo.PropertyName = propertyName;
logDetailInfo.PropertyValue = propertyValue;
logProperties.Add(logDetailInfo);
AddLog(logProperties, portalSettings, userID, logType.ToString(), false);
}
public void AddLog (string propertyName, string propertyValue, PortalSettings portalSettings, int userID, string logType)
{
//Used for custom/on-the-fly log types
LogProperties logProperties = new LogProperties();
LogDetailInfo logDetailInfo = new LogDetailInfo();
logDetailInfo.PropertyName = propertyName;
logDetailInfo.PropertyValue = propertyValue;
logProperties.Add(logDetailInfo);
AddLog(logProperties, portalSettings, userID, logType, false);
}
public void AddLog (LogProperties logProperties, PortalSettings portalSettings, int userID, string logTypeKey, bool bypassBuffering)
{
//Used for custom/on-the-fly log types
LogController logController = new LogController();
LogInfo logInfo = new LogInfo();
logInfo.LogUserID = userID;
logInfo.LogPortalID = portalSettings.PortalId;
logInfo.LogTypeKey = logTypeKey;
logInfo.LogProperties = logProperties;
logInfo.LogPortalName = portalSettings.PortalName;
logInfo.BypassBuffering = bypassBuffering;
logController.AddLog(logInfo);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -