Server IP : 195.201.23.43 / Your IP : 18.218.44.61 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /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> EOFPrivate