aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v4/cgi_pgsql.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v4/cgi_pgsql.rb')
-rw-r--r--lib/sisu/v4/cgi_pgsql.rb48
1 files changed, 37 insertions, 11 deletions
diff --git a/lib/sisu/v4/cgi_pgsql.rb b/lib/sisu/v4/cgi_pgsql.rb
index 6102d585..36f9782b 100644
--- a/lib/sisu/v4/cgi_pgsql.rb
+++ b/lib/sisu/v4/cgi_pgsql.rb
@@ -68,10 +68,35 @@ module SiSU_CGI_PgSQL
@opt,@webserv=opt,webserv
@env=SiSU_Env::InfoEnv.new('',opt)
@sys=SiSU_Env::SystemCall.new
- @image_src="#{@env.url.webserv_cgi}/_sisu/image_sys"
- @common=SiSU_CGI_SQL::CGI_Common.new(@webserv,@opt,@image_src,@env)
@db=SiSU_Env::InfoDb.new
+ get_init=SiSU_Env::GetInit.new
+ @rc=get_init.sisu_yaml.rc
+ @name_of={}
+ if defined? @rc['webserv'] \
+ and defined? @rc['webserv']['url_root'] \
+ and defined? @rc['webserv']['url_root'] =~/\S+/
+ @name_of[:host_url_docs]=@rc['webserv']['url_root']
+ end
+ if defined? @rc['search'] \
+ and defined? @rc['search']['sisu'] \
+ and defined? @rc['search']['sisu']['action'] \
+ and @rc['search']['sisu']['action'] =~/https?:\/\/\S+?\.cgi/ \
+ and defined? @rc['search']['sisu']['db'] \
+ and @rc['search']['sisu']['db'] =~/\S+/
+ @name_of[:db]=@rc['search']['sisu']['db']
+ #@name_of[:cgi_script]=/https?:\/\/\S+?([^\/]+?)\.cgi$/.match(@rc['search']['sisu']['action'])[1]
+ @name_of[:host_url_cgi],@name_of[:cgi_script]=/(https?:\/\/\S+?)\/([^\/]+?)\.cgi$/.match(@rc['search']['sisu']['action'])[1,2]
+ else
+ @name_of[:host_url_docs]=@env.url.webserv_files_from_db
+ @name_of[:db]='sisu' #breaks if not present
+ @name_of[:host_url_cgi]=@env.url.webserv_base_cgi
+ @name_of[:cgi_script]='sisu_pgsql'
+ false
+ end
@cgi_file_name="#{Db[:name_prefix_db]}by_#{opt.dir_structure_by.to_s}_pgsql.cgi"
+ @cgi_link_name="#{@name_of[:db]}.cgi" #sisu_pgsql.cgi,
+ @image_src="#{@name_of[:host_url_docs]}/_sisu/image_sys"
+ @common=SiSU_CGI_SQL::CGI_Common.new(@webserv,@opt,@image_src,@env)
end
def pgsql
serve=[]
@@ -99,7 +124,7 @@ module SiSU_CGI_PgSQL
if FileTest.writable?('.')
output=File.open(@cgi_file_name,'w')
output << header0 << header1 << header_desc << header2 << f1 << buttons1 << buttons1_pgsql << buttons2 << search_request << search_statement << search_statement_common << search_query1 << @common.pages << search_query2 << @common.tail << @common.main1 << f2 << dbi_connect << @common.main2 << @common.dir_structure << @common.main3
- a=%{ generated sisu_pgsql.cgi,
+ a=%{ generated #{@cgi_file_name},
BASED ON ALREADY EXISTING directories that could potentially be used to populate postgresql db, (-D)
}
SiSU_Screen::Ansi.new(@opt.cmd,a).print_grey
@@ -108,11 +133,11 @@ module SiSU_CGI_PgSQL
else "if necessary make the directory /usr/lib/cgi-bin :
sudo cp -vi #{Dir.pwd}/#{@cgi_file_name} /usr/lib/cgi-bin/.
sudo chmod -v 755 /usr/lib/cgi-bin/#{@cgi_file_name}
- sudo ln -s /usr/lib/cgi-bin/#{@cgi_file_name} /usr/lib/cgi-bin/sisu_pgsql.cgi
- (copy #{@cgi_file_name} to your cgi directory) set file permissions to 755, and make symbolic link to sisu_pgsql.cgi"
+ sudo ln -s /usr/lib/cgi-bin/#{@cgi_file_name} /usr/lib/cgi-bin/#{@cgi_link_name}
+ (copy #{@cgi_file_name} to your cgi directory) set file permissions to 755, and make symbolic link to #{@cgi_link_name}"
end
a=%{#{c}
- #{@env.webserv_base_cgi}/cgi-bin/sisu_pgsql.cgi
+ #{@env.webserv_base_cgi}/cgi-bin/#{@cgi_link_name}
}
SiSU_Screen::Ansi.new(@opt.cmd,a).warn
a="postgresql db used for present directory: #{@db.psql.db}"
@@ -132,13 +157,14 @@ module SiSU_CGI_PgSQL
require 'cgi'
require 'fcgi'
require 'dbi'
- @version='sisu_pgsql'
- @image_src="#{@env.url.webserv_cgi}/_sisu/image_sys"
- @hosturl_db="#{@env.url.webserv_base_cgi}"
- @hosturl_files="#{@env.url.webserv_files_from_db}"
+ @stub_default="#{@name_of[:db]}"
+ @image_src="#{@name_of[:host_url_docs]}/_sisu/image_sys"
+ @hosturl_db="#{@name_of[:host_url_cgi]}"
+ @hosturl_files="#{@name_of[:host_url_docs]}"
+ @output_dir_structure_by="#{@name_of[:output_dir_structure]}"
@port="#{@db.psql.port}"
@db_name_prefix="#{Db[:name_prefix]}"
- user='#{@env.user}' # check user name for access to pg database: '#{@env.user}'
+ user='www-data' # check user name for access to pg database: e.g. www-data or '#{@env.user}'
WOK_SQL
end
def search_statement