/[nn.old]/trunk/search/nn-swish.cgi
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/search/nn-swish.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 73 by dpavlin, Thu Jun 20 07:57:05 2002 UTC revision 76 by dpavlin, Wed Jun 26 08:55:39 2002 UTC
# Line 5  use CGI qw/:standard -no_xhtml/; Line 5  use CGI qw/:standard -no_xhtml/;
5  use Text::Query;  use Text::Query;
6  use CGI::Carp qw(fatalsToBrowser);  use CGI::Carp qw(fatalsToBrowser);
7  use SWISH;  use SWISH;
8    use Unicode::String qw(utf8 utf16);
9  require Unicode::Map8;  require Unicode::Map8;
10    
11  my $dir='/home/dpavlin/nn/swish';  my $dir='/home/dpavlin/nn/swish';
# Line 18  print end_form,hr; Line 19  print end_form,hr;
19    
20  if (param('search')) {  if (param('search')) {
21    
22          my $s=param('search');          my $s;
23            # re-write query from +/- to and/and not
24            foreach (split(/\s+/,param('search'))) {
25                    if (m/^([+-])(\S+)/) {
26                            $s.= ($s) ? "and " : "";
27                            $s.="not " if ($1 eq "-");
28                            $s.="$2 ";
29                    } else {
30                            $s .= "$_ ";
31                    }
32            }
33          $s=~tr/šðžèæŠÐŽÈÆ/¹ð¾èæ©Ð®ÈÆ/;  # 1250 -> iso8859-2          $s=~tr/šðžèæŠÐŽÈÆ/¹ð¾èæ©Ð®ÈÆ/;  # 1250 -> iso8859-2
34          $s=~tr/¹©ðÐèÈæƾ®/sSdDcCcCzZ/;          $s=~tr/¹©ðÐèÈæƾ®/sSdDcCcCzZ/;
35    
36          my $l2_map = Unicode::Map8->new("ISO-8859-2") || die;          my $l2_map = Unicode::Map8->new("ISO-8859-2") || die;
37          #my $utf8_map = Unicode::Map8->new("utf8") || die;          my $us = Unicode::String->new();
38    
39          my $sh = SWISH->connect('Fork',          my $sh = SWISH->connect('Fork',
40                  prog     => "$dir/swish-e",                  prog     => "$dir/swish-e",
# Line 32  if (param('search')) { Line 43  if (param('search')) {
43                  results  => sub {                  results  => sub {
44                          my ($sh,$hit) = @_;                          my ($sh,$hit) = @_;
45    
46                          my $us=$hit->swishtitle;                          $us->utf8($hit->swishtitle);
47    
48                          print "<a href=\"",$hit->swishdocpath,"\"><tt>NN",$hit->god,"/",$hit->br,"</a> ",$hit->nr," </tt>",$hit->swishtitle,"</a> [",$hit->swishrank,"]<br>\n";                          print "<a href=\"",$hit->swishdocpath,"\"><tt>NN",$hit->god,"/",$hit->br,"</a> ",$hit->nr," </tt>",$l2_map->to8($us->utf16),"</a> [",$hit->swishrank,"]<br>\n";
49    
50  #                       print $_[1]->as_string,"<br>\n";  #                       print $_[1]->as_string,"<br>\n";
51  #                       my @fields = $hit->field_names;  #                       my @fields = $hit->field_names;
# Line 47  if (param('search')) { Line 58  if (param('search')) {
58          $hits = $sh->query("naslov_czs=($s)");          $hits = $sh->query("naslov_czs=($s)");
59    
60          if ($hits > 0) {          if ($hits > 0) {
61                  print p,hr,"Naðeno je $hits zakona...";                  print p,hr,"Naðeno je $hits zakona... <small>($s)</small>";
62          } else {          } else {
63                  print p,"Nije naðen niti jedan zakon... (",$sh->errstr,")";                  print p,"Nije naðen niti jedan zakon... <small>($s, ",$sh->errstr,")</small>";
64          }          }
65  } else {  } else {
66          print p('Kod pretra¾ivanja pretra¾ivaè pronalazi sve zakone u kojima se pojavljuju <b>sve upisanje rijeèi</b>.',br,'Ako ispred rijeèi upi¹ete minus (-) neæe se prikazivati zakoni koji imaju takvu rijeè. Npr. <tt>+kava +zakon -dopunama</tt>');          print p('Kod pretra¾ivanja pretra¾ivaè pronalazi sve zakone u kojima se pojavljuju <b>sve upisanje rijeèi</b>.',br,'Ako ispred rijeèi upi¹ete minus (-) neæe se prikazivati zakoni koji imaju takvu rijeè. Npr. <tt>+kava +zakon -dopunama</tt>');

Legend:
Removed from v.73  
changed lines
  Added in v.76

  ViewVC Help
Powered by ViewVC 1.1.26