3 # Display commands available for execution
5 require './custom-lib.pl';
6 &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1);
8 @cust = grep { &can_run_command($_) } &list_commands();
9 @cust = &sort_commands(@cust);
13 if ($access{'edit'}) {
14 push(@links,"<a href='edit_cmd.cgi?new=1'>$text{'index_create'}</a>");
15 push(@links,"<a href='edit_file.cgi?new=1'>$text{'index_ecreate'}</a>");
16 push(@links,"<a href='edit_sql.cgi?new=1'>$text{'index_screate'}</a>");
20 print "<b>$text{'index_none'}</b> <p>\n";
22 elsif ($config{'display_mode'} == 0) {
23 # Show command buttons
24 print &ui_links_row(\@links);
27 for($i=0; $i<@cust; $i++) {
32 $html .= &ui_form_start("view.cgi");
35 $html .= &ui_form_start("sql.cgi");
38 local @up = grep { $_->{'type'} == 10 } @a;
41 @ufn = map { $_->{'name'} } @up;
43 $html .= &ui_form_start("run.cgi?id=$upid",
45 &read_parse_mime_javascript($upid, \@ufn));
48 $html .= &ui_form_start("run.cgi", "post");
51 $html .= &ui_form_start("run.cgi");
54 $html .= &ui_hidden("id", $c->{'id'});
55 $w = $config{'columns'} == 2 ? 2 : 4;
56 $html .= &ui_table_start(undef, undef, $w,
57 $config{'columns'} == 1 ? [ "width=20%", "width=30%" ]
59 $html .= &ui_table_row(undef, &ui_submit($c->{'desc'}), $w, []);
61 $html .= &ui_table_row(undef,
62 &filter_javascript($c->{'html'}), $w, []);
65 $html .= &ui_table_row(&html_escape($a->{'desc'}),
66 &show_parameter_input($a, $formno));
68 if (scalar(@a)%2 && $w == 4) {
69 # Hack to make spacing nicer
70 $html .= &ui_table_row(" ", " ");
72 if ($access{'edit'}) {
74 $link = "<a href='edit_file.cgi?id=$c->{'id'}'>$text{'index_fedit'}</a>";
77 $link = "<a href='edit_sql.cgi?id=$c->{'id'}'>$text{'index_sedit'}</a>";
80 $link = "<a href='edit_cmd.cgi?id=$c->{'id'}'>$text{'index_edit'}</a>";
82 $html .= &ui_table_row(undef,
83 &ui_links_row([ $link ]), $w);
85 $html .= &ui_table_end();
86 $html .= &ui_form_end();
90 print &ui_grid_table(\@grid, $config{'columns'} || 1, 100,
91 $config{'columns'} == 2 ? [ "width=50%", "width=50%" ] : [ ]);
94 # Just show table of commands
95 print &ui_links_row(\@links);
96 @tds = ( "width=30%", "width=60%", "width=10% nowrap" );
97 print &ui_columns_start([
105 if ($access{'edit'}) {
106 local $e = $c->{'edit'} ? "edit_file.cgi" :
107 $c->{'sql'} ? "edit_sql.cgi" :
109 push(@links, "<a href='$e?id=$c->{'id'}'>".
110 "$text{'index_ed'}</a>");
112 if ($c->{'edit'} && !@{$c->{'args'}}) {
113 # Open file editor directly, as file is known
114 push(@cols, "<a href='view.cgi?id=$c->{'id'}'>".
115 &html_escape($c->{'desc'})."</a>");
116 push(@links, "<a href='view.cgi?id=$c->{'id'}'>".
117 $text{'index_acted'}."</a>");
119 elsif ($c->{'sql'} && !@{$c->{'args'}}) {
120 # Execute SQL directorly, as no args
121 push(@cols, "<a href='sql.cgi?id=$c->{'id'}'>".
122 &html_escape($c->{'desc'})."</a>");
123 push(@links, "<a href='sql.cgi?id=$c->{'id'}'>".
124 $text{'index_actrun'}."</a>");
126 elsif ($c->{'sql'}) {
127 # Link to SQL query form
128 push(@cols, "<a href='sqlform.cgi?id=$c->{'id'}'>".
129 &html_escape($c->{'desc'})."</a>");
130 push(@links, "<a href='sqlform.cgi?id=$c->{'id'}'>".
131 $text{'index_actsql'}."</a>");
133 elsif (!@{$c->{'args'}}) {
134 # Link direct to execute page
135 push(@cols, "<a href='run.cgi?id=$c->{'id'}'>".
136 &html_escape($c->{'desc'})."</a>");
137 push(@links, "<a href='run.cgi?id=$c->{'id'}'>".
138 $text{'index_actrun'}."</a>");
141 # Link to parameters form
142 push(@cols, "<a href='form.cgi?id=$c->{'id'}'>".
143 &html_escape($c->{'desc'})."</a>");
144 push(@links, "<a href='form.cgi?id=$c->{'id'}'>".
145 $text{'index_actform'}."</a>");
147 push(@cols, $c->{'html'});
148 push(@cols, &ui_links_row(\@links));
149 print &ui_columns_row(\@cols, \@tds);
151 print &ui_columns_end();
153 print &ui_links_row(\@links);
155 &ui_print_footer("/", $text{'index'});