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