public void DeleteLogTypeConfig(string logTypeConfigId) { var logTypeConfigInfo = new LogTypeConfigInfo(); logTypeConfigInfo.ID = logTypeConfigId; LogController.Instance.DeleteLogTypeConfigInfo(logTypeConfigInfo); }
public static dynamic UpdateLogSetting(UpdateLogSettingsRequest request, UserInfo UserInfo) { dynamic Result = new ExpandoObject(); try { request.LogTypePortalID = UserInfo.IsSuperUser ? request.LogTypePortalID : UserInfo.PortalID.ToString(); LogTypeConfigInfo configInfo = _controller.GetLogTypeConfig(request.ID); if (!UserInfo.IsSuperUser && (!int.TryParse(configInfo.LogTypePortalID, out int settingPortalId) || !int.TryParse(request.LogTypePortalID, out int requestPortalId) || requestPortalId != settingPortalId)) { Result.Status = "Unauthorized"; return(Result); } LogTypeConfigInfo logTypeConfigInfo = JObject.FromObject(request).ToObject <LogTypeConfigInfo>(); _controller.UpdateLogTypeConfig(logTypeConfigInfo); return(GetSingleLogSetting(UserInfo, request.ID)); } catch (Exception ex) { Result.Status = ex.Message; DotNetNuke.Services.Exceptions.Exceptions.LogException(ex); } return(Result); }
private void EnsureLogTypeExists() { if (DoesLogTypeExist(LOGTYPEKEY)) { return; } var logTypeInfo = new LogTypeInfo { LogTypeKey = LOGTYPEKEY, LogTypeFriendlyName = "CloudFlare: Purge Cache", LogTypeDescription = string.Empty, LogTypeCSSClass = "GeneralAdminOperation", LogTypeOwner = "Upendo.Logging.PurgeCloudFlareCacheLogType" }; LogController.Instance.AddLogType(logTypeInfo); // Add LogType var logTypeConf = new LogTypeConfigInfo { LoggingIsActive = true, LogTypeKey = LOGTYPEKEY, KeepMostRecent = "50", NotificationThreshold = 1, NotificationThresholdTime = 1, NotificationThresholdTimeType = LogTypeConfigInfo.NotificationThresholdTimeTypes.Seconds, MailFromAddress = Null.NullString, MailToAddress = Null.NullString, LogTypePortalID = "*" }; LogController.Instance.AddLogTypeConfigInfo(logTypeConf); }
/// ----------------------------------------------------------------------------- /// <summary> /// cmdUpdate_Click runs when the Update Button is clicked /// </summary> /// <remarks> /// </remarks> /// <history> /// [cnurse] 9/17/2004 Updated to reflect design changes for Help, 508 support /// and localisation /// </history> /// ----------------------------------------------------------------------------- protected void OnUpdateClick(Object sender, EventArgs e) { var objLogTypeConfigInfo = new LogTypeConfigInfo { LoggingIsActive = chkIsActive.Checked, LogTypeKey = ddlLogTypeKey.SelectedItem.Value, LogTypePortalID = ddlLogTypePortalID.SelectedItem.Value, KeepMostRecent = ddlKeepMostRecent.SelectedItem.Value, EmailNotificationIsActive = chkEmailNotificationStatus.Checked, NotificationThreshold = Convert.ToInt32(ddlThreshold.SelectedItem.Value), NotificationThresholdTime = Convert.ToInt32(ddlThresholdNotificationTime.SelectedItem.Value), NotificationThresholdTimeType = (LogTypeConfigInfo.NotificationThresholdTimeTypes) Enum.Parse(typeof(LogTypeConfigInfo.NotificationThresholdTimeTypes), ddlThresholdNotificationTimeType.SelectedItem.Value), MailFromAddress = txtMailFromAddress.Text, MailToAddress = txtMailToAddress.Text }; var l = new LogController(); if (ViewState["LogID"] != null) { objLogTypeConfigInfo.ID = Convert.ToString(ViewState["LogID"]); l.UpdateLogTypeConfigInfo(objLogTypeConfigInfo); UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("ConfigUpdated", LocalResourceFile), ModuleMessage.ModuleMessageType.GreenSuccess); } else { objLogTypeConfigInfo.ID = Guid.NewGuid().ToString(); l.AddLogTypeConfigInfo(objLogTypeConfigInfo); UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("ConfigAdded", LocalResourceFile), ModuleMessage.ModuleMessageType.GreenSuccess); } BindSummaryData(); }
protected void DgLogTypeConfigInfoEditCommand(object source, GridCommandEventArgs e) { var logID = Convert.ToString(((GridDataItem)e.Item).GetDataKeyValue("ID")); ViewState["LogID"] = logID; BindDetailData(); var l = new LogController(); LogTypeConfigInfo objLogTypeConfigInfo = l.GetLogTypeConfigInfoByID(logID); chkIsActive.Checked = objLogTypeConfigInfo.LoggingIsActive; chkEmailNotificationStatus.Checked = objLogTypeConfigInfo.EmailNotificationIsActive; if (cboLogTypeKey.FindItemByValue(objLogTypeConfigInfo.LogTypeKey) != null) { cboLogTypeKey.ClearSelection(); cboLogTypeKey.FindItemByValue(objLogTypeConfigInfo.LogTypeKey).Selected = true; } if (cboLogTypePortalID.FindItemByValue(objLogTypeConfigInfo.LogTypePortalID) != null) { cboLogTypePortalID.ClearSelection(); cboLogTypePortalID.FindItemByValue(objLogTypeConfigInfo.LogTypePortalID).Selected = true; } if (cboKeepMostRecent.FindItemByValue(objLogTypeConfigInfo.KeepMostRecent) != null) { cboKeepMostRecent.ClearSelection(); cboKeepMostRecent.FindItemByValue(objLogTypeConfigInfo.KeepMostRecent).Selected = true; } if (cboThreshold.FindItemByValue(objLogTypeConfigInfo.NotificationThreshold.ToString(CultureInfo.InvariantCulture)) != null) { cboThreshold.ClearSelection(); cboThreshold.FindItemByValue(objLogTypeConfigInfo.NotificationThreshold.ToString(CultureInfo.InvariantCulture)).Selected = true; } if (cboThresholdNotificationTime.FindItemByValue(objLogTypeConfigInfo.NotificationThresholdTime.ToString(CultureInfo.InvariantCulture)) != null) { cboThresholdNotificationTime.ClearSelection(); cboThresholdNotificationTime.FindItemByValue(objLogTypeConfigInfo.NotificationThresholdTime.ToString(CultureInfo.InvariantCulture)).Selected = true; } if (cboThresholdNotificationTimeType.FindItemByText(objLogTypeConfigInfo.NotificationThresholdTimeType.ToString()) != null) { cboThresholdNotificationTimeType.ClearSelection(); cboThresholdNotificationTimeType.FindItemByText(objLogTypeConfigInfo.NotificationThresholdTimeType.ToString()).Selected = true; } txtMailFromAddress.Text = objLogTypeConfigInfo.MailFromAddress; txtMailToAddress.Text = objLogTypeConfigInfo.MailToAddress; DisableLoggingControls(); DisableNotificationControls(); e.Canceled = true; //disable inline editing in grid }
public void dgLogTypeConfigInfo_EditCommand(object source, DataGridCommandEventArgs e) { string LogID = Convert.ToString(dgLogTypeConfigInfo.DataKeys[e.Item.ItemIndex]); ViewState["LogID"] = LogID; BindDetailData(); LogController l = new LogController(); LogTypeConfigInfo objLogTypeConfigInfo = l.GetLogTypeConfigInfoByID(LogID); txtFileName.Text = objLogTypeConfigInfo.LogFileName; chkIsActive.Checked = objLogTypeConfigInfo.LoggingIsActive; chkEmailNotificationStatus.Checked = objLogTypeConfigInfo.EmailNotificationIsActive; if (ddlLogTypeKey.Items.FindByValue(objLogTypeConfigInfo.LogTypeKey) != null) { ddlLogTypeKey.ClearSelection(); ddlLogTypeKey.Items.FindByValue(objLogTypeConfigInfo.LogTypeKey).Selected = true; } if (ddlLogTypePortalID.Items.FindByValue(objLogTypeConfigInfo.LogTypePortalID) != null) { ddlLogTypePortalID.ClearSelection(); ddlLogTypePortalID.Items.FindByValue(objLogTypeConfigInfo.LogTypePortalID).Selected = true; } if (ddlKeepMostRecent.Items.FindByValue(objLogTypeConfigInfo.KeepMostRecent) != null) { ddlKeepMostRecent.ClearSelection(); ddlKeepMostRecent.Items.FindByValue(objLogTypeConfigInfo.KeepMostRecent).Selected = true; } if (ddlThreshold.Items.FindByValue(objLogTypeConfigInfo.NotificationThreshold.ToString()) != null) { ddlThreshold.ClearSelection(); ddlThreshold.Items.FindByValue(objLogTypeConfigInfo.NotificationThreshold.ToString()).Selected = true; } if (ddlThresholdNotificationTime.Items.FindByValue(objLogTypeConfigInfo.NotificationThresholdTime.ToString()) != null) { ddlThresholdNotificationTime.ClearSelection(); ddlThresholdNotificationTime.Items.FindByValue(objLogTypeConfigInfo.NotificationThresholdTime.ToString()).Selected = true; } if (ddlThresholdNotificationTimeType.Items.FindByText(objLogTypeConfigInfo.NotificationThresholdTimeType.ToString()) != null) { ddlThresholdNotificationTimeType.ClearSelection(); ddlThresholdNotificationTimeType.Items.FindByText(objLogTypeConfigInfo.NotificationThresholdTimeType.ToString()).Selected = true; } txtMailFromAddress.Text = objLogTypeConfigInfo.MailFromAddress; txtMailToAddress.Text = objLogTypeConfigInfo.MailToAddress; DisableLoggingControls(); }
public override bool LoggingIsEnabled(string logType, int portalID) { string configPortalID = portalID.ToString(); if (portalID == -1) { configPortalID = "*"; } LogTypeConfigInfo configInfo = GetLogTypeConfigInfoByKey(logType, configPortalID); if (configInfo == null) { return(false); } return(configInfo.LoggingIsActive); }
/// ----------------------------------------------------------------------------- /// <summary> /// cmdDelete_Click runs when the delete Button is clicked /// </summary> /// <remarks> /// </remarks> /// ----------------------------------------------------------------------------- protected void OnDeleteClick(Object sender, EventArgs e) { var logTypeConfigInfo = new LogTypeConfigInfo(); logTypeConfigInfo.ID = Convert.ToString(ViewState["LogID"]); try { LogController.Instance.DeleteLogTypeConfigInfo(logTypeConfigInfo); DotNetNuke.UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("ConfigDeleted", LocalResourceFile), ModuleMessage.ModuleMessageType.GreenSuccess); BindSummaryData(); } catch { DotNetNuke.UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("DeleteError", LocalResourceFile), ModuleMessage.ModuleMessageType.RedError); } }
/// <summary> /// cmdDelete_Click runs when the delete Button is clicked /// </summary> /// <remarks> /// </remarks> /// <history> /// [cnurse] 9/17/2004 Updated to reflect design changes for Help, 508 support /// and localisation /// </history> protected void cmdDelete_Click(Object sender, EventArgs e) { LogTypeConfigInfo objLogTypeConfigInfo = new LogTypeConfigInfo(); LogController l = new LogController(); objLogTypeConfigInfo.ID = Convert.ToString(ViewState["LogID"]); try { l.DeleteLogTypeConfigInfo(objLogTypeConfigInfo); UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("ConfigDeleted", this.LocalResourceFile), ModuleMessageType.GreenSuccess); BindSummaryData(); } catch { UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("DeleteError", this.LocalResourceFile), ModuleMessageType.RedError); } }
private static void RegisterLogType(string logTypeKey, string logTypeFriendlyName, string cssClass, LogController controller) { if (controller.GetLogTypeInfoDictionary().ContainsKey(logTypeKey)) { //Add LogType var logTypeInfo = controller.GetLogTypeInfoDictionary()[logTypeKey]; logTypeInfo.LogTypeFriendlyName = logTypeFriendlyName; logTypeInfo.LogTypeDescription = string.Empty; logTypeInfo.LogTypeCSSClass = cssClass; logTypeInfo.LogTypeOwner = "Hotcakes.Logging.EventLogType"; controller.UpdateLogType(logTypeInfo); } else { //Add LogType var logTypeInfo = new LogTypeInfo { LogTypeKey = logTypeKey, LogTypeFriendlyName = logTypeFriendlyName, LogTypeDescription = string.Empty, LogTypeCSSClass = cssClass, LogTypeOwner = "Hotcakes.Logging.EventLogType" }; controller.AddLogType(logTypeInfo); //Add LogType var logTypeConf = new LogTypeConfigInfo { LoggingIsActive = true, LogTypeKey = logTypeKey, KeepMostRecent = "100", NotificationThreshold = 1, NotificationThresholdTime = 1, NotificationThresholdTimeType = LogTypeConfigInfo.NotificationThresholdTimeTypes.Seconds, MailFromAddress = Null.NullString, MailToAddress = Null.NullString, LogTypePortalID = "*" }; controller.AddLogTypeConfigInfo(logTypeConf); } }
private static Hashtable FillLogTypeConfigInfoByKey(ArrayList arr) { Hashtable ht = new Hashtable(); for (int i = 0; i < arr.Count; i++) { LogTypeConfigInfo obj = (LogTypeConfigInfo)(arr[i]); if (obj.LogTypeKey == "") { obj.LogTypeKey = "*"; } if (obj.LogTypePortalID == "") { obj.LogTypePortalID = "*"; } ht.Add(obj.LogTypeKey + "|" + obj.LogTypePortalID, obj); } DataCache.SetCache("GetLogTypeConfigInfoByKey", ht); return(ht); }
public static dynamic DeleteLogSetting(UserInfo UserInfo, string LogTypeConfigId) { dynamic Data = new ExpandoObject(); try { LogTypeConfigInfo configInfo = _controller.GetLogTypeConfig(LogTypeConfigId); if (!UserInfo.IsSuperUser && (!int.TryParse(configInfo.LogTypePortalID, out int portalId) || portalId != UserInfo.PortalID)) { Data.Status = "Unauthorized"; return(Data); } _controller.DeleteLogTypeConfig(LogTypeConfigId); Data.Status = "Success"; } catch (Exception ex) { Data.Status = ex.Message; DotNetNuke.Services.Exceptions.Exceptions.LogException(ex); } return(Data); }
public static dynamic GetSingleLogSetting(UserInfo UserInfo, string logTypeConfigId) { dynamic Result = new ExpandoObject(); try { LogTypeConfigInfo configInfo = _controller.GetLogTypeConfig(logTypeConfigId); if (!UserInfo.IsSuperUser && (!int.TryParse(configInfo.LogTypePortalID, out int portalId) || portalId != UserInfo.PortalID)) { Result.Status = "Unauthorized"; return(Result); } Result.ID = configInfo.ID; Result.LoggingIsActive = configInfo.LoggingIsActive; Result.LogTypeFriendlyName = configInfo.LogTypeFriendlyName; Result.LogTypeKey = configInfo.LogTypeKey; Result.LogTypePortalID = int.TryParse(configInfo.LogTypePortalID, out portalId) ? portalId.ToString() : "*"; Result.LogTypePortalName = int.TryParse(configInfo.LogTypePortalID, out portalId) ? PortalController.Instance.GetPortal(portalId).PortalName : "*"; Result.KeepMostRecent = configInfo.KeepMostRecent; Result.EmailNotificationIsActive = configInfo.EmailNotificationIsActive; Result.NotificationThreshold = configInfo.NotificationThreshold; Result.NotificationThresholdTime = configInfo.NotificationThresholdTime; Result.NotificationThresholdTimeType = configInfo.NotificationThresholdTimeType; Result.MailFromAddress = configInfo.MailFromAddress; Result.MailToAddress = configInfo.MailToAddress; Result.Status = "Success"; } catch (Exception ex) { Result.Status = ex.Message; DotNetNuke.Services.Exceptions.Exceptions.LogException(ex); } return(Result); }
private LogTypeConfigInfo GetLogTypeConfigInfoByKey(string LogTypeKey, string LogTypePortalID) { Hashtable ht = (Hashtable)(DataCache.GetCache("GetLogTypeConfigInfoByKey")); if (ht == null) { ht = FillLogTypeConfigInfoByKey(GetLogTypeConfigInfo()); } LogTypeConfigInfo objLogTypeConfigInfo = (LogTypeConfigInfo)(ht[LogTypeKey + "|" + LogTypePortalID]); if (objLogTypeConfigInfo == null) { objLogTypeConfigInfo = (LogTypeConfigInfo)(ht["*|" + LogTypePortalID]); if (objLogTypeConfigInfo == null) { objLogTypeConfigInfo = (LogTypeConfigInfo)(ht[LogTypeKey + "|*"]); if (objLogTypeConfigInfo == null) { objLogTypeConfigInfo = (LogTypeConfigInfo)(ht["*|*"]); } else { return(objLogTypeConfigInfo); } } else { return(objLogTypeConfigInfo); } } else { return(objLogTypeConfigInfo); } return(objLogTypeConfigInfo); }
public static dynamic AddLogSetting(PortalSettings PortalSettings, UserInfo UserInfo, UpdateLogSettingsRequest request) { dynamic Result = new ExpandoObject(); try { bool isAdmin = UserInfo.Roles.Contains(PortalSettings.AdministratorRoleName); if (isAdmin) { Result.Status = "Unauthorized"; return(Result); } request.LogTypePortalID = UserInfo.IsSuperUser ? request.LogTypePortalID : PortalSettings.PortalId.ToString(); LogTypeConfigInfo logTypeConfigInfo = JObject.FromObject(request).ToObject <LogTypeConfigInfo>(); _controller.AddLogTypeConfig(logTypeConfigInfo); Result.Status = "Success"; } catch (Exception ex) { Result.Status = ex.Message; DotNetNuke.Services.Exceptions.Exceptions.LogException(ex); } return(Result); }
private static void WriteLog(LogQueueItem logQueueItem) { LogTypeConfigInfo logTypeConfigInfo = null; try { logTypeConfigInfo = logQueueItem.LogTypeConfigInfo; if (logTypeConfigInfo != null) { LogInfo objLogInfo = logQueueItem.LogInfo; string logProperties = objLogInfo.LogProperties.Serialize(); DataProvider.Instance().AddLog(objLogInfo.LogGUID, objLogInfo.LogTypeKey, objLogInfo.LogUserID, objLogInfo.LogUserName, objLogInfo.LogPortalID, objLogInfo.LogPortalName, objLogInfo.LogCreateDate, objLogInfo.LogServerName, logProperties, Convert.ToInt32(objLogInfo.LogConfigID)); if (logTypeConfigInfo.EmailNotificationIsActive) { LockNotif.AcquireWriterLock(ReaderLockTimeout); try { if (logTypeConfigInfo.NotificationThreshold == 0) { string str = logQueueItem.LogInfo.Serialize(); Mail.Mail.SendEmail(logTypeConfigInfo.MailFromAddress, logTypeConfigInfo.MailToAddress, "Event Notification", str); } } finally { LockNotif.ReleaseWriterLock(); } } } } catch (SqlException exc) { DnnLog.Error(exc); if ((HttpContext.Current != null)) { if (HttpContext.Current.IsCustomErrorEnabled) { HttpContext.Current.AddError(exc); } else { HttpResponse response = HttpContext.Current.Response; response.StatusCode = 500; HtmlUtils.WriteHeader(response, "SQL Exception"); string strMessage = SqlUtils.TranslateSQLException(exc); if (logTypeConfigInfo != null) { HtmlUtils.WriteError(response, logTypeConfigInfo.LogFileNameWithPath, strMessage); } HtmlUtils.WriteFooter(response); response.End(); } } } catch (Exception exc) { DnnLog.Error(exc); if (HttpContext.Current != null) { HttpResponse response = HttpContext.Current.Response; HtmlUtils.WriteHeader(response, "Unhandled Error"); string strMessage = exc.Message; if (logTypeConfigInfo != null) { HtmlUtils.WriteError(response, logTypeConfigInfo.LogFileNameWithPath, strMessage); } HtmlUtils.WriteFooter(response); response.End(); } } }
public void AddLogTypeConfig(LogTypeConfigInfo logTypeConfigInfo) { LogController.Instance.AddLogTypeConfigInfo(logTypeConfigInfo); }
public void UpdateLogTypeConfig(LogTypeConfigInfo logTypeConfigInfo) { LogController.Instance.UpdateLogTypeConfigInfo(logTypeConfigInfo); }
private static void WriteLog(LogQueueItem objLogQueueItem) { LogTypeConfigInfo objLogTypeConfigInfo = null; try { objLogTypeConfigInfo = objLogQueueItem.LogTypeConfigInfo; if (objLogTypeConfigInfo != null) { LogInfo objLogInfo = objLogQueueItem.LogInfo; string LogProperties = objLogInfo.LogProperties.Serialize(); DataProvider.Instance().AddLog(objLogInfo.LogGUID, objLogInfo.LogTypeKey, objLogInfo.LogUserID, objLogInfo.LogUserName, objLogInfo.LogPortalID, objLogInfo.LogPortalName, objLogInfo.LogCreateDate, objLogInfo.LogServerName, LogProperties, Convert.ToInt32(objLogInfo.LogConfigID)); if (objLogTypeConfigInfo.EmailNotificationIsActive) { try { lockNotif.AcquireWriterLock(ReaderLockTimeout); if (objLogTypeConfigInfo.NotificationThreshold == 0) { string str = objLogQueueItem.LogInfo.Serialize(); Mail.Mail.SendMail(objLogTypeConfigInfo.MailFromAddress, objLogTypeConfigInfo.MailToAddress, "", "Event Notification", str, "", "", "", "", "", ""); } else if (objLogTypeConfigInfo.LogTypeKey != "LOG_NOTIFICATION_FAILURE") { //pending log notifications go here } } finally { lockNotif.ReleaseWriterLock(); } } } if (objLogTypeConfigInfo.EmailNotificationIsActive) { if (objLogTypeConfigInfo.NotificationThreshold == 0) { //SendNotification(objLogTypeConfigInfo.MailFromAddress, objLogTypeConfigInfo.MailToAddress, "", "Event Notification", xmlDoc.InnerXml) } else if (objLogTypeConfigInfo.LogTypeKey != "LOG_NOTIFICATION_FAILURE") { } } } catch (Exception exc) { if (HttpContext.Current != null) { HttpResponse response = HttpContext.Current.Response; HtmlUtils.WriteHeader(response, "Unhandled Error"); string strMessage = exc.Message; HtmlUtils.WriteError(response, objLogTypeConfigInfo.LogFileNameWithPath, strMessage); HtmlUtils.WriteFooter(response); response.End(); } } }