[LON-CAPA-cvs] cvs: loncom /interface groupsort.pm londocs.pm lonsearchcat.pm

www lon-capa-cvs@mail.lon-capa.org
Mon, 19 Jun 2006 09:40:20 -0000


This is a MIME encoded message

--www1150710020
Content-Type: text/plain

www		Mon Jun 19 05:40:20 2006 EDT

  Modified files:              
    /loncom/interface	groupsort.pm londocs.pm lonsearchcat.pm 
  Log:
  * don't forget selected items when switching from Search to Import
  * Bug #2674, Bug #563: import from bookmarks
  * Bug #3154: visually separate Search and Import in DOCS 
  
  
--www1150710020
Content-Type: text/plain
Content-Disposition: attachment; filename="www-20060619054020.txt"

Index: loncom/interface/groupsort.pm
diff -u loncom/interface/groupsort.pm:1.43 loncom/interface/groupsort.pm:1.44
--- loncom/interface/groupsort.pm:1.43	Thu Jun  8 09:56:31 2006
+++ loncom/interface/groupsort.pm	Mon Jun 19 05:40:17 2006
@@ -2,7 +2,7 @@
 # The LON-CAPA group sort handler
 # Allows for sorting prior to import into RAT.
 #
-# $Id: groupsort.pm,v 1.43 2006/06/08 13:56:31 www Exp $
+# $Id: groupsort.pm,v 1.44 2006/06/19 09:40:17 www Exp $
 # 
 # Copyright Michigan State University Board of Trustees
 #
@@ -191,12 +191,32 @@
     return ($shash,$thash);
 }
 
+# --------------------------------------------------------- Read from bookmarks
+
+sub readfrombookmarks {
+    my ($r,$shash,$thash)=@_;
+    my %bookmarks=&Apache::lonnet::dump('bookmarks');
+# the bookmark "hash" is just one entry
+# it's a javascript program code with arguments like ('title','url');
+    my @bookmarks=($bookmarks{'bookmarks'}=~/\((?:\'([^\']+)\'\,\'([^\']+)\'|\"([^\"]+)\"\,\"([^\"]+)\")\)\;/g);
+    my $order=1;
+    for (my $index=0;$index<($#bookmarks+1)/2;$index++) {
+        if ($bookmarks[$index*2+1]) {
+	    $$thash{$bookmarks[$index*2+1]}=$bookmarks[$index*2];
+	    $$thash{$bookmarks[$index*2+1]}=~s/^LON\-CAPA\s+//;
+	    $$shash{$bookmarks[$index*2+1]}=$order;
+	    $order++;
+	}
+    }
+    return ($shash,$thash);
+}
+
 # ---------------------------------------------------------------- Main Handler
 sub handler {
     my $r = shift;
  
    &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
-				     ['acts','mode','readfile','recover']);
+			     ['acts','mode','readfile','recover','bookmarks']);
     # color scheme
     my $fileclr = '#ffffe6';
     my $titleclr = '#ddffff';
@@ -209,7 +229,7 @@
     my $finishimport='';
     my $begincondition='';
     my $endcondition='';
-    if ($env{'form.readfile'}) {
+    if (($env{'form.readfile'}) || ($env{'form.bookmarks'}))  {
         $begincondition='if (eval("document.forms.groupsort.include"+num+".checked")) {';
 	$endcondition='}';
     }
@@ -293,13 +313,15 @@
 
     if ($env{'form.readfile'}) {
 	&readfromfile($r,\%shash,\%thash,\%nhash);
+    } elsif ($env{'form.bookmarks'}) {
+	&readfrombookmarks($r,\%shash,\%thash);
     } else {
 	&readfromdb($r,\%shash,\%thash);
     }
 
     my $ctr = 0;
     my $clen = scalar(keys %shash);
-    if (($clen > 1) || ($env{'form.readfile'})) {
+    if (($clen > 1) || ($env{'form.readfile'}) || ($env{'form.bookmarks'})) {
 	my %lt=&Apache::lonlocal::texthash(
 		'fin'=> 'Finalize order of resources',
 		'ci' => 'Continue Import',
@@ -322,6 +344,7 @@
 <input type="hidden" name="newval" value="" />
 <input type="hidden" name="mode" value="$env{'form.mode'}" />
 <input type="hidden" name="readfile" value="$env{'form.readfile'}" />
+<input type="hidden" name="bookmarks" value="$env{'form.bookmarks'}" />
 <input type="hidden" name="recover" value="$env{'form.recover'}" />
 END
 
@@ -342,7 +365,7 @@
 END
         $r->print("<table border='0'><tr><td bgcolor='#eeeeee'>");
 	$r->print("<table border=0><tr>\n");
-	if ($env{'form.readfile'}) { 
+	if (($env{'form.readfile'}) || ($env{'form.bookmarks'})) { 
 	    $r->print("<td bgcolor='$titleclr'><b>$lt{'in'}</b></td>\n");
 	} else { 
 	    $r->print("<td colspan='2' bgcolor='$titleclr'><b>$lt{'co'}</b></td>\n"); 
@@ -365,18 +388,18 @@
 	my $key=$_;
 	$ctr++;
 	my $iconname=&Apache::loncommon::icon($key);
-	if (($clen > 1) || ($env{'form.readfile'})) {
+	if (($clen > 1) || ($env{'form.readfile'}) || ($env{'form.bookmarks'})) {
 	    $r->print("<tr><td bgcolor='$fileclr'>");
-            if ($env{'form.readfile'}) {
+            if (($env{'form.readfile'}) || ($env{'form.bookmarks'})) {
 		$r->print(&checkbox($ctr-1));
 	    } else {
 		$r->print(&movers($clen,$ctr));
 	    }
 	}
 	$r->print(&hidden($ctr-1,$thash{$key},$key));
-	if (($clen > 1)  || ($env{'form.readfile'})) {
+	if (($clen > 1)  || ($env{'form.readfile'}) || ($env{'form.bookmarks'})) {
 	    $r->print("</td>");
-            unless ($env{'form.readfile'}) {
+            unless (($env{'form.readfile'}) || ($env{'form.bookmarks'})) {
 		$r->print("<td bgcolor='$fileclr'>".
 			  &select_box($clen,$ctr).
 			  "</td>");
@@ -388,7 +411,7 @@
 	    $r->print("$key</td></tr>\n");
 	} 
     }
-    if (($clen > 1) || ($env{'form.readfile'})) {
+    if (($clen > 1) || ($env{'form.readfile'}) || ($env{'form.bookmarks'})) {
 	$r->print("</table></td></tr></table></form>");
     } else {
 	$r->print(<<END);
Index: loncom/interface/londocs.pm
diff -u loncom/interface/londocs.pm:1.231 loncom/interface/londocs.pm:1.232
--- loncom/interface/londocs.pm:1.231	Thu Jun  8 12:00:54 2006
+++ loncom/interface/londocs.pm	Mon Jun 19 05:40:17 2006
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Documents
 #
-# $Id: londocs.pm,v 1.231 2006/06/08 16:00:54 www Exp $
+# $Id: londocs.pm,v 1.232 2006/06/19 09:40:17 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2303,6 +2303,7 @@
                 'upld' => 'Upload Document',
                 'srch' => 'Search',
                 'impo' => 'Import',
+		'book' => 'Import Bookmarks',
                 'selm' => 'Select Map',
                 'load' => 'Load Map',
                 'reco' => 'Recover Deleted Resources',
@@ -2439,11 +2440,14 @@
 <form action="/adm/coursedocs" method="post" name="simpleeditdefault">
 $lt{'pubd'}<br />
 $uploadtag
-<input type=button onClick="javascript:groupsearch()" value="$lt{'srch'}">
+<input type=button onClick="javascript:groupsearch()" value="$lt{'srch'}" />
+<br />
 <nobr>
-<input type=button onClick="javascript:groupimport();" value="$lt{'impo'}">
+<input type=button onClick="javascript:groupimport();" value="$lt{'impo'}" />
 $help{'Importing_LON-CAPA_Resource'}
 </nobr>
+<br />
+<input type=button onClick="javascript:groupopen(0,1,1);" value="$lt{'book'}" />
 <p>
 <hr />
 $lt{'copm'}<br />
@@ -2456,7 +2460,7 @@
 </form>
 <hr />
 <form action="/adm/groupsort" method="post" name="recover">
-<input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1)" value="$lt{'reco'}" />
+<input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" />
 </form>
 ENDFORM
        unless ($env{'form.pagepath'}) {
Index: loncom/interface/lonsearchcat.pm
diff -u loncom/interface/lonsearchcat.pm:1.269 loncom/interface/lonsearchcat.pm:1.270
--- loncom/interface/lonsearchcat.pm:1.269	Tue Jun 13 10:42:24 2006
+++ loncom/interface/lonsearchcat.pm	Mon Jun 19 05:40:18 2006
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Search Catalog
 #
-# $Id: lonsearchcat.pm,v 1.269 2006/06/13 14:42:24 www Exp $
+# $Id: lonsearchcat.pm,v 1.270 2006/06/19 09:40:18 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2114,7 +2114,7 @@
 $breadcrumbs
 <form name="statusform" action="" method="post" target="_top">
 <input type="hidden" name="catalogmode" value="import" />
-<input type="hidden" name="Queue" value="" />
+<input type="hidden" name="acts" value="" />
 END
 
 #<h2>Sort Results</h2>
@@ -2343,7 +2343,7 @@
 $start_page
 $breadcrumbs
 <form name="statusform" action="" method="post">
-<input type="hidden" name="Queue" value="" />
+<input type="hidden" name="acts" value="" />
 END
     # Remove leading and trailing <br />
     $pretty_string =~ s:^\s*<br />::i;
@@ -3063,22 +3063,22 @@
         if (document.forms.results.returnvalues.length != "undefined" &&
             typeof(document.forms.results.returnvalues.length) == "number") {
             if (document.forms.results.returnvalues[checkbox_num].checked) {
-                parent.statusframe.document.forms.statusform.elements.Queue.value +='1a'+val+'b';
+                parent.statusframe.document.forms.statusform.elements.acts.value +='1a'+val+'b';
             } else {
-                parent.statusframe.document.forms.statusform.elements.Queue.value +='0a'+val+'b';
+                parent.statusframe.document.forms.statusform.elements.acts.value +='0a'+val+'b';
             }
         } else {
             if (document.forms.results.returnvalues.checked) {
-                parent.statusframe.document.forms.statusform.elements.Queue.value +='1a'+val+'b';
+                parent.statusframe.document.forms.statusform.elements.acts.value +='1a'+val+'b';
             } else {
-                parent.statusframe.document.forms.statusform.elements.Queue.value +='0a'+val+'b';
+                parent.statusframe.document.forms.statusform.elements.acts.value +='0a'+val+'b';
             }
         }
     }
     function select_group() {
 	parent.window.location=
     "/adm/groupsort?mode=$env{'form.mode'}&catalogmode=import&acts="+
-	    parent.statusframe.document.forms.statusform.elements.Queue.value;
+	    parent.statusframe.document.forms.statusform.elements.acts.value;
     }
 </script>
 SCRIPT

--www1150710020--