Skip to content
Snippets Groups Projects
Commit d50fcc9c authored by Olav Morken's avatar Olav Morken
Browse files

New error page for metadata not found.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2516 44740490-163a-0410-bde0-09ae8108e29a
parent d4fe2dbf
No related branches found
No related tags found
No related merge requests found
<?php
/**
* Error for missing metadata.
*
* @package simpleSAMLphp
* @version $Id$
*/
class SimpleSAML_Error_MetadataNotFound extends SimpleSAML_Error_Error {
/**
* The entityID we were unable to locate.
*
* @var string
*/
private $entityId;
/**
* Create the error
*
* @param string $entityId The entityID we were unable to locate.
*/
public function __construct($entityId) {
assert('is_string($entityId)');
parent::__construct('Unable to locate metadata for ' . var_export($entityId, TRUE) . '.');
$this->entityId = $entityId;
}
/**
* Show the error to the user.
*
* This function does not return.
*/
public function show() {
header('HTTP/1.0 500 Internal Server Error');
$this->logError();
$globalConfig = SimpleSAML_Configuration::getInstance();
$t = new SimpleSAML_XHTML_Template($globalConfig, 'core:no_metadata.tpl.php');
$t->data['entityId'] = $this->entityId;
$t->show();
exit();
}
}
......@@ -286,7 +286,7 @@ class SimpleSAML_Metadata_MetaDataStorageHandler {
}
}
throw new Exception('Unable to locate metadata for \'' . $index . '\' in set \'' . $set . '\'.');
throw new SimpleSAML_Error_MetadataNotFound($index);
}
......
{
"header": {
"en": "Metadata not found"
},
"not_found_for": {
"en": "We were unable to locate the metadata for the entity:"
},
"config_problem": {
"en": "This is most likely a configuration problem on either the service provider or identity provider."
},
"suggestion_user_link": {
"en": "If you are an user who received this error after following a link on a site, you should report this error to the owner of that site."
},
"suggestion_developer": {
"en": "If you are a developer who is deploying a single sign-on solution, you have a problem with the metadata configuration. Verify that metadata is configured correctly on both the identity provider and service provider."
}
}
{
"header": {
"no": "Kunne ikke finne metadata",
"nn": "Kunne ikkje finne metadata"
},
"not_found_for": {
"no": "Vi fant ikke metadataene for:",
"nn": "Vi fann ikkje metadataene for:"
},
"config_problem": {
"no": "Dette er sannsynligvis et konfigurasjonsproblem hos enten tjenesteleverand\u00f8ren eller identitetsleverand\u00f8ren.",
"nn": "Dette er sannsynlegvis eit problem med oppsettet hj\u00e5 anten tenesteleverand\u00f8ren eller identitetsleverand\u00f8ren."
},
"suggestion_user_link": {
"no": "Hvis du er en bruker som fikk denne feilen etter at du fulgte en link p\u00e5 en nettside, s\u00e5 b\u00f8r du rapportere denne feilen til eieren av den nettsiden.",
"nn": "Om du er ein brukar som mottok denne feilen etter at du f\u00f8lgde ei lenke p\u00e5 ei nettside, s\u00e5 b\u00f8r du melde denne feilen til eigaren av den nettsida."
},
"suggestion_developer": {
"no": "Hvis du er en utvikler som setter opp en \"single sign-on\" l\u00f8sning, s\u00e5 har du et problem med metadataoppsettet. Kontroller at metadata er riktig konfigurert hos b\u00e5de identitetsleverand\u00f8ren og tjenesteleverand\u00f8ren.",
"nn": "Om du er ein utviklar som set opp ei \"single sign-on\" l\u00f8ysing, s\u00e5 har du eit problem med metadataoppsettet. Kontroller at metadata er rett satt opp hj\u00e5 b\u00e5de identitetsleverand\u00f8ren og tenesteleverand\u00f8ren."
}
}
<?php
$this->data['header'] = $this->t('{core:no_metadata:header}');
$this->includeAtTemplateBase('includes/header.php');
echo('<h2>' . $this->t('{core:no_metadata:header}') . '</h2>');
echo('<p>' . $this->t('{core:no_metadata:not_found_for}') . '</p>');
echo('<code style="margin-left: 3em;">' . htmlspecialchars($this->data['entityId']) . '</code>');
echo('<p>' . $this->t('{core:no_metadata:config_problem}') . '</p>');
echo('<ul>');
echo('<li>' . $this->t('{core:no_metadata:suggestion_user_link}') . '</li>');
echo('<li>' . $this->t('{core:no_metadata:suggestion_developer}') . '</li>');
echo('</ul>');
$this->includeAtTemplateBase('includes/footer.php');
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment