[LON-CAPA-cvs] cvs: rat / lonratedt.pm

www lon-capa-cvs@mail.lon-capa.org
Mon, 13 May 2002 19:23:52 -0000


www		Mon May 13 15:23:52 2002 EDT

  Modified files:              
    /rat	lonratedt.pm 
  Log:
  Can now transfer files to the import window
  
  
Index: rat/lonratedt.pm
diff -u rat/lonratedt.pm:1.12 rat/lonratedt.pm:1.13
--- rat/lonratedt.pm:1.12	Mon May 13 11:36:05 2002
+++ rat/lonratedt.pm	Mon May 13 15:23:52 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Edit Handler for RAT Maps
 #
-# $Id: lonratedt.pm,v 1.12 2002/05/13 15:36:05 www Exp $
+# $Id: lonratedt.pm,v 1.13 2002/05/13 19:23:52 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -175,37 +175,80 @@
    undef @targetselect;
    if (defined($ENV{'form.import'})) {
        if (ref($ENV{'form.import'})) {
-	   @importselect=$ENV->{'form.import'};
+	   @importselect=sort($ENV->{'form.import'});
        } else {
            @importselect=($ENV{'form.import'});
        }
    }
    if (defined($ENV{'form.target'})) {
        if (ref($ENV{'form.target'})) {
-	   @targetselect=$ENV->{'form.target'};
+	   @targetselect=sort($ENV->{'form.target'});
        } else {
            @targetselect=($ENV{'form.target'});
        }
    }
-# --------------------------------------------------------- 
+# ============================================================ Process commands
 
-   my $targetdetail=();
-
-   my @imporder=();
-   my @impresources=();
+   my $targetdetail='';
    my $importdetail='';
+
+# ---------------------------------------------------- Importing from groupsort
+   if ($ENV{'form.importdetail'}) {
+
+       my @curimport=split(/\&/,$ENV{'form.curimpdetail'});
+
+       my $lastsel;
+
+       if (defined($importselect[-1])) {
+	   $lastsel=$importselect[-1];
+       } else {
+           $lastsel=$#curimport;
+       }
+
+       for (my $i=0;$i<=$lastsel;$i++) {
+           my ($name,$url)=split(/\=/,$curimport[$i]);
+           if ($url) {
+              $importdetail.='&'.&Apache::lonnet::escape($name).'='.
+		 	         &Apache::lonnet::escape($url);
+	   }
+       }
+
+      $importdetail.='&'.$ENV{'form.importdetail'};
+
+       for (my $i=$lastsel+1;$i<=$#curimport;$i++) {
+           my ($name,$url)=split(/\=/,$curimport[$i]);
+           if ($url) {
+              $importdetail.='&'.&Apache::lonnet::escape($name).'='.
+		 	         &Apache::lonnet::escape($url);
+	  }
+       }
+       $importdetail=~s/\&+/\&/g;
+       $importdetail=~s/^\&//;
+
+# --------------------------------------------------------
+   }
+
 # ------------------------------------------------------------ Assemble windows
 
-   my $importwindow=join("\n",map { 
-       my ($name)=split(/\:/,$impresources[$_]);
-       unless ($name) { $name='UNKNOWN'; }
-       '<option value="'.$_.'">'.$name.'</option>';
-   } @imporder);
+   my $idx=-1;
+   my $importwindow=join("\n",map {
+       $idx++;
+       if ($_) { 
+          my ($name)=split(/\=/,$_);
+          unless ($name) { $name='UNKNOWN'; }
+          '<option value="'.$idx.'">'.&Apache::lonnet::unescape($name).
+                                    '</option>';
+      }
+   } split(/\&/,$importdetail));
 
+   $idx=0;
    my $targetwindow=join("\n",map { 
-       my ($name)=split(/\:/,$resources[$_]);
+       my ($name,$url)=split(/\:/,$resources[$_]);
        unless ($name) { $name='UNKNOWN'; }
-       '<option value="'.$_.'">'.$name.'</option>';
+       $targetdetail.='&'.&Apache::lonnet::escape($name).'='.
+	                  &Apache::lonnet::escape($url);
+       $idx++;
+       '<option value="'.$idx.'_'.$_.'">'.$name.'</option>';
    } @order);
 
 # ----------------------------------------------------- Start simple RAT screen
@@ -296,7 +339,7 @@
 <body bgcolor='#FFFFFF'>
 $buttons
 <font color=red>$errtext</font>
-<form method=post>
+<form name=simpleedit method=post>
 <input type=hidden name=forcesmp value=1>
 <table>
     <tr><th width="40%">Import</th>
@@ -304,7 +347,7 @@
 <th width="40%">Target</th></tr>
 <tr><td bgcolor="#FFFFCC">
 <input type=button onClick="javascript:groupsearch()" value="Group Search">
-<input type=button onClick="javascript:groupimport()" value="Group Import">
+<input type=button onClick="javascript:groupimport();" value="Group Import">
 <input type=button onClick="javascript:viewimport()" value="View">
     </td><td>&nbsp;</td><td bgcolor="#FFFFCC">
 <input type=button onClick="javascript:viewtarget()" value="View">
@@ -324,7 +367,8 @@
 $targetwindow
 </select>
 </table>
-<input type=hidden name=importdetail value="$importdetail">
+<input type=hidden name=importdetail value="">
+<input type=hidden name=curimpdetail value="$importdetail">
 <input type=hidden name=targetdetail value="$targetdetail">
 </form>
 </body></html>