--- loncom/interface/londocs.pm 2012/11/14 01:09:32 1.507
+++ loncom/interface/londocs.pm 2012/11/16 23:37:15 1.509
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.507 2012/11/14 01:09:32 raeburn Exp $
+# $Id: londocs.pm,v 1.509 2012/11/16 23:37:15 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -312,61 +312,6 @@ 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',@_);
}
@@ -454,7 +399,8 @@ 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;
@@ -463,7 +409,8 @@ sub docs_change_log {
if ($supplementalflag) {
$tid = 2;
}
- my ($breadcrumbtrail) = &breadcrumbs($allowed,$crstype);
+ my ($breadcrumbtrail) =
+ &Apache::lonhtmlcommon::docs_breadcrumbs($allowed,$crstype,1);
$r->print($breadcrumbtrail.
&generate_edit_table($tid,\%orderhash,undef,$iconpath,$jumpto,
$readfile));
@@ -1743,12 +1690,12 @@ sub handle_edit_cmd {
sub editor {
my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$crstype,
- $supplementalflag,$orderhash,$iconpath,$uploadtag)=@_;
+ $supplementalflag,$orderhash,$iconpath,$pathitem)=@_;
my $container= ($env{'form.pagepath'}) ? 'page'
: 'sequence';
my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order) =
- &breadcrumbs($allowed,$crstype);
+ &Apache::lonhtmlcommon::docs_breadcrumbs($allowed,$crstype,1);
$r->print($breadcrumbtrail);
my $jumpto = "uploaded/$coursedom/$coursenum/$folder.$container";
@@ -1912,7 +1859,7 @@ sub editor {
unless ($name) { $idx++; next; }
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res,
$coursenum,$coursedom,$crstype,
- $uploadtag,$supplementalflag);
+ $pathitem,$supplementalflag);
$idx++;
$shown++;
}
@@ -2130,7 +2077,7 @@ sub is_supplemental_title {
sub entryline {
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$coursedom,
- $crstype,$uploadtag,$supplementalflag)=@_;
+ $crstype,$pathitem,$supplementalflag)=@_;
my ($foldertitle,$pagetitle,$renametitle);
if (&is_supplemental_title($title)) {
($title,$foldertitle,$renametitle) = &Apache::loncommon::parse_supplemental_title($title);
@@ -2287,7 +2234,7 @@ sub entryline {
$skip_confirm = 1;
}
- if ($nocopy) {
+ if ($nocopy) {
$copylink=(<$lt{'cp'}
ENDCOPY
@@ -2296,7 +2243,7 @@ ENDCOPY
$lt{'cp'}
ENDCOPY
}
- if ($nocut) {
+ if ($nocut) {
$cutlink=(<$lt{'ct'}
ENDCUT
@@ -2458,6 +2405,9 @@ $form_common."\n".
$form_start.
$form_common.'
';
+ } elsif ($supplementalflag && !$allowed) {
+ $url .= ($url =~ /\?/) ? 'amp;':'?';
+ $url .= 'folderpath='.&HTML::Entities::encode($esc_path,'<>&"');
}
if ($ispage) {
my $pagename=&escape($pagetitle);
@@ -2488,17 +2438,25 @@ $form_common.'
$lt{'ti'}
- $uploadtag
+ $pathitem
EXTLNK
- } else {
+ } else {
my ($cfile,$home,$switchserver,$forceedit,$forceview) =
&Apache::lonnet::can_edit_resource($fileloc,$coursenum,$coursedom,$orig_url);
- if (($cfile ne '') && ($symb ne '')) {
+ my $geteditlink;
+ if ($supplementalflag) {
+ if ($orig_url eq "/adm/$env{'user.domain'}/$env{'user.name'}/aboutme") {
+ $geteditlink = 1;
+ }
+ } elsif (($cfile ne '') && ($symb ne '')) {
+ $geteditlink = 1;
+ }
+ if ($geteditlink) {
my $jscall =
&Apache::lonhtmlcommon::jump_to_editres($cfile,$home,
$switchserver,
@@ -3286,7 +3244,7 @@ sub handler {
my $addentries = {};
my $container;
my $containertag;
- my $uploadtag;
+ my $pathitem;
# Do we directly jump somewhere?
@@ -3419,7 +3377,7 @@ sub handler {
$container='page';
$containertag = ''.
'';
- $uploadtag =
+ $pathitem =
''.
''.
'';
@@ -3433,7 +3391,7 @@ sub handler {
}
}
$containertag = '';
- $uploadtag = '';
+ $pathitem = '';
}
if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) {
$showdoc='/'.$1;
@@ -3678,7 +3636,7 @@ IMSFORM
$lt{'title'}:
- $uploadtag
+ $pathitem
@@ -3708,7 +3666,7 @@ FUFORM
SEDFFORM
my @importpubforma = (
- { '
' => "$uploadtag" },
+ { '
' => $pathitem."" },
{ '
' => "$help{'Importing_LON-CAPA_Resource'}" },
{ '
' => "" },
{ '
' => $importpubform }
@@ -3726,7 +3684,7 @@ SEDFFORM
$lt{'title'}:
- $uploadtag
+ $pathitem
@@ -3751,8 +3709,8 @@ ERFORM
HIDDENFORM
- $r->print(&makesimpleeditform($uploadtag)."\n".
- &makedocslogform($uploadtag."\n".
+ $r->print(&makesimpleeditform($pathitem)."\n".
+ &makedocslogform($pathitem."\n".
''."\n"));
}
@@ -3775,7 +3733,7 @@ HIDDENFORM
$folder='default';
$savefolderpath = $env{'form.folderpath'};
$env{'form.folderpath'}='default&'.&escape(&mt('Content'));
- $uploadtag = '';
}
my $postexec='';
@@ -3800,7 +3758,7 @@ HIDDENFORM
my $newnavform=(<
- $uploadtag
+ $pathitem
@@ -3810,7 +3768,7 @@ NNFORM
my $newsmppageform=(<
- $uploadtag
+ $pathitem
$help{'Simple Page'}
@@ -3820,7 +3778,7 @@ NSPFORM
my $newsmpproblemform=(<
- $uploadtag
+ $pathitem
$help{'Simple Problem'}
@@ -3831,7 +3789,7 @@ NSPROBFORM
my $newdropboxform=(<
- $uploadtag
+ $pathitem
@@ -3840,7 +3798,7 @@ NDBFORM
my $newexuploadform=(<
- $uploadtag
+ $pathitem
$help{'Score_Upload_Form'}
@@ -3850,7 +3808,7 @@ NEXUFORM
my $newbulform=(<
- $uploadtag
+ $pathitem
$help{'Bulletin Board'}
@@ -3860,7 +3818,7 @@ NBFORM
my $newaboutmeform=(<
- $uploadtag
+ $pathitem
@@ -3871,7 +3829,7 @@ NAMFORM
my $newaboutsomeoneform=(<
- $uploadtag
+ $pathitem
@@ -3881,7 +3839,7 @@ NASOFORM
my $newrosterform=(<
- $uploadtag
+ $pathitem
@@ -3913,7 +3871,7 @@ NPFORM
$newfolderform=(<
-
+ $pathitem
$lt{'newf'}$help{'Adding_Folders'}
@@ -3923,7 +3881,7 @@ NFFORM
my $newsylform=(<
- $uploadtag
+ $pathitem
@@ -3935,7 +3893,7 @@ NSYLFORM
my $newgroupfileform=(<
- $uploadtag
+ $pathitem
@@ -3989,7 +3947,7 @@ unless ($env{'form.pagepath'}) {
$hadchanges=0;
unless (($supplementalflag || $toolsflag)) {
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype,
- $supplementalflag,\%orderhash,$iconpath,$uploadtag);
+ $supplementalflag,\%orderhash,$iconpath,$pathitem);
if ($error) {
$r->print(''.$error.'
');
}
@@ -4014,12 +3972,12 @@ unless ($env{'form.pagepath'}) {
$env{'form.folderpath'} = $savefolderpath;
}
$env{'form.pagepath'} = '';
+ $pathitem = '';
if ($allowed) {
my $folderseq=
'/uploaded/'.$coursedom.'/'.$coursenum.'/supplemental_new.sequence';
- my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
-
my $supupdocform=(<