}
/**
- * Function to retrieve the correct flag icon belonging to the set of
- * provided flags
- *
+ * Function to retrieve correct icon based on provided message flags. This is
+ * a merge/replacement for getFlagIcon() and getFlagText() functions.
+ *
* @param array $aFlags associative array with seen,deleted,anwered and flag keys.
- * @param string $sImageLocation directory location of flagicons
- * @return string $sFlags string with the correct img html tag
- * @author Marc Groot Koerkamp
+ * @param string $icon_theme_path path to user's currently selected icon theme.
+ * @return string $icon full HTML img tag or text icon, depending on of user prefs
+ * @author Steve Brown
*/
-function getFlagIcon($aFlags, $sImageLocation) {
- $sFlags = '';
-
+function getFlagIcon ($aFlags, $icon_theme_path) {
/**
* 0 = unseen
* 1 = seen
/**
* Use static vars to avoid initialisation of the array on each displayed row
*/
- static $aFlagImages, $aFlagValues;
- if (!isset($aFlagImages)) {
- $aFlagImages = array(
- array('msg_new.png','('._("New").')'),
- array('msg_read.png','('._("Read").')'),
- array('msg_new_deleted.png','('._("Deleted").')'),
- array('msg_read_deleted.png','('._("Deleted").')'),
- array('msg_new_reply.png','('._("Answered").')'),
- array('msg_read_reply.png','('._("Answered").')'),
- array('msg_read_deleted_reply.png','('._("Answered").')'),
- array('flagged.png', '('._("Flagged").')'),
- array('flagged.png', '('._("Flagged").')'),
- array('flagged.png', '('._("Flagged").')'),
- array('flagged.png', '('._("Flagged").')'),
- array('flagged.png', '('._("Flagged").')'),
- array('flagged.png', '('._("Flagged").')'),
- array('flagged.png', '('._("Flagged").')'),
- array('flagged.png', '('._("Flagged").')'),
- array('flagged.png', '('._("Flagged").')')
- ); // as you see the list is not completed yet.
- $aFlagValues = array('seen' => 1,
+ static $flag_icons, $flag_values;
+ if (!isset($flag_icons)) {
+ // This is by no means complete...
+ $flag_icons = array ( // Image icon name Text Icon Alt/Title Text
+ array ('msg_new.png', ' ', '('._("New").')') ,
+ array ('msg_read.png', ' ', '('._("Read").')'),
+ array ('msg_new_deleted.png', _("D"), '('._("Deleted").')'),
+ array ('msg_read_deleted.png', _("D"), '('._("Deleted").')'),
+ array ('msg_new_reply.png', _("A"), '('._("Answered").')'),
+ array ('msg_read_reply.png', _("A"), '('._("Answered").')'),
+ array ('msg_read_deleted_reply.png', _("D"), '('._("Answered").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')'),
+ array ('flagged.png', _("F"), '('._("Flagged").')')
+ );
+
+ $flag_values = array('seen' => 1,
'deleted' => 2,
'answered' => 4,
'flagged' => 8,
/**
* The flags entry contain all items displayed in the flag column.
*/
- $iFlagIndx = 0;
+ $icon = '';
+
+ $index = 0;
foreach ($aFlags as $flag => $flagvalue) {
- /* FIX ME, we should use separate templates for icons */
switch ($flag) {
case 'deleted':
case 'answered':
case 'seen':
- case 'flagged': if ($flagvalue) $iFlagIndx+=$aFlagValues[$flag]; break;
+ case 'flagged': if ($flagvalue) $index += $flag_values[$flag]; break;
default: break;
}
}
- if (isset($aFlagImages[$iFlagIndx])) {
- $aFlagEntry = $aFlagImages[$iFlagIndx];
+
+ if (isset($flag_icons[$index])) {
+ $data = $flag_icons[$index];
} else {
- $aFlagEntry = end($aFlagImages);
+ $data = end($flag_icons);
}
- $sFlags = '<img src="' . $sImageLocation . $aFlagEntry[0].'"'.
- ' border="0" alt="'.$aFlagEntry[1].'" title="'. $aFlagEntry[1] .'" height="12" width="18" />' ;
- if (!$sFlags) { $sFlags = ' '; }
- return $sFlags;
+ $icon = getIcon($icon_theme_path, $data[0], $data[1], $data[2]);
+ return $icon;
}
+
/**
- * Function to retrieve the correct flag text belonging to the set of
- * provided flags
- *
- * @param array $aFlags associative array with seen,deleted,anwered and flag keys.
- * @return string $sFlags string with the correct flag text
- * @author Marc Groot Koerkamp
+ * Function to retrieve correct priority icon based on user prefs
+ *
+ * @param integer $priority priority value of message
+ * @param string $icon_theme_path path to user's currently selected icon theme.
+ * @return string $icon full HTML img tag or text icon, depending on of user prefs
+ * @author Steve Brown
*/
-function getFlagText($aFlags) {
- $sFlags = '';
+function getPriorityIcon ($priority, $icon_theme_path) {
+ $icon = '';
- /**
- * 0 = unseen
- * 1 = seen
- * 2 = deleted
- * 3 = deleted seen
- * 4 = answered
- * 5 = answered seen
- * 6 = answered deleted
- * 7 = answered deleted seen
- * 8 = flagged
- * 9 = flagged seen
- * 10 = flagged deleted
- * 11 = flagged deleted seen
- * 12 = flagged answered
- * 13 = flagged aswered seen
- * 14 = flagged answered deleted
- * 15 = flagged anserwed deleted seen
- */
- /**
- * Use static vars to avoid initialisation of the array on each displayed row
- */
- static $aFlagText, $aFlagValues;
- if (!isset($aFlagText)) {
- $aFlagText = array(
- array(' ', '('._("New").')'),
- array(' ', '('._("Read").')'),
- array(_("D") , '('._("Deleted").')'),
- array(_("D") , '('._("Deleted").')'),
- array(_("A") , '('._("Answered").')'),
- array(_("A") , '('._("Answered").')'),
- array(_("D") , '('._("Answered").')'),
- array(_("F") , '('._("Flagged").')'),
- array(_("F") , '('._("Flagged").')'),
- array(_("F") , '('._("Flagged").')'),
- array(_("F") , '('._("Flagged").')'),
- array(_("F") , '('._("Flagged").')'),
- array(_("F") , '('._("Flagged").')'),
- array(_("F") , '('._("Flagged").')'),
- array(_("F") , '('._("Flagged").')'),
- array(_("F") , '('._("Flagged").')')
- ); // as you see the list is not completed yet.
- $aFlagValues = array('seen' => 1,
- 'deleted' => 2,
- 'answered' => 4,
- 'flagged' => 8,
- 'draft' => 16);
+ switch ($priority) {
+ case 1:
+ case 2:
+ $icon = getIcon($icon_theme_path, 'prio_high.png', '<span class="high_priority">!</span>');
+ break;
+ case 5:
+ $icon = getIcon($icon_theme_path, 'prio_low.png', '<span class="low_priority">↓</span>');
+ break;
+ default:
+ $icon = getIcon($icon_theme_path, 'transparent.png', '', '', 5);
+ break;
}
+
+ return $icon;
+}
- /**
- * The flags entry contain all items displayed in the flag column.
- */
- $iFlagIndx = 0;
- foreach ($aFlags as $flag => $flagvalue) {
- /* FIX ME, we should use separate templates for icons */
- switch ($flag) {
- case 'deleted':
- case 'answered':
- case 'seen':
- case 'flagged': if ($flagvalue) $iFlagIndx+=$aFlagValues[$flag]; break;
- default: break;
- }
- }
- if (isset($aFlagText[$iFlagIndx])) {
- $sFlags = $aFlagText[$iFlagIndx][0];
- } else {
- $aLast = end($aFlagText);
- $sFlags = $aLast[0];
- }
- if (!$sFlags) { $sFlags = ' '; }
- return $sFlags;
+/**
+ * Function to retrieve correct attchment icon based on user prefs
+ *
+ * @param boolean $attach TRUE if the message has an attachment
+ * @param string $icon_theme_path path to user's currently selected icon theme.
+ * @return string $icon full HTML img tag or text icon, depending on of user prefs
+ * @author Steve Brown
+ */
+function getAttachmentIcon ($attach, $icon_theme_path) {
+ $icon = '';
+
+ $icon_file = $attach ? 'attach.png' : 'transparent.png';
+ $text = $attach ? '+' : '';
+ $icon = getIcon($icon_theme_path, $icon_file, $text);
+
+ return $icon;
}
-?>
\ No newline at end of file