summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2007-09-22 21:31:13 +0000
committerivan <ivan>2007-09-22 21:31:13 +0000
commitc082dd1a35a2e25b97f28ee137ec2c5b3b8052ca (patch)
treec160af26ad86ad146f5c9349c6f8108c35862a92
parentaab64f96cb0f566980bb1590953102afcac3c29c (diff)
improve config UI, especially for textareas
-rw-r--r--httemplate/config/config-view.cgi33
-rw-r--r--httemplate/config/config.cgi40
2 files changed, 52 insertions, 21 deletions
diff --git a/httemplate/config/config-view.cgi b/httemplate/config/config-view.cgi
index bca1f1603..f5cead575 100644
--- a/httemplate/config/config-view.cgi
+++ b/httemplate/config/config-view.cgi
@@ -1,12 +1,14 @@
<% include("/elements/header.html",
$title,
menubar(
- 'Main Menu' => $p,
'View all agents' => $p.'browse/agent.cgi',
)
)
%>
+Click on a configuration value to change it.
+<BR><BR>
+
<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws.js"></SCRIPT>
<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws_iframe.js"></SCRIPT>
<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws_draggable.js"></SCRIPT>
@@ -38,20 +40,31 @@
% }
</FONT><BR>
- <% include('/elements/table.html', '#cccccc' ) %>
+ <TABLE BGCOLOR="#cccccc" BORDER=1 CELLSPACING=0 CELLPADDING=0 BORDERCOLOR="#999999">
<tr>
<th colspan="2" bgcolor="#dcdcdc">
<% ucfirst($section || 'unclassified') %> configuration options
</th>
</tr>
% foreach my $i (grep $_->section eq $section, @config_items) {
+% my @types = ref($i->type) ? @{$i->type} : ($i->type);
+% my( $width, $height ) = ( 522, 336 );
+% if ( grep $_ eq 'textarea', @types ) {
+% #800x600
+% $width = 763;
+% $height = 408;
+% #1024x768
+% #$width =
+% #$height =
+% }
<tr>
- <td><a href="javascript:void(0);" onClick="overlib( OLiframeContent('config.cgi?key=<% $i->key %>;agentnum=<% $agentnum %>', 522, 336, 'config_popup' ), CAPTION, 'Enter configuration value', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK ); return false;" name="<% $i->key %>">
- <b><% $i->key %></b></a>&nbsp;-&nbsp;<% $i->description %>
+ <td><a href="javascript:void(0);" onClick="overlib( OLiframeContent('config.cgi?key=<% $i->key %>;agentnum=<% $agentnum %>', <% $width %>, <% $height %>, 'config_popup' ), CAPTION, 'Enter configuration value', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK ); return false;" name="<% $i->key %>">
+%# <b><% $i->key %></b></a>&nbsp;-&nbsp;<% $i->description %>
+ <b><% $i->key %></b></a>: <% $i->description %>
</td>
<td><table border=0>
-% foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) {
+% foreach my $type (@types) {
% my $n = 0;
% if ( $type eq '' ) {
@@ -72,9 +85,13 @@
<tr>
<td bgcolor="#ffffff">
-<pre>
-<% encode_entities(join("\n", $conf->config($i->key, $agentnum) ) ) %>
-</pre>
+<font size="-2"><pre>
+<% encode_entities(join("\n",
+ map { length($_) > 88 ? substr($_,0,88).'...' : $_ }
+ $conf->config($i->key, $agentnum)
+ ) )
+%>
+</pre></font>
</td>
</tr>
% } elsif ( $type eq 'checkbox' ) {
diff --git a/httemplate/config/config.cgi b/httemplate/config/config.cgi
index 485565e80..b32f654d4 100644
--- a/httemplate/config/config.cgi
+++ b/httemplate/config/config.cgi
@@ -29,12 +29,20 @@ function SafeOnsubmit() {
<INPUT TYPE="hidden" NAME="agentnum" VALUE="<% $agentnum %>">
<INPUT TYPE="hidden" NAME="key" VALUE="<% $key %>">
-Setting <% $key %>
+Setting <b><% $key %></b>
+
+% my $description_printed = 0;
+% if ( grep $_ eq 'textarea', @types ) {
+% $description_printed = 1;
+
+ - <% $description %>
+
+% }
<table><tr><td>
% my $n = 0;
-% foreach my $type ( ref($config_item->type) ? @{$config_item->type} : $config_item->type ) {
+% foreach my $type (@types) {
% if ( $type eq '' ) {
<font color="#ff0000">no type</font>
@@ -45,7 +53,7 @@ Setting <% $key %>
% } elsif ( $type eq 'textarea' ) {
- <textarea name="<% "$key$n" %>" rows=5><% join("\n", $conf->config($key, $agentnum)) %></textarea>
+ <textarea name="<% "$key$n" %>" rows=18 cols=88 wrap="off"><% join("\n", $conf->config($key, $agentnum)) %></textarea>
% } elsif ( $type eq 'checkbox' ) {
@@ -260,7 +268,12 @@ Setting <% $key %>
% $n++;
% }
- </td><td><% $description %></td></tr></table>
+ </td>
+% unless ( $description_printed ) {
+ <td><% $description %></td>
+% }
+</tr>
+</table>
<INPUT TYPE="submit" VALUE="<% $title %>">
</FORM>
@@ -279,15 +292,15 @@ my %confitems = map { $_->key => $_ } @config_items;
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
-my($agentnum, $agent, $title, $action, $key, $value, $config_item,
- $description, $type);
-
-$action = 'Set';
+my $action = 'Set';
+my $agentnum = '';
if ($cgi->param('agentnum') =~ /(\d+)$/) {
$agentnum=$1;
}
+my $agent = '';
+my $title;
if ($agentnum) {
$agent = qsearchs('agent', { 'agentnum' => $1 } );
die "Agent $agentnum not found!" unless $agent;
@@ -298,11 +311,12 @@ if ($agentnum) {
}
$cgi->param('key') =~ /^([-.\w]+)$/ or die "illegal configuration item";
-$key=$1;
-$value = $conf->config($key);
-$config_item = $confitems{$key};
+my $key = $1;
+my $value = $conf->config($key);
+my $config_item = $confitems{$key};
-$description = $config_item->description;
-$type = $config_item->type;
+my $description = $config_item->description;
+my $config_type = $config_item->type;
+my @types = ref($config_type) ? @$config_type : ($config_type);
</%init>