aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3/cgi_sqlite.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3/cgi_sqlite.rb')
-rw-r--r--lib/sisu/v3/cgi_sqlite.rb12
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/sisu/v3/cgi_sqlite.rb b/lib/sisu/v3/cgi_sqlite.rb
index a9f9d277..78ae0f9a 100644
--- a/lib/sisu/v3/cgi_sqlite.rb
+++ b/lib/sisu/v3/cgi_sqlite.rb
@@ -141,7 +141,7 @@ module SiSU_CGI_SQLite
@l,@t,@q=l,t,q
end
def string
- search={ :search => [], :flag => false }
+ search={ search: [], flag: false }
if @t =~/\S+/ or @q =~/\S+/
if @t =~/\S+/ then unescaped_search=CGI.unescape(@t)
elsif @q =~/\S+/ then unescaped_search=CGI.unescape(@q)
@@ -163,12 +163,10 @@ module SiSU_CGI_SQLite
def search_query1
<<-'WOK_SQL'
@search_text,@search_endnotes='',''
- search[:text].flatten.each {|x| @search_text << "#{x} AND " }
- @search_text=@search_text.gsub(/AND\s+$/m,'').
- gsub(/(doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)')
- search[:endnotes].flatten.each {|x| @search_endnotes << "#{x} AND " }
- @search_endnotes=@search_endnotes.gsub(/AND\s+$/m,'').
- gsub(/(endnotes\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+endnotes\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)')
+ @search_text=search[:text].flatten.join(' AND ')
+ @search_text=@search_text.gsub(/(doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+doc_objects\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)')
+ @search_endnotes=search[:endnotes].flatten.join(' AND ')
+ @search_endnotes=@search_endnotes.gsub(/(endnotes\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\)\s+(?:(?:AND|OR)\s+endnotes\.clean\s+LIKE\s+\(\s*'%[^']+%'\s*\))+)/,'(\1)')
end
WOK_SQL
end