version 1.148, 2002/11/21 19:50:49
|
version 1.149, 2002/11/22 19:21:59
|
Line 1317 END
|
Line 1317 END
|
# Print out template row |
# Print out template row |
#################################### |
#################################### |
my ($rowlabel,@rowdata) = &get_row($sheet,'-'); |
my ($rowlabel,@rowdata) = &get_row($sheet,'-'); |
my $row_html = '<tr><td>'.&format_html_rowlabel($rowlabel).'</td>'; |
my $row_html = '<tr><td>'.&format_html_rowlabel($sheet,$rowlabel).'</td>'; |
my $num_cols_output = 0; |
my $num_cols_output = 0; |
foreach my $cell (@rowdata) { |
foreach my $cell (@rowdata) { |
if ($num_cols_output++ < $num_uneditable) { |
if ($num_cols_output++ < $num_uneditable) { |
Line 1335 END
|
Line 1335 END
|
# Print out summary/export row |
# Print out summary/export row |
#################################### |
#################################### |
my ($rowlabel,@rowdata) = &get_row($sheet,'0'); |
my ($rowlabel,@rowdata) = &get_row($sheet,'0'); |
$row_html = '<tr><td>'.&format_html_rowlabel($rowlabel).'</td>'; |
$row_html = '<tr><td>'.&format_html_rowlabel($sheet,$rowlabel).'</td>'; |
$num_cols_output = 0; |
$num_cols_output = 0; |
foreach my $cell (@rowdata) { |
foreach my $cell (@rowdata) { |
if ($num_cols_output++ < 26) { |
if ($num_cols_output++ < 26) { |
Line 1381 END
|
Line 1381 END
|
'</font></b></td>'; |
'</font></b></td>'; |
# |
# |
if ($sheet->{'sheettype'} eq 'classcalc') { |
if ($sheet->{'sheettype'} eq 'classcalc') { |
$row_html.='<td>'.&format_html_rowlabel($rowlabel).'</td>'; |
$row_html.='<td>'.&format_html_rowlabel($sheet,$rowlabel).'</td>'; |
# Output links for each student? |
# Output links for each student? |
# Nope, that is already done for us in format_html_rowlabel (for now) |
# Nope, that is already done for us in format_html_rowlabel (for now) |
} elsif ($sheet->{'sheettype'} eq 'studentcalc') { |
} elsif ($sheet->{'sheettype'} eq 'studentcalc') { |
$row_html.='<td>'.&format_html_rowlabel($rowlabel); |
$row_html.='<td>'.&format_html_rowlabel($sheet,$rowlabel); |
$row_html.= '<br>'. |
$row_html.= '<br>'. |
'<select name="sel_'.$rownum.'" '. |
'<select name="sel_'.$rownum.'" '. |
'onChange="changesheet('.$rownum.')">'. |
'onChange="changesheet('.$rownum.')">'. |
Line 1399 END
|
Line 1399 END
|
} |
} |
$row_html.='</select></td>'; |
$row_html.='</select></td>'; |
} elsif ($sheet->{'sheettype'} eq 'assesscalc') { |
} elsif ($sheet->{'sheettype'} eq 'assesscalc') { |
$row_html.='<td>'.&format_html_rowlabel($rowlabel).'</td>'; |
$row_html.='<td>'.&format_html_rowlabel($sheet,$rowlabel).'</td>'; |
} |
} |
# |
# |
my $shown_cells = 0; |
my $shown_cells = 0; |
Line 1469 sub outsheet_csv {
|
Line 1469 sub outsheet_csv {
|
foreach my $rownum (@Rows) { |
foreach my $rownum (@Rows) { |
my ($rowlabel,@rowdata) = &get_row($sheet,$rownum); |
my ($rowlabel,@rowdata) = &get_row($sheet,$rownum); |
next if ($rowlabel =~ /^\s*$/); |
next if ($rowlabel =~ /^\s*$/); |
push (@Values,&format_csv_rowlabel($rowlabel)); |
push (@Values,&format_csv_rowlabel($sheet,$rowlabel)); |
foreach my $cell (@rowdata) { |
foreach my $cell (@rowdata) { |
push (@Values,'"'.$cell->{'value'}.'"'); |
push (@Values,'"'.$cell->{'value'}.'"'); |
} |
} |
Line 1638 sub export_sheet_as_excel {
|
Line 1638 sub export_sheet_as_excel {
|
# Write the summary/export row # |
# Write the summary/export row # |
#################################### |
#################################### |
my ($rowlabel,@rowdata) = &get_row($sheet,'0'); |
my ($rowlabel,@rowdata) = &get_row($sheet,'0'); |
my $label = &format_excel_rowlabel($rowlabel); |
my $label = &format_excel_rowlabel($sheet,$rowlabel); |
$cols_output = 0; |
$cols_output = 0; |
$worksheet->write($rows_output,$cols_output++,$label); |
$worksheet->write($rows_output,$cols_output++,$label); |
foreach my $cell (@rowdata) { |
foreach my $cell (@rowdata) { |
Line 1655 sub export_sheet_as_excel {
|
Line 1655 sub export_sheet_as_excel {
|
my ($rowlabel,@rowdata) = &get_row($sheet,$rownum); |
my ($rowlabel,@rowdata) = &get_row($sheet,$rownum); |
next if ($rowlabel =~ /^[\s]*$/); |
next if ($rowlabel =~ /^[\s]*$/); |
$cols_output = 0; |
$cols_output = 0; |
my $label = &format_excel_rowlabel($rowlabel); |
my $label = &format_excel_rowlabel($sheet,$rowlabel); |
if ( ! $ENV{'form.showall'} && |
if ( ! $ENV{'form.showall'} && |
$sheet->{'sheettype'} =~ /^(studentcalc|classcalc)$/) { |
$sheet->{'sheettype'} =~ /^(studentcalc|classcalc)$/) { |
my $row_is_empty = 1; |
my $row_is_empty = 1; |
Line 2052 sub parmval {
|
Line 2052 sub parmval {
|
## Row label formatting routines ## |
## Row label formatting routines ## |
################################################################## |
################################################################## |
sub format_html_rowlabel { |
sub format_html_rowlabel { |
|
my $sheet = shift; |
my $rowlabel = shift; |
my $rowlabel = shift; |
return '' if ($rowlabel eq ''); |
return '' if ($rowlabel eq ''); |
my ($type,$labeldata) = split(':',$rowlabel,2); |
my ($type,$labeldata) = split(':',$rowlabel,2); |
my $result = ''; |
my $result = ''; |
if ($type eq 'symb') { |
if ($type eq 'symb') { |
my ($symb,$uname,$udom,$mapid,$resid,$title) = split(':',$labeldata); |
my ($symb,$mapid,$resid,$title) = split(':',$labeldata); |
$symb = &Apache::lonnet::unescape($symb); |
$symb = &Apache::lonnet::unescape($symb); |
$result = '<a href="/adm/assesscalc?usymb='.$symb. |
$result = '<a href="/adm/assesscalc?usymb='.$symb. |
'&uname='.$uname.'&udom='.$udom. |
'&uname='.$sheet->{'uname'}.'&udom='.$sheet->{'udom'}. |
'&mapid='.$mapid.'&resid='.$resid.'">'.$title.'</a>'; |
'&mapid='.$mapid.'&resid='.$resid.'">'.$title.'</a>'; |
} elsif ($type eq 'student') { |
} elsif ($type eq 'student') { |
my ($sname,$sdom,$fullname,$section,$id) = split(':',$labeldata); |
my ($sname,$sdom,$fullname,$section,$id) = split(':',$labeldata); |
Line 2079 sub format_html_rowlabel {
|
Line 2080 sub format_html_rowlabel {
|
} |
} |
|
|
sub format_csv_rowlabel { |
sub format_csv_rowlabel { |
|
my $sheet = shift; |
my $rowlabel = shift; |
my $rowlabel = shift; |
return '' if ($rowlabel eq ''); |
return '' if ($rowlabel eq ''); |
my ($type,$labeldata) = split(':',$rowlabel,2); |
my ($type,$labeldata) = split(':',$rowlabel,2); |
my $result = ''; |
my $result = ''; |
if ($type eq 'symb') { |
if ($type eq 'symb') { |
my ($symb,$uname,$udom,$mapid,$resid,$title) = split(':',$labeldata); |
my ($symb,$mapid,$resid,$title) = split(':',$labeldata); |
$symb = &Apache::lonnet::unescape($symb); |
$symb = &Apache::lonnet::unescape($symb); |
$result = $title; |
$result = $title; |
} elsif ($type eq 'student') { |
} elsif ($type eq 'student') { |
Line 2100 sub format_csv_rowlabel {
|
Line 2102 sub format_csv_rowlabel {
|
} |
} |
|
|
sub format_excel_rowlabel { |
sub format_excel_rowlabel { |
|
my $sheet = shift; |
my $rowlabel = shift; |
my $rowlabel = shift; |
return '' if ($rowlabel eq ''); |
return '' if ($rowlabel eq ''); |
my ($type,$labeldata) = split(':',$rowlabel,2); |
my ($type,$labeldata) = split(':',$rowlabel,2); |
my $result = ''; |
my $result = ''; |
if ($type eq 'symb') { |
if ($type eq 'symb') { |
my ($symb,$uname,$udom,$mapid,$resid,$title) = split(':',$labeldata); |
my ($symb,$mapid,$resid,$title) = split(':',$labeldata); |
$symb = &Apache::lonnet::unescape($symb); |
$symb = &Apache::lonnet::unescape($symb); |
$result = $title; |
$result = $title; |
} elsif ($type eq 'student') { |
} elsif ($type eq 'student') { |
Line 2217 sub get_student_rowlabels {
|
Line 2220 sub get_student_rowlabels {
|
my %assesslist; |
my %assesslist; |
foreach ('Feedback','Evaluation','Tutoring','Discussion') { |
foreach ('Feedback','Evaluation','Tutoring','Discussion') { |
my $symb = '_'.lc($_); |
my $symb = '_'.lc($_); |
$assesslist{$symb} = join(':',('symb',$symb,$uname,$udom,0,0,$_)); |
$assesslist{$symb} = join(':',('symb',$symb,0,0,$_)); |
} |
} |
# |
# |
while (my ($key,$srcf) = each(%course_db)) { |
while (my ($key,$srcf) = each(%course_db)) { |
Line 2230 sub get_student_rowlabels {
|
Line 2233 sub get_student_rowlabels {
|
&Apache::lonnet::declutter($course_db{'map_id_'.$mapid}). |
&Apache::lonnet::declutter($course_db{'map_id_'.$mapid}). |
'___'.$resid.'___'.&Apache::lonnet::declutter($srcf); |
'___'.$resid.'___'.&Apache::lonnet::declutter($srcf); |
$assesslist{$symb}='symb:'.&Apache::lonnet::escape($symb).':' |
$assesslist{$symb}='symb:'.&Apache::lonnet::escape($symb).':' |
.$uname.':'.$udom.':'.$mapid.':'.$resid.':'. |
.$mapid.':'.$resid.':'.$course_db{'title_'.$id}; |
$course_db{'title_'.$id}; |
|
} |
} |
} |
} |
untie(%course_db); |
untie(%course_db); |