--- loncom/publisher/lonpubdir.pm 2004/11/08 22:42:20 1.65
+++ loncom/publisher/lonpubdir.pm 2005/05/29 01:46:16 1.83
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Construction Space Directory Lister
#
-# $Id: lonpubdir.pm,v 1.65 2004/11/08 22:42:20 albertel Exp $
+# $Id: lonpubdir.pm,v 1.83 2005/05/29 01:46:16 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,9 +91,11 @@ 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 {
+ &pubbuttons($r,$uname,$thisdisfn);
}
&resourceactions($r,$uname,$udom,$thisdisfn); #Put out form used for printing/deletion etc.
@@ -146,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.
@@ -189,46 +191,43 @@ sub startpage {
my $currdir = '/priv/'.$uname.$thisdisfn;
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
+ my $html=&Apache::lonxml::xmlbegin();
+ $r->print($html.'
LON-CAPA Construction Space');
- $r->print('LON-CAPA Construction Space');
-
- my $pagetitle;
- my $formaction='/priv/'.$uname.'/'.$thisdisfn;
+ my $pagetitle;
+ my $formaction='/priv/'.$uname.$thisdisfn.'/';
$formaction=~s/\/+/\//g;
- $pagetitle .= ('');
- &Apache::lonhtmlcommon::store_recent('construct',$formaction,$formaction);
- if ($ENV{'environment.remote'} eq 'off') {
- $ENV{'request.noversionuri'}=$currdir;
+ '';
+ &Apache::lonhtmlcommon::store_recent('construct',$formaction,$formaction);
+ 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);
}
- $r->print(&Apache::loncommon::help_open_menu('','','','',3,'Authoring'));
my $pubdirscript=(<
+
ENDPUBDIRSCRIPT
$r->print($pubdirscript);
- if (($uname ne $ENV{'user.name'}) || ($udom ne $ENV{'user.domain'})) {
+ if ((($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) &&
+ $env{'environment.remote'} ne 'off') {
$r->print('
'.&mt('Co-Author').': '.$uname.' at '.$udom.
'
');
}
@@ -370,9 +322,9 @@ sub dircontrols {
$r->print(<
-
Actions for current directory
-
Upload a new document
-
Create a new directory or LON-CAPA document
+
Actions for current directory
+
Upload a new document
+
Create a new directory or LON-CAPA document
@@ -380,7 +332,6 @@ sub dircontrols {
@@ -389,12 +340,9 @@ sub dircontrols {
@@ -409,7 +357,7 @@ sub dircontrols {
-
-
END
}
+sub pubbuttons {
+ my ($r,$uname,$thisdisfn) = @_;
+ $r->print('');
+}
+
sub resourceactions {
my ($r,$uname,$udom,$thisdisfn) = @_;
$r->print(<
+
END
}
@@ -511,6 +468,8 @@ sub putdirectory {
%Apache::lonpublisher::metadatakeys=();
my $construct=$here;
$construct=~s:^/priv/(\w+)$:/home/$1/public_html:;
+ my $dirpath = $here;
+ $dirpath=~s:^/priv/:/~:;
&Apache::lonpublisher::metaeval(&Apache::lonnet::getfile(
$construct.'/'.$dirname.'/default.meta'
));
@@ -527,13 +486,10 @@ sub putdirectory {
''.
''.
''.
- ''.
''.
- ''.
- ''.
- ''.
- ''.
- ''.
+ ''.
+ ''.
''.
'';
$$numdir ++;
@@ -559,6 +515,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';
@@ -589,7 +546,7 @@ sub putresource {
# $action_buttons='';
# }
$title=''.
+ '.meta" target="cat">'.
&getTitleString($targetdir.'/'.$filename).'';
} else {
$pubstatus = 'modified';
@@ -598,17 +555,17 @@ sub putresource {
&mt(&getSourceRightString($targetdir.'/'.$filename));
$bgcolor='#FFFF77';
# $action_buttons='';
- $title=''.
+ $title=''.
&getTitleString($targetdir.'/'.$filename).'';
if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') {
$status.=' '.&mt('Diffs').'';
+ '&versiontwo=priv" target="cat">'.&mt('Diffs').'';
}
}
- $title.=' '.
+ $title.="\n".' '.
($$bombs{$targetdir.'/'.$filename}?'':'Edit Metadata').'';
- $status.=' '.&mt('Retrieve').'';
}
my $editlink='';
@@ -620,6 +577,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').')';
@@ -646,31 +607,30 @@ sub create_pubselect {
$$pub_select = '
';
+ $uname.$thisdisfn.'/'.$filename.'" />';
$$numres ++;
}