--- loncom/interface/londocs.pm 2012/11/13 22:49:15 1.505 +++ 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.505 2012/11/13 22:49:15 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++; } @@ -1961,7 +1908,7 @@ sub editor { &Apache::lonhtmlcommon::add_item_funclist( ''. - ''.$funcname.''. + ''.$funcname.''. ''.$funcname.''). &Apache::lonhtmlcommon::end_funclist())); } @@ -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); @@ -2274,10 +2221,7 @@ sub entryline { $nocopy=1; } } - my $copylink=' '; - my $cutlink=' '; - my $removelink=' '; - + my ($copylink,$cutlink,$removelink,$renamelink); my $skip_confirm = 0; if ( $folder =~ /^supplemental/ || ($url =~ m{( /smppg$ @@ -2290,21 +2234,36 @@ sub entryline { $skip_confirm = 1; } - if (!$nocopy) { + if ($nocopy) { + $copylink=(<$lt{'cp'} +ENDCOPY + } else { $copylink=(<$lt{'cp'} ENDCOPY } - if (!$nocut) { + if ($nocut) { + $cutlink=(<$lt{'ct'} +ENDCUT + } else { $cutlink=(<$lt{'ct'} ENDCUT } - if (!$noremove) { + if ($noremove) { + $removelink=(<$lt{'rm'} +ENDREM + } else { $removelink=(<$lt{'rm'} ENDREM } + $renamelink=(<$lt{'rn'} +ENDREN $form_start = '
'; @@ -2334,11 +2293,12 @@ END $selectbox $form_end - + $removelink +$renamelink $cutlink - $lt{'rn'} $copylink + END @@ -2445,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); @@ -2475,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, @@ -3273,7 +3244,7 @@ sub handler { my $addentries = {}; my $container; my $containertag; - my $uploadtag; + my $pathitem; # Do we directly jump somewhere? @@ -3406,7 +3377,7 @@ sub handler { $container='page'; $containertag = ''. ''; - $uploadtag = + $pathitem = ''. ''. ''; @@ -3420,7 +3391,7 @@ sub handler { } } $containertag = ''; - $uploadtag = ''; + $pathitem = ''; } if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { $showdoc='/'.$1; @@ -3665,7 +3636,7 @@ IMSFORM
$lt{'title'}:
- $uploadtag + $pathitem
@@ -3695,7 +3666,7 @@ FUFORM SEDFFORM my @importpubforma = ( - { ''.$lt{srch}.'' => "$uploadtag$lt{'srch'}" }, + { ''.$lt{srch}.'' => $pathitem."$lt{'srch'}" }, { ''.$lt{impo}.'' => "$lt{'impo'}$help{'Importing_LON-CAPA_Resource'}" }, { ''.$lt{lnks}.'' => "$lt{'lnks'}" }, { ''.$lt{impm}.'' => $importpubform } @@ -3713,7 +3684,7 @@ SEDFFORM
$lt{'title'}:
- $uploadtag + $pathitem
@@ -3738,8 +3709,8 @@ ERFORM HIDDENFORM - $r->print(&makesimpleeditform($uploadtag)."\n". - &makedocslogform($uploadtag."\n". + $r->print(&makesimpleeditform($pathitem)."\n". + &makedocslogform($pathitem."\n". ''."\n")); } @@ -3762,7 +3733,7 @@ HIDDENFORM $folder='default'; $savefolderpath = $env{'form.folderpath'}; $env{'form.folderpath'}='default&'.&escape(&mt('Content')); - $uploadtag = ''; } my $postexec=''; @@ -3787,7 +3758,7 @@ HIDDENFORM my $newnavform=(< - $uploadtag + $pathitem $lt{'navc'} @@ -3797,7 +3768,7 @@ NNFORM my $newsmppageform=(< - $uploadtag + $pathitem $lt{'sipa'} $help{'Simple Page'} @@ -3807,7 +3778,7 @@ NSPFORM my $newsmpproblemform=(< - $uploadtag + $pathitem $lt{'sipr'} $help{'Simple Problem'} @@ -3818,7 +3789,7 @@ NSPROBFORM my $newdropboxform=(< - $uploadtag + $pathitem $lt{'drbx'} @@ -3827,7 +3798,7 @@ NDBFORM my $newexuploadform=(< - $uploadtag + $pathitem $lt{'scuf'} $help{'Score_Upload_Form'} @@ -3837,7 +3808,7 @@ NEXUFORM my $newbulform=(< - $uploadtag + $pathitem $lt{'bull'} $help{'Bulletin Board'} @@ -3847,7 +3818,7 @@ NBFORM my $newaboutmeform=(< - $uploadtag + $pathitem $lt{'mypi'} @@ -3858,7 +3829,7 @@ NAMFORM my $newaboutsomeoneform=(< - $uploadtag + $pathitem $lt{'abou'} @@ -3868,7 +3839,7 @@ NASOFORM my $newrosterform=(< - $uploadtag + $pathitem $lt{'rost'} @@ -3900,7 +3871,7 @@ NPFORM $newfolderform=(< - + $pathitem $lt{'newf'}$help{'Adding_Folders'} @@ -3910,7 +3881,7 @@ NFFORM my $newsylform=(< - $uploadtag + $pathitem $lt{'syll'} @@ -3922,7 +3893,7 @@ NSYLFORM my $newgroupfileform=(< - $uploadtag + $pathitem $lt{'grpo'} @@ -3976,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.'

'); } @@ -4001,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=(< $lt{'upfi'} $help{'Uploading_From_Harddrive'} @@ -4024,7 +3995,7 @@ unless ($env{'form.pagepath'}) { $lt{'comment'}:

- + $pathitem @@ -4033,7 +4004,7 @@ SUPDOCFORM my $supnewfolderform=(< - + $pathitem $lt{'newf'} $help{'Adding_Folders'} @@ -4051,8 +4022,8 @@ SNFFORM
$lt{'title'}:
- $uploadtag
+ $pathitem @@ -4062,7 +4033,7 @@ ERFORM my $supnewsylform=(< - + $pathitem $lt{'syll'} @@ -4073,7 +4044,7 @@ SNSFORM my $supnewaboutmeform=(< - + $pathitem $lt{'mypi'} @@ -4103,14 +4074,14 @@ my %suporderhash = ( ); if ($supplementalflag) { my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, - $supplementalflag,\%suporderhash,$iconpath,$uploadtag); + $supplementalflag,\%suporderhash,$iconpath,$pathitem); if ($error) { $r->print('

'.$error.'

'); } } } elsif ($supplementalflag) { my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, - $supplementalflag,'',$iconpath,$uploadtag); + $supplementalflag,'',$iconpath,$pathitem); if ($error) { $r->print('

'.$error.'

'); }