Diff for /loncom/lonsql between versions 1.15 and 1.21

version 1.15, 2001/03/26 20:31:25 version 1.21, 2001/03/27 13:35:35
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 226  sub make_new_child { Line 228  sub make_new_child {
             #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;
     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 236  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.
Line 254  sub make_new_child { Line 267  sub make_new_child {
     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);
     }      }
     $customresult.='&custom='.escape($stuff);  
  }   }
 # $result.=$customresult;   $result.=$customresult;
     }      }
     # reply with result      # reply with result
     $result.="ABCABC";      $result.="\n" if $result;
             &reply("queryreply:$queryid:${result}DEF",$conserver);              &reply("queryreply:$queryid:$result",$conserver);
   
         }          }
           

Removed from v.1.15  
changed lines
  Added in v.1.21


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