Skip to content

Commit

Permalink
[ENH]message list: Preview of message when viewing message list
Browse files Browse the repository at this point in the history
  • Loading branch information
christer77 committed Sep 17, 2024
1 parent 6723ab2 commit 3c81b19
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 5 deletions.
5 changes: 3 additions & 2 deletions modules/core/message_list_functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -299,11 +299,12 @@ function subject_callback($vals, $style, $output_mod) {
$img = '<i class="bi bi-filetype-'.$vals[3].'"></i>';
}
$subject = $output_mod->html_safe($vals[0]);
$preview_msg = isset($vals[3]) ? $output_mod->html_safe($vals[3]) : '';
$hl_subject = preg_replace("/^(\[[^\]]+\])/", '<span class="s_pre">$1</span>', $subject);
if ($style == 'news') {
return sprintf('<div class="subject"><div class="%s" title="%s">%s <a href="%s">%s</a></div></div>', $output_mod->html_safe(implode(' ', $vals[2])), $subject, $img, $output_mod->html_safe($vals[1]), $hl_subject);
return sprintf('<div class="subject"><div class="%s" title="%s">%s <a href="%s">%s</a><p class="fw-light">%s</p></div></div>', $output_mod->html_safe(implode(' ', $vals[2])), $subject, $img, $output_mod->html_safe($vals[1]), $hl_subject, $preview_msg);
}
return sprintf('<td class="subject"><div class="%s"><a title="%s" href="%s">%s</a></div></td>', $output_mod->html_safe(implode(' ', $vals[2])), $subject, $output_mod->html_safe($vals[1]), $hl_subject);
return sprintf('<td class="subject"><div class="%s"><a title="%s" href="%s">%s</a><p class="fw-light">%s</p></div></td>', $output_mod->html_safe(implode(' ', $vals[2])), $subject, $output_mod->html_safe($vals[1]), $hl_subject, $preview_msg);
}}

/**
Expand Down
9 changes: 7 additions & 2 deletions modules/imap/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,11 @@ function format_imap_message_list($msg_list, $output_module, $parent_list=false,
$msg['subject'] = '[No Subject]';
}
$subject = $msg['subject'];
$preview_msg = "";
if (isset($msg['preview_msg'])) {
$preview_msg = $msg['preview_msg'];
}

if ($parent_list == 'sent') {
$icon = 'sent';
$from = $msg['to'];
Expand Down Expand Up @@ -291,7 +296,7 @@ function format_imap_message_list($msg_list, $output_module, $parent_list=false,
$res[$id] = message_list_row(array(
array('checkbox_callback', $id),
array('icon_callback', $flags),
array('subject_callback', $subject, $url, $flags, $icon),
array('subject_callback', $subject, $url, $flags, $icon, $preview_msg),
array('safe_output_callback', 'source', $source),
array('safe_output_callback', 'from'.$nofrom, $from, null, str_replace(array($from, '<', '>'), '', $msg['from'])),
array('date_callback', $date, $timestamp),
Expand All @@ -307,7 +312,7 @@ function format_imap_message_list($msg_list, $output_module, $parent_list=false,
array('checkbox_callback', $id),
array('safe_output_callback', 'source', $source, $icon),
array('safe_output_callback', 'from'.$nofrom, $from, null, str_replace(array($from, '<', '>'), '', $msg['from'])),
array('subject_callback', $subject, $url, $flags),
array('subject_callback', $subject, $url, $flags, $preview_msg),
array('date_callback', $date, $timestamp, $is_snoozed),
array('icon_callback', $flags)
),
Expand Down
9 changes: 9 additions & 0 deletions modules/imap/handler_modules.php
Original file line number Diff line number Diff line change
Expand Up @@ -852,6 +852,14 @@ public function process() {
$msg['server_id'] = $form['imap_server_id'];
$msg['server_name'] = $details['name'];
$msg['folder'] = $form['folder'];
$uid = $msg['uid'];
$part = true;
$max = 87;
$msg_struct = $imap->get_message_structure($uid);
$struct = $imap->search_bodystructure($msg_struct, array('imap_part_number' => $part));
$msg_struct_current = array_shift($struct);
$msg_text = $imap->get_message_content($uid, $part, $max, $msg_struct_current);
$msg['preview_msg'] = $msg_text;
$msgs[] = $msg;
}
if ($imap->selected_mailbox) {
Expand Down Expand Up @@ -2191,3 +2199,4 @@ function process_move_messages_in_screen_email_enabled_callback($val) { return $
process_site_setting('move_messages_in_screen_email', $this, 'process_move_messages_in_screen_email_enabled_callback', true, true);
}
}

2 changes: 1 addition & 1 deletion modules/imap/site.js
Original file line number Diff line number Diff line change
Expand Up @@ -1378,7 +1378,7 @@ var add_email_in_contact_trusted = function(list_email) {
}
);
}
};
};

$('.screen-email-unlike').on("click", function() { imap_screen_email(); return false; });

Expand Down

0 comments on commit 3c81b19

Please sign in to comment.