version 1.306, 2006/01/27 01:52:25
|
version 1.307, 2006/01/27 23:53:11
|
Line 2418 sub version_portfiles {
|
Line 2418 sub version_portfiles {
|
my ($answer_name,$answer_ver,$answer_ext) = |
my ($answer_name,$answer_ver,$answer_ext) = |
&file_name_version_ext($answer_file); |
&file_name_version_ext($answer_file); |
my @dir_list = &Apache::lonnet::dirlist($directory,$domain,$stu_name,$portfolio_root); |
my @dir_list = &Apache::lonnet::dirlist($directory,$domain,$stu_name,$portfolio_root); |
foreach my $row (@dir_list) { |
$version = &get_next_version($answer_name, $answer_ext, \@dir_list); |
my ($file) = split(/\&/,$row,2); |
|
my ($file_name,$file_version,$file_ext) = |
|
&file_name_version_ext($file); |
|
if (($file_name eq $answer_name) && |
|
($file_ext eq $answer_ext)) { |
|
# gets here if filename and extension match, regardless of version |
|
if ($file_version ne '') { |
|
# a versioned file is found so save it for later |
|
if ($file_version > $version) { |
|
$version = $file_version; |
|
} |
|
} |
|
} |
|
} |
|
$version++; |
|
my $new_answer = &version_selected_portfile($domain, $stu_name, $directory, $answer_file, $version); |
my $new_answer = &version_selected_portfile($domain, $stu_name, $directory, $answer_file, $version); |
if ($new_answer ne 'problem getting file') { |
if ($new_answer ne 'problem getting file') { |
push(@v_portfiles, $directory.$new_answer); |
push(@v_portfiles, $directory.$new_answer); |
Line 2449 sub version_portfiles {
|
Line 2434 sub version_portfiles {
|
return 'ok'; |
return 'ok'; |
} |
} |
|
|
|
sub get_next_version { |
|
my ($answer_name, $answer_ext, $dir_list); |
|
my $version; |
|
foreach my $row (@$dir_list) { |
|
my ($file) = split(/\&/,$row,2); |
|
my ($file_name,$file_version,$file_ext) = |
|
&file_name_version_ext($file); |
|
if (($file_name eq $answer_name) && |
|
($file_ext eq $answer_ext)) { |
|
# gets here if filename and extension match, regardless of version |
|
if ($file_version ne '') { |
|
# a versioned file is found so save it for later |
|
if ($file_version > $version) { |
|
$version = $file_version; |
|
} |
|
} |
|
} |
|
} |
|
$version ++; |
|
return($version); |
|
} |
|
|
sub version_selected_portfile { |
sub version_selected_portfile { |
my ($domain,$stu_name,$directory,$file_name,$version) = @_; |
my ($domain,$stu_name,$directory,$file_name,$version) = @_; |
my ($answer_name,$answer_ver,$answer_ext) = |
my ($answer_name,$answer_ver,$answer_ext) = |