Allow ordering of SQL commands
authorJamie Cameron <jcameron@webmin.com>
Sat, 20 Aug 2011 23:53:46 +0000 (16:53 -0700)
committerJamie Cameron <jcameron@webmin.com>
Sat, 20 Aug 2011 23:53:46 +0000 (16:53 -0700)
custom/custom-lib.pl
custom/edit_sql.cgi
custom/save_sql.cgi

index f597ce9..67fb6ae 100755 (executable)
@@ -65,6 +65,7 @@ while($f = readdir(DIR)) {
                chop($cmd{'host'} = <FILE>);
                chop($cmd{'sql'} = <FILE>);
                $cmd{'sql'} =~ s/\t/\n/g;
+               chop($cmd{'order'} = <FILE>);
                }
        if (%cmd) {
                # Read common stuff
@@ -165,6 +166,7 @@ elsif ($c->{'sql'}) {
        local $sql = $c->{'sql'};
        $sql =~ s/\n/\t/g;
        &print_tempfile(FILE, $sql,"\n");
+       &print_tempfile(FILE, $c->{'order'},"\n");
        }
 else {
        # Save a custom command
index 48c6d66..ea6284c 100755 (executable)
@@ -45,6 +45,10 @@ print &ui_table_row($text{'edit_desc'},
                    &ui_textbox("desc", $cmd->{'desc'}, 50)."<br>\n".
                    &ui_textarea("html", $cmd->{'html'}, 2, 50));
 
+# Command ordering on main page
+print &ui_table_row(&hlink($text{'edit_order'},"order"),
+       &ui_opt_textbox("order", $cmd->{'order'} || "", 6, $text{'default'}));
+
 # Show databse type and name
 print &ui_table_row($text{'sql_type'},
                    &ui_select("type", $cmd->{'type'},
index 92022d5..1859a4a 100755 (executable)
@@ -25,6 +25,9 @@ else {
 
        # parse and validate inputs
        $cmd->{'desc'} = $in{'desc'};
+       $in{'order_def'} || $in{'order'} =~ /^\-?(\d+)$/ ||
+               &error($text{'save_eorder'});
+       $cmd->{'order'} = $in{'order_def'} ? 0 : int($in{'order'});
        $in{'html'} =~ s/\r//g;
         $in{'html'} =~ s/\n*/\n/;
        $cmd->{'html'} = $in{'html'};