From 6957d227c096362cdbd66b00982ff2eff01f47b3 Mon Sep 17 00:00:00 2001 From: pdontthink Date: Fri, 3 Aug 2007 02:24:12 +0000 Subject: [PATCH] Allow plugins to enable MOTD whenever they want; add note about bug that won't show up but should be fixed git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@12570 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- src/right_main.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/right_main.php b/src/right_main.php index 858998a3..575b5f50 100644 --- a/src/right_main.php +++ b/src/right_main.php @@ -280,7 +280,11 @@ if (isset($aMailbox['FORWARD_SESSION'])) { // plugins can operate normally here (don't output anything, of course!), // but can also return TRUE if they want to enable the MOTD display // even when SM's MOTD is empty (there is plugin output that can -// be then hooked into in motd.tpl) +// be then hooked into in motd.tpl) +// NOTE a TRUE return value here will cause the display of the MOTD on +// *every* page view; if a plugin wants to support true MOTD (one-time +// message display upon login), it should also check the value of +// "just_logged_in" in the PHP session before returning TRUE. // $show_motd = boolean_hook_function('right_main_after_header', $null, 1); @@ -293,16 +297,17 @@ if (isset($note)) { $oTemplate->display('note.tpl'); } -if ( sqgetGlobalVar('just_logged_in', $just_logged_in, SQ_SESSION) ) { - if ($just_logged_in == true) { - $just_logged_in = false; - sqsession_register($just_logged_in, 'just_logged_in'); - +if (sqgetGlobalVar('just_logged_in', $just_logged_in, SQ_SESSION) || $show_motd) { + if ($show_motd || $just_logged_in == true) { $motd = trim($motd); if ($show_motd || strlen($motd) > 0) { $oTemplate->assign('motd', $motd); $oTemplate->display('motd.tpl'); } + + $just_logged_in = false; +// FIXME: not likely to happen as SM is designed now, but the $oTemplate->display() above would send headers, therefore the following line would be broken. If $note is enabled by a plugin or any other core changes, this will break, so let's be safe and fix this up (can it be fixed by changing the order of the MOTD and the $note?) + sqsession_register($just_logged_in, 'just_logged_in'); } } -- 2.25.1