Enable better plugin motd hooking
authorpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 15 Jul 2007 19:16:05 +0000 (19:16 +0000)
committerpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 15 Jul 2007 19:16:05 +0000 (19:16 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@12539 7612ce4b-ef26-0410-bec9-ea0150e637f0

src/right_main.php
templates/default/motd.tpl

index 0522221..858998a 100644 (file)
@@ -277,7 +277,12 @@ if (isset($aMailbox['FORWARD_SESSION'])) {
     displayPageHeader($color, $mailbox);
 }
 
-do_hook('right_main_after_header', $null);
+// 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)
+//
+$show_motd = boolean_hook_function('right_main_after_header', $null, 1);
 
 /* display a message to the user that their mail has been sent */
 if (isset($mail_sent) && $mail_sent == 'yes') {
@@ -294,7 +299,7 @@ if ( sqgetGlobalVar('just_logged_in', $just_logged_in, SQ_SESSION) ) {
         sqsession_register($just_logged_in, 'just_logged_in');
 
         $motd = trim($motd);
-        if (strlen($motd) > 0) {
+        if ($show_motd || strlen($motd) > 0) {
             $oTemplate->assign('motd', $motd);
             $oTemplate->display('motd.tpl');
         }
index 19fcaf9..9abf571 100644 (file)
@@ -22,7 +22,10 @@ extract($t);
  <table class="sqm_motd" cellspacing="3">
   <tr>
    <td>
-    <?php echo $motd; ?>
+    <?php echo $motd; 
+          if (!empty($plugin_output['motd_inside'])) 
+             echo $plugin_output['motd_inside']; 
+    ?>
    </td>
   </tr>
  </table>