version 1.303, 2006/01/17 23:09:50
|
version 1.305, 2006/01/27 00:26:18
|
Line 2049 sub processHandGrade {
|
Line 2049 sub processHandGrade {
|
# if multiple files are uploaded names will be 'returndoc2', 'returndoc3' |
# if multiple files are uploaded names will be 'returndoc2', 'returndoc3' |
my $file_counter = 1; |
my $file_counter = 1; |
while ($env{'form.returndoc'.$file_counter}) { |
while ($env{'form.returndoc'.$file_counter}) { |
|
my $fname=$env{'form.returndoc'.$file_counter.'.filename'}; |
|
$request->print("<br />".$fname." will be the uploaded file name"); |
$request->print("<font color=\"red\">Will upload document</font>".$env{'form.returndocorig'.$file_counter}); |
$request->print("<font color=\"red\">Will upload document</font>".$env{'form.returndocorig'.$file_counter}); |
$file_counter ++; |
$file_counter ++; |
} |
} |
Line 2301 sub saveHandGrade {
|
Line 2303 sub saveHandGrade {
|
"$env{'user.name'}:$env{'user.domain'}"; |
"$env{'user.name'}:$env{'user.domain'}"; |
} |
} |
# unless problem has been graded, set flag to version the submitted files |
# unless problem has been graded, set flag to version the submitted files |
unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/ || $record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override') { |
unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/ || |
|
$record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override' || |
|
$dropMenu eq 'reset status') |
|
{ |
push (@v_flag,$new_part); |
push (@v_flag,$new_part); |
} |
} |
} |
} |
Line 2407 sub version_portfiles {
|
Line 2412 sub version_portfiles {
|
if ($key =~ /^resource\.($version_parts)\./ && $key =~ /\.portfiles$/ ) { |
if ($key =~ /^resource\.($version_parts)\./ && $key =~ /\.portfiles$/ ) { |
my @v_portfiles; |
my @v_portfiles; |
my @portfiles = split(/,/,$$record{$key}); |
my @portfiles = split(/,/,$$record{$key}); |
&Apache::lonnet::logthis("should be unmarking and remarking $key",@portfiles); |
|
foreach my $file (@portfiles) { |
foreach my $file (@portfiles) { |
&Apache::lonnet::unmark_as_readonly($domain,$stuname,[$symb,$env{'request.course.id'}],$file); |
&Apache::lonnet::unmark_as_readonly($domain,$stuname,[$symb,$env{'request.course.id'}],$file); |
my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*$)/); |
my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*)$/); |
my $version = 0; |
my $version = 0; |
my @answer_file_parts = split(/\./, $answer_file); |
my ($answer_name,$answer_ver,$answer_ext) = |
|
&file_name_version_ext($answer_file); |
my @dir_list = &Apache::lonnet::dirlist($directory,$domain,$stuname,$portfolio_root); |
my @dir_list = &Apache::lonnet::dirlist($directory,$domain,$stuname,$portfolio_root); |
my @file_names; |
|
my @file_name_parts; |
|
foreach my $row (@dir_list) { |
foreach my $row (@dir_list) { |
@file_names = split(/\&/,$row,2); |
my ($file) = split(/\&/,$row,2); |
@file_name_parts = split(/\./, $file_names[0]); |
my ($file_name,$file_version,$file_ext) = |
# ($file_name_parts[scalar @file_name_parts] eq $answer_file_parts[scalar @answer_file_parts]) |
&file_name_version_ext($file); |
if (($file_name_parts[0] eq $answer_file_parts[0]) && |
if (($file_name eq $answer_name) && |
($file_name_parts[-1] eq $answer_file_parts[-1])) { |
($file_ext eq $answer_ext)) { |
# gets here if filename and extension match, regardless of version |
# gets here if filename and extension match, regardless of version |
if (scalar @file_name_parts == 3) { # a versioned file is found |
if ($file_version ne '') { |
# so save it for later |
# a versioned file is found so save it for later |
if ($file_name_parts[1] > $version) {$version = $file_name_parts[1]}; |
if ($file_version > $version) { |
|
$version = $file_version; |
|
} |
} |
} |
} |
} |
} |
} |
Line 2434 sub version_portfiles {
|
Line 2439 sub version_portfiles {
|
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,'copy', |
my $new_answer = $answer_name.'.'.$version.'.'.$answer_ext; |
'/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
my $copy_result = &Apache::lonnet::finishuserfileupload( |
push(@v_portfiles, $directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
$stuname,$domain,'copy', |
|
'/portfolio'.$directory.$new_answer); |
|
push(@v_portfiles, $directory.$new_answer); |
&Apache::lonnet::mark_as_readonly($domain,$stuname, |
&Apache::lonnet::mark_as_readonly($domain,$stuname, |
['/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]], |
['/portfolio'.$directory.$new_answer], |
[$symb,$env{'request.course.id'},'graded']); |
[$symb,$env{'request.course.id'},'graded']); |
} |
} |
} |
} |
Line 2446 sub version_portfiles {
|
Line 2453 sub version_portfiles {
|
} |
} |
} |
} |
return 'ok'; |
return 'ok'; |
|
} |
|
|
|
sub version_selected_portfile { |
|
my ($file_name,$domain,$stu_name) = @_; |
|
return 'ok'; |
|
} |
|
|
|
sub file_name_version_ext { |
|
my ($file)=@_; |
|
my @file_parts = split(/\./, $file); |
|
my ($name,$version,$ext); |
|
if (@file_parts > 1) { |
|
$ext=pop(@file_parts); |
|
if (@file_parts > 1 && $file_parts[-1] =~ /^\d+$/) { |
|
$version=pop(@file_parts); |
|
} |
|
$name=join('.',@file_parts); |
|
} else { |
|
$name=join('.',@file_parts); |
|
} |
|
return($name,$version,$ext); |
} |
} |
|
|
#-------------------------------------------------------------------------------------- |
#-------------------------------------------------------------------------------------- |