diff -ruN roundcubemail-0.1beta2.orig/program/js/app.js roundcubemail-0.1beta2/program/js/app.js --- roundcubemail-0.1beta2.orig/program/js/app.js 2006-08-11 14:41:51.000000000 +0200 +++ roundcubemail-0.1beta2/program/js/app.js 2006-08-18 14:35:44.000000000 +0200 @@ -397,6 +397,7 @@ classname:row.className, deleted:this.env.messages[uid] ? this.env.messages[uid].deleted : null, unread:this.env.messages[uid] ? this.env.messages[uid].unread : null, + junk:this.env.messages[uid] ? this.env.messages[uid].junk : null, replied:this.env.messages[uid] ? this.env.messages[uid].replied : null}; // set eventhandlers to table row @@ -3280,11 +3282,12 @@ this.env.messages[uid] = {deleted:flags.deleted?1:0, replied:flags.replied?1:0, + junk:flags.junk?1:0, unread:flags.unread?1:0}; var row = document.createElement('TR'); row.id = 'rcmrow'+uid; - row.className = 'message '+(even ? 'even' : 'odd')+(flags.unread ? ' unread' : '')+(flags.deleted ? ' deleted' : ''); + row.className = 'message '+(even ? 'even' : 'odd')+(flags.unread ? ' unread' : '')+(flags.junk ? ' junk' : '')+(flags.deleted ? ' deleted' : ''); if (this.in_selection(uid)) row.className += ' selected'; diff -ruN roundcubemail-0.1beta2.orig/program/lib/imap.inc roundcubemail-0.1beta2/program/lib/imap.inc --- roundcubemail-0.1beta2.orig/program/lib/imap.inc 2006-07-26 00:11:50.000000000 +0200 +++ roundcubemail-0.1beta2/program/lib/imap.inc 2006-08-18 13:03:14.000000000 +0200 @@ -1231,7 +1231,7 @@ /* FETCH date,from,subject headers */ $key="fh".($c++); - $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"; + $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"; if (!fputs($fp, $request)) return false; do{ @@ -1280,6 +1280,7 @@ $result[$id]->from = $headers["from"]; $result[$id]->to = str_replace("\n", " ", $headers["to"]); $result[$id]->subject = str_replace("\n", "", $headers["subject"]); + $result[$id]->junk = array_key_exists("x-spam-flag", $headers) ? true : false; $result[$id]->replyto = str_replace("\n", " ", $headers["reply-to"]); $result[$id]->cc = str_replace("\n", " ", $headers["cc"]); $result[$id]->bcc = str_replace("\n", " ", $headers["bcc"]); diff -ruN roundcubemail-0.1beta2.orig/program/steps/mail/func.inc roundcubemail-0.1beta2/program/steps/mail/func.inc --- roundcubemail-0.1beta2.orig/program/steps/mail/func.inc 2006-08-07 18:02:07.000000000 +0200 +++ roundcubemail-0.1beta2/program/steps/mail/func.inc 2006-08-18 14:37:23.000000000 +0200 @@ -415,6 +415,10 @@ $js_row_arr['unread'] = true; if ($header->answered) $js_row_arr['replied'] = true; + if ($header->junk) + $js_row_arr['junk'] = true; + + // set message icon if ($attrib['deletedicon'] && $header->deleted) $message_icon = $attrib['deletedicon']; @@ -428,10 +432,11 @@ // set attachment icon if ($attrib['attachmenticon'] && preg_match("/multipart\/m/i", $header->ctype)) $attach_icon = $attrib['attachmenticon']; - - $out .= sprintf('