--- loncom/publisher/lonpubdir.pm 2016/01/06 16:44:35 1.167 +++ loncom/publisher/lonpubdir.pm 2023/11/28 22:28:05 1.182 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Authoring Space Directory Lister # -# $Id: lonpubdir.pm,v 1.167 2016/01/06 16:44:35 damieng Exp $ +# $Id: lonpubdir.pm,v 1.182 2023/11/28 22:28:05 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -48,7 +48,7 @@ sub handler { # Validate access to the construction space and get username:domain. - my ($uname,$udom)=&Apache::lonnet::constructaccess($r->uri); + my ($uname,$udom)=&Apache::lonnet::constructaccess($r->uri); unless (($uname) && ($udom)) { return HTTP_NOT_ACCEPTABLE; } @@ -67,9 +67,7 @@ sub handler { $r->send_http_header; &Apache::lonhtmlcommon::clear_breadcrumbs(); - my $js = ''; - $r->print(&Apache::loncommon::start_page('Authoring Space', $js). + $r->print(&Apache::loncommon::start_page('Authoring Space'). '
'. &mt('Your Authoring Space is currently in the location used by LON-CAPA version 2.10 and older, but your domain is using a newer LON-CAPA version ([_1]).',$version).'
'. @@ -82,21 +80,33 @@ sub handler { } } $thisdisfn=~s/^\Q$docroot\E\/priv//; - + my $resdir=$docroot.'/res'.$thisdisfn; # Resource directory my $targetdir='/res'.$thisdisfn; # Publication target directory. my $linkdir='/priv'.$thisdisfn; # Full URL name of constr space. + my $cstr = 'author'; + my ($crsauthor,$crstype); + if ($env{'request.course.id'}) { + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + if ($thisdisfn =~ m{^/\Q$cdom/$cnum\E}) { + $crsauthor = 1; + $cstr = 'course'; + $crstype = &Apache::loncommon::course_type(); + } + } + my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; my $current_disk_usage = &Apache::lonnet::diskusage($udom,$uname, "$londocroot/priv/$udom/$uname"); # expressed in kB my $disk_quota = &Apache::loncommon::get_user_quota($uname,$udom, - 'author'); # expressed in MB - + $cstr,$crstype); # expressed in MB # Put out the start of page. - &startpage($r, $uname, $udom, $thisdisfn, $current_disk_usage, $disk_quota); + + &startpage($r, $uname, $udom, $thisdisfn, $current_disk_usage, $disk_quota, $crsauthor); if (!-d $fn) { if (-e $fn) { @@ -118,12 +128,12 @@ 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; my $numres = 0; - + if ((@files == 0) && ($thisdisfn =~ m{^/$match_domain/$match_username})) { if ($thisdisfn =~ m{^/$match_domain/$match_username$}) { $r->print(''.&mt('This Authoring Space is currently empty.').'
'); @@ -182,7 +192,7 @@ sub handler { order => 'ascending', text => &mt('Size').' (kB)', }, - ); + ); # Print column headers my $output = ''; @@ -227,18 +237,23 @@ my $result = "'; - $r->print(&Apache::loncommon::start_page('Authoring Space', $js)); + $r->print(&Apache::loncommon::start_page($title, $js)); $disk_quota = 1024 * $disk_quota; # convert from MB to kB + my $headertext = &mt('Directory'); + if ($crsauthor) { + $headertext = &mt('Course Authoring Directory'); + } $r->print(&Apache::loncommon::head_subbox( '