/** * Handles sending a message to a destination * * If the destination is an email address or file, the messages will be * spooled up until the end of the script execution to prevent multiple * emails from being sent or a log file being written to multiple times. * * @param string $type If the message is an error or an exception * @param string $message The message to send to the destination * @return void */ private static function sendMessageToDestination($type, $message) { $destination = $type == 'exception' ? self::$exception_destination : self::$error_destination; if ($destination == 'html') { if (self::$show_context && !self::$context_shown) { self::expose(self::generateContext()); self::$context_shown = TRUE; } self::expose($message); return; } static $registered_function = FALSE; if (!$registered_function) { register_shutdown_function(self::callback(self::sendMessagesOnShutdown)); $registered_function = TRUE; } if ($type == 'error') { self::$error_message_queue[] = $message; } else { self::$exception_message = $message; } }