From c2bb754618688e1f77e10d9c46b8b4317f7ca992 Mon Sep 17 00:00:00 2001
From: Olav Morken <olav.morken@uninett.no>
Date: Fri, 6 Aug 2010 07:21:59 +0000
Subject: [PATCH] SimpleSAML_Error_NoState: Change to use saveError().

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2482 44740490-163a-0410-bde0-09ae8108e29a
---
 lib/SimpleSAML/Error/NoState.php | 20 +++-----------------
 1 file changed, 3 insertions(+), 17 deletions(-)

diff --git a/lib/SimpleSAML/Error/NoState.php b/lib/SimpleSAML/Error/NoState.php
index 5cbf047c3..b7610d476 100644
--- a/lib/SimpleSAML/Error/NoState.php
+++ b/lib/SimpleSAML/Error/NoState.php
@@ -29,24 +29,9 @@ class SimpleSAML_Error_NoState extends SimpleSAML_Error_Error {
 
 		header('HTTP/1.0 500 Internal Server Error');
 
-		$globalConfig = SimpleSAML_Configuration::getInstance();
-
-		$reportId = SimpleSAML_Utilities::stringToHex(SimpleSAML_Utilities::generateRandomBytes(4));
-		SimpleSAML_Logger::error('Error report with id ' . $reportId . ' generated.');
+		$errorData = $this->saveError();
 
 		$session = SimpleSAML_Session::getInstance();
-
-		$errorData = array(
-			'exceptionMsg' => $this->getMessage(),
-			'exceptionTrace' => implode("\n", $this->format()),
-			'reportId' => $reportId,
-			'trackId' => $session->getTrackID(),
-			'url' => SimpleSAML_Utilities::selfURLNoQuery(),
-			'version' => $globalConfig->getVersion(),
-		);
-		$session->setData('core:errorreport', $reportId, $errorData);
-
-
 		$attributes = $session->getAttributes();
 		if (isset($attributes['mail'][0])) {
 			$email = $attributes['mail'][0];
@@ -55,6 +40,7 @@ class SimpleSAML_Error_NoState extends SimpleSAML_Error_Error {
 		}
 
 
+		$globalConfig = SimpleSAML_Configuration::getInstance();
 		$t = new SimpleSAML_XHTML_Template($globalConfig, 'core:no_state.tpl.php');
 
 		/* Enable error reporting if we have a valid technical contact email. */
@@ -62,7 +48,7 @@ class SimpleSAML_Error_NoState extends SimpleSAML_Error_Error {
 			/* Enable error reporting. */
 			$baseurl = SimpleSAML_Utilities::getBaseURL();
 			$t->data['errorReportAddress'] = $baseurl . 'errorreport.php';
-			$t->data['reportId'] = $reportId;
+			$t->data['reportId'] = $errorData['reportId'];
 			$t->data['email'] = $email;
 		}
 
-- 
GitLab