Changeset 20 for trunk/dns.cgi
- Timestamp:
- 10/15/09 13:23:51 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dns.cgi
r19 r20 59 59 } 60 60 61 if ($webvar{action} && $webvar{action} eq 'chgroup') { 62 # fiddle session-stored group data 63 # magic incantation to... uhhh... 64 $session->param('curgroup', $webvar{group}); 65 $curgroup = ($webvar{group} ? $webvar{group} : $session->param('curgroup')); 66 } 67 61 68 my $header = HTML::Template->new(filename => "$templatedir/header.tmpl"); 62 69 my $footer = HTML::Template->new(filename => "$templatedir/footer.tmpl"); … … 132 139 if ($webvar{defrec} eq 'y') { 133 140 ##fixme: hardcoded group 134 showdomain('y',$ group);141 showdomain('y',$curgroup); 135 142 } else { 136 143 showdomain('n',$webvar{id}); … … 236 243 237 244 if ($webvar{defrec} eq 'y') { 238 $page->param(dohere => "default records in group ".gr pName($dbh,$webvar{parentid}));245 $page->param(dohere => "default records in group ".groupName($dbh,$webvar{parentid})); 239 246 } else { 240 247 $page->param(dohere => domainName($dbh,$webvar{parentid})); … … 339 346 340 347 ##fixme: Group should be variable 341 my ($code,$msg) = addDomain($dbh,$webvar{domain}, 1,($webvar{makeactive} eq 'on' ? 1 : 0));348 my ($code,$msg) = addDomain($dbh,$webvar{domain},$webvar{group},($webvar{makeactive} eq 'on' ? 1 : 0)); 342 349 343 350 # hokay, a bit of magic to decide which page we hit. … … 367 374 fill_fpnla($count); 368 375 369 my @gr plist;376 my @grouplist; 370 377 $sth = $dbh->prepare("SELECT g.group_id, g.group_name, g2.group_name, ". 371 378 "count(distinct(u.email)), count(distinct(d.domain)) ". … … 381 388 while (my @data = $sth->fetchrow_array) { 382 389 my %row; 383 $row{gr pid} = $data[0];384 $row{gr pname} = $data[1];385 $row{pgr p} = $data[2];390 $row{groupid} = $data[0]; 391 $row{groupname} = $data[1]; 392 $row{pgroup} = $data[2]; 386 393 $row{nusers} = $data[3]; 387 394 $row{ndomains} = $data[4]; 388 395 $row{bg} = ($rownum++)%2; 389 396 $row{sid} = $sid; 390 push @gr plist, \%row;391 } 392 $page->param(gr ptable => \@grplist);397 push @grouplist, \%row; 398 } 399 $page->param(grouptable => \@grouplist); 393 400 394 401 $page->param(curpage => $webvar{page}); 395 402 396 403 } elsif ($webvar{page} eq 'newgrp') { 404 397 405 # do.. uhh.. stuff.. if we have no webvar{action} 398 406 if ($webvar{action} && $webvar{action} eq 'add') { … … 403 411 $page->param(errmsg => $msg); 404 412 $page->param(newgroup => $webvar{newgroup}); 405 fill_gr plist('pargroup',$webvar{pargroup});413 fill_grouplist('pargroup',$webvar{pargroup}); 406 414 } else { 407 415 # $page->param 408 fill_grplist('pargroup',$curgroup); 409 410 } 416 fill_grouplist('pargroup',$curgroup); 417 418 } 419 420 } elsif ($webvar{page} eq 'delgroup') { 421 422 $page->param(id => $webvar{id}); 423 # first pass = confirm y/n (sorta) 424 if (!defined($webvar{del})) { 425 $page->param(del_getconf => 1); 426 $page->param(groupname => groupName($dbh,$webvar{id})); 427 # print some neato things? 428 429 # } else { 430 # #whether actually deleting or cancelling we redirect to the group list, default format 431 432 } elsif ($webvar{del} eq 'ok') { 433 my ($code,$msg) = delGroup($dbh, $webvar{id}); 434 if ($code ne 'OK') { 435 # need to find failure mode 436 $page->param(del_failed => 1); 437 $page->param(errmsg => $msg); 438 } else { 439 # success. go back to the domain list, do not pass "GO" 440 changepage(page => "grpman"); 441 } 442 } else { 443 # cancelled. whee! 444 changepage(page => "grpman"); 445 } 446 411 447 } 412 448 … … 417 453 foreach (@debugbits) { print; } 418 454 419 # 455 ##common bits 420 456 if ($webvar{page} ne 'login') { 421 $page->param(grp => $group); 422 $page->param(grpname => grpName($dbh,$group)); 423 fill_grplist("grplist"); 457 $page->param(group => $curgroup); 458 $page->param(groupname => groupName($dbh,$curgroup)); 459 460 # stuff for menu group change. nb: this is icky. 461 fill_grouplist("grouplist"); 462 $page->param(whereami => $ENV{REQUEST_URI}); 424 463 } 425 464 … … 430 469 foreach my $key (keys %webvar) { 431 470 print "key: $key\tval: $webvar{$key}\n"; 471 } 472 print "</pre>\nsession:\n<pre>\n"; 473 my $sesdata = $session->dataref(); 474 foreach my $key (keys %$sesdata) { 475 print "key: $key\tval: ".$sesdata->{$key}."\n"; 432 476 } 433 477 print "</pre>\nENV:\n<pre>\n"; … … 604 648 605 649 my $sth = $dbh->prepare("SELECT count(*) FROM domains WHERE group_id=?"); 606 $sth->execute($ group);650 $sth->execute($curgroup); 607 651 my ($count) = $sth->fetchrow_array; 608 652 609 653 # fill page count and first-previous-next-last-all bits 610 654 ##fixme - hardcoded group bit 611 fill_pgcount($count,"domains", "default group");655 fill_pgcount($count,"domains",groupName($dbh,$curgroup)); 612 656 fill_fpnla($count); 613 657 614 658 ##fixme - group 615 $page->param(gr p => 1);659 $page->param(group => $curgroup); 616 660 my @domlist; 617 $sth = $dbh->prepare("select domain_id,domain,status,groups.group_name from domains". 618 " inner join groups on domains.group_id=groups.group_id". 619 " order by domain".($offset eq 'all' ? '' : " limit $perpage offset ".$offset*$perpage)); 620 $sth->execute; 661 $sth = $dbh->prepare("SELECT domain_id,domain,status,groups.group_name FROM domains". 662 " INNER JOIN groups ON domains.group_id=groups.group_id". 663 " WHERE domains.group_id=?". 664 " ORDER BY domain".($offset eq 'all' ? '' : " LIMIT $perpage OFFSET ".$offset*$perpage)); 665 $sth->execute($curgroup); 621 666 my $rownum = 0; 622 667 while (my @data = $sth->fetchrow_array) { … … 638 683 639 684 640 sub fill_gr plist {685 sub fill_grouplist { 641 686 my $template_var = shift; 642 687 my $cur = shift || $curgroup; … … 644 689 my $sth = $dbh->prepare("SELECT group_id,parent_group_id,group_name FROM groups ORDER BY group_id"); 645 690 $sth->execute; 646 my @gr plist;647 while (my ($gr pid,$pargrp,$grpname) = $sth->fetchrow_array()) {691 my @grouplist; 692 while (my ($groupid,$pargroup,$groupname) = $sth->fetchrow_array()) { 648 693 my %row; 649 $row{gr pname} = $grpname;650 $row{gr pval} = $grpid;694 $row{groupname} = $groupname; 695 $row{groupval} = $groupid; 651 696 ##fixme: need magic 652 # $row{defgr p} = '';653 $row{gr pactive} = 1 if $grpid == $cur;654 push @gr plist, \%row;655 } 656 657 $page->param("$template_var" => \@gr plist);658 659 } 697 # $row{defgroup} = ''; 698 $row{groupactive} = 1 if $groupid == $cur; 699 push @grouplist, \%row; 700 } 701 702 $page->param("$template_var" => \@grouplist); 703 704 }
Note:
See TracChangeset
for help on using the changeset viewer.