--- loncom/interface/londocs.pm 2004/02/27 18:16:54 1.108 +++ loncom/interface/londocs.pm 2004/04/26 16:56:26 1.121 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.108 2004/02/27 18:16:54 albertel Exp $ +# $Id: londocs.pm,v 1.121 2004/04/26 16:56:26 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -258,11 +258,34 @@ sub group_import { return &storemap($coursenum, $coursedom, $folder.'.sequence'); } +sub breadcrumbs { + my ($where)=@_; + &Apache::lonhtmlcommon::clear_breadcrumbs(); + my (@folders)=split('&',$ENV{'form.folderpath'}); + my $folderpath; + while (@folders) { + my $folder=shift(@folders); + my $foldername=shift(@folders); + if ($folderpath) {$folderpath.='&';} + $folderpath.=$folder.'&'.$foldername; + my $url='/adm/coursedocs?folderpath='. + &Apache::lonnet::escape($folderpath); + &Apache::lonhtmlcommon::add_breadcrumb( + {'href'=>$url, + 'title'=>&Apache::lonnet::unescape($foldername), + 'text'=>''. + &Apache::lonnet::unescape($foldername).'' + }); + + + } + return &Apache::lonhtmlcommon::breadcrumbs(undef,undef,undef,undef,undef,0); +} + sub editor { my ($r,$coursenum,$coursedom,$folder,$allowed)=@_; - if ($ENV{'form.foldername'}) { - $r->print('
'.$errtext.'
'); } else { # ------------------------------------------------------------ Process commands + # ---------------- if they are for this folder and user allowed to make changes if (($allowed) && ($ENV{'form.folder'} eq $folder)) { +# set parameters + if (defined($ENV{'form.setparms'})) { + my $idx=$ENV{'form.setparms'}; + if ($ENV{'form.randpick_'.$idx}) { + &Apache::lonratedt::storeparameter($idx,'randompick',$ENV{'form.randpick_'.$idx},'int_pos'); + } else { + &Apache::lonratedt::delparameter($idx,'randompick'); + } + if ($ENV{'form.hidprs_'.$idx}) { + &Apache::lonratedt::storeparameter($idx,'hiddenresource','yes','string_yesno'); + } else { + &Apache::lonratedt::delparameter($idx,'hiddenresource'); + } + if ($ENV{'form.encprs_'.$idx}) { + &Apache::lonratedt::storeparameter($idx,'encrypturl','yes','string_yesno'); + } else { + &Apache::lonratedt::delparameter($idx,'encrypturl'); + } + + ($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.sequence'); + if ($fatal) { + $r->print(''.$errtext.'
'); + return; + } + } # upload a file, if present if (($ENV{'form.uploaddoc.filename'}) && ($ENV{'form.cmd'}=~/^upload_(\w+)/)) { - if ($folder=~/^$1/) { + if ( ($folder=~/^$1/) || ($1 eq 'default') ) { # this is for a course, not a user, so set coursedoc flag # probably the only place in the system where this should be "1" my $url=&Apache::lonnet::userfileupload('uploaddoc',1); @@ -398,7 +447,7 @@ sub editor { my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]); unless ($name) { $name=(split(/\//,$url))[-1]; } unless ($name) { next; } - $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_)); + $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum)); $idx++; } $r->print(''); @@ -408,41 +457,48 @@ sub editor { # --------------------------------------------------------------- An entry line sub entryline { - my ($index,$title,$url,$folder,$allowed,$residx)=@_; + my ($index,$title,$url,$folder,$allowed,$residx,$coursenum)=@_; $title=~s/\&colon\;/\:/g; $title=&HTML::Entities::encode(&HTML::Entities::decode( - &Apache::lonnet::unescape($title)),'\"\<\>\&\''); + &Apache::lonnet::unescape($title)),'"<>&\''); my $renametitle=$title; my $foldertitle=$title; - if ($title=~ - /^(\d+)\_\_\_\&\;\&\;\&\;\_\_\_(\w+)\_\_\_\&\;\&\;\&\;\_\_\_(\w+)\_\_\_\&\;\&\;\&\;\_\_\_(.*)$/ - ) { - $foldertitle=&Apache::lontexconvert::msgtexconverted($4); - $renametitle=$4; - $title=''.&Apache::lonlocal::locallocaltime($1).' '. - &Apache::loncommon::plainname($2,$3).':- + |
- + |