version 1.138.2.1, 2003/10/15 22:18:26
|
version 1.139, 2003/09/09 13:32:25
|
Line 69 sub get_target {
|
Line 69 sub get_target {
|
} elsif ( defined($ENV{'form.grade_target'} ) |
} elsif ( defined($ENV{'form.grade_target'} ) |
&& ($Apache::lonhomework::viewgrades eq 'F' )) { |
&& ($Apache::lonhomework::viewgrades eq 'F' )) { |
return ($ENV{'form.grade_target'}); |
return ($ENV{'form.grade_target'}); |
|
} elsif (defined($ENV{'form.grade_target'} ) |
|
&& ($ENV{'form.grade_target'} eq 'answer')) { |
|
return ($ENV{'form.grade_target'}); |
} |
} |
|
|
if ( defined($ENV{'form.submitted'}) && |
if ( defined($ENV{'form.submitted'}) && |
Line 146 sub send_footer {
|
Line 149 sub send_footer {
|
|
|
$Apache::lonxml::browse=''; |
$Apache::lonxml::browse=''; |
|
|
sub check_ip_acc { |
|
my ($acc)=@_; |
|
if (!defined($acc) || $acc =~ /^\s*$/) { return 1; } |
|
my $allowed=0; |
|
my $ip=$ENV{'REMOTE_ADDR'}; |
|
my $name; |
|
foreach my $pattern (split(',',$acc)) { |
|
if ($pattern =~ /\*$/) { |
|
#35.8.* |
|
$pattern=~s/\*//; |
|
if ($ip =~ /^\Q$pattern\E/) { $allowed=1; } |
|
} elsif ($pattern =~ /(\d+\.\d+\.\d+)\.\[(\d+)-(\d+)\]$/) { |
|
#35.8.3.[34-56] |
|
my $low=$2; |
|
my $high=$3; |
|
$pattern=$1; |
|
if ($ip =~ /^\Q$pattern\E/) { |
|
my $last=(split(/\./,$ip))[3]; |
|
if ($last <=$high && $last >=$low) { $allowed=1; } |
|
} |
|
} elsif ($pattern =~ /^\*/) { |
|
#*.msu.edu |
|
$pattern=~s/\*//; |
|
if (!defined($name)) { |
|
use Socket; |
|
my $netaddr=inet_aton($ip); |
|
($name)=gethostbyaddr($netaddr,AF_INET); |
|
} |
|
if ($name =~ /\Q$pattern\E$/i) { $allowed=1; } |
|
} elsif ($pattern =~ /\d+\.\d+\.\d+\.\d+/) { |
|
#127.0.0.1 |
|
if ($ip =~ /^\Q$pattern\E/) { $allowed=1; } |
|
} else { |
|
#some.name.com |
|
if (!defined($name)) { |
|
use Socket; |
|
my $netaddr=inet_aton($ip); |
|
($name)=gethostbyaddr($netaddr,AF_INET); |
|
} |
|
if ($name =~ /\Q$pattern\E$/i) { $allowed=1; } |
|
} |
|
if ($allowed) { last; } |
|
} |
|
return $allowed; |
|
} |
|
# JB, 9/24/2002: Any changes in this function may require a change |
# JB, 9/24/2002: Any changes in this function may require a change |
# in lonnavmaps::resource::getDateStatus. |
# in lonnavmaps::resource::getDateStatus. |
sub check_access { |
sub check_access { |
Line 212 sub check_access {
|
Line 170 sub check_access {
|
|
|
&Apache::lonxml::debug("checking for part :$id:"); |
&Apache::lonxml::debug("checking for part :$id:"); |
&Apache::lonxml::debug("time:".time); |
&Apache::lonxml::debug("time:".time); |
|
|
my $allowed=&check_ip_acc(&Apache::lonnet::EXT("resource.$id.acc")); |
|
if (!$allowed) { |
|
$status='INVALID_ACCESS'; |
|
$date=&mt("can not be accessed from your location."); |
|
return($status,$date); |
|
} |
|
|
|
foreach $temp ("opendate","duedate","answerdate") { |
foreach $temp ("opendate","duedate","answerdate") { |
$lastdate = $date; |
$lastdate = $date; |
$date = &Apache::lonnet::EXT("resource.$id.$temp"); |
$date = &Apache::lonnet::EXT("resource.$id.$temp"); |