@@ -30,6 +30,8 @@ class OneLogin_Saml2_LogoutRequest
3030    */ 
3131    private  $ _error ;
3232
33+     protected  $ utils ;
34+ 
3335    /** 
3436     * Constructs the Logout Request object. 
3537     * 
@@ -40,25 +42,26 @@ class OneLogin_Saml2_LogoutRequest
4042     * @param string|null             $nameIdFormat The NameID Format will be set in the LogoutRequest. 
4143     * @param string|null             $nameIdNameQualifier The NameID NameQualifier will be set in the LogoutRequest. 
4244     */ 
43-     public  function  __construct (OneLogin_Saml2_Settings   $ settings , $ request  = null , $ nameId  = null , $ sessionIndex  = null , $ nameIdFormat  = null , $ nameIdNameQualifier  = null )
45+     public  function  __construct (OneLogin_Saml2_Utils   $ utils ,  OneLogin_Saml2_Settings   $ settings , $ request  = null , $ nameId  = null , $ sessionIndex  = null , $ nameIdFormat  = null , $ nameIdNameQualifier  = null )
4446    {
4547        $ this  ->_settings  = $ settings ;
48+         $ this  ->utils  = $ utils ;
4649
4750        $ baseURL  = $ this  ->_settings ->getBaseURL ();
4851        if  (!empty ($ baseURL )) {
49-             OneLogin_Saml2_Utils:: setBaseURL ($ baseURL );
52+             $ this -> utils -> setBaseURL ($ baseURL );
5053        }
5154
5255        if  (!isset ($ request ) || empty ($ request )) {
5356            $ spData  = $ this  ->_settings ->getSPData ();
5457            $ idpData  = $ this  ->_settings ->getIdPData ();
5558            $ security  = $ this  ->_settings ->getSecurityData ();
5659
57-             $ id  = OneLogin_Saml2_Utils:: generateUniqueID ();
60+             $ id  = $ this -> utils -> generateUniqueID ();
5861            $ this  ->id  = $ id ;
5962
60-             $ nameIdValue  = OneLogin_Saml2_Utils:: generateUniqueID ();
61-             $ issueInstant  = OneLogin_Saml2_Utils:: parseTime2SAML (time ());
63+             $ nameIdValue  = $ this -> utils -> generateUniqueID ();
64+             $ issueInstant  = $ this -> utils -> parseTime2SAML (time ());
6265
6366            $ cert  = null ;
6467            if  (isset ($ security ['nameIdEncrypted ' ]) && $ security ['nameIdEncrypted ' ]) {
@@ -83,7 +86,7 @@ public function __construct(OneLogin_Saml2_Settings $settings, $request = null,
8386                $ spNameQualifier  = $ spData ['entityId ' ];
8487            }
8588
86-             $ nameIdObj  = OneLogin_Saml2_Utils:: generateNameId (
89+             $ nameIdObj  = $ this -> utils -> generateNameId (
8790                $ nameId ,
8891                $ spNameQualifier ,
8992                $ nameIdFormat ,
@@ -116,7 +119,7 @@ public function __construct(OneLogin_Saml2_Settings $settings, $request = null,
116119            } else  {
117120                $ logoutRequest  = $ decoded ;
118121            }
119-             $ this  ->id  = self :: getID ($ logoutRequest );
122+             $ this  ->id  = $ this -> getID ($ logoutRequest );
120123        }
121124        $ this  ->_logoutRequest  = $ logoutRequest ;
122125    }
@@ -151,13 +154,13 @@ public function getRequest($deflate = null)
151154     * 
152155     * @return string ID 
153156     */ 
154-     public  static   function  getID ($ request )
157+     public  function  getID ($ request )
155158    {
156159        if  ($ request  instanceof  DOMDocument) {
157160            $ dom  = $ request ;
158161        } else  {
159162            $ dom  = new  DOMDocument ();
160-             $ dom  = OneLogin_Saml2_Utils:: loadXML ($ dom , $ request );
163+             $ dom  = $ this -> utils -> loadXML ($ dom , $ request );
161164        }
162165
163166        $ id  = $ dom ->documentElement ->getAttribute ('ID ' );
@@ -174,16 +177,16 @@ public static function getID($request)
174177     * 
175178     * @throws Exception 
176179     */ 
177-     public  static   function  getNameIdData ($ request , $ key  = null )
180+     public  function  getNameIdData ($ request , $ key  = null )
178181    {
179182        if  ($ request  instanceof  DOMDocument) {
180183            $ dom  = $ request ;
181184        } else  {
182185            $ dom  = new  DOMDocument ();
183-             $ dom  = OneLogin_Saml2_Utils:: loadXML ($ dom , $ request );
186+             $ dom  = $ this -> utils -> loadXML ($ dom , $ request );
184187        }
185188
186-         $ encryptedEntries  = OneLogin_Saml2_Utils:: query ($ dom , '/samlp:LogoutRequest/saml:EncryptedID ' );
189+         $ encryptedEntries  = $ this -> utils -> query ($ dom , '/samlp:LogoutRequest/saml:EncryptedID ' );
187190
188191        if  ($ encryptedEntries ->length  == 1 ) {
189192            $ encryptedDataNodes  = $ encryptedEntries ->item (0 )->getElementsByTagName ('EncryptedData ' );
@@ -199,10 +202,10 @@ public static function getNameIdData($request, $key = null)
199202            $ seckey  = new  XMLSecurityKey (XMLSecurityKey::RSA_1_5 , array ('type ' =>'private ' ));
200203            $ seckey ->loadKey ($ key );
201204
202-             $ nameId  = OneLogin_Saml2_Utils:: decryptElement ($ encryptedData , $ seckey );
205+             $ nameId  = $ this -> utils -> decryptElement ($ encryptedData , $ seckey );
203206
204207        } else  {
205-             $ entries  = OneLogin_Saml2_Utils:: query ($ dom , '/samlp:LogoutRequest/saml:NameID ' );
208+             $ entries  = $ this -> utils -> query ($ dom , '/samlp:LogoutRequest/saml:NameID ' );
206209            if  ($ entries ->length  == 1 ) {
207210                $ nameId  = $ entries ->item (0 );
208211            }
@@ -234,9 +237,9 @@ public static function getNameIdData($request, $key = null)
234237     * 
235238     * @return string Name ID Value 
236239     */ 
237-     public  static   function  getNameId ($ request , $ key  = null )
240+     public  function  getNameId ($ request , $ key  = null )
238241    {
239-         $ nameId  = self :: getNameIdData ($ request , $ key );
242+         $ nameId  = $ this -> getNameIdData ($ request , $ key );
240243        return  $ nameId ['Value ' ];
241244    }
242245
@@ -247,17 +250,17 @@ public static function getNameId($request, $key = null)
247250     * 
248251     * @return string|null $issuer The Issuer 
249252     */ 
250-     public  static   function  getIssuer ($ request )
253+     public  function  getIssuer ($ request )
251254    {
252255        if  ($ request  instanceof  DOMDocument) {
253256            $ dom  = $ request ;
254257        } else  {
255258            $ dom  = new  DOMDocument ();
256-             $ dom  = OneLogin_Saml2_Utils:: loadXML ($ dom , $ request );
259+             $ dom  = $ this -> utils -> loadXML ($ dom , $ request );
257260        }
258261
259262        $ issuer  = null ;
260-         $ issuerNodes  = OneLogin_Saml2_Utils:: query ($ dom , '/samlp:LogoutRequest/saml:Issuer ' );
263+         $ issuerNodes  = $ this -> utils -> query ($ dom , '/samlp:LogoutRequest/saml:Issuer ' );
261264        if  ($ issuerNodes ->length  == 1 ) {
262265            $ issuer  = $ issuerNodes ->item (0 )->textContent ;
263266        }
@@ -274,17 +277,17 @@ public static function getIssuer($request)
274277     * 
275278     * @return array The SessionIndex value 
276279     */ 
277-     public  static   function  getSessionIndexes ($ request )
280+     public  function  getSessionIndexes ($ request )
278281    {
279282        if  ($ request  instanceof  DOMDocument) {
280283            $ dom  = $ request ;
281284        } else  {
282285            $ dom  = new  DOMDocument ();
283-             $ dom  = OneLogin_Saml2_Utils:: loadXML ($ dom , $ request );
286+             $ dom  = $ this -> utils -> loadXML ($ dom , $ request );
284287        }
285288
286289        $ sessionIndexes  = array ();
287-         $ sessionIndexNodes  = OneLogin_Saml2_Utils:: query ($ dom , '/samlp:LogoutRequest/samlp:SessionIndex ' );
290+         $ sessionIndexNodes  = $ this -> utils -> query ($ dom , '/samlp:LogoutRequest/samlp:SessionIndex ' );
288291        foreach  ($ sessionIndexNodes  as  $ sessionIndexNode ) {
289292            $ sessionIndexes [] = $ sessionIndexNode ->textContent ;
290293        }
@@ -301,7 +304,7 @@ public function isValid(\Symfony\Component\HttpFoundation\Request $request, $ret
301304        $ this  ->_error  = null ;
302305        try  {
303306            $ dom  = new  DOMDocument ();
304-             $ dom  = OneLogin_Saml2_Utils:: loadXML ($ dom , $ this  ->_logoutRequest );
307+             $ dom  = $ this -> utils -> loadXML ($ dom , $ this  ->_logoutRequest );
305308
306309            $ idpData  = $ this  ->_settings ->getIdPData ();
307310            $ idPEntityId  = $ idpData ['entityId ' ];
@@ -310,7 +313,7 @@ public function isValid(\Symfony\Component\HttpFoundation\Request $request, $ret
310313                $ security  = $ this  ->_settings ->getSecurityData ();
311314
312315                if  ($ security ['wantXMLValidation ' ]) {
313-                     $ res  = OneLogin_Saml2_Utils:: validateXML ($ dom , 'saml-schema-protocol-2.0.xsd ' , $ this  ->_settings ->isDebugActive ());
316+                     $ res  = $ this -> utils -> validateXML ($ dom , 'saml-schema-protocol-2.0.xsd ' , $ this  ->_settings ->isDebugActive ());
314317                    if  (!$ res  instanceof  DOMDocument) {
315318                        throw  new  OneLogin_Saml2_ValidationError (
316319                            "Invalid SAML Logout Request. Not match the saml-schema-protocol-2.0.xsd " ,
@@ -319,11 +322,11 @@ public function isValid(\Symfony\Component\HttpFoundation\Request $request, $ret
319322                    }
320323                }
321324
322-                 $ currentURL  = OneLogin_Saml2_Utils:: getSelfRoutedURLNoQuery ();
325+                 $ currentURL  = $ this -> utils -> getSelfRoutedURLNoQuery ();
323326
324327                // Check NotOnOrAfter 
325328                if  ($ dom ->documentElement ->hasAttribute ('NotOnOrAfter ' )) {
326-                     $ na  = OneLogin_Saml2_Utils:: parseSAML2Time ($ dom ->documentElement ->getAttribute ('NotOnOrAfter ' ));
329+                     $ na  = $ this -> utils -> parseSAML2Time ($ dom ->documentElement ->getAttribute ('NotOnOrAfter ' ));
327330                    if  ($ na  <= time ()) {
328331                        throw  new  OneLogin_Saml2_ValidationError (
329332                            "Could not validate timestamp: expired. Check system clock. " ,
@@ -367,7 +370,7 @@ public function isValid(\Symfony\Component\HttpFoundation\Request $request, $ret
367370            }
368371
369372            if  (null  !== $ request ->get ('Signature ' )) {
370-                 $ signatureValid  = OneLogin_Saml2_Utils:: validateBinarySign ("SAMLRequest " , $ request , $ idpData , $ retrieveParametersFromServer );
373+                 $ signatureValid  = $ this -> utils -> validateBinarySign ("SAMLRequest " , $ request , $ idpData , $ retrieveParametersFromServer );
371374                if  (!$ signatureValid ) {
372375                    throw  new  OneLogin_Saml2_ValidationError (
373376                        "Signature validation failed. Logout Request rejected " ,
0 commit comments