version 1.59, 2006/07/29 00:31:58
|
version 1.63, 2006/11/02 21:06:06
|
Line 29 package Apache::loncoursegroups;
|
Line 29 package Apache::loncoursegroups;
|
|
|
use strict; |
use strict; |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::loncommon; |
use Apache::loncommon(); |
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonnavmaps; |
use Apache::lonnavmaps(); |
use Apache::longroup; |
use Apache::longroup(); |
use Apache::portfolio; |
use Apache::portfolio(); |
use Apache::Constants qw(:common :http); |
use Apache::Constants qw(:common :http); |
|
use LONCAPA::map(); |
use lib '/home/httpd/lib/perl/'; |
use lib '/home/httpd/lib/perl/'; |
use LONCAPA; |
use LONCAPA; |
|
|
Line 127 sub print_main_menu {
|
Line 128 sub print_main_menu {
|
function changeSort(caller) { |
function changeSort(caller) { |
document.$state.sortby.value = caller; |
document.$state.sortby.value = caller; |
document.$state.submit(); |
document.$state.submit(); |
|
} |
|
function openGroupRoster(group,status) { |
|
var url = '/adm/grouproster?'; |
|
url += 'group='+group+'&status='+status+'&ref=popup'; |
|
var title = 'Group Membership'; |
|
var options = 'scrollbars=1,resizable=1,menubar=0'; |
|
options += ',width=700,height=600'; |
|
rosterbrowser = open(url,title,options,'1'); |
|
rosterbrowser.focus(); |
}\n|; |
}\n|; |
$r->print(&header('Groups',$jscript,$action,$state)); |
$r->print(&header('Groups',$jscript,$action,$state)); |
if ($env{'form.refpage'} eq 'enrl') { |
if ($env{'form.refpage'} eq 'enrl') { |
Line 176 sub display_groups {
|
Line 186 sub display_groups {
|
nogr => 'No groups exist.', |
nogr => 'No groups exist.', |
crng => 'Create a new group', |
crng => 'Create a new group', |
alth => 'Although your current role has privileges'. |
alth => 'Although your current role has privileges'. |
' to view any existing groups in this'. |
' to view any existing groups in this '. |
lc($crstype).', you do not have privileges'. |
lc($crstype).', you do not have privileges '. |
'to create new groups.', |
'to create new groups.', |
); |
); |
if ($view_permission) { |
if ($view_permission) { |
Line 882 function changeSort(caller) {
|
Line 892 function changeSort(caller) {
|
&Apache::lonhtmlcommon::add_breadcrumb( |
&Apache::lonhtmlcommon::add_breadcrumb( |
{text=>"$trail{$action}{$state}"}); |
{text=>"$trail{$action}{$state}"}); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs |
$r->print(&Apache::lonhtmlcommon::breadcrumbs |
("Groups Manager")); |
("Groups Manager","Creating_Groups")); |
&display_control($r,$cdom,$cnum,$action,$state,$page, |
&display_control($r,$cdom,$cnum,$action,$state,$page, |
\%sectioncount,$groupname,$description,$functions, |
\%sectioncount,$groupname,$description,$functions, |
\@tools,$toolprivs,$fixedprivs,$startdate,$enddate, |
\@tools,$toolprivs,$fixedprivs,$startdate,$enddate, |
Line 1151 sub group_members {
|
Line 1161 sub group_members {
|
my ($cdom,$cnum,$group,$group_info) = @_; |
my ($cdom,$cnum,$group,$group_info) = @_; |
my %memberhash = &Apache::lonnet::get_group_membership($cdom,$cnum,$group); |
my %memberhash = &Apache::lonnet::get_group_membership($cdom,$cnum,$group); |
my $now = time; |
my $now = time; |
my ($tmp)=keys(%memberhash); |
my %lt = &Apache::lonlocal::texthash ( |
if ($tmp=~/^error:/) { |
active => 'active', |
$$group_info{'totalmembers'} = 'Unknown - an error occurred'; |
previous => 'previous', |
return $tmp; |
future => 'future', |
} |
); |
|
my %membercounts = ( |
|
active => 0, |
|
previous => 0, |
|
future => 0, |
|
); |
my $totalmembers = 0; |
my $totalmembers = 0; |
my $active = 0; |
|
my $previous = 0; |
|
my $future = 0; |
|
foreach my $member (keys %memberhash) { |
foreach my $member (keys %memberhash) { |
$totalmembers ++; |
$totalmembers ++; |
my ($end,$start) = split(/:/,$memberhash{$member}); |
my ($end,$start) = split(/:/,$memberhash{$member}); |
unless ($start == -1) { |
unless ($start == -1) { |
if (($end!=0) && ($end<$now)) { |
if (($end!=0) && ($end<$now)) { |
$previous ++; |
$membercounts{previous} ++; |
} elsif (($start!=0) && ($start>$now)) { |
} elsif (($start!=0) && ($start>$now)) { |
$future ++; |
$membercounts{future} ++; |
} else { |
} else { |
$active ++; |
$membercounts{active} ++; |
} |
} |
} |
} |
} |
} |
if ($totalmembers == 0) { |
if ($totalmembers == 0) { |
$$group_info{$group}{'totalmembers'} = 'None'; |
$$group_info{$group}{'totalmembers'} = 'None'; |
} else { |
} else { |
$$group_info{$group}{'totalmembers'} = '<nobr>'.$active. |
foreach my $type ('active','previous','future') { |
' - active</nobr><br /><nobr>'.$previous. |
$$group_info{$group}{'totalmembers'} .= |
' - previous</nobr><br /><nobr>'.$future. |
&open_list_window($group,$type,$membercounts{$type},$lt{$type}); |
' - future</nobr>'; |
} |
} |
} |
return 'ok'; |
return 'ok'; |
} |
} |
|
|
|
sub open_list_window { |
|
my ($group,$status,$count,$text) = @_; |
|
my $entry; |
|
if ($count > 0) { |
|
$entry = '<nobr><a href="javascript:openGroupRoster('. |
|
"'$group','$status'".')">'.$text.'</a> - '.$count. |
|
'</nobr><br />'; |
|
} else { |
|
$entry = '<nobr>'.$text.' - '.$count.'</nobr><br />'; |
|
} |
|
return $entry; |
|
} |
|
|
|
|
sub general_settings_form { |
sub general_settings_form { |
my ($r,$cdom,$cnum,$action,$formname,$page,$functions,$tools, |
my ($r,$cdom,$cnum,$action,$formname,$page,$functions,$tools, |
Line 3423 sub map_updater {
|
Line 3448 sub map_updater {
|
$outcome = &mt('Error uploading new folder.')." ($newfile): $newmapurl".'<br />'; |
$outcome = &mt('Error uploading new folder.')." ($newfile): $newmapurl".'<br />'; |
return $outcome; |
return $outcome; |
} |
} |
my ($errtext,$fatal)=&Apache::lonratedt::mapread($parentmap); |
my ($errtext,$fatal)=&LONCAPA::map::mapread($parentmap); |
if ($fatal) { |
if ($fatal) { |
$outcome = &mt('Error reading contents of parent folder')." ($parentmap): $errtext".'<br />'; |
$outcome = &mt('Error reading contents of parent folder')." ($parentmap): $errtext".'<br />'; |
return $outcome; |
return $outcome; |
} else { |
} else { |
my $newidx=&Apache::lonratedt::getresidx($newmapurl); |
my $newidx=&LONCAPA::map::getresidx($newmapurl); |
$Apache::lonratedt::resources[$newidx] = $itemtitle.':'.$newmapurl. |
$LONCAPA::map::resources[$newidx] = $itemtitle.':'.$newmapurl. |
':false:normal:res'; |
':false:normal:res'; |
$Apache::lonratedt::order[1+$#Apache::lonratedt::order]=$newidx; |
$LONCAPA::map::order[1+$#LONCAPA::map::order]=$newidx; |
my ($outtext,$errtext) = &Apache::lonratedt::storemap($parentmap,1); |
my ($outtext,$errtext) = &LONCAPA::map::storemap($parentmap,1); |
if ($errtext) { |
if ($errtext) { |
$outcome = &mt('Error storing updated parent folder')." ($parentmap): $errtext".'<br />'; |
$outcome = &mt('Error storing updated parent folder')." ($parentmap): $errtext".'<br />'; |
return $outcome; |
return $outcome; |