[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--