version 1.354, 2005/12/15 00:53:30
|
version 1.361, 2006/02/16 19:38:27
|
Line 57 my %statusIconMap =
|
Line 57 my %statusIconMap =
|
$resObj->CLOSED => '', |
$resObj->CLOSED => '', |
$resObj->OPEN => 'navmap.open.gif', |
$resObj->OPEN => 'navmap.open.gif', |
$resObj->CORRECT => 'navmap.correct.gif', |
$resObj->CORRECT => 'navmap.correct.gif', |
$resObj->PARTIALLY_CORRECT => 'navmap.ellipsis.gif', |
$resObj->PARTIALLY_CORRECT => 'navmap.partial.gif', |
$resObj->INCORRECT => 'navmap.wrong.gif', |
$resObj->INCORRECT => 'navmap.wrong.gif', |
$resObj->ATTEMPTED => 'navmap.ellipsis.gif', |
$resObj->ATTEMPTED => 'navmap.ellipsis.gif', |
$resObj->ERROR => '' |
$resObj->ERROR => '' |
Line 530 sub getDescription {
|
Line 530 sub getDescription {
|
if ($status == $res->PAST_DUE_NO_ANSWER) { |
if ($status == $res->PAST_DUE_NO_ANSWER) { |
return &mt("Was due")." " . timeToHumanString($res->duedate($part),'end'); |
return &mt("Was due")." " . timeToHumanString($res->duedate($part),'end'); |
} |
} |
if ($status == $res->ANSWER_OPEN || $status == $res->PARTIALLY_CORRECT) { |
if (($status == $res->ANSWER_OPEN || $status == $res->PARTIALLY_CORRECT) |
|
&& $res->handgrade($part) ne 'yes') { |
return &mt("Answer available"); |
return &mt("Answer available"); |
} |
} |
if ($status == $res->EXCUSED) { |
if ($status == $res->EXCUSED) { |
Line 2065 In order of increasing complexity and po
|
Line 2066 In order of increasing complexity and po
|
|
|
=over 4 |
=over 4 |
|
|
=item * C<$navmap-E<gt>getByX>, where X is B<Id>, B<Symb>, B<Url> or B<MapPc>. This provides |
=item * C<$navmap-E<gt>getByX>, where X is B<Id>, B<Symb> or B<MapPc> and getResourceByUrl. This provides |
various ways to obtain resource objects, based on various identifiers. |
various ways to obtain resource objects, based on various identifiers. |
Use this when you want to request information about one object or |
Use this when you want to request information about one object or |
a handful of resources you already know the identities of, from some |
a handful of resources you already know the identities of, from some |
other source. For more about Ids, Symbs, and MapPcs, see the |
other source. For more about Ids, Symbs, and MapPcs, see the |
Resource documentation. Note that Url should be a B<last resort>, |
Resource documentation. Note that Url should be a B<last resort>, |
not your first choice; it only works when there is only one |
not your first choice; it only really works when there is only one |
instance of the resource in the course, which only applies to |
instance of the resource in the course, which only applies to |
maps, and even that may change in the future. |
maps, and even that may change in the future (see the B<getResourceByUrl> |
|
documentation for more details.) |
|
|
=item * C<my @resources = $navmap-E<gt>retrieveResources(args)>. This |
=item * C<my @resources = $navmap-E<gt>retrieveResources(args)>. This |
retrieves resources matching some criterion and returns them |
retrieves resources matching some criterion and returns them |
Line 3656 sub condition {
|
Line 3658 sub condition {
|
} |
} |
sub condval { |
sub condval { |
my $self=shift; |
my $self=shift; |
my $uri=&Apache::lonnet::deversion(&Apache::lonnet::declutter($self->src())); |
my ($pathname,$filename) = |
my ($pathname,$filename)=($uri=~m|(.*)/([^/]*)|); |
&Apache::lonnet::split_uri_for_cond($self->src()); |
$pathname=~s/^adm\/wrapper\///; |
|
|
|
my $match=($env{'acc.res.'.$env{'request.course.id'}.'.'.$pathname}=~ |
my $match=($env{'acc.res.'.$env{'request.course.id'}.'.'.$pathname}=~ |
/\&\Q$filename\E\:([\d\|]+)\&/); |
/\&\Q$filename\E\:([\d\|]+)\&/); |
Line 3729 sub is_page {
|
Line 3730 sub is_page {
|
return $self->navHash("is_map_", 1) && |
return $self->navHash("is_map_", 1) && |
$self->navHash("map_type_" . $self->map_pc()) eq 'page'; |
$self->navHash("map_type_" . $self->map_pc()) eq 'page'; |
} |
} |
|
sub is_practice { |
|
my $self=shift; |
|
my ($part) = @_; |
|
if ($self->parmval('type',$part) eq 'practice') { |
|
return 1; |
|
} |
|
return 0; |
|
} |
sub is_problem { |
sub is_problem { |
my $self=shift; |
my $self=shift; |
my $src = $self->src(); |
my $src = $self->src(); |
return ($src =~ /\.(problem|exam|quiz|assess|survey|form|library|task)$/) |
if ($src =~ /\.(problem|exam|quiz|assess|survey|form|library|task)$/) { |
|
return !($self->is_practice()); |
|
} |
|
return 0; |
} |
} |
sub contains_problem { |
sub contains_problem { |
my $self=shift; |
my $self=shift; |
Line 3759 sub is_survey {
|
Line 3771 sub is_survey {
|
} |
} |
return 0; |
return 0; |
} |
} |
|
sub is_task { |
|
my $self=shift; |
|
my $src = $self->src(); |
|
return ($src =~ /\.(task)$/) |
|
} |
|
|
sub is_empty_sequence { |
sub is_empty_sequence { |
my $self=shift; |
my $self=shift; |
Line 4272 sub extractParts {
|
Line 4289 sub extractParts {
|
# where the part names begin and end, and even then, it is possible |
# where the part names begin and end, and even then, it is possible |
# to construct ambiguous situations. |
# to construct ambiguous situations. |
foreach (split /,/, $metadata) { |
foreach (split /,/, $metadata) { |
if ($_ =~ /^([a-zA-Z]+)response_(.*)/) { |
if ($_ =~ /^([a-zA-Z]+)response_(.*)/ |
|
|| $_ =~ /^(Task)_(.*)/) { |
my $responseType = $1; |
my $responseType = $1; |
my $partStuff = $2; |
my $partStuff = $2; |
my $partIdSoFar = ''; |
my $partIdSoFar = ''; |