403Webshell
Server IP : 82.64.35.208  /  Your IP : 192.168.65.1
Web Server : Apache/2.4.68 (Debian)
System : Linux 079bc81edf51 6.12.76-linuxkit #1 SMP Tue Jul 21 14:38:37 UTC 2026 aarch64
User : root ( 0)
PHP Version : 8.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/html/wp-content/plugins/manager-for-galene-videoconference/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/wp-content/plugins/manager-for-galene-videoconference/js/galmgr-main.js
var $ = (typeof $ === 'undefined')?jQuery.noConflict():$;

const tabSystem = {
    init() {
        document.querySelectorAll('.tabs-menu').forEach((tabMenu) => {
            Array.from(tabMenu.children).forEach((child, ind) => {
                child.addEventListener('click', () => {
                    tabSystem.toggle(child.dataset.target);
                });
                if (child.className.includes('is-active')) {
                    tabSystem.toggle(child.dataset.target);
                }
            });
        });
    },
    toggle(targetId) {
        document.querySelectorAll('.tab-content').forEach((contentElement) => {
            contentElement.style.display =
                contentElement.id === targetId ? 'block' : 'none';
            document
                .querySelector(`[data-target="${contentElement.id}"]`)
                .classList[contentElement.id === targetId ? 'add' : 'remove'](
                    'is-active'
                );
        });
    },
};

function copyElement(element) {
	copyText(element.innerText);
}

function copyText(textToCopy) {

    var myTemporaryInputElement = document.createElement("input");
    myTemporaryInputElement.type = "text";
    myTemporaryInputElement.value = textToCopy;

    document.body.appendChild(myTemporaryInputElement);

    myTemporaryInputElement.select();
    document.execCommand("Copy");

    document.body.removeChild(myTemporaryInputElement);

}

function genRandomInt(max) {
	let lgMax=max.toString().length - 1;
    let res = Math.floor(Math.random() * max) + 1;
	let strRes=res.toString();
	
	if(strRes.length < lgMax)
		strRes = "0".repeat(lgMax - strRes.length) + strRes;
	
	return strRes;
}

function initAccordion(selector,option) {
	$(".a-container").not(".active").find(".a-panel").hide();
	$(selector).find(".a-btn").click(function(e) {
		// if($(this).closest(".a-container").hasClass("active")) {
			$(this).closest(".a-container").find(".a-panel").slideToggle("slow")
			$(this).closest(".a-container").toggleClass("active");
		// }
	});
	
}

// Functions to open and close a modal
function openModal(el) {
	el.classList.add('is-active');
}

function closeModal(el) {
	el.classList.remove('is-active');
}

function closeAllModals() {
	(document.querySelectorAll('.modal') || []).forEach(($modal) => {
	  closeModal($modal);
	});
}

function closeLoader() {
	$(".preloader.is-loading").removeClass("is-loading");
}

window.addEventListener('beforeunload', (e) => {
  $(".preloader").addClass("is-loading");

});
	
window.addEventListener('load', () => {
	$(".preloader.is-loading").removeClass("is-loading");
});

document.addEventListener('DOMContentLoaded', () => {
	$(".preloader").addClass("is-loading");

  // Get all "navbar-burger" elements
  const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);

  // Add a click event on each of them
  $navbarBurgers.forEach( el => {
    el.addEventListener('click', () => {

      // Get the target from the "data-target" attribute
      const target = el.dataset.target;
      const $target = document.getElementById(target);

      // Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
      el.classList.toggle('is-active');
      $target.classList.toggle('is-active');

    });
  });

  // Add a click event on buttons to open a specific modal
  (document.querySelectorAll('.js-modal-trigger') || []).forEach((trigger) => {
    const modal = trigger.dataset.target;
    const target = document.getElementById(modal);

    trigger.addEventListener('click', () => {
		// $(".preloader").addClass("is-loading");
		openModal(target);
		$(target).trigger( "modal:toggled" );
    });
  });

  // Add a click event on various child elements to close the parent modal
  (document.querySelectorAll('.modal-background, .modal-close, .modal-card-head .delete, .modal-card-foot .button') || []).forEach((close) => {
    const target = close.closest('.modal');

    close.addEventListener('click', () => {
      closeModal(target);
	  $(target).trigger( "modal:toggled" );
    });
  });

  // Add a keyboard event to close all modals
  document.addEventListener('keydown', (event) => {
    const e = event || window.event;

    if (e.keyCode === 27) { // Escape key
      closeAllModals();
    }
  });
  
	// Activate tabs
	tabSystem.init();
	
	initAccordion('.accordion', false);

	$("form.room-edit #access").change((e) => {
		if( $(e.target).find("option:selected").val() == "code") {
			$("form.room-edit").addClass("is-access-code");
		}
		else
			$("form.room-edit").removeClass("is-access-code");
			
	});

	$("form.room-edit .fld-access-code #generate-code").click((e) => {
		$(e.target).closest(".fld-access-code").find("#room_accesscode").val(genRandomInt(1000000));
	});
	
	$("#modal-useraccess").on("modal:toggled", (e) => {

		if($(e.currentTarget).hasClass("is-active"))
		{
			let parent=$(e.currentTarget).find("[data-iframe]");
			
			if(parent.length > 0) {
				$(".preloader").addClass("is-loading");
				// parent.find("iframe").remove();
				// parent.append(parent.data("iframe"));
				parent.html('<iframe src="' + parent.data("iframe") + '" onload="closeLoader();" />');
			}

		}
		else {
			//location.reload();
			const params = new URLSearchParams(location.search);
			params.set("active_tab","privileges-tab");
			if(location.hash == '#userlist')
				location.reload();
			else
				location.href = location.origin + location.pathname + '?' + params.toString() + '#userlist';
		}
	});
	

	$(".message button.delete").click((e) =>{
		$(e.target).closest(".message").remove();
	});
	
	if($(".autohide").length > 0) {
		setTimeout(() => {
			$(".autohide").remove();
		},4000);
	}
	
	$("input[type=checkbox].act-as-radio").change(function(e) {
		if(this.checked)
		{
			$("input[type=checkbox].act-as-radio").not(this).prop("checked",false);
			$("input[type=checkbox].act-as-radio").not(this).closest(".panel-heading").removeClass("has-background-success");
			$(this).closest(".panel-heading").addClass("has-background-success");	
		}
		else
			$(this).closest(".panel-heading").removeClass("has-background-success");
	});

	/* Import galene room attributes from json file */
	$('#import-srv-json').change((e) => {
		console.log(e.target.files);
		if(!e.target.files || e.target.files.length <= 0 ) return;

		const reader = new FileReader();
		reader.addEventListener('load', (event) => {
			var data=JSON.parse(event.target.result);

			var fname=e.target.files[0].name.replace(/\.[^/.]+$/, "");
			$('#galene_group').val(fname);

			if(data.description)
				$('#description').val(data.description);
			if(data.displayName)
				$('#displayName').val(data.displayName);
			if(data.authKeys && Array.isArray(data.authKeys)) {
				for (var i = 0; i < data.authKeys.length; i++) { 
					if(data.authKeys[i].kid && data.authKeys[i].kid == 'gmgr2023' && data.authKeys[i].k) {
						$('#key64').val(data.authKeys[i].k);
					}
				}
			}
			var maxClients=(data['max-clients'])?data['max-clients']:0;
			$('#max_clients').val(maxClients);

			var checked=(data['allow-anonymous'] && data['allow-anonymous'] === true)?true:false;
			$('#allow_anonymous').prop('checked',checked);

			checked=(data['allow-subgroups'] && data['allow-subgroups'] === true)?true:false;
			$('#allow_subgroups').prop('checked',checked);

			checked=(data['allow-recording'] && data['allow-recording'] === true)?true:false;
			$('#allow_recording').prop('checked',checked);

			checked=(data['autolock'] && data['autolock'] === true)?true:false;
			$('#autolock').prop('checked',checked);


		  console.log(data);
		});
		
		reader.readAsText(e.target.files[0]);
	  
	});
	
});

Youez - 2016 - github.com/yon3zu
LinuXploit