version 1.88, 2005/03/18 21:55:49
|
version 1.93, 2005/06/29 11:57:17
|
Line 33 package Apache::lonuserstate;
|
Line 33 package Apache::lonuserstate;
|
use strict; |
use strict; |
use Apache::Constants qw(:common :http); |
use Apache::Constants qw(:common :http); |
use HTML::TokeParser; |
use HTML::TokeParser; |
use Apache::lonnet(); |
use Apache::lonnet; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use GDBM_File; |
use GDBM_File; |
use Apache::lonmsg; |
use Apache::lonmsg; |
Line 73 sub versiontrack {
|
Line 73 sub versiontrack {
|
|
|
sub putinversion { |
sub putinversion { |
my $uri=shift; |
my $uri=shift; |
|
my $key=$env{'request.course.id'}.'_'.&Apache::lonnet::clutter($uri); |
if ($hash{'version_'.$uri}) { |
if ($hash{'version_'.$uri}) { |
my $version=$hash{'version_'.$uri}; |
my $version=$hash{'version_'.$uri}; |
if ($version eq 'mostrecent') { return $uri; } |
if ($version eq 'mostrecent') { return $uri; } |
Line 81 sub putinversion {
|
Line 82 sub putinversion {
|
{ return $uri; } |
{ return $uri; } |
$uri=~s/\.(\w+)$/\.$version\.$1/; |
$uri=~s/\.(\w+)$/\.$version\.$1/; |
} |
} |
|
&Apache::lonnet::do_cache_new('courseresversion',$key,&Apache::lonnet::declutter($uri),600); |
return $uri; |
return $uri; |
} |
} |
|
|
Line 138 sub loadmap {
|
Line 140 sub loadmap {
|
if ($token->[0] eq 'S') { |
if ($token->[0] eq 'S') { |
if ($token->[1] eq 'resource') { |
if ($token->[1] eq 'resource') { |
# -------------------------------------------------------------------- Resource |
# -------------------------------------------------------------------- Resource |
|
if ($token->[2]->{'type'} eq 'zombie') { next; } |
my $rid=$lpc.'.'.$token->[2]->{'id'}; |
my $rid=$lpc.'.'.$token->[2]->{'id'}; |
|
|
$hash{'kind_'.$rid}='res'; |
$hash{'kind_'.$rid}='res'; |
Line 338 sub traceroute {
|
Line 340 sub traceroute {
|
my ($mapid,$resid)=split(/\./,$rid); |
my ($mapid,$resid)=split(/\./,$rid); |
my $symb=&Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$hash{'src_'.$rid}); |
my $symb=&Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$hash{'src_'.$rid}); |
my $hidden=&Apache::lonnet::EXT('resource.0.hiddenresource',$symb); |
my $hidden=&Apache::lonnet::EXT('resource.0.hiddenresource',$symb); |
if ($hdnflag || lc($hidden) eq 'yes') { $hiddenurl{$rid}=1; } |
|
|
if ($hdnflag || lc($hidden) eq 'yes') { |
|
$hiddenurl{$rid}=1; |
|
} |
|
if (!$hdnflag && lc($hidden) eq 'no') { |
|
delete($hiddenurl{$rid}); |
|
} |
|
|
my $encrypt=&Apache::lonnet::EXT('resource.0.encrypturl',$symb); |
my $encrypt=&Apache::lonnet::EXT('resource.0.encrypturl',$symb); |
if ($encflag || lc($encrypt) eq 'yes') { $encurl{$rid}=1; } |
if ($encflag || lc($encrypt) eq 'yes') { $encurl{$rid}=1; } |
if (($retfurl eq '') && ($hash{'src_'.$rid}) |
if (($retfurl eq '') && ($hash{'src_'.$rid}) |
Line 624 sub readmap {
|
Line 633 sub readmap {
|
untie(%parmhash); |
untie(%parmhash); |
} |
} |
} |
} |
&Apache::lonmsg::author_res_msg($ENV{'request.course.uri'},$errtext); |
&Apache::lonmsg::author_res_msg($env{'request.course.uri'},$errtext); |
# ------------------------------------------------- Check for critical messages |
# ------------------------------------------------- Check for critical messages |
|
|
my @what=&Apache::lonnet::dump('critical',$ENV{'user.domain'}, |
my @what=&Apache::lonnet::dump('critical',$env{'user.domain'}, |
$ENV{'user.name'}); |
$env{'user.name'}); |
if ($what[0]) { |
if ($what[0]) { |
if (($what[0] ne 'con_lost') && ($what[0]!~/^error\:/)) { |
if (($what[0] ne 'con_lost') && ($what[0]!~/^error\:/)) { |
$retfurl='/adm/email?critical=display'; |
$retfurl='/adm/email?critical=display'; |
Line 640 sub readmap {
|
Line 649 sub readmap {
|
# ------------------------------------------------------- Evaluate state string |
# ------------------------------------------------------- Evaluate state string |
|
|
sub evalstate { |
sub evalstate { |
my $fn=$ENV{'request.course.fn'}.'.state'; |
my $fn=$env{'request.course.fn'}.'.state'; |
my $state=''; |
my $state=''; |
if (-e $fn) { |
if (-e $fn) { |
my @conditions=(); |
my @conditions=(); |
Line 672 sub evalstate {
|
Line 681 sub evalstate {
|
} |
} |
} |
} |
} |
} |
&Apache::lonnet::appenv('user.state.'.$ENV{'request.course.id'} => $state); |
&Apache::lonnet::appenv('user.state.'.$env{'request.course.id'} => $state); |
return $state; |
return $state; |
} |
} |
|
|