aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v0/sysenv.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v0/sysenv.rb')
-rw-r--r--lib/sisu/v0/sysenv.rb176
1 files changed, 114 insertions, 62 deletions
diff --git a/lib/sisu/v0/sysenv.rb b/lib/sisu/v0/sysenv.rb
index 9052ac91..0f6652b8 100644
--- a/lib/sisu/v0/sysenv.rb
+++ b/lib/sisu/v0/sysenv.rb
@@ -828,59 +828,85 @@ module SiSU_Env
@flag
end
def search?
- flag=if defined? @rc['search'] and
- defined? @rc['search']['action'] and @rc['search']['action'] =~/http:\/\// and
- defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
- defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
- flag=if promo?[:ad]
- false
- elsif defined? @vz.widget_search and @vz.widget_search == true
- true
- elsif defined? @rc['search']['flag'] and @rc['search']['flag'] == true
- true
- else
- false
+ searches=['sisu','hyperestraier']
+ flag=false
+ if defined? @rc['search']
+ searches.each do |type|
+ flag=if defined? @rc['search'][type] and
+ defined? @rc['search'][type]['action'] and
+ @rc['search'][type]['flag']==true and
+ @rc['search'][type]['action'] =~/http:\/\// #and
+ #defined? @rc['search'][type]['db'] and @rc['search'][type]['db'] =~/\S+/ # and
+ flag=if promo?[:ad]
+ false
+ elsif defined? @vz.widget_search and @vz.widget_search == true
+ true
+ elsif defined? @rc['search'][type]['flag'] and @rc['search'][type]['flag'] == true
+ true
+ else false
+ end
+ else false
+ end
end
- else
- false
+ else false
end
+ #flag=true
+ flag
end
def search_fixed?
- flag=if defined? @rc['search'] and
- defined? @rc['search']['action'] and @rc['search']['action'] =~/http:\/\// and
- defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
- defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
- flag=if promo?[:ad]
- false
- elsif defined? @vz.widget_search and @vz.widget_search == true
- true
- elsif defined? @rc['search']['flag'] and @rc['search']['flag'] == true
- true
- else
- false
+ searches=['sisu','hyperestraier']
+ flag=if defined? @rc['search']
+ searches.each do |type|
+ if defined? @rc['search'][type] and
+ defined? @rc['search'][type]['action'] and @rc['search'][type]['action'] =~/http:\/\// and
+ defined? @rc['search'][type]['db'] and @rc['search'][type]['db'] =~/\S+/ # and
+ flag=if promo?[:ad]
+ false
+ elsif defined? @vz.widget_search and @vz.widget_search == true
+ true
+ elsif defined? @rc['search'][type]['flag'] and @rc['search'][type]['flag'] == true
+ true
+ else false
+ end
+ else false
+ end
end
- else
- false
+ else false
end
end
- def search_form(action=nil,db=nil)
+ def search_form(type='sisusearch',action=nil,db=nil,table=false)
rc=SiSU_Env::Get_init.instance.yamlrc
- create_form=if action and db and action =~/http:\/\// and db =~/\S+/
+ create_form_hyperestraier=if defined? rc['search']['sisu']['flag'] and
+ rc['search']['sisu']['flag']==true and
+ action and action =~/http:\/\//; true
+ else false
+ end
+ create_form_sisu=if action and db and action =~/http:\/\// and db =~/\S+/
true
elsif widget.search?
- db=if rc['search']['db']=~/\S+/
- rc['search']['db']=~/^SiSU_\S+/ ? rc['search']['db'] : "SiSU_#{rc['search']['db']}"
+ db=if rc['search']['sisu']['flag']==true and
+ rc['search']['sisu']['db']=~/\S+/
+ rc['search']['sisu']['db']=~/^SiSU_\S+/ ? rc['search']['sisu']['db'] : "SiSU_#{rc['search']['sisu']['db']}"
else nil
end
- action=rc['search']['action']
+ action=rc['search']['sisu']['action']
true
else false
end
- if create_form
- %{<td align="center" bgcolor="#ffffff">
+ if table
+ table_open='<td align="center" bgcolor="#ffffff">'
+ table_close='</td>'
+ else
+ table_open=''
+ table_close='<br />'
+ end
+ form=if create_form_sisu and type=~/sisusearch/ and
+ defined? rc['search']['sisu']
+ <<WOK
<!-- SiSU Search -->
+#{table_open}
<a name="search"></a>
-<form method="get" action="#{rc['search']['action']}" target="_top">
+<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<br />
@@ -891,23 +917,43 @@ module SiSU_Env
<input type="radio" name="view" value="text" /> txt
<input type="submit" name="ignore" value="search" />
<input type="checkbox" name="fns" value="#{@md.fnb}" />
-</font>
-</form>
+</font></form>
+#{table_close}
<!-- SiSU Search -->
-</td> }
+WOK
+ elsif create_form_hyperestraier and type=~/hyperestraier/ and
+ defined? rc['search']['hyperestraier']
+ <<WOK
+<!-- SiSU Search using Hyperestraier -->
+#{table_open}
+<a name="search"></a>
+<form method="get" action="#{rc['search']['hyperestraier']['action']}" target="_top">
+<font size="2">
+<input type="text" name="phrase" value="" size="24" maxlength="255" />
+<br />
+<input type="submit" value="search" />
+<input type="hidden" name="enc" value="UTF-8" />
+<font size="2">
+<a href="#{rc['search']['hyperestraier']['action']}">hyperestraier search</a>
+</font></form>
+#{table_close}
+<!-- SiSU Search using Hyperestraier -->
+WOK
else ''
end
+ form
end
def search_form_static(action=nil,db=nil)
rc=SiSU_Env::Get_init.instance.yamlrc
- create_form=if action and db and action =~/http:\/\// and db =~/\S+/
+ create_form=if rc['search']['sisu']['flag']==true and
+ action and db and action =~/http:\/\// and db =~/\S+/
true
elsif widget.search_fixed?
- db=if rc['search']['db']=~/\S+/
- rc['search']['db']=~/^SiSU_\S+/ ? rc['search']['db'] : "SiSU_#{rc['search']['db']}"
+ db=if rc['search']['sisu']['flag']==true and rc['search']['sisu']['db']=~/\S+/
+ rc['search']['sisu']['db']=~/^SiSU_\S+/ ? rc['search']['sisu']['db'] : "SiSU_#{rc['search']['sisu']['db']}"
else nil
end
- action=rc['search']['action']
+ action=rc['search']['sisu']['action']
true
else false
end
@@ -915,7 +961,7 @@ module SiSU_Env
%{<td align="center" bgcolor="#ffffff">
<!-- SiSU Search -->
<a name="search"></a>
-<form method="get" action="#{rc['search']['action']}" target="_top">
+<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<br />
@@ -946,12 +992,13 @@ module SiSU_Env
@flag={ :ad=>false,:md=>false,:sk=>false,:rc=>false }
def search?
flag=if defined? @rc['search'] and
- defined? @rc['search']['action'] and @rc['search']['action'] =~/http:\/\// and
- defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
- defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
+ defined? @rc['search']['sisu'] and
+ defined? @rc['search']['sisu']['action'] and @rc['search']['sisu']['action'] =~/http:\/\// and
+ defined? @rc['search']['sisu']['db'] and @rc['search']['sisu']['db'] =~/\S+/
+ defined? @rc['search']['sisu']['db'] and @rc['search']['sisu']['db'] =~/\S+/
flag=if defined? @vz.widget_search and @vz.widget_search == true
true
- elsif defined? @rc['search']['flag'] and @rc['search']['flag'] == true
+ elsif defined? @rc['search']['sisu']['flag'] and @rc['search']['sisu']['flag'] == true
true
else
false
@@ -962,12 +1009,13 @@ module SiSU_Env
end
def search_fixed?
flag=if defined? @rc['search'] and
- defined? @rc['search']['action'] and @rc['search']['action'] =~/http:\/\// and
- defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
- defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
+ defined? @rc['search']['sisu'] and
+ defined? @rc['search']['sisu']['action'] and @rc['search']['sisu']['action'] =~/http:\/\// and
+ defined? @rc['search']['sisu']['db'] and @rc['search']['sisu']['db'] =~/\S+/
+ defined? @rc['search']['sisu']['db'] and @rc['search']['sisu']['db'] =~/\S+/
flag=if defined? @vz.widget_search and @vz.widget_search == true
true
- elsif defined? @rc['search']['flag'] and @rc['search']['flag'] == true
+ elsif defined? @rc['search']['sisu']['flag'] and @rc['search']['sisu']['flag'] == true
true
else
false
@@ -978,21 +1026,23 @@ module SiSU_Env
end
def search_form(action=nil,db=nil)
rc=SiSU_Env::Get_init.instance.yamlrc
- create_form=if action and db and action =~/http:\/\// and db =~/\S+/
+ create_form=if defined? rc['search']['sisu']['flag'] and
+ rc['search']['sisu']['flag']==true and
+ action and db and action =~/http:\/\// and db =~/\S+/
true
- elsif widget_static.search?
- db=if rc['search']['db']=~/\S+/
- rc['search']['db']=~/^SiSU_\S+/ ? rc['search']['db'] : "SiSU_#{rc['search']['db']}"
+ elsif widget_static.search? and rc['search']['sisu']['flag']==true
+ db=if rc['search']['sisu']['db']=~/\S+/
+ rc['search']['sisu']['db']=~/^SiSU_\S+/ ? rc['search']['sisu']['db'] : "SiSU_#{rc['search']['sisu']['db']}"
else nil
end
- action=rc['search']['action']
+ action=rc['search']['sisu']['action']
true
else false
end
if create_form and @fnb and @fnb=~/\S+/
%{<!-- SiSU Search -->
<a name="search"></a>
-<form method="get" action="#{rc['search']['action']}" target="_top">
+<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<br />
@@ -1007,7 +1057,7 @@ module SiSU_Env
elsif create_form
%{<!-- SiSU Search -->
<a name="search"></a>
-<form method="get" action="#{rc['search']['action']}" target="_top">
+<form method="get" action="#{rc['search']['sisu']['action']}" target="_top">
<font size="2">
<input type="text" name="s1" size="24" maxlength="255" />
<br />
@@ -1370,7 +1420,9 @@ module SiSU_Env
"#{path.webserv}/#@stub_pwd".gsub(/#{path.webserv_dir}/,"#{url.hostname}/#@stub_pwd")
elsif defined? @rc['webserv']['webrick_url'] and @rc['webserv']['webrick_url'] == false
"file://#{path.webserv}/#@stub_pwd"
- else "#{url.hostname}:#{webserv_port_cgi}/#@stub_pwd"
+ elsif webserv_port_cgi =~/\S+/
+ "#{url.hostname}:#{webserv_port_cgi}/#@stub_pwd"
+ else "#{url.hostname}/#@stub_pwd"
end
end
def webserv_base #web url for local webserv (localhost, or hostname)
@@ -1394,8 +1446,8 @@ module SiSU_Env
end
end
def sample_search_form_title
- if defined? @rc['search']['title'] and @rc['search']['title'] =~/\S+/
- @rc['search']['title']
+ if defined? @rc['search']['sisu']['title'] and @rc['search']['sisu']['title'] =~/\S+/
+ @rc['search']['sisu']['title']
else %{SiSU search form (sample):}
end
end