X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fconfig%2Fconfig-download.cgi;h=c071f2a6d208e4e22fac246a957b0e7749cd0e56;hp=d4b88ded9341687700c50e0c929aa70a7c3654c9;hb=f822e27a1e00594332ffa487a1c284234c5580a6;hpb=fbfffdabe931d704aae420984058e61dc4196b01 diff --git a/httemplate/config/config-download.cgi b/httemplate/config/config-download.cgi index d4b88ded9..c071f2a6d 100644 --- a/httemplate/config/config-download.cgi +++ b/httemplate/config/config-download.cgi @@ -1,14 +1,30 @@ -% -% -%my $conf=new FS::Conf; -% -%http_header('Content-Type' => 'application/x-unknown' ); -% -%die "No configuration variable specified (bad URL)!" # umm -% unless $cgi->keywords; -%my($query) = $cgi->keywords; -%$query =~ /^([\w -\)+-\/@;:?=[\]]+)$/; -%my $name = $1; -% -%http_header('Content-Disposition' => "attachment; filename=$name" ); -% print $conf->config_binary($name); +<%init> +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my $agentnum; +if ($cgi->param('agentnum') =~ /^(\d+)$/) { + $agentnum = $1; +} + +http_header('Content-Type' => 'application/x-unknown' ); + +die "No configuration variable specified (bad URL)!" # umm + unless $cgi->param('key'); +$cgi->param('key') =~ /^([-\w.]+)$/; +my $name = $1; + +my $agentnum; +if ($cgi->param('agentnum') =~ /^(\d+)$/) { + $agentnum = $1; +} + +my $locale = ''; +if ($cgi->param('locale') =~ /^(\w+)$/) { + $locale = $1; +} +my $conf=new FS::Conf { 'locale' => $locale }; + +http_header('Content-Disposition' => "attachment; filename=$name" ); +print $conf->config_binary($name, $agentnum); +