version 1.273, 2005/06/04 19:05:31
|
version 1.275, 2005/06/13 20:23:54
|
Line 2321 sub version_portfiles {
|
Line 2321 sub version_portfiles {
|
} |
} |
} |
} |
$version++; |
$version++; |
my $home_server = &Apache::lonnet::homeserver($stuname,$domain,undef); |
|
$env{'form.copy'} = &Apache::lonnet::getfile("/uploaded/$domain/$stuname/portfolio$directory$answer_file"); |
$env{'form.copy'} = &Apache::lonnet::getfile("/uploaded/$domain/$stuname/portfolio$directory$answer_file"); |
if($env{'form.copy'} eq '-1') { |
if($env{'form.copy'} eq '-1') { |
&Apache::lonnet::logthis('problem getting file '.$directory.$answer_file); |
&Apache::lonnet::logthis('problem getting file '.$directory.$answer_file); |
} else { |
} else { |
my $copy_result = &Apache::lonnet::finishuserfileupload($stuname,$domain,$home_server,'copy', |
my $copy_result = &Apache::lonnet::finishuserfileupload($stuname,$domain,'copy', |
'/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
'/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
push(@v_portfiles, $answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
push(@v_portfiles, $answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
&Apache::lonnet::mark_as_readonly($domain,$stuname, |
&Apache::lonnet::mark_as_readonly($domain,$stuname, |
Line 4108 sub scantron_fixup_scanline {
|
Line 4107 sub scantron_fixup_scanline {
|
&scan_data($scan_data, |
&scan_data($scan_data, |
"$whichline.no_bubble.".$args->{'question'},'1'); |
"$whichline.no_bubble.".$args->{'question'},'1'); |
} else { |
} else { |
substr($answer,$args->{'response'},1)=$on; |
if ($on eq 'letter') { |
|
my @alphabet=('A'..'Z'); |
|
$answer=$alphabet[$args->{'response'}]; |
|
} elsif ($on eq 'number') { |
|
$answer=$args->{'response'}+1; |
|
} else { |
|
substr($answer,$args->{'response'},1)=$on; |
|
} |
&scan_data($scan_data, |
&scan_data($scan_data, |
"$whichline.no_bubble.".$args->{'question'},undef,'1'); |
"$whichline.no_bubble.".$args->{'question'},undef,'1'); |
} |
} |
Line 4169 sub scantron_parse_scanline {
|
Line 4175 sub scantron_parse_scanline {
|
substr($questions,0,$$scantron_config{'Qlength'})=''; |
substr($questions,0,$$scantron_config{'Qlength'})=''; |
if (length($currentquest) < $$scantron_config{'Qlength'}) { next; } |
if (length($currentquest) < $$scantron_config{'Qlength'}) { next; } |
if ($$scantron_config{'Qon'} eq 'letter') { |
if ($$scantron_config{'Qon'} eq 'letter') { |
if (!$currentquest || $currentquest eq $$scantron_config{'Qoff'} || |
if ($currentquest eq '?') { |
$currentquest !~ /^[A-Z]$/) { |
push(@{$record{'scantron.doubleerror'}},$questnum); |
|
$record{"scantron.$questnum.answer"}=''; |
|
} elsif (!$currentquest |
|
|| $currentquest eq $$scantron_config{'Qoff'} |
|
|| $currentquest !~ /^[A-Z]$/) { |
$record{"scantron.$questnum.answer"}=''; |
$record{"scantron.$questnum.answer"}=''; |
if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) { |
if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) { |
push(@{$record{"scantron.missingerror"}},$questnum); |
push(@{$record{"scantron.missingerror"}},$questnum); |
Line 4179 sub scantron_parse_scanline {
|
Line 4189 sub scantron_parse_scanline {
|
$record{"scantron.$questnum.answer"}=$currentquest; |
$record{"scantron.$questnum.answer"}=$currentquest; |
} |
} |
} elsif ($$scantron_config{'Qon'} eq 'number') { |
} elsif ($$scantron_config{'Qon'} eq 'number') { |
if (!$currentquest || $currentquest eq $$scantron_config{'Qoff'} || |
if ($currentquest eq '?') { |
$currentquest !~ /^\d$/) { |
push(@{$record{'scantron.doubleerror'}},$questnum); |
|
$record{"scantron.$questnum.answer"}=''; |
|
} elsif (!$currentquest |
|
|| $currentquest eq $$scantron_config{'Qoff'} |
|
|| $currentquest !~ /^\d$/) { |
$record{"scantron.$questnum.answer"}=''; |
$record{"scantron.$questnum.answer"}=''; |
if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) { |
if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) { |
push(@{$record{"scantron.missingerror"}},$questnum); |
push(@{$record{"scantron.missingerror"}},$questnum); |
Line 4565 sub lonnet_putfile {
|
Line 4579 sub lonnet_putfile {
|
my ($contents,$filename)=@_; |
my ($contents,$filename)=@_; |
my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $docuhome=$env{'course.'.$env{'request.course.id'}.'.home'}; |
|
$env{'form.sillywaytopassafilearound'}=$contents; |
$env{'form.sillywaytopassafilearound'}=$contents; |
&Apache::lonnet::finishuserfileupload($docuname,$docudom,$docuhome,'sillywaytopassafilearound',$filename); |
&Apache::lonnet::finishuserfileupload($docuname,$docudom,'sillywaytopassafilearound',$filename); |
|
|
} |
} |
|
|
Line 4804 ENDSCRIPT
|
Line 4817 ENDSCRIPT
|
sub scantron_bubble_selector { |
sub scantron_bubble_selector { |
my ($r,$scan_config,$quest,@selected)=@_; |
my ($r,$scan_config,$quest,@selected)=@_; |
my $max=$$scan_config{'Qlength'}; |
my $max=$$scan_config{'Qlength'}; |
|
|
|
my $scmode=$$scan_config{'Qon'}; |
|
if ($scmode eq 'number' || $scmode eq 'letter') { $max=10; } |
|
|
my @alphabet=('A'..'Z'); |
my @alphabet=('A'..'Z'); |
$r->print("<table border='1'><tr><td rowspan='2'>$quest</td>"); |
$r->print("<table border='1'><tr><td rowspan='2'>$quest</td>"); |
for (my $i=0;$i<$max+1;$i++) { |
for (my $i=0;$i<$max+1;$i++) { |
$r->print('<td align="center">'); |
$r->print("\n".'<td align="center">'); |
if ($selected[0] eq $alphabet[$i]) { $r->print('X'); shift(@selected) } |
if ($selected[0] eq $alphabet[$i]) { $r->print('X'); shift(@selected) } |
else { $r->print(' '); } |
else { $r->print(' '); } |
$r->print('</td>'); |
$r->print('</td>'); |
} |
} |
$r->print('<td></td></tr><tr>'); |
$r->print('</tr><tr>'); |
for (my $i=0;$i<$max;$i++) { |
for (my $i=0;$i<$max;$i++) { |
$r->print('<td><label><input type="radio" name="scantron_correct_Q_'. |
$r->print("\n". |
|
'<td><label><input type="radio" name="scantron_correct_Q_'. |
$quest.'" value="'.$i.'" />'.$alphabet[$i]."</label></td>"); |
$quest.'" value="'.$i.'" />'.$alphabet[$i]."</label></td>"); |
} |
} |
$r->print('<td><label><input type="radio" name="scantron_correct_Q_'. |
$r->print('<td><label><input type="radio" name="scantron_correct_Q_'. |
Line 5138 sub scantron_upload_scantron_data_save {
|
Line 5156 sub scantron_upload_scantron_data_save {
|
} |
} |
my %coursedata=&Apache::lonnet::coursedescription($env{'form.domainid'}.'_'.$env{'form.courseid'}); |
my %coursedata=&Apache::lonnet::coursedescription($env{'form.domainid'}.'_'.$env{'form.courseid'}); |
$r->print("Doing upload to ".$coursedata{'description'}." <br />"); |
$r->print("Doing upload to ".$coursedata{'description'}." <br />"); |
my $home=&Apache::lonnet::homeserver($env{'form.courseid'}, |
|
$env{'form.domainid'}); |
|
my $fname=$env{'form.upfile.filename'}; |
my $fname=$env{'form.upfile.filename'}; |
#FIXME |
#FIXME |
#copied from lonnet::userfileupload() |
#copied from lonnet::userfileupload() |
Line 5159 sub scantron_upload_scantron_data_save {
|
Line 5175 sub scantron_upload_scantron_data_save {
|
if (length($env{'form.upfile'}) < 2) { |
if (length($env{'form.upfile'}) < 2) { |
$r->print("<font color='red'>Error:</font> The file you attempted to upload, <tt>".&HTML::Entities::encode($env{'form.upfile.filename'},'<>&"')."</tt>, contained no information. Please check that you entered the correct filename."); |
$r->print("<font color='red'>Error:</font> The file you attempted to upload, <tt>".&HTML::Entities::encode($env{'form.upfile.filename'},'<>&"')."</tt>, contained no information. Please check that you entered the correct filename."); |
} else { |
} else { |
my $result=&Apache::lonnet::finishuserfileupload($env{'form.courseid'},$env{'form.domainid'},$home,'upfile',$fname); |
my $result=&Apache::lonnet::finishuserfileupload($env{'form.courseid'},$env{'form.domainid'},'upfile',$fname); |
if ($result =~ m|^/uploaded/|) { |
if ($result =~ m|^/uploaded/|) { |
$r->print("<font color='green'>Success:</font> Successfully uploaded ".(length($env{'form.upfile'})-1)." bytes of data into location <tt>".$result."</tt>"); |
$r->print("<font color='green'>Success:</font> Successfully uploaded ".(length($env{'form.upfile'})-1)." bytes of data into location <tt>".$result."</tt>"); |
} else { |
} else { |