Diff for /loncom/lonsql between versions 1.11 and 1.24

version 1.11, 2001/03/26 19:46:47 version 1.24, 2001/03/27 19:01:05
Line 212  sub make_new_child { Line 212  sub make_new_child {
     my $userinput = <$client>;      my $userinput = <$client>;
     chomp($userinput);      chomp($userinput);
                   
     my ($conserver,$querytmp,$customtmp)=split(/&/,$userinput);      my ($conserver,$querytmp,
    $customtmp,$customshowtmp)=split(/&/,$userinput);
     my $query=unescape($querytmp);      my $query=unescape($querytmp);
     my $custom=unescape($customtmp);      my $custom=unescape($customtmp);
       my $customshow=unescape($customshowtmp);
   
             #send query id which is pid_unixdatetime_runningcounter              #send query id which is pid_unixdatetime_runningcounter
     $queryid = $thisserver;      $queryid = $thisserver;
Line 223  sub make_new_child { Line 225  sub make_new_child {
     $queryid .= $run;      $queryid .= $run;
     print $client "$queryid\n";      print $client "$queryid\n";
           
       &logthis("QUERY: $query\n");
             #prepare and execute the query              #prepare and execute the query
     my $sth = $dbh->prepare($query);      my $sth = $dbh->prepare($query);
     my $result;      my $result;
       my @files;
       my $subsetflag=0;
     unless ($sth->execute())      unless ($sth->execute())
     {      {
  &logthis("<font color=blue>WARNING: Could not retrieve from database: $@</font>");   &logthis("<font color=blue>WARNING: Could not retrieve from database: $@</font>");
Line 233  sub make_new_child { Line 238  sub make_new_child {
     }      }
     else {      else {
  my $r1=$sth->fetchall_arrayref;   my $r1=$sth->fetchall_arrayref;
  my @r2; map {my $a=$_; my @b=map {escape($_)} @$a; push @r2,join(",", @b)} (@$r1);   my @r2;
  $result=join("&",@r2) . "\n";   map {my $a=$_; 
        my @b=map {escape($_)} @$a;
        push @files,@{$a}[3];
        push @r2,join(",", @b)
        } (@$r1);
    $result=join("&",@r2);
     }      }
   
     # do custom metadata searching here and build into result      # do custom metadata searching here and build into result
     if ($custom) {      if ($custom) {
  &logthis("am going to do custom query for $custom");   &logthis("am going to do custom query for $custom");
  @metalist=(); pop @metalist;   if (@files) {
  &find("$perlvar{'lonDocRoot'}/res");      @metalist=map {$perlvar{'lonDocRoot'}.$_.'.meta'} @files;
  &logthis("FILELIST:" . join(":::",@metalist));   }
    else {
       @metalist=(); pop @metalist;
       &find("$perlvar{'lonDocRoot'}/res");
    }
   # &logthis("FILELIST:" . join(":::",@metalist));
  # if file is indicated in sql database and   # if file is indicated in sql database and
  # not part of sql-relevant query, do not pattern match.   # not part of sql-relevant query, do not pattern match.
  # if file is not in sql database, output error.   # if file is not in sql database, output error.
  # if file is indicated in sql database and is   # if file is indicated in sql database and is
  # part of query result list, then do the pattern match.   # part of query result list, then do the pattern match.
    my $customresult='';
  foreach my $m (@metalist) {   foreach my $m (@metalist) {
     my $fh=IO::File->new($m);      my $fh=IO::File->new($m);
     my @lines=<$fh>;      my @lines=<$fh>;
     my $stuff=join('',@lines);      my $stuff=join('',@lines);
     if ($stuff=~/$custom/s) {      if ($stuff=~/$custom/s) {
  &logthis("found: $stuff");   foreach my $f ('abstract','author','copyright',
          'creationdate','keywords','language',
          'lastrevisiondate','mime','notes',
          'owner','subject','title') {
       $stuff=~s/\n?\<$f[^\>]*\>.*?<\/$f[^\>]*\>\n?//;
    }
    my $m2=$m; my $docroot=$perlvar{'lonDocRoot'};
    $m2=~s/^$docroot//; $m2=~s/\.meta$//;
   # &logthis("found: $stuff");
    $customresult.='&custom='.escape($m2).','.escape($stuff);
     }      }
  }   }
    $result.=$customresult;
     }      }
     # reply with result      # reply with result
       $result.="\n" if $result;
             &reply("queryreply:$queryid:$result",$conserver);              &reply("queryreply:$queryid:$result",$conserver);
   
         }          }

Removed from v.1.11  
changed lines
  Added in v.1.24


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.