diff --git a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php index 7abe0c192fcff212fd8cacb74fc12415b14585c2..2597fdbabf62e99cbdf7277c90c69efc6d8fef9e 100644 --- a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php +++ b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php @@ -99,32 +99,14 @@ class IFrameLogoutHandler implements LogoutHandlerInterface $this->idp->terminateAssociation($assocId); $config = Configuration::getInstance(); - $usenewui = $config->getBoolean('usenewui', false); - // Force the use of Twig for this method. Remove if-clause in 2.0 - if ($usenewui === false) { - $config = Configuration::loadFromArray([ - 'usenewui' => true, - ]); - } - - $t = new Template($config, 'IFrameLogoutHandler.twig'); + $t = new Template($config, 'IFrameLogoutHandler.tpl.php'); $t->data['assocId'] = var_export($assocId, true); $t->data['spId'] = sha1($assocId); if (!is_null($error)) { $t->data['errorMsg'] = $error->getMessage(); } - // Remove the if-clause in 2.0, leave the else-part - if ($usenewui === false) { - $twig = $t->getTwig(); - if (!isset($twig)) { - throw new \Exception('Even though we explicitly configure that we want Twig, the Template class does not give us Twig. This is a bug.'); - } - $result = $twig->render('IFrameLogoutHandler.twig', $t->data); - echo $result; - } else { - $t->show(); - } + $t->show(); } } diff --git a/templates/IFrameLogoutHandler.tpl.php b/templates/IFrameLogoutHandler.tpl.php new file mode 100644 index 0000000000000000000000000000000000000000..2a38f4bb86c6283eced23ce54b3c45ae887629ce --- /dev/null +++ b/templates/IFrameLogoutHandler.tpl.php @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> + <head> + <title>Logout response from <?= htmlspecialchars(var_export($this->data['assocId'])); ?></title> + <script> +<?php + if (array_key_exists('errorMsg', $this->data)) { + echo 'window.parent.logoutFailed("'.$this->data['spId'].'", "'.addslashes($this->data['errorMsg']).'");'; + } else { + echo 'window.parent.logoutCompleted("'.$this->data['spId'].'");'; + } +?> + </script> + </head> + <body></body> +</html>