Here is an updated function for contextmenu.js which detects if archivefolder and/or forward_as_attachment plugin is installed/enabled to make to archive/forward as attachment command accessible by right click:
HTML Code:
function rcm_contextmenu_load(update) {
if (update) {
if (rcmail.env.trash_mailbox && rcmail.env.mailbox != rcmail.env.trash_mailbox)
$("#rcm_delete").html(rcmail.gettext('movemessagetotrash'));
else
$("#rcm_delete").html(rcmail.gettext('deletemessage'));
}
else {
var menu = $('<ul>').attr('id', 'rcmContextMenu').addClass('toolbarmenu');
$('<li>').addClass('conmentitle').html(rcmail.gettext('markmessages')).appendTo(menu);
var menuRead = $('<li>').addClass('read').appendTo(menu);
var menuUnread = $('<li>').addClass('unread').appendTo(menu);
var menuFlagged = $('<li>').addClass('flagged').appendTo(menu);
var menuUnflagged = $('<li>').addClass('unflagged separator_below').appendTo(menu);
var menuReply = $('<li>').addClass('reply').appendTo(menu);
var menuReplyall = $('<li>').addClass('replyall').appendTo(menu);
var menuForward = $('<li>').addClass('forward').appendTo(menu);
if(rcmail.env.plugin_forward_as_attachment)
var menuForwardatt = $('<li>').addClass('forward').appendTo(menu);
if(rcmail.env.plugin_archive)
var menuArchive = $('<li>').addClass('archive').appendTo(menu);
var menuDelete = $('<li>').addClass('delete separator_below').appendTo(menu);
var menuPrint = $('<li>').addClass('print').appendTo(menu);
var menuSave = $('<li>').addClass('save').appendTo(menu);
var menuSource = $('<li>').addClass('source separator_below').appendTo(menu);
var menuOpen = $('<li>').addClass('open').appendTo(menu);
$('<a>').attr('href', '#read').addClass('active').html(' ' + rcmail.gettext('markread')).appendTo(menuRead);
$('<a>').attr('href', '#unread').addClass('active').html(' ' + rcmail.gettext('markunread')).appendTo(menuUnread);
$('<a>').attr('href', '#flagged').addClass('active').html(' ' + rcmail.gettext('markflagged')).appendTo(menuFlagged);
$('<a>').attr('href', '#unflagged').addClass('active').html(' ' + rcmail.gettext('markunflagged')).appendTo(menuUnflagged);
$('<a>').attr('href', '#reply').addClass('active').html(rcmail.gettext('replytomessage')).appendTo(menuReply);
$('<a>').attr('href', '#reply-all').addClass('active').html(rcmail.gettext('replytoallmessage')).appendTo(menuReplyall);
$('<a>').attr('href', '#forward').addClass('active').html(rcmail.gettext('forwardmessage')).appendTo(menuForward);
if(rcmail.env.plugin_forward_as_attachment)
$('<a>').attr('href', '#plugin.forwardatt').addClass('active').html(rcmail.gettext('forward_as_attachment.buttontitle')).appendTo(menuForwardatt);
if(rcmail.env.plugin_archive)
$('<a>').attr('href', '#plugin.archive').addClass('active').html(rcmail.gettext('archivefolder.buttontitle')).appendTo(menuArchive);
if (rcmail.env.trash_mailbox && rcmail.env.mailbox != rcmail.env.trash_mailbox)
$('<a>').attr({href: '#delete', id: 'rcm_delete'}).addClass('active').html(rcmail.gettext('movemessagetotrash')).appendTo(menuDelete);
else
$('<a>').attr({href: '#delete', id: 'rcm_delete'}).addClass('active').html(rcmail.gettext('deletemessage')).appendTo(menuDelete);
$('<a>').attr('href', '#print').addClass('active').html(rcmail.gettext('printmessage')).appendTo(menuPrint);
$('<a>').attr('href', '#download').addClass('active').html(rcmail.gettext('emlsave')).appendTo(menuSave);
$('<a>').attr('href', '#viewsource').addClass('active').html(rcmail.gettext('viewsource')).appendTo(menuSource);
$('<a>').attr('id', 'contextmenu_open').attr('href', '#open').attr('target', '_blank').addClass('active').html(rcmail.gettext('openinextwin')).appendTo(menuOpen);
$("body").append(menu);
}
}