From 6be61200c529f7f61a89aac6158eb63026d7a44b Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 15 Jun 2007 12:05:07 +0100 Subject: cgi search script fix, related to highlighting matches, changelog update, rest removal of hanging whitespace --- data/sisu/conf/cgi-bin/sisu_search_pgsql.cgi | 72 ++++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) (limited to 'data/sisu/conf/cgi-bin/sisu_search_pgsql.cgi') diff --git a/data/sisu/conf/cgi-bin/sisu_search_pgsql.cgi b/data/sisu/conf/cgi-bin/sisu_search_pgsql.cgi index 0d2ed982..6ac1bac4 100644 --- a/data/sisu/conf/cgi-bin/sisu_search_pgsql.cgi +++ b/data/sisu/conf/cgi-bin/sisu_search_pgsql.cgi @@ -1,6 +1,6 @@ #!/usr/bin/env ruby =begin - * Name: SiSU information Structuring Universe + * Name: SiSU information Structuring Universe * Author: Ralph Amissah * http://www.jus.uio.no/sisu * http://www.jus.uio.no/sisu/SiSU/download @@ -39,11 +39,11 @@ SiSU was first released to the public on January 4th 2005 SiSU uses: - + * Standard SiSU markup syntax, * Standard SiSU meta-markup syntax, and the * Standard SiSU object citation numbering and system - + © Ralph Amissah 1997, current 2006. All Rights Reserved. @@ -69,7 +69,7 @@ class Form @base,@search_field,@selected_db,@checked_index,@checked_text,@checked_tip,@checked_searched,@checked_url,@checked_echo,@checked_sql,@checked_all,@checked_none,@checked_ignore,@search_note,@the_can=base,search_field,selected_db,checked_index,checked_text,checked_tip,checked_searched,checked_url,checked_echo,checked_sql,checked_all,checked_none,checked_ignore,search_note,the_can @tip=if checked_tip =~/\S/ 'text:__; keywords:__; title:__; author:__; subject:__; description:__; publisher:__; contributor:__; date:__; type:__; format:__; identifier:__; source:__; language:__; relation:__; coverage:__; rights:__; comment:__; abstract:__; ' - else '' + else '' end end def submission_form @@ -101,7 +101,7 @@ class Form #@tip - + echo searched @@ -335,10 +335,10 @@ class Dbi_search_statement %{SELECT metadata.title, metadata.creator, metadata.filename, endnotes.body, endnotes.nr, endnotes.ocn, endnotes.metadata_tid FROM metadata, endnotes WHERE (#@search_endnotes) AND metadata.tid = endnotes.metadata_tid ORDER BY metadata.title, endnotes.nr ;} end def sql_select_body_format - %{#{sql_select_body}} + %{#{sql_select_body}} end def sql_select_endnotes_format - %{#{sql_select_endnotes}} + %{#{sql_select_endnotes}} end def contents @conn.select_all(sql_select_body) @@ -670,8 +670,8 @@ FCGI.each_cgi do |cgi| @search=Hash.new @search[:text],@search[:endnotes]=Array.new,Array.new q=CGI.new - @db=if cgi['db'] =~/\S+/: - @stub=/SiSU_(\S+)/.match(cgi['db'])[1] + @db=if cgi['db'] =~/\S+/: + @stub=/SiSU_(\S+)/.match(cgi['db'])[1] cgi['db'] else @stub='sisu' @@ -681,17 +681,17 @@ FCGI.each_cgi do |cgi| if cgi['view']=~/text/: checked_index,checked_text='','checked' else checked_index,checked_text='checked','' end - checked_url='checked' if cgi['url'] =~/\S/ or cgi['u'].to_i==1 - checked_searched='checked' if cgi['searched'] =~/\S/ - checked_tip='checked' if cgi['tip'] =~/\S/ - checked_echo='checked' if cgi['echo'] =~/\S/ - checked_sql='checked' if cgi['sql'] =~/\S/ - if cgi['checks'] =~/check_all/ or cgi['check_all'] =~/\S/ or cgi['a'].to_i==1 + checked_url='checked' if cgi['url'] =~/\S/ or cgi['u'].to_i==1 + checked_searched='checked' if cgi['searched'] =~/\S/ + checked_tip='checked' if cgi['tip'] =~/\S/ + checked_echo='checked' if cgi['echo'] =~/\S/ + checked_sql='checked' if cgi['sql'] =~/\S/ + if cgi['checks'] =~/check_all/ or cgi['check_all'] =~/\S/ or cgi['a'].to_i==1 checked_all=checked_url=checked_searched=checked_tip=checked_echo=checked_sql='checked' - checked_none='' - elsif cgi['checks'] =~/check_none/ #or cgi['a'].to_i==0 + checked_none='' + elsif cgi['checks'] =~/check_none/ #or cgi['a'].to_i==0 checked_none='checked' - checked_all=checked_url=checked_searched=checked_tip=checked_echo=checked_sql='' + checked_all=checked_url=checked_searched=checked_tip=checked_echo=checked_sql='' else checked_ignore='checked' end selected_db=case cgi['db'] @@ -699,7 +699,7 @@ FCGI.each_cgi do |cgi| when /SiSU_sisu/: '' end dbi="dbi:Pg:database=#{@db};port=5432" - @conn=DBI.connect(dbi,user) + @conn=DBI.connect(dbi,user) search_field=cgi['find'] if cgi['find'] # =~/\S+/ @search_for=Search_request.new(search_field,q) #.analyze #% search_for #% searches @@ -731,7 +731,7 @@ FCGI.each_cgi do |cgi| canned_search_url=if checked_all =~/checked/ "#@base?#{s1}#{key}#{ti}#{au}#{sj}#{dsc}#{pb}#{cntr}#{dt}#{ty}#{id}#{src}#{lang}#{rel}#{cov}#{cr}#{co}#{ab}#{dtc}#{dti}#{dtm}#{dta}#{dtv}&db=#{cgi['db']}&view=#{cgi['view']}&a=1" else "#@base?#{s1}#{key}#{ti}#{au}#{sj}#{dsc}#{pb}#{cntr}#{dt}#{ty}#{id}#{src}#{lang}#{rel}#{cov}#{cr}#{co}#{ab}#{dtc}#{dti}#{dtm}#{dta}#{dtv}&db=#{cgi['db']}&view=#{cgi['view']}&u=1&e=1" - end + end @search[:text][1]=%{documents.clean~'#{@search_for.text1}'} #s1 @search[:endnotes][1]=%{endnotes.clean~'#{@search_for.text1}'} #s1 canned_note='previous search url:' @@ -750,7 +750,7 @@ FCGI.each_cgi do |cgi| af.gsub!(/%2B/,' ') analyze_format=af st=af.split(/\s*;\s*/) - search_field=st.join("\n") + search_field=st.join("\n") end green=%{} the_can=%{#{canned_note}
#{canned_search_url}

} @@ -786,7 +786,7 @@ WOK #dbi_canning @header=Form.new(@base,search_field,selected_db,checked_index,checked_text,checked_tip,checked_searched,checked_url,checked_echo,checked_sql,checked_all,checked_none,checked_ignore,search_note,the_can).submission_form #% form @tail=Tail.new.tail - unless q['s1'] =~/\S/ or q['au'] =~/\S/ or @search[:text][1] =~/\S/ + unless q['s1'] =~/\S/ or q['au'] =~/\S/ or @search[:text][1] =~/\S/ print "Content-type: text/html\n\n" puts (@header+@tail) else #% searches @@ -805,7 +805,7 @@ WOK @body_main=Array.new @endnotes=Array.new oldtid=0 - if @text_search_flag + if @text_search_flag if checked_sql =~/\S/ sql_select_body=dbi_statement.sql_select_body_format sql_select_endnotes=dbi_statement.sql_select_endnotes_format @@ -822,14 +822,14 @@ WOK #metadata_found_body if c["tid"].to_i != oldtid.to_i title=%{#{c["title"]} by #{c["creator"]} pdf portraitpdf landscape
} if file_suffix=~/s/ #hmm watch file_suffix - if @text_search_flag: title='

'+title - else title='
'+title + if @text_search_flag: title='

'+title + else title='
'+title end @counter_txt_doc+=1 oldtid=c["tid"].to_i else title='' end - if @text_search_flag + if @text_search_flag if cgi['view']=~/text/ #% txt body text=if c["suffix"] !~/1/ #seg if @search_for.text1 =~/\S+/ or q['s1'] =~/\S+/ #% only this branch is working !! @@ -848,22 +848,22 @@ WOK @search_regx=search_regex.to_s end matched_para=c["body"].gsub(/(#@search_regx)/i,%{\\1}) - %{

ocn #{c["ocn"]}:

#{matched_para}} + %{

ocn #{c["ocn"]}:

#{matched_para}} elsif c["suffix"] =~/1/ #doc %{#{title}

ocn #{c["ocn"]}:#{c["body"]}} end @counter_txt_ocn+=1 output=if c["seg"] =~/\S+/: title+text - else text + else text end elsif cgi['view']=~/index/ #% idx body if c["suffix"] !~/1/ #seg - index=%{#{c["ocn"]}, } if @text_search_flag + index=%{#{c["ocn"]}, } if @text_search_flag elsif c["suffix"] =~/1/ #doc - index=%{#{c["ocn"]}, } + index=%{#{c["ocn"]}, } end - if c["seg"] =~/\S+/ - if @text_search_flag + if c["seg"] =~/\S+/ + if @text_search_flag @counter_txt_ocn+=1 output=title+index end @@ -874,8 +874,8 @@ WOK end end end - else output=title - end + else output=title + end @counters_txt=if @counter_txt_doc > 0 %{Found in the main body of #@counter_txt_doc documents, and at #@counter_txt_ocn locations within.
} else '' @@ -889,7 +889,7 @@ WOK file_suffix=e["filename"][/.+?\.(ss[ftms])/, 1] #metadata_found_endnotes if @text_search_flag - if e["metadata_tid"].to_i != oldtid.to_i + if e["metadata_tid"].to_i != oldtid.to_i title=%{


#{e["title"]} by #{e["creator"]} pdf portraitpdf landscape
} if file_suffix=~/s/ @counter_endn_doc+=1 oldtid=e["metadata_tid"].to_i @@ -898,7 +898,7 @@ WOK if cgi['view']=~/text/ #% txt endnotes @counter_endn_ocn+=1 matched_endnote=e["body"].gsub(/(#@search_regx)/i,%{\\1}) - output=%{#{title}
note #{e["nr"]} referred to from ocn #{e["ocn"]}: #{matched_endnote}} + output=%{#{title}
note #{e["nr"]} referred to from ocn #{e["ocn"]}: #{matched_endnote}} elsif cgi['view']=~/index/ #% idx endnotes @counter_endn_ocn+=1 output=%{#{title}#{e["nr"]}#{e["ocn"]}], } -- cgit v1.2.3