From 26767cc88c0548ad7978021796d0ccc4c9f7ffed Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 2 Jun 2007 11:27:06 +0100 Subject: 0.53.0, pre-build, see changelog, library naming changed for scm, placed under v0 (instead of 0.53) --- lib/sisu/0.52/html_promo.rb | 382 -------------------------------------------- 1 file changed, 382 deletions(-) delete mode 100644 lib/sisu/0.52/html_promo.rb (limited to 'lib/sisu/0.52/html_promo.rb') diff --git a/lib/sisu/0.52/html_promo.rb b/lib/sisu/0.52/html_promo.rb deleted file mode 100644 index b41b1ffa..00000000 --- a/lib/sisu/0.52/html_promo.rb +++ /dev/null @@ -1,382 +0,0 @@ -=begin - * Name: SiSU information Structuring Universe - Structured information, Serialized Units - * Author: Ralph Amissah - * http://www.jus.uio.no/sisu - * http://www.jus.uio.no/sisu/SiSU/download.html - - * Description: html advertising component, build here, mockup - - * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Ralph Amissah - - * License: GPL 2 or later - - Summary of GPL 2 - - 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 2 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, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - http://www.fsf.org/licenses/gpl.html - http://www.gnu.org/copyleft/gpl.html - http://www.jus.uio.no/sisu/gpl2.fsf - - SiSU was first released to the public on January 4th 2005 - - SiSU uses: - - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - - © Ralph Amissah 1997, current 2007. - All Rights Reserved. - - * Ralph Amissah: ralph@amissah.com - ralph.amissah@gmail.com -=end -module SiSU_HTML_promo - require SiSU_lib + '/sysenv' - include SiSU_Env - class Ad - def initialize(md) - @md=md - @env=SiSU_Env::Info_env.new(@md.fns,@md) - @rc=SiSU_Env::Get_init.instance.yamlrc - @ad=SiSU_Env::Get_init.instance.ads - @vz=SiSU_Env::Get_init.instance.skin - @flag=@env.widget.promo? - end - def div - def major - @flag[:ad] ? '
' : '' - end - def minor - @flag[:ad] ? '
' : '' - end - def close - @flag[:ad] ? '
' : '' - end - self - end - def display #(type=nil,id=nil) - ads_array,promo_array=[],[] - if @flag[:ad] - ads=if @md.promo && @md.promo.length > 0 #promo set in document - promo_array=@md.promo - elsif @flag[:sk] #promo set in associated skin - promo_array=@vz.widget_promo - elsif @flag[:rc] #promo set in rc file - promo_array=if @rc['promo'].class == String - @rc['promo'].split(/[,;]\s*/) - else @rc['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) - #else no_adverts - 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 - 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']}" - 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'] - else nil - end - form=if action and db - '
' + @env.widget.search_form(action,db) - else '' - end - 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'] =~/http:/ ? x['url'] : "../#{x['url']}" - #url_=x['url'] =~/http:/ ? x['url'] : "#{@env.url.root}/#{x['url']}" - links_a << %{\n} - end - end - links_a.to_s - else '' - end - end - def image - @prod['image'] ? %{
} : '' - end - def url_link - @url_=if @prod['url'] =~/http:/ - "#{@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 site_link #Work area - if url_link.url - < -#{url_link.url} -#{image} -#{title} -#{subtitle} -#{nick}

-WOK - else - < -#{image} -#{title} -#{subtitle} -

-WOK - end - end - self - end - def output_form_sponsor(type,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.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(type,id) - prod_id=id.gsub(/id_/,'') - cell=cell(@ad[:promo][type][id],prod_id) - cell.search_form - 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/ - output_form_search(type,id) - 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_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] - @ad[:promo_list][category].keys.each do |type| - @ad[:promo_list][category][type].each do |i| - if i - id=i.to_s =~/^\d/ ? "id_#{i.to_s.strip}" : i.to_s.strip - gbp=usd=euro=nil - if defined? @ad[:promo][type][id] and not @ad[:promo][type][id].nil? - adverts << output_form_select(type,id) - end - end - end - end - else - tell=SiSU_Screen::Ansi.new(@md.cmd,"category not found: #{category}") - tell.warn unless @md.cmd =~/q/ - end - adverts.to_s - 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) - <