--- loncom/interface/loncommon.pm 2006/07/20 22:44:04 1.436 +++ loncom/interface/loncommon.pm 2006/08/02 20:23:33 1.441 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.436 2006/07/20 22:44:04 albertel Exp $ +# $Id: loncommon.pm,v 1.441 2006/08/02 20:23:33 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2092,9 +2092,9 @@ sub screenname { sub messagewrapper { my ($link,$username,$domain,$subject,$text)=@_; return - ''.$link.''; } # --------------------------------------------------------------- Notes Wrapper @@ -2875,7 +2875,7 @@ sub bodytag { 'alink' => &designparm($function.'.alink',$domain), 'vlink' => &designparm($function.'.vlink',$domain), 'link' => &designparm($function.'.link',$domain),); - @$addentries{keys(%design)} = @design{keys(%design)}; + @design{keys(%$addentries)} = @$addentries{keys(%$addentries)}; # role and realm my ($role,$realm) = split(/\./,$env{'request.role'},2); @@ -2900,7 +2900,7 @@ sub bodytag { my $lonhttpdPort=$Apache::lonnet::perlvar{'lonhttpdPort'}; if (!defined($lonhttpdPort)) { $lonhttpdPort='8080'; } - my $extra_body_attr = &make_attr_string($forcereg,$addentries); + my $extra_body_attr = &make_attr_string($forcereg,\%design); # construct main body tag my $bodytag = "". @@ -3200,6 +3200,9 @@ form, .inline { display: inline; } .LC_success { color: green; } +.LC_icon { + border: 0px; +} table#LC_top_nav, table#LC_menubuttons { width: 100%; @@ -3327,6 +3330,11 @@ td.LC_menubuttons_img { font-weight: bold; } +table.LC_aboutme_port { + border: 0px; + border-collapse: collapse; + border-spacing: 0px; +} table.LC_data_table, table.LC_mail_list { border: 1px solid #000000; border-collapse: separate; @@ -3340,11 +3348,13 @@ table.LC_data_table tr th, table.LC_cale background-color: $data_table_head; font-size: smaller; } -table.LC_data_table tr td { +table.LC_data_table tr td, +table.LC_aboutme_port tr td { background-color: $data_table_light; padding: 2px; } -table.LC_data_table tr.LC_even_row td { +table.LC_data_table tr.LC_even_row td, +table.LC_aboutme_port tr.LC_even_row td { background-color: $data_table_dark; } table.LC_data_table tr.LC_data_table_highlight td { @@ -3871,7 +3881,7 @@ sub start_page { #&Apache::lonnet::logthis("start_page ".join(':',caller(0))); my %head_args; foreach my $arg ('redirect','force_register','domain','function', - 'bgcolor','frameset','no_nav_bar','body_only') { + 'bgcolor','frameset','no_nav_bar','only_body') { if (defined($args->{$arg})) { $head_args{$arg} = $args->{$arg}; } @@ -4342,13 +4352,20 @@ sub get_course_users { } } if ((@{$roles} > 1) || ((@{$roles} == 1) && ($$roles[0] ne "st"))) { - my @coursepersonnel = &Apache::lonnet::getkeys('nohist_userroles',$cdom,$cnum); - foreach my $person (@coursepersonnel) { + my %coursepersonnel = &Apache::lonnet::dump('nohist_userroles',$cdom,$cnum); + my $now = time; + foreach my $person (sort(keys(%coursepersonnel))) { my $match = 0; my $secmatch = 0; + my $status; my ($role,$user,$usec) = ($person =~ /^([^:]*):([^:]+:[^:]+):([^:]*)/); $user =~ s/:$//; - if (($role) && (grep(/^\Q$role\E$/,@{$roles}))) { + my ($end,$start) = split(/:/,$coursepersonnel{$person}); + if ($end == -1 || $start == -1) { + next; + } + if (($role) && ((grep(/^\Q$role\E$/,@{$roles})) || + (grep(/^cr$/,@{$roles}) && $role =~ /^cr\//))) { my ($uname,$udom) = split(/:/,$user); if ((ref($sections) eq 'ARRAY') && (@{$sections} > 0)) { if (grep(/^all$/,@{$sections})) { @@ -4370,8 +4387,13 @@ sub get_course_users { $usec = 'none'; } if ($uname ne '' && $udom ne '') { - my $status = &check_user_status($udom,$uname,$cdom,$cnum,$role, - $usec); + if ($end < $now) { + $status = 'previous'; + } elsif ($start > $now) { + $status = 'future'; + } else { + $status = 'active'; + } foreach my $type (keys(%{$types})) { if ($status eq $type) { if (!grep(/^\Q$type\E$/,@{$$users{$role}{$user}})) { @@ -4396,7 +4418,10 @@ sub get_course_users { my %csettings = &Apache::lonnet::get('environment',['internal.courseowner'],$cdom,$cnum); if ( defined($csettings{'internal.courseowner'}) ) { my $owner = $csettings{'internal.courseowner'}; - @{$$users{'ow'}{$owner.':'.$cdom}} = 'any'; + if ($owner !~ /^[^:]+:[^:]+$/) { + $owner = $owner.':'.$cdom; + } + @{$$users{'ow'}{$owner}} = 'any'; if (defined($userdata) && !exists($$userdata{$owner.':'.$cdom})) { &get_user_info($cdom,$owner,\%idx,$userdata);