=== modified file 'includes/bootstrap.inc' --- includes/bootstrap.inc Tue Apr 03 22:16:52 2007 +++ includes/bootstrap.inc Tue Apr 03 21:38:57 2007 @@ -685,7 +685,7 @@ function watchdog($type, $message, $seve * - 'status' * - 'error' */ -function drupal_set_message($message = NULL, $type = 'status') { +function drupal_set_message($message = NULL, $type = 'status', $messagekey = NULL) { if ($message) { if (!isset($_SESSION['messages'])) { $_SESSION['messages'] = array(); @@ -695,7 +695,12 @@ function drupal_set_message($message = N $_SESSION['messages'][$type] = array(); } - $_SESSION['messages'][$type][] = $message; + if (isset($messagekey)) { + $_SESSION['messages'][$type][$messagekey] = $message; + } + else { + $_SESSION['messages'][$type][] = $message; + } } // messages not set when DB connection fails @@ -716,12 +721,14 @@ function drupal_get_messages($type = NUL if ($clear_queue) { unset($_SESSION['messages'][$type]); } + drupal_alter('message', $messages); return array($type => $messages[$type]); } else { if ($clear_queue) { unset($_SESSION['messages']); } + drupal_alter('message', $messages); return $messages; } } === modified file 'includes/theme.inc' --- includes/theme.inc Tue Apr 03 22:16:56 2007 +++ includes/theme.inc Tue Apr 03 21:23:50 2007 @@ -558,7 +558,9 @@ function theme_status_messages($display $output .= " \n"; } else { - $output .= $messages[0]; + foreach ($messages as $message) { + $output .= $message; + } } $output .= "\n"; }