mirror of
https://github.com/unraid/webgui.git
synced 2025-12-31 22:50:25 -06:00
48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
Menu="UNRAID-OS"
|
|
Title="Open Terminal"
|
|
Icon="terminal"
|
|
---
|
|
<?PHP
|
|
/* Copyright 2025, Lime Technology
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License version 2,
|
|
* as published by the Free Software Foundation.
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*/
|
|
?>
|
|
<script>
|
|
$(function(){
|
|
newTerminalOpen();
|
|
});
|
|
|
|
function newTerminalOpen() {
|
|
var d = new Date();
|
|
try {
|
|
openTerminal('ttyd', 'Web Terminal ' + d.getTime(), '');
|
|
} catch (e) {
|
|
$('#popupFailed').show();
|
|
return;
|
|
}
|
|
// Give time for terminal to open then go back to the previous page
|
|
var referer = '<?= htmlspecialchars($_SERVER['HTTP_REFERER'] ?? '', ENT_QUOTES) ?>';
|
|
setTimeout(function(){
|
|
// Only redirect to same origin or fallback to home
|
|
if (referer && referer.indexOf(window.location.origin) === 0 && basename(referer.split('?')[0].replace(/\/$/, '')) != "Terminal") {
|
|
window.location.href = referer;
|
|
} else {
|
|
window.location.href = '/';
|
|
}
|
|
}, 5000);
|
|
}
|
|
|
|
function basename(path) {
|
|
return path.replace(/.*\//, '');
|
|
}
|
|
</script>
|
|
<span id='popupFailed' style='display:none;'>
|
|
_(Terminal failed to automatically open - Popup blocked. Either enable popups in your browser or click this:)_
|
|
<input type='button' onclick='newTerminalOpen();' value='_(Open Terminal)_'></input>
|
|
</span> |