| Lines 68-81
          sub getMultipleAuth {
      
      
        Link Here | 
        
          | 68 |  | 68 |  | 
        
          | 69 | # Logout from CAS | 69 | # Logout from CAS | 
        
          | 70 | sub logout_cas { | 70 | sub logout_cas { | 
          
            
              | 71 |     my ($query, $type) = @_; | 71 |     my ( $query, $type ) = @_; | 
            
              | 72 |     my ( $cas, $uri ) = _get_cas_and_service($query, undef, $type); | 72 |     my ( $cas,   $uri )  = _get_cas_and_service( $query, undef, $type ); | 
            
              | 73 |     $uri =~ s/\?logout\.x=1//; # We don't want to keep triggering a logout, if we got here, the borrower is already logged out of Koha | 73 |  | 
            
              | 74 |     my $logout_url = $cas->logout_url(url => $uri); | 74 |     # We don't want to keep triggering a logout, if we got here, | 
            
              | 75 |     $logout_url = _fix_logout_url($logout_url); | 75 |     # the borrower is already logged out of Koha | 
            
              | 76 |     print $query->redirect( $logout_url ); | 76 |     $uri =~ s/\?logout\.x=1//; | 
            
              |  |  | 77 |  | 
            
              | 78 |     my $logout_url = $cas->logout_url( url => $uri ); | 
            
              | 79 |     $logout_url =~ s/url=/service=/ | 
            
              | 80 |       if C4::Context->preference('casServerVersion') eq '3'; | 
            
              | 81 |  | 
            
              | 82 |     print $query->redirect($logout_url); | 
        
          | 77 | } | 83 | } | 
        
          | 78 |  | 84 |  | 
            
              |  |  | 85 |  | 
        
          | 79 | # Login to CAS | 86 | # Login to CAS | 
        
          | 80 | sub login_cas { | 87 | sub login_cas { | 
        
          | 81 |     my ($query, $type) = @_; | 88 |     my ($query, $type) = @_; | 
  
    | Lines 206-220
          sub _get_cas_and_service {
      
      
        Link Here | 
        
          | 206 |     return ( $cas, $uri ); | 213 |     return ( $cas, $uri ); | 
        
          | 207 | } | 214 | } | 
        
          | 208 |  | 215 |  | 
            
              | 209 | # Fix the logout URL when the cas server is 3.0 or superior |  |  | 
            
              | 210 | sub _fix_logout_url { | 
            
              | 211 |     my $url = shift; | 
            
              | 212 |     if (C4::Context->preference('casServerVersion') eq '3') { | 
            
              | 213 |         $url =~ s/url=/service=/; | 
            
              | 214 |     } | 
            
              | 215 |     return $url; | 
            
              | 216 | } | 
            
              | 217 |  | 
        
          | 218 | # Get the current URL with parameters contained directly into URL (GET params) | 216 | # Get the current URL with parameters contained directly into URL (GET params) | 
        
          | 219 | # This method replaces $query->url() which will give both GET and POST params | 217 | # This method replaces $query->url() which will give both GET and POST params | 
        
          | 220 | sub _url_with_get_params { | 218 | sub _url_with_get_params { | 
            
              | 221 | -  |  |  |