mirror of
https://github.com/moparisthebest/android.moparisthebest.org
synced 2024-12-23 16:08:53 -05:00
cleaned up helpers
This commit is contained in:
parent
0ac4eca1d4
commit
c51a1be7f9
@ -85,49 +85,6 @@ module Helpers
|
||||
content_tag(:a, name, html_options.merge(:href => href, :onclick => onclick))
|
||||
end
|
||||
|
||||
def mail_to(email_address, name = nil, html_options = {})
|
||||
html_options = html_options.stringify_keys
|
||||
encode = html_options.delete("encode").to_s
|
||||
cc, bcc, subject, body = html_options.delete("cc"), html_options.delete("bcc"), html_options.delete("subject"), html_options.delete("body")
|
||||
|
||||
string = ''
|
||||
extras = ''
|
||||
extras << "cc=#{CGI.escape(cc).gsub("+", "%20")}&" unless cc.nil?
|
||||
extras << "bcc=#{CGI.escape(bcc).gsub("+", "%20")}&" unless bcc.nil?
|
||||
extras << "body=#{CGI.escape(body).gsub("+", "%20")}&" unless body.nil?
|
||||
extras << "subject=#{CGI.escape(subject).gsub("+", "%20")}&" unless subject.nil?
|
||||
extras = "?" << extras.gsub!(/&?$/,"") unless extras.empty?
|
||||
|
||||
email_address = email_address.to_s
|
||||
|
||||
email_address_obfuscated = email_address.dup
|
||||
email_address_obfuscated.gsub!(/@/, html_options.delete("replace_at")) if html_options.has_key?("replace_at")
|
||||
email_address_obfuscated.gsub!(/\./, html_options.delete("replace_dot")) if html_options.has_key?("replace_dot")
|
||||
|
||||
if encode == "javascript"
|
||||
"document.write('#{content_tag("a", name || email_address_obfuscated, html_options.merge({ "href" => "mailto:"+email_address+extras }))}');".each_byte do |c|
|
||||
string << sprintf("%%%x", c)
|
||||
end
|
||||
"<script type=\"#{Mime::JS}\">eval(decodeURIComponent('#{string}'))</script>"
|
||||
elsif encode == "hex"
|
||||
email_address_encoded = ''
|
||||
email_address_obfuscated.each_byte do |c|
|
||||
email_address_encoded << sprintf("&#%d;", c)
|
||||
end
|
||||
|
||||
protocol = 'mailto:'
|
||||
protocol.each_byte { |c| string << sprintf("&#%d;", c) }
|
||||
|
||||
email_address.each_byte do |c|
|
||||
char = c.chr
|
||||
string << (char =~ /\w/ ? sprintf("%%%x", c) : char)
|
||||
end
|
||||
content_tag "a", name || email_address_encoded, html_options.merge({ "href" => "#{string}#{extras}" })
|
||||
else
|
||||
content_tag "a", name || email_address_obfuscated, html_options.merge({ "href" => "mailto:#{email_address}#{extras}" })
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def cdata_section(content)
|
||||
@ -156,15 +113,6 @@ module Helpers
|
||||
|
||||
# My added helpers
|
||||
|
||||
def to_html_email(address)
|
||||
email = string_to_html(address)
|
||||
"<a href=\"#{string_to_html('mailto:')}#{email}\">#{email}</a>"
|
||||
end
|
||||
|
||||
def string_to_html(s)
|
||||
s.strip.unpack("C*").map{|ch| "&#" + ch.to_s + ";" }.to_s
|
||||
end
|
||||
|
||||
def show_part (file)
|
||||
data = ''
|
||||
f = File.open(Dir.pwd+"/source/"+file)
|
||||
|
Loading…
Reference in New Issue
Block a user