X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/e47cb29f1f12b3196bd9f7c24b58b0e3a9b440b6..3d4e4ec4af3d2ba1eb9d7bece2361ddd56d5c7ca:/settings/add-plugin.php diff --git a/settings/add-plugin.php b/settings/add-plugin.php index 21ecf90..1b38740 100644 --- a/settings/add-plugin.php +++ b/settings/add-plugin.php @@ -4,6 +4,9 @@ require_once "../inc/common.php"; require_once "../inc/header.php"; require_once "../Classes/class-plugin-git.php"; +if (!current_user_can(PERMISSION_MANAGE_PLUGINS)) + die("Access denied"); + $p = new PluginRepo(); ?> @@ -26,8 +29,55 @@ $p = new PluginRepo(); ?> - \ No newline at end of file + + const ibtns = document.querySelectorAll(".btn-install-plugin"); + ibtns.forEach((ib) => { + ib.addEventListener('click', (e) => { + if (ib.innerHTML !== "Install" && ib.innerHTML !== "Uninstall") // some point between, don't do anything + {} + else if (ib.innerHTML == "Install") // install button pressed! + { + let req = requestInstall(ib.id.slice(0,-7)) + if (req == true) + { + ib.classList.replace("btn-primary", "btn-secondary"); + ib.innerHTML = "Installing..."; + } + else + { + let uhoh = new bsModal("Error", "Could not install: "+req, "", null, false, true); + } + } + else if (ib.innerHTML == "Uninstall") + { + let req = requestInstall(ib.id.slice(0,-7), true); // true = uninstall + if (req == true) + { + ib.classList.replace("btn-outline-danger", "btn-secondary"); + ib.innerHTML = "Uninstalling..."; + } + else + { + let uhoh = new bsModal("Error", "Could not uninstall: "+req, "", null, false, true); + } + } + }); + }) + const installed = document.querySelectorAll(".installed"); + installed.forEach((el) => { + let btn = document.getElementById(el.id + 'install'); + btn.classList.replace("btn-primary", "btn-outline-danger"); + btn.innerHTML = "Uninstall"; + }); + + + + const infoButtons = document.querySelectorAll('.more-info'); + infoButtons.forEach((el) => { + el.addEventListener('click', (event) => { + create_plugin_info_modal(el.id); + + }); + }); +