version 1.151, 2006/03/02 20:16:10
|
version 1.155, 2006/05/20 06:34:50
|
Line 296 sub fieldnames {
|
Line 296 sub fieldnames {
|
} |
} |
|
|
sub portfolio_linked_path { |
sub portfolio_linked_path { |
my ($path) = @_; |
my ($path,$group,$port_path) = @_; |
my $result = &Apache::portfolio::make_anchor('portfolio','/'); |
|
|
my $start = 'portfolio'; |
|
if ($group) { |
|
$start = "groups/$group/".$start; |
|
} |
|
my $result = &Apache::portfolio::make_anchor($port_path,$start,'/', |
|
undef,undef,undef,$group); |
|
|
my $fullpath = '/'; |
my $fullpath = '/'; |
my (undef,@tree) = split('/',$path); |
my (undef,@tree) = split('/',$path); |
my $filename = pop(@tree); |
my $filename = pop(@tree); |
foreach my $dir (@tree) { |
foreach my $dir (@tree) { |
$fullpath .= $dir.'/'; |
$fullpath .= $dir.'/'; |
$result .= '/'; |
$result .= '/'; |
$result .= &Apache::portfolio::make_anchor($dir,$fullpath); |
$result .= &Apache::portfolio::make_anchor($port_path,$dir,$fullpath, |
|
undef,undef,undef,$group); |
} |
} |
$result .= "/$filename"; |
$result .= "/$filename"; |
return $result; |
return $result; |
Line 312 sub portfolio_linked_path {
|
Line 320 sub portfolio_linked_path {
|
|
|
sub portfolio_display_uri { |
sub portfolio_display_uri { |
my ($uri,$as_links)=@_; |
my ($uri,$as_links)=@_; |
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my ($port_path,$group); |
|
if ($uri =~ m{^/editupload/\Q$cdom\E/\Q$cnum\E/groups/}) { |
|
$group = (split('/',$uri))[5]; |
|
$port_path = '/adm/coursegrp_portfolio'; |
|
} else { |
|
$port_path = '/adm/portfolio'; |
|
} |
$uri =~ s|.*/(portfolio/.*)$|$1|; |
$uri =~ s|.*/(portfolio/.*)$|$1|; |
my ($res_uri,$meta_uri) = ($uri,$uri); |
my ($res_uri,$meta_uri) = ($uri,$uri); |
|
|
if ($uri =~ /\.meta$/) { |
if ($uri =~ /\.meta$/) { |
$res_uri =~ s/\.meta//; |
$res_uri =~ s/\.meta//; |
} else { |
} else { |
Line 322 sub portfolio_display_uri {
|
Line 338 sub portfolio_display_uri {
|
} |
} |
|
|
my ($path) = ($res_uri =~ m|^portfolio(.*/)[^/]*$|); |
my ($path) = ($res_uri =~ m|^portfolio(.*/)[^/]*$|); |
|
|
if ($as_links) { |
if ($as_links) { |
$res_uri = &portfolio_linked_path($res_uri); |
$res_uri = &portfolio_linked_path($res_uri,$group,$port_path); |
$meta_uri = &portfolio_linked_path($meta_uri); |
$meta_uri = &portfolio_linked_path($meta_uri,$group,$port_path); |
} |
} |
return ($res_uri,$meta_uri,$path); |
return ($res_uri,$meta_uri,$path); |
} |
} |
Line 486 sub prettyprint {
|
Line 501 sub prettyprint {
|
my @Courses = split(/\s*\,\s*/,$value); |
my @Courses = split(/\s*\,\s*/,$value); |
my $Str='<font size="-1"><ul>'; |
my $Str='<font size="-1"><ul>'; |
foreach my $course (@Courses) { |
foreach my $course (@Courses) { |
my %courseinfo = &Apache::lonnet::coursedescription($course); |
my %courseinfo = |
|
&Apache::lonnet::coursedescription($course, |
|
{'one_time' => 1}); |
if (! exists($courseinfo{'num'}) || $courseinfo{'num'} eq '') { |
if (! exists($courseinfo{'num'}) || $courseinfo{'num'} eq '') { |
next; |
next; |
} |
} |
Line 701 sub handler {
|
Line 718 sub handler {
|
# |
# |
my ($resdomain,$resuser)= |
my ($resdomain,$resuser)= |
(&Apache::lonnet::declutter($uri)=~/^(\w+)\/(\w+)\//); |
(&Apache::lonnet::declutter($uri)=~/^(\w+)\/(\w+)\//); |
my $html=&Apache::lonxml::xmlbegin(); |
|
$r->print($html.'<head><title>'. |
|
'Catalog Information'. |
|
'</title></head>'); |
|
if ($uri=~m:/adm/bombs/(.*)$:) { |
if ($uri=~m:/adm/bombs/(.*)$:) { |
$r->print(&Apache::loncommon::bodytag('Error Messages')); |
$r->print(&Apache::loncommon::start_page('Error Messages')); |
# Looking for all bombs? |
# Looking for all bombs? |
&report_bombs($r,$uri); |
&report_bombs($r,$uri); |
} elsif ($uri=~/\/portfolio\//) { |
} elsif ($uri=~/\/portfolio\//) { |
($resdomain,$resuser)= |
($resdomain,$resuser)= |
(&Apache::lonnet::declutter($uri)=~m|^(\w+)/(\w+)/portfolio|); |
(&Apache::lonnet::declutter($uri)=~m|^(\w+)/(\w+)/portfolio|); |
$r->print(&Apache::loncommon::bodytag |
$r->print(&Apache::loncommon::start_page('Edit Portfolio File Catalog Information', |
('Edit Portfolio File Information','','','',$resdomain)); |
undef, |
|
{'domain' => $resdomain,})); |
if ($env{'form.store'}) { |
if ($env{'form.store'}) { |
&present_editable_metadata($r,$uri,'portfolio'); |
&present_editable_metadata($r,$uri,'portfolio'); |
} else { |
} else { |
Line 721 sub handler {
|
Line 736 sub handler {
|
} |
} |
} elsif ($uri=~/^\/\~/) { |
} elsif ($uri=~/^\/\~/) { |
# Construction space |
# Construction space |
$r->print(&Apache::loncommon::bodytag |
$r->print(&Apache::loncommon::start_page('Edit Catalog nformation', |
('Edit Catalog Information','','','',$resdomain)); |
undef, |
|
{'domain' => $resdomain,})); |
&present_editable_metadata($r,$uri); |
&present_editable_metadata($r,$uri); |
} else { |
} else { |
$r->print(&Apache::loncommon::bodytag |
$r->print(&Apache::loncommon::start_page('Catalog Information', |
('Catalog Information','','','',$resdomain)); |
undef, |
|
{'domain' => $resdomain,})); |
&present_uneditable_metadata($r,$uri); |
&present_uneditable_metadata($r,$uri); |
} |
} |
$r->print('</body></html>'); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |
} |
} |
|
|
Line 793 sub present_uneditable_metadata {
|
Line 810 sub present_uneditable_metadata {
|
my ($thisversion)=($uri=~/\.(\d+)\.(\w+)\.meta$/); |
my ($thisversion)=($uri=~/\.(\d+)\.(\w+)\.meta$/); |
$uri=~s/\.meta$//; |
$uri=~s/\.meta$//; |
my $disuri=&Apache::lonnet::clutter($uri); |
my $disuri=&Apache::lonnet::clutter($uri); |
|
$disuri=~s/^\/adm\/wrapper//; |
# version |
# version |
my $currentversion=&Apache::lonnet::getversion($disuri); |
my $currentversion=&Apache::lonnet::getversion($disuri); |
my $versiondisplay=''; |
my $versiondisplay=''; |
Line 943 sub print_dynamic_metadata {
|
Line 961 sub print_dynamic_metadata {
|
foreach my $identifier (sort(keys(%{$dynmeta{'stats'}}))) { |
foreach my $identifier (sort(keys(%{$dynmeta{'stats'}}))) { |
my $data = $dynmeta{'stats'}->{$identifier}; |
my $data = $dynmeta{'stats'}->{$identifier}; |
my $course = $data->{'course'}; |
my $course = $data->{'course'}; |
my %courseinfo = &Apache::lonnet::coursedescription($course); |
my %courseinfo = |
|
&Apache::lonnet::coursedescription($course, |
|
{'one_time' => 1}); |
if (! exists($courseinfo{'num'}) || $courseinfo{'num'} eq '') { |
if (! exists($courseinfo{'num'}) || $courseinfo{'num'} eq '') { |
&Apache::lonnet::logthis('lookup for '.$course.' failed'); |
&Apache::lonnet::logthis('lookup for '.$course.' failed'); |
next; |
next; |
Line 1068 sub present_editable_metadata {
|
Line 1088 sub present_editable_metadata {
|
# Header |
# Header |
my $disuri=$uri; |
my $disuri=$uri; |
my $fn=&Apache::lonnet::filelocation('',$uri); |
my $fn=&Apache::lonnet::filelocation('',$uri); |
$disuri=~s/^\/\~/\/priv\//; |
$disuri=~s{^/\~}{/priv/}; |
$disuri=~s/\.meta$//; |
$disuri=~s/\.meta$//; |
my $meta_uri = $disuri; |
my $meta_uri = $disuri; |
my $path; |
my $path; |
Line 1076 sub present_editable_metadata {
|
Line 1096 sub present_editable_metadata {
|
($disuri, $meta_uri, $path) = &portfolio_display_uri($disuri,1); |
($disuri, $meta_uri, $path) = &portfolio_display_uri($disuri,1); |
} |
} |
my $target=$uri; |
my $target=$uri; |
$target=~s/^\/\~/\/res\/$env{'request.role.domain'}\//; |
$target=~s{^/\~}{/res/$env{'request.role.domain'}/}; |
$target=~s/\.meta$//; |
$target=~s/\.meta$//; |
my $bombs=&Apache::lonmsg::retrieve_author_res_msg($target); |
my $bombs=&Apache::lonmsg::retrieve_author_res_msg($target); |
if ($bombs) { |
if ($bombs) { |