version 1.153, 2006/03/16 22:12:17
|
version 1.157, 2006/05/30 12:46:09
|
Line 39 use Apache::lonpublisher;
|
Line 39 use Apache::lonpublisher;
|
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonmysql; |
use Apache::lonmysql; |
use Apache::lonmsg; |
use Apache::lonmsg; |
|
use lib '/home/httpd/lib/perl/'; |
|
use LONCAPA; |
|
|
|
|
############################################################ |
############################################################ |
Line 108 sub get_dynamic_metadata_from_sql {
|
Line 110 sub get_dynamic_metadata_from_sql {
|
next if (! $result); |
next if (! $result); |
my @Data = |
my @Data = |
map { |
map { |
&Apache::lonnet::unescape($_); |
&unescape($_); |
} split(',',$result); |
} split(',',$result); |
my $url = $Data[0]; |
my $url = $Data[0]; |
for (my $i=0;$i<=$#Fields;$i++) { |
for (my $i=0;$i<=$#Fields;$i++) { |
Line 296 sub fieldnames {
|
Line 298 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; |
} |
} |
|
|
|
sub get_port_path_and_group { |
|
my ($uri)=@_; |
|
|
|
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'; |
|
} |
|
return ($port_path,$group); |
|
} |
|
|
sub portfolio_display_uri { |
sub portfolio_display_uri { |
my ($uri,$as_links)=@_; |
my ($uri,$as_links)=@_; |
|
|
|
my ($port_path,$group) = &get_port_path_and_group($uri); |
|
|
$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 350 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 350 sub pre_select_course {
|
Line 377 sub pre_select_course {
|
&mt('Associate Resource With Selected Course').'">'); |
&mt('Associate Resource With Selected Course').'">'); |
$r->print('</form>'); |
$r->print('</form>'); |
|
|
$r->print('<br /><br /><form method="POST" action="/adm/portfolio">'. |
my ($port_path,$group) = &get_port_path_and_group($uri); |
|
$r->print('<br /><br /><form method="POST" action="'.$port_path.'">'. |
'<input type="hidden" name="currentpath" value="'.$path.'" />'. |
'<input type="hidden" name="currentpath" value="'.$path.'" />'. |
|
'<input type="hidden" name="group" value="'.$group.'" />'. |
'<input type="submit" name="cancel" value="'.&mt('Cancel').'">'. |
'<input type="submit" name="cancel" value="'.&mt('Cancel').'">'. |
'</form>'); |
'</form>'); |
|
|
Line 486 sub prettyprint {
|
Line 515 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 944 sub print_dynamic_metadata {
|
Line 975 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 1069 sub present_editable_metadata {
|
Line 1102 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 1077 sub present_editable_metadata {
|
Line 1110 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) { |
Line 1265 ENDEDIT
|
Line 1298 ENDEDIT
|
&mt('Store Catalog Information').'">'); |
&mt('Store Catalog Information').'">'); |
|
|
if ($file_type eq 'portfolio') { |
if ($file_type eq 'portfolio') { |
|
my ($port_path,$group) = &get_port_path_and_group($uri); |
$r->print('</form> |
$r->print('</form> |
<br /><br /><form method="POST" action="/adm/portfolio">'. |
<br /><br /><form method="POST" action="'.$port_path.'">'. |
|
'<input type="hidden" name="group" value="'.$group.'" />'. |
'<input type="hidden" name="currentpath" value="'.$path.'" />'. |
'<input type="hidden" name="currentpath" value="'.$path.'" />'. |
'<input type="submit" name="cancel" value="'.&mt('Discard Edits and Return to Portfolio').'">'); |
'<input type="submit" name="cancel" value="'.&mt('Discard Edits and Return to Portfolio').'">'); |
} |
} |