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

📄 eventlogcontroller.cs

📁 SharpNuke源代码
💻 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 + -