From a80a7a0a16ca110a5ed6ff6603ceb0254c9cf350 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jaime=20Pe=CC=81rez=20Crespo?= <jaime.perez@uninett.no>
Date: Wed, 10 Oct 2018 13:51:03 +0200
Subject: [PATCH] Stop using the deprecated TemplateLoader::parseName() method.

It was deprecated in Twig 1.x and removed in 2.0.
---
 lib/SimpleSAML/XHTML/TemplateLoader.php | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/lib/SimpleSAML/XHTML/TemplateLoader.php b/lib/SimpleSAML/XHTML/TemplateLoader.php
index 1d21966c4..56755fd95 100644
--- a/lib/SimpleSAML/XHTML/TemplateLoader.php
+++ b/lib/SimpleSAML/XHTML/TemplateLoader.php
@@ -16,9 +16,9 @@ class TemplateLoader extends \Twig\Loader\FilesystemLoader
      *
      * @inheritdoc
      */
-    protected function findTemplate($name)
+    protected function findTemplate($name, $throw = true)
     {
-        list($namespace, $shortname) = $this->parseName($name);
+        list($namespace, $shortname) = $this->parseModuleName($name);
         if (!in_array($namespace, $this->paths, true) && $namespace !== self::MAIN_NAMESPACE) {
             $this->addPath(self::getModuleTemplateDir($namespace), $namespace);
         }
@@ -26,7 +26,15 @@ class TemplateLoader extends \Twig\Loader\FilesystemLoader
     }
 
 
-    protected function parseName($name, $default = self::MAIN_NAMESPACE)
+    /**
+     * Parse the name of a template in a module.
+     *
+     * @param string $name The full name of the template, including namespace and template name / path.
+     *
+     * @return array An array with the corresponding namespace and name of the template. The namespace defaults to
+     * \Twig\Loader\FilesystemLoader::MAIN_NAMESPACE, if none was specified in $name.
+     */
+    protected function parseModuleName($name, $default = self::MAIN_NAMESPACE)
     {
         if (strpos($name, ':')) {
             // we have our old SSP format
@@ -37,7 +45,7 @@ class TemplateLoader extends \Twig\Loader\FilesystemLoader
             ));
             return array($namespace, $shortname);
         }
-        return parent::parseName($name, $default);
+        return [$default, $name];
     }
 
 
-- 
GitLab