--- loncom/publisher/lonpubdir.pm 2005/02/28 08:22:09 1.77 +++ loncom/publisher/lonpubdir.pm 2005/06/23 22:24:54 1.84 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Construction Space Directory Lister # -# $Id: lonpubdir.pm,v 1.77 2005/02/28 08:22:09 albertel Exp $ +# $Id: lonpubdir.pm,v 1.84 2005/06/23 22:24:54 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -61,7 +61,7 @@ sub handler { $fn,$r->dir_config('lonDefDomain')); unless (($uname) && ($udom)) { $r->log_reason($uname.' at '.$udom. - ' trying to list directory '.$ENV{'form.filename'}. + ' trying to list directory '.$env{'form.filename'}. ' ('.$fn.') - not authorized', $r->filename); return HTTP_NOT_ACCEPTABLE; @@ -72,7 +72,7 @@ sub handler { $fn=~s/\/$//; unless ($fn) { - $r->log_reason($ENV{'user.name'}.' at '.$ENV{'user.domain'}. + $r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}. ' trying to list empty directory', $r->filename); return HTTP_NOT_FOUND; } @@ -91,7 +91,7 @@ sub handler { my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); &startpage($r, $uname, $udom, $thisdisfn); # Put out the start of page. - if ($ENV{'environment.remote'} eq 'off') { + if ($env{'environment.remote'} eq 'off') { &dircontrols($r,$uname,$udom,$thisdisfn); # Put out actions for directory, # browse/upload + new file page. } else { @@ -148,8 +148,8 @@ sub getEffectiveUrl { my $r = shift; my $fn; - if ($ENV{'form.filename'}) { # If a form filename is defined. - $fn=$ENV{'form.filename'}; + if ($env{'form.filename'}) { # If a form filename is defined. + $fn=$env{'form.filename'}; # # Replace the ~username of the URL with /home/username/public_html # so that we don't have to worry about ~ expansion internally. @@ -206,8 +206,8 @@ sub startpage { 'this.form.action=this.form.recent.value;this.form.submit()'). ''; &Apache::lonhtmlcommon::store_recent('construct',$formaction,$formaction); - if ($ENV{'environment.remote'} eq 'off') { - $ENV{'request.noversionuri'}=$currdir.'/'; + if ($env{'environment.remote'} eq 'off') { + $env{'request.noversionuri'}=$currdir.'/'; $r->print(&Apache::loncommon::bodytag('Construction Space',undef,undef,undef,undef,undef,$pagetitle)); } else { $r->print($pagetitle); @@ -223,12 +223,8 @@ parent.lastknownpriv='/~$uname$thisdisfn function currdiract(theform) { if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'publish') { - document.publishdir.filename.value = theform.filename.value - pubdir(document.publishdir) - } - if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'publishsub') { - document.publishdir.filename.value = theform.filename.value - pubrecdir(document.publishdir) + document.publishdir.filename.value = theform.filename.value; + document.publishdir.submit(); } if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'editcat') { top.location=theform.filename.value+'default.meta' @@ -239,26 +235,6 @@ parent.lastknownpriv='/~$uname$thisdisfn } } - function pubdir(theform) { - if (confirm('Publish complete directory?')) { - forcepub(theform) - theform.submit(); - } - } - function pubrecdir(theform) { - if (confirm('Publish directory and all subdirectories?')) { - forcepub(theform); - theform.pubrec.value='1'; - theform.submit(); - } - } - - function forcepub(theform) { - if (confirm('Force publication of unmodified files? - Cancel=No; OK=yes.')) { - theform.forcerepub.value="ON"; - } - } - function checkUpload(theform) { if (theform.file == '') { alert("Please use 'Browse..' to choose a file first, before uploading") @@ -273,10 +249,7 @@ parent.lastknownpriv='/~$uname$thisdisfn return } if (theform.diraction.options[theform.diraction.selectedIndex].value == "publish") { - pubdir(theform) - } - if (theform.diraction.options[theform.diraction.selectedIndex].value == "publishsub") { - pubrecdir(theform) + theform.submit(); } if (theform.diraction.options[theform.diraction.selectedIndex].value == "editcat") { top.location=theform.filename.value+'default.meta' @@ -306,7 +279,7 @@ parent.lastknownpriv='/~$uname$thisdisfn if (activity == 'obsolete') { var pubform = document.pubresource pubform.filename.value = theform.filename.value - alert("You will be taken to the publication page.\\nCheck the 'Obsolete' checkbox at the bottom of the page, and click 'Finalize Publication'.") + pubform.makeobsolete.value=1; pubform.submit() } if (activity == 'print') { @@ -317,6 +290,10 @@ parent.lastknownpriv='/~$uname$thisdisfn document.retrieveres.filename.value = theform.filename.value document.retrieveres.submit() } + if (activity == 'cleanup') { + document.cleanup.filename.value = theform.filename.value + document.cleanup.submit() + } return } function changename(theform,activity) { @@ -333,8 +310,8 @@ parent.lastknownpriv='/~$uname$thisdisfn ENDPUBDIRSCRIPT $r->print($pubdirscript); - if ((($uname ne $ENV{'user.name'}) || ($udom ne $ENV{'user.domain'})) && - $ENV{'environment.remote'} ne 'off') { + if ((($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) && + $env{'environment.remote'} ne 'off') { $r->print('

'.&mt('Co-Author').': '.$uname.' at '.$udom. '

'); } @@ -342,29 +319,59 @@ ENDPUBDIRSCRIPT sub dircontrols { my ($r,$uname,$udom,$thisdisfn) = @_; + my %lt=&Apache::lonlocal::texthash( + cnpd => 'Cannot publish directory', + cnrd => 'Cannot retrieve directory', + mcdi => 'Must create new subdirectory inside a directory', + pubr => 'Publish this Resource', + pubd => 'Publish this Directory', + rtrv => 'Retrieve Old Version', + pubs => 'Publish with Subdirectories', + list => 'List Directory', + uplo => 'Upload file', + dele => 'Delete', + edit => 'Edit Catalog Information', + sela => 'Select Action', + nfil => 'New file', + nhtm => 'New HTML file', + nprb => 'New problem', + npag => 'New assembled page', + nseq => 'New assembled sequence', + ncrf => 'New custom rights file', + nsty => 'New style file', + nlib => 'New library file', + nsub => 'New subdirectory', + renm => 'Rename current file to', + move => 'Move current file to', + copy => 'Copy current file to', + type => 'Type Name Here', + go => 'Go', + prnt => 'Print contents of directory', + crea => 'Create a new directory or LON-CAPA document', + acti => 'Actions for current directory', + updc => 'Upload a new document' + ); $r->print(< - Actions for current directory - Upload a new document - Create a new directory or LON-CAPA document + $lt{'acti'} + $lt{'updc'} + $lt{'crea'}
-
@@ -374,23 +381,24 @@ sub dircontrols { - +
- + + + + + + + + + +   
@@ -405,12 +413,7 @@ sub pubbuttons { $r->print('
'. '
'. - ''. - ''. - ''. - ''. + ''. '
'); @@ -429,9 +432,8 @@ sub resourceactions {
- - +
@@ -439,6 +441,9 @@ sub resourceactions {
+
+ +
END } @@ -518,8 +523,6 @@ sub putdirectory { ''. ''. ''. - ''. - ''. ''. ''; $$numdir ++; @@ -545,6 +548,7 @@ sub putresource { my ($r, $udom, $uname, $filename, $thisdisfn, $resdir, $targetdir, $linkdir, $cmtime,$bombs,$numres) = @_; + &Apache::lonnet::devalidate_cache_new('meta',$targetdir.'/'.$filename); my $pubstatus = 'unpublished'; my $status=&mt('Unpublished'); my $bgcolor='#FFAA99'; @@ -606,6 +610,10 @@ sub putresource { $editlink=' ('.&mt('EditXML').')'; $editlink2='
('.&mt('Edit').')'; } + if ($filename=~/\.(problem|exam|quiz|assess|survey|form|library|xml|html|htm|xhtml|xhtm|sty)$/) { + $editlink.=' ('.&mt('Clean Up').')'; + } if ($filename=~/\.(zip|tar|bz2|gz|tar.gz|tar.bz2|tgz)$/) { $editlink=' ('.&mt('Decompress').')'; @@ -651,6 +659,7 @@ sub create_pubselect { } $$pub_select .= ' '. +''. ''. '