src/FHI360/Access/Suite/Security/SuiteCRMLogoutHandler.php line 13

Open in your IDE?
  1. <?php 
  2. namespace App\FHI360\Access\Suite\Security;
  3. use Symfony\Component\HttpFoundation\Request;
  4. use Symfony\Component\Security\Core\Security;
  5. use App\FHI360\Access\Suite\Service\APISuiteCRM;
  6. use Symfony\Component\Security\Http\Logout\LogoutHandlerInterface;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  9. use \Curl\Curl;
  10. class SuiteCRMLogoutHandler implements LogoutHandlerInterface
  11. {
  12.     public function __construct(APISuiteCRM $suite$session$suiteDomain)
  13.     {
  14.         $request Request::createFromGlobals();
  15.         preg_match_all('/.local/'$request->getHttpHost(), $matchesPREG_SET_ORDER0);
  16.         $this->suiteAPI $suite;
  17.         if($matches$this->suiteURL "http://$suiteDomain";
  18.         else $this->suiteURL "https://$suiteDomain";
  19.         $this->session $session;
  20.     }
  21.     
  22.     public function logout(Request $requestResponse $responseTokenInterface $token){
  23.         
  24.         $user_session $this->session->get('suite_session');
  25.         $this->suiteAPI->setUrl("{$this->suiteURL}/service/v4_1/rest.php");
  26.         $this->suiteAPI->setSession($user_session);
  27.         
  28.         $this->suiteAPI->logout();
  29.         
  30.         //Unset cookie for SuiteCRM
  31.         setcookie("PHPSESSID"""time()+3600"/crm");
  32.         setcookie("LOGINUSERID"""time()+3600"/");
  33.         setcookie("masquerade""");
  34.     }
  35. }