<% include("/elements/header-popup.html", $title) %> <% include('/elements/error.html') %>
Setting <% $key %> % my $description_printed = 0; % if ( grep $_ eq 'textarea', @types ) { % $description_printed = 1; - <% $description %> % } % if ( defined $config_item->editlist_parts ) { % my $pnum=0; % foreach my $part ( @{$config_item->editlist_parts} ) { % $pnum++; % } % } else { % }
% my $n = 0; % foreach my $type (@types) { % if ( $type eq '' ) { no type % } elsif ( $type eq 'image' ) { <% $conf->exists($key, $agentnum) ? 'Current image
'. '
' : '' %>
New image filename "> % } elsif ( $type eq 'binary' ) { Filename "> % } elsif ( $type eq 'textarea' ) { % } elsif ( $type eq 'checkbox' ) { " type="checkbox" value="1" <% $conf->exists($key, $agentnum) ? 'CHECKED' : '' %> > % } elsif ( $type eq 'text' ) { " type="text" value="<% $conf->exists($key, $agentnum) ? $conf->config($key, $agentnum) : '' |h %>"> % } elsif ( $type eq 'select' || $type eq 'selectmultiple' ) { % } elsif ( $type eq 'select-sub' ) { % } elsif ( $type eq 'editlist' ) { %
()">
<% itable() %>
% if ( $part->{type} eq 'text' ) { "> % } elsif ( $part->{type} eq 'immutable' ) { <% $part->{value} %> " value="<% $part->{value} %>"> % } elsif ( $part->{type} eq 'select' ) { % } else { unknown type <% $part->type %> % } >(this.form)">
% } elsif ( $element_types{$type} ) { % % my %opt = ( 'element_name' => "$key$n", % 'empty_label' => ' ', % 'showdisabled' => 1, % ); % if ( $config_item->multiple ) { % $opt{'multiple'} = 1 if $config_item->multiple; % $opt{'curr_value'} = [ $conf->config($key, $agentnum) ]; % } else { % $opt{'curr_value'} = % $conf->exists($key, $agentnum) ? $conf->config($key, $agentnum) : ''; % } <% include("/elements/$type.html", %opt ) %> % } else { unknown type <% $type %> % } % $n++; % } % unless ( $description_printed ) { <% $description %> % }
<%once> my %element_types = map { $_ => 1 } qw( select-part_svc select-part_pkg select-pkg_class select-agent ); <%init> die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); my $action = 'Set'; my $agentnum = ''; if ($cgi->param('agentnum') =~ /(\d+)$/) { $agentnum=$1; } my $locale = ''; if ( $cgi->param('locale') =~ /^(\w+_\w+)$/) { $locale = $1; } my $conf = new FS::Conf { 'locale' => $locale, 'localeonly' => 1 }; my @config_items = $conf->config_items; my %confitems = map { $_->key => $_ } @config_items; my $agent = ''; my $title; if ($agentnum) { $agent = qsearchs('agent', { 'agentnum' => $1 } ); die "Agent $agentnum not found!" unless $agent; $title = "$action configuration override for ". $agent->agent; } else { $title = "$action global configuration"; } $cgi->param('key') =~ /^([-.\w]+)$/ or die "illegal configuration item"; my $key = $1; my $value = $conf->config($key); my $config_item = $confitems{$key}; my $description = $config_item->description; my $config_type = $config_item->type; my @types = ref($config_type) ? @$config_type : ($config_type);