403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files (x86)/Mail Enable/Bin/NETWebMail/Mondo/lang/sys/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Program Files (x86)/Mail Enable/Bin/NETWebMail/Mondo/lang/sys/scripts/LIBPopUpMenu_10.48.js
//
// We need to make an array of popupitems
//
var isMenu 	= false;
var menuSelObj = null;
var overpopupmenu = false;
var menuState=0;
var gPopupMenuActive = true;

var gPopupItemsCount = 0; // this needs to be updated when a menu item is added.

function PopUp_ClearItems(PopupMenuID) {
    var oTable = document.getElementById(PopupMenuID);

    if (oTable) {
        try {
            var oTBody = oTable.getElementsByTagName("TBODY")[0];
            var oUL = oTBody.getElementsByTagName("UL")[0];

            if (oUL) {
                clearChildNodes(oUL);
                gPopupItemsCount = 0;
            }
        } catch (ex) { }
    }
}

function PopUp_AddItem(PopupMenuID, Index, Command, Text, IconClass)
{
    // add the following popup row item
    // <div id="MEPUR_0" onclick="ProcessPopUp('Open')" class="rightClickMenu_item"><li class="dropDown_icon_read">Open</li></div>
    var oTable = document.getElementById(PopupMenuID);

    if (oTable) {

        try {
            var oTBody = oTable.getElementsByTagName("TBODY")[0];
            var oUL = oTBody.getElementsByTagName("UL")[0];

            if (oUL) {
                var oDiv = document.createElement("DIV");
                var oLI = document.createElement("LI");

                oDiv.id = "MEPUR_" + Index;
                oDiv.className = "rightClickMenu_item";

                oLI.className = IconClass;
                oLI.appendChild(document.createTextNode(Text));

                oDiv.appendChild(oLI);

                addEvent(oDiv, 'click', function () { ProcessPopUp(Command); }, true);

                oUL.appendChild(oDiv);

                gPopupItemsCount += 1;

                return 1;
            }
        } catch (ex) {
            console.log('PopUp_AddItem::Exception: ' + ex.message);
        }
    } else {
        console.log('PopUp_AddItem::Item not found');
    }
	
	return 0;
}

function PopUp_AddSeparator(PopupMenuID) {
    // add the following separator/divider element
    // <div class="rightClickMenu_hr"></div>
    var oTable = document.getElementById(PopupMenuID);

    if (oTable) {
        try {
            var oTBody = oTable.getElementsByTagName("TBODY")[0];
            var oUL = oTBody.getElementsByTagName("UL")[0];

            if (oUL) {
                var oDiv = document.createElement("DIV");
                oDiv.className = "rightClickMenu_hr";
                oUL.appendChild(oDiv);

                return 1;
            }
        } catch (ex) { }
    }

    return 0;
}

function PopUp_MenuSetState(menuMode)
{
  //  console.log("PopUp_MenuSetState: " + menuMode)
	if (menuMode==1)
	{ 
		// we are in a state where the menu has been brought up, but no one has accessed					
		if (menuState==0)
		{
			menuState=1;
		}
	}
	if (menuMode==2)
	{ 
		// we are in a state where the menu has been brought up, but no one has accessed					
		overpopupmenu=true;
	}
	return false;
}

function PopUp_MenuOutOfScope(evt, menudivID)
{
    //console.log('PopUp_MenuOutOfScope: ' + menudivID);
    var lclientX, lclientY;
    var menuLeft, menuTop;
    var menuHeight, menuWidth;
    var ns6 = document.getElementById && !document.all;

    // special case of IE9
    if (IsIE(gBrowserType) && GetIEVerNum() >= 9)
    {
        // even though IE9 passes the event object we still need to reference window.event
        // in order to get the clientX/clientY values
        evt = window.event;
    }
    var item = document.getElementById(menudivID);

    if (ns6) {
        // All browsers other than IE
        lclientX = evt.clientX;
        lclientY = evt.clientY;
        menuLeft = item.style.left;
        menuTop = item.style.top;
        menuWidth = item.clientWidth;
        menuHeight = item.clientHeight;
        menuLeft = parseInt(menuLeft.replace('px', ''));
        menuTop = parseInt(menuTop.replace('px', ''));
    }
    else {
        // IE browser
        lclientX = event.clientX;
        lclientY = event.clientY;
        menuLeft = item.style.pixelLeft;
        menuTop = item.style.pixelTop;
        menuWidth = item.clientWidth;
        menuHeight = item.clientHeight;
    }

    overpopmenu = false;

    if ((lclientX + document.body.scrollLeft) < menuLeft) {
        PopUp_HideMenu(menudivID);
    }
    if ((lclientX + document.body.scrollLeft) > menuLeft + (menuWidth - 1)) {
        PopUp_HideMenu(menudivID);
    }
    if ((lclientY + document.body.scrollTop) < menuTop) {
        PopUp_HideMenu(menudivID);
    }
    if ((lclientY + document.body.scrollTop) > (menuTop + (menuHeight - 1))) {
        PopUp_HideMenu(menudivID);
    }
    return true;
}

function DropDown_ShowMenu(menudivID, sKey) {

    var active;
    var menuItemNode;

    gPopupItemID = sKey;

    for (var i = 0; i < 22; i++) {
        active = IsPopupMenuCommandActive(sKey, i);
        menuItemNode = document.getElementById('MEDD_' + i);

        if (menuItemNode) {
            menuItemNode.style.display = active ? 'block' : 'none';
        }
    }
    return;
}

function PopUp_ShowMenu(evt, menudivID, oSourceObj, sKey)
{
    //
    // This function shows the Context Menu popup;
    // with only the relevant/applicable actions.
    //
    evt = evt || window.event;

    // special case of IE9
    if (IsIE(gBrowserType) && GetIEVerNum() >= 9)
    {
        // even though IE9 passes the event object we still need to reference window.event
        // in order to get the clientX/clientY values
        evt = window.event;
    }
    
	oTarget = evt.target || evt.srcElement;

    if (gPopupMenuActive && IsPopupMenuActive(oTarget))
    {
	    var ns6	= document.getElementById&&!document.all;

	    gPopupItemID = sKey;
	    menuState=0;				
	    menuSelObj = oSourceObj;

	    var omenu = document.getElementById(menudivID);
	    var left = evt.clientX + document.body.scrollLeft;
	    var top = evt.clientY + document.body.scrollTop;

	    if (!omenu) return false;

	    // N.B. we subtract 10 because of padding
	    if (ns6)
	    {
	        omenu.style.left = left - 10 + "px";
	        omenu.style.top = top - 10 + "px";					
	    }
	    else
	    {
	        omenu.style.pixelLeft = left - 10;
	        omenu.style.pixelTop = top - 10;
		}

		var bAllInactive = true;
		var bFolderOptions1stExist = false;     // whether 1st batch of popup menu options (Create / Rename folder) exists
		var bFolderOptions2ndExist = false;     // whether 2nd batch of popup menu options (Delete / Empty folder) exists
		var bFolderOptions3rdExist = false;     // whether 3rd batch of popup menu options (Share Folder / Empty folder) exists

		var bMsgOptions1stExist = false;    // whether 1st batch of popup menu options (for message) exists
		var bMsgOptions2ndExist = false;    // whether 2nd batch of popup menu options (for message) exists
		var bMsgOptions3rdExist = false;    // whether 3rd batch of popup menu options (for message) exists
		var bMsgOptions4thExist = false;    // whether 4th batch of popup menu options (for message) exists

	    // Hide any context menu actions that are NOT applicable to the selected item(s)
	    for (var i = 0; i < gPopupItemsCount; i++)
	    {
	        menuItemNode = document.getElementById('MEPUR_' + i);
			if (IsElementAAncestorOfElementB(omenu, menuItemNode))
			{
			    var active = IsPopupMenuCommandActive(sKey, i);

			    if ( (menudivID == "folderTreeContextMenuDiv") && document.getElementById("MEPUHR_0") )
			    {
			        if (active)
			        {
			            switch (i)
			            {
			                case POPUP_MENU_ID_CREATE_FOLDER:
			                case POPUP_MENU_ID_RENAME_FOLDER:
			                    bFolderOptions1stExist = true;
			                    break;

			                case POPUP_MENU_ID_DELETE_FOLDER:
			                case POPUP_MENU_ID_EMPTY_FOLDER:
			                    bFolderOptions2ndExist = true;
			                    break;

			                case POPUP_MENU_ID_SHARE_FOLDER:
			                case POPUP_MENU_ID_UNSHARE_FOLDER:
			                case POPUP_MENU_ID_SET_PERMISSIONS:
			                case POPUP_MENU_ID_DISCONNECT:
			                case POPUP_MENU_ID_PASTE_INTO_FOLDER:
			                    bFolderOptions3rdExist = true;
			                    break;
			            }
			        }
			    }
			    else if ( (menudivID == "menudiv") && document.getElementById("menudiv_hr0") )
			    {
			        // message list popup menu items
			        if (active)
			        {
			            switch (i)
			            {
		                    case POPUP_MENU_ID_MARK_AS_READ:
		                    case POPUP_MENU_ID_MARK_AS_UNREAD:
			                    bMsgOptions1stExist = true;
			                    break;

			                case POPUP_MENU_ID_DELETE:
			                    bMsgOptions2ndExist = true;
			                    break;

			                case POPUP_MENU_ID_ADD_CONTACT:
			                case POPUP_MENU_ID_WHITELIST:
			                case POPUP_MENU_ID_VIEW_HEADERS:
			                    bMsgOptions3rdExist = true;
			                    break;

			                case POPUP_MENU_ID_COPY:
			                    bMsgOptions4thExist = true;
			                    break;
			            }
			        }
			    }
				
				bAllInactive = bAllInactive && !active;
				menuItemNode.style.display = active ? 'block' : 'none';
			}
	    }

	    if ( (menudivID == "folderTreeContextMenuDiv") && document.getElementById("MEPUHR_0") )
	    {
	        document.getElementById("MEPUHR_0").style.display = (bFolderOptions1stExist && bFolderOptions2ndExist) ? "" : "none";
	        document.getElementById("MEPUHR_1").style.display = (bFolderOptions2ndExist && bFolderOptions3rdExist) ? "" : "none";
	    }

	    if ( (menudivID == "menudiv") && document.getElementById("menudiv_hr0") )
	    {
	        document.getElementById("menudiv_hr0").style.display = (bMsgOptions1stExist && bMsgOptions2ndExist) ? "" : "none";
	        document.getElementById("menudiv_hr1").style.display = (bMsgOptions2ndExist && bMsgOptions3rdExist) ? "" : "none";
	        document.getElementById("menudiv_hr2").style.display = ((bMsgOptions2ndExist || bMsgOptions3rdExist) && bMsgOptions4thExist) ? "" : "none";
	    }
	    
	    if (!bAllInactive)
        {
            PopUp_Show(menudivID);
        }
        PopUp_SetPosition(menudivID,evt);
	    isMenu = true;
	}
	return true;
}
function PopUp_Show(menudivID) {
    // show the Context Menu
    var item = document.getElementById(menudivID);
    if (item) {
        item.style.display = "";
    } else {
        console.log('PopUp_Show::Item not found');
    }
}


function PopUp_SetPosition(menudivID, evt) {
    if (IsIE(gBrowserType) && GetIEVerNum() >= 9) {
        // even though IE9 passes the event object we still need to reference window.event
        // in order to get the clientX/clientY values
        evt = window.event;
    } else {
        evt = evt || window.event;
    }

    var omenu = document.getElementById(menudivID);
    if (omenu) {
        var left = evt.clientX + document.body.scrollLeft;
        var top = evt.clientY + document.body.scrollTop;
        var ns6 = document.getElementById && !document.all;

        // N.B. we subtract 10 because of padding
        if (ns6) {
            omenu.style.left = left - 10 + "px";
            omenu.style.top = top - 10 + "px";
        }
        else {
            omenu.style.pixelLeft = left - 10;
            omenu.style.pixelTop = top - 10;
        }

        // We also need to adjust the position of the menu to
        // make sure all of it is visible; especially when
        // the mouse cursor is too close to the bottom of the screen.
        var menuHeight = omenu.offsetHeight;
        var windowHeight = getWindowHeight();
        var posY = evt.clientY;
       // console.log('ypos:' + posY);

        if ((posY + menuHeight) >= windowHeight) {

            // Set the vertical position of the Context Menu popup 
            // to be above the mouse cursor's vertical position.
            top = top + 10 - menuHeight;

            if (top < 0) top = 0;

            if (ns6) {
                omenu.style.top = top + "px";
            }
            else {
                omenu.style.pixelTop = top;
            }
        }
    //    console.log('toppos2:' + top);
    } else {
        console.log('PopUp_SetPosition::Item not found');
    }
}
function PopUp_HideMenu(menudivID) {
   // console.log('PopUp_HideMenu: ' + menudivID);
    overpopupmenu = false;
    document.getElementById(menudivID).style.display = "none";
    return true;
}

Youez - 2016 - github.com/yon3zu
LinuXploit