aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2007-08-22 23:56:36 +0100
committerRalph Amissah <ralph@amissah.com>2007-08-22 23:56:36 +0100
commitf5364f306f06da07d5be423452ac8f94d089eea0 (patch)
tree5de6e612c913def4b6de90422fb4cf17d7d96006
parentMerge branch 'upstream' into debian/sid (diff)
parentversion bump to 0.57, minor addition to markup (a header to heading shortcut)... (diff)
Merge branch 'upstream' into debian/sid
-rw-r--r--CHANGELOG24
-rw-r--r--conf/sisu/sisurc.yml14
-rw-r--r--lib/sisu/v0/css.rb1
-rw-r--r--lib/sisu/v0/dal_syntax.rb5
-rw-r--r--lib/sisu/v0/help.rb11
-rw-r--r--lib/sisu/v0/html_format.rb2
-rw-r--r--lib/sisu/v0/html_promo.rb52
-rw-r--r--lib/sisu/v0/html_scroll.rb4
-rw-r--r--lib/sisu/v0/odf.rb9
-rw-r--r--lib/sisu/v0/param.rb8
-rw-r--r--lib/sisu/v0/param_identify_markup.rb7
-rw-r--r--lib/sisu/v0/sst_identify_markup.rb22
-rw-r--r--lib/sisu/v0/sysenv.rb176
13 files changed, 220 insertions, 115 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 1b0ff017..03c016d8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -6,18 +6,30 @@ Reverse Chronological:
%% STABLE MANIFEST
-%% sisu_0.56.4.orig.tar.gz (2007-08-21:34/2)
-http://www.jus.uio.no/sisu/pkg/src/sisu_0.56.4.orig.tar.gz
- sisu_0.56.4.orig.tar.gz
- sisu_0.56.4-1.dsc
- sisu_0.56.4-1.diff.gz
+%% sisu_0.57.0.orig.tar.gz (2007-08-22:34/3)
+http://www.jus.uio.no/sisu/pkg/src/sisu_0.57.0.orig.tar.gz
+ sisu_0.57.0.orig.tar.gz
+ sisu_0.57.0-1.dsc
+ sisu_0.57.0-1.diff.gz
+
+ * markup addition, headings, shortcut for top level title (and author)
+ :A~ @title @author (also available for level 2 (or 3) author) [version bump]
+
+ * param markup identifier (and identifier) updated to identify markup
+ addition in 0.57, :A~ @title
* manifest
* use relative link by default
* in absence of configured url_root (http://) use info on location on local
filesystem (file://)
- * html outputs, navigation band/banner adjustment
+ * html search form in navigation band/banner and promo, adjustments,
+ hyperestraier option offered in promo, requires change in sisurc.yml
+
+ * sisurc.yml requires changes to make use search form options, [version
+ bump] sample updated and commented out
+
+ * html outputs, navigation band/banner adjustment, in concordance and manifest
* html scroll, fix to document information link in table of contents
diff --git a/conf/sisu/sisurc.yml b/conf/sisu/sisurc.yml
index ab07108e..1b14116c 100644
--- a/conf/sisu/sisurc.yml
+++ b/conf/sisu/sisurc.yml
@@ -111,8 +111,12 @@ program_set:
# xml_viewer: 'xml-viewer'
#promo: sisu_icon, sisu, sisu_search_libre, open_society, fsf, ruby
#search:
-# flag: true
-# action: http://localhost:8081/cgi-bin/sisu_sqlite.cgi
-## action: http://search.sisudoc.org
-# db: sisu
-# title: sample search form
+# sisu:
+# flag: true
+## action: http://localhost:8081/cgi-bin/sisu_pgsql.cgi
+# action: http://search.sisudoc.org
+# db: sisu
+# title: sample search form
+# hyperestraier:
+# flag: true
+# action: http://search.sisudoc.org/cgi-bin/estseek.cgi?
diff --git a/lib/sisu/v0/css.rb b/lib/sisu/v0/css.rb
index df53f46a..d1e6832a 100644
--- a/lib/sisu/v0/css.rb
+++ b/lib/sisu/v0/css.rb
@@ -434,6 +434,7 @@ WOK
}
li {
background: url(../image/bullet_red.png) no-repeat 0px 6px;
+ /* list-style-type: disc; */
padding-left: 20px;
display: block;
font-family: #{fonts};
diff --git a/lib/sisu/v0/dal_syntax.rb b/lib/sisu/v0/dal_syntax.rb
index dfa7478d..703d9f1b 100644
--- a/lib/sisu/v0/dal_syntax.rb
+++ b/lib/sisu/v0/dal_syntax.rb
@@ -185,7 +185,7 @@ module Syntax
# _2 <:i2> #indent paragraph 2 steps
# _3 <:i3> #indent paragraph 3 steps
# _4 <:i4> #indent paragraph 4 steps
- # _* #bullet (list)
+ # _* #bullet (list) ●
# _1* #bullet (list) indented
# _1* #bullet (list) indented
# # #numbered (list) level 1
@@ -209,6 +209,9 @@ module Syntax
line=line_array.join(' ')
line=line.strip
end
+ line.gsub!(/^(1~\??) @title\s+(?:(by\s+)?(?:@creator|@author))\s*$/,"\\1 #{@md.title} - #{@md.subtitle},<br />\\2#{@md.dc_creator}")
+ line.gsub!(/^(1~\??) @title\s*$/,"\\1 #{@md.title} - #{@md.subtitle}") #
+ line.gsub!(/^([23]~\??) (?:(by\s+)?(?:@creator|@author))\s*$/,"\\1 \\2#{@md.dc_creator}") #
line.gsub!(/<(https?:\/\/\S+?)>/,'< \1 >') #catch problem markup
line.gsub!(/<:=(\S+?)>/,'{ c_\1.png 14x14 }http://www.jus.uio.no/sisu') #adjustment 2005w30
line.gsub!(/<!(\S+)!>/,'<:\1>') #escaped special character
diff --git a/lib/sisu/v0/help.rb b/lib/sisu/v0/help.rb
index 4e7a60f9..e22808d1 100644
--- a/lib/sisu/v0/help.rb
+++ b/lib/sisu/v0/help.rb
@@ -1498,7 +1498,7 @@ WOK
sisu-0.38 is provided with 0.38 markup samples
sample marked up documents are provided in directory:
- #{@cX.green}sisu-exampless/sample/document_samples_sisu_markup/#{@cX.off}
+ #{@cX.green}sisu-examples/sample/document_samples_sisu_markup/#{@cX.off}
and online
#{@cX.green}www.jus.uio.no/sisu#{@cX.off}
WOK
@@ -1710,7 +1710,7 @@ WOK
Note on databases built
By default, [unless otherwise specified] databases are built on a directory basis, from collections of documents within that directory.
The name of the directory you choose to work from is used as the database name,
- i.e. if you are working in a directory called #{@cX.blue}#{@env.path.home}/ebook#{@cX.off} the database #{@cX.blue}ebook#{@cX.off} is used. [otherwise a manual mapping for the collection is necessary]
+ i.e. if you are working in a directory called #{@cX.blue}#{@env.path.home}/ebook#{@cX.off} the database #{@cX.blue}SiSU_ebook#{@cX.off} is used. [otherwise a manual mapping for the collection is necessary]
WOK
help_search
help_general
@@ -1728,9 +1728,6 @@ WOK
See the documentation for hyperestraier
#{@cX.blue}
http://hyperestraier.sourceforge.net/
- http://hyperestraier.sourceforge.net/intro-en.html
- http://hyperestraier.sourceforge.net/uguide-en.html
- http://hyperestraier.sourceforge.net/pguide-en.html
file:///usr/share/doc/hyperestraier/index.html
#{@cX.off} #{@cX.orange}
@@ -1778,14 +1775,14 @@ WOK
(ii) edit #{@cX.green}estseek.conf#{@cX.off}, with attention to the lines starting 'indexname:' and 'replace:': #{@cX.green}
indexname: #{@env.path.webserv}/casket
- replace: ^file://#{@env.path.webserv}{{!}}#{@env.url.webrick_base}
+ replace: ^file://#{@env.path.webserv}{{!}}#{@env.url.webserv_host_base}
replace: /index\.html?${{!}}/ #{@cX.off}
(C) to test using webrick, start webrick: #{@cX.green}
sisu -W #{@cX.off}
and try open the url: #{@cX.blue}
- #{@env.url.webrick_base}/cgi-bin/estseek.cgi #{@cX.off}
+ #{@env.url.webserv_host_base}/cgi-bin/estseek.cgi #{@cX.off}
WOK
end
diff --git a/lib/sisu/v0/html_format.rb b/lib/sisu/v0/html_format.rb
index c568a509..29700e83 100644
--- a/lib/sisu/v0/html_format.rb
+++ b/lib/sisu/v0/html_format.rb
@@ -208,7 +208,7 @@ module SiSU_HTML_Format
end
def search
env=SiSU_Env::Info_env.new(@md.fns,@md)
- env.widget.search_form
+ env.widget.search_form('sisusearch',nil,nil,true)
end
def manifest
%{<td align="center" bgcolor=#{@vz.color_band2}>
diff --git a/lib/sisu/v0/html_promo.rb b/lib/sisu/v0/html_promo.rb
index cc60f4c9..c4e18184 100644
--- a/lib/sisu/v0/html_promo.rb
+++ b/lib/sisu/v0/html_promo.rb
@@ -143,25 +143,35 @@ module SiSU_HTML_promo
def blurb
@prod['blurb'] ? %{<p class="pane_blurb">#{@prod['blurb']}</p>} : ''
end
- def search_form
+ def search_form_sisu(table=true)
db=if @prod['db']=~/\S+/
@prod['db']=~/^SiSU_\S+/ ? @prod['db'] : "SiSU_#{@prod['db']}"
- elsif defined? @rc['search']['db'] and @rc['search']['db'] =~/\S+/
- @rc['search']['db']=~/^SiSU_\S+/ ? @prod['search']['db'] : "SiSU_#{@prod['db']}"
+ elsif defined? @rc['search']['sisu']['db'] and @rc['search']['sisu']['db'] =~/\S+/
+ @rc['search']['sisu']['db']=~/^SiSU_\S+/ ? @prod['search']['sisu']['db'] : "SiSU_#{@prod['db']}"
else nil
end
- #target=@prod['target']=~/^\S+/ ? @prod['target'] : '_top'
action=if @prod['action']=~/^http:\/\//
@prod['action']
- elsif defined? @rc['search']['action'] and @rc['search']['action'] =~/^http:\/\//
- @rc['search']['action']
+ elsif defined? @rc['search']['sisu']['action'] and @rc['search']['sisu']['action'] =~/^http:\/\//
+ @rc['search']['sisu']['action']
else nil
end
form=if action and db
- '<br />' + @env.widget.search_form(action,db)
+ '<br />' + @env.widget.search_form('sisusearch',action,db,table)
else ''
end
end
+ def search_form_hyperestraier(table=true)
+ action=if defined? @rc['search']['hyperestraier']['action'] and @rc['search']['hyperestraier']['action'] =~/^http:\/\//
+ @rc['search']['hyperestraier']['action']
+ else nil
+ end
+ form=if action
+ '<br />' + @env.widget.search_form('hyperestraier',action,'',table)
+ else ''
+ end
+ form
+ end
def links
if @prod['links'] #and @prod['links'] == Array
links_a=[]
@@ -268,10 +278,15 @@ WOK
#{cell.links}
WOK
end
- def output_form_search(type,id)
+ def output_form_search_sisu(type,id)
prod_id=id.gsub(/id_/,'')
cell=cell(@ad[:promo][type][id],prod_id)
- cell.search_form
+ cell.search_form_sisu(false)
+ end
+ def output_form_search_hyperestraier(type,id)
+ prod_id=id.gsub(/id_/,'')
+ cell=cell(@ad[:promo][type][id],prod_id)
+ cell.search_form_hyperestraier(false)
end
def output_form_book(type,id)
prod_id=id.gsub(/id_/,'')
@@ -329,7 +344,10 @@ WOK
when /sponsor/
output_form_sponsor(type,id)
when /search/
- output_form_search(type,id)
+ if id=~/hyperestraier/
+ output_form_search_hyperestraier(type,id)
+ else output_form_search_sisu(type,id)
+ end
when /book/
output_form_book(type,id)
when /journal/
@@ -338,13 +356,13 @@ WOK
output_form_conference(type,id)
end
end
- def advert_extract_single(type,id) #extracts single item of type with id
- #type === book,journal,conference,sponsor
- id=id.to_s.gsub(/^(\d)/,'id_\1')
- if defined? @ad[:promo][type][id] and @ad[:promo][type][id]
- output_form_select(type,id)
- end
- end
+ #def advert_extract_single(type,id) #extracts single item of type with id
+ # #type === book,journal,conference,sponsor
+ # id=id.to_s.gsub(/^(\d)/,'id_\1')
+ # if defined? @ad[:promo][type][id] and @ad[:promo][type][id]
+ # output_form_select(type,id)
+ # end
+ #end
def advert_extract_subject(category) #extracts products from category/subject list
adverts=[]
if defined? @ad[:promo_list][category] and @ad[:promo_list][category]
diff --git a/lib/sisu/v0/html_scroll.rb b/lib/sisu/v0/html_scroll.rb
index 3739f660..b2cfb497 100644
--- a/lib/sisu/v0/html_scroll.rb
+++ b/lib/sisu/v0/html_scroll.rb
@@ -140,7 +140,6 @@ module SiSU_HTML_scroll
format_seg=SiSU_HTML_Format_type::Format_seg.new(@md,one,two)
para=format_seg.no_paranum
end
- #para=para.gsub(/ [2-6]~\S+ /,'') #and @md.cmd =~/[VM]/ #arbitrary, watch problematic as too general
para='' if (para =~/<a name="n\d+">/ and para =~/^(?:\^~\d+\s|<!e[:_]\d+!>)/) # hmmm re-adjusted 200507, for alt endnote which should again be matched ^~ ... not in response to problem though
if para =~/<:center>/ #rules changed now a <p class="center" problems may arise 2005w11 !
one,two=/(.*)<:center>(.*)/.match(para).captures
@@ -153,9 +152,6 @@ module SiSU_HTML_scroll
unless @rcdc; @scr[:body] << para unless para =~/\A\s*\Z/
else @scr[:metadata] << para
end
- #unless meta; @scr[:body] << para unless para =~/\A\s*\Z/
- #else @scr[:metadata] << meta
- #end
end
end
@scr
diff --git a/lib/sisu/v0/odf.rb b/lib/sisu/v0/odf.rb
index f6d6d942..11d14bf2 100644
--- a/lib/sisu/v0/odf.rb
+++ b/lib/sisu/v0/odf.rb
@@ -465,16 +465,15 @@ module SiSU_ODF
para=para_array.join(' ')
para=para.strip
end
- para.gsub!(/^(<:i[1-9]>\s+)?_\*\s+/,'\\1<draw:frame draw:style-name="gr1" text:anchor-type="as-char" svg:width="0.25cm" svg:height="0.25cm" draw:z-index="2"><draw:image xlink:href="Pictures/bullet_red.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame> ') # bullet_red.png
- #para.gsub!(/^_\*\s+/,'<text:span text:style-name="T6">·</text:span> ') #bullet
+ para.gsub!(/^(<:i[1-9]>\s+)?_\*\s+/,'\1<draw:frame draw:style-name="gr1" text:anchor-type="as-char" svg:width="0.22cm" svg:height="0.22cm" draw:z-index="2"><draw:image xlink:href="Pictures/bullet_red.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame> ') # bullet_red.png
+ #para.gsub!(/^(<:i[1-9]>\s+)?_\*\s+/,'\1<text:span text:style-name="T6">●</text:span> ') #bullet
+ #para.gsub!(/^(<:i[1-9]>\s+)?_\*\s+/,'\1● ') # bullet utf8, make smaller if used
+ #para.gsub!(/^_\*\s+/,'<text:span text:style-name="T6">●</text:span> ') #bullet
para.gsub!(/^(<:i[1-9]>)\s+_\*\s+/,'\1 <text:span text:style-name="T6">·</text:span> ') #bullet
- #para.gsub!(/^(<:i[1-9]>\s+)?_\*\s+/,'\\1<draw:frame draw:style-name="gr1" text:anchor-type="as-char" svg:width="0.25cm" svg:height="0.25cm" draw:z-index="2"><draw:image xlink:href="Pictures/bullet_red.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame> ') # bullet_red.png
- #para.gsub!(/^(<:i[1-9]>)\s+_\*\s+/,'\1 <text:span text:style-name="T6">·</text:span> ') #bullet
para.gsub!(/<br>/,'<br />')
para.gsub!(/<:p[bn]>/,'<text:p text:style-name="P8"> </text:p>')
para.gsub!(/&#169;/,'©') #too arbitrary
para.gsub!(/.+?<-#>/,'') # remove dummy headings (used by html) #check
- #para.gsub!(/_\*\s+/,'* ') # bullet markup, marked down
para.gsub!(/<b>(.+?)<\/b>/,'<text:span text:style-name="T1">\1</text:span>')
para.gsub!(/<i>(.+?)<\/i>/,'<text:span text:style-name="T2">\1</text:span>')
para.gsub!(/<u>(.+?)<\/u>/,'<text:span text:style-name="T3">\1</text:span>')
diff --git a/lib/sisu/v0/param.rb b/lib/sisu/v0/param.rb
index 186901a1..9462d8d2 100644
--- a/lib/sisu/v0/param.rb
+++ b/lib/sisu/v0/param.rb
@@ -199,10 +199,10 @@ module SiSU_Param
fns_array=@data.dup
skip unless fns_array # consider
@markup_version=SiSU_Markup::Markup_identify.new(fns_array,@opt).markup_version? #% determine markup version
- if fns_array[0] =~ /^(?:% )?(?:SiSU\s+[\d.]*|sisu-[\d.]+)$/ #check markup and markup version
- if fns_array[0] =~ /^(?:% )?(?:SiSU\s+|sisu-)[\d.]+$/ #check markup and markup version
- @markup_version_declared=fns_array[0].match(/^(?:% )?(?:SiSU\s+|sisu-)([\d.]+)$/)[1]
- sm_a,sm_b,sm_c=fns_array[0].match(/^(?:% )?(?:SiSU\s+|sisu-)([0-9]+)?(?:\.([0-9]+))?(?:\.([0-9]+))?$/)[1..3]
+ if fns_array[0] =~ /^(?:% )?(?:SiSU\s+(?:master\s+)?[\d.]*|sisu-[\d.]+)$/ #check markup and markup version
+ if fns_array[0] =~ /^(?:% )?(?:SiSU\s+(?:master\s+)?|sisu-)[\d.]+$/ #check markup and markup version
+ @markup_version_declared=fns_array[0].match(/^(?:% )?(?:SiSU\s+(?:master\s+)?|sisu-)([\d.]+)$/)[1]
+ sm_a,sm_b,sm_c=fns_array[0].match(/^(?:% )?(?:SiSU\s+(?:master\s+)?|sisu-)([0-9]+)?(?:\.([0-9]+))?(?:\.([0-9]+))?$/)[1..3]
sm_c ||=0
sv=if @cmd =~/[VMv]/; "SiSU version (#{@sisu_version[:version]})"
else ''
diff --git a/lib/sisu/v0/param_identify_markup.rb b/lib/sisu/v0/param_identify_markup.rb
index 21e796e8..93c8bf79 100644
--- a/lib/sisu/v0/param_identify_markup.rb
+++ b/lib/sisu/v0/param_identify_markup.rb
@@ -71,8 +71,13 @@ module SiSU_Markup
elsif @cont[0] =~ /^(?:%\s+)?SiSU\s+([0-9](?:\.[0-9]+){1,2})/ or @cont[0] =~ /^(?:%\s+)?sisu-([0-9](?:\.[0-9]+){1,2})/
@version_declared=$1
end
- @flag_38=false
+ @flag_57,@flag_38=false,false
@cont.each_with_index do |y,i|
+ if @flag_57 or y =~/^:?A~\?? @title/
+ @version_determined=0.57
+ @flag_57=true
+ break
+ end
if @flag_38 or y =~/^:?A~/
@version_determined=0.38
@flag_38=true
diff --git a/lib/sisu/v0/sst_identify_markup.rb b/lib/sisu/v0/sst_identify_markup.rb
index e7a3c9eb..19601c13 100644
--- a/lib/sisu/v0/sst_identify_markup.rb
+++ b/lib/sisu/v0/sst_identify_markup.rb
@@ -107,13 +107,19 @@ WOK
elsif cont[0] =~ /^(?:%\s+)?SiSU\s+([0-9](?:\.[0-9]+){1,2})/ or cont[0] =~ /^(?:%\s+)?sisu-([0-9](?:\.[0-9]+){1,2})/
@declared_markup=$1
end
- @flag_38=false
+ @flag_57,@flag_38=false,false
cont.each_with_index do |y,i|
if y =~/^(?:0\{?~links?|@links?:)\s/ and f =~/(?:\.sst|\.ssm|\.ssi|\.s[123])/
links=unless y =~/\{.+?\}\S+/; oldlinks=' (pre 0.20.4 header links)'
else ' (post 0.20.4 header links)'
end
end
+ if @flag_57 or y =~/^:?A~\?? @title/
+ version='0.57'
+ markup=Markup_inform.new(version,'0.57' + oldlinks,@declared_markup,@declared_type)
+ @flag_57=true
+ break
+ end
if @flag_38 or (y =~/^:?A~/ and f =~/(?:\.sst|\.ssm|\.ssi)/)
version='0.38'
markup=Markup_inform.new(version,'0.38' + oldlinks,@declared_markup,@declared_type)
@@ -196,6 +202,16 @@ WOK
def initialize(opt)
@opt=opt
end
+ def sisu_0_57
+ <<WOK
+ SiSU 0.57 is the same as 0.42 with the introduction of some a shortcut to use
+ the headers @title and @creator in the first heading [expanded using the
+ contents of the headers @title: and @author:]
+
+ :A~ @title by @author
+
+WOK
+ end
def sisu_0_42
<<WOK
SiSU 0.42 is the same as 0.38 with the introduction of some additional endnote types,
@@ -300,7 +316,9 @@ WOK
tell=if @opt.mod.inspect =~/--query/
tell=case @opt.mod.inspect
when /history/
- "#{sisu_0_38}\n#{sisu_0_37}\n#{sisu_0_16}\n#{sisu_0_1}"
+ "#{sisu_0_57}#{sisu_0_42}#{sisu_0_38}\n#{sisu_0_37}\n#{sisu_0_16}\n#{sisu_0_1}"
+ when /0.57/
+ "#{sisu_0_57}#{sisu_0_42}#{sisu_0_38}#{sisu_0_16}"
when /0.42/
"#{sisu_0_42}#{sisu_0_38}#{sisu_0_16}"
when /0.38/
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