#!/usr/local/bin/perl # edit_cmd.cgi # Display a custom command and its parameters require './custom-lib.pl'; &ReadParse(); $access{'edit'} || &error($text{'edit_ecannot'}); if ($in{'new'}) { &ui_print_header(undef, $text{'create_title'}, "", "create"); } else { &ui_print_header(undef, $text{'edit_title'}, "", "edit"); @cmds = &list_commands(); $cmd = $cmds[$in{'idx'}]; } print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'edit_details'}
\n"; if (!$in{'new'}) { print "\n"; print "\n"; } print "\n"; print "\n"; if ($cmd->{'cmd'} =~ s/^\s*cd\s+(\S+)\s*;\s*//) { $dir = $1; } print "\n"; print "\n"; print "\n"; $dir =~ s/"/"/g; printf "\n", $dir, &file_chooser_button("dir", 1); if (&supports_users()) { print "\n"; print "\n", $cmd->{'su'} ? 'checked' : '', $text{'edit_su'}; } print "\n"; printf "\n", $cmd->{'raw'} ? "" : "checked", $text{'no'}; print "\n"; printf "\n", $cmd->{'order'} ? $cmd->{'order'} : ''; print "\n"; printf "\n", $cmd->{'noshow'} ? "" : "checked", $text{'no'}; print "\n"; printf "\n", $cmd->{'usermin'} ? "" : "checked", $text{'no'}; print "\n"; printf "\n", $cmd->{'timeout'} ? $cmd->{'timeout'} : '', $text{'edit_secs'}; print "\n"; printf "\n", $cmd->{'clear'} ? "" : "checked", $text{'no'}; # Show Webmin servers to run on @servers = &list_servers(); if (@servers > 1) { print "\n"; print "\n"; } print "
",&hlink($text{'edit_id'}, "id"), "$cmd->{'id'}
",&hlink($text{'edit_desc'}, "desc"), "
\n"; print "
",&hlink($text{'edit_cmd'},"command"),"{'cmd'})."\">
",&hlink($text{'edit_dir'},"dir")," %s\n", $dir ? "" : "checked", $text{'default'}; printf "\n", $dir ? "checked" : ""; printf " %s
",&hlink($text{'edit_user'},"user"),"\n"; printf " %s\n", $cmd->{'user'} eq '*' && !$in{'new'} ? "checked" : "", $text{'edit_user_def'}; printf "\n", $cmd->{'user'} eq '*' && !$in{'new'} ? "" : "checked"; printf " %s\n", $cmd->{'user'} eq '*' ? '' : $cmd->{'user'}, &user_chooser_button("user", 0); printf " %s
",&hlink($text{'edit_raw'},"raw")," %s\n", $cmd->{'raw'} ? "checked" : "", $text{'yes'}; printf " %s",&hlink($text{'edit_order'},"order")," %s\n", $cmd->{'order'} ? "" : "checked", $text{'default'}; printf "\n", $cmd->{'order'} ? "checked" : ""; printf "
",&hlink($text{'edit_noshow'},"noshow")," %s\n", $cmd->{'noshow'} ? "checked" : "", $text{'yes'}; printf " %s",&hlink($text{'edit_usermin'},"usermin")," %s\n", $cmd->{'usermin'} ? "checked" : "", $text{'yes'}; printf " %s
",&hlink($text{'edit_timeout'},"timeout")," %s\n", $cmd->{'timeout'} ? "" : "checked", $text{'edit_timeoutdef'}; printf "\n", $cmd->{'timeout'} ? "checked" : ""; printf " %s",&hlink($text{'edit_clear'},"clear")," %s\n", $cmd->{'clear'} ? "checked" : "", $text{'yes'}; printf " %s
", &hlink($text{'edit_servers'}, "servers"),""; @hosts = @{$cmd->{'hosts'}}; @hosts = ( 0 ) if (!@hosts); print &ui_select("hosts", \@hosts, [ map { [ $_->{'id'}, ($_->{'desc'} || $_->{'host'}) ] } @servers ], 5, 1); print "

\n"; # Show parameters &show_params_inputs($cmd); print "\n"; print "\n"; if (!$in{'new'}) { print "\n"; } print "

\n"; &ui_print_footer("", $text{'index_return'});