From b97cc7b49f14179ca394f8e714912474b83f50f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20=C3=85kre=20Solberg?= <andreas.solberg@uninett.no>
Date: Tue, 14 Oct 2008 11:06:47 +0000
Subject: [PATCH] Improving interface for submitting metadata to IdP.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@917 44740490-163a-0410-bde0-09ae8108e29a
---
 dictionaries/admin.php                   | 146 +++++++++++++++--------
 metadata-templates/saml20-idp-remote.php |   9 +-
 templates/default/metadata.php           | 101 +++++++++++-----
 www/saml2/sp/metadata.php                | 125 ++++++++++++++-----
 4 files changed, 264 insertions(+), 117 deletions(-)

diff --git a/dictionaries/admin.php b/dictionaries/admin.php
index e7e044ed7..fff2496ac 100644
--- a/dictionaries/admin.php
+++ b/dictionaries/admin.php
@@ -8,6 +8,7 @@ $lang = array(
 		'en' => 'Configuration check',
 		'sv' => 'Konfigurationskontroll',
 		'es' => 'Comprobar configuraciĂłn',
+		'nl' => 'Configuratie validatie',
 		'sl' => 'Preverjanje konfiguracije',
 		'hr' => 'Provjera konfiguracije',
 		'hu' => 'Beállítások ellenőrzése',
@@ -20,6 +21,7 @@ $lang = array(
 		'en' => 'Select configuration file to check:',
 		'sv' => 'Välj vilken konfigurationfil som ska kontrolleras:',
 		'es' => 'Seleccione el fichero de configuraciĂłn a comprobar:',
+		'nl' => 'Selecteer een configuratie file voor validatie:',
 		'sl' => 'Izberite konfiguracijsko datoteko, ki jo Ĺľelite preveriti',
 		'hr' => 'Odaberite konfiguracijeku datoteku koju Ĺľelite provjeriti:',
 		'hu' => 'Válassza ki az ellenőrizendő konfigurációs állományt',
@@ -31,6 +33,7 @@ $lang = array(
 		'en' => 'Notices',
 		'sv' => 'Meddelanden',
 		'es' => 'Avisos',
+		'nl' => 'Opmerkingen',
 		'sl' => 'Obvestila',
 		'hr' => 'Napomene',
 		'hu' => 'Megjegyzések',
@@ -43,6 +46,7 @@ $lang = array(
 		'en' => 'Options missing from config file',
 		'sv' => 'Alternativ saknas i konfigurationsfilen',
 		'es' => 'Opciones que faltan en el fichero de configuraciĂłn',
+		'nl' => 'Opties missen in de config file',
 		'sl' => 'V konfiguracijski datoteki manjkajo nastavitve',
 		'hr' => 'Opcije koje nedostaju u konfiguracijskoj datoteci',
 		'hu' => 'Hiányzó opciók a konfigurációs állományban',
@@ -55,6 +59,7 @@ $lang = array(
 		'en' => 'Superfluous options in config file',
 		'sv' => 'Överflödiga alternativ i konfigurationsfilen',
 		'es' => 'Opciones sobrantes en el fichero de configuraciĂłn',
+		'nl' => 'Teveel opties in de config file',
 		'sl' => 'OdveÄŤne nastavitve v konfiguracijski datoteki',
 		'hr' => 'Suvišne opcije u konfiguracijskoj datoteci',
 		'hu' => 'Felesleges opciók a konfigurációs állományban',
@@ -67,6 +72,7 @@ $lang = array(
 		'en' => 'No errors found.',
 		'sv' => 'Inga fel funna.',
 		'es' => 'No se han encontrado errores',
+		'nl' => 'Geen fouten gevonden.',
 		'sl' => 'Ni napak',
 		'hr' => 'Nije pronađena niti jedna greška.',
 		'hu' => 'Nincs hiba.',
@@ -79,6 +85,7 @@ $lang = array(
 		'en' => 'Go back to the file list',
 		'sv' => 'GĂĄ tillbaka till fillistan',
 		'es' => 'Volver al listado de archivos',
+		'nl' => 'Ga terug naar de lijst van files.',
 		'sl' => 'Vrnite se na seznam datotek',
 		'hr' => 'Vrati se nazad na popis datoteka',
 		'hu' => 'Vissza az fájlok listájához',
@@ -91,6 +98,7 @@ $lang = array(
 		'en' => 'Metadata overview',
 		'sv' => 'Metadataöversikt',
 		'es' => 'Ver metadatos',
+		'nl' => 'Metadata overzicht',
 		'sl' => 'Pregled metapodatkov',
 		'hr' => 'Pregled metapodataka',
 		'hu' => 'Metaadat áttekintés',
@@ -103,6 +111,7 @@ $lang = array(
 		'en' => 'To look at the details for an SAML entity, click on the SAML entity header.',
 		'sv' => 'För att titta på detaljer för en SAML-entitet klicka på rubriken för SAML-entiteten.',
 		'es' => 'Para ver los detalles de una entidad SAML, haga click en la cabecera de la entidad.',
+		'nl' => 'Klik op een SAML entiteit om de details voor die entiteit te bekijken.',
 		'sl' => 'Za pregled podrobnosti SAML entitete, kliknite na glavo te entitete',
 		'hr' => 'Da biste pregledali detalje za SAML entitet, kliknite na zaglavlje SAML entiteta.',
 		'hu' => 'A SAML entitások részleteiért kattintson a SAML entitás fejlécére',
@@ -115,6 +124,7 @@ $lang = array(
 		'en' => 'Error in this metadata entry',
 		'sv' => 'Fel i dessa metadat',
 		'es' => 'Error en los metadatos de la entrada',
+		'nl' => 'Fout in metadata',
 		'sl' => 'Napaka pri vnosu metadate',
 		'hr' => 'Pogreška u zapisu metapodataka',
 		'hu' => 'Hiba ebben a metaadat bejegyzésben',
@@ -127,6 +137,7 @@ $lang = array(
 		'en' => 'Required fields',
 		'sv' => 'Nödvändiga alternativ',
 		'es' => 'Campos obligatorios',
+		'nl' => 'Verplichte velden',
 		'sl' => 'Zahtevana polja',
 		'hr' => 'Obvezna polja',
 		'hu' => 'Kötelező mezők',
@@ -139,6 +150,7 @@ $lang = array(
 		'en' => 'The following required fields was not found',
 		'sv' => 'Följande nödvändiga alternativ hittades inte',
 		'es' => 'Los siguientes datos obligatorios no se han encontrado',
+		'nl' => 'De volgende verplichte velden konden niet worden gevonden',
 		'sl' => 'Naslednja zahtevana polja ni bilo mogoce najti',
 		'hr' => 'Sljedeća obvezna polja nisu pronađena',
 		'hu' => 'A következő kötelező mezők hiányoznak',
@@ -151,6 +163,7 @@ $lang = array(
 		'en' => 'Optional fields',
 		'sv' => 'Frivilliga alternativ',
 		'es' => 'Datos opcionales',
+		'nl' => 'Optionele velden',
 		'sl' => 'Neobvezna polja',
 		'hr' => 'Opcionalna polja',
 		'hu' => 'Opcionális mező',
@@ -163,6 +176,7 @@ $lang = array(
 		'en' => 'The following optional fields was not found',
 		'sv' => 'Följande frivilliga alternativ hittades inte',
 		'es' => 'Los siguientes datos opcionales no se han encontrado',
+		'nl' => 'De volgende optionele velden konden niet worden gevonden',
 		'sl' => 'Naslednja neobvezna polja ni bilo mogoÄŤe najti',
 		'hr' => 'Sljedeća opcionalna polja nisu pronađena',
 		'hu' => 'A következő opcionális mezők nem találhatók',
@@ -175,380 +189,410 @@ $lang = array(
 		'en' => 'The following fields was not recognized',
 		'sv' => 'Följande alternativ kändes inte igen',
 		'es' => 'No se han reconocido los siguientes datos',
+		'nl' => 'De volgende velden zijn niet bekend',
 		'sl' => 'Nepoznana polja',
 		'hr' => 'Sljedeća polja nisu prepoznata',
 		'hu' => 'A következő mezők nem értelmezhetők',
 		'pt' => 'Os seguintes campos nĂŁo foram reconhecidos',
 	),
 	'metaover_group_metadata.saml20-sp-hosted' => array (
+		'no' => 'SAML 2.0 tjenesteleverandør (intern)',
 		'nn' => 'SAML 2.0 Service Provider (Hosted)',
 		'da' => 'SAML 2.0 tjenesteudbyder (hosted)',
 		'en' => 'SAML 2.0 Service Provider (Hosted)',
 		'sv' => 'SAML 2.0 Service Provider (Värd)',
 		'es' => 'Proveedor de Servicio SAML 2.0 (AnfitriĂłn)',
+		'nl' => 'SAML 2.0 Service Provider (Hosted)',
 		'sl' => 'SAML 2.0 SP (Lokalni)',
 		'hr' => 'SAML 2.0 SP (lokalni)',
 		'hu' => 'SAML 2.0 alkalmazásszolgáltató (helyi)',
 		'pt' => 'SAML 2.0 Service Provider (Local)',
 	),
 	'metaover_group_metadata.saml20-sp-remote' => array (
+		'no' => 'SAML 2.0 Tjenesteleverandør (ekstern)',
 		'nn' => 'SAML 2.0 Service Provider (Remote)',
 		'da' => 'SAML 2.0 tjenesteudbyder (remote)',
 		'en' => 'SAML 2.0 Service Provider (Remote)',
 		'sv' => 'SAML 2.0 Service Provider (Fjärr)',
 		'es' => 'Proveedor de Servicio SAML 2.0 (Remoto)',
+		'nl' => 'SAML 2.0 Service Provider (Remote)',
 		'sl' => 'SAML 2.0 SP (Oddaljeni)',
 		'hr' => 'SAML 2.0 SP (udaljeni)',
 		'hu' => 'SAML 2.0 alkalmazásszolgáltató (távoli)',
 		'pt' => 'SAML 2.0 Service Provider (Remoto)',
 	),
 	'metaover_group_metadata.saml20-idp-hosted' => array (
+		'no' => 'SAML 2.0 Identitetsleverandør (ekstern)',
 		'nn' => 'SAML 2.0 Identity Provider (Hosted)',
 		'da' => 'SAML 2.0 identitetsudbyder (hosted)',
 		'en' => 'SAML 2.0 Identity Provider (Hosted)',
 		'sv' => 'SAML 2.0 Identity Provider (Värd)',
 		'es' => 'Proveedor de Identidad SAML 2.0 (AnfitriĂłn)',
+		'nl' => 'SAML 2.0 Identity Provider (Hosted)',
 		'sl' => 'SAML 2.0 IdP (Lokalni)',
 		'hr' => 'SAML 2.0 IdP (lokalni)',
 		'hu' => 'SAML 2.0 személyazonosság-szolgáltató (helyi)',
 		'pt' => 'SAML 2.0 Identity Provider (Local)',
 	),
 	'metaover_group_metadata.saml20-idp-remote' => array (
+		'no' => 'SAML 2.0 Identitetsleverandør (ekstern)',
 		'nn' => 'SAML 2.0 Identity Provider (Remote)',
 		'da' => 'SAML 2.0 identitetsudbyder (remote)',
 		'en' => 'SAML 2.0 Identity Provider (Remote)',
 		'sv' => 'SAML 2.0 Identity Provider (Fjärr)',
 		'es' => 'Proveedor de Identidad SAML 2.0 (Remoto)',
+		'nl' => 'SAML 2.0 Identity Provider (Remote)',
 		'sl' => 'SAML 2.0 IdP (Oddaljeni)',
 		'hr' => 'SAML 2.0 IdP (udaljeni)',
 		'hu' => 'SAML 2.0  személyazonosság-szolgáltató (távoli)',
 		'pt' => 'SAML 2.0 Identity Provider (Remoto)',
 	),
 	'metaover_group_metadata.shib13-sp-hosted' => array (
+		'no' => 'Shib 1.3 Tjenesteleverandør (intern)',
 		'nn' => 'Shib 1.3 Service Provider (Hosted)',
 		'da' => 'Shibboleth 1.3 tjenesteudbyder (hosted)',
 		'en' => 'Shib 1.3 Service Provider (Hosted)',
 		'sv' => 'Shib 1.3 Service Provider (Värd)',
 		'es' => 'Proveedor de Servicio Shib 1.3 (AnfitriĂłn)',
+		'nl' => 'Shib 1.3 Service Provider (Hosted)',
 		'sl' => 'Shib 1.3 SP (Lokalni)',
 		'hr' => 'Shib 1.3 SP (lokalni)',
 		'hu' => 'Shib 1.3 alkalmazásszolgálató (helyi)',
 		'pt' => 'Shib 1.3 Service Provider (Local)',
 	),
 	'metaover_group_metadata.shib13-sp-remote' => array (
+		'no' => 'Shib 1.3 Tjenesteleverandør (ekstern)',
 		'nn' => 'Shib 1.3 Service Provider (Remote)',
 		'da' => 'Shibboleth 1.3 tjenesteudbyder (remote)',
 		'en' => 'Shib 1.3 Service Provider (Remote)',
 		'sv' => 'Shib 1.3 Service Provider (Fjärr)',
 		'es' => 'Proveedor de Servicio Shib 1.3 (Remoto)',
+		'nl' => 'Shib 1.3 Service Provider (Remote)',
 		'sl' => 'Shib 1.3 SP (Oddaljeni)',
 		'hr' => 'Shib 1.3 SP (udaljeni)',
 		'hu' => 'Shib 1.3 alkalmazásszolgáltató (távoli)',
 		'pt' => 'Shib 1.3 Service Provider (Remoto)',
 	),
 	'metaover_group_metadata.shib13-idp-hosted' => array (
+		'no' => 'Shib 1.3 Identitetsleverandør (ekstern)',
 		'nn' => 'Shib 1.3 Identity Provider (Hosted)',
 		'da' => 'Shibboleth 1.4 identitetsudbyder (hosted)',
 		'en' => 'Shib 1.3 Identity Provider (Hosted)',
 		'sv' => 'Shib 1.3 Identity Provider (Värd)',
 		'es' => 'Proveedor de Identidad Shib 1.3 (AnfitriĂłn)',
+		'nl' => 'Shib 1.3 Identity Provider (Hosted)',
 		'sl' => 'Shib 1.3 SP (Lokalni)',
 		'hr' => 'Shib 1.3 IdP (lokalni)',
 		'hu' => 'Shib 1.3 személyazonosság-szolgáltató (helyi)',
 		'pt' => 'Shib 1.3 Identity Provider (Local)',
 	),
 	'metaover_group_metadata.shib13-idp-remote' => array (
+		'no' => 'Shib 1.3 Identitetsleverandør (ekstern) ',
 		'nn' => 'Shib 1.3 Identity Provider (Remote)',
 		'da' => 'Shibboleth 1.4 identitetsudbyder (remote)',
 		'en' => 'Shib 1.3 Identity Provider (Remote)',
 		'sv' => 'Shib 1.3 Identity Provider (Fjärr)',
 		'es' => 'Proveedor de Identidad Shib 1.3 (Remoto)',
+		'nl' => 'Shib 1.3 Identity Provider (Remote)',
 		'sl' => 'Shib 1.3 SP (Oddaljeni)',
 		'hr' => 'Shib 1.3 IdP (udaljeni)',
 		'hu' => 'Shib 1.3 személyazonosság-szolgáltató (távoli)',
 		'pt' => 'Shib 1.3 Identity Provider (Remoto)',
 	),
 	'metaover_group_metadata.wsfed-sp-hosted' => array (
+		'no' => 'WS-Federation tjenesteleverandør (intern)',
 		'nn' => 'WS-Federation Service Provider (Hosted)',
 		'da' => 'WS-Federation tjenesteudbyder (hosted)',
 		'en' => 'WS-Federation Service Provider (Hosted)',
 		'sv' => 'WS-Federation Service Provider (Värd)',
 		'es' => 'Proveedor de Servicios WS-Federation (AnfitriĂłn)',
+		'nl' => 'WS-Federation Service Provider (Hosted)',
 		'sl' => 'WS-Fedration SP (Lokalni)',
 		'hr' => 'WS-Federation SP (lokalni)',
 		'hu' => 'WS-Federation alkalmazásszolgáltató (helyi)',
 		'pt' => 'WS-Federation Service Provider (Local)',
 	),
 	'metaover_group_metadata.wsfed-idp-remote' => array (
+		'no' => 'WS-Federation identitetsleverandør (ekstern)',
 		'nn' => 'WS-Federation Identity Provider (Remote)',
 		'da' => 'WS-Federation identitetsudbyder (remote)',
 		'en' => 'WS-Federation Identity Provider (Remote)',
 		'sv' => 'WS-Federation Service Provider (Fjärr)',
 		'es' => 'Proveedor de Identidad WS-Federation (Remoto)',
+		'nl' => 'WS-Federation Identity Provider (Remote)',
 		'sl' => 'WS-Federation Idp (Oddaljen)',
 		'hr' => 'WS-Federation IdP (udaljeni)',
 		'hu' => 'WS-Federation alkalmazásszolgáltató (távoli)',
 		'pt' => 'WS-Federation Identity Provider (Remoto)',
 	),
 	'metaconv_title' => array (
+		'no' => 'Metadata parser',
 		'nn' => 'Parser for metadata',
 		'da' => 'Metadata parser',
 		'en' => 'Metadata parser',
 		'sv' => 'Metadataanalyserare',
 		'es' => 'Analizar metadatos',
+		'nl' => 'Metadata parser',
 		'sl' => 'Metapodatkovna sintaktiÄŤna analiza (parser)',
 		'hr' => 'Analizator metapodataka',
 		'hu' => 'Metaadat értelmező',
 		'pt' => 'Parser Metadata',
 	),
 	'metaconv_xmlmetadata' => array (
+		'no' => 'XML metadata',
 		'nn' => 'XML metadata',
 		'da' => 'XML metadata',
 		'en' => 'XML metadata',
 		'sv' => 'XML-metadata',
 		'es' => 'Metadatos XML',
+		'nl' => 'XML metadata',
 		'sl' => 'XML metapodatki',
 		'hr' => 'XML metapodaci',
 		'hu' => 'XML metaadat',
 		'pt' => 'Metadata XML',
 	),
 	'metaconv_parse' => array (
+		'no' => 'Pars',
 		'nn' => 'Parser',
 		'da' => 'Parse',
 		'en' => 'Parse',
 		'sv' => 'Analysera',
 		'es' => 'Analizar',
+		'nl' => 'Parse',
 		'sl' => 'SintaktiÄŤna analiza (parse)',
 		'hr' => 'Analiziraj',
 		'hu' => 'Értelmez',
 		'pt' => 'Parse',
 	),
 	'metaconv_converted' => array (
+		'no' => 'Konvertert metadata',
 		'nn' => 'Konverterte metadata',
 		'da' => 'Konverteret metadata',
 		'en' => 'Converted metadata',
 		'sv' => 'Omformat metadata',
 		'es' => 'Metadatos convertidos',
+		'nl' => 'Geconverteerde metadata',
 		'sl' => 'Pretvorjeni metapodatki',
 		'hr' => 'Pretvoreni metapodaci',
 		'hu' => 'Konvertált metaadatok',
 		'pt' => 'Metadata convetida',
 	),
 	'metadata_saml20-sp' => array (
+		'no' => 'SAML 2.0 SP metadata',
 		'nn' => 'SAML 2.0 SP Metadata',
 		'da' => 'SAML 2.0 tjenesteudbyders metadata',
 		'en' => 'SAML 2.0 SP Metadata',
 		'sv' => 'SAML 2.0 SP Metadata',
 		'es' => 'Metadatos SP SAML 2.0',
+		'nl' => 'SAML 2.0 SP Metadata',
 		'sl' => 'SAML 2.0 SP Metapodatki',
 		'hr' => 'SAML 2.0 SP metapodaci',
 		'hu' => 'SAML 2.0 SP Metaadatok',
 		'pt' => 'SAML 2.0 SP Metadata',
 	),
 	'metadata_saml20-idp' => array (
+		'no' => 'SAML 2.0 IdP metadata',
 		'nn' => 'SAML 2.0 IdP Metadata',
 		'da' => 'SAML 2.0 identitetsudbyders metadata',
 		'en' => 'SAML 2.0 IdP Metadata',
 		'sv' => 'SAML 2.0 IdP Metadata',
 		'es' => 'Metadatos IdP SAML 2.0',
+		'nl' => 'SAML 2.0 IdP Metadata',
 		'sl' => 'SAML 2.0 IdP Metapodatki',
 		'hr' => 'SAML 2.0 IdP metapodaci',
 		'hu' => 'SAML 2.0 IdP Metaadatok',
 		'pt' => 'SAML 2.0 IdP Metadata',
 	),
 	'metadata_shib13-sp' => array (
+		'no' => 'Shib 1.3 SP metadata',
 		'nn' => 'Shib 1.3 SP Metadata',
 		'da' => 'Shibboleth 1.3 tjenesteudbyders metadata',
 		'en' => 'Shib 1.3 SP Metadata',
 		'sv' => 'Shib 1.3 SP Metadata',
 		'es' => 'Metadatos SP Shib 1.3',
+		'nl' => 'Shib 1.3 SP Metadata',
 		'sl' => 'Shib 1.3 SP Metapodatki',
 		'hr' => 'Shib 1.3 SP metapodaci',
 		'hu' => 'Shib 1.3 SP Metaadatok',
 		'pt' => 'Shib 1.3 SP Metadata',
 	),
 	'metadata_shib13-idp' => array (
+		'no' => 'Shib 1.3 IdP metadata',
 		'nn' => 'Shib 1.3 IdP Metadata',
 		'da' => 'Shibboleth 1.3 identitetsudbyders metadata',
 		'en' => 'Shib 1.3 IdP Metadata',
 		'sv' => 'Shib 1.3 IdP Metadata',
 		'es' => 'Metadatos IdP Shib 1.3',
+		'nl' => 'Shib 1.3 IdP Metadata',
 		'sl' => 'Shib 1.3 IdP Metapodatki',
 		'hr' => 'Shib 1.3 IdP metapodaci',
 		'hu' => 'Shib 1.3 IdP Metaadatok',
 		'pt' => 'Shib 1.3 IdP Metadata',
 	),
 	'metadata_intro' => array (
+		'no' => 'Her er metadata som simpleSAMLphp har generert for deg. Du må utveksle metadata med de partene du stoler på for å sette opp en føderasjon.',
 		'da' => 'Her er det metadata, som simpleSAMLphp har genereret. Du kan sende det til dem du stoler i forbindelse med oprettelsen af en føderation.',
 		'en' => 'Here is the metadata that simpleSAMLphp has generated for you. You may send this metadata document to trusted partners to setup a trusted federation.',
 		'sv' => 'simpleSAMLphp har har genererat följande metadata. För att sätta upp en betrodd federation kan du skicka metadata till de parter du har förtroende för.',
 		'es' => 'Aquí están los metadatos que simpleSAMLphp ha generado. Puede enviar este documento de metadatos a sus socios de confianza para configurar una federación.',
+		'nl' => 'Dit is de metadata die automatisch is gegenereerd door simpleSAMLphp. U kunt deze metadata uitwisselen met uw federatie partners.',
 		'sl' => 'Tu so metapodatki, ki jih je zgeneriral simpleSAMLphp. Dokument lahko pošljete zaupanja vrednim partnerjem, s katerimi boste ustvarili federacijo.',
 		'hr' => 'Ovo su metapodaci koje je simpleSAMLphp generirao za vas. Ove metapodatke moĹľete poslati partnerima s kojima Ĺľelite uspostaviti AAI federaciju.',
 		'hu' => 'Ezeket a metaadatokat a SimpleSAMLphp generálta. Ezt a dokumentumot küldheti el föderációs partnerei számára.',
 		'pt' => 'Aqui está a metadata que o simpleSAMLphp gerou para você. Você pode enviar este documento metadata para parceiros confiáveis para a configuração de uma federação confiável.',
 	),
 	'metadata_xmlurl' => array (
+		'no' => 'Do kan nĂĄ <a href="%METAURL%">metadata i XML-format pĂĄ en dedikert URL</a>:',
 		'da' => 'Du kan fĂĄ metadata-xml <a href="%METAURL%">her</a>:',
 		'en' => 'You can <a href="%METAURL%">get the metadata xml on a dedicated URL</a>:',
 		'sv' => 'Du kan <a href="%METAURL%">hämta metadata i XML-format på dedicerad URL</a>:',
 		'es' => 'Puede  <a href="%METAURL%">obtener una URL con los metadatos xml</a>:    ',
+		'nl' => 'U kunt deze direct <a href="%METAURL%">URL</a> gebruiken om de metadata XML op te vragen:',
 		'sl' => 'XML metapodatki se nahajajo na <a href="%METAURL%">tem naslovu</a>:',
 		'hr' => 'Metapodatke moĹľete dohvatiti na <a href="%METAURL%">ovoj adresi</a>:',
 		'hu' => 'A következő címről <a href="%METAURL%">töltheti le a metaadatokat</a>:',
-		'pt' => 'VocĂŞ pode obter as metadatas xml <a href="%METAURL%"> em uma URL dedicada</ a>:',
+		'pt' => 'VocĂŞ pode obter as metadatas xml <a href="%METAURL%"> em uma URL dedicada</a>:',
 	),
 	'metadata_metadata' => array (
+		'no' => 'Metadata',
 		'nn' => 'Metadata',
 		'da' => 'Metadata',
 		'en' => 'Metadata',
 		'sv' => 'Metadata',
 		'es' => 'Metadatos',
+		'nl' => 'Metadata',
 		'sl' => 'Metapodatki',
 		'hr' => 'Metapodaci',
 		'hu' => 'Metaadatok',
 		'pt' => 'Metadata',
 	),
 	'metadata_xmlformat' => array (
+		'no' => 'I SAML 2.0 Metadata XML Format:',
 		'nn' => 'PĂĄ SAML 2.0 metadata XML-format',
 		'da' => 'I SAML 2.0 metadata xml-format:',
 		'en' => 'In SAML 2.0 Metadata XML format:',
 		'sv' => 'I SAML 2.0 Metadata XML-format:',
 		'es' => 'en formato xml de metadatos SAML 2.0:',
+		'nl' => 'In SAML 2.0 Metadata XML formaat:',
 		'sl' => 'V SAML 2.0 Metapodatkovni XML format:',
 		'hr' => 'SAML 2.0 XML format metapodataka:',
 		'hu' => 'SAML 2.0 XML formátumban:',
 		'pt' => 'Em formato SAML 2.0 Metadata XML',
 	),
 	'metadata_simplesamlformat' => array (
+		'no' => 'I simpleSAMLphp format - bruk denne dersom du benytter simpleSAMLphp i den andre enden:',
 		'da' => 'I simpleSAMLphp flat-file format - brug dette hvis du ogsĂĄ bruger simpleSAMLphp i den anden ende;',
 		'en' => 'In simpleSAMLphp flat file format - use this if you are using a simpleSAMLphp entity on the other side:',
 		'sv' => 'I filformatet för simpleSAML, använd detta detta format om simpleSAMLphp används i mottagende sida:',
 		'es' => 'en un fichero de formato simpleSAMLphp - utilice esta opción si está usando una entidad simpleSAMLphp en el otro extremo:',
+		'nl' => 'In simpleSAMLphp flat file formaat - gebruik dit wanneer uw federatie partner ook simpleSAMLphp gebruikt',
 		'sl' => 'V simpleSAMLphp "flat file" formatu - uporabite to, ÄŤe uporabljate simpleSAMLphp entiteto na drugi strani:',
 		'hr' => 'U simpleSAMLphp formatu - koristite ovu opciju ako se na drugoj strani također nalazi simpleSAMLphp entitet.',
 		'hu' => 'SimpleSAMLphp fájl formátumban - akkor használható, ha a másik oldalon simpleSAMLphp van:',
 		'pt' => 'Em formato de arquivo plano simpleSAMLphp - use isso se vocĂŞ estiver usando uma entidade  simpleSAMLphp do outro lado:',
 	),
-	'metadata_send_title' => array (
-		'da' => 'Send dit metadat til %FEDERATION%',
-		'en' => 'Send your metadata to %FEDERATION%',
-		'sv' => 'Skicka metadata till %FEDERATION%',
-		'es' => 'Enviar sus metadatos a %FEDERATION%',
-		'sl' => 'Pošljite svoje metapodatke na %FEDERATION%',
-		'hr' => 'Pošaljite svoje metapodatke',
-		'hu' => 'Küldje el metaadatait %FEDERATION% számára',
-		'pt' => 'Enviar sua metadata para %FEDERATION%',
-	),
-	'metadata_send_hasdetected' => array (
-		'da' => 'simpleSAMLphp har opdaget at du har konfigureret %FEDERATION% som din standard identitetsudbyder',
-		'en' => 'simpleSAMLphp has detected that you have configured %FEDERATION% as your default IdP.',
-		'sv' => 'simpleSAMLphp har upptäckt att %FEDERATION% är konfigurerad som förvald IdP.',
-		'es' => 'simpleSAMLphp ha detectado que ha configurado %FEDERATION% como su IdP por defecto.',
-		'sl' => 'simpleSAMLphp je zaznal, da ste nastavili %FEDERATION% za privzeti IdP.',
-		'hr' => 'simpleSAMLphp je detektirao da je %FEDERATION% iskonfiguriran kao vaš osnovni IdP.',
-		'hu' => 'simpleSAMLphp az érzékeli hogy a %FEDERATION% az alapértelmezett IdP-je.',
-		'pt' => 'simpleSAMLphp detectou que vocĂŞ possui %FEDERATION% configurado como seu IdP padrĂŁo.',
-	),
-	'metadata_send_desc' => array (
-		'da' => 'Før du kan forbinde dig til %FEDERATION%, %FEDERATION% skal have din tjeneste sat ind i sin konfiguration. Når du kontakter %FEDERATION% for at få sat din tjeneste på, vil du skulle sende dine metadata. Du kan herfra let sende dine metadata til %FEDERATION% ved at klikke på knappen endenfor',
-		'en' => 'Before you can connect to %FEDERATION%, %FEDERATION% needs to add your service in its trust configuration. When you contact %FEDERATION% to add you as a new service, you will be asked to send your metadata. Here you can easily send the metadata to %FEDERATION% by clicking the button below.',
-		'sv' => 'Innan det går att ansluta till %FEDERATION% måste %FEDERATION% lägga till din tjänst i konfigurationen över betrodda tjänster. Du kan enkelt skicka metadata till %FEDERATION% genom klicka på knappen nedan.',
-		'es' => 'Antes de que pueda conectar con %FEDERATION%, %FEDERATION% tiene que añadir el servicio en su configuración de confianza. Cuando contacte con %FEDERATION% para que le añada como un nuevo servicio, le indicarán que les envíe sus metadatos. Pulsando el siguiente botón puede enviar de una forma sencila los metadatos a %FEDERATION%.',
-		'sl' => 'Preden se boste lahko povezali na %FEDERATION%, mora %FEDERATION% dodati vašo storitev v konfiguracijo zaupanja vrednih virov. Ko boste kontaktirali %FEDERATION%, da doda novo storitev, bo potrebno poslati vaše metapodatke. S klikom na spodnji gumb lahko enostavno pošljete metapodatke na %FEDERATION%',
-		'hr' => 'Prije nego što se uključite u %FEDERATION%, %FEDERATION% mora dodati vaš servis na popis pouzdanih servisa. Kad kontaktirate %FEDERATION% da bi vaš servis bio dodan, od vas će se zahtjevati da dostavite metapodatke. Metapodatke možete poslati na jednostavan način tako da kliknete na donji gumb. ',
-		'hu' => 'Mielőtt csatlakozna a(z) %FEDERATION% szervezethez, szükség van arra, hogy %FEDERATION% hozzáadja a szolgáltatást a megbízható szolgáltatók listájához. Mikor új szolgáltatóként jeletkezik a %FEDERATION% szervezetnél, szükség van a metaadatok elküldésére. A lenti gombra kattintva ezt egyszerűen megteheti.',
-		'pt' => 'Antes que você possa se conectar a %FEDERATION%, %FEDERATION% precisa adicionar a seu serviço na sua configuração de confiança. Quando você entrar em contato com %FEDERATION% para adicioná-lo como um novo serviço você será solicitado a enviar as suas metadatas. Aqui você pode facilmente enviar as metadatas para %FEDERATION% clicando no botão abaixo.',
-	),
-	'metadata_send_email' => array (
-		'da' => '%FEDERATION% har behov for at vide hvor de kan kontakte dig. Skriv din emailadresse.',
-		'en' => '%FEDERATION% needs to know how to get in contact with you, so you need to type in <strong>your email address</strong>:',
-		'sv' => '%FEDERATION% behöver veta din kontaktinformation vilket betyder att du måste ange en <strong>e-postadress</strong>:',
-		'es' => '%FEDERATION% necesita conocer cĂłmo ponerse en contacto con Usted, por lo que se necesita que indique su <strong>direcciĂłn de correo electrĂłnico</strong>:',
-		'sl' => '%FEDERATION% mora vedeti, kako lahko stopi v kontakt z vami, zato je potrebno vnesti <strong>vaš elektronski naslov</strong>',
-		'hr' => '%FEDERATION% mora znati na koji vas način može kontaktirati pa stoga morate unijeti <strong>vašu elektroničku adresu</strong>:',
-		'hu' => '%FEDERATION% számára szüséges az ön elérhetősége, kérjük adja meg az <strong>e-mail címét</strong>',
-		'pt' => '%FEDERATION% necessita saber como entrar em contato com você, então você precisa digitar um <strong>endereço de e-mail</strong>:',
-	),
-	'metadata_send_send' => array (
-		'nn' => 'Send mine metadata til %FEDERATION%',
-		'da' => 'Send mit metadata til %FEDERATION%',
-		'en' => 'Send my metadata to %FEDERATION%',
-		'sv' => 'Skicka metadata till %FEDERATION%',
-		'es' => 'Enviar mis metadatos a %FEDERATION%',
-		'sl' => 'Pošlji metapodatke na %FEDERATION%',
-		'hr' => 'Pošalji moje metapodatke',
-		'hu' => 'Metaadatok küldése %FEDERATION% felé',
-		'pt' => 'Enviar minha metadata para %FEDERATION%',
+	'metadata_send_title2' => array (
+		'no' => 'Send metadata til din identitetsleverandør',
+		'en' => 'Send Metadata to your IdP',
+	),
+	'metadata_send_select' => array (
+		'no' => 'Velg en identitetsleverandør som metadata skal sendes til :',
+		'en' => 'Select an Identity Provider to send metadata to :',
+	),
+	'metadata_send_adminlogin' => array (
+		'no' => 'Logg inn som administrator for å få tilgang til å sende metadata til en identitetsleverandør',
+		'en' => 'Login as administrator to send metadata to an Identity Provider',
+	),
+	'metadata_send_email2' => array (
+		'no' => 'Skriv inn din e-post adresse, slik at identitetsleverandøren kan komme i kontakt med deg:',
+		'en' => 'Enter your e-mail address, such that the Identity Provider administrator may get in contact with you:',
+	),
+	'metadata_send_sendbutton' => array (
+		'no' => 'Send metadata',
+		'en' => 'Send metadata',
 	),
 	'debug_sending_message_title' => array (
+		'no' => 'Sender melding',
 		'nn' => 'Sender melding',
 		'da' => 'Sender besked',
 		'en' => 'Sending message',
 		'sv' => 'Skickar meddelande',
 		'es' => 'Enviando mensaje',
+		'nl' => 'Bericht',
 		'sl' => 'Pošiljanje sporočila',
 		'hr' => 'Ĺ aljem poruku',
 		'hu' => 'Üzenet küldése',
 		'pt' => 'Enviando a mensagem',
 	),
 	'debug_sending_message_text_button' => array (
+		'no' => 'Du er i ferd med å sende en melding. Trykk knappen «Send melding» for å fortsette.',
 		'da' => 'Tryk på \'send\' for at fortsætte med at sende beskeden',
 		'en' => 'You are about to send a message. Hit the submit message button to continue.',
 		'sv' => 'Du är på väg att skicka ett meddelande. Klicka på skickaknappen för att fortsätta.',
 		'es' => 'Se va a proceder a enviar un mensaje. Pulse el botĂłn "Enviar mensaje" para continuar.',
+		'nl' => 'U gaat een bericht versturen. Klik op de Verstuur bericht knop om door te gaan.',
 		'sl' => 'Sporočilo boste poslali s klikom na gumb za pošiljanje.',
 		'hr' => 'Kliknite na gumb "Pošalji poruku" da biste poslali poruku.',
 		'hu' => 'Üzenetet küldhet. Kattintson az Üzenet küldése gombra a folytatáshoz.',
 		'pt' => 'Você está prestes a enviar uma mensagem. Aperte o botão enviar mensagem para continuar.',
 	),
 	'debug_sending_message_text_link' => array (
+		'no' => 'Du er i ferd med ĂĄ sende en melding. Trykk pĂĄ send melding knappen for ĂĄ fortsette.',
 		'da' => 'Du er ved at sende en besked. Tryk på \'send\' for fortsætte',
 		'en' => 'You are about to send a message. Hit the submit message link to continue.',
 		'sv' => 'Du är på väg att skicka ett meddelande. Klicka på skickalänken för att fortsätta.',
 		'es' => 'Se va a proceder a enviar un mensaje. Pulse el enlace "Enviar mensaje" para continuar.',
+		'nl' => 'U gaat een bericht versturen. Klik op de Verstuur bericht link om door te gaan.',
 		'sl' => 'Sporočilo boste poslali s klikom na gumb za pošiljanje.',
 		'hr' => 'Kliknite na link "Pošalji poruku" da biste poslali poruku.',
 		'hu' => 'Üzenetet küldhet. Kattintson az Üzenet küldése linkre a folytatáshoz.',
 		'pt' => 'Você está prestes a enviar uma mensagem. Clique no link enviar a mensagem para continuar.',
 	),
 	'debug_sending_message_send' => array (
+		'no' => 'Send melding',
 		'nn' => 'Send melding',
 		'da' => 'Send besked',
 		'en' => 'Submit message',
 		'sv' => 'Skicka meddelande',
 		'es' => 'Enviar mensaje',
+		'nl' => 'Verstuur bericht',
 		'sl' => 'Pošlji sporočilo',
 		'hr' => 'Pošalji poruku',
 		'hu' => 'Üzenet küldése',
 		'pt' => 'Enviar mensagem',
 	),
 	'debug_sending_message_msg_title' => array (
+		'no' => 'Melding',
 		'nn' => 'Melding',
 		'da' => 'Besked',
 		'en' => 'Message',
 		'sv' => 'Meddelande',
 		'es' => 'Mensaje',
+		'nl' => 'Bericht',
 		'sl' => 'SporoÄŤilo',
 		'hr' => 'Poruka',
 		'hu' => 'Ăśzenet',
 		'pt' => 'Mensagem',
 	),
 	'debug_sending_message_msg_text' => array (
+		'no' => 'Siden du er i debug modus kan du se innholdet i meldingene du sender.',
 		'da' => 'Fordi du er i debug-mode kan du se indholdet af de beskeder du sender:',
 		'en' => 'As you are in debug mode, you get to see the content of the message you are sending:',
 		'sv' => 'Med avseende på att du är i debugläge kommer du att se innehållet i meddelandet som du skickar:',
 		'es' => 'Si está en modo de depuración, verá el contenido del mensaje que va a enviar:',
+		'nl' => 'Omdat u in debug mode bent, kunt u de inhoud van het bericht dat u verstuurt inzien',
 		'sl' => 'Ste v debug načinu, lahko si ogledate vsebino sporočila, ki ga pošiljate',
 		'hr' => 'Obzirom da ste u modu za otkrivanje grešaka, imate mogućnost vidjeti sadržaj poruke koju šaljete:',
 		'hu' => 'Mivel hibakereső módban van, láthatja az elküldendő üzenet tartalmát',
 		'pt' => 'Como você está no modo de debug, você pode ver o conteúdo da mensagem que você está enviando:',
 	),
 	'debug_disable_debug_mode' => array (
+		'no' => 'Do kan skru av debug modus i den globale simpleSAMLphp konfigurasjonsfila <tt>config/config.php</tt>.',
 		'da' => 'Du kan slĂĄ debug-mode fra i den globale simpleSAMLphp-konfigurationsfil <tt>config/config.php</tt>',
 		'en' => 'You can turn off debug mode in the global simpleSAMLphp configuration file <tt>config/config.php</tt>.',
 		'sv' => 'Du kan stänga av debugläget i simpleSAMLphps globala konfigurationsfil <tt>config/config.php</tt>.',
 		'es' => 'Puede desactivar el modo de depuraciĂłn en el fichero de configuraciĂłn global de simpleSAMLphp <tt>config/config.php</tt>.',
+		'nl' => 'U kunt debug mode uitschakelen in de globale simpleSAMLphp configuratie file <tt>config/config.php</tt>.',
 		'sl' => 'Debug naÄŤin lahko izklopite v globalni simpleSAMLphp konfiguracijski datoteki <tt>config/config.php</tt>.',
 		'hr' => 'Možete isključiti mod za otkrivanje grešaka u glavnoj simpleSAMLphp konfiguracijskoj datoteci <tt>config/config.php</tt>. ',
 		'hu' => 'A simpleSAMLphp <tt>config/config.php</tt> fájljában kikapcsolhatja a hibakereső módot.',
diff --git a/metadata-templates/saml20-idp-remote.php b/metadata-templates/saml20-idp-remote.php
index 087373919..58f81c789 100644
--- a/metadata-templates/saml20-idp-remote.php
+++ b/metadata-templates/saml20-idp-remote.php
@@ -79,8 +79,12 @@ $metadata = array(
 	 * Metadata for Feide's test environment.
 	 */
 	'max.feide.no' =>  array(
-		'name'					=>	'Test environment of Feide',
-		'description'			=> 'max.feide.no: the test environment of Feide.',
+		'name'					=>	array(
+			'en' => 'Feide Test environment',
+			'en' => 'Feide testmiljż',
+		)
+		'description'			=> 'Feide test environment (max.feide.no). Authenticate with your identity from a school or university in Norway.',
+		'send_metadata_email' 	=> 'moria-support@uninett.no',
 		'SingleSignOnService'	=>	'https://max.feide.no/amserver/SSORedirect/metaAlias/idp',
 		'SingleLogoutService'	=>	'https://max.feide.no/amserver/IDPSloRedirect/metaAlias/idp',
 		'certFingerprint'		=>	'5dd3196bdb2fb7e75380fe234a3f4f2d1e8d6d84',
@@ -94,6 +98,7 @@ $metadata = array(
 	'sam.feide.no' =>  array( 
 		'name'					=>	'Feide',
 		'description'			=> 'Authenticate with your identity from a school or university in Norway.',
+		'send_metadata_email' 	=> 'moria-support@uninett.no',
 		'SingleSignOnService'	=>	'https://sam.feide.no/amserver/SSORedirect/metaAlias/idp',
 		'SingleLogoutService'	=>	'https://sam.feide.no/amserver/IDPSloRedirect/metaAlias/idp',
 		'certFingerprint'		=>	'f6:72:c5:e7:04:fb:86:5e:93:6b:3b:cd:45:b0:49:2e:94:f5:f0:95',
diff --git a/templates/default/metadata.php b/templates/default/metadata.php
index 02de8e592..a76bc3d72 100644
--- a/templates/default/metadata.php
+++ b/templates/default/metadata.php
@@ -7,6 +7,71 @@ $this->includeAtTemplateBase('includes/header.php');
 
 		<h2><?php echo $this->data['header']; ?></h2>
 		
+		
+		<?php 
+		
+
+		
+		if(array_key_exists('idpsend', $this->data) && is_array($this->data['idpsend']) && count($this->data['idpsend']) > 0 ) {
+
+			if ($this->data['adminok']) {
+
+#				$param = array('%FEDERATION%' => $this->data['federationname']);
+		?>
+			<div style="border: 1px solid #444; margin: .5em 2em .5em 2em; padding: .5em 1em 1em 1em; background: #FFFFCC">
+
+				<h2 style="margin-top: 0px" ></h2>
+
+				<form action="metadata.php" method="post">
+
+					<p><?php echo $this->t('metadata_send_select'); ?>					
+					<select name="sendtoidp">
+					<?php
+						foreach ($this->data['idpsend'] AS $entityid => $idpmeta) {
+							$name = array_key_exists('name', $idpmeta) ? $idpmeta['name'] : $entityid;
+							echo '<option value="' . htmlspecialchars($entityid) . '">';
+							if (is_array($name)) {
+								echo htmlspecialchars($this->t($name));
+							} else {
+								echo htmlspecialchars($name);
+							}
+							echo '</option>';
+						}
+					?>
+					</select> </p>
+
+					<p><?php echo $this->t('metadata_send_email2'); ?><br />
+						
+						<input type="text" size="25" name="email" value="<?php echo ($this->data['techemail']) ? $this->data['techemail'] : ''  ?>" />
+					</p>
+					<input type="hidden" name="output" value="xhtml" />
+					<input type="submit" name="send" value="<?php echo $this->t('metadata_send_sendbutton'); ?>" />
+					
+				</form>
+
+
+			</div>
+		
+		<?php 
+		
+			} else {
+				
+				echo '<div style="border: 1px solid #444; margin: .5em 2em .5em 2em; padding: .5em 1em 1em 1em; background: #FFFFCC">';
+				echo '	<a href="' . htmlentities($this->data['adminlogin']) . '">';
+				echo $this->t('metadata_send_adminlogin');
+				echo '	</a>';
+				echo '</div>';
+				
+				
+			}
+
+		
+		} 
+		?>
+		
+		
+		
+		
 		<p><?php echo $this->t('metadata_intro'); ?></p>
 		
 		<?php if (isset($this->data['metaurl'])) { ?>
@@ -17,46 +82,18 @@ $this->includeAtTemplateBase('includes/header.php');
 		
 		<p><?php echo($this->t('metadata_xmlformat')); ?></p>
 		
-		<pre class="metadatabox"><?php echo $this->data['metadata']; ?></pre>
+		<pre class="metadatabox"><?php echo $this->data['metadata']; ?>
+</pre>
 		
 		
 		<p><?php echo($this->t('metadata_simplesamlformat')); ?></p>
 		
-		<pre class="metadatabox"><?php echo $this->data['metadataflat']; ?></pre>
+		<pre class="metadatabox"><?php echo $this->data['metadataflat']; ?>
+</pre>
 		
 		
 
 		
-		<?php if(array_key_exists('sendmetadatato', $this->data)) {
-			$param = array('%FEDERATION%' => $this->data['federationname']);
-			?>
-		
-
-			<div style="border: 1px solid #444; margin: 2em; padding: 1em; background: #eee">
-			
-				<h2><?php echo $this->t('metadata_send_title', $param); ?></h2>
-				
-				<p><?php echo $this->t('metadata_send_hasdetected', $param); ?></p>
-				
-				<p><?php echo $this->t('metadata_send_desc', $param); ?></p>
-					
-				<form action="<?php echo $this->data['sendmetadatato']; ?>" method="post">
 
-					<p><?php echo $this->t('metadata_send_email', $param); ?>
-						<input type="text" size="25" name="email" value="" />
-					</p>
-					
-					<input type="hidden" name="action" value="metadata" />
-					<input type="hidden" name="metadata" value="<?php echo urlencode(base64_encode($this->data['metadata'])); ?>" />
-					<input type="hidden" name="techemail" value="<?php echo $this->data['techemail']; ?>" />
-					<input type="hidden" name="version" value="<?php echo $this->data['version']; ?>" />
-					<input type="hidden" name="defaultidp" value="<?php echo htmlspecialchars($this->data['defaultidp']); ?>" />
-					<input type="submit" name="send" value="<?php echo $this->t('metadata_send_send', $param); ?>" />
-					
-				</form>
-				
-			</div>
-		
-		<?php } ?>
 
 <?php $this->includeAtTemplateBase('includes/footer.php'); ?>
\ No newline at end of file
diff --git a/www/saml2/sp/metadata.php b/www/saml2/sp/metadata.php
index 0287dc3e3..8e7a4732e 100644
--- a/www/saml2/sp/metadata.php
+++ b/www/saml2/sp/metadata.php
@@ -20,33 +20,12 @@ if ($config->getValue('admin.protectmetadata', false)) {
 	}
 }
 
-
-/**
- * Preconfigured to help out some federations. This makes it easier for users to report metadata
- * to the administrators of the IdP.
- */
-$send_metadata_to_idp = array(
-	'sam.feide.no'	=> array(
-		'name' 		=> 'Feide',
-		'address'	=> 'http://rnd.feide.no/content/sending-information-simplesamlphp'
-	),
-	'max.feide.no'	=> array(
-		'name' 		=> 'Feide',
-		'address'	=> 'http://rnd.feide.no/content/sending-information-simplesamlphp'
-	)
-);
-
-
 try {
+	
 
 	$spmeta = isset($_GET['spentityid']) ? $_GET['spentityid'] : $metadata->getMetaDataCurrent();
 	$spentityid = isset($_GET['spentityid']) ? $_GET['spentityid'] : $metadata->getMetaDataCurrentEntityID();
 	
-	/*
-	if (!$spmeta['assertionConsumerServiceURL']) throw new Exception('The following parameter is not set in your SAML 2.0 SP Hosted metadata: assertionConsumerServiceURL');
-	if (!$spmeta['SingleLogOutUrl']) throw new Exception('The following parameter is not set in your SAML 2.0 SP Hosted metadata: SingleLogOutUrl');
-	*/
-
 	$metaArray = array(
 		'AssertionConsumerService' => $metadata->getGenerated('AssertionConsumerService', 'saml20-sp-hosted'),
 		'SingleLogoutService' => $metadata->getGenerated('SingleLogoutService', 'saml20-sp-hosted'),
@@ -67,8 +46,90 @@ try {
 
 	/* Sign the metadata if enabled. */
 	$metaxml = SimpleSAML_Metadata_Signer::sign($metaxml, $spmeta, 'SAML 2 SP');
+	
+	
+	
+	
+	/*
+	 * Generate list of IdPs that you can send metadata to.
+	 */
+	$idplist = $metadata->getList('saml20-idp-remote');
+	$idpsend = array();
+	foreach ($idplist AS $entityid => $mentry) {
+		if (array_key_exists('send_metadata_email', $mentry)) {
+			$idpsend[$entityid] = $mentry;
+		}
+	}
+	
+	
+	$adminok = (isset($session) && $session->isValid('login-admin') );
+	$adminlogin = SimpleSAML_Utilities::addURLparameter(
+		'/' . $config->getBaseURL() . 'auth/login-admin.php', 
+		array('RelayState' => 
+			SimpleSAML_Utilities::addURLParameter(
+				SimpleSAML_Utilities::selfURLNoQuery(),
+				array('output' => 'xhtml')
+			)
+		)
+	);
+	
+
+	
+	/*
+	 * Send metadata to Identity Provider, if the user filled submitted the form
+	 */
+	if (array_key_exists('sendtoidp', $_POST)) {
+		
+		if (!array_key_exists($_POST['sendtoidp'], $idpsend))
+			throw new Exception('Entity ID ' . $_POST['sendtoidp'] . ' not found in metadata. Cannot send metadata to this IdP.');
+		
+		$emailadr = $idpsend[$_POST['sendtoidp']]['send_metadata_email'];
+		$from = $_POST['email'];
+		
+		$message = '<h1>simpleSAMLphp SAML 2.0 Service Provider Metadata</h1>
 
-	if (array_key_exists('output', $_GET) && $_GET['output'] == 'xhtml') {
+<p>Metadata was sent to you from a simpleSAMLphp SAML 2.0 Service Provider. The service provider requests to connect to the following Identity Provider: 
+	<ul>
+		<li><tt>' . htmlentities($_POST['sendtoidp']) . '</tt></li>
+	</ul>
+</p>
+
+<p>SAML 2.0 Service Provider EntityID :</p>
+<pre>' . htmlentities($spentityid) . '</pre>
+
+<p>Links to metadata at service provider
+<ul>
+	<li><a href="' . htmlentities(SimpleSAML_Utilities::addURLparameter(SimpleSAML_Utilities::selfURLNoQuery(), array('output' => 'xhtml'))) . '">SimpleSAMLphp Metadata page</a></li>
+	<li><a href="' . htmlentities(SimpleSAML_Utilities::selfURLNoQuery()) . '">SimpleSAMLphp Metadata (XML only)</a></li>
+</ul>
+</p>
+
+<p>SAML 2.0 XML Metadata :</p>
+<pre>' . htmlentities($metaxml) . '</pre>
+
+<p>Metadata in SimpleSAMLphp format :</p>
+<pre>' . htmlentities($metaflat) . '</pre>
+
+<p>SimpleSAMLphp version: ' . $config->getVersion() . '</p>
+
+';
+		
+		$email = new SimpleSAML_XHTML_EMail($emailadr, 'simpleSAMLphp SAML 2.0 Service Provider Metadata', $from);
+		$email->setBody($message);
+		$email->send();
+		
+	}
+	
+	
+	
+	
+	
+	
+	
+	
+	
+
+	if (array_key_exists('output', $_REQUEST) && $_REQUEST['output'] == 'xhtml') {
 		$defaultidp = $config->getValue('default-saml20-idp');
 		
 		$t = new SimpleSAML_XHTML_Template($config, 'metadata.php', 'admin');
@@ -76,16 +137,16 @@ try {
 		$t->data['header'] = 'saml20-sp';
 		$t->data['metadata'] = htmlentities($metaxml);
 		$t->data['metadataflat'] = htmlentities($metaflat);
-		$t->data['metaurl'] = SimpleSAML_Utilities::addURLparameter(SimpleSAML_Utilities::selfURLNoQuery(), array('output' => 'xml'));
+		$t->data['metaurl'] = SimpleSAML_Utilities::selfURLNoQuery();
 		
-		if (array_key_exists($defaultidp, $send_metadata_to_idp)) {
-			$t->data['sendmetadatato'] = $send_metadata_to_idp[$defaultidp]['address'];
-			$t->data['federationname'] = $send_metadata_to_idp[$defaultidp]['name'];
-		}
-	
-		$t->data['techemail'] = $config->getValue('technicalcontact_email', 'na');
-		$t->data['version'] = $config->getValue('version', 'na');
-		$t->data['defaultidp'] = $defaultidp;
+		$t->data['idpsend'] = $idpsend;
+		$t->data['adminok'] = $adminok;
+		$t->data['adminlogin'] = $adminlogin;
+		
+		$t->data['techemail'] = $config->getValue('technicalcontact_email', NULL);
+		
+// 		$t->data['version'] = $config->getValue('version', 'na');
+// 		$t->data['defaultidp'] = $defaultidp;
 		
 		$t->show();
 		
-- 
GitLab