[LON-CAPA-cvs] cvs: loncom /interface portfolio.pm
banghart
lon-capa-cvs@mail.lon-capa.org
Tue, 12 Apr 2005 01:15:46 -0000
banghart Mon Apr 11 21:15:46 2005 EDT
Modified files:
/loncom/interface portfolio.pm
Log:
Fix problems in file selection for essayresponse
Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.82 loncom/interface/portfolio.pm:1.83
--- loncom/interface/portfolio.pm:1.82 Thu Apr 7 02:56:23 2005
+++ loncom/interface/portfolio.pm Mon Apr 11 21:15:46 2005
@@ -34,8 +34,9 @@
# receives a file name and path stub from username/userfiles/portfolio/
# returns an anchor tag consisting encoding filename and currentpath
sub make_anchor {
- my ($filename, $current_path, $current_mode, $field_name) = @_;
- my $anchor = '<a href="/adm/portfolio?selectfile='.$filename.'¤tpath='.$current_path.'&mode='.$current_mode.'&fieldname='.$field_name.'">'.$filename.'</a>';
+ my ($filename, $current_path, $current_mode, $field_name, $continue_select) = @_;
+ if ($continue_select ne 'true') {$continue_select = 'false'};
+ my $anchor = '<a href="/adm/portfolio?selectfile='.$filename.'¤tpath='.$current_path.'&mode='.$current_mode.'&continue='.$continue_select.'&fieldname='.$field_name.'">'.$filename.'</a>';
return $anchor;
}
my $dirptr=16384;
@@ -65,12 +66,12 @@
$r->print($displayOut);
$r->print('</td></tr></table>');
my @tree = split (/\//,$current_path);
- $r->print('<font size="+2">'.&make_anchor('portfolio','/',$env{"form.mode"},$env{"form.fieldname"}).'/');
+ $r->print('<font size="+2">'.&make_anchor('portfolio','/',$env{"form.mode"},$env{"form.fieldname"},$env{"form.continue"}).'/');
if (@tree > 1){
my $newCurrentPath = '';
for (my $i = 1; $i< @tree; $i++){
$newCurrentPath .= $tree[$i].'/';
- $r->print(&make_anchor($tree[$i],'/'.$newCurrentPath, $env{"form.mode"},$env{"form.fieldname"}).'/');
+ $r->print(&make_anchor($tree[$i],'/'.$newCurrentPath, $env{"form.mode"},$env{"form.fieldname"}, $env{"form.continue"}).'/');
}
}
$r->print('</font>');
@@ -132,12 +133,12 @@
$r->print('<tr bgcolor="#FFAA99"><td colspan="2"><img src="'.$iconpath.'folder_closed.gif"></td>');
}
$r->print('<td>Go to ...</td>');
- $r->print('<td>'.&make_anchor($filename.'/',$current_path.$filename.'/',$env{'form.mode'},$env{"form.fieldname"}).'</td>');
+ $r->print('<td>'.&make_anchor($filename.'/',$current_path.$filename.'/',$env{'form.mode'},$env{"form.fieldname"},$env{'form.continue'}).'</td>');
$r->print('</tr>');
} else {
$r->print('<tr bgcolor="#CCCCFF">');
if ($select_mode eq 'true'){
- $r->print('<td><input type="checkbox" name="selectfile" value="'.$filename.'"');
+ $r->print('<td><input type="checkbox" name="checkfile" value="'.$filename.'"');
if ($$checked_files{$filename} eq 'selected') {
$r->print("CHECKED");
}
@@ -351,13 +352,15 @@
if ($env{'form.continue'} eq 'true') {
# here we update the selections for the currentpath
# eventually, have to handle removing those not checked, but . . .
- my @items=&Apache::loncommon::get_env_multiple('form.selectfile');
- &Apache::lonnet::save_selected_files($env{'user.name'}, $env{'form.currentpath'}, @items);
+ my @items=&Apache::loncommon::get_env_multiple('form.checkfile');
+ if (scalar(@items)){
+ &Apache::lonnet::logthis("one of the items is $items[0]");
+ &Apache::lonnet::save_selected_files($env{'user.name'}, $env{'form.currentpath'}, @items);
+ }
} else {
- if ($env{'form.currentpath'} eq '/') {
#empty the file for a fresh start
- # &Apache::lonnet::clear_selected_files($env{'user.name'});
- }
+ &Apache::lonnet::logthis("Clearing saved files");
+ &Apache::lonnet::clear_selected_files($env{'user.name'});
}
my @files = &Apache::lonnet::files_not_in_path($env{'user.name'}, $env{'form.currentpath'});
my $java_files = join ",", @files;
@@ -497,7 +500,7 @@
'/userfiles/portfolio';
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['selectfile','currentpath','meta','lockinfo',
- 'currentfile','action','fieldname','mode','rename']);
+ 'currentfile','action','fieldname','mode','rename','continue']);
&Apache::loncommon::no_cache($r);
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;