--- loncom/interface/lonmeta.pm 2005/12/19 21:33:54 1.145
+++ loncom/interface/lonmeta.pm 2005/12/19 21:56:07 1.147
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Metadata display handler
#
-# $Id: lonmeta.pm,v 1.145 2005/12/19 21:33:54 albertel Exp $
+# $Id: lonmeta.pm,v 1.147 2005/12/19 21:56:07 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -290,8 +290,23 @@ sub fieldnames {
return &Apache::lonlocal::texthash(%fields);
}
+sub portfolio_linked_path {
+ my ($path) = @_;
+ my $result = &Apache::portfolio::make_anchor('portfolio','/');
+ my $fullpath = '/';
+ my (undef,@tree) = split('/',$path);
+ my $filename = pop(@tree);
+ foreach my $dir (@tree) {
+ $fullpath .= $dir.'/';
+ $result .= '/';
+ $result .= &Apache::portfolio::make_anchor($dir,$fullpath);
+ }
+ $result .= "/$filename";
+ return $result;
+}
+
sub portfolio_display_uri {
- my ($uri)=@_;
+ my ($uri,$as_links)=@_;
$uri =~ s|.*/(portfolio/.*)$|$1|;
my ($res_uri,$meta_uri) = ($uri,$uri);
@@ -300,9 +315,13 @@ sub portfolio_display_uri {
} else {
$meta_uri .= '.meta';
}
-
+
my ($path) = ($res_uri =~ m|(.*)/[^/]*$|);
-
+
+ if ($as_links) {
+ $res_uri = &portfolio_linked_path($res_uri);
+ $meta_uri = &portfolio_linked_path($meta_uri);
+ }
return ($res_uri,$meta_uri,$path);
}
@@ -337,7 +356,7 @@ sub select_course {
my %courses;
my $output;
my $selected;
- foreach my $key (keys (%env)) {
+ foreach my $key (keys(%env)) {
if ($key =~ m/\.metadata\./) {
$key =~ m/^course\.(.+)(\.metadata.+$)/;
my $course = $1;
@@ -346,7 +365,6 @@ sub select_course {
$courses{$coursekey} = $value;
}
}
- &Apache::lonnet::logthis('the restricted is'.$Apache::lonpublisher::metadatafields{'courserestricted'});
my $meta_not_found = 1;
if ($Apache::lonpublisher::metadatafields{'courserestricted'} eq 'none') {
$selected = ' SELECTED ';
@@ -1053,8 +1071,9 @@ sub present_editable_metadata {
$disuri=~s/^\/\~/\/priv\//;
$disuri=~s/\.meta$//;
my $meta_uri = $disuri;
+ my $path;
if ($disuri =~ m|/portfolio/|) {
- ($disuri, $meta_uri) = &portfolio_display_uri($disuri);
+ ($disuri, $meta_uri, $path) = &portfolio_display_uri($disuri,1);
}
my $target=$uri;
$target=~s/^\/\~/\/res\/$env{'request.role.domain'}\//;
@@ -1208,7 +1227,6 @@ ENDEDIT
'<>&"').
''.$tag.'>';
}
- &Apache::lonnet::logthis(" file ".$file_content);
if ($fn =~ m|/portfolio/|) {
my ($path, $new_fn) = ($fn =~ m|/(portfolio.*)/([^/]*)$|);
$env{'form.'.$formname}=$file_content."\n";
@@ -1241,7 +1259,12 @@ ENDEDIT
$r->print($output.'
');
-
+
+ $r->print('
+