[LON-CAPA-cvs] cvs: loncom /publisher lonpubdir.pm lonpublisher.pm
www
lon-capa-cvs@mail.lon-capa.org
Tue, 17 May 2005 00:46:38 -0000
This is a MIME encoded message
--www1116290798
Content-Type: text/plain
www Mon May 16 20:46:38 2005 EDT
Modified files:
/loncom/publisher lonpubdir.pm lonpublisher.pm
Log:
Work on force publication using different copyright, etc.
--www1116290798
Content-Type: text/plain
Content-Disposition: attachment; filename="www-20050516204638.txt"
Index: loncom/publisher/lonpubdir.pm
diff -u loncom/publisher/lonpubdir.pm:1.78 loncom/publisher/lonpubdir.pm:1.79
--- loncom/publisher/lonpubdir.pm:1.78 Thu Apr 7 02:56:26 2005
+++ loncom/publisher/lonpubdir.pm Mon May 16 20:46:36 2005
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Construction Space Directory Lister
#
-# $Id: lonpubdir.pm,v 1.78 2005/04/07 06:56:26 albertel Exp $
+# $Id: lonpubdir.pm,v 1.79 2005/05/17 00:46:36 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -223,12 +223,8 @@
function currdiract(theform) {
if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'publish') {
- document.publishdir.filename.value = theform.filename.value
- pubdir(document.publishdir)
- }
- if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'publishsub') {
- document.publishdir.filename.value = theform.filename.value
- pubrecdir(document.publishdir)
+ document.publishdir.filename.value = theform.filename.value;
+ document.publishdir.submit();
}
if (theform.dirtask.options[theform.dirtask.selectedIndex].value == 'editcat') {
top.location=theform.filename.value+'default.meta'
@@ -239,26 +235,6 @@
}
}
- 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? - Cancel=No; OK=yes.')) {
- theform.forcerepub.value="ON";
- }
- }
-
function checkUpload(theform) {
if (theform.file == '') {
alert("Please use 'Browse..' to choose a file first, before uploading")
@@ -273,10 +249,7 @@
return
}
if (theform.diraction.options[theform.diraction.selectedIndex].value == "publish") {
- pubdir(theform)
- }
- if (theform.diraction.options[theform.diraction.selectedIndex].value == "publishsub") {
- pubrecdir(theform)
+ theform.submit();
}
if (theform.diraction.options[theform.diraction.selectedIndex].value == "editcat") {
top.location=theform.filename.value+'default.meta'
@@ -355,7 +328,6 @@
<select name="dirtask" onChange="currdiract(this.form)">
<option>Select action</option>
<option value="publish">Publish directory</option>
- <option value="publishsub">Publish with subdirectories</option>
<option value="editcat">Edit catalog information</option>
<option value="printdir">Print contents of directory</option>
</select>
@@ -364,7 +336,6 @@
<form name="publishdir" method="post" action="/adm/publish" target="_parent">
<input type="hidden" name="pubrec" value="" />
<input type="hidden" name="filename" value="" />
- <input type="hidden" name="forcerepub" value="NO" />
</form>
<form name="printdir" method="post" action="/adm/printout" target="_parent">
<input type="hidden" name="postdata" value="" />
@@ -405,12 +376,7 @@
$r->print('<form method="post" action="/adm/publish" target="_parent">'.
'<table><tr><td><input type="hidden" name="filename" value="/~'.
$uname.$thisdisfn.'/" />'.
- '<input type="button" onClick="pubdir(this.form);" value="'.
-&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="submit" value="'.&mt('Publish Directory').'" /></td><td>'.
'<input type="button" onClick="window.location='."'/~".
$uname.$thisdisfn."/default.meta'".'" value="'.
&mt('Edit Directory Catalog Information').'" /></td></tr></table></form>');
@@ -429,9 +395,7 @@
<input type="hidden" name="action" value="delete" />
</form>
<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="forcerepub" value="NO" />
</form>
<form name="printresource" action="/adm/printout" target="_parent" method="post">
<input type="hidden" name="postdata" value="" />
@@ -518,8 +482,6 @@
'</select>'.
'<input type="hidden" name="filename" value="'.$dirpath.'/'.$dirname.'/" />'.
'<input type="hidden" name="openname" value="'.$here.'/'.$dirname.'/" />'.
- '<input type="hidden" name="pubrec" value="" />'.
- '<input type="hidden" name="forcerepub" value="" />'.
'<input type="hidden" name="postdata" value="" />'.
'</form>';
$$numdir ++;
Index: loncom/publisher/lonpublisher.pm
diff -u loncom/publisher/lonpublisher.pm:1.192 loncom/publisher/lonpublisher.pm:1.193
--- loncom/publisher/lonpublisher.pm:1.192 Thu Apr 7 02:56:27 2005
+++ loncom/publisher/lonpublisher.pm Mon May 16 20:46:36 2005
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Publication Handler
#
-# $Id: lonpublisher.pm,v 1.192 2005/04/07 06:56:27 albertel Exp $
+# $Id: lonpublisher.pm,v 1.193 2005/05/17 00:46:36 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -353,6 +353,11 @@
return "\n".'<input type="hidden" name="'.$name.'" value="'.$value.'" />';
}
+sub checkbox {
+ my ($name,$text)=@_;
+ return "\n<br /><input type='checkbox' name='$name' /> $text";
+}
+
sub selectbox {
my ($title,$name,$value,$functionref,@idlist)=@_;
$title=&mt($title);
@@ -1703,47 +1708,57 @@
&mt('Target').': <tt>'.$resdir.'</tt><br />');
my $dirptr=16384; # Mask indicating a directory in stat.cmode.
-
- opendir(DIR,$fn);
- my @files=sort(readdir(DIR));
- foreach my $filename (@files) {
- my ($cdev,$cino,$cmode,$cnlink,
- $cuid,$cgid,$crdev,$csize,
- $catime,$cmtime,$cctime,
- $cblksize,$cblocks)=stat($fn.'/'.$filename);
-
- my $extension='';
- if ($filename=~/\.(\w+)$/) { $extension=$1; }
- if ($cmode&$dirptr) {
- if (($filename!~/^\./) && ($env{'form.pubrec'})) {
- &publishdirectory($r,$fn.'/'.$filename,$thisdisfn.'/'.$filename);
- }
- } elsif ((&Apache::loncommon::fileembstyle($extension) ne 'hdn') &&
- ($filename!~/^[\#\.]/) && ($filename!~/\~$/)) {
+ unless ($env{'form.phase'} eq 'two') {
+# ask user what they want
+ $r->print('<form name="pubdirpref" method="post">'.
+ &hiddenfield('phase','two').
+ &hiddenfield('filename',$env{'form.filename'}).
+ &checkbox('pubrec','include subdirectories').
+ &checkbox('forcerepub','force republication of previously published files'));
+ $r->print('<input type="submit" value="'.&mt('Publish Directory').'" /></form>');
+ } else {
+# actually publish things
+ opendir(DIR,$fn);
+ my @files=sort(readdir(DIR));
+ foreach my $filename (@files) {
+ my ($cdev,$cino,$cmode,$cnlink,
+ $cuid,$cgid,$crdev,$csize,
+ $catime,$cmtime,$cctime,
+ $cblksize,$cblocks)=stat($fn.'/'.$filename);
+
+ my $extension='';
+ if ($filename=~/\.(\w+)$/) { $extension=$1; }
+ if ($cmode&$dirptr) {
+ if (($filename!~/^\./) && ($env{'form.pubrec'})) {
+ &publishdirectory($r,$fn.'/'.$filename,$thisdisfn.'/'.$filename);
+ }
+ } elsif ((&Apache::loncommon::fileembstyle($extension) ne 'hdn') &&
+ ($filename!~/^[\#\.]/) && ($filename!~/\~$/)) {
# find out publication status and/or exiting metadata
- my $publishthis=0;
- if (-e $resdir.'/'.$filename) {
- my ($rdev,$rino,$rmode,$rnlink,
- $ruid,$rgid,$rrdev,$rsize,
- $ratime,$rmtime,$rctime,
- $rblksize,$rblocks)=stat($resdir.'/'.$filename);
- if (($rmtime<$cmtime) || ($env{'form.forcerepub'} eq 'ON')) {
+ my $publishthis=0;
+ if (-e $resdir.'/'.$filename) {
+ my ($rdev,$rino,$rmode,$rnlink,
+ $ruid,$rgid,$rrdev,$rsize,
+ $ratime,$rmtime,$rctime,
+ $rblksize,$rblocks)=stat($resdir.'/'.$filename);
+ if (($rmtime<$cmtime) || ($env{'form.forcerepub'})) {
# previously published, modified now
- $publishthis=1;
- }
- } else {
+ $publishthis=1;
+ }
+ } else {
# never published
- $publishthis=1;
- }
- if ($publishthis) {
- &batchpublish($r,$fn.'/'.$filename,$resdir.'/'.$filename);
- } else {
- $r->print('<br />'.&mt('Skipping').' '.$filename.'<br />');
+ $publishthis=1;
+ }
+ if ($publishthis) {
+ &batchpublish($r,$fn.'/'.$filename,$resdir.'/'.$filename);
+ } else {
+ $r->print('<br />'.&mt('Skipping').' '.$filename.'<br />');
+ }
+ $r->rflush();
}
- $r->rflush();
}
+ closedir(DIR);
}
- closedir(DIR);
}
#########################################
@@ -1976,7 +1991,7 @@
if ($fn=~/\/$/) {
# -------------------------------------------------------- This is a directory
&publishdirectory($r,$fn,$thisdisfn);
- $r->print('<hr><font size="+2">'.&mt('Done').'</font><br><a href="/priv/'
+ $r->print('<hr /><a href="/priv/'
.$cuname.'/'.$thisdisfn
.'">'.&mt('Return to Directory').'</a>');
--www1116290798--