version 1.72, 2004/12/10 18:26:49
|
version 1.79, 2005/05/17 00:46:36
|
Line 61 sub handler {
|
Line 61 sub handler {
|
$fn,$r->dir_config('lonDefDomain')); |
$fn,$r->dir_config('lonDefDomain')); |
unless (($uname) && ($udom)) { |
unless (($uname) && ($udom)) { |
$r->log_reason($uname.' at '.$udom. |
$r->log_reason($uname.' at '.$udom. |
' trying to list directory '.$ENV{'form.filename'}. |
' trying to list directory '.$env{'form.filename'}. |
' ('.$fn.') - not authorized', |
' ('.$fn.') - not authorized', |
$r->filename); |
$r->filename); |
return HTTP_NOT_ACCEPTABLE; |
return HTTP_NOT_ACCEPTABLE; |
Line 72 sub handler {
|
Line 72 sub handler {
|
$fn=~s/\/$//; |
$fn=~s/\/$//; |
|
|
unless ($fn) { |
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); |
' trying to list empty directory', $r->filename); |
return HTTP_NOT_FOUND; |
return HTTP_NOT_FOUND; |
} |
} |
Line 91 sub handler {
|
Line 91 sub handler {
|
my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); |
my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); |
|
|
&startpage($r, $uname, $udom, $thisdisfn); # Put out the start of page. |
&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, |
&dircontrols($r,$uname,$udom,$thisdisfn); # Put out actions for directory, |
# browse/upload + new file page. |
# browse/upload + new file page. |
} else { |
} else { |
Line 148 sub getEffectiveUrl {
|
Line 148 sub getEffectiveUrl {
|
my $r = shift; |
my $r = shift; |
my $fn; |
my $fn; |
|
|
if ($ENV{'form.filename'}) { # If a form filename is defined. |
if ($env{'form.filename'}) { # If a form filename is defined. |
$fn=$ENV{'form.filename'}; |
$fn=$env{'form.filename'}; |
# |
# |
# Replace the ~username of the URL with /home/username/public_html |
# Replace the ~username of the URL with /home/username/public_html |
# so that we don't have to worry about ~ expansion internally. |
# so that we don't have to worry about ~ expansion internally. |
Line 191 sub startpage {
|
Line 191 sub startpage {
|
my $currdir = '/priv/'.$uname.$thisdisfn; |
my $currdir = '/priv/'.$uname.$thisdisfn; |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
|
my $html=&Apache::lonxml::xmlbegin(); |
$r->print('<html><head><title>LON-CAPA Construction Space</title></head>'); |
$r->print($html.'<head><title>LON-CAPA Construction Space</title></head>'); |
|
|
my $pagetitle; |
my $pagetitle; |
my $formaction='/priv/'.$uname.$thisdisfn.'/'; |
my $formaction='/priv/'.$uname.$thisdisfn.'/'; |
Line 206 sub startpage {
|
Line 206 sub startpage {
|
'this.form.action=this.form.recent.value;this.form.submit()'). |
'this.form.action=this.form.recent.value;this.form.submit()'). |
'</form>'; |
'</form>'; |
&Apache::lonhtmlcommon::store_recent('construct',$formaction,$formaction); |
&Apache::lonhtmlcommon::store_recent('construct',$formaction,$formaction); |
if ($ENV{'environment.remote'} eq 'off') { |
if ($env{'environment.remote'} eq 'off') { |
$ENV{'request.noversionuri'}=$currdir.'/'; |
$env{'request.noversionuri'}=$currdir.'/'; |
$r->print(&Apache::loncommon::bodytag('Construction Space',undef,undef,undef,undef,undef,$pagetitle)); |
$r->print(&Apache::loncommon::bodytag('Construction Space',undef,undef,undef,undef,undef,$pagetitle)); |
} else { |
} else { |
$r->print($pagetitle); |
$r->print($pagetitle); |
} |
} |
my $pubdirscript=(<<ENDPUBDIRSCRIPT); |
my $pubdirscript=(<<ENDPUBDIRSCRIPT); |
<script> |
<script type="text/javascript"> |
|
top.document.title = '$thisdisfn/ - LON-CAPA Construction Space'; |
// Store directory location for menu bar to find |
// Store directory location for menu bar to find |
|
|
parent.lastknownpriv='/~$uname$thisdisfn/'; |
parent.lastknownpriv='/~$uname$thisdisfn/'; |
Line 222 parent.lastknownpriv='/~$uname$thisdisfn
|
Line 223 parent.lastknownpriv='/~$uname$thisdisfn
|
|
|
function currdiract(theform) { |
function currdiract(theform) { |
if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'publish') { |
if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'publish') { |
document.publishdir.filename.value = theform.filename.value |
document.publishdir.filename.value = theform.filename.value; |
pubdir(document.publishdir) |
document.publishdir.submit(); |
} |
|
if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'publishsub') { |
|
document.publishdir.filename.value = theform.filename.value |
|
pubrecdir(document.publishdir) |
|
} |
} |
if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'editcat') { |
if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'editcat') { |
top.location=theform.filename.value+'default.meta' |
top.location=theform.filename.value+'default.meta' |
Line 238 parent.lastknownpriv='/~$uname$thisdisfn
|
Line 235 parent.lastknownpriv='/~$uname$thisdisfn
|
} |
} |
} |
} |
|
|
function pubdir(theform) { |
|
if (confirm('Publish complete directory?')) { |
|
forcepub(theform) |
|
theform.submit(); |
|
} |
|
} |
|
function pubrecdir(theform) { |
|
if (confirm('Publish directory and all subdirectories?')) { |
|
forcepub(theform); |
|
theform.pubrec.value='1'; |
|
theform.submit(); |
|
} |
|
} |
|
|
|
function forcepub(theform) { |
|
if (confirm('Force publication of unmodified files? - OK=yes; Cancel=No.')) { |
|
theform.forcerepub.value="ON"; |
|
} |
|
} |
|
|
|
function checkUpload(theform) { |
function checkUpload(theform) { |
if (theform.file == '') { |
if (theform.file == '') { |
alert("Please use 'Browse..' to choose a file first, before uploading") |
alert("Please use 'Browse..' to choose a file first, before uploading") |
Line 268 parent.lastknownpriv='/~$uname$thisdisfn
|
Line 245 parent.lastknownpriv='/~$uname$thisdisfn
|
|
|
function SetPubDir(theform,printForm) { |
function SetPubDir(theform,printForm) { |
if (theform.diraction.options[theform.diraction.selectedIndex].value == "open") { |
if (theform.diraction.options[theform.diraction.selectedIndex].value == "open") { |
top.location = theform.filename.value |
top.location = theform.openname.value |
return |
return |
} |
} |
if (theform.diraction.options[theform.diraction.selectedIndex].value == "publish") { |
if (theform.diraction.options[theform.diraction.selectedIndex].value == "publish") { |
pubdir(theform) |
theform.submit(); |
} |
|
if (theform.diraction.options[theform.diraction.selectedIndex].value == "publishsub") { |
|
pubrecdir(theform) |
|
} |
} |
if (theform.diraction.options[theform.diraction.selectedIndex].value == "editcat") { |
if (theform.diraction.options[theform.diraction.selectedIndex].value == "editcat") { |
top.location=theform.filename.value+'default.meta' |
top.location=theform.filename.value+'default.meta' |
Line 332 parent.lastknownpriv='/~$uname$thisdisfn
|
Line 306 parent.lastknownpriv='/~$uname$thisdisfn
|
ENDPUBDIRSCRIPT |
ENDPUBDIRSCRIPT |
$r->print($pubdirscript); |
$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('<h3>'.&mt('Co-Author').': '.$uname.' at '.$udom. |
$r->print('<h3>'.&mt('Co-Author').': '.$uname.' at '.$udom. |
'</h3>'); |
'</h3>'); |
} |
} |
Line 353 sub dircontrols {
|
Line 328 sub dircontrols {
|
<select name="dirtask" onChange="currdiract(this.form)"> |
<select name="dirtask" onChange="currdiract(this.form)"> |
<option>Select action</option> |
<option>Select action</option> |
<option value="publish">Publish directory</option> |
<option value="publish">Publish directory</option> |
<option value="publishsub">Publish with subdirectories</option> |
|
<option value="editcat">Edit catalog information</option> |
<option value="editcat">Edit catalog information</option> |
<option value="printdir">Print contents of directory</option> |
<option value="printdir">Print contents of directory</option> |
</select> |
</select> |
Line 362 sub dircontrols {
|
Line 336 sub dircontrols {
|
<form name="publishdir" method="post" action="/adm/publish" target="_parent"> |
<form name="publishdir" method="post" action="/adm/publish" target="_parent"> |
<input type="hidden" name="pubrec" value="" /> |
<input type="hidden" name="pubrec" value="" /> |
<input type="hidden" name="filename" value="" /> |
<input type="hidden" name="filename" value="" /> |
<input type="hidden" name="forcerepub" value="NO" /> |
|
</form> |
</form> |
<form name="printdir" method="post" action="/adm/printout" target="_parent"> |
<form name="printdir" method="post" action="/adm/printout" target="_parent"> |
<input type="hidden" name="postdata" value="" /> |
<input type="hidden" name="postdata" value="" /> |
Line 403 sub pubbuttons {
|
Line 376 sub pubbuttons {
|
$r->print('<form method="post" action="/adm/publish" target="_parent">'. |
$r->print('<form method="post" action="/adm/publish" target="_parent">'. |
'<table><tr><td><input type="hidden" name="filename" value="/~'. |
'<table><tr><td><input type="hidden" name="filename" value="/~'. |
$uname.$thisdisfn.'/" />'. |
$uname.$thisdisfn.'/" />'. |
'<input type="button" onClick="pubdir(this.form);" value="'. |
'<input type="submit" value="'.&mt('Publish Directory').'" /></td><td>'. |
&mt('Publish Directory').'" />'. |
|
'<input type="hidden" name="pubrec" value="" />'. |
|
'<input type="hidden" name="forcerepub" value="NO" />'. |
|
'<input type="button" onClick="pubrecdir(this.form);" value="'. |
|
&mt('Publish Directory and Sub Directories').'" /></td><td>'. |
|
'<input type="button" onClick="window.location='."'/~". |
'<input type="button" onClick="window.location='."'/~". |
$uname.$thisdisfn."/default.meta'".'" value="'. |
$uname.$thisdisfn."/default.meta'".'" value="'. |
&mt('Edit Directory Catalog Information').'" /></td></tr></table></form>'); |
&mt('Edit Directory Catalog Information').'" /></td></tr></table></form>'); |
Line 427 sub resourceactions {
|
Line 395 sub resourceactions {
|
<input type="hidden" name="action" value="delete" /> |
<input type="hidden" name="action" value="delete" /> |
</form> |
</form> |
<form name="pubresource" action="/adm/publish" target="_parent" method="post"> |
<form name="pubresource" action="/adm/publish" target="_parent" method="post"> |
<input type="hidden" name="pubrec" value="" /> |
|
<input type="hidden" name="filename" value="" /> |
<input type="hidden" name="filename" value="" /> |
<input type="hidden" name="forcerepub" value="NO" /> |
|
</form> |
</form> |
<form name="printresource" action="/adm/printout" target="_parent" method="post"> |
<form name="printresource" action="/adm/printout" target="_parent" method="post"> |
<input type="hidden" name="postdata" value="" /> |
<input type="hidden" name="postdata" value="" /> |
Line 512 sub putdirectory {
|
Line 478 sub putdirectory {
|
'<option value="publish">'.&mt('Publish').'</option>'. |
'<option value="publish">'.&mt('Publish').'</option>'. |
'<option value="publishsub">'.&mt('Publish with subdirectories').'</option>'. |
'<option value="publishsub">'.&mt('Publish with subdirectories').'</option>'. |
'<option value="editcat">'.&mt('Edit catalog information').'</option>'. |
'<option value="editcat">'.&mt('Edit catalog information').'</option>'. |
'<option value="printdir">'.&mt('Print directory'). |
'<option value="printdir">'.&mt('Print directory').'</option>'. |
'</select>'. |
'</select>'. |
'<input type="hidden" name="filename" value="'.$dirpath.'/'.$dirname.'/" />'. |
'<input type="hidden" name="filename" value="'.$dirpath.'/'.$dirname.'/" />'. |
'<input type="hidden" name="pubrec" value="" />'. |
'<input type="hidden" name="openname" value="'.$here.'/'.$dirname.'/" />'. |
'<input type="hidden" name="forcerepub" value="" />'. |
|
'<input type="hidden" name="postdata" value="" />'. |
'<input type="hidden" name="postdata" value="" />'. |
'</form>'; |
'</form>'; |
$$numdir ++; |
$$numdir ++; |
Line 572 sub putresource {
|
Line 537 sub putresource {
|
# $action_buttons=''; |
# $action_buttons=''; |
# } |
# } |
$title='<a href="/res/'.$targetdir.'/'.$filename. |
$title='<a href="/res/'.$targetdir.'/'.$filename. |
'.meta" target=cat>'. |
'.meta" target="cat">'. |
&getTitleString($targetdir.'/'.$filename).'</a>'; |
&getTitleString($targetdir.'/'.$filename).'</a>'; |
} else { |
} else { |
$pubstatus = 'modified'; |
$pubstatus = 'modified'; |
Line 581 sub putresource {
|
Line 546 sub putresource {
|
&mt(&getSourceRightString($targetdir.'/'.$filename)); |
&mt(&getSourceRightString($targetdir.'/'.$filename)); |
$bgcolor='#FFFF77'; |
$bgcolor='#FFFF77'; |
# $action_buttons=''; |
# $action_buttons=''; |
$title='<a href="/res/'.$targetdir.'/'.$filename.'.meta" target=cat>'. |
$title='<a href="/res/'.$targetdir.'/'.$filename.'.meta" target="cat">'. |
&getTitleString($targetdir.'/'.$filename).'</a>'; |
&getTitleString($targetdir.'/'.$filename).'</a>'; |
if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') { |
if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') { |
$status.='<br /><a href="/adm/diff?filename=/~'.$uname. |
$status.='<br /><a href="/adm/diff?filename=/~'.$uname. |
$thisdisfn.'/'.$filename. |
$thisdisfn.'/'.$filename. |
'&versiontwo=priv" target=cat>'.&mt('Diffs').'</a>'; |
'&versiontwo=priv" target="cat">'.&mt('Diffs').'</a>'; |
} |
} |
} |
} |
$title.='<br /><a href="/~'.$uname.$thisdisfn.'/'.$filename.'.meta">'. |
$title.="\n".'<br /><a href="/~'.$uname.$thisdisfn.'/'.$filename.'.meta">'. |
($$bombs{$targetdir.'/'.$filename}?'<img src="/adm/lonMisc/bomb.gif" border="0" />':'Edit Metadata').'</a>'; |
($$bombs{$targetdir.'/'.$filename}?'<img src="/adm/lonMisc/bomb.gif" border="0" />':'Edit Metadata').'</a>'; |
$status.='<br><a href="/adm/retrieve?filename=/~'.$uname. |
$status.="\n".'<br /><a href="/adm/retrieve?filename=/~'.$uname. |
$thisdisfn.'/'.$filename.'" target="_parent">'.&mt('Retrieve').'</a>'; |
$thisdisfn.'/'.$filename.'" target="_parent">'.&mt('Retrieve').'</a>'; |
} |
} |
my $editlink=''; |
my $editlink=''; |
Line 629 sub create_pubselect {
|
Line 594 sub create_pubselect {
|
$$pub_select = ' |
$$pub_select = ' |
<form name="resselect_'.$$numres.'" action=""> |
<form name="resselect_'.$$numres.'" action=""> |
<select name="reschoice" onChange="SetResChoice(this.form)"> |
<select name="reschoice" onChange="SetResChoice(this.form)"> |
<option>'.&mt('Select action'). |
<option>'.&mt('Select action').'</option>'. |
'<option value="copy"/>'.&mt('Copy'); |
'<option value="copy">'.&mt('Copy').'</option>'; |
if ($pubstatus eq 'obsolete' || $pubstatus eq 'unpublished') { |
if ($pubstatus eq 'obsolete' || $pubstatus eq 'unpublished') { |
$$pub_select .= |
$$pub_select .= |
'<option value="rename"/>'.&mt('Rename'). |
'<option value="rename">'.&mt('Rename').'</option>'. |
'<option value="move"/>'.&mt('Move'). |
'<option value="move">'.&mt('Move').'</option>'. |
'<option value="delete"/>'.&mt('Delete'); |
'<option value="delete">'.&mt('Delete').'</option>'; |
} else { |
} else { |
$$pub_select .= ' |
$$pub_select .= ' |
<option value="obsolete"/>'.&mt('Mark obsolete'); |
<option value="obsolete">'.&mt('Mark obsolete').'</option>'; |
} |
} |
# check for versions |
# check for versions |
my $versions = &check_for_versions($r,'/'.$filename,$udom,$uname); |
my $versions = &check_for_versions($r,'/'.$filename,$udom,$uname); |
if ($versions > 0) { |
if ($versions > 0) { |
$$pub_select .=' |
$$pub_select .=' |
<option value="retrieve"/>'.&mt('Retrieve old version'); |
<option value="retrieve">'.&mt('Retrieve old version').'</option>'; |
} |
} |
$$pub_select .= ' |
$$pub_select .= ' |
<option value="publish"/>'.$publish_button. |
<option value="publish">'.$publish_button.'</option>'. |
'<option value="print"/>'.&mt('Print'). |
'<option value="print">'.&mt('Print').'</option>'. |
'</select> |
'</select> |
<input type="hidden" name="filename" value="/~'. |
<input type="hidden" name="filename" value="/~'. |
$uname.$thisdisfn.'/'.$filename.'"></form>'; |
$uname.$thisdisfn.'/'.$filename.'" /></form>'; |
$$numres ++; |
$$numres ++; |
} |
} |
|
|