function drupal_get_messages

Returns all messages that have been set with drupal_set_message().

Parameters

string $type: (optional) Limit the messages returned by type. Defaults to NULL, meaning all types. These values are supported:

  • NULL
  • 'status'
  • 'warning'
  • 'error'

bool $clear_queue: (optional) If this is TRUE, the queue will be cleared of messages of the type specified in the $type parameter. Otherwise the queue will be left intact. Defaults to TRUE.

Return value

array A multidimensional array with keys corresponding to the set message types. The indexed array values of each contain the set messages for that type. The messages returned are limited to the type specified in the $type parameter. If there are no messages of the specified type, an empty array is returned.

See also

drupal_set_message()

theme_status_messages()

5 calls to drupal_get_messages()
ElementsTableSelectTest::formSubmitHelper in drupal/core/modules/system/lib/Drupal/system/Tests/Form/ElementsTableSelectTest.php
Helper function for the option check test to submit a form while collecting errors.
FormTest::testRequiredFields in drupal/core/modules/system/lib/Drupal/system/Tests/Form/FormTest.php
Check several empty values for required forms elements.
NameMungingTest::testMunging in drupal/core/modules/system/lib/Drupal/system/Tests/File/NameMungingTest.php
Create a file and munge/unmunge the name.
TestBase::run in drupal/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
Run all tests in this class.
theme_status_messages in drupal/core/includes/theme.inc
Returns HTML for status and/or error messages, grouped by type.

File

drupal/core/includes/bootstrap.inc, line 1666
Functions that need to be loaded on every Drupal request.

Code

function drupal_get_messages($type = NULL, $clear_queue = TRUE) {
  if ($messages = drupal_set_message()) {
    if ($type) {
      if ($clear_queue) {
        unset($_SESSION['messages'][$type]);
      }
      if (isset($messages[$type])) {
        return array(
          $type => $messages[$type],
        );
      }
    }
    else {
      if ($clear_queue) {
        unset($_SESSION['messages']);
      }
      return $messages;
    }
  }
  return array();
}