version 1.270, 2011/10/22 22:05:23
|
version 1.275, 2011/10/31 17:27:10
|
Line 66 invocation by F<loncapa_apache.conf>:
|
Line 66 invocation by F<loncapa_apache.conf>:
|
|
|
=head1 OVERVIEW |
=head1 OVERVIEW |
|
|
Authors can only write-access the C</~authorname/> space. They can |
Authors can only write-access the C</priv/domain/authorname/> space. |
copy resources into the resource area through the publication step, |
They can copy resources into the resource area through the |
and move them back through a recover step. Authors do not have direct |
publication step, and move them back through a recover step. |
write-access to their resource space. |
Authors do not have direct write-access to their resource space. |
|
|
During the publication step, several events will be |
During the publication step, several events will be |
triggered. Metadata is gathered, where a wizard manages default |
triggered. Metadata is gathered, where a wizard manages default |
Line 266 sub metaread {
|
Line 266 sub metaread {
|
my ($logfile,$fn,$prefix)=@_; |
my ($logfile,$fn,$prefix)=@_; |
unless (-e $fn) { |
unless (-e $fn) { |
print($logfile 'No file '.$fn."\n"); |
print($logfile 'No file '.$fn."\n"); |
return '<div><b>' |
return '<p class="LC_warning">' |
.&mt('No file: [_1]' |
.&mt('No file: [_1]',&Apache::loncfile::display($fn)) |
,'</b> <tt>'.&Apache::loncfile::display($fn).'</tt></div>'); |
.'</p>'; |
} |
} |
print($logfile 'Processing '.$fn."\n"); |
print($logfile 'Processing '.$fn."\n"); |
my $metastring; |
my $metastring; |
Line 277 sub metaread {
|
Line 277 sub metaread {
|
$metastring=join('',<$metafh>); |
$metastring=join('',<$metafh>); |
} |
} |
&metaeval($metastring,$prefix); |
&metaeval($metastring,$prefix); |
return '<div><b>' |
return '<p class="LC_info">' |
.&mt('Processed file: [_1]' |
.&mt('Processed file: [_1]',&Apache::loncfile::display($fn)) |
,'</b> <tt>'.&Apache::loncfile::display($fn).'</tt></div>'); |
.'</p>'; |
} |
} |
|
|
######################################### |
######################################### |
Line 1228 sub publish {
|
Line 1228 sub publish {
|
.'</p>' |
.'</p>' |
.'<p><input type="submit" value="' |
.'<p><input type="submit" value="' |
.&mt('Finalize Publication') |
.&mt('Finalize Publication') |
.'" /> <a href="'.&Apache::loncfile::display($source).'">'.&mt('Cancel').'</a></p>'; |
.'" /> <a href="'.&Apache::loncfile::url($source).'">'.&mt('Cancel').'</a></p>'; |
} |
} |
$intr_scrout.=&Apache::lonhtmlcommon::start_pick_box(); |
$intr_scrout.=&Apache::lonhtmlcommon::start_pick_box(); |
$intr_scrout.= |
$intr_scrout.= |
Line 1766 sub phasetwo {
|
Line 1766 sub phasetwo {
|
# ------------------------------------------------ Provide link to new resource |
# ------------------------------------------------ Provide link to new resource |
unless ($batch) { |
unless ($batch) { |
|
|
my $thissrc=&Apache::loncfile::display($source); |
my $thissrc=&Apache::loncfile::url($source); |
my $thissrcdir=$thissrc; |
my $thissrcdir=$thissrc; |
$thissrcdir=~s/\/[^\/]+$/\//; |
$thissrcdir=~s/\/[^\/]+$/\//; |
|
|
Line 1852 sub batchpublish {
|
Line 1852 sub batchpublish {
|
my $thisembstyle=&Apache::loncommon::fileembstyle($thistype); |
my $thisembstyle=&Apache::loncommon::fileembstyle($thistype); |
|
|
$r->print('<h2>' |
$r->print('<h2>' |
.&mt('Publishing [_1]' |
.&mt('Publishing [_1]',&Apache::loncfile::display($srcfile)) |
,'<span class="LC_filename">'.&Apache::loncfile::display($srcfile).'</span>') |
|
.'</h2>' |
.'</h2>' |
); |
); |
|
|
Line 1879 sub publishdirectory {
|
Line 1878 sub publishdirectory {
|
my ($r,$fn,$thisdisfn)=@_; |
my ($r,$fn,$thisdisfn)=@_; |
$fn=~s/\/+/\//g; |
$fn=~s/\/+/\//g; |
$thisdisfn=~s/\/+/\//g; |
$thisdisfn=~s/\/+/\//g; |
my $resdir= |
my $thisdisresdir=$thisdisfn; |
$Apache::lonnet::perlvar{'lonDocRoot'}.'/res/'.$cudom.'/'.$cuname.'/'. |
$thisdisresdir=~s/^\/priv\//\/res\//; |
$thisdisfn; |
my $resdir='/home/httpd/html'.$thisdisresdir; |
$r->print(&Apache::lonhtmlcommon::start_pick_box() |
$r->print(&Apache::lonhtmlcommon::start_pick_box() |
.&Apache::lonhtmlcommon::row_title(&mt('Directory')) |
.&Apache::lonhtmlcommon::row_title(&mt('Directory')) |
.'<span class="LC_filename">'.$thisdisfn.'</span>' |
.'<span class="LC_filename">'.$thisdisfn.'</span>' |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_closure() |
.&Apache::lonhtmlcommon::row_title(&mt('Target')) |
.&Apache::lonhtmlcommon::row_title(&mt('Target')) |
.'<span class="LC_filename">'.$resdir.'</span>' |
.'<span class="LC_filename">'.$thisdisresdir.'</span>' |
); |
); |
|
|
my $dirptr=16384; # Mask indicating a directory in stat.cmode. |
my $dirptr=16384; # Mask indicating a directory in stat.cmode. |
Line 1926 sub publishdirectory {
|
Line 1925 sub publishdirectory {
|
if ($filename=~/\.(\w+)$/) { $extension=$1; } |
if ($filename=~/\.(\w+)$/) { $extension=$1; } |
if ($cmode&$dirptr) { |
if ($cmode&$dirptr) { |
if (($filename!~/^\./) && ($env{'form.pubrec'})) { |
if (($filename!~/^\./) && ($env{'form.pubrec'})) { |
&publishdirectory($r,$fn.'/'.$filename,$thisdisfn.'/'.$filename); |
&publishdirectory($r,$docroot.$fn.'/'.$filename,$thisdisfn.'/'.$filename); |
} |
} |
} elsif ((&Apache::loncommon::fileembstyle($extension) ne 'hdn') && |
} elsif ((&Apache::loncommon::fileembstyle($extension) ne 'hdn') && |
($filename!~/^[\#\.]/) && ($filename!~/\~$/)) { |
($filename!~/^[\#\.]/) && ($filename!~/\~$/)) { |
Line 2158 sub handler {
|
Line 2157 sub handler {
|
$r->print(&Apache::loncommon::start_page('Resource Publication',$js) |
$r->print(&Apache::loncommon::start_page('Resource Publication',$js) |
.&Apache::lonhtmlcommon::breadcrumbs() |
.&Apache::lonhtmlcommon::breadcrumbs() |
.&Apache::loncommon::head_subbox( |
.&Apache::loncommon::head_subbox( |
&Apache::loncommon::CSTR_pageheader()) # FIXME crumbs broken? |
&Apache::loncommon::CSTR_pageheader($docroot.$fn)) |
); |
); |
|
|
my $thisdisfn=&HTML::Entities::encode($fn,'<>&"'); |
my $thisdisfn=&HTML::Entities::encode($fn,'<>&"'); |
Line 2168 sub handler {
|
Line 2167 sub handler {
|
|
|
if ($fn=~/\/$/) { |
if ($fn=~/\/$/) { |
# -------------------------------------------------------- This is a directory |
# -------------------------------------------------------- This is a directory |
&publishdirectory($r,$fn,$thisdisfn); |
&publishdirectory($r,$docroot.$fn,$thisdisfn); |
$r->print('<hr /><a href="'.$thisdisfn.'">'.&mt('Return to Directory').'</a>'); |
$r->print('<hr /><a href="'.$thisdisfn.'">'.&mt('Return to Directory').'</a>'); |
} else { |
} else { |
# ---------------------- Evaluate individual file, and then output information. |
# ---------------------- Evaluate individual file, and then output information. |
Line 2238 ENDDIFF
|
Line 2237 ENDDIFF
|
} |
} |
unless ($errorcount) { |
unless ($errorcount) { |
my ($outstring,$error)= |
my ($outstring,$error)= |
&publish($docroot.$fn,$thistarget,$thisembstyle); |
&publish($docroot.$fn,$docroot.$thistarget,$thisembstyle); |
$r->print($outstring); |
$r->print($outstring); |
} else { |
} else { |
$r->print('<h3 class="LC_error">'. |
$r->print('<h3 class="LC_error">'. |
Line 2246 ENDDIFF
|
Line 2245 ENDDIFF
|
'</h3>'); |
'</h3>'); |
} |
} |
} else { |
} else { |
&phasetwo($r,$fn,$thistarget,$thisembstyle,$thisdistarget); |
&phasetwo($r,$docroot.$fn,$docroot.$thistarget,$thisembstyle,$thisdistarget); |
} |
} |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |