--- loncom/interface/londocs.pm 2013/01/04 00:17:48 1.484.2.20
+++ loncom/interface/londocs.pm 2012/11/14 02:49:19 1.508
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.484.2.20 2013/01/04 00:17:48 raeburn Exp $
+# $Id: londocs.pm,v 1.508 2012/11/14 02:49:19 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -41,7 +41,6 @@ use Apache::lonclonecourse;
use Apache::lonnavmaps;
use Apache::lonnavdisplay();
use Apache::lonuserstate();
-use Apache::lonextresedit();
use HTML::Entities;
use HTML::TokeParser;
use GDBM_File;
@@ -313,6 +312,61 @@ 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 $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,
+ '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',@_);
}
@@ -391,15 +445,18 @@ sub docs_change_log {
my %orderhash;
my $container='sequence';
my $pathitem;
- if ($env{'form.folderpath'} =~ /\:1$/) {
+ if ($env{'form.pagepath'}) {
$container='page';
+ $pathitem = '';
+ } else {
+ my $folderpath=$env{'form.folderpath'};
+ if ($folderpath eq '') {
+ $folderpath = 'default&'.&escape(&mt('Main '.$crstype.' Documents'));
+ }
+ $pathitem = '';
}
- my $folderpath=$env{'form.folderpath'};
- if ($folderpath eq '') {
- $folderpath = 'default&'.&escape(&mt('Main '.$crstype.' Documents').':::::');
- }
- $pathitem = '';
my $readfile="/uploaded/$coursedom/$coursenum/$folder.$container";
my $jumpto = $readfile;
$jumpto =~ s{^/}{};
@@ -407,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));
@@ -651,7 +707,7 @@ sub print_paste_buffer {
$is_external = 1;
}
- my ($canpaste,$nopaste,$othercrs,$areachange);
+ my ($canpaste,$nopaste,$othercrs,$areachange,$is_uploaded_map);
if ($folder =~ /^supplemental/) {
$canpaste = &supp_pasteable($env{'docs.markedcopy_url'});
unless ($canpaste) {
@@ -758,9 +814,16 @@ sub print_paste_buffer {
}
}
$r->print('
'.$othercrs);
- $r->print('
+ if ($container eq 'page') {
+ $r->print('
+
+
+');
+ } else {
+ $r->print('
');
+ }
$r->print('');
} else {
$r->print(&mt('Paste buffer contains:').' '.$buffer.
@@ -1543,7 +1606,7 @@ sub apply_fixups {
if ($folder !~ /^supplemental/) {
$report = 1;
}
- (my $outtext,$errtext) =
+ my ($outtext,$errtext) =
&LONCAPA::map::storemap("/uploaded/$cdom/$cnum/$storefn",1,$report);
if ($errtext) {
return &mt('Paste failed: an error occurred saving the folder or page.');
@@ -1682,17 +1745,12 @@ sub handle_edit_cmd {
sub editor {
my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$crstype,
$supplementalflag,$orderhash,$iconpath,$pathitem)=@_;
- my ($randompick,$ishidden,$isencrypted,$plain,$is_random_order,$container);
- if ($allowed) {
- (my $breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,
- $is_random_order,$container) =
- &Apache::lonhtmlcommon::docs_breadcrumbs($allowed,$crstype,1);
- $r->print($breadcrumbtrail);
- } elsif ($env{'form.folderpath'} =~ /\:1$/) {
- $container = 'page';
- } else {
- $container = 'sequence';
- }
+ my $container= ($env{'form.pagepath'}) ? 'page'
+ : 'sequence';
+
+ my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order) =
+ &breadcrumbs($allowed,$crstype);
+ $r->print($breadcrumbtrail);
my $jumpto = "uploaded/$coursedom/$coursenum/$folder.$container";
@@ -1855,67 +1913,35 @@ sub editor {
unless ($name) { $idx++; next; }
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res,
$coursenum,$coursedom,$crstype,
- $pathitem,$supplementalflag,$container);
+ $pathitem,$supplementalflag);
$idx++;
$shown++;
}
&Apache::loncommon::end_data_table_count();
-
- if (($allowed) || ($supplementalflag && $folder eq 'supplemental')) {
- my $toolslink = '
' - .&Apache::loncommon::help_open_menu('Navigation Screen', - 'Navigation_Screen',undef,'RAT') - .' | '.&mt('Tools:').' | ' - .'
|