[LON-CAPA-cvs] cvs: loncom /homework randomlabel.pm

albertel lon-capa-cvs@mail.lon-capa.org
Mon, 23 Feb 2004 23:25:39 -0000


albertel		Mon Feb 23 18:25:39 2004 EDT

  Modified files:              
    /loncom/homework	randomlabel.pm 
  Log:
  - wroks correctly with new randomlylabel mechanism
  
  
Index: loncom/homework/randomlabel.pm
diff -u loncom/homework/randomlabel.pm:1.58 loncom/homework/randomlabel.pm:1.59
--- loncom/homework/randomlabel.pm:1.58	Wed Feb 11 16:59:49 2004
+++ loncom/homework/randomlabel.pm	Mon Feb 23 18:25:39 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # random labelling tool
 #
-# $Id: randomlabel.pm,v 1.58 2004/02/11 21:59:49 albertel Exp $
+# $Id: randomlabel.pm,v 1.59 2004/02/23 23:25:39 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -93,8 +93,7 @@
 	    $bgimg='/home/httpd/html/adm/lonKaputt/lonlogo_broken.gif';
 	}
     }
-    $Apache::randomlabel::tlabel_cnt=0;
-    $Apache::randomlabel::ilabel_cnt=0;
+    $Apache::randomlabel::obj_cnt=0;
     if ($target eq 'web') {
 	$cgi_id=&Apache::loncommon::get_cgi_id();
 	%args=();
@@ -135,10 +134,8 @@
     my $count;
     pop @Apache::lonxml::namespace;
     if ($target eq 'web') {
-	$count = $Apache::randomlabel::tlabel_cnt;
-	if( $count != 0) { $args{"cgi.$cgi_id.COUNT"}=$count; }
-	$count = $Apache::randomlabel::ilabel_cnt;
-	if( $count != 0) { $args{"cgi.$cgi_id.ICOUNT"}=$count; }
+	$count = $Apache::randomlabel::obj_cnt;
+	if( $count != 0) { $args{"cgi.$cgi_id.OBJCOUNT"}=$count; }
 	$result.='<img src="/adm/randomlabel.png?token='.$cgi_id.'" /><br />'."\n";
 	&Apache::lonnet::appenv(%args);
     } elsif ($target eq 'tex') {
@@ -291,34 +288,25 @@
 	&Apache::structuretags::shuffle(\@idx_arr);
 	for(0 .. $#Apache::randomlabel::label_arr) {
 	    my $str;
-	    my $xstr;
-	    my $ystr;
 	    my $label = "$Apache::randomlabel::label_arr[ $idx_arr[$_] ]";
 	    my $x = $Apache::randomlabel::xcoord[$_];
 	    my $y = $Apache::randomlabel::ycoord[$_];
 	    my $value = $Apache::randomlabel::value[$_];
+	    my $i=$Apache::randomlabel::obj_cnt++;
 	    if( $type eq 'text') {
 		&add_vars($gname,$_,$label,$idx_arr[$_],$value,'',$safeeval);
-		$str = 'LB'.$Apache::randomlabel::tlabel_cnt;
-		$xstr = 'X'.$Apache::randomlabel::tlabel_cnt;
-		$ystr = 'Y'.$Apache::randomlabel::tlabel_cnt;
-		$Apache::randomlabel::tlabel_cnt += 1;
+		$str = join(':',$x,$y,&Apache::lonnet::escape($label));
+		$args{"cgi.$cgi_id.OBJTYPE"}.='LABEL:';
 	    } elsif ( $type eq 'image') {
 		&add_vars($gname,$_,
 			  $Apache::randomlabel::description[$idx_arr[$_]],
 			  $idx_arr[$_],$value,$label,$safeeval);
-		$str = 'IMG'.$Apache::randomlabel::ilabel_cnt;
-		$xstr = 'IX'.$Apache::randomlabel::ilabel_cnt;
-		$ystr = 'IY'.$Apache::randomlabel::ilabel_cnt;
-		$Apache::randomlabel::ilabel_cnt += 1;
+		$str = join(':',$x,$y,&Apache::lonnet::escape($label));
+		$args{"cgi.$cgi_id.OBJTYPE"}.='IMAGE:';
 	    } else {
 		&Apache::lonxml::error('Unknown type of label :'.$type.':');
 	    }
-	    if ($target eq 'web') {
-		$args{"cgi.$cgi_id.$str"} =&Apache::lonnet::escape($label);
-		$args{"cgi.$cgi_id.$xstr"}=$x;
-		$args{"cgi.$cgi_id.$ystr"}=$y;
-	    }
+	    if ($target eq 'web') { $args{"cgi.$cgi_id.OBJ$i"} =$str; }
 	}
     } elsif ($target eq 'tex') {
 	my $WX1=0; #  Web x-coord. of upper left corner (ULC)