Diff for /loncom/homework/lonmaxima.pm between versions 1.1 and 1.4

version 1.1, 2006/03/11 16:28:03 version 1.4, 2006/06/12 14:22:01
Line 31  package Apache::lonmaxima; Line 31  package Apache::lonmaxima;
 use strict;  use strict;
 use IO::Socket;  use IO::Socket;
 use Apache::lonnet;  use Apache::lonnet;
   use LONCAPA;
   
 sub connect {  sub connect {
    return IO::Socket::UNIX->new(Peer    => $Apache::lonnet::perlvar{'lonSockDir'}.'/maximasock',     return IO::Socket::UNIX->new(Peer    => $Apache::lonnet::perlvar{'lonSockDir'}.'/maximasock',
Line 46  sub disconnect { Line 47  sub disconnect {
 sub maximareply {  sub maximareply {
     my ($socket,$cmd)=@_;      my ($socket,$cmd)=@_;
     if ($socket) {      if ($socket) {
  print $socket &Apache::lonnet::escape($cmd)."\n";   print $socket &escape($cmd)."\n";
         my $reply=<$socket>;          my $reply=<$socket>;
         chomp($reply);          chomp($reply);
         if ($reply=~/^Incorrect/) { $reply='Error: '.$reply; }          if ($reply=~/^Incorrect/) { $reply='Error: '.$reply; }
         return &Apache::lonnet::unescape($reply);          return &unescape($reply);
     } else {      } else {
         return 'Error: no connection.';          return 'Error: no connection.';
     }      }
Line 59  sub maximareply { Line 60  sub maximareply {
 sub blacklisted {  sub blacklisted {
     my ($cmd)=@_;      my ($cmd)=@_;
     foreach my $forbidden ('save','load','plot','lisp','includ','compil','file','batch','stringout','translat','stout','stin','block','system') {      foreach my $forbidden ('save','load','plot','lisp','includ','compil','file','batch','stringout','translat','stout','stin','block','system') {
  if ($cmd=~/$forbidden/) { return 1; }   if ($cmd=~/$forbidden/s) { return 1; }
     }       } 
     return 0;      return 0;
 }  }
Line 73  sub compareterms { Line 74  sub compareterms {
     if ($reply=~/^Error\:/) { return $reply; }      if ($reply=~/^Error\:/) { return $reply; }
     return 'false';      return 'false';
 }  }
   
   sub maxima_check {
       my ($response,$answer,$type,
           $tol_type,$tol,
           $sig_lbound,$sig_ubound,
           $ans_fmt,$unit,$calc,$id_list,
           $points,
           $randomseed,
           $reterror) = @_;
       my $socket=&connect();
       my $reply=&compareterms($socket,$response,$answer);
       &disconnect($socket);
       if ($reply eq 'true') { return 1; }
       return 7;
   }
     
 1;  1;
 __END__;  __END__;

Removed from v.1.1  
changed lines
  Added in v.1.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>