From 960c3088bc88f2db879154053280b06c160d4d70 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 21 Apr 2015 14:45:52 -0400 Subject: lib/sisu/*, single libs directory (c&d gone) (7) * removed lib/sisu/{current,develop} dir branches v7 (v5 & v6 retired) * simplify dir structure, offer single version per snapshot * have enjoyed carrying stable and development versions v5 & v6 in a single tarball, may return to this structure --- lib/sisu/current/html_promo.rb | 440 ----------------------------------------- 1 file changed, 440 deletions(-) delete mode 100644 lib/sisu/current/html_promo.rb (limited to 'lib/sisu/current/html_promo.rb') diff --git a/lib/sisu/current/html_promo.rb b/lib/sisu/current/html_promo.rb deleted file mode 100644 index 28b4e356..00000000 --- a/lib/sisu/current/html_promo.rb +++ /dev/null @@ -1,440 +0,0 @@ -# encoding: utf-8 -=begin - -* Name: SiSU - -** Description: documents, structuring, processing, publishing, search -*** html advertising component, build here, mockup - -** Author: Ralph Amissah - - - -** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah, - All Rights Reserved. - -** License: GPL 3 or later: - - SiSU, a framework for document structuring, publishing and search - - Copyright (C) Ralph Amissah - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation, either version 3 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along with - this program. If not, see . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - -** SiSU uses: - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - -** Hompages: - - - -** Git - - - -=end -module SiSU_HTML_Promo - require_relative 'se' # se.rb - include SiSU_Env - class Ad - def initialize(md) - @md=md - @env=SiSU_Env::InfoEnv.new(@md.fns,@md) - @rc=SiSU_Env::GetInit.new.sisu_yaml.rc - @ad=SiSU_Env::GetInit.new.ads - @flag=@env.widget.promo? - @make=SiSU_Env::ProcessingSettings.new(@md) - end - def div - def major - (@make.build.html_right_pane? \ - && @flag[:ad]) \ - ? '
' - : '' - end - def minor - (@make.build.html_right_pane? \ - && @flag[:ad]) \ - ? '
' - : '' - end - def close - (@make.build.html_right_pane? \ - && @flag[:ad]) \ - ? '
' - : '' - end - self - end - def display - ads_array,promo_array=[],[] - if @make.build.html_right_pane? \ - && @flag[:ad] - ads=if @md.promo && @md.promo.length > 0 #promo set in document - promo_array=@md.promo - elsif @flag[:rc] #promo set in rc file - promo_array=if @rc['html']['promo'].is_a?(String) - @rc['html']['promo'].split(/[,;]\s*/) - else @rc['html']['promo'] - end - else advert_extract_all - end - ads=if promo_array.length > 0 - promo_array.each do |x| - ads_array << advert_extract_subject(x) - end - ads_array - end - adverts(ads.join) - end - end - def cell(prod,id) - @prod,@id=prod,id - def title - @prod['title'] ? %{#{@prod['title']}} : '' - end - def subtitle - @prod['subtitle'] ? %{ - #{@prod['subtitle']}} : '' - end - def author - @prod['author'] ? %{

#{@prod['author']}

} : '' - end - def editor - @prod['editor'] ? %{

#{@prod['editor']}

} : '' - end - def year - @prod['year'] ? %{

#{@prod['year']}

} : '' - end - def date - @prod['date'] ? %{

On: #{@prod['date']}

} : '' - end - def location - @prod['at'] ? %{

At: #{@prod['at']}

} : '' - end - def pages - @prod['pages'] ? %{

Pages: #{@prod['pages']} pages

} : '' - end - def form - @prod['form'] ? %{

#{@prod['form']}

} : '' - end - def nick - @prod['nick'] ? %{(#{@prod['nick']})
} : '' - end - def update - @prod['update'] ? %{

Updated: #{@prod['update']}

} : '' - end - def issn - @prod['issn'] ? %{

issn: #{@prod['issn']}

} : '' - end - def blurb - @prod['blurb'] ? %{

#{@prod['blurb']}

} : '' - end - def search_form_sisu(table=true) - db=if @prod['db']=~/\S+/ - (@prod['db']=~/^#{Db[:name_prefix]}\S+/) ? @prod['db'] : "#{Db[:name_prefix]}#{@prod['db']}" - elsif defined? @rc['search']['sisu']['db'] \ - and @rc['search']['sisu']['db'] =~/\S+/ - (@rc['search']['sisu']['db']=~/^#{Db[:name_prefix]}\S+/) \ - ? @prod['search']['sisu']['db'] - : "#{Db[:name_prefix]}#{@prod['db']}" - else nil - end - action=if @prod['action']=~/^https?:\/\// - @prod['action'] - elsif defined? @rc['search']['sisu']['action'] \ - and @rc['search']['sisu']['action'] =~/^https?:\/\// - @rc['search']['sisu']['action'] - else nil - end - if action \ - and db - @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'] =~/^https?:\/\// - @rc['search']['hyperestraier']['action'] - else nil - end - form=if action - '
' + @env.widget.search_form('hyperestraier',action,'',table) - else '' - end - form - end - def links - if @prod['links'] #and @prod['links']==Array - links_a=[] - @prod['links'].each do |x| - if x \ - and x['url'] \ - and x['title'] - subtitle=x['subtitle'] ? %{ - #{x['subtitle']}} : '' - url_=(x['url'] =~/https?:/) ? x['url'] : "../#{x['url']}" - links_a << %{\n} - end - end - links_a.join - else '' - end - end - def image - @prod['image'] ? %{
} : '' - end - def url_link - @url_=if @prod['url'] =~/https?:/ - "#{@prod['url']}" - else "../#{@prod['url']}" # "#{@env.url.root}/#{@prod['url']}" - end - def show - @prod['url'] ? %{} : '' - end - def url - @prod['url'] ? %{} : '' - end - def url_relative - @prod['url'] ? %{} : '' - end - self - end - def flyer - if @prod['flyer'] - %{

 PDF flyer

} - else '' - end - end - def price - def gbp - if defined? @prod['price']['gbp'] \ - and @prod['price']['gbp'] - "  £ #{@prod['price']['gbp']} (GBP) " - else '' - end - end - def euro - if defined? @prod['price']['euro'] \ - and @prod['price']['euro'] - "  € #{@prod['price']['euro']} (Euro) " - else '' - end - end - def usd - if defined? @prod['price']['usd'] \ - and @prod['price']['usd'] - "  $ #{@prod['price']['usd']} (USD) " - else '' - end - end - %{

Price:#{gbp}#{euro}#{usd}

} - end - def adsense #draw content from a configuration file - def column_right - if defined? @ad[:promo]['ad']['adsense']['column_right'] - @ad[:promo]['ad']['adsense']['column_right'].join("\n") - else '' - end - end - def line_single - if defined? @ad[:promo]['ad']['adsense']['line_single'] - @ad[:promo]['ad']['adsense']['line_single'].join("\n") - else '' - end - end - self - end - def site_link #Work area - if url_link.url - <<-WOK -

-#{url_link.url} -#{image} -#{title} -#{subtitle} -#{nick}

- WOK - else - <<-WOK -

-#{image} -#{title} -#{subtitle} -

- WOK - end - end - self - end - def output_form_sponsor(type,id) - cell=cell(@ad[:promo][type][id],prod_id) - <<-WOK -
-#{cell.site_link} -#{cell.blurb} -#{cell.links} - WOK - end - def output_form_link(type,id) - prod_id=id.gsub(/id_/,'') - cell=cell(@ad[:promo][type][id],prod_id) - < -#{cell.site_link} -#{cell.author} -#{cell.year} -#{cell.blurb} -#{cell.links} -WOK - end - def output_form_search_sisu(type,id) - prod_id=id.gsub(/id_/,'') - cell=cell(@ad[:promo][type][id],prod_id) - 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_/,'') - cell=cell(@ad[:promo][type][id],prod_id) - prod_type=((id=~/id_(?:[0-9x]){10,13}/i) ? 'isbn' : 'id') - id_detail=%{

#{prod_type}: #{prod_id}

} - < -#{cell.site_link} -#{cell.author} -#{cell.year} -#{id_detail} -#{cell.pages}#{cell.form} -#{cell.price} -#{cell.flyer} -#{cell.blurb} -#{cell.links} -WOK - end - def output_form_journal(type,id) - prod_id=id.gsub(/id_/,'') - cell=cell(@ad[:promo][type][id],prod_id) - < -#{cell.site_link} -#{cell.editor} -#{cell.issn} -#{cell.update} -#{cell.form} -#{cell.price.gsub(/Price:/,'Subscription:')} -#{cell.flyer} -#{cell.blurb} -#{cell.links} -WOK - end - def output_form_conference(type,id) - prod_id=id.gsub(/id_/,'') - cell=cell(@ad[:promo][type][id],prod_id) -#translate date (dd month yyyy) from 2007-03-04 and ruby conversion - < -#{cell.site_link} -#{cell.date} -#{cell.location} -#{cell.price} -#{cell.flyer} -#{cell.blurb} -#{cell.links} -WOK - end - def output_form_select(type,id) - case type - when /site/ - output_form_link(type,id) - when /sponsor/ - output_form_sponsor(type,id) - when /search/ - 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/ - output_form_journal(type,id) - when /conference/ - output_form_conference(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] - @ad[:promo_list][category].keys.each do |type| - @ad[:promo_list][category][type].each do |i| - if i - id=((i.inspect =~/^\d/) ? "id_#{i.to_s.strip}" : i.to_s.strip) #watch remove .to_s ? - if defined? @ad[:promo][type][id] \ - and not @ad[:promo][type][id].nil? - adverts << output_form_select(type,id) - else - if defined? @ad[:promo][category][type][id] \ - and @ad[:promo][category][type][id].is_a?(Array) \ - and @ad[:promo][category][type][id].length > 0 - adverts << @ad[:promo][category][type][id].join("\n") - end - end - end - end - end - else - SiSU_Screen::Ansi.new( - @md.opt.act[:color_state][:set], - "*WARN* category not found: #{category}" - ).warn unless @md.opt.act[:quiet][:set]==:on - end - adverts.join - end - def advert_extract_all #extracts all products from list (which is broken down into categories) - adverts=[] - @ad[:promo_list].keys.each do |category| - adverts << advert_extract_subject(category) - end - adverts.flatten - end - def adverts(ads) - <