--- loncom/interface/longroup.pm 2006/06/28 23:38:10 1.6 +++ loncom/interface/longroup.pm 2006/06/30 18:27:19 1.7 @@ -452,5 +452,49 @@ sub sum_quotas { ############################################### +sub get_bbfolder_url { + my ($cdom,$cnum,$group) = @_; + my %curr_groups = &coursegroups($cdom,$cnum,$group); + my $grpbbmap; + if (%curr_groups) { + my %group_info = &get_group_settings($curr_groups{$group}); + my $creation = $group_info{'creation'}; + my $bbfolder = $creation + 1; + my $crspath = '/uploaded/'.$cdom.'/'.$cnum.'/'; + $grpbbmap = $crspath.'default_'.$bbfolder.'.sequence'; + } + return $grpbbmap; +} + +############################################### + +sub get_group_bbinfo { + my ($cdom,$cnum,$group) = @_; + my $navmap = Apache::lonnavmaps::navmap->new(); + my @groupboards; + my %boardshash; + my $grpbbmap = &get_bbfolder_url($cdom,$cnum,$group); + if ($grpbbmap) { + my $bbfolderres = $navmap->getResourceByUrl($grpbbmap); + if ($bbfolderres) { + my @boards = $navmap->retrieveResources($bbfolderres,undef,0,0); + foreach my $res (@boards) { + my $url = $res->src(); + if ($url =~ m|^/adm/\Q$cdom\E/\Q$cnum\E/\d+/bulletinboard|) { + push(@groupboards,$res->symb()); + $boardshash{$res->symb()} = { + title => $res->title(), + url => $res->src(), + }; + } + } + } + } + undef($navmap); + return (\@groupboards,\%boardshash); +} + +############################################### + 1;