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(/) fs[0].size.zero? ? s = fs[1] : s = fs[0] s.length >= 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(/) #fs[0].size.zero? ? s = fs[1] : s << fs[0] + " <" + fs[1] + ">" 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/ ? "" : "" 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 << "
" ##html << text.gsub!(/\r\n/,"\n") #html << h(text) #html << "" #html #end def humanize_attr(object,attr) model_name = eval(object.class.model_name) return model_name.human_attribute_name(attr) end end