Changeset 638 for trunk/dns.cgi
- Timestamp:
- 06/03/14 17:18:10 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dns.cgi
r628 r638 1077 1077 fill_permissions($page, \%grpperms); 1078 1078 1079 } elsif ($webvar{page} eq 'bulkdomain' ) {1079 } elsif ($webvar{page} eq 'bulkdomain' || $webvar{page} eq 'bulkrev') { 1080 1080 # Bulk operations on domains. Note all but group move are available on the domain list. 1081 1081 ##fixme: do we care about bulk operations on revzones? Move-to-group, activate, deactivate, 1082 1082 # and delete should all be much rarer for revzones than for domains. 1083 1083 1084 changepage(page => "domlist", errmsg => "You are not permitted to make bulk domainchanges")1084 changepage(page => "domlist", errmsg => "You are not permitted to make bulk zone changes") 1085 1085 unless ($permissions{admin} || $permissions{domain_edit} || $permissions{domain_create} || $permissions{domain_delete}); 1086 1086 1087 1087 fill_grouplist("grouplist"); 1088 1088 1089 my $count = $dnsdb->getZoneCount(revrec => 'n', curgroup => $curgroup); 1089 $page->param(fwdzone => $webvar{page} eq 'bulkdomain'); 1090 1091 my $count = $dnsdb->getZoneCount(revrec => ($webvar{page} eq 'bulkdomain' ? 'n' : 'y'), 1092 curgroup => $curgroup); 1090 1093 1091 1094 $page->param(curpage => $webvar{page}); … … 1094 1097 $page->param(perpage => $perpage); 1095 1098 1096 my $domlist = $dnsdb->getZoneList(revrec => 'n', curgroup => $curgroup, offset => $offset); 1099 my $domlist = $dnsdb->getZoneList(revrec => ($webvar{page} eq 'bulkdomain' ? 'n' : 'y'), 1100 curgroup => $curgroup, offset => $offset); 1097 1101 my $rownum = 0; 1098 1102 foreach my $dom (@{$domlist}) { 1099 1103 delete $dom->{status}; 1100 1104 delete $dom->{group}; 1101 $dom->{newrow} = (++$rownum) % 5 == 0 ;1105 $dom->{newrow} = (++$rownum) % 5 == 0 && $rownum != $perpage; 1102 1106 } 1103 1107 … … 1140 1144 # order here, and since we don't have the domain names until we go around this 1141 1145 # loop, we can't alpha-sort them here. :( 1142 foreach (keys %webvar) {1146 foreach my $input (keys %webvar) { 1143 1147 my %row; 1144 next unless $_ =~ /^dom_\d+$/; 1148 next unless $input =~ /^(dom|rev)_\d+$/; 1149 my $fr = $1; 1145 1150 # second security check - does the user have permission to meddle with this domain? 1146 if (!check_scope(id => $webvar{$ _}, type => 'domain')) {1147 $row{domerr} = "You are not permitted to make changes to the requested domain";1148 $row{domain} = $webvar{$ _};1151 if (!check_scope(id => $webvar{$input}, type => ($fr eq 'dom' ? 'domain' : 'revzone'))) { 1152 $row{domerr} = "You are not permitted to make changes to the requested zone"; 1153 $row{domain} = $webvar{$input}; 1149 1154 push @bulkresults, \%row; 1150 1155 next; 1151 1156 } 1152 $row{domain} = $dnsdb->domainName($webvar{$_});1157 $row{domain} = ($fr eq 'dom' ? $dnsdb->domainName($webvar{$input}) : $dnsdb->revName($webvar{$input})); 1153 1158 1154 1159 # Do the $webvar{bulkaction} 1155 1160 my ($code, $msg); 1156 ($code, $msg) = $dnsdb->changeGroup( 'domain', $webvar{$_}, $webvar{destgroup})1161 ($code, $msg) = $dnsdb->changeGroup(($fr eq 'dom' ? 'domain' : 'revzone'), $webvar{$input}, $webvar{destgroup}) 1157 1162 if $webvar{bulkaction} eq 'move'; 1158 1163 if ($webvar{bulkaction} eq 'deactivate' || $webvar{bulkaction} eq 'activate') { 1159 my $stat = $dnsdb->zoneStatus($webvar{$_}, 'n', ($webvar{bulkaction} eq 'activate' ? 'domon' : 'domoff')); 1164 my $stat = $dnsdb->zoneStatus($webvar{$input}, ($fr eq 'dom' ? 'n' : 'y'), 1165 ($webvar{bulkaction} eq 'activate' ? 'domon' : 'domoff')); 1160 1166 $code = (defined($stat) ? 'OK' : 'FAIL'); 1161 1167 $msg = (defined($stat) ? $DNSDB::resultstr : $DNSDB::errstr); 1162 1168 } 1163 ($code, $msg) = $dnsdb->delZone($webvar{$ _}, 'n')1169 ($code, $msg) = $dnsdb->delZone($webvar{$input}, ($fr eq 'dom' ? 'n' : 'y')) 1164 1170 if $webvar{bulkaction} eq 'delete'; 1165 1171
Note:
See TracChangeset
for help on using the changeset viewer.