version 1.409, 2008/01/12 05:04:35
|
version 1.415.2.2, 2008/12/12 22:27:20
|
Line 198 sub getDescription {
|
Line 198 sub getDescription {
|
return &mt("Not currently assigned."); |
return &mt("Not currently assigned."); |
} |
} |
if ($status == $res->OPEN_LATER) { |
if ($status == $res->OPEN_LATER) { |
return "Open " .timeToHumanString($open,'start'); |
return &mt("Open ") .timeToHumanString($open,'start'); |
} |
} |
if ($status == $res->OPEN) { |
if ($status == $res->OPEN) { |
if ($due) { |
if ($due) { |
Line 236 sub getDescription {
|
Line 236 sub getDescription {
|
my $maxtries = $res->maxtries($part); |
my $maxtries = $res->maxtries($part); |
my $triesString = ""; |
my $triesString = ""; |
if ($tries && $maxtries) { |
if ($tries && $maxtries) { |
$triesString = "<font size=\"-1\"><i>($tries of $maxtries tries used)</i></font>"; |
$triesString = '<font size="-1"><i>('.&mt('[_1] of [quant,_2,try,tries] used',$tries,$maxtries).')</i></font>'; |
if ($maxtries > 1 && $maxtries - $tries == 1) { |
if ($maxtries > 1 && $maxtries - $tries == 1) { |
$triesString = "<b>$triesString</b>"; |
$triesString = "<b>$triesString</b>"; |
} |
} |
Line 854 sub render_resource {
|
Line 854 sub render_resource {
|
if (!$resource->condval()) { |
if (!$resource->condval()) { |
$nonLinkedText .= ' <i>('.&mt('conditionally hidden').')</i> '; |
$nonLinkedText .= ' <i>('.&mt('conditionally hidden').')</i> '; |
} |
} |
|
if (($resource->is_practice()) && ($resource->is_raw_problem())) { |
|
$nonLinkedText .=' <font color="green"><b>'.&mt('not graded').'</b></font>'; |
|
} |
|
|
# We're done preparing and finally ready to start the rendering |
# We're done preparing and finally ready to start the rendering |
my $result = "<td align='left' valign='middle'>"; |
my $result = "<td align='left' valign='middle'>"; |
|
|
Line 1738 ENDBLOCK
|
Line 1741 ENDBLOCK
|
$result.='} |
$result.='} |
</script> |
</script> |
<form name="linkitems" method="post"> |
<form name="linkitems" method="post"> |
<nobr><select name="toplink">'."\n"; |
<span class="LC_nobreak"><select name="toplink">'."\n"; |
foreach my $link (@linkorder) { |
foreach my $link (@linkorder) { |
if (defined($linkitems->{$link})) { |
if (defined($linkitems->{$link})) { |
if ($linkitems->{$link}{'text'} ne '') { |
if ($linkitems->{$link}{'text'} ne '') { |
Line 1749 ENDBLOCK
|
Line 1752 ENDBLOCK
|
} |
} |
$result .= '</select> <input type="button" name="chgnav" |
$result .= '</select> <input type="button" name="chgnav" |
value="Go" onClick="javascript:changeNavDisplay()" /> |
value="Go" onClick="javascript:changeNavDisplay()" /> |
</nobr></form></td>'."\n"; |
</span></form></td>'."\n"; |
|
|
return $result; |
return $result; |
} |
} |
Line 2299 sub parmval {
|
Line 2302 sub parmval {
|
my $hashkey = $what."|||".$symb; |
my $hashkey = $what."|||".$symb; |
|
|
if (defined($self->{PARM_CACHE}->{$hashkey})) { |
if (defined($self->{PARM_CACHE}->{$hashkey})) { |
if (wantarray) { |
if (ref($self->{PARM_CACHE}->{$hashkey}) eq 'ARRAY') { |
return @{$self->{PARM_CACHE}->{$hashkey}}; |
if (defined($self->{PARM_CACHE}->{$hashkey}->[0])) { |
} else { |
if (wantarray) { |
return $self->{PARM_CACHE}->{$hashkey}->[0]; |
return @{$self->{PARM_CACHE}->{$hashkey}}; |
} |
} else { |
|
return $self->{PARM_CACHE}->{$hashkey}->[0]; |
|
} |
|
} |
|
} else { |
|
return $self->{PARM_CACHE}->{$hashkey}; |
|
} |
} |
} |
|
|
my $result = $self->parmval_real($what, $symb, $recurse); |
my $result = $self->parmval_real($what, $symb, $recurse); |
$self->{PARM_CACHE}->{$hashkey} = $result; |
$self->{PARM_CACHE}->{$hashkey} = $result; |
if (wantarray) { |
if (wantarray) { |
return @{$result}; |
return @{$result}; |
} |
} |
return $result->[0]; |
return $result->[0]; |
} |
} |
Line 3440 sub kind { my $self=shift; return $self-
|
Line 3448 sub kind { my $self=shift; return $self-
|
sub randomout { my $self=shift; return $self->navHash("randomout_", 1); } |
sub randomout { my $self=shift; return $self->navHash("randomout_", 1); } |
sub randompick { |
sub randompick { |
my $self = shift; |
my $self = shift; |
return $self->parmval('randompick'); |
my $randompick = $self->parmval('randompick'); |
|
return $randompick; |
} |
} |
sub randomorder { |
sub randomorder { |
my $self = shift; |
my $self = shift; |
return ($self->parmval('randomorder') =~ /^yes$/i); |
my $randomorder = $self->parmval('randomorder'); |
|
return ($randomorder =~ /^yes$/i); |
} |
} |
sub link { |
sub link { |
my $self=shift; |
my $self=shift; |
Line 3565 sub retrieveResources {
|
Line 3575 sub retrieveResources {
|
|
|
sub is_exam { |
sub is_exam { |
my ($self,$part) = @_; |
my ($self,$part) = @_; |
if ($self->parmval('type',$part) eq 'exam') { |
my $type = $self->parmval('type',$part); |
|
if ($type eq 'exam') { |
return 1; |
return 1; |
} |
} |
if ($self->src() =~ /\.(exam)$/) { |
if ($self->src() =~ /\.(exam)$/) { |
Line 3588 sub is_page {
|
Line 3599 sub is_page {
|
sub is_practice { |
sub is_practice { |
my $self=shift; |
my $self=shift; |
my ($part) = @_; |
my ($part) = @_; |
if ($self->parmval('type',$part) eq 'practice') { |
my $type = $self->parmval('type',$part); |
|
if ($type eq 'practice') { |
return 1; |
return 1; |
} |
} |
return 0; |
return 0; |
Line 3601 sub is_problem {
|
Line 3613 sub is_problem {
|
} |
} |
return 0; |
return 0; |
} |
} |
|
sub is_raw_problem { |
|
my $self=shift; |
|
my $src = $self->src(); |
|
if ($src =~ /\.(problem|exam|quiz|assess|survey|form|library|task)$/) { |
|
return 1; |
|
} |
|
return 0; |
|
} |
|
|
sub contains_problem { |
sub contains_problem { |
my $self=shift; |
my $self=shift; |
if ($self->is_page()) { |
if ($self->is_page()) { |
Line 3626 sub is_sequence {
|
Line 3647 sub is_sequence {
|
sub is_survey { |
sub is_survey { |
my $self = shift(); |
my $self = shift(); |
my $part = shift(); |
my $part = shift(); |
if ($self->parmval('type',$part) eq 'survey') { |
my $type = $self->parmval('type',$part); |
|
if ($type eq 'survey') { |
return 1; |
return 1; |
} |
} |
if ($self->src() =~ /\.(survey)$/) { |
if ($self->src() =~ /\.(survey)$/) { |
Line 3802 Get the weight for the problem.
|
Line 3824 Get the weight for the problem.
|
|
|
sub acc { |
sub acc { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
return $self->parmval("acc", $part); |
my $acc = $self->parmval("acc", $part); |
|
return $acc; |
} |
} |
sub answerdate { |
sub answerdate { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
# Handle intervals |
# Handle intervals |
if ($self->parmval("answerdate.type", $part) eq 'date_interval') { |
my $answerdatetype = $self->parmval("answerdate.type", $part); |
return $self->duedate($part) + |
my $answerdate = $self->parmval("answerdate", $part); |
$self->parmval("answerdate", $part); |
my $duedate = $self->parmval("duedate", $part); |
|
if ($answerdatetype eq 'date_interval') { |
|
$answerdate = $duedate + $answerdate; |
} |
} |
return $self->parmval("answerdate", $part); |
return $answerdate; |
} |
} |
sub awarded { |
sub awarded { |
my $self = shift; my $part = shift; |
my $self = shift; my $part = shift; |
Line 3845 sub handgrade {
|
Line 3870 sub handgrade {
|
my @response_ids = $self->responseIds($part); |
my @response_ids = $self->responseIds($part); |
if (@response_ids) { |
if (@response_ids) { |
foreach my $response_id (@response_ids) { |
foreach my $response_id (@response_ids) { |
if (lc($self->parmval("handgrade",$part.'_'.$response_id)) |
my $handgrade = $self->parmval("handgrade",$part.'_'.$response_id); |
eq 'yes') { |
if (lc($handgrade) eq 'yes') { |
return 'yes'; |
return 'yes'; |
} |
} |
} |
} |
} |
} |
return $self->parmval("handgrade", $part); |
my $handgrade = $self->parmval("handgrade", $part); |
|
return $handgrade; |
} |
} |
sub maxtries { |
sub maxtries { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
return $self->parmval("maxtries", $part); |
my $maxtries = $self->parmval("maxtries", $part); |
|
return $maxtries; |
} |
} |
sub opendate { |
sub opendate { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
if ($self->parmval("opendate.type", $part) eq 'date_interval') { |
my $opendatetype = $self->parmval("opendate.type", $part); |
return $self->duedate($part) - |
my $opendate = $self->parmval("opendate", $part); |
$self->parmval("opendate", $part); |
if ($opendatetype eq 'date_interval') { |
|
my $duedate = $self->duedate($part); |
|
$opendate = $duedate - $opendate; |
} |
} |
return $self->parmval("opendate"); |
return $opendate; |
} |
} |
sub problemstatus { |
sub problemstatus { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
return lc $self->parmval("problemstatus", $part); |
my $problemstatus = $self->parmval("problemstatus", $part); |
|
return lc($problemstatus); |
} |
} |
sub sig { |
sub sig { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
return $self->parmval("sig", $part); |
my $sig = $self->parmval("sig", $part); |
|
return $sig; |
} |
} |
sub tol { |
sub tol { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
return $self->parmval("tol", $part); |
my $tol = $self->parmval("tol", $part); |
|
return $tol; |
} |
} |
sub tries { |
sub tries { |
my $self = shift; |
my $self = shift; |
my $tries = $self->queryRestoreHash('tries', shift); |
my $tries = $self->queryRestoreHash('tries', shift); |
if (!defined($tries)) { return '0';} |
if (!defined($tries)) { return '0';} |
Line 3885 sub tries {
|
Line 3917 sub tries {
|
} |
} |
sub type { |
sub type { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
return $self->parmval("type", $part); |
my $type = $self->parmval("type", $part); |
|
return $type; |
} |
} |
sub weight { |
sub weight { |
my $self = shift; my $part = shift; |
my $self = shift; my $part = shift; |