--- loncom/publisher/lonpubdir.pm 2022/05/27 04:24:55 1.174 +++ loncom/publisher/lonpubdir.pm 2023/07/13 21:41:40 1.179 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Authoring Space Directory Lister # -# $Id: lonpubdir.pm,v 1.174 2022/05/27 04:24:55 raeburn Exp $ +# $Id: lonpubdir.pm,v 1.179 2023/07/13 21:41:40 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -104,8 +104,8 @@ sub handler { "$londocroot/priv/$udom/$uname"); # expressed in kB my $disk_quota = &Apache::loncommon::get_user_quota($uname,$udom, $cstr,$crstype); # expressed in MB - # Put out the start of page. + &startpage($r, $uname, $udom, $thisdisfn, $current_disk_usage, $disk_quota, $crsauthor); if (!-d $fn) { @@ -128,7 +128,7 @@ sub handler { } # Put out actions for directory, browse/upload + new file page. - &dircontrols($r,$uname,$udom,$thisdisfn, $current_disk_usage, $disk_quota); + &dircontrols($r,$uname,$udom,$thisdisfn,$current_disk_usage,$disk_quota,$crsauthor); &resourceactions($r,$uname,$udom,$thisdisfn); # Put out form used for printing/deletion etc. my $numdir = 0; @@ -247,8 +247,13 @@ my $result = " + + + %s +
+ + + - +END + my %fileoptions = ( + none => "$lt{'sela'}:", + newfile => "$lt{'nfil'}:", + newhtmlfile => "$lt{'nhtm'}:", + newproblemfile => "$lt{'nprb'}:", + newdir => "$lt{'nsub'}:", + ); + $fileoptions{'select_form_order'} = ['none','newfile','newhtmlfile','newproblemfile']; + if ($crsauthor) { + push(@{$fileoptions{'select_form_order'}},'newdir'); + } else { + my %extraoptions = ( + newpagefile => "$lt{'npag'}:", + newsequencefile => "$lt{'nseq'}:", + newrightsfile => "$lt{'ncrf'}:", + newstyfile => "$lt{'nsty'}:", + newtaskfile => "$lt{'nbt'}:", + newlibraryfile => "$lt{'nlib'}:", + ); + %fileoptions = (%fileoptions,%extraoptions); + push(@{$fileoptions{'select_form_order'}},('newpagefile','newsequencefile', + 'newrightsfile','newstyfile', + 'newtaskfile','newlibraryfile', + 'newdir')); + } + my $selectbox = &Apache::loncommon::select_form('none','action',\%fileoptions); + $r->print(<
$lt{'updc'} - +
@@ -607,53 +617,51 @@ sub dircontrols { } } -    + $selectbox  
- Quickactions: + $lt{'shcu'}: - + file icon - + problem icon - + web page icon - + folder icon @@ -661,18 +669,6 @@ sub dircontrols { -
-
- $lt{'qs'} - - - - %s -
- - -
-
END } @@ -855,7 +851,7 @@ sub isMetaSame { sub getStatus { my ($resdir, $targetdir, $cstr_dir, $filename, - $linkfilename, $cmtime, $meta_same) = @_; + $linkfilename, $crsauthor, $cmtime, $meta_same) = @_; my $pubstatus = 'unpublished'; my $status = &mt('Unpublished'); @@ -881,7 +877,9 @@ sub getStatus { ); $rights_status .= $lt_SourceRight{&getSourceRightString($targetdir.'/'.$filename)}; - + if (($crsauthor) && ($filename =~ /\.rights$/)) { + $rights_status =~ s/,\s+$//; + } if ($same) { if (&Apache::lonnet::metadata($targetdir.'/'.$filename,'obsolete')) { $pubstatus = 'obsolete'; @@ -899,17 +897,21 @@ sub getStatus { $pubstatus = 'modified'; $status=&mt('Modified'). '
'. $rights_status; - if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') { - $status.='
'. - &Apache::loncommon::modal_link( - '/adm/diff?filename='.$linkfilename.'&versiontwo=priv', - &mt('Diffs'),600,500); + unless (($crsauthor) && ($filename =~ /\.rights$/)) { + if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') { + $status.='
'. + &Apache::loncommon::modal_link( + '/adm/diff?filename='.$linkfilename.'&versiontwo=priv', + &mt('Diffs'),600,500); + } } - } + } - $status.="\n".'
'. - &Apache::loncommon::modal_link( - '/adm/retrieve?filename='.$linkfilename.'&inhibitmenu=yes&add_modal=yes',&mt('Retrieve'),600,500); + unless (($crsauthor) && ($filename =~ /\.rights$/)) { + $status.="\n".'
'. + &Apache::loncommon::modal_link( + '/adm/retrieve?filename='.$linkfilename.'&inhibitmenu=yes&add_modal=yes',&mt('Retrieve'),600,500); + } } return ($status, $pubstatus); @@ -920,9 +922,9 @@ sub getStatus { # Put a table row for a file resource. # sub putresource { - my ($r, $udom, $uname, $filename, $thisdisfn, $resdir, $targetdir, - $linkdir, $cmtime, $size, $numres, $linkfilename, $title, - $status, $pubstatus) = @_; + my ($r, $udom, $uname, $filename, $thisdisfn, $resdir, + $targetdir, $linkdir, $crsauthor, $cmtime, $size, + $numres, $linkfilename, $title, $status, $pubstatus) = @_; &Apache::lonnet::devalidate_cache_new('meta',$targetdir.'/'.$filename); my $editlink=''; @@ -948,7 +950,9 @@ sub putresource { } my $publish_button = (-e $resdir.'/'.$filename) ? &mt('Re-publish') : &mt('Publish'); my $pub_select = ''; - &create_pubselect($r,\$pub_select,$udom,$uname,$thisdisfn,$filename,$resdir,$pubstatus,$publish_button,$numres); + unless (($crsauthor) && ($filename=~ /\.rights$/)) { + &create_pubselect($r,\$pub_select,$udom,$uname,$thisdisfn,$filename,$resdir,$pubstatus,$publish_button,$numres); + } $r->print(&Apache::loncommon::start_data_table_row(). ''.($filename=~/[\#\~]$/?' ': '').''.