version 1.59.12.2, 2011/11/18 22:35:33
|
version 1.61, 2010/04/17 22:48:56
|
Line 135 Skips 'survey' problems.
|
Line 135 Skips 'survey' problems.
|
#################################################### |
#################################################### |
#################################################### |
#################################################### |
sub problem_selector { |
sub problem_selector { |
my ($AcceptedResponseTypes,$sequence_addendum) = @_; |
my ($AcceptedResponseTypes,$sequence_addendum,$symbmode) = @_; |
my $Str; |
my $Str; |
$Str = "\n<table>\n"; |
$Str = &Apache::loncommon::start_data_table(); |
my $rb_count =0; |
my $rb_count =0; |
my ($navmap,@sequences) = |
my ($navmap,@sequences) = |
&Apache::lonstatistics::selected_sequences_with_assessments('all'); |
&Apache::lonstatistics::selected_sequences_with_assessments('all'); |
Line 164 sub problem_selector {
|
Line 164 sub problem_selector {
|
if (! defined($title) || $title eq '') { |
if (! defined($title) || $title eq '') { |
($title) = ($res->src =~ m:/([^/]*)$:); |
($title) = ($res->src =~ m:/([^/]*)$:); |
} |
} |
$seq_str .= '<tr>'. |
$seq_str .= &Apache::loncommon::start_data_table_row(). |
qq{<td><input type="radio" id="$rb_count" name="problemchoice" value="$value"$checked /></td>}. |
($symbmode? |
|
'<td><input type="radio" id="'.$rb_count.'" name="symb" value="'.&HTML::Entities::encode($res->symb,'<>&"').'" '.$checked.' /></td>' |
|
:qq{<td><input type="radio" id="$rb_count" name="problemchoice" value="$value"$checked /></td>}). |
'<td><label for="'.$rb_count.'">'.$resptype.'</label></td>'. |
'<td><label for="'.$rb_count.'">'.$resptype.'</label></td>'. |
'<td><label for="'.$rb_count.'">'.$title.'</label>'; |
'<td><label for="'.$rb_count.'">'.$title.'</label>'; |
if (scalar(@response_ids) > 1) { |
if (scalar(@response_ids) > 1) { |
Line 174 sub problem_selector {
|
Line 176 sub problem_selector {
|
my $link = $res->link.'?symb='.&escape($res->shown_symb); |
my $link = $res->link.'?symb='.&escape($res->shown_symb); |
$seq_str .= (' 'x2). |
$seq_str .= (' 'x2). |
'<a target="preview" href="'.$link.'">'.&mt('view').'</a>'; |
'<a target="preview" href="'.$link.'">'.&mt('view').'</a>'; |
$seq_str .= "</td></tr>\n"; |
$seq_str .= "</td>". &Apache::loncommon::end_data_table_row()."\n"; |
$rb_count++; |
$rb_count++; |
} |
} |
} |
} |
} |
} |
} |
} |
if ($seq_str ne '') { |
if ($seq_str ne '') { |
$Str .= '<tr><td> </td>'. |
$Str .= &Apache::loncommon::start_data_table_header_row(). |
'<td colspan="2"><b>'.$seq->compTitle.'</b></td>'. |
'<th colspan="3">'.$seq->compTitle.'</th>'. |
"</tr>\n".$seq_str; |
&Apache::loncommon::end_data_table_header_row()."\n".$seq_str; |
if (defined($sequence_addendum)) { |
if (defined($sequence_addendum)) { |
$Str .= '<tr>'. |
$Str .= &Apache::loncommon::start_data_table_header_row(). |
('<td> </td>'x2). |
('<td> </td>'x2). |
'<td align="right">'.$sequence_addendum.'</td>'. |
'<td align="right">'.$sequence_addendum.'</td>'. |
"</tr>\n"; |
&Apache::loncommon::end_data_table_header_row()."\n"; |
} |
} |
} |
} |
} |
} |
$Str .= "</table>\n"; |
$Str .= &Apache::loncommon::end_data_table()."\n"; |
return $Str; |
return $Str; |
} |
} |
|
|
Line 239 sub MultipleProblemSelector {
|
Line 241 sub MultipleProblemSelector {
|
# Header |
# Header |
$Str .= <<"END"; |
$Str .= <<"END"; |
<script type="text/javascript" language="JavaScript"> |
<script type="text/javascript" language="JavaScript"> |
function checkall(value,seqid,caller) { |
function checkall(value,seqid) { |
if (caller == 'allproblems') { |
|
if ((value == null ) || (value == '') || (value == undefined)) { |
|
if (document.forms.$formname.allproblems.checked) { |
|
document.forms.$formname.noproblems.checked = false; |
|
value = true; |
|
} else { |
|
return; |
|
} |
|
} |
|
} |
|
if (caller == 'noproblems') { |
|
if ((value == null ) || (value == '') || (value == undefined)) { |
|
if (document.forms.$formname.noproblems.checked) { |
|
document.forms.$formname.allproblems.checked = false; |
|
value = false; |
|
} else { |
|
return; |
|
} |
|
} |
|
} |
|
for (i=0; i<document.forms.$formname.elements.length; i++) { |
for (i=0; i<document.forms.$formname.elements.length; i++) { |
ele = document.forms.$formname.elements[i]; |
ele = document.forms.$formname.elements[i]; |
if (ele.name == '$inputname') { |
if (ele.name == '$inputname') { |
if ((seqid != null) && (seqid != '') && (seqid != undefined)) { |
if (seqid != null) { |
itemid = document.forms.$formname.elements[i].id; |
itemid = document.forms.$formname.elements[i].id; |
thing = itemid.split(':'); |
thing = itemid.split(':'); |
if (thing[0] == seqid) { |
if (thing[0] == seqid) { |
Line 278 sub MultipleProblemSelector {
|
Line 260 sub MultipleProblemSelector {
|
</script> |
</script> |
END |
END |
$Str .= |
$Str .= |
'<label><input type="checkbox" name="allproblems" value="true" onclick="javascript:checkall('."'','','allproblems'".')" />'.&mt('Select All').'</label>'. |
'<a href="javascript:checkall(true)">'.&mt('Select All').'</a>'. |
(' 'x4). |
(' 'x4). |
'<label><input type="checkbox" name="noproblems" value="true" onclick="javascript:checkall('."'','','noproblems'".')" />'.&mt('Unselect All').'</label>'; |
'<a href="javascript:checkall(false)">'.&mt('Unselect All').'</a>'; |
$Str .= $/.'<table>'.$/; |
$Str .= $/.'<table>'.$/; |
my ($iterator,$sequence_string,@Accumulator); |
my $iterator = $navmap->getIterator(undef, undef, undef, 1); |
|
my $sequence_string; |
my $seq_id = 0; |
my $seq_id = 0; |
if (&Apache::loncommon::needs_gci_custom()) { |
my @Accumulator = (&new_accumulator($env{'course.'.$cid.'.description'}, |
my $cdom = $env{'course.'.$cid.'.domain'}; |
'', |
my $cnum = $env{'course.'.$cid.'.num'}; |
'', |
my $mapurl = "/uploaded/$cdom/$cnum/default_1261144274.sequence"; |
$seq_id++, |
my $map = $navmap->getResourceByUrl($mapurl); |
$inputname)); |
my $firstResource = $map->map_start(); |
|
my $lastResource = $map->map_finish(); |
|
$iterator = $navmap->getIterator($firstResource,$lastResource,sub { $_[0]->is_problem() },1); |
|
@Accumulator = (&new_accumulator($map->compTitle, |
|
$map->src, |
|
$map->symb, |
|
$seq_id++, |
|
$inputname)); |
|
} else { |
|
$iterator = $navmap->getIterator(undef, undef, undef, 1); |
|
@Accumulator = (&new_accumulator($env{'course.'.$cid.'.description'}, |
|
'', |
|
'', |
|
$seq_id++, |
|
$inputname)); |
|
} |
|
my @Sequence_Data; |
my @Sequence_Data; |
while (my $curRes = $iterator->next()) { |
while (my $curRes = $iterator->next()) { |
if ($curRes == $iterator->END_MAP) { |
if ($curRes == $iterator->END_MAP) { |
Line 323 END
|
Line 290 END
|
$seq_id++, |
$seq_id++, |
$inputname)); |
$inputname)); |
} elsif ($curRes->is_problem) { |
} elsif ($curRes->is_problem) { |
my $is_selected; |
|
if (($env{'form.allproblems'}) || (exists($selected->{$curRes->symb}))) { |
|
$is_selected = 1; |
|
} |
|
if (@Accumulator && $Accumulator[-1] ne '') { |
if (@Accumulator && $Accumulator[-1] ne '') { |
&{$Accumulator[-1]}($curRes,$is_selected); |
&{$Accumulator[-1]}($curRes, |
|
exists($selected->{$curRes->symb})); |
} |
} |
} |
} |
} |
} |
Line 502 sub get_prev_curr_next {
|
Line 466 sub get_prev_curr_next {
|
my @resources = &get_resources($navmap,$seq); |
my @resources = &get_resources($navmap,$seq); |
foreach my $res (@resources) { |
foreach my $res (@resources) { |
foreach my $part (@{$res->parts}) { |
foreach my $part (@{$res->parts}) { |
if ($res->is_survey($part) && ($granularity eq 'part_survey')){ |
if (($res->is_survey($part) || ($res->is_anonsurvey($part))) && |
|
($granularity eq 'part_survey')) { |
push (@Resource, |
push (@Resource, |
{ symb => $res->symb, |
{ symb => $res->symb, |
part => $part, |
part => $part, |