Diff for /loncom/interface/lonsearchcat.pm between versions 1.83 and 1.89

version 1.83, 2001/03/27 13:35:35 version 1.89, 2001/03/27 21:41:06
Line 580  sub advancedsearch { Line 580  sub advancedsearch {
  }   }
  &output_results('Advanced',$r,$envhash,$customquery,$reply);   &output_results('Advanced',$r,$envhash,$customquery,$reply);
     }      }
     else {      elsif ($customquery) {
  &output_results('Advanced',$r,$envhash,$query);   my $reply='';
    $reply=&Apache::lonnet::metadata_query('',
          $customquery,$customshow);
    &output_results('Advanced',$r,$envhash,$customquery,$reply);
     }      }
       $r->print(' '); # just in case.. hrrmm..
     return OK;      return OK;
 }  }
   
Line 686  sub output_results { Line 690  sub output_results {
   
  my $customshow='';   my $customshow='';
  my $extrashow='';   my $extrashow='';
    my @customfields;
  if ($ENV{'form.customshow'}) {   if ($ENV{'form.customshow'}) {
     $customshow=$ENV{'form.customshow'};      $customshow=$ENV{'form.customshow'};
     $customshow=~s/[^\w\s]//g;      $customshow=~s/[^\w\s]//g;
     my @fields=map {"<font color=\"#008000\">$_:</font>"}       my @fields=map {"<font color=\"#008000\">$_:</font><!-- $_ -->"} 
                    split(/\s+/,$customshow);                     split(/\s+/,$customshow);
       @customfields=split(/\s+/,$customshow);
     if ($customshow) {      if ($customshow) {
  $extrashow="<ul><li>".join("</li><li>",@fields)."</li></ul>\n";   $extrashow="<ul><li>".join("</li><li>",@fields)."</li></ul>\n";
     }      }
  }   }
  my $customdata='';   my $customdata='';
    my %customhash;
  foreach my $result (@results) {   foreach my $result (@results) {
     if ($result=~/^(custom\=.*)$/) { # grab all custom metadata      if ($result=~/^(custom\=.*)$/) { # grab all custom metadata
  $customdata.=$result;   my $tmp=$result;
    $tmp=~s/^custom\=//;
    my ($k,$v)=map {&Apache::lonnet::unescape($_);
       } split(/\,/,$tmp);
    $customhash{$k}=$v;
     }      }
  }   }
  foreach my $result (@results) {   foreach my $result (@results) {
     next if $result=~/^custom\=/;      next if $result=~/^custom\=/;
     chomp $result;      chomp $result;
       next unless $result;
     my @fields=map      my @fields=map
                    {&Apache::lonnet::unescape($_)}                     {&Apache::lonnet::unescape($_)}
                    (split(/\,/,$result));                     (split(/\,/,$result));
Line 713  sub output_results { Line 725  sub output_results {
     my $shortabstract=$abstract;      my $shortabstract=$abstract;
     $shortabstract=substr($abstract,0,200) if length($abstract)>200;      $shortabstract=substr($abstract,0,200) if length($abstract)>200;
     $fields[7]=$shortabstract;      $fields[7]=$shortabstract;
       my $extrashow2=$extrashow;
       if ($extrashow) {
    foreach my $field (@customfields) {
       my $value='';
       if ($customhash{$url}=~/\<${field}[^\>]*\>(.*?)\<\/${field}[^\>]*\>/s) {
            $value=$1;
       }
       $extrashow2=~s/\<\!\-\- $field \-\-\>/ $value/g;
    }
       }
   
       $compiledresult.=<<END if $compiledresult;
   <hr align='left' width='200' noshade />
   END
     $compiledresult.=<<END;      $compiledresult.=<<END;
 <p>  <p>
 END  END
Line 735  END Line 761  END
             if ($viewselect eq 'Detailed Citation View') {              if ($viewselect eq 'Detailed Citation View') {
  $compiledresult.=&detailed_citation_view(@fields,   $compiledresult.=&detailed_citation_view(@fields,
  $hostname,$httphost,   $hostname,$httphost,
  $extrashow);   $extrashow2);
     }      }
             elsif ($viewselect eq 'Summary View') {              elsif ($viewselect eq 'Summary View') {
  $compiledresult.=&summary_view(@fields,$hostname,$httphost,   $compiledresult.=&summary_view(@fields,$hostname,$httphost,
        $extrashow);         $extrashow2);
     }      }
             elsif ($viewselect eq 'Fielded Format') {              elsif ($viewselect eq 'Fielded Format') {
  $compiledresult.=&fielded_format_view(@fields,$hostname,   $compiledresult.=&fielded_format_view(@fields,$hostname,
       $httphost,$extrashow);        $httphost,$extrashow2);
     }      }
             elsif ($viewselect eq 'XML/SGML') {              elsif ($viewselect eq 'XML/SGML') {
  $compiledresult.=&xml_sgml_view(@fields,$hostname,$httphost,   $compiledresult.=&xml_sgml_view(@fields,$hostname,$httphost,
  $extrashow);   $extrashow2);
     }      }
   
         }          }
Line 843  sub build_custommetadata_query { Line 869  sub build_custommetadata_query {
     # quick fix to change literal into xml tag-matching      # quick fix to change literal into xml tag-matching
     # will eventually have to write a separate builder module      # will eventually have to write a separate builder module
     my $oldmatchexp=$matchexp;      my $oldmatchexp=$matchexp;
     $matchexp=~s/(\w+)\\\=(\w+)/\\\<$1\\\>\[\^\\\<\]\*$2\[\^\\\<\]\*\\\<\\\/$1\\\>/g;      $matchexp=~s/(\w+)\\\=([\w\\\+]+)/\\\<$1\\\>\[\^\\\<\]\*$2\[\^\\\<\]\*\\\<\\\/$1\\\>/g;
     return $matchexp;      return $matchexp;
 }  }
   

Removed from v.1.83  
changed lines
  Added in v.1.89


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