%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 14.207.165.8 / Your IP : 216.73.216.101 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/usr/share/webmin/bacula-backup/ |
Upload File : |
#!/usr/bin/perl
# treechooser.cgi
# Outputs HTML for a javascript file-chooser tree
require './bacula-backup-lib.pl';
&PrintHeader();
&ReadParse();
$shortest = "/";
$in{'job'} =~ s/^(.*)_(\d+)$/$2/g;
print <<EOF;
<html>
<head>
<title>$text{'tree_title'}</title>
<link rel="stylesheet" href="jstree/themes/default/style.min.css" />
<style>
body {
margin: 0;
font-family: Arial, Helvetica, sans-serif;
font-size: 0.8em;
}
.buttons {
display: flex;
flex-flow: row nowrap;
justify-content: center;
padding: 5px;
}
.main-container {
display: flex;
flex-flow: column nowrap;
height: 100%;
}
.spaced-button {
margin: 5px;
}
#jstree {
flex: 1;
margin: 10px;
margin-bottom: 0px;
border: thin solid gray;
overflow: auto;
}
</style>
</head>
<body>
<div class="main-container">
<div id="jstree"></div>
<div class="buttons">
<button id="confirm" class="ui-button ui-widget ui-corner-all spaced-button">OK</button>
<button id="cancel" class="ui-button ui-widget ui-corner-all spaced-button">Cancel</button>
</div>
</div>
<script src="jstree/jquery-3.6.0.min.js"></script>
<script src="jstree/jstree.min.js"></script>
<script>
\$("#cancel").click(function() {
window.close();
});
\$("#confirm").click(function() {
let list = \$('#jstree').jstree(true).get_selected(true).map(n => n.original.fullpath).sort().reduce((a, v) => (a + '\\n' + v));
\$(top.ifield).val(list);
window.close();
});
\$(function () {
\$('#jstree').jstree({
'plugins' : [ 'checkbox' ],
'core' : {
'animation': 100,
'worker' : false,
'force_text': true,
'data' : {
'url' : function (node) {
const r = [];
r.push('fmt=' + 'json');
r.push('job=' + encodeURIComponent('$in{'job'}'));
r.push('volume=' + encodeURIComponent('$in{'volume'}'));
r.push('dir=' + ((node.id == '#') ? encodeURIComponent('$shortest') : encodeURIComponent(node.original.fullpath)));
return 'list.cgi?' + r.join('&');
}
}
}
});
});
</script>
</body>
</html>
EOF