Ticket #1483949: rc-0.1beta2-junk.patch

File rc-0.1beta2-junk.patch, 5.8 kB (added by guzu, 2 years ago)

Patch for 0.1beta2 that highlight message marked as SPAM by SpamAssassin? in message list (selecting all SPAM messages is also available)

  • roundcubemail-0.1beta2

    diff -ruN roundcubemail-0.1beta2.orig/program/js/app.js roundcubemail-0.1beta2/program/js/app.js
    old new  
    397397                                classname:row.className, 
    398398                                deleted:this.env.messages[uid] ? this.env.messages[uid].deleted : null, 
    399399                                unread:this.env.messages[uid] ? this.env.messages[uid].unread : null, 
     400                                junk:this.env.messages[uid] ? this.env.messages[uid].junk : null, 
    400401                                replied:this.env.messages[uid] ? this.env.messages[uid].replied : null}; 
    401402               
    402403      // set eventhandlers to table row 
     
    32803282     
    32813283    this.env.messages[uid] = {deleted:flags.deleted?1:0, 
    32823284                              replied:flags.replied?1:0, 
     3285                              junk:flags.junk?1:0, 
    32833286                              unread:flags.unread?1:0}; 
    32843287     
    32853288    var row = document.createElement('TR'); 
    32863289    row.id = 'rcmrow'+uid; 
    3287     row.className = 'message '+(even ? 'even' : 'odd')+(flags.unread ? ' unread' : '')+(flags.deleted ? ' deleted' : ''); 
     3290    row.className = 'message '+(even ? 'even' : 'odd')+(flags.unread ? ' unread' : '')+(flags.junk ? ' junk' : '')+(flags.deleted ? ' deleted' : ''); 
    32883291     
    32893292    if (this.in_selection(uid)) 
    32903293      row.className += ' selected'; 
  • roundcubemail-0.1beta2

    diff -ruN roundcubemail-0.1beta2.orig/program/lib/imap.inc roundcubemail-0.1beta2/program/lib/imap.inc
    old new  
    12311231 
    12321232        /* FETCH date,from,subject headers */ 
    12331233        $key="fh".($c++); 
    1234         $request=$key." FETCH $message_set (BODY.PEEK[HEADER.FIELDS (DATE FROM TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC CONTENT-TRANSFER-ENCODING CONTENT-TYPE MESSAGE-ID REFERENCE)])\r\n"; 
     1234        $request=$key." FETCH $message_set (BODY.PEEK[HEADER.FIELDS (DATE FROM TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC CONTENT-TRANSFER-ENCODING CONTENT-TYPE MESSAGE-ID REFERENCE X-SPAM-FLAG)])\r\n"; 
    12351235 
    12361236        if (!fputs($fp, $request)) return false; 
    12371237        do{ 
     
    12801280                        $result[$id]->from = $headers["from"]; 
    12811281                        $result[$id]->to = str_replace("\n", " ", $headers["to"]); 
    12821282                        $result[$id]->subject = str_replace("\n", "", $headers["subject"]); 
     1283                        $result[$id]->junk = array_key_exists("x-spam-flag", $headers) ? true : false; 
    12831284                        $result[$id]->replyto = str_replace("\n", " ", $headers["reply-to"]); 
    12841285                        $result[$id]->cc = str_replace("\n", " ", $headers["cc"]); 
    12851286                        $result[$id]->bcc = str_replace("\n", " ", $headers["bcc"]); 
  • program/steps/mail/func.inc

    diff -ruN roundcubemail-0.1beta2.orig/program/steps/mail/func.inc roundcubemail-0.1beta2/program/steps/mail/func.inc
    old new  
    415415      $js_row_arr['unread'] = true; 
    416416    if ($header->answered) 
    417417      $js_row_arr['replied'] = true; 
     418    if ($header->junk) 
     419      $js_row_arr['junk'] = true; 
     420 
     421 
    418422    // set message icon   
    419423    if ($attrib['deletedicon'] && $header->deleted) 
    420424      $message_icon = $attrib['deletedicon']; 
     
    428432        // set attachment icon 
    429433    if ($attrib['attachmenticon'] && preg_match("/multipart\/m/i", $header->ctype)) 
    430434      $attach_icon = $attrib['attachmenticon']; 
    431          
    432     $out .= sprintf('<tr id="rcmrow%d" class="message%s%s %s">'."\n", 
     435 
     436    $out .= sprintf('<tr id="rcmrow%d" class="message%s%s%s %s">'."\n", 
    433437                    $header->uid, 
    434438                    $header->seen ? '' : ' unread', 
     439                    $header->junk ? ' junk' : '', 
    435440                    $header->deleted ? ' deleted' : '', 
    436441                    $zebra_class);     
    437442     
     
    542547 
    543548    $a_msg_flags['deleted'] = $header->deleted ? 1 : 0; 
    544549    $a_msg_flags['unread'] = $header->seen ? 0 : 1; 
     550    $a_msg_flags['junk']   = $header->junk ? 1 : 0; 
    545551    $a_msg_flags['replied'] = $header->answered ? 1 : 0; 
    546552    $commands .= sprintf("this.add_message_row(%s, %s, %s, %b, %b);\n", 
    547553                         $header->uid, 
  • skins/default/mail.css

    diff -ruN roundcubemail-0.1beta2.orig/skins/default/mail.css roundcubemail-0.1beta2/skins/default/mail.css
    old new  
    454454  background-color: #FFFFFF; 
    455455} 
    456456 
     457#messagelist tr.junk 
     458{ 
     459  /*font-style: oblique;*/ 
     460  background-color: #e0ffcc; 
     461} 
     462 
    457463#messagelist tr.selected td 
    458464{ 
    459465  font-weight: bold; 
     
    611617  height: 18px; 
    612618  list-style-image: none; 
    613619  list-style-type: none; 
    614   background: url(images/icons/attachment.png) 52px 1px no-repeat #DFDFDF;  
     620  background: url(images/icons/attachment.png) 52px 1px no-repeat #DFDFDF; 
    615621  border-bottom: 1px solid #FFFFFF; 
    616622} 
    617623 
  • skins/default/templates/mail.html

    diff -ruN roundcubemail-0.1beta2.orig/skins/default/templates/mail.html roundcubemail-0.1beta2/skins/default/templates/mail.html
    old new  
    5656<roundcube:label name="select" />:&nbsp; 
    5757<roundcube:button command="select-all" label="all" classAct="active" />&nbsp; 
    5858<roundcube:button command="select-all" prop="unread" label="unread" classAct="active" />&nbsp; 
     59<roundcube:button command="select-all" prop="junk" label="junk" classAct="active" />&nbsp; 
    5960<roundcube:button command="select-none" label="none" classAct="active" /> &nbsp;&nbsp;&nbsp; 
    6061<roundcube:label name="quota" />: <roundcube:object name="quotaDisplay" /> 
    6162</div>