summaryrefslogtreecommitdiff
path: root/httemplate/edit
diff options
context:
space:
mode:
authorivan <ivan>2004-05-11 11:52:02 +0000
committerivan <ivan>2004-05-11 11:52:02 +0000
commitaf37880d5ac36f2b141b2eeeb1c7aa49a50d0c5b (patch)
tree37b219c97bdcd5f847c6f821a8e625c8e0dc0532 /httemplate/edit
parenta5c64e8089d4e6c76ee070102e3a67baf1485181 (diff)
clean this up a bit, fix svc_www-usersvc_svcpart and hopefully simplified zone select too
Diffstat (limited to 'httemplate/edit')
-rw-r--r--httemplate/edit/svc_www.cgi73
1 files changed, 52 insertions, 21 deletions
diff --git a/httemplate/edit/svc_www.cgi b/httemplate/edit/svc_www.cgi
index b89672a52..ed8d42501 100644
--- a/httemplate/edit/svc_www.cgi
+++ b/httemplate/edit/svc_www.cgi
@@ -63,7 +63,8 @@ if ($pkgnum) {
map { $_->svcpart } qsearch( 'part_svc', { 'svcdb' => 'svc_acct' } )
) {
next if $conf->exists('svc_www-usersvc_svcpart')
- && grep { $svcpart == $_ } $conf->config('svc_www-usersvc_svcpart');
+ && ! grep { $svcpart == $_ }
+ $conf->config('svc_www-usersvc_svcpart');
push @u_acct_svcparts, $svcpart;
}
@@ -91,31 +92,61 @@ if ($pkgnum) {
push @d_acct_svcparts,$d_part_svc->getfield('svcpart');
}
- foreach $i_cust_pkg ( qsearch('cust_pkg',{'custnum'=>$custnum}) ) {
- my($cust_pkgnum)=$i_cust_pkg->getfield('pkgnum');
- my($acct_svcpart);
- foreach $acct_svcpart (@d_acct_svcparts) {
- my($i_cust_svc);
- foreach $i_cust_svc ( qsearch('cust_svc',{'pkgnum'=>$cust_pkgnum,'svcpart'=>$acct_svcpart}) ) {
- my($svc_domain)=qsearchs('svc_domain',{'svcnum'=>$i_cust_svc->getfield('svcnum')});
+ foreach $i_cust_pkg ( qsearch( 'cust_pkg', { 'custnum' => $custnum } ) ) {
+ my $cust_pkgnum = $i_cust_pkg->pkgnum;
+
+ foreach my $acct_svcpart (@d_acct_svcparts) {
+
+ foreach my $i_cust_svc (
+ qsearch( 'cust_svc', { 'pkgnum' => $cust_pkgnum,
+ 'svcpart' => $acct_svcpart } )
+ ) {
+ my $svc_domain =
+ qsearchs( 'svc_domain', { 'svcnum' => $i_cust_svc->svcnum } );
+
+ my $extra_sql = "AND ( rectype = 'A' OR rectype = 'CNAME' )";
+ if ( $conf->exists('svc_www-enable_subdomains') ) {
+ my $domain = $
+ $extra_sql .= " AND ( reczone = '@' OR reczone = '".
+ $svc_domain->domain. ".' )";
+ }
+
+ foreach my $domain_rec (
+ qsearch( 'domain_record',
+ {
+ 'svcnum' => $svc_domain->svcnum,
+ },
+ '',
+ $extra_sql,
+ )
+ ) {
+ $arec{$domain_rec->recnum} = $domain_rec->zone;
+ }
+
if ( $conf->exists('svc_www-enable_subdomains') ) {
- foreach my $domain_rec ( qsearch('domain_record',{
- 'svcnum' => $svc_domain->svcnum,
- 'rectype' => 'A' } ),
- qsearch('domain_record',{
- 'svcnum' => $svc_domain->svcnum,
- 'rectype' => 'CNAME'
- } ) ) {
- $arec{$domain_rec->recnum} = $domain_rec->zone;
- }
$arec{'www.'. $svc_domain->domain} = 'www.'. $svc_domain->domain
- unless qsearchs('domain_record', { svcnum => $svc_domain->svcnum,
- reczone => 'www', } );
+ unless qsearchs( 'domain_record', {
+ svcnum => $svc_domain->svcnum,
+ reczone => 'www',
+ } )
+ || qsearchs( 'domain_record', {
+ svcnum => $svc_domain->svcnum,
+ reczone => 'www.'.$svc-domain->domain.'.',
+ } );
}
+
$arec{'@.'. $svc_domain->domain} = $svc_domain->domain
- unless qsearchs('domain_record', { svcnum => $svc_domain->svcnum,
- reczone => '@', } );
+ unless qsearchs('domain_record', {
+ svcnum => $svc_domain->svcnum,
+ reczone => '@',
+ } )
+ || qsearchs('domain_record', {
+ svcnum => $svc_domain->svcnum,
+ reczone => $svc_domain->domain.'.',
+ } );
+
}
+
}
}