/usr/local/CPAN/Lemonldap-Portal-Standard/Lemonldap/Portal/LogoutDAC.pm


package Lemonldap::Portal::LogoutDAC;
use strict;
use warnings;
use Apache2::Const;
use Data::Dumper;
use CGI ':cgi-lib';
use Apache2::ServerRec();
use MIME::Base64;
our $VERSION = '3.1.0';

sub handler {	

	my $r = shift;
	my $domain = $r->dir_config('Domain');
	my $cookie = $r->dir_config('Cookie'); 
	my $Portal = $r->dir_config('Portal');
	my $PostLogoutURL = $r->dir_config('PostLogoutURL');


	my $entete = $r->headers_in();
	my $Cookies = $entete->{'Cookie'};		
			
	my $LogoutCookie = CGI::cookie(
            	    -name   => $cookie,
	            -value  => '0',
                    -domain => ".".$domain,
               	    -path   => '/',
		    -expires => 'now'
               	);  		
	
	my $test = $r->construct_url();

        #ATTENTION : ne valide que les http et https
        my $prot;

        if ($test =~ /^https/){
                $prot = "https://";
        }else{
                $prot = "http://"
        }
	my $url_portail;
	if (defined($PostLogoutURL)){
		$url_portail = $PostLogoutURL;
        }else{
		$url_portail = $prot.$r->headers_in->{Host};

	}


	
        my  $url_portail_encode = encode_base64($url_portail,"");
        $r->err_headers_out->add(Pragma => 'no-cache');
        $r->headers_out->add(Location =>$Portal."?op=c&url=$url_portail_encode");
        $r->err_headers_out->add(Connection => 'close');
	$r->err_headers_out->add( 'Set-Cookie' => $LogoutCookie );
 	
	
	return REDIRECT ;		
}
1;