IMP now has user-defined message tagging/flagging/insert term here.
authorMichael M Slusarz <slusarz@curecanti.org>
Thu, 2 Apr 2009 20:37:47 +0000 (14:37 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 2 Apr 2009 20:37:47 +0000 (14:37 -0600)
imp/mailbox.php
imp/message.php
imp/themes/screen.css

index f7c248a..9cb05b6 100644 (file)
@@ -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'] . '</a>' . (!empty($msg['preview']) ? '<br /><small>' . $msg['preview'] . '</small>' : '');
     }
 
+    /* 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'] = '<span class="userFlag" style="background:' . htmlspecialchars($val['bg']) . '" title="' . htmlspecialchars($val['label']) . '">' . htmlspecialchars($flag_label) . '</span>' . $msg['subject'];
+    }
+
     /* Set up threading tree now. */
     if ($sortpref['by'] == Horde_Imap_Client::SORT_THREAD) {
         if (!empty($threadtree[$ob['uid']])) {
index 76778d3..fe948dd 100644 (file)
@@ -410,7 +410,9 @@ if (!IMP::$printMode) {
     ));
 
     foreach ($flag_parse as $val) {
-        if (isset($val['div'])) {
+        if ($val['type'] == 'imapp') {
+            $status .= '<span class="userFlag" style="background:' . htmlspecialchars($val['bg']) . '">' . htmlspecialchars($val['label']) . '</span>';
+        } 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']) {
index 2d31982..0fc0670 100644 (file)
 .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 {