Changeset cf7d492


Ignore:
Timestamp:
Feb 17, 2018 1:37:40 PM (2 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
dd57531
Parents:
48027fe6
Message:

SusiMail?: Change size from int to long
Fix mail save truncation
Don't fetch mail from folder display
Version all css

Location:
apps/susimail/src/src/i2p/susi/webmail
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • apps/susimail/src/src/i2p/susi/webmail/Mail.java

    r48027fe6 rcf7d492  
    7474        static final byte HEADER_MATCH[] = DataHelper.getASCII("\r\n\r");
    7575
    76         private int size;
     76        private long size;
    7777        public String sender,   // as received, trimmed only, not HTML escaped
    7878                reply,
     
    208208        }
    209209
    210         public synchronized int getSize() {
     210        /**
     211         *  @return 0 if unknown
     212         */
     213        public synchronized long getSize() {
    211214                return size;
    212215        }
    213216
    214         public synchronized void setSize(int size) {
     217        public synchronized void setSize(long size) {
    215218                if (body != null)
    216219                        return;
  • apps/susimail/src/src/i2p/susi/webmail/MailCache.java

    r48027fe6 rcf7d492  
    194194                if (mail.markForDeletion)
    195195                        return null;
    196                 int sz = mail.getSize();
     196                long sz = mail.getSize();
    197197                if (mode == FetchMode.HEADER && sz > 0 && sz <= FETCH_ALL_SIZE)
    198198                        mode = FetchMode.ALL;
     
    263263                        if (mail.markForDeletion)
    264264                                continue;
    265                         int sz = mail.getSize();
     265                        long sz = mail.getSize();
    266266                        if (sz > 0 && sz <= FETCH_ALL_SIZE)
    267267                                headerOnly = false;
  • apps/susimail/src/src/i2p/susi/webmail/WebMail.java

    r48027fe6 rcf7d492  
    404404               
    405405                protected int compare(Mail a, Mail b) {
    406                         return a.getSize() - b.getSize();
     406                        long as = a.getSize();
     407                        long bs = b.getSize();
     408                        if (as > bs)
     409                                return 1;
     410                        if (as < bs)
     411                                return -1;
     412                        return 0;
    407413                }               
    408414        }
     
    20782084
    20792085                        if (state == State.LIST || state == State.SHOW) {
    2080 
    20812086                                // sort buttons are GETs
    20822087                                String oldSort = folder.getCurrentSortBy();
     
    21482153                                        "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n" +
    21492154                                        "<title>" + _t("SusiMail") + " - " + subtitle + "</title>\n" +
    2150                                         "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + sessionObject.themePath + "susimail.css?" + CoreVersion.VERSION + "\">\n" );
     2155                                        "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + sessionObject.themePath + "susimail.css?" + CoreVersion.VERSION + "\">" );
    21512156                                if (sessionObject.isMobile ) {
    21522157                                        out.println( "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes\" />\n" +
    2153                                                 "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + sessionObject.themePath + "mobile.css\" />\n" );
     2158                                                "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + sessionObject.themePath + "mobile.css?" + CoreVersion.VERSION + "\" />" );
    21542159                                }
    21552160                                if(state != State.AUTH)
    2156                                         out.println("<link rel=\"stylesheet\" href=\"/susimail/css/print.css\" type=\"text/css\" media=\"print\" />");
     2161                                        out.println("<link rel=\"stylesheet\" href=\"/susimail/css/print.css?" + CoreVersion.VERSION + "\" type=\"text/css\" media=\"print\" />");
    21572162                                if (state == State.NEW) {
    21582163                                        // TODO cancel if to and body are empty
     
    23692374        {
    23702375                Buffer content = mail.getBody();
    2371 
    23722376                if(content == null)
    23732377                        return false;
     
    23822386                try {
    23832387                        response.setContentType("message/rfc822");
    2384                         response.setContentLength(content.getLength());
     2388                        long sz = mail.getSize();
     2389                        if (sz > 0 && sz <= Integer.MAX_VALUE)
     2390                                response.setContentLength((int) sz);
    23852391                        response.setHeader("Cache-Control", "public, max-age=604800");
    23862392                        response.addHeader("Content-Disposition", "attachment; filename=\"" + name2 + "\"; " +
     
    23902396                        return true;
    23912397                } catch (IOException e) {
    2392                         e.printStackTrace();
     2398                        Debug.debug(Debug.DEBUG, "Save-As", e);
    23932399                        return false;
    23942400                } finally {
     
    27332739                for (Iterator<String> it = folder.currentPageIterator(); it != null && it.hasNext(); ) {
    27342740                        String uidl = it.next();
    2735                         Mail mail = sessionObject.mailCache.getMail( uidl, MailCache.FetchMode.HEADER );
     2741                        Mail mail = sessionObject.mailCache.getMail(uidl, MailCache.FetchMode.CACHE_ONLY);
    27362742                        if (mail == null || !mail.hasHeader()) {
    27372743                                continue;
Note: See TracChangeset for help on using the changeset viewer.