From 64d9aaddc455ad054823ed0a37e59685e482cceb Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Thu, 2 Apr 2009 14:37:47 -0600 Subject: [PATCH] IMP now has user-defined message tagging/flagging/insert term here. --- imp/mailbox.php | 27 +++++++++++++++++++++------ imp/message.php | 5 ++++- imp/themes/screen.css | 9 +++++++++ 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/imp/mailbox.php b/imp/mailbox.php index f7c248ac2..9cb05b697 100644 --- a/imp/mailbox.php +++ b/imp/mailbox.php @@ -779,14 +779,19 @@ while (list(,$ob) = each($mbox_info['overview'])) { 'priority' => $ob['headers']->getValue('x-priority') )); + $subject_flags = array(); foreach ($flag_parse as $val) { - if (isset($val['div'])) { - $msg['status'] .= $val['div']; - } - if (isset($val['classname'])) { - $msg['class'] = $val['classname']; + if ($val['type'] == 'imapp') { + $subject_flags[] = $val; + } else { + if (isset($val['div'])) { + $msg['status'] .= $val['div']; + } + if (isset($val['classname'])) { + $msg['class'] = $val['classname']; + } + $msg['bg'] = $val['bg']; } - $msg['bg'] = $val['bg']; } /* Show colors for fetchmail messages? */ @@ -848,6 +853,16 @@ while (list(,$ob) = each($mbox_info['overview'])) { $msg['subject'] = substr(Horde::link($target, $msg['preview']), 0, -1) . ' class="mboxSubject">' . $msg['subject'] . '' . (!empty($msg['preview']) ? '
' . $msg['preview'] . '' : ''); } + /* Add subject flags. */ + foreach ($subject_flags as $val) { + $flag_label = $val['label']; + if (String::length($val['label']) > 12) { + $flag_label = String::substr($val['label'], 0, 10) . '...'; + } + + $msg['subject'] = '' . htmlspecialchars($flag_label) . '' . $msg['subject']; + } + /* Set up threading tree now. */ if ($sortpref['by'] == Horde_Imap_Client::SORT_THREAD) { if (!empty($threadtree[$ob['uid']])) { diff --git a/imp/message.php b/imp/message.php index 76778d380..fe948dd10 100644 --- a/imp/message.php +++ b/imp/message.php @@ -410,7 +410,9 @@ if (!IMP::$printMode) { )); foreach ($flag_parse as $val) { - if (isset($val['div'])) { + if ($val['type'] == 'imapp') { + $status .= '' . htmlspecialchars($val['label']) . ''; + } else { $status .= $val['div']; } } @@ -444,6 +446,7 @@ if (!IMP::$printMode) { $n_template->set('id', 1); if (!$use_pop) { + $n_template->set('mailbox', $imp_mbox['mailbox']); $n_template->set('flaglist', $imp_flags->getList(array('imap' => true, 'mailbox' => $imp_mbox['mailbox']))); if ($conf['user']['allow_folders']) { diff --git a/imp/themes/screen.css b/imp/themes/screen.css index 2d319826a..0fc067076 100644 --- a/imp/themes/screen.css +++ b/imp/themes/screen.css @@ -30,6 +30,15 @@ .messageList td label input { vertical-align: middle; } +.messageList td span.userFlag, #messages h1.header span.userFlag { + border: 1px black solid; + font-size: 75%; + margin-right: 3px; +} +#messages h1.header span.userFlag { + margin-right: 0px; + margin-left: 3px; +} /* Newmail alerts. */ #newmail { -- 2.11.0