using System;
using CMS.CMSHelper;
using CMS.EventLog;
using CMS.GlobalHelper;
using CMS.SiteProvider;
using CMS.UIControls;
public partial class CMSModules_EventLog_EventLog : CMSEventLogPage
{
#region "Protectetd variables"
protected EventLogProvider eventProvider = new EventLogProvider();
private int siteID = -1;
#endregion
#region "Page events"
protected void Page_Load(object sender, EventArgs e)
{
eventLog.OnCheckPermissions += eventLog_OnCheckPermissions;
// Register the dialog script
ScriptHelper.RegisterDialogScript(this);
// Setup page title text and image
CurrentMaster.Title.TitleText = GetString("EventLogList.Header");
CurrentMaster.Title.TitleImage = GetImageUrl("Objects/CMS_EventLog/object.png");
CurrentMaster.Title.HelpTopicName = "list_of_events";
CurrentMaster.Title.HelpName = "helpTopic";
lblSite.Text = GetString("EventLogList.Label");
btnClearLog.Text = GetString("EventLogList.Clear");
btnClearLog.Attributes.Add("onclick", "return confirm(" + ScriptHelper.GetString(GetString("EventLogList.ClearAllConfirmation")) + ");");
if (SiteID > 0)
{
pnlSites.Visible = false;
siteID = SiteID;
}
else
{
// Set site selector
siteSelector.DropDownSingleSelect.AutoPostBack = true;
siteSelector.OnlyRunningSites = false;
siteSelector.AllowAll = true;
siteSelector.UniSelector.SpecialFields = new string[,] { { GetString("EventLogList.GlobalEvents"), "0" } };
siteSelector.UniSelector.OnSelectionChanged += UniSelector_OnSelectionChanged;
if (RequestHelper.IsPostBack())
{
siteID = ValidationHelper.GetInteger(siteSelector.Value, 0);
}
}
eventLog.SiteID = siteID;
}
protected void Page_PreRender(object sender, EventArgs e)
{
// If user is not authorized, hide the whole panel
pnlTop.Visible = CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.EventLog", "ClearLog");
if (pnlTop.Visible)
{
// If events grid not empty allow clear log button
btnClearLog.Enabled = (eventLog.EventLogGrid.RowsCount > 0);
if (btnClearLog.Enabled)
{
btnClearLog.Attributes.Add("onclick", "return confirm(" + ScriptHelper.GetString(GetString("EventLogList.ClearConfirmation")) + ");");
}
}
}
#endregion
#region "UI Handlers"
///
/// Handles site selection change event.
///
protected void UniSelector_OnSelectionChanged(object sender, EventArgs e)
{
// Update eventLog
eventLog.ReloadData();
eventLog.Update();
}
///
/// Deletes event logs from DB.
///
protected void ClearLogButton_Click(object sender, EventArgs e)
{
if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.EventLog", "ClearLog"))
{
RedirectToAccessDenied("CMS.EventLog", "ClearLog");
}
UserInfo ui = CMSContext.CurrentUser;
// Deletes event logs of specific site from DB
eventProvider.ClearEventLog(ui.UserID, ui.UserName, HTTPHelper.UserHostAddress, siteID);
eventLog.ReloadData();
}
#endregion
#region "Private methods"
///
/// OnCheckPermission event handler.
///
/// Type of the permission
/// The sender
private void eventLog_OnCheckPermissions(string permissionType, CMSAdminControl sender)
{
CheckPermissions(true);
}
#endregion
}