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/Staging/Tools/Tasks/DocumentsList.aspx.cs
using System;
using System.Data;
using System.Web.UI.WebControls;

using CMS.Helpers;
using CMS.Membership;
using CMS.Base;
using CMS.DocumentEngine;
using CMS.UIControls;
using CMS.ExtendedControls;
using CMS.DataEngine;

using TreeNode = CMS.DocumentEngine.TreeNode;

[UIElement("CMS.Staging", "Documents")]
public partial class CMSModules_Staging_Tools_Tasks_DocumentsList : CMSStagingPage
{
    #region "Variables"

    private int nodeId = 0;
    private int serverId = 0;
    private TreeProvider mTreeProvider = null;

    #endregion


    #region "Properties"

    /// <summary>
    /// Tree provider used for current page.
    /// </summary>
    public TreeProvider TreeProvider
    {
        get
        {
            return mTreeProvider ?? (mTreeProvider = new TreeProvider(MembershipContext.AuthenticatedUser));
        }
        set
        {
            mTreeProvider = value;
        }
    }

    #endregion


    #region "Page events"

    protected void Page_Load(object sender, EventArgs e)
    {
        uniGrid.OnDataReload += uniGrid_OnDataReload;
        uniGrid.OnExternalDataBound += uniGrid_OnExternalDataBound;
        uniGrid.ShowActionsMenu = true;
        uniGrid.Columns = "NodeID, DocumentName, DocumentNamePath, DocumentCulture, DocumentModifiedWhen, ClassDisplayName, NodeHasChildren";
        uniGrid.OnBeforeDataReload += uniGrid_OnBeforeDataReload;
        uniGrid.AllColumns = SqlHelper.JoinColumnList(ObjectTypeManager.GetColumnNames(PredefinedObjectType.NODE, PredefinedObjectType.DOCUMENTLOCALIZATION));

        nodeId = QueryHelper.GetInteger("stagingnodeid", 0);
        serverId = QueryHelper.GetInteger("serverid", 0);
        if (nodeId > 0)
        {
            TreeNode node = TreeProvider.SelectSingleNode(nodeId);
            if (node != null)
            {
                string closeLink = "<a href=\"#\"><span class=\"ListingClose\" style=\"cursor: pointer;\" " +
                                   "onclick=\"parent.frames['tasksHeader'].selectDocuments = false; window.location.href='" +
                                   ResolveUrl("~/CMSModules/Staging/Tools/Tasks/Tasks.aspx?serverid=") + serverId +
                                   "&stagingnodeid=" + nodeId + "';" +
                                   "var completeObj = parent.frames['tasksHeader'].document.getElementById('pnlComplete');" +
                                   "if (completeObj != null){ completeObj.style.display = 'block'; }" +
                                   "return false;\">" + GetString("general.close") +
                                   "</span></a>";
                string docNamePath = "<span class=\"ListingPath\">" + node.DocumentNamePath + "</span>";

                lblListingInfo.Text = String.Format(GetString("synchronization.listinginfo"), docNamePath, closeLink);
            }
        }
    }

    #endregion


    #region "Grid event handlers"

    protected object uniGrid_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        DataRowView data = null;
        switch (sourceName.ToLowerCSafe())
        {
            case "select":
                CMSGridActionButton btnImg = (CMSGridActionButton)sender;
                btnImg.OnClientClick = "parent.frames['tasksHeader'].selectDocuments = false;parent.frames['tasksTree'].SelectTree(" + btnImg.CommandArgument + ");window.location.href='" + ResolveUrl("~/CMSModules/Staging/Tools/Tasks/Tasks.aspx?serverid=") + serverId + "&stagingnodeid=" + btnImg.CommandArgument + "'; return false;";
                return btnImg;

            case "showsubdocuments":
                CMSGridActionButton btnSubImg = (CMSGridActionButton)sender;
                bool hasChildren = ValidationHelper.GetBoolean(((DataRowView)((GridViewRow)parameter).DataItem).Row["NodeHasChildren"], false);
                if (hasChildren)
                {
                    btnSubImg.OnClientClick = "parent.frames['tasksTree'].RefreshNode(" + btnSubImg.CommandArgument + "," + btnSubImg.CommandArgument + ");window.location.href='" + ResolveUrl("~/CMSModules/Staging/Tools/Tasks/DocumentsList.aspx?serverid=") + serverId + "&stagingnodeid=" + btnSubImg.CommandArgument + "'; return false;";
                }
                else
                {
                    string noSubDocuments = GetString("synchronization.nosubdocuments");
                    btnSubImg.ToolTip = noSubDocuments;
                    btnSubImg.Enabled = false;
                    btnSubImg.OnClientClick = "return false;";
                }
                return btnSubImg;

            case "documentname":
                data = (DataRowView)parameter;
                string name = ValidationHelper.GetString(data["DocumentName"], string.Empty);
                return "<span>" + HTMLHelper.HTMLEncode(name) + "</span>";

            case "documentnametooltip":
                data = (DataRowView)parameter;
                return UniGridFunctions.DocumentNameTooltip(data);
        }
        return parameter;
    }


    protected void uniGrid_OnBeforeDataReload()
    {
        string searchText = txtSearch.Text.Trim();
        if (!String.IsNullOrEmpty(searchText))
        {
            searchText = SqlHelper.EscapeQuotes(searchText);
            searchText = SqlHelper.EscapeLikeText(searchText);
            uniGrid.WhereClause = "(DocumentName LIKE N'%" + searchText + "%')";
        }
        else
        {
            uniGrid.WhereClause = null;
        }
    }


    protected DataSet uniGrid_OnDataReload(string completeWhere, string currentOrder, int currentTopN, string columns, int currentOffset, int currentPageSize, ref int totalRecords)
    {
        string searchText = txtSearch.Text.Trim();
        int parentNodeID = nodeId;

        string where = "(NodeParentID = " + parentNodeID + ")";

        where = SqlHelper.AddWhereCondition(where, completeWhere);

        DataSet nodes = TreeProvider.SelectNodes(TreeProvider.ALL_SITES, "/%", null, true, null, where, null, TreeProvider.ALL_LEVELS, false, currentTopN, columns);
        if (DataHelper.DataSourceIsEmpty(nodes))
        {
            if (String.IsNullOrEmpty(searchText))
            {
                pnlSearch.Visible = false;
                ShowInformation(GetString("synchronization.nochilddocuments"));
            }
            else
            {
                ShowInformation(GetString("synchronization.nodocumentsfound"));
            }
            pnlUniGrid.Visible = false;
        }
        else
        {
            pnlUniGrid.Visible = true;
        }
        totalRecords = DataHelper.GetItemsCount(nodes);
        return nodes;
    }

    #endregion
}