--- loncom/interface/londocs.pm 2012/12/13 04:15:30 1.484.2.18
+++ loncom/interface/londocs.pm 2012/10/02 18:08:12 1.498
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.484.2.18 2012/12/13 04:15:30 raeburn Exp $
+# $Id: londocs.pm,v 1.498 2012/10/02 18:08:12 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -312,6 +312,62 @@ sub group_import {
return &storemap($coursenum, $coursedom, $folder.'.'.$container,1);
}
+sub breadcrumbs {
+ my ($allowed,$crstype)=@_;
+ &Apache::lonhtmlcommon::clear_breadcrumbs();
+ my (@folders);
+ if ($env{'form.pagepath'}) {
+ @folders = split('&',$env{'form.pagepath'});
+ } else {
+ @folders=split('&',$env{'form.folderpath'});
+ }
+ my $folderpath;
+ my $cpinfo='';
+ my $plain='';
+ my $randompick=-1;
+ my $isencrypted=0;
+ my $ishidden=0;
+ my $is_random_order=0;
+ while (@folders) {
+ my $folder=shift(@folders);
+ my $foldername=shift(@folders);
+ if ($folderpath) {$folderpath.='&';}
+ $folderpath.=$folder.'&'.$foldername;
+ my $url;
+ if ($allowed) {
+ $url = '/adm/coursedocs?folderpath=';
+ } else {
+ $url = '/adm/supplemental?folderpath=';
+ }
+ $url .= &escape($folderpath);
+ my $name=&unescape($foldername);
+# randompick number, hidden, encrypted, random order, is appended with ":"s to the foldername
+ $name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)$//;
+ if ($1 ne '') {
+ $randompick=$1;
+ } else {
+ $randompick=-1;
+ }
+ if ($2) { $ishidden=1; }
+ if ($3) { $isencrypted=1; }
+ if ($4 ne '') { $is_random_order = 1; }
+ if ($folder eq 'supplemental') {
+ $name = &mt('Supplemental '.$crstype.' Content');
+ }
+ &Apache::lonhtmlcommon::add_breadcrumb(
+ {'href'=>$url.$cpinfo,
+ 'title'=>$name,
+ 'text'=>$name,
+ 'no_mt'=>1,
+ });
+ $plain.=$name.' > ';
+ }
+ $plain=~s/\>\;\s*$//;
+ return (&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp',
+ undef, undef, 1 ),$randompick,$ishidden,
+ $isencrypted,$plain,$is_random_order);
+}
+
sub log_docs {
return &Apache::lonnet::write_log('course','docslog',@_);
}
@@ -399,8 +455,7 @@ sub docs_change_log {
if ($folderpath eq '') {
$folderpath = 'default&'.&escape(&mt('Main '.$crstype.' Documents'));
}
- $pathitem = '';
+ $pathitem = '';
}
my $readfile="/uploaded/$coursedom/$coursenum/$folder.$container";
my $jumpto = $readfile;
@@ -409,8 +464,7 @@ sub docs_change_log {
if ($supplementalflag) {
$tid = 2;
}
- my ($breadcrumbtrail) =
- &Apache::lonhtmlcommon::docs_breadcrumbs($allowed,$crstype,1);
+ my ($breadcrumbtrail) = &breadcrumbs($allowed,$crstype);
$r->print($breadcrumbtrail.
&generate_edit_table($tid,\%orderhash,undef,$iconpath,$jumpto,
$readfile));
@@ -484,7 +538,7 @@ sub docs_change_log {
':'.$docslog{$id}{'exe_udom'}.''.
$send_msg_link.'
'.
$docslog{$id}{'logentry'}{'folder'}.' | ');
- my $is_supp = 0;
+ my $is_supp = 0;
if ($docslog{$id}{'logentry'}{'currentfolder'} =~ /^supplemental/) {
$is_supp = 1;
}
@@ -507,7 +561,7 @@ sub docs_change_log {
if ($is_supp) {
$shown = &Apache::loncommon::parse_supplemental_title($shown);
}
- $r->print(''.$shown.'');
+ $r->print(''.$shown.'');
}
}
$r->print('');
@@ -658,7 +712,7 @@ sub print_paste_buffer {
$canpaste = &supp_pasteable($env{'docs.markedcopy_url'});
unless ($canpaste) {
$nopaste = &mt('Paste into Supplemental Content unavailable for this type of content.');
- }
+ }
} else {
$canpaste = 1;
}
@@ -672,11 +726,11 @@ sub print_paste_buffer {
$othercourse = 1;
if ($env{"user.priv.cm./$srcdom/$srcnum"} =~ /\Q:mdc&F\E/) {
if ($canpaste) {
- $othercrs = ' '.&mt('(from another course).');
+ $othercrs = ' '.&mt('(from another course).');
}
} else {
$canpaste = 0;
- $nopaste = &mt('Paste from another course unavailable.')
+ $nopaste = &mt('Paste from another course unavailable.')
}
}
if ($rem =~ m{^(default|supplemental)_?(\d*)\.(?:page|sequence)$}) {
@@ -694,18 +748,18 @@ sub print_paste_buffer {
.'');
my ($type,$buffer);
if ($is_external) {
- $type = &mt('External Resource');
- $buffer = $type.': '.
- &LONCAPA::map::qtescape($env{'docs.markedcopy_title'}).' ('.
+ $type = &mt('External Resource');
+ $buffer = $type.': '.
+ &LONCAPA::map::qtescape($env{'docs.markedcopy_title'}).' ('.
&LONCAPA::map::qtescape($env{'docs.markedcopy_url'}).')';
} else {
- my $icon = &Apache::loncommon::icon($extension);
- if ($extension eq 'sequence' &&
- $env{'docs.markedcopy_url'} =~ m{/default_\d+\.sequence$ }x) {
- $icon = &Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL'));
- $icon .= '/navmap.folder.closed.gif';
- }
- $icon = ' ';
+ my $icon = &Apache::loncommon::icon($extension);
+ if ($extension eq 'sequence' &&
+ $env{'docs.markedcopy_url'} =~ m{/default_\d+\.sequence$ }x) {
+ $icon = &Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL'));
+ $icon .= '/navmap.folder.closed.gif';
+ }
+ $icon = ' ';
$buffer = $icon.$type.': '. &Apache::loncommon::parse_supplemental_title(&LONCAPA::map::qtescape($env{'docs.markedcopy_title'}));
}
if ($canpaste) {
@@ -719,7 +773,7 @@ sub print_paste_buffer {
''.(' ' x2).
- ' |