HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/CMS/CMSModules/Scheduler/Pages/Tab_SystemTasks.aspx.cs
using System;
using System.Web.UI.WebControls;

using CMS.Base;
using CMS.ExtendedControls;
using CMS.ExtendedControls.ActionsConfig;
using CMS.Helpers;
using CMS.Membership;
using CMS.PortalEngine;
using CMS.Scheduler;
using CMS.UIControls;

public partial class CMSModules_Scheduler_Pages_Tab_SystemTasks : CMSScheduledTasksPage
{
    #region "Variables"

    // Actions event names
    private const string TASKS_RESTART_TIMER = "TASKSRESTART";
    private const string TASKS_RUN = "TASKSRUN";

    #endregion


    #region "Properties"

    /// <summary>
    /// Messages placeholder
    /// </summary>
    public override MessagesPlaceHolder MessagesPlaceHolder
    {
        get
        {
            return plcMess;
        }
    }


    /// <summary>
    /// Local header actions
    /// </summary>
    public override HeaderActions HeaderActions
    {
        get
        {
            return headerActions;
        }
    }

    #endregion


    #region "Page events"

    protected void Page_Load(object sender, EventArgs e)
    {
        rightHeaderActions.ActionPerformed += RightHeaderActions_ActionPerformed;            

        // Show info that scheduler is disabled
        if (!SchedulingHelper.EnableScheduler)
        {
            ShowWarning(GetString("scheduledtask.disabled"));
        }

        listElem.SiteID = SiteID;
        string editUrl = UIContextHelper.GetElementUrl("CMS.ScheduledTasks", GetElementName("EditSystemTask"), true);
        editUrl = URLHelper.AddParameterToUrl(editUrl, "siteid", SiteID.ToString());
        listElem.EditURL = editUrl;

        // Refresh action
        HeaderActions.AddAction(new HeaderAction
        {
            Text = GetString("General.Refresh"),
            OnClientClick = "RefreshGrid();"
        });

        if (SiteInfo != null)
        {
            bool usesTimer = SchedulingHelper.UseAutomaticScheduler || !SchedulingHelper.RunSchedulerWithinRequest;
            if (usesTimer)
            {
                // Restart timer action
                rightHeaderActions.AddAction(new HeaderAction
                {
                    Text = GetString("Task_List.Restart"),
                    EventName = TASKS_RESTART_TIMER,
                    ButtonStyle = ButtonStyle.Default
                });
            }

            // Run execution ASAP action
            rightHeaderActions.AddAction(new HeaderAction
            {
                Text = GetString("Task_List.RunNow"),
                EventName = TASKS_RUN,
                Enabled = SchedulingHelper.EnableScheduler && (!usesTimer || SchedulingTimer.TimerExists(SiteInfo.SiteName)),
                ButtonStyle = ButtonStyle.Default
            });
        }

        // Force action buttons to cause full postback so that tasks can be properly executed in global.asax
        ControlsHelper.RegisterPostbackControl(listElem);
        ControlsHelper.RegisterPostbackControl(rightHeaderActions);

        if (ControlsHelper.CausedPostBack(btnRefresh))
        {
            // Update content after refresh
            pnlUpdate.Update();
        }
    }


    protected override void OnPreRender(EventArgs e)
    {
        if (SiteInfo != null)
        {
            if (SchedulingHelper.UseAutomaticScheduler || !SchedulingHelper.RunSchedulerWithinRequest)
            {
                lblLastRun.Visible = true;

                string siteName = SiteInfo.SiteName.ToLowerCSafe();
                if (SchedulingTimer.TimerExists(siteName))
                {
                    DateTime lastRun = ValidationHelper.GetDateTime(SchedulingTimer.LastRuns[siteName], DateTimeHelper.ZERO_TIME);
                    if (lastRun != DateTimeHelper.ZERO_TIME)
                    {
                        lblLastRun.Text = GetString("Task_List.LastRun") + " " + lastRun;
                    }
                    else
                    {
                        lblLastRun.Text = GetString("Task_List.Running");
                    }
                }
                else
                {
                    lblLastRun.Text = GetString("Task_List.NoRun");
                }
            }
            else
            {
                lblLastRun.Visible = false;
            }
        }

        ScriptHelper.RegisterStartupScript(Page, typeof(string), "SchedulerRefreshScript", "function RefreshGrid() { " + ControlsHelper.GetPostBackEventReference(btnRefresh) + "; }", true);

        base.OnPreRender(e);
    }

    #endregion


    /// <summary>
    /// Handles action performed event for right HeaderActions.
    /// </summary>
    protected void RightHeaderActions_ActionPerformed(object sender, CommandEventArgs args)
    {
        switch (args.CommandName)
        {
            case TASKS_RESTART_TIMER:

                // Check "modify" permission
                if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.ScheduledTasks", "Modify"))
                {
                    RedirectToAccessDenied("CMS.ScheduledTasks", "Modify");
                }

                SchedulingTimer.RestartTimer(SiteInfo.SiteName);
                break;

            case TASKS_RUN:

                // Check "modify" permission
                if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.ScheduledTasks", "Modify"))
                {
                    RedirectToAccessDenied("CMS.ScheduledTasks", "Modify");
                }

                SchedulingTimer.RunSchedulerASAP(SiteInfo.SiteName);
                SchedulingTimer.SchedulerRunImmediatelySiteName = SiteInfo.SiteName;
                break;
        }
        pnlUpdate.Update();
    }
}