version 1.494, 2006/12/17 01:49:34
|
version 1.503, 2007/01/23 20:00:38
|
Line 59 use Apache::lonnet;
|
Line 59 use Apache::lonnet;
|
use GDBM_File; |
use GDBM_File; |
use POSIX qw(strftime mktime); |
use POSIX qw(strftime mktime); |
use Apache::lonmenu(); |
use Apache::lonmenu(); |
|
use Apache::lonenc(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use HTML::Entities; |
use HTML::Entities; |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
Line 1334 sub multiple_select_form {
|
Line 1335 sub multiple_select_form {
|
} |
} |
} |
} |
$output.="\n<select name='$name' size='$size' multiple='1'>"; |
$output.="\n<select name='$name' size='$size' multiple='1'>"; |
my @order = ref($order) ? @$order |
my @order; |
: sort(keys(%$hash)); |
if ($order) { |
|
@order = ref($order) ? @$order |
|
: sort(keys(%$hash)); |
|
} |
|
if (exists($$hash{'select_form_order'})) { |
|
@order = @{$$hash{'select_form_order'}}; |
|
} |
|
|
foreach my $key (@order) { |
foreach my $key (@order) { |
$output.='<option value="'.&HTML::Entities::encode($key,'"<>&').'" '; |
$output.='<option value="'.&HTML::Entities::encode($key,'"<>&').'" '; |
$output.='selected="selected" ' if ($selected{$key}); |
$output.='selected="selected" ' if ($selected{$key}); |
Line 2690 sub get_student_answers {
|
Line 2698 sub get_student_answers {
|
} |
} |
$moreenv{'grade_target'}='answer'; |
$moreenv{'grade_target'}='answer'; |
%moreenv=(%form,%moreenv); |
%moreenv=(%form,%moreenv); |
my $userview=&Apache::lonnet::ssi('/res/'.$feedurl,%moreenv); |
$feedurl = &Apache::lonnet::clutter($feedurl); |
|
&Apache::lonenc::check_encrypt(\$feedurl); |
|
my $userview=&Apache::lonnet::ssi($feedurl,%moreenv); |
return $userview; |
return $userview; |
} |
} |
|
|
Line 2893 sub blockcheck {
|
Line 2903 sub blockcheck {
|
$uname = $env{'user.name'}; |
$uname = $env{'user.name'}; |
} |
} |
|
|
my ($startblock,$endblock); |
|
|
|
# If uname and udom are for a course, check for blocks in the course. |
# If uname and udom are for a course, check for blocks in the course. |
|
|
if (&Apache::lonnet::is_course($udom,$uname)) { |
if (&Apache::lonnet::is_course($udom,$uname)) { |
my %records = &Apache::lonnet::dump('comm_block',$udom,$uname); |
my %records = &Apache::lonnet::dump('comm_block',$udom,$uname); |
($startblock,$endblock)=&get_blocks($setters,$activity,$udom,$uname); |
my ($startblock,$endblock)=&get_blocks($setters,$activity,$udom,$uname); |
return ($startblock,$endblock); |
return ($startblock,$endblock); |
} |
} |
|
|
|
my $startblock = 0; |
|
my $endblock = 0; |
my %live_courses = &findallcourses(undef,$uname,$udom); |
my %live_courses = &findallcourses(undef,$uname,$udom); |
|
|
# If uname is for a user, and activity is course-specific, i.e., |
# If uname is for a user, and activity is course-specific, i.e., |
Line 2963 sub blockcheck {
|
Line 2973 sub blockcheck {
|
if ($sec ne 'none') { |
if ($sec ne 'none') { |
$checkrole .= '/'.$sec; |
$checkrole .= '/'.$sec; |
} |
} |
# Resource belongs to user other than current user. |
|
# Assemble privs for that user, and check for 'evb' priv. |
|
if ($otheruser) { |
if ($otheruser) { |
# Resource belongs to user other than current user. |
# Resource belongs to user other than current user. |
# Assemble privs for that user, and check for 'evb' priv. |
# Assemble privs for that user, and check for 'evb' priv. |
Line 3014 sub blockcheck {
|
Line 3022 sub blockcheck {
|
|
|
# Retrieve blocking times and identity of blocker for course |
# Retrieve blocking times and identity of blocker for course |
# of specified user, unless user has 'evb' privilege. |
# of specified user, unless user has 'evb' privilege. |
|
|
($startblock,$endblock)=&get_blocks($setters,$activity,$cdom,$cnum); |
my ($start,$end)=&get_blocks($setters,$activity,$cdom,$cnum); |
|
if (($start != 0) && |
|
(($startblock == 0) || ($startblock > $start))) { |
|
$startblock = $start; |
|
} |
|
if (($end != 0) && |
|
(($endblock == 0) || ($endblock < $end))) { |
|
$endblock = $end; |
|
} |
} |
} |
return ($startblock,$endblock); |
return ($startblock,$endblock); |
} |
} |
Line 3341 sub bodytag {
|
Line 3357 sub bodytag {
|
my ($role,$realm) = split(/\./,$env{'request.role'},2); |
my ($role,$realm) = split(/\./,$env{'request.role'},2); |
if ($role eq 'ca') { |
if ($role eq 'ca') { |
my ($rdom,$rname) = ($realm =~ m{^/($match_domain)/($match_username)$}); |
my ($rdom,$rname) = ($realm =~ m{^/($match_domain)/($match_username)$}); |
$realm = &plainname($rname,$rdom).':'.$rdom; |
$realm = &plainname($rname,$rdom); |
} |
} |
# realm |
# realm |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
Line 3636 sub standard_css {
|
Line 3652 sub standard_css {
|
my $mail_replied_hover = '#888855'; |
my $mail_replied_hover = '#888855'; |
my $mail_other = '#99BBBB'; |
my $mail_other = '#99BBBB'; |
my $mail_other_hover = '#669999'; |
my $mail_other_hover = '#669999'; |
my $mail_even = '#EEEEEE'; |
|
my $mail_odd = '#FFFFFF'; |
|
my $table_header = '#DDDDDD'; |
my $table_header = '#DDDDDD'; |
my $feedback_link_bg = '#BBBBBB'; |
my $feedback_link_bg = '#BBBBBB'; |
|
|
Line 3928 table.LC_mail_list tr.LC_mail_other:hove
|
Line 3942 table.LC_mail_list tr.LC_mail_other:hove
|
background-color: $mail_other_hover; |
background-color: $mail_other_hover; |
} |
} |
table.LC_mail_list tr.LC_mail_even { |
table.LC_mail_list tr.LC_mail_even { |
background-color: $mail_even |
|
} |
} |
table.LC_mail_list tr.LC_mail_odd { |
table.LC_mail_list tr.LC_mail_odd { |
background-color: $mail_odd |
|
} |
} |
|
|
|
|
Line 4940 sub get_course_users {
|
Line 4952 sub get_course_users {
|
$usec = 'none'; |
$usec = 'none'; |
} |
} |
if ($uname ne '' && $udom ne '') { |
if ($uname ne '' && $udom ne '') { |
if ($end < $now) { |
if ($end > 0 && $end < $now) { |
$status = 'previous'; |
$status = 'previous'; |
} elsif ($start > $now) { |
} elsif ($start > $now) { |
$status = 'future'; |
$status = 'future'; |
Line 6078 Returns: both routines return nothing
|
Line 6090 Returns: both routines return nothing
|
####################################################### |
####################################################### |
####################################################### |
####################################################### |
sub store_course_settings { |
sub store_course_settings { |
|
return &store_settings($env{'request.course.id'},@_); |
|
} |
|
|
|
sub store_settings { |
# save to the environment |
# save to the environment |
# appenv the same items, just to be safe |
# appenv the same items, just to be safe |
my $courseid = $env{'request.course.id'}; |
|
my $udom = $env{'user.domain'}; |
my $udom = $env{'user.domain'}; |
my $uname = $env{'user.name'}; |
my $uname = $env{'user.name'}; |
my ($prefix,$Settings) = @_; |
my ($context,$prefix,$Settings) = @_; |
my %SaveHash; |
my %SaveHash; |
my %AppHash; |
my %AppHash; |
while (my ($setting,$type) = each(%$Settings)) { |
while (my ($setting,$type) = each(%$Settings)) { |
my $basename = join('.','internal',$courseid,$prefix,$setting); |
my $basename = join('.','internal',$context,$prefix,$setting); |
my $envname = 'environment.'.$basename; |
my $envname = 'environment.'.$basename; |
if (exists($env{'form.'.$setting})) { |
if (exists($env{'form.'.$setting})) { |
# Save this value away |
# Save this value away |
Line 6127 sub store_course_settings {
|
Line 6142 sub store_course_settings {
|
} |
} |
|
|
sub restore_course_settings { |
sub restore_course_settings { |
my $courseid = $env{'request.course.id'}; |
return &restore_settings($env{'request.course.id'},@_); |
my ($prefix,$Settings) = @_; |
} |
|
|
|
sub restore_settings { |
|
my ($context,$prefix,$Settings) = @_; |
while (my ($setting,$type) = each(%$Settings)) { |
while (my ($setting,$type) = each(%$Settings)) { |
next if (exists($env{'form.'.$setting})); |
next if (exists($env{'form.'.$setting})); |
my $envname = 'environment.internal.'.$courseid.'.'.$prefix. |
my $envname = 'environment.internal.'.$context.'.'.$prefix. |
'.'.$setting; |
'.'.$setting; |
if (exists($env{$envname})) { |
if (exists($env{$envname})) { |
if ($type eq 'scalar') { |
if ($type eq 'scalar') { |