[LON-CAPA-cvs] cvs: loncom /interface lonmeta.pm
raeburn
lon-capa-cvs@mail.lon-capa.org
Fri, 23 Jun 2006 00:28:43 -0000
raeburn Thu Jun 22 20:28:43 2006 EDT
Modified files:
/loncom/interface lonmeta.pm
Log:
Store metadata for course group portfolio files in the correct place.
Index: loncom/interface/lonmeta.pm
diff -u loncom/interface/lonmeta.pm:1.158 loncom/interface/lonmeta.pm:1.159
--- loncom/interface/lonmeta.pm:1.158 Wed May 31 13:44:14 2006
+++ loncom/interface/lonmeta.pm Thu Jun 22 20:28:43 2006
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Metadata display handler
#
-# $Id: lonmeta.pm,v 1.158 2006/05/31 17:44:14 www Exp $
+# $Id: lonmeta.pm,v 1.159 2006/06/23 00:28:43 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1247,22 +1247,13 @@
'<>&"').
'</'.$tag.'>';
}
- if ($fn =~ m|/portfolio/|) {
+ if ($fn =~ m|^$Apache::lonnet::perlvar{'lonDocRoot'}/userfiles/portfolio/|) {
my ($path, $new_fn) = ($fn =~ m|/(portfolio.*)/([^/]*)$|);
- $env{'form.'.$formname}=$file_content."\n";
- $env{'form.'.$formname.'.filename'}=$new_fn;
- my $result =&Apache::lonnet::userfileupload($formname,'',
- $path);
-
- if ($result =~ /(error|notfound)/) {
- $r->print('<p><font color="red">'.
- &mt('Could not write metadata').', '.
- &mt('FAIL').'</font></p>');
- } else {
- $r->print('<p><font color="blue">'.&mt('Wrote Metadata').
- ' '.&Apache::lonlocal::locallocaltime(time).
- '</font></p>');
- }
+ $r->print(&store_portfolio_metadata($formname,$file_content,$path,
+ $new_fn));
+ } elsif ($fn =~ m|^$Apache::lonnet::perlvar{'lonDocRoot'}/userfiles/groups/\w+/portfolio/|) {
+ my ($path, $new_fn) = ($fn =~ m|/(groups/\w+/portfolio.*)/([^/]*)$|);
+ $r->print(&store_portfolio_metadata($formname,$file_content,$path,$new_fn));
} else {
if (! ($mfh=Apache::File->new('>'.$fn))) {
$r->print('<p><font color="red">'.
@@ -1282,6 +1273,9 @@
if ($file_type eq 'portfolio') {
my ($port_path,$group) = &get_port_path_and_group($uri);
+ if ($group) {
+ $r->print('<input type="hidden" name="group" value="'.$group.'" />');
+ }
$r->print('</form>
<br /><br /><form method="POST" action="'.$port_path.'">'.
'<input type="hidden" name="group" value="'.$group.'" />'.
@@ -1295,7 +1289,21 @@
return;
}
+sub store_portfolio_metadata {
+ my ($formname,$content,$path,$new_fn) = @_;
+ $env{'form.'.$formname}=$content."\n";
+ $env{'form.'.$formname.'.filename'}=$new_fn;
+ my $result =&Apache::lonnet::userfileupload($formname,'',$path);
+ if ($result =~ /(error|notfound)/) {
+ return '<p><font color="red">'.
+ &mt('Could not write metadata').', '.
+ &mt('FAIL').'</font></p>';
+ } else {
+ return '<p><font color="blue">'.&mt('Wrote Metadata').
+ ' '.&Apache::lonlocal::locallocaltime(time).'</font></p>';
+ }
+}
+
1;
__END__
-