-<!-- mason kludge -->
-%
-%
%my $conf = new FS::Conf;
%
-%my( $svcnum, $pkgnum, $svcpart, $part_svc, $svc_www );
+%my( $svcnum, $pkgnum, $svcpart, $part_svc, $svc_www, $config );
+%
%if ( $cgi->param('error') ) {
+%
% $svc_www = new FS::svc_www ( {
% map { $_, scalar($cgi->param($_)) } fields('svc_www')
% } );
% $svcnum = $svc_www->svcnum;
% $pkgnum = $cgi->param('pkgnum');
% $svcpart = $cgi->param('svcpart');
+% $config = $cgi->param('config');
% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
% die "No part_svc entry!" unless $part_svc;
-%} else {
-% my($query) = $cgi->keywords;
-% if ( $query =~ /^(\d+)$/ ) { #editing
-% $svcnum=$1;
-% $svc_www=qsearchs('svc_www',{'svcnum'=>$svcnum})
-% or die "Unknown (svc_www) svcnum!";
%
-% my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum})
-% or die "Unknown (cust_svc) svcnum!";
+%} elsif ( $cgi->param('pkgnum') && $cgi->param('svcpart') ) { #adding
%
-% $pkgnum=$cust_svc->pkgnum;
-% $svcpart=$cust_svc->svcpart;
-%
-% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
-% die "No part_svc entry!" unless $part_svc;
+% $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum';
+% $pkgnum = $1;
+% $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart';
+% $svcpart = $1;
%
-% } else { #adding
+% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
+% die "No part_svc entry!" unless $part_svc;
%
-% foreach $_ (split(/-/,$query)) { #get & untaint pkgnum & svcpart
-% $pkgnum=$1 if /^pkgnum(\d+)$/;
-% $svcpart=$1 if /^svcpart(\d+)$/;
-% }
-% $svc_www = new FS::svc_www { svcpart => $svcpart };
+% $svc_www = new FS::svc_www { svcpart => $svcpart };
%
-% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
-% die "No part_svc entry!" unless $part_svc;
+% $svcnum='';
%
-% $svcnum='';
+% $svc_www->set_default_and_fixed;
%
-% $svc_www->set_default_and_fixed;
+%} else { #editing
+%
+% my($query) = $cgi->keywords;
+% $query =~ /^(\d+)$/ or die "unparsable svcnum";
+% $svcnum=$1;
+% $svc_www=qsearchs('svc_www',{'svcnum'=>$svcnum})
+% or die "Unknown (svc_www) svcnum!";
+%
+% my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum})
+% or die "Unknown (cust_svc) svcnum!";
+%
+% $pkgnum=$cust_svc->pkgnum;
+% $svcpart=$cust_svc->svcpart;
+% $config=$cgi->escapeHTML($svc_www->config);
+%
+% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
+% die "No part_svc entry!" unless $part_svc;
%
-% }
%}
%my $action = $svc_www->svcnum ? 'Edit' : 'Add';
%
%
%
%my $p1 = popurl(1);
-%print header("Web Hosting $action", '');
-%
+
+<% include("/elements/header.html", "Web Hosting $action", '') %>
+
%print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $cgi->param('error'),
% "</FONT>"
% if $cgi->param('error');
%}
%print "</SELECT></TD></TR>";
%
-%print '<TR><TD ALIGN="right">Username</TD><TD><SELECT NAME="usersvc" SIZE=1>';
-%print '<OPTION VALUE="">(none)';
-%foreach $_ (keys %svc_acct) {
-% print "<OPTION", ($_ eq $usersvc) ? " SELECTED" : "",
-% qq! VALUE="$_">$svc_acct{$_}!;
+%if ( $part_svc->part_svc_column('usersvc')->columnflag ne 'F'
+% || $part_svc->part_svc_column('usersvc')->columnvalue =~ /^\s*$/) {
+% print '<TR><TD ALIGN="right">Username</TD><TD><SELECT NAME="usersvc" SIZE=1>';
+% print '<OPTION VALUE="">(none)';
+% foreach $_ (keys %svc_acct) {
+% print "<OPTION", ($_ eq $usersvc) ? " SELECTED" : "",
+% qq! VALUE="$_">$svc_acct{$_}!;
+% }
+% print "</SELECT></TD></TR>";
+%}
+%
+%if ( $part_svc->part_svc_column('config')->columnflag ne 'F' &&
+% $FS::CurrentUser::CurrentUser->access_right('Edit www config') ) {
+% print '<TR><TD ALIGN="right">Config lines</TD><TD>';
+% print qq!<TEXTAREA NAME="config" rows="15" cols="80">$config</TEXTAREA></TD></TR>!
+%}else{
+% print qq!<INPUT TYPE="hidden" NAME="config" VALUE="$config">!;
%}
-%print "</SELECT></TD></TR>";
%
%foreach my $field ($svc_www->virtual_fields) {
% if ( $part_svc->part_svc_column($field)->columnflag ne 'F' ) {
%
%print '</TABLE><BR><INPUT TYPE="submit" VALUE="Submit">';
%
-%print <<END;
-%
-% </FORM>
-% </BODY>
-%</HTML>
-%END
-%
+</FORM>
+
+<% include('/elements/footer.html') %>