version 1.90, 2006/04/18 22:38:08
|
version 1.94, 2006/06/26 22:47:27
|
Line 36 use Apache::Constants qw(:common :http :
|
Line 36 use Apache::Constants qw(:common :http :
|
use Apache::loncacc; |
use Apache::loncacc; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
|
use Apache::londiff(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonmsg; |
use Apache::lonmsg; |
use Apache::lonmenu; |
use Apache::lonmenu; |
Line 104 sub handler {
|
Line 105 sub handler {
|
|
|
# Start off the directory table. |
# Start off the directory table. |
$r->print('<h3>Directory Contents:</h3>'); |
$r->print('<h3>Directory Contents:</h3>'); |
$r->print('<table border="0" cellspacing="2" cellpadding="2"><tr>'. |
$r->print('<table id="LC_browser"><tr>'. |
'<th bgcolor="#DDDDDD">'.&mt('Type').'</th>'. |
'<th>'.&mt('Type').'</th>'. |
'<th bgcolor="#DDDDDD">'.&mt('Actions').'</th>'. |
'<th>'.&mt('Actions').'</th>'. |
'<th bgcolor="#DDDDDD">'.&mt('Name').'</th>'. |
'<th>'.&mt('Name').'</th>'. |
'<th bgcolor="#DDDDDD">'.&mt('Title').'</th>'. |
'<th>'.&mt('Title').'</th>'. |
'<th bgcolor="#DDDDDD">'.&mt('Status').'</th>'. |
'<th>'.&mt('Status').'</th>'. |
'<th bgcolor="#DDDDDD">'.&mt('Last Modified'). |
'<th>'.&mt('Last Modified'). |
'</th></tr>'."\n"); |
'</th></tr>'."\n"); |
|
|
my $filename; |
my $filename; |
Line 194 sub startpage {
|
Line 195 sub startpage {
|
|
|
my $formaction='/priv/'.$uname.$thisdisfn.'/'; |
my $formaction='/priv/'.$uname.$thisdisfn.'/'; |
$formaction=~s|/+|/|g; |
$formaction=~s|/+|/|g; |
my $pagetitle .= &Apache::loncommon::help_open_menu('','','','',3,'Authoring'). |
my $pagetitle .= &Apache::loncommon::help_open_menu('','',3,'Authoring'). |
'<font face="Arial, Helvetica, sans-serif" size="+1"><b>Construction Space</b>:</font> '. |
'<font face="Arial, Helvetica, sans-serif" size="+1"><b>Construction Space</b>:</font> '. |
'<form name="dirs" method="post" action="'.$formaction. |
'<form name="dirs" method="post" action="'.$formaction. |
'" target="_parent"><tt><b>'. |
'" target="_parent"><tt><b>'. |
Line 363 sub dircontrols {
|
Line 364 sub dircontrols {
|
updc => 'Upload a new document' |
updc => 'Upload a new document' |
); |
); |
$r->print(<<END); |
$r->print(<<END); |
<table cellspacing="4" cellpadding="4" width="100%"> |
<table id="LC_cstr_controls"> |
<tr> |
<tr> |
<td bgcolor="#DDDDDD" align="center"><font face="Arial, Helvetica, sans-serif" size="-1"><b>$lt{'acti'}</b></font></td> |
<th>$lt{'acti'}</th> |
<td bgcolor="#DDDDDD" align="center"><font face="Arial, Helvetica, sans-serif" size="-1"><b>$lt{'updc'}</b></font></td> |
<th>$lt{'updc'}</th> |
<td bgcolor="#DDDDDD" align="center"><font face="Arial, Helvetica, sans-serif" size="-1"><b>$lt{'crea'}</b></font></td> |
<th>$lt{'crea'}</th> |
</tr> |
</tr> |
<tr> |
<tr> |
<td bgcolor="#ccddaa" valign="top" align="center"> |
<td> |
<form name="curractions" method="post" action=""> |
<form name="curractions" method="post" action=""> |
<select name="dirtask" onchange="currdiract(this.form)"> |
<select name="dirtask" onchange="currdiract(this.form)"> |
<option>$lt{'sela'}</option> |
<option>$lt{'sela'}</option> |
Line 389 sub dircontrols {
|
Line 390 sub dircontrols {
|
<input type="hidden" name="postdata" value="" /> |
<input type="hidden" name="postdata" value="" /> |
</form> |
</form> |
</td> |
</td> |
<td bgcolor="#ccddaa" valign="top" align="center"> |
<td> |
<form name="upublisher" enctype="multipart/form-data" method="post" action="/adm/upload" target="_parent"> |
<form name="upublisher" enctype="multipart/form-data" method="post" action="/adm/upload" target="_parent"> |
<input type="hidden" name="filename" value="/~$uname$thisdisfn/" /> |
<input type="hidden" name="filename" value="/~$uname$thisdisfn/" /> |
<input type="file" name="upfile" size="20" /> |
<input type="file" name="upfile" size="20" /> |
<input type="button" value="$lt{'uplo'}" onclick="checkUpload(this.form)" /> |
<input type="button" value="$lt{'uplo'}" onclick="checkUpload(this.form)" /> |
</form> |
</form> |
</td> |
</td> |
<td bgcolor="#ccddaa" align="center"> |
<td> |
<form name="fileaction" method="post" action="/adm/cfile" target="_parent"> |
<form name="fileaction" method="post" action="/adm/cfile" target="_parent"> |
<nobr> |
<span style="white-space: nowrap"> |
<input type="hidden" name="filename" value="/~$uname$thisdisfn/" /> |
<input type="hidden" name="filename" value="/~$uname$thisdisfn/" /> |
<select name="action"> |
<select name="action"> |
<option value="Select Action">$lt{'sela'}</option> |
<option value="Select Action">$lt{'sela'}</option> |
Line 412 sub dircontrols {
|
Line 413 sub dircontrols {
|
<option value="newlibraryfile">$lt{'nlib'}:</option> |
<option value="newlibraryfile">$lt{'nlib'}:</option> |
<option value="newdir">$lt{'nsub'}:</option> |
<option value="newdir">$lt{'nsub'}:</option> |
</select> <input type="text" name="newfilename" value="Type Name Here" onfocus="if (this.value == 'Type Name Here') this.value=''" /> <input type="button" value="Go" onclick="document.fileaction.submit()" /> |
</select> <input type="text" name="newfilename" value="Type Name Here" onfocus="if (this.value == 'Type Name Here') this.value=''" /> <input type="button" value="Go" onclick="document.fileaction.submit()" /> |
</nobr> |
</span> |
</form> |
</form> |
</td> |
</td> |
</tr> |
</tr> |
Line 539 sub putdirectory {
|
Line 540 sub putdirectory {
|
'</form>'; |
'</form>'; |
$$numdir ++; |
$$numdir ++; |
} |
} |
$r->print('<tr bgcolor="#CCCCFF">'. |
$r->print('<tr class="LC_browser_folder">'. |
'<td><img src="'. |
'<td><img src="'. |
$Apache::lonnet::perlvar{'lonIconsURL'}.'/folder_closed.gif" alt="folder" /></td>'. |
$Apache::lonnet::perlvar{'lonIconsURL'}.'/folder_closed.gif" alt="folder" /></td>'. |
'<td>'.$actionitem.'</td>'. |
'<td>'.$actionitem.'</td>'. |
'<td><font face="arial"><a href="'.&HTML::Entities::encode($here.'/'.$dirname,'<>&"').'/" target="_parent">'. |
'<td><span class="LC_filename"><a href="'.&HTML::Entities::encode($here.'/'.$dirname,'<>&"').'/" target="_parent">'. |
$disfilename.'</a></font></td>'. |
$disfilename.'</a></span></td>'. |
'<td colspan="2">'.($kaputt?&Apache::lonhtmlcommon::authorbombs($resdir.'/'.$disfilename.'/'):'').$Apache::lonpublisher::metadatafields{'title'}.' <i>'. |
'<td colspan="2">'.($kaputt?&Apache::lonhtmlcommon::authorbombs($resdir.'/'.$disfilename.'/'):'').$Apache::lonpublisher::metadatafields{'title'}); |
$Apache::lonpublisher::metadatafields{'subject'}.'</i> '. |
if ($Apache::lonpublisher::metadatafields{'subject'} ne '') { |
$Apache::lonpublisher::metadatafields{'keywords'}.'</td>'. |
$r->print(' <i>'. |
|
$Apache::lonpublisher::metadatafields{'subject'}. |
|
'</i> '); |
|
} |
|
$r->print($Apache::lonpublisher::metadatafields{'keywords'}.'</td>'. |
'<td>'.&Apache::lonlocal::locallocaltime($modtime).'</td>'. |
'<td>'.&Apache::lonlocal::locallocaltime($modtime).'</td>'. |
"</tr>\n"); |
"</tr>\n"); |
} |
} |
Line 563 sub putresource {
|
Line 568 sub putresource {
|
&Apache::lonnet::devalidate_cache_new('meta',$targetdir.'/'.$filename); |
&Apache::lonnet::devalidate_cache_new('meta',$targetdir.'/'.$filename); |
my $pubstatus = 'unpublished'; |
my $pubstatus = 'unpublished'; |
my $status=&mt('Unpublished'); |
my $status=&mt('Unpublished'); |
my $bgcolor='#FFAA99'; |
my $css_class='LC_browser_file'; |
my $title=' '; |
my $title=' '; |
my $publish_button=&mt('Publish'); |
my $publish_button=&mt('Publish'); |
# my $action_buttons= |
# my $action_buttons= |
Line 571 sub putresource {
|
Line 576 sub putresource {
|
# $uname.'/'.$thisdisfn.'/'.$filename.'">'. |
# $uname.'/'.$thisdisfn.'/'.$filename.'">'. |
# &mt('Delete').'</a>'; |
# &mt('Delete').'</a>'; |
if (-e $resdir.'/'.$filename) { |
if (-e $resdir.'/'.$filename) { |
|
my $same=0; |
my ($rdev,$rino,$rmode,$rnlink, |
my ($rdev,$rino,$rmode,$rnlink, |
$ruid,$rgid,$rrdev,$rsize, |
$ruid,$rgid,$rrdev,$rsize, |
$ratime,$rmtime,$rctime, |
$ratime,$rmtime,$rctime, |
$rblksize,$rblocks)=stat($resdir.'/'.$filename); |
$rblksize,$rblocks)=stat($resdir.'/'.$filename); |
|
if ($rmtime>=$cmtime) { |
|
$same=1; |
|
} else { |
|
if (&Apache::londiff::are_different_files($resdir.'/'.$filename, |
|
'/home/'.$uname.'/public_html/'.$thisdisfn.'/'.$filename)) { |
|
$same=0; |
|
} else { |
|
$same=1; |
|
} |
|
} |
$publish_button=&mt('Re-publish'); |
$publish_button=&mt('Re-publish'); |
if ($rmtime>=$cmtime) { |
if ($same) { |
$pubstatus = 'published'; |
$pubstatus = 'published'; |
$status=&mt('Published').'<br />'. |
$status=&mt('Published').'<br />'. |
&mt(&getCopyRightString($targetdir.'/'.$filename)).' '. |
&mt(&getCopyRightString($targetdir.'/'.$filename)).' '. |
&mt(&getSourceRightString($targetdir.'/'.$filename)); |
&mt(&getSourceRightString($targetdir.'/'.$filename)); |
$bgcolor='#CCFF88'; |
|
if (&Apache::lonnet::metadata($targetdir.'/'.$filename,'obsolete')) { |
if (&Apache::lonnet::metadata($targetdir.'/'.$filename,'obsolete')) { |
$pubstatus = 'obsolete'; |
$pubstatus = 'obsolete'; |
$status=&mt('Obsolete'); |
$status=&mt('Obsolete'); |
$bgcolor='#AAAAAA'; |
|
} |
} |
# } else { |
# } else { |
# $action_buttons=''; |
# $action_buttons=''; |
Line 598 sub putresource {
|
Line 612 sub putresource {
|
$status=&mt('Modified').'<br />'. |
$status=&mt('Modified').'<br />'. |
&mt(&getCopyRightString($targetdir.'/'.$filename)).' '. |
&mt(&getCopyRightString($targetdir.'/'.$filename)).' '. |
&mt(&getSourceRightString($targetdir.'/'.$filename)); |
&mt(&getSourceRightString($targetdir.'/'.$filename)); |
$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>'; |
Line 632 sub putresource {
|
Line 645 sub putresource {
|
} |
} |
my $pub_select = ''; |
my $pub_select = ''; |
&create_pubselect($r,\$pub_select,$udom,$uname,$thisdisfn,$filename,$resdir,$pubstatus,$publish_button,$numres); |
&create_pubselect($r,\$pub_select,$udom,$uname,$thisdisfn,$filename,$resdir,$pubstatus,$publish_button,$numres); |
$r->print('<tr bgcolor="'.$bgcolor.'">'. |
$r->print('<tr class="LC_browser_file_'.$pubstatus.'">'. |
'<td>'.($filename=~/[\#\~]$/?' ': |
'<td>'.($filename=~/[\#\~]$/?' ': |
'<img src="'.&Apache::loncommon::icon($filename).'" alt="" />').'</td>'. |
'<img src="'.&Apache::loncommon::icon($filename).'" alt="" />').'</td>'. |
'<td>'.$pub_select.'</td>'. |
'<td>'.$pub_select.'</td>'. |
'<td><font face="arial">'. |
'<td><span class="LC_filename"> '. |
'<a href="'.$linkdir.'/'.$filename.'" target="_parent">'. |
'<a href="'.$linkdir.'/'.$filename.'" target="_parent">'. |
$filename.'</a></font>'.$editlink2.$editlink. |
$filename.'</a></span>'.$editlink2.$editlink. |
'</td>'. |
'</td>'. |
'<td>'.$title.'</td>'. |
'<td>'.$title.'</td>'. |
'<td>'.$status.'</td>'. |
'<td>'.$status.'</td>'. |