2011-07-22 22:57:36 +02:00
|
|
|
module MessagesHelper
|
2011-07-27 20:34:30 +02:00
|
|
|
|
2011-08-02 23:12:17 +02:00
|
|
|
def size_formatter(size)
|
|
|
|
if size <= 2**10
|
|
|
|
"#{size} #{t(:bytes)}"
|
|
|
|
elsif size <= 2**20
|
|
|
|
sprintf("%.1f #{t(:kbytes)}",size.to_f/2**10)
|
|
|
|
else
|
|
|
|
sprintf("%.1f #{t(:mbytes)}",size.to_f/2**20)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def date_formatter(date)
|
|
|
|
date.strftime("%Y-%m-%d %H:%M")
|
|
|
|
end
|
|
|
|
|
|
|
|
def address_formatter(addr)
|
|
|
|
ImapMessageModule::IMAPAddress.parse(addr).friendly
|
|
|
|
end
|
|
|
|
|
|
|
|
def subject_formatter(message)
|
2011-08-16 20:05:58 +02:00
|
|
|
if message.subject.size.zero?
|
|
|
|
s = t(:no_subject,:scope=>:message)
|
|
|
|
else
|
|
|
|
length = $defaults["msg_subject_length"].to_i
|
|
|
|
message.subject.length >= length ? s = message.subject[0,length]+"..." : s = message.subject
|
|
|
|
end
|
2011-08-02 23:12:17 +02:00
|
|
|
link_to s,:controller => 'messages', :action => 'show', :id => message.id
|
|
|
|
end
|
|
|
|
|
|
|
|
def attachment_formatter(message)
|
|
|
|
message.content_type == 'text' ? "" : "A"
|
|
|
|
end
|
|
|
|
|
2011-08-16 20:05:58 +02:00
|
|
|
def headers_links
|
|
|
|
|
|
|
|
if @current_folder.hasFullName?($defaults["mailbox_sent"])
|
|
|
|
fields = $defaults["msgs_sent_view_fields"]
|
|
|
|
else
|
|
|
|
fields = $defaults["msgs_inbox_view_fields"]
|
|
|
|
end
|
|
|
|
|
|
|
|
html = ""
|
|
|
|
fields.each do |f|
|
|
|
|
html << "<th>"
|
|
|
|
if params[:sort_field] == f
|
|
|
|
params[:sort_dir].nil? ? dir = 'desc' : dir = nil
|
|
|
|
end
|
|
|
|
|
|
|
|
html << link_to(Message.human_attribute_name(f), {:controller => 'messages',:action => 'index',:sort_field => f,:sort_dir => dir}, {:class=>"header"})
|
|
|
|
html << "</th>"
|
|
|
|
end
|
|
|
|
html
|
|
|
|
end
|
|
|
|
|
2011-07-22 22:57:36 +02:00
|
|
|
end
|
2011-07-27 20:34:30 +02:00
|
|
|
|