version 1.258, 2009/05/14 11:13:49
|
version 1.267, 2010/06/02 19:09:42
|
Line 1121 sub publish {
|
Line 1121 sub publish {
|
# ------------------------------------------------------------- Save some stuff |
# ------------------------------------------------------------- Save some stuff |
my %savemeta=(); |
my %savemeta=(); |
foreach ('title') { |
foreach ('title') { |
$savemeta{$_}=$metadatafields{$_}; |
if ($metadatafields{$_}) { $savemeta{$_}=$metadatafields{$_}; } |
} |
} |
# ------------------------------------------ See if anything new in file itself |
# ------------------------------------------ See if anything new in file itself |
|
|
Line 1223 sub publish {
|
Line 1223 sub publish {
|
my $intr_scrout.='<br />' |
my $intr_scrout.='<br />' |
.'<form name="pubform" action="/adm/publish" method="post">'; |
.'<form name="pubform" action="/adm/publish" method="post">'; |
unless ($env{'form.makeobsolete'}) { |
unless ($env{'form.makeobsolete'}) { |
|
my $thissrc=$source; |
|
$thissrc=~s{^/home/($match_username)/public_html}{/priv/$1}; |
$intr_scrout.='<p class="LC_warning">' |
$intr_scrout.='<p class="LC_warning">' |
.&mt('Searching for your resource will be based on the following metadata. Please provide as much data as possible.') |
.&mt('Searching for your resource will be based on the following metadata. Please provide as much data as possible.') |
.'</p>' |
.'</p>' |
.'<p><input type="submit" value="' |
.'<p><input type="submit" value="' |
.&mt('Finalize Publication') |
.&mt('Finalize Publication') |
.'" /></p>'; |
.'" /> <a href="'.$thissrc.'">'.&mt('Cancel').'</a></p>'; |
} |
} |
$intr_scrout.=&Apache::lonhtmlcommon::start_pick_box(); |
$intr_scrout.=&Apache::lonhtmlcommon::start_pick_box(); |
$intr_scrout.= |
$intr_scrout.= |
Line 1641 sub phasetwo {
|
Line 1643 sub phasetwo {
|
my $srcf=$2; |
my $srcf=$2; |
my $srct=$3; |
my $srct=$3; |
my $srcd=$1; |
my $srcd=$1; |
unless ($srcd=~/^\/home\/httpd\/html\/res/) { |
my $docroot = $Apache::lonnet::perlvar{'lonDocRoot'}; |
|
unless ($srcd=~/^\Q$docroot\E\/res/) { |
print $logfile "\nPANIC: Target dir is ".$srcd; |
print $logfile "\nPANIC: Target dir is ".$srcd; |
$r->print( |
$r->print( |
"<span class=\"LC_error\">".&mt('Invalid target directory, FAIL')."</span>"); |
"<span class=\"LC_error\">".&mt('Invalid target directory, FAIL')."</span>"); |
Line 1667 sub phasetwo {
|
Line 1670 sub phasetwo {
|
|
|
if (copy($target,$copyfile)) { |
if (copy($target,$copyfile)) { |
print $logfile "Copied old target to ".$copyfile."\n"; |
print $logfile "Copied old target to ".$copyfile."\n"; |
$r->print('<p>'.&mt('Copied old target file').'</p>'); |
$r->print(&Apache::lonhtmlcommon::confirm_success(&mt('Copied old target file'))); |
} else { |
} else { |
print $logfile "Unable to write ".$copyfile.':'.$!."\n"; |
print $logfile "Unable to write ".$copyfile.':'.$!."\n"; |
$r->print("<span class=\"LC_error\">".&mt('Failed to copy old target'). |
$r->print(&Apache::lonhtmlcommon::confirm_success(&mt('Failed to copy old target').", $!",1)); |
", $!, ".&mt('FAIL')."</span>"); |
|
return 0; |
return 0; |
} |
} |
|
|
Line 1681 sub phasetwo {
|
Line 1683 sub phasetwo {
|
|
|
if (copy($target.'.meta',$copyfile)) { |
if (copy($target.'.meta',$copyfile)) { |
print $logfile "Copied old target metadata to ".$copyfile."\n"; |
print $logfile "Copied old target metadata to ".$copyfile."\n"; |
$r->print('<p>'.&mt('Copied old metadata').'</p>') |
$r->print(&Apache::lonhtmlcommon::confirm_success(&mt('Copied old metadata'))); |
} else { |
} else { |
print $logfile "Unable to write metadata ".$copyfile.':'.$!."\n"; |
print $logfile "Unable to write metadata ".$copyfile.':'.$!."\n"; |
if (-e $target.'.meta') { |
if (-e $target.'.meta') { |
$r->print( |
$r->print(&Apache::lonhtmlcommon::confirm_success( |
"<span class=\"LC_error\">". |
&mt('Failed to write old metadata copy').", $!",1)); |
&mt('Failed to write old metadata copy').", $!, ".&mt('FAIL')."</span>"); |
|
return 0; |
return 0; |
} |
} |
} |
} |
Line 1720 sub phasetwo {
|
Line 1721 sub phasetwo {
|
|
|
if (copy($source,$copyfile)) { |
if (copy($source,$copyfile)) { |
print $logfile "\nCopied original source to ".$copyfile."\n"; |
print $logfile "\nCopied original source to ".$copyfile."\n"; |
$r->print('<p>'.&mt('Copied source file').'</p>'); |
$r->print(&Apache::lonhtmlcommon::confirm_success(&mt('Copied source file'))); |
} else { |
} else { |
print $logfile "\nUnable to write ".$copyfile.':'.$!."\n"; |
print $logfile "\nUnable to write ".$copyfile.':'.$!."\n"; |
$r->print("<span class=\"LC_error\">". |
$r->print(&Apache::lonhtmlcommon::confirm_success( |
&mt('Failed to copy source').", $!, ".&mt('FAIL')."</span>"); |
&mt('Failed to copy source').", $!",1)); |
return 0; |
return 0; |
} |
} |
|
|
|
# ---------------------------------------------- Delete local tmp-preview files |
|
unlink($copyfile.'.tmp'); |
# --------------------------------------------------------------- Copy Metadata |
# --------------------------------------------------------------- Copy Metadata |
|
|
$copyfile=$copyfile.'.meta'; |
$copyfile=$copyfile.'.meta'; |
|
|
if (copy($source.'.meta',$copyfile)) { |
if (copy($source.'.meta',$copyfile)) { |
print $logfile "\nCopied original metadata to ".$copyfile."\n"; |
print $logfile "\nCopied original metadata to ".$copyfile."\n"; |
$r->print('<p>'.&mt('Copied metadata').'</p>'); |
$r->print(&Apache::lonhtmlcommon::confirm_success(&mt('Copied metadata'))); |
} else { |
} else { |
print $logfile "\nUnable to write metadata ".$copyfile.':'.$!."\n"; |
print $logfile "\nUnable to write metadata ".$copyfile.':'.$!."\n"; |
$r->print( |
$r->print(&Apache::lonhtmlcommon::confirm_success( |
"<span class=\"LC_error\">".&mt('Failed to write metadata copy').", $!, ".&mt('FAIL')."</span>"); |
&mt('Failed to write metadata copy').", $!",1)); |
return 0; |
return 0; |
} |
} |
$r->rflush; |
$r->rflush; |
Line 1746 sub phasetwo {
|
Line 1749 sub phasetwo {
|
# ------------------------------------------------------------- Trigger updates |
# ------------------------------------------------------------- Trigger updates |
push(@{$modified_urls},[$target,$source]); |
push(@{$modified_urls},[$target,$source]); |
unless ($registered_cleanup) { |
unless ($registered_cleanup) { |
$r->register_cleanup(\¬ify); |
my $handlers = $r->get_handlers('PerlCleanupHandler'); |
|
$r->set_handlers('PerlCleanupHandler' => [\¬ify,@{$handlers}]); |
$registered_cleanup=1; |
$registered_cleanup=1; |
} |
} |
|
|
Line 1769 sub phasetwo {
|
Line 1773 sub phasetwo {
|
my $thissrcdir=$thissrc; |
my $thissrcdir=$thissrc; |
$thissrcdir=~s/\/[^\/]+$/\//; |
$thissrcdir=~s/\/[^\/]+$/\//; |
|
|
|
$r->print(&Apache::loncommon::head_subbox( |
$r->print( |
&Apache::lonhtmlcommon::start_funclist(). |
'<hr /><a href="'.$thisdistarget.'"><font size="+2">'. |
&Apache::lonhtmlcommon::add_item_funclist( |
&mt('View Published Version').'</font></a>'. |
'<a href="'.$thisdistarget.'">'. |
'<p><a href="'.$thissrc.'"><font size="+2">'. |
&mt('View Published Version'). |
&mt('Back to Source').'</font></a></p>'. |
'</a>'). |
'<p><a href="'.$thissrcdir. |
&Apache::lonhtmlcommon::add_item_funclist( |
'"><font size="+2">'. |
'<a href="'.$thissrc.'">'. |
&mt('Back to Source Directory').'</font></a></p>'); |
&mt('Back to Source'). |
|
'</a>'). |
|
&Apache::lonhtmlcommon::add_item_funclist( |
|
'<a href="'.$thissrcdir.'">'. |
|
&mt('Back to Source Directory'). |
|
'</a>'). |
|
&Apache::lonhtmlcommon::end_funclist()) |
|
); |
} |
} |
return 1; |
return 1; |
} |
} |
Line 2163 sub handler {
|
Line 2174 sub handler {
|
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
|
|
|
# Breadcrumbs |
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
&Apache::lonhtmlcommon::add_breadcrumb({ |
|
'text' => 'Construction Space', |
|
'href' => &Apache::loncommon::authorspace(), |
|
}); |
|
&Apache::lonhtmlcommon::add_breadcrumb({ |
|
'text' => 'Resource Publication', |
|
'href' => '', |
|
}); |
|
|
my $js='<script type="text/javascript">'. |
my $js='<script type="text/javascript">'. |
&Apache::loncommon::browser_and_searcher_javascript(). |
&Apache::loncommon::browser_and_searcher_javascript(). |
'</script>'; |
'</script>'; |
$r->print(&Apache::loncommon::start_page('Resource Publication',$js)); |
$r->print(&Apache::loncommon::start_page('Resource Publication',$js) |
|
.&Apache::lonhtmlcommon::breadcrumbs() |
|
.&Apache::loncommon::head_subbox( |
|
&Apache::loncommon::CSTR_pageheader()) # FIXME crumbs broken? |
|
); |
|
|
|
|
my $thisfn=$fn; |
my $thisfn=$fn; |
Line 2267 ENDDIFF
|
Line 2293 ENDDIFF
|
} |
} |
} else { |
} else { |
&phasetwo($r,$thisfn,$thistarget,$thisembstyle,$thisdistarget); |
&phasetwo($r,$thisfn,$thistarget,$thisembstyle,$thisdistarget); |
$r->print('<hr />'); |
|
} |
} |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |