\n";
+# Form header
+print &ui_form_start("save_cmd.cgi", "post");
+print &ui_hidden("new", $in{'new'});
+print &ui_hidden("idx", $in{'idx'});
+print &ui_table_start($text{'edit_details'}, "width=100%", 4);
+# Command ID
if (!$in{'new'}) {
- print " ",&hlink($text{'edit_id'}, "id"),
- " \n";
- print "$cmd->{'id'} \n";
+ print &ui_table_row(&hlink($text{'edit_id'}, "id"),
+ "$cmd->{'id'} ", 3);
}
-print " ",&hlink($text{'edit_desc'}, "desc"),
- " \n";
-print " \n";
-print " \n";
+# Description, text and HTML
+print &ui_table_row(&hlink($text{'edit_desc'}, "desc"),
+ &ui_textbox("desc", $cmd->{'desc'}, 60)." ".
+ &ui_textarea("html", $cmd->{'html'}, 2, 60), 3);
+# Command to run
if ($cmd->{'cmd'} =~ s/^\s*cd\s+(\S+)\s*;\s*//) {
$dir = $1;
}
-print " ",&hlink($text{'edit_cmd'},"command")," \n";
-print " {'cmd'})."\"> \n";
+print &ui_table_row(&hlink($text{'edit_cmd'},"command"),
+ &ui_textbox("cmd", $cmd->{'cmd'}, 60), 3);
-print " ",&hlink($text{'edit_dir'},"dir")," \n";
-$dir =~ s/"/"/g;
-printf " %s\n",
- $dir ? "" : "checked", $text{'default'};
-printf " \n",
- $dir ? "checked" : "";
-printf " %s \n",
- $dir, &file_chooser_button("dir", 1);
+# Directory to run in
+print &ui_table_row(&hlink($text{'edit_dir'},"dir"),
+ &ui_opt_textbox("dir", $dir, 40, $text{'default'})." ".
+ &file_chooser_button("dir", 1), 3);
+# User to run as
if (&supports_users()) {
- print " ",&hlink($text{'edit_user'},"user")," \n";
- print "\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 \n",
- $cmd->{'su'} ? 'checked' : '', $text{'edit_su'};
+ print &ui_table_row(&hlink($text{'edit_user'},"user"),
+ &ui_opt_textbox("user", $cmd->{'user'} eq '*' ? undef
+ : $cmd->{'user'}, 13, $text{'edit_user_def'})." ".
+ &user_chooser_button("user", 0)." ".
+ &ui_checkbox("su", 1, $text{'edit_su'}, $cmd->{'su'}), 3);
}
-print " ",&hlink($text{'edit_raw'},"raw")," \n";
-printf " %s\n",
- $cmd->{'raw'} ? "checked" : "", $text{'yes'};
-printf " %s \n",
- $cmd->{'raw'} ? "" : "checked", $text{'no'};
+# Show raw output
+print &ui_table_row(&hlink($text{'edit_raw'},"raw"),
+ &ui_yesno_radio("raw", $cmd->{'raw'} ? 1 : 0));
-print "",&hlink($text{'edit_order'},"order")," \n";
-printf " %s\n",
- $cmd->{'order'} ? "" : "checked", $text{'default'};
-printf " \n",
- $cmd->{'order'} ? "checked" : "";
-printf " \n",
- $cmd->{'order'} ? $cmd->{'order'} : '';
+# Command ordering on main page
+print &ui_table_row(&hlink($text{'edit_order'},"order"),
+ &ui_opt_textbox("order", $cmd->{'order'} || "", 6, $text{'default'}));
-print " ",&hlink($text{'edit_noshow'},"noshow")," \n";
-printf " %s\n",
- $cmd->{'noshow'} ? "checked" : "", $text{'yes'};
-printf " %s \n",
- $cmd->{'noshow'} ? "" : "checked", $text{'no'};
+# Hide from main page?
+print &ui_table_row(&hlink($text{'edit_noshow'},"noshow"),
+ &ui_yesno_radio("noshow", $cmd->{'noshow'}));
-print "",&hlink($text{'edit_usermin'},"usermin")," \n";
-printf " %s\n",
- $cmd->{'usermin'} ? "checked" : "", $text{'yes'};
-printf " %s \n",
- $cmd->{'usermin'} ? "" : "checked", $text{'no'};
+# Visible in Usermin?
+print &ui_table_row(&hlink($text{'edit_usermin'},"usermin"),
+ &ui_yesno_radio("usermin", $cmd->{'usermin'}));
-print " ",&hlink($text{'edit_timeout'},"timeout")," \n";
-printf " %s\n",
- $cmd->{'timeout'} ? "" : "checked", $text{'edit_timeoutdef'};
-printf " \n",
- $cmd->{'timeout'} ? "checked" : "";
-printf " %s \n",
- $cmd->{'timeout'} ? $cmd->{'timeout'} : '', $text{'edit_secs'};
+# Command timeout
+print &ui_table_row(&hlink($text{'edit_timeout'},"timeout"),
+ &ui_opt_textbox("timeout", $cmd->{'timeout'}, 6, $text{'default'}).
+ " ".$text{'edit_secs'});
-print "",&hlink($text{'edit_clear'},"clear")," \n";
-printf " %s\n",
- $cmd->{'clear'} ? "checked" : "", $text{'yes'};
-printf " %s \n",
- $cmd->{'clear'} ? "" : "checked", $text{'no'};
+# Clear environment?
+print &ui_table_row(&hlink($text{'edit_clear'},"clear"),
+ &ui_yesno_radio("clear", $cmd->{'clear'}));
# Show Webmin servers to run on
@servers = &list_servers();
if (@servers > 1) {
- print " ",
- &hlink($text{'edit_servers'}, "servers")," \n";
- print "";
@hosts = @{$cmd->{'hosts'}};
@hosts = ( 0 ) if (!@hosts);
- print &ui_select("hosts", \@hosts,
+ print &ui_table_row(&hlink($text{'edit_servers'}, "servers"),
+ &ui_select("hosts", \@hosts,
[ map { [ $_->{'id'}, ($_->{'desc'} || $_->{'host'}) ] } @servers ],
- 5, 1);
- print " \n";
+ 5, 1), 3);
}
-print "