module MessagesHelper def size_formatter(size) if size <= 2**10 "#{size} #{t(:bytes,:scope=>:common)}" elsif size <= 2**20 sprintf("%.1f #{t(:kbytes,:scope=>:common)}",size.to_f/2**10) else sprintf("%.1f #{t(:mbytes,:scope=>:common)}",size.to_f/2**20) end end def date_formatter(date) date.nil? ? t(:no_date,:scope=>:message) : date.strftime("%Y-%m-%d %H:%M") end def address_formatter(addr,op) s = "" return s if addr.nil? length = $defaults["msg_address_length"].to_i case op when :index fs = addr.gsub(/\"/,"").split(/= length ? s = s[0,length]+"..." : s return h(s) when :show #addr = addr[0].charseted.gsub(/\"/,"") return h(addr.gsub(/\"/,"")) when :raw #fs = addr.gsub(/\"/,"").split(/" s = h(addr) return s when :reply return h(addr) end end def body_formatter(body,op) case op when :reply s = "\n\n\n" body.gsub(/^\s+/,"").split(/\n/).each do |line| s += ">" + line + "\n" end s when :edit return body end end def subject_formatter(message,op) case op when :index if message.subject.nil? or 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 link_to s,{:controller => 'messages', :action => 'show', :id => message.uid} , :title => message.subject when :show if message.subject.nil? or message.subject.size.zero? t(:no_subject,:scope=>:message) else message.subject end when :reply if message.nil? or message.size.zero? t(:reply_string,:scope=>:show) else t(:reply_string,:scope=>:show) + " " + message end end end def attachment_formatter(message) message.content_type =~ /^text\/plain/ ? "" : image_tag(current_theme_image_path('star.png')) end def headers_links #if @current_folder.hasFullName?(@folder_sent_name) || @current_folder.hasFullName?(@folder_drafts_name) if @current_folder == @sent_folder || @current_folder == @drafts_folder fields = $defaults["msgs_sent_view_fields"] else fields = $defaults["msgs_inbox_view_fields"] end html = "" fields.each do |f| html << "" 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 << "" end html end def content_text_plain_for_render(text) html = "
"
        #html << text.gsub!(/\r\n/,"\n")
        html << h(text)
        html << "
" html end end